{"mappings":"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AAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,E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","names":["i","e","a","o","s","c","l","u","d","f","p","m","h","g","t","_","ee","v","y","b","x","n","r","S","C","w","T","te","ne","E","D","O","k","A","j","M","N","ret","P","F","I","L","R","re","ie","z","B","V","H","U","W","G","K","q","init","J","CoreMode","Y","X","ae","oe","se","DotLottieWebWorker","Z","Q","$"],"sources":["../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/animation-frame-manager.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/constants.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/core/dotlottie-player.js","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/event-manager.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/offscreen-observer.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/resize-observer.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/utils.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/wasm-loader.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/dotlottie.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/worker/worker-manager.ts","../esm/npm/@lottiefiles/dotlottie-web@0.72.1/node_modules/@lottiefiles/dotlottie-web/src/worker/dotlottie.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\n\ninterface AnimationFrameStrategy {\n  cancelAnimationFrame(id: number): void;\n  requestAnimationFrame(callback: (time: number) =\u003e void): number;\n}\n\nclass WebAnimationFrameStrategy implements AnimationFrameStrategy {\n  public requestAnimationFrame(callback: (time: number) =\u003e void): number {\n    return requestAnimationFrame(callback);\n  }\n\n  public cancelAnimationFrame(id: number): void {\n    cancelAnimationFrame(id);\n  }\n}\n\nclass NodeAnimationFrameStrategy implements AnimationFrameStrategy {\n  private _lastHandleId: number = 0;\n\n  private _lastImmediate: NodeJS.Immediate | null = null;\n\n  public requestAnimationFrame(callback: (time: number) =\u003e void): number {\n    if (this._lastHandleId \u003e= Number.MAX_SAFE_INTEGER) {\n      this._lastHandleId = 0;\n    }\n\n    this._lastHandleId += 1;\n\n    this._lastImmediate = setImmediate(() =\u003e {\n      callback(performance.now());\n    });\n\n    return this._lastHandleId;\n  }\n\n  public cancelAnimationFrame(_id: number): void {\n    if (this._lastImmediate) {\n      clearImmediate(this._lastImmediate);\n    }\n  }\n}\n\nexport class AnimationFrameManager {\n  private readonly _strategy: AnimationFrameStrategy;\n\n  public constructor() {\n    this._strategy =\n      typeof requestAnimationFrame === 'function' ? new WebAnimationFrameStrategy() : new NodeAnimationFrameStrategy();\n  }\n\n  public requestAnimationFrame(callback: (time: number) =\u003e void): number {\n    return this._strategy.requestAnimationFrame(callback);\n  }\n\n  public cancelAnimationFrame(id: number): void {\n    this._strategy.cancelAnimationFrame(id);\n  }\n}\n","export const IS_BROWSER = typeof window !== 'undefined' \u0026\u0026 typeof window.document !== 'undefined';\nexport const MS_TO_SEC_FACTOR = 1000;\nexport const DEFAULT_BG_COLOR = '#00000000';\nexport const ZIP_SIGNATURE = new Uint8Array([0x50, 0x4b, 0x03, 0x04]);\nexport const LOTTIE_JSON_MANDATORY_FIELDS = ['v', 'ip', 'op', 'layers', 'fr', 'w', 'h'];\n\n// These values are replace during the build process with the package version and name\nexport const PACKAGE_VERSION = __PACKAGE_VERSION__;\nexport const PACKAGE_NAME = __PACKAGE_NAME__;\n\nexport const DEFAULT_DPR_FACTOR = 0.75;\n\nexport const BYTES_PER_PIXEL = 4;\n","let wasm;\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () =\u003e { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n    if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n        cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n    }\n    return cachedUint8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n    ptr = ptr \u003e\u003e\u003e 0;\n    return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction addToExternrefTable0(obj) {\n    const idx = wasm.__externref_table_alloc_command_export();\n    wasm.__wbindgen_export_3.set(idx, obj);\n    return idx;\n}\n\nfunction handleError(f, args) {\n    try {\n        return f.apply(this, args);\n    } catch (e) {\n        const idx = addToExternrefTable0(e);\n        wasm.__wbindgen_exn_store_command_export(idx);\n    }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () =\u003e { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n    ? function (arg, view) {\n    return cachedTextEncoder.encodeInto(arg, view);\n}\n    : function (arg, view) {\n    const buf = cachedTextEncoder.encode(arg);\n    view.set(buf);\n    return {\n        read: arg.length,\n        written: buf.length\n    };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n    if (realloc === undefined) {\n        const buf = cachedTextEncoder.encode(arg);\n        const ptr = malloc(buf.length, 1) \u003e\u003e\u003e 0;\n        getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n        WASM_VECTOR_LEN = buf.length;\n        return ptr;\n    }\n\n    let len = arg.length;\n    let ptr = malloc(len, 1) \u003e\u003e\u003e 0;\n\n    const mem = getUint8ArrayMemory0();\n\n    let offset = 0;\n\n    for (; offset \u003c len; offset++) {\n        const code = arg.charCodeAt(offset);\n        if (code \u003e 0x7F) break;\n        mem[ptr + offset] = code;\n    }\n\n    if (offset !== len) {\n        if (offset !== 0) {\n            arg = arg.slice(offset);\n        }\n        ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) \u003e\u003e\u003e 0;\n        const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n        const ret = encodeString(arg, view);\n\n        offset += ret.written;\n        ptr = realloc(ptr, len, offset, 1) \u003e\u003e\u003e 0;\n    }\n\n    WASM_VECTOR_LEN = offset;\n    return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n    if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined \u0026\u0026 cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n        cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n    }\n    return cachedDataViewMemory0;\n}\n\nfunction isLikeNone(x) {\n    return x === undefined || x === null;\n}\n\nlet cachedFloat32ArrayMemory0 = null;\n\nfunction getFloat32ArrayMemory0() {\n    if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {\n        cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);\n    }\n    return cachedFloat32ArrayMemory0;\n}\n\nfunction passArrayF32ToWasm0(arg, malloc) {\n    const ptr = malloc(arg.length * 4, 4) \u003e\u003e\u003e 0;\n    getFloat32ArrayMemory0().set(arg, ptr / 4);\n    WASM_VECTOR_LEN = arg.length;\n    return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n    const ptr = malloc(arg.length * 1, 1) \u003e\u003e\u003e 0;\n    getUint8ArrayMemory0().set(arg, ptr / 1);\n    WASM_VECTOR_LEN = arg.length;\n    return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n    const ptr = malloc(array.length * 4, 4) \u003e\u003e\u003e 0;\n    for (let i = 0; i \u003c array.length; i++) {\n        const add = addToExternrefTable0(array[i]);\n        getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n    }\n    WASM_VECTOR_LEN = array.length;\n    return ptr;\n}\n/**\n * Register a font globally (static, not tied to a player instance).\n * @param {string} name\n * @param {Uint8Array} data\n * @returns {boolean}\n */\nexport function register_font(name, data) {\n    const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n    const len0 = WASM_VECTOR_LEN;\n    const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_malloc_command_export);\n    const len1 = WASM_VECTOR_LEN;\n    const ret = wasm.register_font(ptr0, len0, ptr1, len1);\n    return ret !== 0;\n}\n\n/**\n * Playback direction / bounce mode.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const Mode = Object.freeze({\n    Forward: 0, \"0\": \"Forward\",\n    Reverse: 1, \"1\": \"Reverse\",\n    Bounce: 2, \"2\": \"Bounce\",\n    ReverseBounce: 3, \"3\": \"ReverseBounce\",\n});\n\nconst DotLottiePlayerWasmFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () =\u003e {}, unregister: () =\u003e {} }\n    : new FinalizationRegistry(ptr =\u003e wasm.__wbg_dotlottieplayerwasm_free(ptr \u003e\u003e\u003e 0, 1));\n\nexport class DotLottiePlayerWasm {\n\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DotLottiePlayerWasmFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_dotlottieplayerwasm_free(ptr, 0);\n    }\n    /**\n     * @param {string} id\n     * @returns {boolean}\n     */\n    clear_slot(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_clear_slot(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_playing() {\n        const ret = wasm.dotlottieplayerwasm_is_playing(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_stopped() {\n        const ret = wasm.dotlottieplayerwasm_is_stopped(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {string}\n     */\n    layout_fit() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.dotlottieplayerwasm_layout_fit(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * @returns {number}\n     */\n    loop_count() {\n        const ret = wasm.dotlottieplayerwasm_loop_count(this.__wbg_ptr);\n        return ret \u003e\u003e\u003e 0;\n    }\n    /**\n     * Poll the next player event.  Returns `null` if the queue is empty,\n     * otherwise a plain JS object with a `type` string field and optional\n     * payload fields (`frameNo`, `loopCount`).\n     * @returns {any}\n     */\n    poll_event() {\n        const ret = wasm.dotlottieplayerwasm_poll_event(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Reset a slot to its default value from the animation.\n     * @param {string} id\n     * @returns {boolean}\n     */\n    reset_slot(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_reset_slot(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Set the layout.\n     *\n     * `fit` is one of `\"contain\"`, `\"fill\"`, `\"cover\"`, `\"fit-width\"`,\n     * `\"fit-height\"`, `\"none\"`.  `align_x` / `align_y` are in [0, 1].\n     * @param {string} fit\n     * @param {number} align_x\n     * @param {number} align_y\n     * @returns {boolean}\n     */\n    set_layout(fit, align_x, align_y) {\n        const ptr0 = passStringToWasm0(fit, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_layout(this.__wbg_ptr, ptr0, len0, align_x, align_y);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} name\n     */\n    set_marker(name) {\n        const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.dotlottieplayerwasm_set_marker(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * @returns {boolean}\n     */\n    clear_slots() {\n        const ret = wasm.dotlottieplayerwasm_clear_slots(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_complete() {\n        const ret = wasm.dotlottieplayerwasm_is_complete(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_tweening() {\n        const ret = wasm.dotlottieplayerwasm_is_tweening(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Reset all slots to their default values from the animation.\n     * @returns {boolean}\n     */\n    reset_slots() {\n        const ret = wasm.dotlottieplayerwasm_reset_slots(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    reset_theme() {\n        const ret = wasm.dotlottieplayerwasm_reset_theme(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    segment_end() {\n        const ret = wasm.dotlottieplayerwasm_segment_end(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @param {number} quality\n     * @returns {boolean}\n     */\n    set_quality(quality) {\n        const ret = wasm.dotlottieplayerwasm_set_quality(this.__wbg_ptr, quality);\n        return ret !== 0;\n    }\n    /**\n     * @param {number} start\n     * @param {number} end\n     * @returns {boolean}\n     */\n    set_segment(start, end) {\n        const ret = wasm.dotlottieplayerwasm_set_segment(this.__wbg_ptr, start, end);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} name\n     * @returns {boolean}\n     */\n    static unload_font(name) {\n        const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_unload_font(ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @returns {string | undefined}\n     */\n    animation_id() {\n        const ret = wasm.dotlottieplayerwasm_animation_id(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Returns the current global audio volume multiplier.\n     * @returns {number}\n     */\n    audio_volume() {\n        const ret = wasm.dotlottieplayerwasm_audio_volume(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    background_a() {\n        const ret = wasm.dotlottieplayerwasm_background_a(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    background_b() {\n        const ret = wasm.dotlottieplayerwasm_background_b(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    background_g() {\n        const ret = wasm.dotlottieplayerwasm_background_g(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    background_r() {\n        const ret = wasm.dotlottieplayerwasm_background_r(this.__wbg_ptr);\n        return ret;\n    }\n    clear_marker() {\n        wasm.dotlottieplayerwasm_clear_marker(this.__wbg_ptr);\n    }\n    emit_on_loop() {\n        wasm.dotlottieplayerwasm_emit_on_loop(this.__wbg_ptr);\n    }\n    /**\n     * Get all slot IDs as a JS array.\n     * @returns {any}\n     */\n    get_slot_ids() {\n        const ret = wasm.dotlottieplayerwasm_get_slot_ids(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the JSON value of a single slot by ID, or `undefined` if not found.\n     * @param {string} id\n     * @returns {string | undefined}\n     */\n    get_slot_str(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_get_slot_str(this.__wbg_ptr, ptr0, len0);\n        let v2;\n        if (ret[0] !== 0) {\n            v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v2;\n    }\n    /**\n     * Returns an array of marker name strings.\n     * @returns {any}\n     */\n    marker_names() {\n        const ret = wasm.dotlottieplayerwasm_marker_names(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @param {boolean} v\n     */\n    set_autoplay(v) {\n        wasm.dotlottieplayerwasm_set_autoplay(this.__wbg_ptr, v);\n    }\n    /**\n     * Set a single slot by ID from a JSON value string.\n     * @param {string} id\n     * @param {string} json\n     * @returns {boolean}\n     */\n    set_slot_str(id, json) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_slot_str(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n        return ret !== 0;\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     * @param {number} w\n     * @param {number} h\n     * @returns {boolean}\n     */\n    set_viewport(x, y, w, h) {\n        const ret = wasm.dotlottieplayerwasm_set_viewport(this.__wbg_ptr, x, y, w, h);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    total_frames() {\n        const ret = wasm.dotlottieplayerwasm_total_frames(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {boolean}\n     */\n    clear_segment() {\n        const ret = wasm.dotlottieplayerwasm_clear_segment(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    current_frame() {\n        const ret = wasm.dotlottieplayerwasm_current_frame(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the type string of a slot, or `undefined` if not found.\n     * @param {string} id\n     * @returns {string | undefined}\n     */\n    get_slot_type(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_get_slot_type(this.__wbg_ptr, ptr0, len0);\n        let v2;\n        if (ret[0] !== 0) {\n            v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v2;\n    }\n    /**\n     * Get all slots as a JSON object string.\n     * @returns {string}\n     */\n    get_slots_str() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.dotlottieplayerwasm_get_slots_str(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Returns the current affine transform as a flat `Float32Array`.\n     * @returns {Float32Array}\n     */\n    get_transform() {\n        const ret = wasm.dotlottieplayerwasm_get_transform(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    segment_start() {\n        const ret = wasm.dotlottieplayerwasm_segment_start(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Set multiple slots at once from a JSON string.\n     * @param {string} json\n     * @returns {boolean}\n     */\n    set_slots_str(json) {\n        const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_slots_str(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} id\n     * @param {string} text\n     * @returns {boolean}\n     */\n    set_text_slot(id, text) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(text, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_text_slot(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n        return ret !== 0;\n    }\n    /**\n     * @param {Float32Array} data\n     * @returns {boolean}\n     */\n    set_transform(data) {\n        const ptr0 = passArrayF32ToWasm0(data, wasm.__wbindgen_malloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_transform(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Returns all state machine inputs as a JS array of strings.\n     * @returns {any}\n     */\n    sm_get_inputs() {\n        const ret = wasm.dotlottieplayerwasm_sm_get_inputs(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Poll the next state machine event.  Returns `null` if the queue is empty,\n     * otherwise a JS object with a `type` field and optional payload.\n     * @returns {any}\n     */\n    sm_poll_event() {\n        const ret = wasm.dotlottieplayerwasm_sm_poll_event(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_click(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_click(this.__wbg_ptr, x, y);\n    }\n    /**\n     * `[width, height]` of the animation in its native coordinate space.\n     * @returns {Float32Array}\n     */\n    animation_size() {\n        const ret = wasm.dotlottieplayerwasm_animation_size(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Name of the currently active marker, or `undefined` if none.\n     * @returns {string | undefined}\n     */\n    current_marker() {\n        const ret = wasm.dotlottieplayerwasm_current_marker(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * @returns {number}\n     */\n    layout_align_x() {\n        const ret = wasm.dotlottieplayerwasm_layout_align_x(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    layout_align_y() {\n        const ret = wasm.dotlottieplayerwasm_layout_align_y(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Load a Lottie JSON animation.\n     *\n     * `setup_target` must have been called first.\n     * @param {string} data\n     * @returns {boolean}\n     */\n    load_animation(data) {\n        const ptr0 = passStringToWasm0(data, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_load_animation(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    loop_animation() {\n        const ret = wasm.dotlottieplayerwasm_loop_animation(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Set background colour. Pass `(0, 0, 0, 0)` to clear.\n     * @param {number} r\n     * @param {number} g\n     * @param {number} b\n     * @param {number} a\n     * @returns {boolean}\n     */\n    set_background(r, g, b, a) {\n        const ret = wasm.dotlottieplayerwasm_set_background(this.__wbg_ptr, r, g, b, a);\n        return ret !== 0;\n    }\n    /**\n     * Set a color slot (`r`, `g`, `b` in [0, 1]).\n     * @param {string} id\n     * @param {number} r\n     * @param {number} g\n     * @param {number} b\n     * @returns {boolean}\n     */\n    set_color_slot(id, r, g, b) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_color_slot(this.__wbg_ptr, ptr0, len0, r, g, b);\n        return ret !== 0;\n    }\n    /**\n     * @param {number} n\n     */\n    set_loop_count(n) {\n        wasm.dotlottieplayerwasm_set_loop_count(this.__wbg_ptr, n);\n    }\n    /**\n     * @param {string} data\n     * @returns {boolean}\n     */\n    set_theme_data(data) {\n        const ptr0 = passStringToWasm0(data, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_theme_data(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} key\n     */\n    sm_reset_input(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.dotlottieplayerwasm_sm_reset_input(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * Returns the animation manifest as a JSON string, or empty string if unavailable.\n     * @returns {string}\n     */\n    manifest_string() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.dotlottieplayerwasm_manifest_string(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * @param {string} id\n     * @param {number} value\n     * @returns {boolean}\n     */\n    set_scalar_slot(id, value) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_scalar_slot(this.__wbg_ptr, ptr0, len0, value);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} id\n     * @param {number} x\n     * @param {number} y\n     * @returns {boolean}\n     */\n    set_vector_slot(id, x, y) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_vector_slot(this.__wbg_ptr, ptr0, len0, x, y);\n        return ret !== 0;\n    }\n    /**\n     * Set up (or resize) the software rendering target.\n     * @param {number} width\n     * @param {number} height\n     * @returns {boolean}\n     */\n    setup_sw_target(width, height) {\n        const ret = wasm.dotlottieplayerwasm_setup_sw_target(this.__wbg_ptr, width, height);\n        return ret !== 0;\n    }\n    /**\n     * Zero-copy `Uint8Array` view into WASM linear memory.\n     *\n     * **Use the returned array immediately.**  Do not store the reference across\n     * any call that may reallocate the buffer (e.g. `resize` / `load_animation`\n     * with different dimensions).\n     * @returns {Uint8Array}\n     */\n    get_pixel_buffer() {\n        const ret = wasm.dotlottieplayerwasm_get_pixel_buffer(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Set the global audio volume multiplier (clamped to [0.0, 1.0]).\n     * @param {number} volume\n     */\n    set_audio_volume(volume) {\n        wasm.dotlottieplayerwasm_set_audio_volume(this.__wbg_ptr, volume);\n    }\n    /**\n     * Get the name of the current state.\n     * @returns {string}\n     */\n    sm_current_state() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.dotlottieplayerwasm_sm_current_state(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Returns the ID of the currently active state machine, or `undefined`.\n     * @returns {string | undefined}\n     */\n    state_machine_id() {\n        const ret = wasm.dotlottieplayerwasm_state_machine_id(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Returns the raw JSON definition of a state machine by ID, or `undefined`.\n     * @param {string} id\n     * @returns {string | undefined}\n     */\n    get_state_machine(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_get_state_machine(this.__wbg_ptr, ptr0, len0);\n        let v2;\n        if (ret[0] !== 0) {\n            v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v2;\n    }\n    /**\n     * @param {string} id\n     * @param {number} x\n     * @param {number} y\n     * @returns {boolean}\n     */\n    set_position_slot(id, x, y) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_position_slot(this.__wbg_ptr, ptr0, len0, x, y);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    current_loop_count() {\n        const ret = wasm.dotlottieplayerwasm_current_loop_count(this.__wbg_ptr);\n        return ret \u003e\u003e\u003e 0;\n    }\n    /**\n     * Returns the framework setup listeners as a JS array of strings.\n     * @returns {any}\n     */\n    sm_framework_setup() {\n        const ret = wasm.dotlottieplayerwasm_sm_framework_setup(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_pointer_up(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_pointer_up(this.__wbg_ptr, x, y);\n    }\n    /**\n     * Load a state machine from a JSON definition string.  Returns `true` on\n     * success.  The engine is kept alive inside the player and interacted\n     * with via the `sm_*` methods.\n     * @param {string} definition\n     * @returns {boolean}\n     */\n    state_machine_load(definition) {\n        const ptr0 = passStringToWasm0(definition, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_state_machine_load(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Load a .lottie archive from raw bytes.\n     *\n     * `setup_target` must have been called first.\n     * @param {Uint8Array} data\n     * @returns {boolean}\n     */\n    load_dotlottie_data(data) {\n        const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_load_dotlottie_data(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} key\n     * @returns {string | undefined}\n     */\n    sm_get_string_input(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_get_string_input(this.__wbg_ptr, ptr0, len0);\n        let v2;\n        if (ret[0] !== 0) {\n            v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v2;\n    }\n    /**\n     * @param {string} key\n     * @param {string} value\n     * @returns {boolean}\n     */\n    sm_set_string_input(key, value) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(value, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_set_string_input(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} key\n     * @returns {boolean | undefined}\n     */\n    sm_get_boolean_input(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_get_boolean_input(this.__wbg_ptr, ptr0, len0);\n        return ret === 0xFFFFFF ? undefined : ret !== 0;\n    }\n    /**\n     * @param {string} key\n     * @returns {number | undefined}\n     */\n    sm_get_numeric_input(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_get_numeric_input(this.__wbg_ptr, ptr0, len0);\n        return ret === 0x100000001 ? undefined : ret;\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_pointer_down(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_pointer_down(this.__wbg_ptr, x, y);\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_pointer_exit(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_pointer_exit(this.__wbg_ptr, x, y);\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_pointer_move(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_pointer_move(this.__wbg_ptr, x, y);\n    }\n    /**\n     * @param {string} key\n     * @param {boolean} value\n     * @returns {boolean}\n     */\n    sm_set_boolean_input(key, value) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_set_boolean_input(this.__wbg_ptr, ptr0, len0, value);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} key\n     * @param {number} value\n     * @returns {boolean}\n     */\n    sm_set_numeric_input(key, value) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_set_numeric_input(this.__wbg_ptr, ptr0, len0, value);\n        return ret !== 0;\n    }\n    /**\n     * Unload the active state machine.\n     */\n    state_machine_unload() {\n        wasm.dotlottieplayerwasm_state_machine_unload(this.__wbg_ptr);\n    }\n    /**\n     * @param {number} x\n     * @param {number} y\n     */\n    sm_post_pointer_enter(x, y) {\n        wasm.dotlottieplayerwasm_sm_post_pointer_enter(this.__wbg_ptr, x, y);\n    }\n    /**\n     * Load an animation from an already-loaded .lottie archive by its ID.\n     *\n     * `setup_target` must have been called first.\n     * @param {string} id\n     * @returns {boolean}\n     */\n    load_animation_from_id(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_load_animation_from_id(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Poll the next state machine internal event.  Returns `null` if the\n     * queue is empty, otherwise a JS object `{ type: \"Message\", message }`.\n     * @returns {any}\n     */\n    sm_poll_internal_event() {\n        const ret = wasm.dotlottieplayerwasm_sm_poll_internal_event(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {boolean}\n     */\n    use_frame_interpolation() {\n        const ret = wasm.dotlottieplayerwasm_use_frame_interpolation(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    reset_current_loop_count() {\n        wasm.dotlottieplayerwasm_reset_current_loop_count(this.__wbg_ptr);\n    }\n    /**\n     * Override the current state.\n     * @param {string} state\n     * @param {boolean} immediate\n     * @returns {boolean}\n     */\n    sm_override_current_state(state, immediate) {\n        const ptr0 = passStringToWasm0(state, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_override_current_state(this.__wbg_ptr, ptr0, len0, immediate);\n        return ret !== 0;\n    }\n    /**\n     * Load a state machine from a .lottie archive by state-machine ID.\n     * @param {string} id\n     * @returns {boolean}\n     */\n    state_machine_load_from_id(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_state_machine_load_from_id(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @param {boolean} v\n     */\n    set_use_frame_interpolation(v) {\n        wasm.dotlottieplayerwasm_set_use_frame_interpolation(this.__wbg_ptr, v);\n    }\n    constructor() {\n        const ret = wasm.dotlottieplayerwasm_new();\n        this.__wbg_ptr = ret \u003e\u003e\u003e 0;\n        DotLottiePlayerWasmFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * @returns {Mode}\n     */\n    mode() {\n        const ret = wasm.dotlottieplayerwasm_mode(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {boolean}\n     */\n    play() {\n        const ret = wasm.dotlottieplayerwasm_play(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    stop() {\n        const ret = wasm.dotlottieplayerwasm_stop(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Advance the animation by `dt` milliseconds and render if the frame changed.\n     * Call once per `requestAnimationFrame`, passing the frame delta in milliseconds.\n     * @param {number} dt\n     * @returns {boolean}\n     */\n    tick(dt) {\n        const ret = wasm.dotlottieplayerwasm_tick(this.__wbg_ptr, dt);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    pause() {\n        const ret = wasm.dotlottieplayerwasm_pause(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    speed() {\n        const ret = wasm.dotlottieplayerwasm_speed(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @returns {number}\n     */\n    width() {\n        const ret = wasm.dotlottieplayerwasm_width(this.__wbg_ptr);\n        return ret \u003e\u003e\u003e 0;\n    }\n    /**\n     * @returns {number}\n     */\n    height() {\n        const ret = wasm.dotlottieplayerwasm_height(this.__wbg_ptr);\n        return ret \u003e\u003e\u003e 0;\n    }\n    /**\n     * Render the current frame without advancing time.\n     * @returns {boolean}\n     */\n    render() {\n        const ret = wasm.dotlottieplayerwasm_render(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Returns an array of `{ name, start, end }` objects.\n     * @returns {any}\n     */\n    markers() {\n        const ret = wasm.dotlottieplayerwasm_markers(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Fire a named event into the state machine.\n     * @param {string} event\n     * @returns {boolean}\n     */\n    sm_fire(event) {\n        const ptr0 = passStringToWasm0(event, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_fire(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Stop the state machine.\n     * @returns {boolean}\n     */\n    sm_stop() {\n        const ret = wasm.dotlottieplayerwasm_sm_stop(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Advance the state machine by `dt` milliseconds and render if the frame changed.\n     * Returns `true` when a new frame was rendered, `false` otherwise.\n     * @param {number} dt\n     * @returns {boolean}\n     */\n    sm_tick(dt) {\n        const ret = wasm.dotlottieplayerwasm_sm_tick(this.__wbg_ptr, dt);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    autoplay() {\n        const ret = wasm.dotlottieplayerwasm_autoplay(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {number}\n     */\n    duration() {\n        const ret = wasm.dotlottieplayerwasm_duration(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * @param {boolean} v\n     */\n    set_loop(v) {\n        wasm.dotlottieplayerwasm_set_loop(this.__wbg_ptr, v);\n    }\n    /**\n     * @param {Mode} mode\n     */\n    set_mode(mode) {\n        wasm.dotlottieplayerwasm_set_mode(this.__wbg_ptr, mode);\n    }\n    /**\n     * Start the state machine with an open-URL policy.\n     * @param {boolean} require_user_interaction\n     * @param {any[]} whitelist\n     * @returns {boolean}\n     */\n    sm_start(require_user_interaction, whitelist) {\n        const ptr0 = passArrayJsValueToWasm0(whitelist, wasm.__wbindgen_malloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_sm_start(this.__wbg_ptr, require_user_interaction, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * @returns {string | undefined}\n     */\n    theme_id() {\n        const ret = wasm.dotlottieplayerwasm_theme_id(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_loaded() {\n        const ret = wasm.dotlottieplayerwasm_is_loaded(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @returns {boolean}\n     */\n    is_paused() {\n        const ret = wasm.dotlottieplayerwasm_is_paused(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * @param {string} name\n     * @param {Uint8Array} data\n     * @returns {boolean}\n     */\n    load_font(name, data) {\n        const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_malloc_command_export);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_load_font(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n        return ret !== 0;\n    }\n    /**\n     * @param {number} no\n     * @returns {boolean}\n     */\n    set_frame(no) {\n        const ret = wasm.dotlottieplayerwasm_set_frame(this.__wbg_ptr, no);\n        return ret !== 0;\n    }\n    /**\n     * @param {number} speed\n     */\n    set_speed(speed) {\n        wasm.dotlottieplayerwasm_set_speed(this.__wbg_ptr, speed);\n    }\n    /**\n     * @param {string} id\n     * @returns {boolean}\n     */\n    set_theme(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dotlottieplayerwasm_set_theme(this.__wbg_ptr, ptr0, len0);\n        return ret !== 0;\n    }\n    /**\n     * Get the current status of the state machine as a string.\n     * @returns {string}\n     */\n    sm_status() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.dotlottieplayerwasm_sm_status(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\n\nasync function __wbg_load(module, imports) {\n    if (typeof Response === 'function' \u0026\u0026 module instanceof Response) {\n        if (typeof WebAssembly.instantiateStreaming === 'function') {\n            try {\n                return await WebAssembly.instantiateStreaming(module, imports);\n\n            } catch (e) {\n                if (module.headers.get('Content-Type') != 'application/wasm') {\n                    console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n                } else {\n                    throw e;\n                }\n            }\n        }\n\n        const bytes = await module.arrayBuffer();\n        return await WebAssembly.instantiate(bytes, imports);\n\n    } else {\n        const instance = await WebAssembly.instantiate(module, imports);\n\n        if (instance instanceof WebAssembly.Instance) {\n            return { instance, module };\n\n        } else {\n            return instance;\n        }\n    }\n}\n\nfunction __wbg_get_imports() {\n    const imports = {};\n    imports.wbg = {};\n    imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {\n        const ret = arg0.buffer;\n        return ret;\n    };\n    imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n        let deferred0_0;\n        let deferred0_1;\n        try {\n            deferred0_0 = arg0;\n            deferred0_1 = arg1;\n            console.error(getStringFromWasm0(arg0, arg1));\n        } finally {\n            wasm.__wbindgen_free_command_export(deferred0_0, deferred0_1, 1);\n        }\n    };\n    imports.wbg.__wbg_new_405e22f390576ce2 = function() {\n        const ret = new Object();\n        return ret;\n    };\n    imports.wbg.__wbg_new_78feb108b6472713 = function() {\n        const ret = new Array();\n        return ret;\n    };\n    imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n        const ret = new Error();\n        return ret;\n    };\n    imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function(arg0, arg1, arg2) {\n        const ret = new Uint8Array(arg0, arg1 \u003e\u003e\u003e 0, arg2 \u003e\u003e\u003e 0);\n        return ret;\n    };\n    imports.wbg.__wbg_newwithlength_5a5efe313cfd59f1 = function(arg0) {\n        const ret = new Float32Array(arg0 \u003e\u003e\u003e 0);\n        return ret;\n    };\n    imports.wbg.__wbg_push_737cfc8c1432c2c6 = function(arg0, arg1) {\n        const ret = arg0.push(arg1);\n        return ret;\n    };\n    imports.wbg.__wbg_set_bb8cecf6a62b9f46 = function() { return handleError(function (arg0, arg1, arg2) {\n        const ret = Reflect.set(arg0, arg1, arg2);\n        return ret;\n    }, arguments) };\n    imports.wbg.__wbg_setindex_4e73afdcd9bb95cd = function(arg0, arg1, arg2) {\n        arg0[arg1 \u003e\u003e\u003e 0] = arg2;\n    };\n    imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n        const ret = arg1.stack;\n        const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        const len1 = WASM_VECTOR_LEN;\n        getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n        getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n    };\n    imports.wbg.__wbindgen_init_externref_table = function() {\n        const table = wasm.__wbindgen_export_3;\n        const offset = table.grow(4);\n        table.set(0, undefined);\n        table.set(offset + 0, undefined);\n        table.set(offset + 1, null);\n        table.set(offset + 2, true);\n        table.set(offset + 3, false);\n        ;\n    };\n    imports.wbg.__wbindgen_memory = function() {\n        const ret = wasm.memory;\n        return ret;\n    };\n    imports.wbg.__wbindgen_number_new = function(arg0) {\n        const ret = arg0;\n        return ret;\n    };\n    imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n        const obj = arg1;\n        const ret = typeof(obj) === 'string' ? obj : undefined;\n        var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);\n        var len1 = WASM_VECTOR_LEN;\n        getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n        getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n    };\n    imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n        const ret = getStringFromWasm0(arg0, arg1);\n        return ret;\n    };\n    imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n        throw new Error(getStringFromWasm0(arg0, arg1));\n    };\n\n    return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n    wasm = instance.exports;\n    __wbg_init.__wbindgen_wasm_module = module;\n    cachedDataViewMemory0 = null;\n    cachedFloat32ArrayMemory0 = null;\n    cachedUint8ArrayMemory0 = null;\n\n\n    wasm.__wbindgen_start();\n    return wasm;\n}\n\nfunction initSync(module) {\n    if (wasm !== undefined) return wasm;\n\n\n    if (typeof module !== 'undefined') {\n        if (Object.getPrototypeOf(module) === Object.prototype) {\n            ({module} = module)\n        } else {\n            console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n        }\n    }\n\n    const imports = __wbg_get_imports();\n\n    __wbg_init_memory(imports);\n\n    if (!(module instanceof WebAssembly.Module)) {\n        module = new WebAssembly.Module(module);\n    }\n\n    const instance = new WebAssembly.Instance(module, imports);\n\n    return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n    if (wasm !== undefined) return wasm;\n\n\n    if (typeof module_or_path !== 'undefined') {\n        if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n            ({module_or_path} = module_or_path)\n        } else {\n            console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n        }\n    }\n\n    if (typeof module_or_path === 'undefined') {\n        throw new Error('WASM module URL must be provided via DotLottieWasmLoader or setWasmUrl().');\n    }\n    const imports = __wbg_get_imports();\n\n    if (typeof module_or_path === 'string' || (typeof Request === 'function' \u0026\u0026 module_or_path instanceof Request) || (typeof URL === 'function' \u0026\u0026 module_or_path instanceof URL)) {\n        module_or_path = fetch(module_or_path);\n    }\n\n    __wbg_init_memory(imports);\n\n    const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n    return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","/**\n * Represents the different types of events that can be dispatched.\n */\nexport type EventType =\n  | 'complete'\n  | 'frame'\n  | 'load'\n  | 'loadError'\n  | 'renderError'\n  | 'loop'\n  | 'pause'\n  | 'play'\n  | 'stop'\n  | 'destroy'\n  | 'freeze'\n  | 'unfreeze'\n  | 'render'\n  | 'ready'\n  | 'stateMachineStart'\n  | 'stateMachineStop'\n  | 'stateMachineTransition'\n  | 'stateMachineStateEntered'\n  | 'stateMachineStateExit'\n  | 'stateMachineCustomEvent'\n  | 'stateMachineError'\n  | 'stateMachineBooleanInputValueChange'\n  | 'stateMachineNumericInputValueChange'\n  | 'stateMachineStringInputValueChange'\n  | 'stateMachineInputFired'\n  | 'stateMachineInternalMessage';\n\n/**\n * Maps an event type string to its respective event interface.\n */\ntype EventByType\u003cT extends EventType\u003e = Extract\u003cEvent, { type: T }\u003e;\n\n/**\n * Base interface for all events.\n */\nexport interface BaseEvent {\n  type: EventType;\n}\n\nexport interface RenderEvent extends BaseEvent {\n  currentFrame: number;\n  type: 'render';\n}\n\nexport interface FreezeEvent extends BaseEvent {\n  type: 'freeze';\n}\n\nexport interface UnfreezeEvent extends BaseEvent {\n  type: 'unfreeze';\n}\n\n/*\n * Event fired when a destroy action occurs.\n */\nexport interface DestroyEvent extends BaseEvent {\n  type: 'destroy';\n}\n\n/**\n * Event fired when a loop action occurs.\n */\nexport interface LoopEvent extends BaseEvent {\n  loopCount: number;\n  type: 'loop';\n}\n\n/**\n * Event fired during frame changes.\n */\nexport interface FrameEvent extends BaseEvent {\n  currentFrame: number;\n  type: 'frame';\n}\n\n/**\n * Event fired when a load action occurs.\n */\nexport interface LoadEvent extends BaseEvent {\n  type: 'load';\n}\n\n/**\n * Event fired when a loading error occurs.\n */\nexport interface LoadErrorEvent extends BaseEvent {\n  error: Error;\n  type: 'loadError';\n}\n\n/**\n * Event fired when a loading error occurs.\n */\nexport interface RenderErrorEvent extends BaseEvent {\n  error: Error;\n  type: 'renderError';\n}\n\n/**\n * Event fired when a completion action occurs.\n */\nexport interface CompleteEvent extends BaseEvent {\n  type: 'complete';\n}\n\n/**\n * Event fired when a pause action occurs.\n */\nexport interface PauseEvent extends BaseEvent {\n  type: 'pause';\n}\n\n/**\n * Event fired when a play action occurs.\n */\nexport interface PlayEvent extends BaseEvent {\n  type: 'play';\n}\n\n/**\n * Event fired when a stop action occurs.\n */\nexport interface StopEvent extends BaseEvent {\n  type: 'stop';\n}\n\n/**\n * Event fired when a WASM module is initialized and ready.\n */\nexport interface ReadyEvent extends BaseEvent {\n  type: 'ready';\n}\n\nexport interface StateMachineStartEvent extends BaseEvent {\n  type: 'stateMachineStart';\n}\n\nexport interface StateMachineStopEvent extends BaseEvent {\n  type: 'stateMachineStop';\n}\n\nexport interface StateMachineTransitionEvent extends BaseEvent {\n  fromState: string;\n  toState: string;\n  type: 'stateMachineTransition';\n}\n\nexport interface StateMachineStateEnteredEvent extends BaseEvent {\n  state: string;\n  type: 'stateMachineStateEntered';\n}\n\nexport interface StateMachineStateExitEvent extends BaseEvent {\n  state: string;\n  type: 'stateMachineStateExit';\n}\n\nexport interface StateMachineCustomEvent extends BaseEvent {\n  eventName: string;\n  type: 'stateMachineCustomEvent';\n}\n\nexport interface StateMachineErrorEvent extends BaseEvent {\n  error: string;\n  type: 'stateMachineError';\n}\n\nexport interface StateMachineBooleanInputValueChangeEvent extends BaseEvent {\n  inputName: string;\n  newValue: boolean;\n  oldValue: boolean;\n  type: 'stateMachineBooleanInputValueChange';\n}\n\nexport interface StateMachineNumericInputValueChangeEvent extends BaseEvent {\n  inputName: string;\n  newValue: number;\n  oldValue: number;\n  type: 'stateMachineNumericInputValueChange';\n}\n\nexport interface StateMachineStringInputValueChangeEvent extends BaseEvent {\n  inputName: string;\n  newValue: string;\n  oldValue: string;\n  type: 'stateMachineStringInputValueChange';\n}\n\nexport interface StateMachineInputFiredEvent extends BaseEvent {\n  inputName: string;\n  type: 'stateMachineInputFired';\n}\n\nexport interface StateMachineInternalMessage extends BaseEvent {\n  message: string;\n  type: 'stateMachineInternalMessage';\n}\n\n/**\n * Type representing all possible event types.\n */\nexport type Event =\n  | LoopEvent\n  | FrameEvent\n  | LoadEvent\n  | LoadErrorEvent\n  | RenderErrorEvent\n  | CompleteEvent\n  | PauseEvent\n  | PlayEvent\n  | StopEvent\n  | DestroyEvent\n  | FreezeEvent\n  | UnfreezeEvent\n  | RenderEvent\n  | ReadyEvent\n  | StateMachineStartEvent\n  | StateMachineStopEvent\n  | StateMachineTransitionEvent\n  | StateMachineStateEnteredEvent\n  | StateMachineStateExitEvent\n  | StateMachineCustomEvent\n  | StateMachineErrorEvent\n  | StateMachineBooleanInputValueChangeEvent\n  | StateMachineNumericInputValueChangeEvent\n  | StateMachineStringInputValueChangeEvent\n  | StateMachineInputFiredEvent\n  | StateMachineInternalMessage;\n\nexport type EventListener\u003cT extends EventType\u003e = (event: EventByType\u003cT\u003e) =\u003e void;\n\n/**\n * Manages registration and dispatching of event listeners.\n */\nexport class EventManager {\n  private readonly _eventListeners: Map\u003cEventType, Set\u003cEventListener\u003cEventType\u003e\u003e\u003e = new Map();\n\n  public addEventListener\u003cT extends EventType\u003e(type: T, listener: EventListener\u003cT\u003e): void {\n    let listeners = this._eventListeners.get(type);\n\n    if (!listeners) {\n      listeners = new Set\u003cEventListener\u003cEventType\u003e\u003e();\n      this._eventListeners.set(type, listeners);\n    }\n\n    listeners.add(listener as unknown as EventListener\u003cEventType\u003e);\n  }\n\n  public removeEventListener\u003cT extends EventType\u003e(type: T, listener?: EventListener\u003cT\u003e): void {\n    const listeners = this._eventListeners.get(type);\n\n    if (!listeners) return;\n\n    if (listener) {\n      listeners.delete(listener as unknown as EventListener\u003cEventType\u003e);\n\n      if (listeners.size === 0) {\n        this._eventListeners.delete(type);\n      }\n    } else {\n      this._eventListeners.delete(type);\n    }\n  }\n\n  public dispatch\u003cT extends EventType\u003e(event: EventByType\u003cT\u003e): void {\n    const listeners = this._eventListeners.get(event.type);\n\n    listeners?.forEach((listener) =\u003e listener(event));\n  }\n\n  public removeAllEventListeners(): void {\n    this._eventListeners.clear();\n  }\n}\n","import type { DotLottie } from './dotlottie';\nimport type { DotLottieWorker } from './worker/dotlottie';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class OffscreenObserver {\n  private static _observer: IntersectionObserver | null = null;\n\n  private static readonly _observedCanvases = new Map\u003cHTMLCanvasElement, DotLottie | DotLottieWorker\u003e();\n\n  private static _initializeObserver(): void {\n    if (OffscreenObserver._observer) return;\n\n    const intersectionObserverCallback = (entries: IntersectionObserverEntry[]): void =\u003e {\n      entries.forEach((entry) =\u003e {\n        const instance = OffscreenObserver._observedCanvases.get(entry.target as HTMLCanvasElement);\n\n        if (instance) {\n          if (entry.isIntersecting) {\n            instance.unfreeze();\n          } else {\n            instance.freeze();\n          }\n        }\n      });\n    };\n\n    OffscreenObserver._observer = new IntersectionObserver(intersectionObserverCallback, {\n      threshold: 0,\n    });\n  }\n\n  public static observe(canvas: HTMLCanvasElement, dotLottieInstance: DotLottie | DotLottieWorker): void {\n    OffscreenObserver._initializeObserver();\n\n    if (OffscreenObserver._observedCanvases.has(canvas)) return;\n\n    OffscreenObserver._observedCanvases.set(canvas, dotLottieInstance);\n    OffscreenObserver._observer?.observe(canvas);\n  }\n\n  public static unobserve(canvas: HTMLCanvasElement): void {\n    OffscreenObserver._observer?.unobserve(canvas);\n    OffscreenObserver._observedCanvases.delete(canvas);\n\n    if (OffscreenObserver._observedCanvases.size === 0) {\n      OffscreenObserver._observer?.disconnect();\n      OffscreenObserver._observer = null;\n    }\n  }\n}\n","import type { DotLottie } from './dotlottie';\nimport type { DotLottieWorker } from './worker/dotlottie';\n\nexport const RESIZE_DEBOUNCE_TIME = 100;\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class CanvasResizeObserver {\n  private static _observer: ResizeObserver | null = null;\n\n  private static readonly _observedCanvases = new Map\u003cHTMLCanvasElement, [DotLottie | DotLottieWorker, number]\u003e();\n\n  private static _initializeObserver(): void {\n    if (CanvasResizeObserver._observer) return;\n\n    const resizeHandler = (entries: ResizeObserverEntry[]): void =\u003e {\n      entries.forEach((entry) =\u003e {\n        const element = CanvasResizeObserver._observedCanvases.get(entry.target as HTMLCanvasElement);\n\n        if (!element) return;\n\n        const [dotLottieInstance, timeout] = element;\n\n        clearTimeout(timeout);\n\n        const newTimeout = setTimeout(() =\u003e {\n          dotLottieInstance.resize();\n        }, RESIZE_DEBOUNCE_TIME) as unknown as number;\n\n        CanvasResizeObserver._observedCanvases.set(entry.target as HTMLCanvasElement, [dotLottieInstance, newTimeout]);\n      });\n    };\n\n    CanvasResizeObserver._observer = new ResizeObserver(resizeHandler);\n  }\n\n  public static observe(canvas: HTMLCanvasElement, dotLottieInstance: DotLottie | DotLottieWorker): void {\n    CanvasResizeObserver._initializeObserver();\n\n    if (CanvasResizeObserver._observedCanvases.has(canvas)) return;\n\n    CanvasResizeObserver._observedCanvases.set(canvas, [dotLottieInstance, 0]);\n    CanvasResizeObserver._observer?.observe(canvas);\n  }\n\n  public static unobserve(canvas: HTMLCanvasElement): void {\n    const element = CanvasResizeObserver._observedCanvases.get(canvas);\n\n    if (element) {\n      const timeoutId = element[1];\n\n      if (timeoutId) clearTimeout(timeoutId);\n    }\n\n    CanvasResizeObserver._observer?.unobserve(canvas);\n    CanvasResizeObserver._observedCanvases.delete(canvas);\n\n    if (!CanvasResizeObserver._observedCanvases.size \u0026\u0026 CanvasResizeObserver._observer) {\n      CanvasResizeObserver._observer.disconnect();\n      CanvasResizeObserver._observer = null;\n    }\n  }\n}\n","import { DEFAULT_DPR_FACTOR, IS_BROWSER, LOTTIE_JSON_MANDATORY_FIELDS, ZIP_SIGNATURE } from './constants';\n\n/**\n * Validates if a string is a valid hex color in #RRGGBB or #RRGGBBAA format.\n * @param color - Color string to validate\n * @returns True if valid hex color format, false otherwise\n */\nexport function isHexColor(color: string): boolean {\n  return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(color);\n}\n\n/**\n * Converts a hex color string to an RGBA integer for WASM consumption.\n * Adds full opacity (alpha = 255, 0xFF in hex) if alpha channel is not specified.\n * @param colorHex - Hex color string (e.g., '#FFFFFF' or '#FFFFFFFF')\n * @returns RGBA value as a 32-bit integer, or 0 if invalid hex color\n */\nexport function hexStringToRGBAInt(colorHex: string): number {\n  if (!isHexColor(colorHex)) {\n    return 0;\n  }\n\n  let hex = colorHex.replace('#', '');\n\n  // Add alpha if it's not included\n  hex = hex.length === 6 ? `${hex}ff` : hex;\n\n  return parseInt(hex, 16);\n}\n\n/**\n * Converts a hex color string to RGBA float components in [0, 1].\n * @param colorHex - Hex color string (e.g., '#FFFFFF' or '#RRGGBBAA')\n * @returns Tuple of [r, g, b, a] as floats in [0, 1], or [0, 0, 0, 0] if invalid\n */\nexport function hexStringToRGBAFloats(colorHex: string): [number, number, number, number] {\n  if (!isHexColor(colorHex)) {\n    return [0, 0, 0, 0];\n  }\n\n  let hex = colorHex.replace('#', '');\n\n  hex = hex.length === 6 ? `${hex}ff` : hex;\n\n  const r = parseInt(hex.slice(0, 2), 16) / 255;\n  const g = parseInt(hex.slice(2, 4), 16) / 255;\n  const b = parseInt(hex.slice(4, 6), 16) / 255;\n  const a = parseInt(hex.slice(6, 8), 16) / 255;\n\n  return [r, g, b, a];\n}\n\n/**\n * Detects if file data is a .lottie file by checking for ZIP signature.\n * dotLottie files are ZIP archives containing Lottie JSON and metadata.\n * @param fileData - Raw file data as ArrayBuffer\n * @returns True if data starts with ZIP signature, false otherwise\n */\nexport function isDotLottie(fileData: ArrayBuffer): boolean {\n  if (fileData.byteLength \u003c 4) {\n    return false;\n  }\n\n  const fileSignature = new Uint8Array(fileData.slice(0, ZIP_SIGNATURE.byteLength));\n\n  for (let i = 0; i \u003c ZIP_SIGNATURE.length; i += 1) {\n    if (ZIP_SIGNATURE[i] !== fileSignature[i]) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\n/**\n * Returns whether the given object looks like a valid Lottie JSON structure.\n */\nexport function isLottieJSON(json: Record\u003cstring, unknown\u003e): boolean {\n  return LOTTIE_JSON_MANDATORY_FIELDS.every((field) =\u003e Object.hasOwn(json, field));\n}\n\n/**\n * Detects if data is a valid Lottie animation by checking for required JSON fields.\n * Accepts either a JSON string or a parsed object.\n * @param fileData - Lottie data as JSON string or parsed object\n * @returns True if data contains required Lottie fields, false otherwise\n */\nexport function isLottie(fileData: string | Record\u003cstring, unknown\u003e): boolean {\n  if (typeof fileData === 'string') {\n    try {\n      return isLottieJSON(JSON.parse(fileData));\n    } catch (_e) {\n      return false;\n    }\n  } else {\n    return isLottieJSON(fileData);\n  }\n}\n\n/**\n * Calculates the default device pixel ratio with a scaling factor.\n * Applies a factor to balance quality and performance on high-DPI displays.\n * @returns Adjusted device pixel ratio value\n */\nexport function getDefaultDPR(): number {\n  const dpr = IS_BROWSER ? window.devicePixelRatio : 1;\n\n  return 1 + (dpr - 1) * DEFAULT_DPR_FACTOR;\n}\n\n/**\n * Checks if an HTML element is currently visible within the browser viewport.\n * Used to determine when to freeze/unfreeze rendering for performance optimization.\n * @param element - HTMLElement to check visibility for\n * @returns True if element is at least partially visible in viewport, false otherwise\n */\nexport function isElementInViewport(element: HTMLElement): boolean {\n  const rect = element.getBoundingClientRect();\n  const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n  const viewportWidth = window.innerWidth || document.documentElement.clientWidth;\n\n  return !(rect.bottom \u003c 0 || rect.top \u003e viewportHeight || rect.right \u003c 0 || rect.left \u003e viewportWidth);\n}\n\n/**\n * Calculate pointer position relative to the canvas coordinate system\n * @param event - The mouse or pointer event (target should be the canvas element)\n * @returns The calculated position or null if calculation fails or target is not a valid canvas\n */\nexport function getPointerPosition(event: MouseEvent | PointerEvent): { x: number; y: number } | null {\n  const canvas = event.target;\n\n  if (canvas instanceof HTMLCanvasElement) {\n    const rect = canvas.getBoundingClientRect();\n\n    if (rect.width === 0 || rect.height === 0 || canvas.width === 0 || canvas.height === 0) {\n      return null;\n    }\n\n    const scaleX = canvas.width / rect.width;\n    const scaleY = canvas.height / rect.height;\n\n    const x = (event.clientX - rect.left) * scaleX;\n    const y = (event.clientY - rect.top) * scaleY;\n\n    if (!Number.isFinite(x) || !Number.isFinite(y) || Number.isNaN(x) || Number.isNaN(y)) {\n      return null;\n    }\n\n    return { x, y };\n  }\n\n  // Return null if target is not an HTMLCanvasElement or calculation fails\n  return null;\n}\n\nexport function handleOpenUrl(message: string): void {\n  const content = message.replace('OpenUrl: ', '');\n\n  const targetSeparatorIndex = content.indexOf(' | Target: ');\n  let urlToOpen: string;\n  let target: string;\n\n  if (targetSeparatorIndex === -1) {\n    // Format: \"OpenUrl: {url}\"\n    urlToOpen = content;\n    target = '_blank';\n  } else {\n    // Format: \"OpenUrl: {url} | Target: {target}\"\n    urlToOpen = content.substring(0, targetSeparatorIndex);\n    target = content.substring(targetSeparatorIndex + ' | Target: '.length);\n  }\n\n  window.open(urlToOpen, target);\n}\n","type WasmInitInput = string | BufferSource;\ntype WasmInitFn = (options: { module_or_path: WasmInitInput }) =\u003e Promise\u003cunknown\u003e;\n\nexport function createWasmLoader(initFn: WasmInitFn, primaryUrl: string, backupUrl: string) {\n  let initPromise: Promise\u003cvoid\u003e | null = null;\n  let wasmUrl = primaryUrl;\n\n  async function initFromUrl(url: string): Promise\u003cvoid\u003e {\n    await initFn({ module_or_path: url });\n  }\n\n  // Some environments (notably certain iOS WKWebView builds) reject\n  // WebAssembly.instantiateStreaming even for otherwise valid Response objects.\n  // Fetching bytes ourselves and passing a BufferSource to wasm-bindgen's init\n  // skips its streaming code path entirely.\n  async function initFromBytes(url: string): Promise\u003cvoid\u003e {\n    const response = await fetch(url);\n\n    if (!response.ok) {\n      throw new Error(`fetch ${url} responded with ${response.status} ${response.statusText}`);\n    }\n\n    const buffer = await response.arrayBuffer();\n\n    await initFn({ module_or_path: buffer });\n  }\n\n  return {\n    load(): Promise\u003cvoid\u003e {\n      if (!initPromise) {\n        // Snapshot URLs so a concurrent setWasmUrl() can't shift them mid-attempt.\n        const primary = wasmUrl;\n        const backup = backupUrl;\n\n        initPromise = (async () =\u003e {\n          let primaryError: unknown;\n          let backupError: unknown;\n\n          try {\n            await initFromUrl(primary);\n            return;\n          } catch (err) {\n            primaryError = err;\n            console.warn(`Primary WASM load failed from ${primary}: ${(err as Error).message}`);\n            console.warn(`Attempting to load WASM from backup URL: ${backup}`);\n          }\n\n          try {\n            await initFromUrl(backup);\n            return;\n          } catch (err) {\n            backupError = err;\n            console.warn(`Backup WASM load failed from ${backup}: ${(err as Error).message}`);\n          }\n\n          console.warn('Retrying WASM load with buffered instantiation');\n\n          try {\n            await initFromBytes(primary);\n            return;\n          } catch (err) {\n            console.warn(`Buffered WASM load from ${primary} failed: ${(err as Error).message}`);\n          }\n\n          try {\n            await initFromBytes(backup);\n            return;\n          } catch (err) {\n            console.error(`Primary WASM URL failed: ${(primaryError as Error).message}`);\n            console.error(`Backup WASM URL failed: ${(backupError as Error).message}`);\n            console.error(`Buffered fallback failed: ${(err as Error).message}`);\n            initPromise = null;\n            throw new Error('WASM loading failed from all sources.');\n          }\n        })();\n      }\n\n      return initPromise;\n    },\n\n    setWasmUrl(url: string): void {\n      if (url === wasmUrl) return;\n\n      wasmUrl = url;\n      initPromise = null;\n    },\n  };\n}\n","/* eslint-disable no-warning-comments */\nimport { AnimationFrameManager } from './animation-frame-manager';\nimport { BYTES_PER_PIXEL, IS_BROWSER, PACKAGE_NAME, PACKAGE_VERSION } from './constants';\nimport init, { Mode as CoreMode, DotLottiePlayerWasm, register_font } from './core/dotlottie-player';\nimport type { EventListener, EventType } from './event-manager';\nimport { EventManager } from './event-manager';\nimport { OffscreenObserver } from './offscreen-observer';\nimport { CanvasResizeObserver } from './resize-observer';\nimport type {\n  ColorSlotValue,\n  Config,\n  Data,\n  Fit,\n  GradientSlotValue,\n  Layout,\n  Manifest,\n  Marker,\n  Mode,\n  RenderConfig,\n  RenderSurface,\n  ScalarSlotValue,\n  SlotType,\n  StateMachineConfig,\n  TextSlotValue,\n  Theme,\n  Transform,\n  VectorSlotValue,\n} from './types';\nimport {\n  getDefaultDPR,\n  getPointerPosition,\n  handleOpenUrl,\n  hexStringToRGBAFloats,\n  isDotLottie,\n  isElementInViewport,\n  isLottie,\n} from './utils';\nimport { createWasmLoader } from './wasm-loader';\n\nconst dotLottieWasmLoader = createWasmLoader(\n  init,\n  `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,\n  `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,\n);\n\n// ── Mode conversion helpers ──────────────────────────────────────────────────\n\nconst modeToCore = (mode: Mode): CoreMode =\u003e {\n  switch (mode) {\n    case 'reverse':\n      return CoreMode.Reverse;\n\n    case 'bounce':\n      return CoreMode.Bounce;\n\n    case 'reverse-bounce':\n      return CoreMode.ReverseBounce;\n\n    default:\n      return CoreMode.Forward;\n  }\n};\n\nconst coreToMode = (mode: CoreMode): Mode =\u003e {\n  switch (mode) {\n    case CoreMode.Reverse:\n      return 'reverse';\n\n    case CoreMode.Bounce:\n      return 'bounce';\n\n    case CoreMode.ReverseBounce:\n      return 'reverse-bounce';\n\n    default:\n      return 'forward';\n  }\n};\n\n// ── Fit string helpers ───────────────────────────────────────────────────────\n\nconst fitToString = (fit: string): Fit =\u003e {\n  switch (fit) {\n    case 'contain':\n      return 'contain';\n\n    case 'cover':\n      return 'cover';\n\n    case 'fill':\n      return 'fill';\n\n    case 'fit-height':\n      return 'fit-height';\n\n    case 'fit-width':\n      return 'fit-width';\n\n    case 'none':\n      return 'none';\n\n    default:\n      return 'contain';\n  }\n};\n\nexport class DotLottie {\n  protected _canvas: HTMLCanvasElement | OffscreenCanvas | RenderSurface | null = null;\n\n  private _pendingLoad: { data?: Data; src?: string } | null = null;\n\n  protected _context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null = null;\n\n  private readonly _eventManager: EventManager;\n\n  private _animationFrameId: number | null = null;\n\n  private readonly _frameManager: AnimationFrameManager;\n\n  private readonly _boundAnimationLoop: (time: number) =\u003e void;\n\n  protected _dotLottieCore: DotLottiePlayerWasm | null = null;\n\n  private _stateMachineId: string = '';\n\n  private _stateMachineConfig: StateMachineConfig | null = null;\n\n  private _isStateMachineRunning: boolean = false;\n\n  protected _renderConfig: RenderConfig = {};\n\n  private _isFrozen: boolean = false;\n\n  private _backgroundColor: string | null = null;\n\n  private _lastFrameTime: number | null = null;\n\n  // Bound event listeners for state machine\n  private _boundOnClick: ((event: MouseEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerUp: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerDown: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerMove: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerEnter: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerLeave: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _bufferMismatchCount = 0;\n\n  private _lastExpectedBufferSize = 0;\n\n  private _cachedImageData: ImageData | null = null;\n\n  private _cachedImageDataBuffer: ArrayBufferLike | null = null;\n\n  private _cachedImageDataByteOffset = 0;\n\n  private _marker: string = '';\n\n  private _segment: [number, number] | null = null;\n\n  /**\n   * Creates a new DotLottie player instance for rendering Lottie animations.\n   * Initializes the WASM module, event system, and loads animation if src or data is provided in config.\n   * @param config - Configuration object specifying animation source, playback settings, and rendering options\n   */\n  public constructor(config: Config) {\n    this._canvas = config.canvas ?? null;\n\n    this._eventManager = new EventManager();\n    this._frameManager = new AnimationFrameManager();\n    this._boundAnimationLoop = this._animationLoop.bind(this);\n    this._renderConfig = {\n      ...config.renderConfig,\n      devicePixelRatio: config.renderConfig?.devicePixelRatio || getDefaultDPR(),\n      // freezeOnOffscreen is true by default to prevent unnecessary rendering when the canvas is offscreen\n      freezeOnOffscreen: config.renderConfig?.freezeOnOffscreen ?? true,\n    };\n\n    this._initWasm()\n      .then(() =\u003e {\n        this._dotLottieCore = this._createCore();\n\n        // Apply config via individual setters\n        this._dotLottieCore.set_autoplay(config.autoplay ?? false);\n        this._dotLottieCore.set_loop(config.loop ?? false);\n        this._dotLottieCore.set_loop_count(config.loopCount ?? 0);\n        this._dotLottieCore.set_mode(modeToCore(config.mode ?? 'forward'));\n        this._dotLottieCore.set_speed(config.speed ?? 1);\n        this._dotLottieCore.set_use_frame_interpolation(config.useFrameInterpolation ?? true);\n        if (config.segment \u0026\u0026 config.segment.length === 2) {\n          this._segment = [config.segment[0] as number, config.segment[1] as number];\n          this._dotLottieCore.set_segment(this._segment[0], this._segment[1]);\n        }\n        this._marker = config.marker ?? '';\n        if (this._marker) {\n          this._dotLottieCore.set_marker(this._marker);\n        }\n        this._dotLottieCore.set_layout(\n          config.layout?.fit ?? 'contain',\n          config.layout?.align?.[0] ?? 0.5,\n          config.layout?.align?.[1] ?? 0.5,\n        );\n\n        this._stateMachineId = config.stateMachineId ?? '';\n        this._stateMachineConfig = config.stateMachineConfig ?? null;\n\n        this._onCoreCreated();\n\n        this._eventManager.dispatch({ type: 'ready' });\n\n        if (config.data) {\n          if (this._canvas) {\n            this._loadFromData(config.data);\n          } else {\n            this._pendingLoad = { data: config.data };\n          }\n        } else if (config.src) {\n          if (this._canvas) {\n            this._loadFromSrc(config.src);\n          } else {\n            this._pendingLoad = { src: config.src };\n          }\n        }\n\n        if (config.backgroundColor) {\n          this.setBackgroundColor(config.backgroundColor);\n        }\n      })\n      .catch((error) =\u003e {\n        console.error('[dotlottie-web] Initialization failed:', error);\n        this._eventManager.dispatch({\n          type: 'loadError',\n          error: new Error(`Failed to load wasm module: ${error}`),\n        });\n      });\n  }\n\n  // ── Override hooks for subclasses ─────────────────────────────────────\n\n  protected async _initWasm(): Promise\u003cvoid\u003e {\n    return dotLottieWasmLoader.load();\n  }\n\n  protected _createCore(): DotLottiePlayerWasm {\n    return new DotLottiePlayerWasm();\n  }\n\n  protected _onCoreCreated(): void {\n    // No-op for software renderer. GPU renderers override to set GL/GPU context.\n  }\n\n  protected _setupTarget(width: number, height: number): boolean {\n    if (!this._dotLottieCore) return false;\n\n    return this._dotLottieCore.setup_sw_target(width, height);\n  }\n\n  // ── Event draining ─────────────────────────────────────────────────────\n\n  private _drainPlayerEvents({ skipFrame = false }: { skipFrame?: boolean } = {}): void {\n    if (!this._dotLottieCore) return;\n\n    let evt: unknown;\n\n    while ((evt = this._dotLottieCore.poll_event()) !== null \u0026\u0026 evt !== undefined) {\n      const event = evt as { type: string; frameNo?: number; loopCount?: number };\n\n      switch (event.type) {\n        case 'Load':\n          setTimeout(() =\u003e this._eventManager.dispatch({ type: 'load' }), 0);\n          break;\n\n        case 'LoadError':\n          setTimeout(() =\u003e this._eventManager.dispatch({ type: 'loadError', error: new Error('failed to load') }), 0);\n          break;\n\n        case 'Play':\n          queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'play' }));\n          break;\n\n        case 'Pause':\n          queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'pause' }));\n          break;\n\n        case 'Stop':\n          queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'stop' }));\n          break;\n\n        case 'Frame':\n          if (!skipFrame) {\n            queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'frame', currentFrame: event.frameNo ?? 0 }));\n          }\n          break;\n\n        case 'Render':\n          if (!skipFrame) {\n            queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'render', currentFrame: event.frameNo ?? 0 }));\n          }\n          break;\n\n        case 'Loop':\n          queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'loop', loopCount: event.loopCount ?? 0 }));\n          break;\n\n        case 'Complete':\n          queueMicrotask(() =\u003e this._eventManager.dispatch({ type: 'complete' }));\n          break;\n\n        default:\n          break;\n      }\n    }\n  }\n\n  private _drainSmEvents(): void {\n    if (!this._dotLottieCore) return;\n\n    // Drain state machine events\n    let evt: unknown;\n\n    while ((evt = this._dotLottieCore.sm_poll_event()) !== null \u0026\u0026 evt !== undefined) {\n      const event = evt as {\n        type: string;\n        previousState?: string;\n        newState?: string;\n        state?: string;\n        message?: string;\n        name?: string;\n        oldValue?: unknown;\n        newValue?: unknown;\n      };\n\n      switch (event.type) {\n        case 'Start':\n          queueMicrotask(() =\u003e {\n            this._isStateMachineRunning = true;\n            this._eventManager.dispatch({ type: 'stateMachineStart' });\n            this._startAnimationLoop();\n          });\n          break;\n\n        case 'Stop':\n          queueMicrotask(() =\u003e {\n            this._isStateMachineRunning = false;\n            this._eventManager.dispatch({ type: 'stateMachineStop' });\n            if (!this._dotLottieCore?.is_playing()) {\n              this._stopAnimationLoop();\n            }\n          });\n          break;\n\n        case 'CustomEvent':\n          this._eventManager.dispatch({ type: 'stateMachineCustomEvent', eventName: event.message ?? '' });\n          break;\n\n        case 'BooleanInputChange':\n          this._eventManager.dispatch({\n            type: 'stateMachineBooleanInputValueChange',\n            inputName: event.name ?? '',\n            newValue: event.newValue as boolean,\n            oldValue: event.oldValue as boolean,\n          });\n          break;\n\n        case 'NumericInputChange':\n          this._eventManager.dispatch({\n            type: 'stateMachineNumericInputValueChange',\n            inputName: event.name ?? '',\n            newValue: event.newValue as number,\n            oldValue: event.oldValue as number,\n          });\n          break;\n\n        case 'StringInputChange':\n          this._eventManager.dispatch({\n            type: 'stateMachineStringInputValueChange',\n            inputName: event.name ?? '',\n            newValue: event.newValue as string,\n            oldValue: event.oldValue as string,\n          });\n          break;\n\n        case 'InputFired':\n          this._eventManager.dispatch({ type: 'stateMachineInputFired', inputName: event.name ?? '' });\n          break;\n\n        case 'Transition':\n          this._eventManager.dispatch({\n            type: 'stateMachineTransition',\n            fromState: event.previousState ?? '',\n            toState: event.newState ?? '',\n          });\n          break;\n\n        case 'StateEntered':\n          this._eventManager.dispatch({ type: 'stateMachineStateEntered', state: event.state ?? '' });\n          break;\n\n        case 'StateExit':\n          this._eventManager.dispatch({ type: 'stateMachineStateExit', state: event.state ?? '' });\n          break;\n\n        case 'Error':\n          this._eventManager.dispatch({ type: 'stateMachineError', error: event.message ?? '' });\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    // Drain internal events\n    let internal: unknown;\n\n    while ((internal = this._dotLottieCore.sm_poll_internal_event()) !== null \u0026\u0026 internal !== undefined) {\n      const internalEvt = internal as { type: string; message?: string };\n\n      if (internalEvt.type === 'Message') {\n        const message = internalEvt.message ?? '';\n\n        if (IS_BROWSER \u0026\u0026 message.startsWith('OpenUrl: ')) {\n          handleOpenUrl(message);\n        } else {\n          this._eventManager.dispatch({ type: 'stateMachineInternalMessage', message });\n        }\n      }\n    }\n  }\n\n  // ── Private methods ────────────────────────────────────────────────────\n\n  private _dispatchError(message: string): void {\n    console.error(message);\n    this._eventManager.dispatch({ type: 'loadError', error: new Error(message) });\n  }\n\n  private async _fetchData(src: string): Promise\u003cstring | ArrayBuffer\u003e {\n    const response = await fetch(src);\n\n    if (!response.ok) {\n      throw new Error(`Failed to fetch animation data from URL: ${src}. ${response.status}: ${response.statusText}`);\n    }\n\n    const data = await response.arrayBuffer();\n\n    if (isDotLottie(data)) {\n      return data;\n    }\n\n    // eslint-disable-next-line node/no-unsupported-features/node-builtins\n    return new TextDecoder().decode(data);\n  }\n\n  private _loadFromData(data: Data): void {\n    if (this._dotLottieCore === null) return;\n\n    if (!this._canvas) {\n      console.warn('[dotlottie-web] Cannot load animation without canvas. Call setCanvas() first.');\n\n      return;\n    }\n\n    const width = this._canvas.width;\n    const height = this._canvas.height;\n\n    this._setupTarget(width, height);\n\n    let loaded = false;\n\n    if (typeof data === 'string') {\n      if (!isLottie(data)) {\n        this._dispatchError(\n          'Invalid Lottie JSON string: The provided string does not conform to the Lottie JSON format.',\n        );\n\n        return;\n      }\n      loaded = this._dotLottieCore.load_animation(data);\n    } else if (data instanceof ArrayBuffer) {\n      if (!isDotLottie(data)) {\n        this._dispatchError(\n          'Invalid dotLottie ArrayBuffer: The provided ArrayBuffer does not conform to the dotLottie format.',\n        );\n\n        return;\n      }\n      loaded = this._dotLottieCore.load_dotlottie_data(new Uint8Array(data));\n    } else if (typeof data === 'object') {\n      if (!isLottie(data as Record\u003cstring, unknown\u003e)) {\n        this._dispatchError(\n          'Invalid Lottie JSON object: The provided object does not conform to the Lottie JSON format.',\n        );\n\n        return;\n      }\n      loaded = this._dotLottieCore.load_animation(JSON.stringify(data));\n    } else {\n      this._dispatchError(\n        `Unsupported data type for animation data. Expected:\n          - string (Lottie JSON),\n          - ArrayBuffer (dotLottie),\n          - object (Lottie JSON).\n          Received: ${typeof data}`,\n      );\n\n      return;\n    }\n\n    if (loaded) {\n      if (this._renderConfig.quality !== undefined) {\n        this._dotLottieCore.set_quality(this._renderConfig.quality);\n      }\n\n      if (IS_BROWSER) {\n        this.resize();\n      }\n\n      // Drain any events produced by loading (Load/LoadError).\n      // Skip stale Frame/Render events when marker or segment needs re-application since the\n      // frame position from load_animation won't reflect those constraints.\n      this._drainPlayerEvents({ skipFrame: !!this._marker || !!this._segment });\n\n      // Re-apply marker and segment after load since they are reset by load_animation\n      if (this._marker) {\n        this._dotLottieCore.set_marker(this._marker);\n      }\n      if (this._segment) {\n        this._dotLottieCore.set_segment(this._segment[0], this._segment[1]);\n        // Seek to the segment's logical start frame based on mode so that the first\n        // emitted frame event reflects the segment, not the loaded animation's frame 0.\n        const mode = coreToMode(this._dotLottieCore.mode());\n        const startFrame = mode === 'reverse' || mode === 'reverse-bounce' ? this._segment[1] : this._segment[0];\n\n        this._dotLottieCore.set_frame(startFrame);\n      }\n\n      setTimeout(() =\u003e {\n        // FIXME: frame is not triggered from the dotlottie-rs core\n        this._eventManager.dispatch({\n          type: 'frame',\n          currentFrame: this.currentFrame,\n        });\n      }, 0);\n\n      this._dotLottieCore.render();\n      this._drainPlayerEvents();\n\n      this._draw();\n\n      if (this._stateMachineId) {\n        const smLoaded = this.stateMachineLoad(this._stateMachineId);\n\n        if (smLoaded) {\n          const smStarted = this.stateMachineStart();\n\n          if (smStarted) {\n            this._startAnimationLoop();\n          }\n        }\n      } else if (this._dotLottieCore.is_playing()) {\n        this._startAnimationLoop();\n      }\n\n      if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n        if (this._renderConfig.freezeOnOffscreen) {\n          OffscreenObserver.observe(this._canvas, this);\n\n          // Check if canvas is initially offscreen and freeze if necessary\n          if (!isElementInViewport(this._canvas)) {\n            this.freeze();\n          }\n        }\n\n        if (this._renderConfig.autoResize) {\n          CanvasResizeObserver.observe(this._canvas, this);\n        }\n      }\n    } else {\n      // Drain any LoadError events the core may have queued\n      this._drainPlayerEvents();\n    }\n  }\n\n  private _loadFromSrc(src: string): void {\n    this._fetchData(src)\n      .then((data) =\u003e this._loadFromData(data))\n      .catch((error) =\u003e this._dispatchError(`Failed to load animation data from URL: ${src}. ${error}`));\n  }\n\n  /**\n   * Gets the raw pixel buffer containing the rendered animation frame.\n   * Returns RGBA pixel data as a Uint8Array for advanced image processing or custom rendering.\n   */\n  public get buffer(): Uint8Array | null {\n    if (!this._dotLottieCore) return null;\n\n    return this._dotLottieCore.get_pixel_buffer();\n  }\n\n  /**\n   * Gets the ID of the currently active animation from a multi-animation dotLottie file.\n   * Returns undefined if no specific animation is active or for single-animation files.\n   */\n  public get activeAnimationId(): string | undefined {\n    return this._dotLottieCore?.animation_id() ?? undefined;\n  }\n\n  /**\n   * Gets the ID of the currently active theme applied to the animation.\n   * Returns undefined if no theme is active. Themes modify colors and visual properties.\n   */\n  public get activeThemeId(): string | undefined {\n    return this._dotLottieCore?.theme_id() ?? undefined;\n  }\n\n  /**\n   * Gets the current layout configuration for positioning and scaling the animation.\n   * Includes fit mode (contain, cover, fill, etc.) and alignment [x, y] values (0-1 range).\n   */\n  public get layout(): Layout | undefined {\n    if (!this._dotLottieCore) return undefined;\n\n    return {\n      align: [this._dotLottieCore.layout_align_x(), this._dotLottieCore.layout_align_y()],\n      fit: fitToString(this._dotLottieCore.layout_fit()),\n    };\n  }\n\n  /**\n   * Gets the currently active marker name if a marker-based segment is set.\n   * Returns undefined if no marker is active. Use setMarker() to activate a named segment.\n   */\n  public get marker(): string | undefined {\n    return this._dotLottieCore?.current_marker() ?? '';\n  }\n\n  /**\n   * Gets the animation manifest containing metadata about animations, themes, and states.\n   * Returns null if no manifest is available or if the loaded animation doesn't include one.\n   */\n  public get manifest(): Manifest | null {\n    try {\n      const manifest = this._dotLottieCore?.manifest_string();\n\n      if (this._dotLottieCore === null || !manifest) return null;\n\n      const manifestJson = JSON.parse(manifest);\n\n      if (Object.keys(manifestJson).length === 0) return null;\n\n      return manifestJson as Manifest;\n    } catch (_err) {\n      return null;\n    }\n  }\n\n  /**\n   * Gets the current rendering configuration.\n   * Includes settings like devicePixelRatio, autoResize, and freezeOnOffscreen.\n   */\n  public get renderConfig(): RenderConfig {\n    return this._renderConfig;\n  }\n\n  /**\n   * Gets the currently active playback segment as [startFrame, endFrame].\n   * Returns the effective segment from the WASM core. When no custom segment is set,\n   * returns [0, totalFrames - 1] (full animation range). Returns undefined only when the core is not loaded.\n   */\n  public get segment(): [number, number] | undefined {\n    if (!this._dotLottieCore) return undefined;\n\n    return [this._dotLottieCore.segment_start(), this._dotLottieCore.segment_end()];\n  }\n\n  /**\n   * Gets the current loop configuration.\n   * Returns true if the animation is set to loop continuously.\n   */\n  public get loop(): boolean {\n    return this._dotLottieCore?.loop_animation() ?? false;\n  }\n\n  /**\n   * Gets the current playback mode.\n   * Determines playback direction: 'forward', 'reverse', 'bounce' (forward then reverse), or 'reverse-bounce'.\n   */\n  public get mode(): Mode {\n    if (!this._dotLottieCore) return 'forward';\n\n    return coreToMode(this._dotLottieCore.mode());\n  }\n\n  /**\n   * Indicates whether rendering is currently frozen.\n   * True when freeze() has been called and the rendering loop is paused to save resources.\n   */\n  public get isFrozen(): boolean {\n    return this._isFrozen;\n  }\n\n  /**\n   * Indicates whether a state machine is currently active and running.\n   * True after stateMachineStart() is called and until stateMachineStop() is called.\n   */\n  public get isStateMachineRunning(): boolean {\n    return this._isStateMachineRunning;\n  }\n\n  /**\n   * Gets the current background color.\n   * Returns the background color as a string (e.g., '#FFFFFF' or 'transparent').\n   */\n  public get backgroundColor(): string {\n    return this._backgroundColor ?? '';\n  }\n\n  /**\n   * Gets the autoplay configuration.\n   * Returns true if the animation is configured to start playing automatically when loaded.\n   */\n  public get autoplay(): boolean {\n    return this._dotLottieCore?.autoplay() ?? false;\n  }\n\n  /**\n   * Gets the frame interpolation setting.\n   * Returns true if frame interpolation is enabled for smoother animation playback.\n   */\n  public get useFrameInterpolation(): boolean {\n    return this._dotLottieCore?.use_frame_interpolation() ?? false;\n  }\n\n  /**\n   * Gets the current playback speed.\n   * Returns the speed multiplier (1 = normal speed, 2 = double speed, 0.5 = half speed).\n   */\n  public get speed(): number {\n    return this._dotLottieCore?.speed() ?? 0;\n  }\n\n  /**\n   * Indicates whether the WASM module and core player have been initialized.\n   * Check this before performing operations that require the player to be ready.\n   */\n  public get isReady(): boolean {\n    return this._dotLottieCore !== null;\n  }\n\n  /**\n   * Indicates whether an animation has been successfully loaded and is ready for playback.\n   * Check this before calling play() or other playback methods to ensure the animation is ready.\n   */\n  public get isLoaded(): boolean {\n    return this._dotLottieCore?.is_loaded() ?? false;\n  }\n\n  /**\n   * Indicates whether the animation is currently playing.\n   * True when animation is actively playing, false when paused, stopped, or not started.\n   */\n  public get isPlaying(): boolean {\n    return this._dotLottieCore?.is_playing() ?? false;\n  }\n\n  /**\n   * Indicates whether the animation is currently paused.\n   * True when pause() has been called and animation is not playing or stopped.\n   */\n  public get isPaused(): boolean {\n    return this._dotLottieCore?.is_paused() ?? false;\n  }\n\n  /**\n   * Indicates whether the animation is currently stopped.\n   * True when stop() has been called or animation hasn't started yet.\n   */\n  public get isStopped(): boolean {\n    return this._dotLottieCore?.is_stopped() ?? false;\n  }\n\n  /**\n   * Gets the current frame number of the animation.\n   * Useful for tracking playback position or implementing custom frame displays. Rounded to 2 decimal places.\n   */\n  public get currentFrame(): number {\n    if (!this._dotLottieCore) return 0;\n\n    return Math.round(this._dotLottieCore.current_frame() * 100) / 100;\n  }\n\n  /**\n   * Gets the number of times the animation has completed a loop during the current playback.\n   * Increments each time the animation completes one full cycle.\n   */\n  public get loopCount(): number {\n    return this._dotLottieCore?.current_loop_count() ?? 0;\n  }\n\n  /**\n   * Gets the total number of frames in the animation.\n   * Use with currentFrame to calculate playback progress as a percentage.\n   */\n  public get totalFrames(): number {\n    return this._dotLottieCore?.total_frames() ?? 0;\n  }\n\n  /**\n   * Gets the total duration of the animation in seconds.\n   * Represents the time to play from the first frame to the last at normal speed (speed = 1).\n   */\n  public get duration(): number {\n    return (this._dotLottieCore?.duration() ?? 0) / 1000;\n  }\n\n  /**\n   * Gets the canvas element used for rendering the animation.\n   * Returns the HTMLCanvasElement, OffscreenCanvas, or RenderSurface set during initialization.\n   */\n  public get canvas(): HTMLCanvasElement | OffscreenCanvas | RenderSurface | null {\n    return this._canvas;\n  }\n\n  /**\n   * Dynamically loads a new animation, replacing the current one if any.\n   * Stops current playback, cleans up resources, and loads from the provided src or data.\n   * @param config - Configuration for the new animation (all Config properties except canvas)\n   */\n  public load(config: Omit\u003cConfig, 'canvas'\u003e): void {\n    if (this._dotLottieCore === null) return;\n\n    this._stopAnimationLoop();\n\n    this._cleanupCanvas();\n\n    this._isFrozen = false;\n\n    // Apply config via individual setters\n    this._dotLottieCore.set_autoplay(config.autoplay ?? false);\n    this._dotLottieCore.set_loop(config.loop ?? false);\n    this._dotLottieCore.set_loop_count(config.loopCount ?? 0);\n    this._dotLottieCore.set_mode(modeToCore(config.mode ?? 'forward'));\n    this._dotLottieCore.set_speed(config.speed ?? 1);\n    this._dotLottieCore.set_use_frame_interpolation(config.useFrameInterpolation ?? true);\n    if (config.segment \u0026\u0026 config.segment.length === 2) {\n      this._segment = [config.segment[0] as number, config.segment[1] as number];\n      this._dotLottieCore.set_segment(this._segment[0], this._segment[1]);\n    } else {\n      this._segment = null;\n      this._dotLottieCore.clear_segment();\n    }\n    this._marker = config.marker ?? '';\n    if (this._marker) {\n      this._dotLottieCore.set_marker(this._marker);\n    } else {\n      this._dotLottieCore.clear_marker();\n    }\n    this._dotLottieCore.set_layout(\n      config.layout?.fit ?? 'contain',\n      config.layout?.align?.[0] ?? 0.5,\n      config.layout?.align?.[1] ?? 0.5,\n    );\n\n    if (config.data) {\n      if (this._canvas) {\n        this._loadFromData(config.data);\n      } else {\n        this._pendingLoad = { data: config.data };\n      }\n    } else if (config.src) {\n      if (this._canvas) {\n        this._loadFromSrc(config.src);\n      } else {\n        this._pendingLoad = { src: config.src };\n      }\n    }\n\n    if (config.backgroundColor) {\n      this.setBackgroundColor(config.backgroundColor);\n    }\n  }\n\n  protected _draw(): void {\n    if (this._dotLottieCore === null || this._canvas === null) return;\n\n    // Only try to get context if canvas has getContext method and no context exists yet\n    if (\n      !this._context \u0026\u0026\n      'getContext' in this._canvas \u0026\u0026\n      typeof this._canvas.getContext === 'function' \u0026\u0026\n      ((typeof HTMLCanvasElement !== 'undefined' \u0026\u0026 this._canvas instanceof HTMLCanvasElement) ||\n        (typeof OffscreenCanvas !== 'undefined' \u0026\u0026 this._canvas instanceof OffscreenCanvas))\n    ) {\n      this._context = this._canvas.getContext('2d') as\n        | CanvasRenderingContext2D\n        | OffscreenCanvasRenderingContext2D\n        | null;\n    }\n\n    if (!this._context) return;\n\n    const buffer = this._dotLottieCore.get_pixel_buffer();\n\n    const width = this._canvas.width;\n    const height = this._canvas.height;\n    const expectedLength = width * height * BYTES_PER_PIXEL;\n\n    /*\n      frame buffer size mismatch can occur temporarily during resize operations when the WASM buffer allocation hasn't completed yet\n    */\n    if (buffer.byteLength !== expectedLength) {\n      if (this._lastExpectedBufferSize === expectedLength) {\n        this._bufferMismatchCount += 1;\n      } else {\n        this._bufferMismatchCount = 1;\n        this._lastExpectedBufferSize = expectedLength;\n      }\n\n      if (this._bufferMismatchCount === 10) {\n        console.warn(\n          `[dotlottie-web] Persistent buffer size mismatch detected. ` +\n            `Expected ${expectedLength} bytes for canvas ${width}x${height}, ` +\n            `but got ${buffer.byteLength} bytes. ` +\n            `This may indicate a WASM memory allocation issue or invalid canvas dimensions.`,\n        );\n      }\n\n      return;\n    }\n\n    this._bufferMismatchCount = 0;\n    this._lastExpectedBufferSize = expectedLength;\n\n    /*\n      Reuse the cached ImageData when canvas dimensions and the underlying WASM\n      ArrayBuffer haven't changed. WASM linear-memory growth detaches the old\n      ArrayBuffer, which makes the cached view's byteLength drop to 0; we detect\n      that here and rebuild.\n    */\n    const cached = this._cachedImageData;\n    const cacheValid =\n      cached !== null \u0026\u0026\n      cached.width === width \u0026\u0026\n      cached.height === height \u0026\u0026\n      cached.data.byteLength === expectedLength \u0026\u0026\n      this._cachedImageDataBuffer === buffer.buffer \u0026\u0026\n      this._cachedImageDataByteOffset === buffer.byteOffset;\n\n    if (!cacheValid) {\n      /*\n        In Node.js, the ImageData constructor is not available globally.\n        createImageData allocates its own backing buffer that's separate from\n        WASM memory, so the Node path has to copy pixels every frame below.\n      */\n      if (typeof ImageData === 'undefined') {\n        this._cachedImageData = this._context.createImageData(width, height);\n      } else {\n        const clampedBuffer = new Uint8ClampedArray(buffer.buffer as ArrayBuffer, buffer.byteOffset, buffer.byteLength);\n\n        this._cachedImageData = new ImageData(clampedBuffer, width, height);\n      }\n      this._cachedImageDataBuffer = buffer.buffer;\n      this._cachedImageDataByteOffset = buffer.byteOffset;\n    }\n\n    if (typeof ImageData === 'undefined') {\n      const clampedBuffer = new Uint8ClampedArray(buffer.buffer as ArrayBuffer, buffer.byteOffset, buffer.byteLength);\n\n      (this._cachedImageData as ImageData).data.set(clampedBuffer);\n    }\n\n    this._context.putImageData(this._cachedImageData as ImageData, 0, 0);\n  }\n\n  private _cleanupCanvas(): void {\n    if (this._canvas \u0026\u0026 IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      OffscreenObserver.unobserve(this._canvas);\n      CanvasResizeObserver.unobserve(this._canvas);\n      this._cleanupStateMachineListeners();\n    }\n  }\n\n  private _initializeCanvas(): void {\n    this._setupRendererOnCanvas();\n\n    if (this._canvas \u0026\u0026 IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement \u0026\u0026 this.isLoaded) {\n      if (this._renderConfig.freezeOnOffscreen) {\n        OffscreenObserver.observe(this._canvas, this);\n\n        if (!isElementInViewport(this._canvas)) {\n          this.freeze();\n        }\n      }\n\n      if (this._renderConfig.autoResize) {\n        CanvasResizeObserver.observe(this._canvas, this);\n      }\n\n      if (this._isStateMachineRunning) {\n        this._setupStateMachineListeners();\n      }\n    }\n\n    if (this._canvas \u0026\u0026 this._dotLottieCore \u0026\u0026 this.isLoaded) {\n      const resized = this._setupTarget(this._canvas.width, this._canvas.height);\n\n      if (resized) {\n        this._dotLottieCore.render();\n        this._draw();\n      }\n    }\n  }\n\n  protected _setupRendererOnCanvas(): void {\n    this._context = null;\n  }\n\n  private _stopAnimationLoop(): void {\n    if (this._animationFrameId !== null) {\n      this._frameManager.cancelAnimationFrame(this._animationFrameId);\n      this._animationFrameId = null;\n    }\n    this._lastFrameTime = null;\n  }\n\n  private _startAnimationLoop(): void {\n    // Start if we don't already have an active loop and either:\n    // 1. The animation should be playing, OR\n    // 2. The state machine is running\n    if (\n      this._animationFrameId === null \u0026\u0026\n      this._dotLottieCore \u0026\u0026\n      !this._isFrozen \u0026\u0026\n      (this._dotLottieCore.is_playing() || this._isStateMachineRunning)\n    ) {\n      this._animationFrameId = this._frameManager.requestAnimationFrame(this._boundAnimationLoop);\n    }\n  }\n\n  private _animationLoop(time: number): void {\n    if (this._dotLottieCore === null) {\n      this._stopAnimationLoop();\n\n      return;\n    }\n\n    // Continue the loop if either the animation is playing OR the state machine is running\n    if (!this._dotLottieCore.is_playing() \u0026\u0026 !this._isStateMachineRunning) {\n      this._stopAnimationLoop();\n\n      return;\n    }\n\n    try {\n      const dt = this._lastFrameTime !== null ? time - this._lastFrameTime : 0;\n\n      this._lastFrameTime = time;\n\n      const advanced = this._isStateMachineRunning ? this._dotLottieCore.sm_tick(dt) : this._dotLottieCore.tick(dt);\n\n      if (this._isStateMachineRunning) {\n        this._drainSmEvents();\n      } else {\n        this._drainPlayerEvents();\n      }\n\n      if (advanced) {\n        this._draw();\n      }\n\n      this._animationFrameId = this._frameManager.requestAnimationFrame(this._boundAnimationLoop);\n    } catch (error) {\n      console.error('Error in animation frame:', error);\n\n      this._eventManager.dispatch({ type: 'renderError', error: error as unknown as Error });\n\n      // destroy the instance if it's a runtime error\n      if (error instanceof WebAssembly.RuntimeError) {\n        this.destroy();\n      }\n    }\n  }\n\n  /**\n   * Starts or resumes animation playback from the current frame.\n   * Unfreezes rendering if frozen and starts the animation loop. Updates isPlaying state to true.\n   */\n  public play(): void {\n    if (this._dotLottieCore === null || !this.isLoaded) return;\n\n    this._stopAnimationLoop();\n\n    const playing = this._dotLottieCore.play();\n\n    this._drainPlayerEvents();\n\n    // Always unfreeze and start animation loop if core is playing, regardless of play() return value\n    if (playing || this._dotLottieCore.is_playing()) {\n      this._isFrozen = false;\n      this._startAnimationLoop();\n    }\n\n    /*\n      Check if the canvas is offscreen and freezing is enabled\n      If freezeOnOffscreen is true and the canvas is currently outside the viewport,\n      we immediately freeze the animation to avoid unnecessary rendering and performance overhead.\n    */\n    if (\n      this._canvas \u0026\u0026\n      IS_BROWSER \u0026\u0026\n      this._canvas instanceof HTMLCanvasElement \u0026\u0026\n      this._renderConfig.freezeOnOffscreen \u0026\u0026\n      !isElementInViewport(this._canvas)\n    ) {\n      this.freeze();\n    }\n  }\n\n  /**\n   * Pauses animation playback at the current frame.\n   * Stops the animation loop while preserving the current frame position. Updates isPaused state to true.\n   */\n  public pause(): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.pause();\n\n    this._drainPlayerEvents();\n\n    this._stopAnimationLoop();\n  }\n\n  /**\n   * Stops animation playback and resets to the start frame.\n   * Halts the animation loop and returns to the beginning. Updates isStopped state to true.\n   */\n  public stop(): void {\n    if (this._dotLottieCore === null) return;\n\n    const ok = this._dotLottieCore.stop();\n\n    this._drainPlayerEvents();\n\n    this._stopAnimationLoop();\n\n    if (ok) {\n      // FIXME: frame is not triggered from the dotlottie-rs core on stop()\n      this._eventManager.dispatch({ type: 'frame', currentFrame: this.currentFrame });\n      // FIXME: stop() doesn't trigger render() internally\n      this._dotLottieCore.render();\n      this._draw();\n    }\n  }\n\n  /**\n   * Seeks to a specific frame in the animation and renders it.\n   * Useful for implementing custom scrubbing controls or precise frame positioning.\n   * @param frame - The target frame number to seek to\n   */\n  public setFrame(frame: number): void {\n    if (this._dotLottieCore === null) return;\n\n    const frameUpdated = this._dotLottieCore.set_frame(frame);\n\n    if (frameUpdated) {\n      const rendered = this._dotLottieCore.render();\n\n      this._drainPlayerEvents();\n\n      if (rendered) {\n        this._draw();\n      }\n    }\n  }\n\n  /**\n   * Changes the animation playback speed.\n   * Values above 1 speed up playback, below 1 slow it down.\n   * @param speed - Playback speed multiplier (e.g., 2 for 2x speed, 0.5 for half speed)\n   */\n  public setSpeed(speed: number): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_speed(speed);\n  }\n\n  /**\n   * Changes the background color of the canvas or animation.\n   * For HTMLCanvasElement, sets the CSS background. For other surfaces, renders behind the animation.\n   * @param color - CSS color string (e.g., '#FFFFFF', 'rgba(0,0,0,0.5)', 'transparent')\n   */\n  public setBackgroundColor(color: string): void {\n    if (this._dotLottieCore === null) return;\n\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      this._canvas.style.backgroundColor = color;\n    } else {\n      const [r, g, b, a] = hexStringToRGBAFloats(color);\n\n      this._dotLottieCore.set_background(r, g, b, a);\n    }\n\n    this._backgroundColor = color;\n  }\n\n  /**\n   * Enables or disables continuous looping of the animation.\n   * When enabled with loopCount set to 0, animation repeats indefinitely.\n   * @param loop - True to enable looping, false to play once\n   */\n  public setLoop(loop: boolean): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_loop(loop);\n  }\n\n  /**\n   * Sets the number of additional times to replay the animation after the first play.\n   * Requires loop to be true. A value of 0 means infinite replays; a positive value n means\n   * the animation plays a total of n + 1 times (initial play + n replays).\n   * @param loopCount - Number of additional replays (0 = infinite, 1 = plays twice, 2 = plays three times, etc.)\n   */\n  public setLoopCount(loopCount: number): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_loop_count(loopCount);\n  }\n\n  /**\n   * Enables or disables frame interpolation for smoother playback.\n   * When enabled, interpolates between frames. When disabled, shows exact frame-by-frame animation.\n   * @param useFrameInterpolation - True for smooth interpolation, false for exact frames\n   */\n  public setUseFrameInterpolation(useFrameInterpolation: boolean): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_use_frame_interpolation(useFrameInterpolation);\n  }\n\n  /**\n   * Subscribes to animation events like play, pause, frame, complete, etc.\n   * Use this to react to animation state changes and playback progress.\n   * @param type - Event type to listen for (e.g., 'play', 'frame', 'complete')\n   * @param listener - Callback function invoked when the event occurs\n   */\n  public addEventListener\u003cT extends EventType\u003e(type: T, listener: EventListener\u003cT\u003e): void {\n    this._eventManager.addEventListener(type, listener);\n  }\n\n  /**\n   * Unsubscribes from animation events.\n   * If no listener is provided, removes all listeners for the given event type.\n   * @param type - Event type to stop listening for\n   * @param listener - Specific callback to remove, or undefined to remove all\n   */\n  public removeEventListener\u003cT extends EventType\u003e(type: T, listener?: EventListener\u003cT\u003e): void {\n    this._eventManager.removeEventListener(type, listener);\n  }\n\n  /**\n   * Cleans up and destroys the player instance, releasing all resources.\n   * Stops playback, removes event listeners, and frees WASM memory. Call when the player is no longer needed.\n   */\n  public destroy(): void {\n    this._stopAnimationLoop();\n\n    // Reset state machine status\n    this._isStateMachineRunning = false;\n\n    this._cleanupCanvas();\n\n    const core = this._dotLottieCore;\n\n    this._dotLottieCore = null;\n    this._context = null;\n\n    if (core) {\n      try {\n        core.free();\n      } catch (err) {\n        console.warn('[dotlottie-web] Error freeing wasm core during destroy:', err);\n      }\n    }\n\n    this._eventManager.dispatch({\n      type: 'destroy',\n    });\n\n    this._eventManager.removeAllEventListeners();\n    this._cleanupStateMachineListeners();\n  }\n\n  /**\n   * Pauses the rendering loop without changing playback state.\n   * Useful for reducing CPU/GPU usage when the animation is offscreen or hidden. Dispatches 'freeze' event.\n   */\n  public freeze(): void {\n    if (this._animationFrameId === null) return;\n\n    this._stopAnimationLoop();\n\n    this._isFrozen = true;\n\n    this._eventManager.dispatch({ type: 'freeze' });\n  }\n\n  /**\n   * Resumes the rendering loop after being frozen.\n   * Restarts frame rendering while maintaining the current playback state. Dispatches 'unfreeze' event.\n   */\n  public unfreeze(): void {\n    if (this._animationFrameId !== null) return;\n\n    this._isFrozen = false;\n\n    this._eventManager.dispatch({ type: 'unfreeze' });\n\n    this._startAnimationLoop();\n  }\n\n  /**\n   * Recalculates and updates canvas dimensions based on current size.\n   * Call this when the canvas container size changes to maintain proper rendering. Usually handled by autoResize.\n   */\n  public resize(): void {\n    if (!this._dotLottieCore || !this.isLoaded || !this._canvas) return;\n\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      const dpr = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1;\n\n      const { height: clientHeight, width: clientWidth } = this._canvas.getBoundingClientRect();\n\n      if (clientHeight !== 0 \u0026\u0026 clientWidth !== 0) {\n        this._canvas.width = clientWidth * dpr;\n        this._canvas.height = clientHeight * dpr;\n      }\n    }\n\n    const resized = this._setupTarget(this._canvas.width, this._canvas.height);\n\n    if (resized) {\n      this._dotLottieCore.render();\n      this._draw();\n    }\n  }\n\n  /**\n   * Changes the canvas element used for rendering.\n   * Useful for moving the animation to a different canvas without recreating the player instance.\n   * @param canvas - New HTMLCanvasElement, OffscreenCanvas, or RenderSurface to render to\n   */\n  public setCanvas(canvas: HTMLCanvasElement | OffscreenCanvas | RenderSurface): void {\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n    if (!canvas || this._canvas === canvas) return;\n\n    if (this._canvas) {\n      this._cleanupCanvas();\n    }\n\n    this._canvas = canvas;\n\n    this._initializeCanvas();\n\n    if (this._pendingLoad) {\n      const pending = this._pendingLoad;\n\n      this._pendingLoad = null;\n\n      if (pending.data) {\n        this._loadFromData(pending.data);\n      } else if (pending.src) {\n        this._loadFromSrc(pending.src);\n      }\n    }\n  }\n\n  /**\n   * Applies a 3x3 transformation matrix to the entire animation on the canvas.\n   * Use this to translate, rotate, scale, or skew the animation rendering.\n   * @param transform - 9-element array representing the transformation matrix in row-major order\n   * @returns True if transformation was applied successfully, false otherwise\n   */\n  public setTransform(transform: Transform): boolean {\n    if (!this._dotLottieCore) return false;\n\n    const ok = this._dotLottieCore.set_transform(new Float32Array(transform));\n\n    if (ok \u0026\u0026 this._dotLottieCore.render()) {\n      this._draw();\n    }\n\n    return ok;\n  }\n\n  /**\n   * Gets the 3x3 transformation matrix applied to the animation.\n   * Returns a 9-element array representing affine transformations (translation, rotation, scale, skew).\n   * @returns Transform array of 9 numbers, or undefined if not available\n   */\n  public getTransform(): Transform | undefined {\n    if (!this._dotLottieCore) return undefined;\n\n    const arr = this._dotLottieCore.get_transform();\n\n    return Array.from(arr) as Transform;\n  }\n\n  /**\n   * Sets a frame range to play instead of the full animation.\n   * Useful for playing specific sections or creating animation sequences from subsections.\n   * @param startFrame - Starting frame number (inclusive)\n   * @param endFrame - Ending frame number (inclusive)\n   */\n  public setSegment(startFrame: number, endFrame: number): void {\n    if (this._dotLottieCore === null) return;\n\n    this._segment = [startFrame, endFrame];\n    this._dotLottieCore.set_segment(startFrame, endFrame);\n  }\n\n  /**\n   * Clears the user-defined segment, restoring playback to the full animation range [0, totalFrames - 1].\n   */\n  public resetSegment(): void {\n    if (this._dotLottieCore === null) return;\n\n    this._segment = null;\n    this._dotLottieCore.clear_segment();\n  }\n\n  /**\n   * Changes the playback direction mode.\n   * Controls whether animation plays forward, in reverse, or alternates (bounce).\n   * @param mode - Playback mode: 'forward', 'reverse', 'bounce', or 'reverse-bounce'\n   */\n  public setMode(mode: Mode): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_mode(modeToCore(mode));\n  }\n\n  /**\n   * Updates rendering configuration like autoResize, devicePixelRatio, and freezeOnOffscreen.\n   * Dynamically changes how the canvas behaves without reloading the animation.\n   * @param config - Partial RenderConfig with properties to update\n   */\n  public setRenderConfig(config: RenderConfig): void {\n    const { devicePixelRatio, freezeOnOffscreen, quality, ...restConfig } = config;\n\n    this._renderConfig = {\n      ...this._renderConfig,\n      ...restConfig,\n      // devicePixelRatio is a special case, it should be set to the default value if it's not provided\n      devicePixelRatio: devicePixelRatio || getDefaultDPR(),\n      freezeOnOffscreen: freezeOnOffscreen ?? true,\n      ...(quality !== undefined \u0026\u0026 { quality }),\n    };\n\n    if (quality !== undefined \u0026\u0026 this._dotLottieCore) {\n      this._dotLottieCore.set_quality(quality);\n    }\n\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      if (this._renderConfig.autoResize) {\n        CanvasResizeObserver.observe(this._canvas, this);\n      } else {\n        CanvasResizeObserver.unobserve(this._canvas);\n      }\n\n      if (this._renderConfig.freezeOnOffscreen) {\n        OffscreenObserver.observe(this._canvas, this);\n\n        // Check if canvas is currently offscreen and freeze if necessary\n        if (!isElementInViewport(this._canvas)) {\n          this.freeze();\n        }\n      } else {\n        OffscreenObserver.unobserve(this._canvas);\n        // If the animation was previously frozen, we need to unfreeze it now\n        // to ensure it resumes rendering when the canvas is back onscreen.\n        if (this._isFrozen) {\n          this.unfreeze();\n        }\n      }\n    }\n  }\n\n  /**\n   * Switches to a different animation within a multi-animation dotLottie file.\n   * Use this to load a different animation by its ID without creating a new player instance.\n   * @param animationId - ID of the animation to load (must exist in the manifest)\n   */\n  public loadAnimation(animationId: string): void {\n    if (this._dotLottieCore === null || this._dotLottieCore.animation_id() === animationId || !this._canvas) return;\n\n    this._setupTarget(this._canvas.width, this._canvas.height);\n    const loaded = this._dotLottieCore.load_animation_from_id(animationId);\n\n    if (loaded) {\n      if (this._renderConfig.quality !== undefined) {\n        this._dotLottieCore.set_quality(this._renderConfig.quality);\n      }\n      this.resize();\n      this._drainPlayerEvents();\n\n      this._dotLottieCore.render();\n      this._draw();\n    } else {\n      this._dispatchError(`Failed to load animation with id: ${animationId}`);\n    }\n  }\n\n  /**\n   * Activates a named marker to play only that marked segment.\n   * Markers define named sections within an animation. Use markers() to list available markers.\n   * @param marker - Name of the marker to activate\n   */\n  public setMarker(marker: string): void {\n    if (this._dotLottieCore === null) return;\n\n    const validMarkers = this.markers();\n    const exists = validMarkers.some((m) =\u003e m.name === marker);\n\n    if (exists) {\n      this._marker = marker;\n      this._dotLottieCore.set_marker(marker);\n    } else {\n      this._marker = '';\n      this._segment = null;\n      this._dotLottieCore.clear_marker();\n      this._dotLottieCore.clear_segment();\n    }\n  }\n\n  /**\n   * Gets all markers defined in the animation with their time and duration.\n   * Markers represent named sections that can be played using setMarker().\n   * @returns Array of marker objects with name, time, and duration properties\n   */\n  public markers(): Marker[] {\n    const markers = this._dotLottieCore?.markers();\n\n    if (markers \u0026\u0026 Array.isArray(markers)) {\n      return markers as Marker[];\n    }\n\n    return [];\n  }\n\n  /**\n   * Applies a theme to the animation, modifying colors and visual properties.\n   * Themes are predefined in the dotLottie manifest. Returns true if theme was successfully loaded.\n   * @param themeId - ID of the theme to apply (must exist in manifest)\n   * @returns True if theme loaded successfully, false otherwise\n   */\n  public setTheme(themeId: string): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const themeLoaded = this._dotLottieCore.set_theme(themeId);\n\n    if (themeLoaded) {\n      this._dotLottieCore.render();\n      this._draw();\n    }\n\n    return themeLoaded;\n  }\n\n  /**\n   * Removes the currently applied theme and restores original animation colors.\n   * Use this to revert to the default appearance after applying a theme.\n   * @returns True if theme was reset successfully, false otherwise\n   */\n  public resetTheme(): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const themeReset = this._dotLottieCore.reset_theme();\n\n    if (themeReset) {\n      this._dotLottieCore.render();\n      this._draw();\n    }\n\n    return themeReset;\n  }\n\n  /**\n   * Applies a custom theme from theme data instead of manifest theme ID.\n   * Useful for dynamically generated or user-created themes not in the manifest.\n   *\n   * @param themeData - Theme data as a JSON string or a structured Theme object\n   * @returns True if theme loaded successfully, false otherwise\n   */\n  public setThemeData(themeData: Theme | string): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const themeDataString = typeof themeData === 'string' ? themeData : JSON.stringify(themeData);\n\n    const themeLoaded = this._dotLottieCore.set_theme_data(themeDataString);\n\n    if (themeLoaded) {\n      this._dotLottieCore.render();\n      this._draw();\n    }\n\n    return themeLoaded;\n  }\n\n  /**\n   * Sets multiple slot values at once for parameterized animations.\n   * Slots allow runtime customization of colors, text, images, or other properties.\n   * @param slots - Object mapping slot IDs to their values\n   */\n  public setSlots(slots: Record\u003cstring, unknown\u003e): void {\n    if (this._dotLottieCore === null) return;\n\n    if (this._dotLottieCore.set_slots_str(JSON.stringify(slots))) {\n      this._dotLottieCore.render();\n      this._draw();\n    }\n  }\n\n  // #region Typed Slot APIs\n\n  /**\n   * Check if value is an array of keyframes (has objects with 't' and 's' properties)\n   */\n  private _isKeyframeArray(value: unknown): boolean {\n    return (\n      Array.isArray(value) \u0026\u0026\n      value.length \u003e 0 \u0026\u0026\n      typeof value[0] === 'object' \u0026\u0026\n      value[0] !== null \u0026\u0026\n      't' in value[0] \u0026\u0026\n      's' in value[0]\n    );\n  }\n\n  /**\n   * Get all slot IDs in the animation\n   * @returns Array of slot ID strings\n   */\n  public getSlotIds(): string[] {\n    if (!this._dotLottieCore) return [];\n\n    const ids = this._dotLottieCore.get_slot_ids();\n\n    if (Array.isArray(ids)) {\n      return ids as string[];\n    }\n\n    return [];\n  }\n\n  /**\n   * Get the type of a slot\n   * @param slotId - The slot ID to query\n   * @returns The slot type ('color', 'gradient', 'text', 'scalar', 'vector', 'position', 'image') or undefined\n   */\n  public getSlotType(slotId: string): SlotType | undefined {\n    if (!this._dotLottieCore) return undefined;\n\n    const type = this._dotLottieCore.get_slot_type(slotId);\n\n    if (!type) return undefined;\n\n    return type as SlotType;\n  }\n\n  /**\n   * Get the current value of a slot\n   * @param slotId - The slot ID to query\n   * @returns The parsed slot value or undefined if not found\n   */\n  public getSlot(slotId: string): unknown {\n    if (!this._dotLottieCore) return undefined;\n\n    const slotStr = this._dotLottieCore.get_slot_str(slotId);\n\n    if (!slotStr) return undefined;\n\n    try {\n      return JSON.parse(slotStr);\n    } catch {\n      return undefined;\n    }\n  }\n\n  /**\n   * Get all slots as an object with slot IDs as keys\n   * @returns Object containing all slots, or empty object if not loaded\n   */\n  public getSlots(): Record\u003cstring, unknown\u003e {\n    if (!this._dotLottieCore) return {};\n\n    try {\n      return JSON.parse(this._dotLottieCore.get_slots_str());\n    } catch {\n      return {};\n    }\n  }\n\n  /**\n   * Set a color slot value\n   * @param slotId - The slot ID to set\n   * @param value - Static color [r, g, b, a] or array of keyframes\n   * @returns true if successful\n   */\n  public setColorSlot(slotId: string, value: ColorSlotValue): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const isAnimated = this._isKeyframeArray(value);\n    const slotJson = JSON.stringify({ a: isAnimated ? 1 : 0, k: value });\n\n    const result = this._dotLottieCore.set_slot_str(slotId, slotJson);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Set a scalar slot value (single number like rotation, opacity)\n   * @param slotId - The slot ID to set\n   * @param value - Static number or array of keyframes\n   * @returns true if successful\n   */\n  public setScalarSlot(slotId: string, value: ScalarSlotValue): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const isAnimated = typeof value !== 'number';\n    const slotJson = JSON.stringify({ a: isAnimated ? 1 : 0, k: value });\n\n    const result = this._dotLottieCore.set_slot_str(slotId, slotJson);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Set a vector slot value (2D or 3D point for position, scale, etc.)\n   * Handles both \"vector\" and \"position\" slot types\n   * @param slotId - The slot ID to set\n   * @param value - Static vector [x, y] or array of keyframes\n   * @returns true if successful\n   */\n  public setVectorSlot(slotId: string, value: VectorSlotValue): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const isAnimated = this._isKeyframeArray(value);\n    const slotJson = JSON.stringify({ a: isAnimated ? 1 : 0, k: value });\n\n    const result = this._dotLottieCore.set_slot_str(slotId, slotJson);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Set a gradient slot value\n   * @param slotId - The slot ID to set\n   * @param value - Static gradient or array of keyframes\n   * @param colorStopCount - Number of color stops\n   * @returns true if successful\n   */\n  public setGradientSlot(slotId: string, value: GradientSlotValue, colorStopCount: number): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const isAnimated = this._isKeyframeArray(value);\n    const slotJson = JSON.stringify({ k: { a: isAnimated ? 1 : 0, k: value }, p: colorStopCount });\n\n    const result = this._dotLottieCore.set_slot_str(slotId, slotJson);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Set a text slot value (always static - text documents don't support animation)\n   * Supports partial updates - only provided properties will be changed, others inherit from existing value\n   * @param slotId - The slot ID to set\n   * @param value - Text document properties (partial allowed)\n   * @returns true if successful\n   */\n  public setTextSlot(slotId: string, value: TextSlotValue): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const existingStr = this._dotLottieCore.get_slot_str(slotId);\n    let mergedTextDoc = value;\n\n    if (existingStr) {\n      const existingValue = JSON.parse(existingStr);\n\n      if (existingValue \u0026\u0026 'k' in existingValue \u0026\u0026 Array.isArray(existingValue.k)) {\n        const keyframe0 = existingValue.k[0] as Record\u003cstring, unknown\u003e;\n\n        if ('s' in keyframe0 \u0026\u0026 typeof keyframe0['s'] === 'object') {\n          mergedTextDoc = {\n            ...(keyframe0['s'] as Record\u003cstring, unknown\u003e),\n            ...value,\n          };\n        }\n      }\n    }\n\n    const slotJson = JSON.stringify({\n      a: 0,\n      k: [{ t: 0, s: mergedTextDoc }],\n    });\n\n    const result = this._dotLottieCore.set_slot_str(slotId, slotJson);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Reset a slot to its original value\n   * @param slotId - The slot ID to reset\n   * @returns true if successful\n   */\n  public resetSlot(slotId: string): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const result = this._dotLottieCore.reset_slot(slotId);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Clear a slot's custom value\n   * @param slotId - The slot ID to clear\n   * @returns true if successful\n   */\n  public clearSlot(slotId: string): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const result = this._dotLottieCore.clear_slot(slotId);\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Reset all slots to their original values\n   * @returns true if successful\n   */\n  public resetSlots(): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const result = this._dotLottieCore.reset_slots();\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  /**\n   * Clear all slot custom values\n   * @returns true if successful\n   */\n  public clearSlots(): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const result = this._dotLottieCore.clear_slots();\n\n    this._dotLottieCore.render();\n    this._draw();\n\n    return result;\n  }\n\n  // #endregion\n\n  /**\n   * Updates the layout configuration for positioning and scaling the animation.\n   * Changes how the animation fits and aligns within the canvas without requiring a reload.\n   * @param layout - New layout configuration with fit mode and alignment values\n   */\n  public setLayout(layout: Layout): void {\n    if (this._dotLottieCore === null) return;\n\n    this._dotLottieCore.set_layout(layout.fit ?? 'contain', layout.align?.[0] ?? 0.5, layout.align?.[1] ?? 0.5);\n  }\n\n  /**\n   * Sets a custom viewport region for rendering a portion of the animation.\n   * Defines a rectangular area to render, useful for implementing animation clipping or panning effects.\n   * @param x - X coordinate of the viewport's top-left corner\n   * @param y - Y coordinate of the viewport's top-left corner\n   * @param width - Width of the viewport in pixels\n   * @param height - Height of the viewport in pixels\n   * @returns True if viewport was set successfully, false otherwise\n   */\n  public setViewport(x: number, y: number, width: number, height: number): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    return this._dotLottieCore.set_viewport(x, y, width, height);\n  }\n\n  /**\n   * Configures the URL for loading the WASM module.\n   * Call this before creating any player instances to load the WASM from a custom CDN or local path.\n   * @param url - URL pointing to the dotlottie WASM file\n   */\n  public static setWasmUrl(url: string): void {\n    dotLottieWasmLoader.setWasmUrl(url);\n  }\n\n  /**\n   * @experimental\n   * Register a custom font for use in animations\n   * @param fontName - The name of the font to register\n   * @param fontSource - Either a URL string to fetch the font, or ArrayBuffer/Uint8Array of font data\n   * @returns Promise\u003cboolean\u003e - true if registration succeeded, false otherwise\n   */\n  public static async registerFont(fontName: string, fontSource: string | ArrayBuffer | Uint8Array): Promise\u003cboolean\u003e {\n    try {\n      await dotLottieWasmLoader.load();\n\n      let fontData: Uint8Array;\n\n      if (typeof fontSource === 'string') {\n        const response = await fetch(fontSource);\n\n        if (!response.ok) {\n          console.error(`Failed to fetch font from URL: ${fontSource}. Status: ${response.status}`);\n\n          return false;\n        }\n        fontData = new Uint8Array(await response.arrayBuffer());\n      } else if (fontSource instanceof Uint8Array) {\n        fontData = fontSource;\n      } else {\n        fontData = new Uint8Array(fontSource);\n      }\n\n      const success = register_font(fontName, fontData);\n\n      if (!success) {\n        console.error(`Failed to register font \"${fontName}\". Font data may be invalid.`);\n      }\n\n      return success;\n    } catch (error) {\n      console.error(`Error registering font \"${fontName}\":`, error);\n\n      return false;\n    }\n  }\n\n  /**\n   * Gets the original dimensions of the animation as defined in the source file.\n   * Returns width and height in pixels representing the animation's intrinsic size.\n   * @returns Object with width and height properties in pixels\n   */\n  public animationSize(): { height: number; width: number } {\n    const size = this._dotLottieCore?.animation_size();\n\n    return {\n      width: size?.[0] ?? 0,\n      height: size?.[1] ?? 0,\n    };\n  }\n\n  // #region State Machine\n\n  /**\n   * @experimental\n   * Loads a state machine by its ID from the dotLottie manifest.\n   * State machines enable interactive, event-driven animation behaviors.\n   * @param stateMachineId - The ID of the state machine to load (must exist in manifest)\n   * @returns True if the state machine was loaded successfully, false otherwise\n   */\n  public stateMachineLoad(stateMachineId: string): boolean {\n    if (!this._dotLottieCore) return false;\n\n    return this._dotLottieCore.state_machine_load_from_id(stateMachineId);\n  }\n\n  /**\n   * @experimental\n   * Load a state machine from data string\n   * @param stateMachineData - The state machine data as a string\n   * @returns true if the state machine was loaded successfully\n   */\n  public stateMachineLoadData(stateMachineData: string): boolean {\n    if (!this._dotLottieCore) return false;\n\n    return this._dotLottieCore.state_machine_load(stateMachineData);\n  }\n\n  /**\n   * @experimental\n   * Set the state machine config\n   * @param config - The state machine config\n   */\n  public stateMachineSetConfig(config: StateMachineConfig | null): void {\n    this._stateMachineConfig = config;\n  }\n\n  /**\n   * @experimental\n   * Start the state machine\n   * @returns true if the state machine was started successfully\n   */\n  public stateMachineStart(): boolean {\n    if (this._dotLottieCore === null) return false;\n\n    const started = this._dotLottieCore.sm_start(\n      this._stateMachineConfig?.openUrlPolicy?.requireUserInteraction ?? true,\n      (this._stateMachineConfig?.openUrlPolicy?.whitelist ?? []) as unknown[],\n    );\n\n    this._drainSmEvents();\n\n    if (started) {\n      this._isStateMachineRunning = true;\n      this._setupStateMachineListeners();\n      this._startAnimationLoop();\n    }\n\n    return started;\n  }\n\n  /**\n   * @experimental\n   * Stop the state machine\n   * @returns true if the state machine was stopped successfully\n   */\n  public stateMachineStop(): boolean {\n    if (!this._dotLottieCore) return false;\n\n    const stopped = this._dotLottieCore.sm_stop();\n\n    this._drainSmEvents();\n\n    if (stopped) {\n      this._isStateMachineRunning = false;\n      this._cleanupStateMachineListeners();\n\n      // Stop animation loop if animation is not playing\n      if (!this._dotLottieCore.is_playing()) {\n        this._stopAnimationLoop();\n      }\n    }\n\n    return stopped;\n  }\n\n  /**\n   * @experimental\n   * Get the current status of the state machine\n   * @returns The current status of the state machine as a string\n   */\n  public stateMachineGetStatus(): string {\n    return this._dotLottieCore?.sm_status() ?? '';\n  }\n\n  /**\n   * @experimental\n   * Get the current state of the state machine\n   * @returns The current state of the state machine as a string\n   */\n  public stateMachineGetCurrentState(): string {\n    return this._dotLottieCore?.sm_current_state() ?? '';\n  }\n\n  /**\n   * @experimental\n   * Get the active state machine ID\n   * @returns The active state machine ID as a string\n   */\n  public stateMachineGetActiveId(): string {\n    return this._dotLottieCore?.state_machine_id() ?? '';\n  }\n\n  /**\n   * @experimental\n   * Override the current state of the state machine\n   * @param state - The state to override to\n   * @param immediate - Whether to immediately transition to the state\n   * @returns true if the state override was successful\n   */\n  public stateMachineOverrideState(state: string, immediate: boolean = false): boolean {\n    return this._dotLottieCore?.sm_override_current_state(state, immediate) ?? false;\n  }\n\n  /**\n   * @experimental\n   * Get a specific state machine by ID\n   * @param stateMachineId - The ID of the state machine to get\n   * @returns The state machine data as a string\n   */\n  public stateMachineGet(stateMachineId: string): string {\n    return this._dotLottieCore?.get_state_machine(stateMachineId) ?? '';\n  }\n\n  /**\n   * @experimental\n   * Get the list of state machine listeners\n   * @returns Array of listener names\n   */\n  public stateMachineGetListeners(): string[] {\n    if (!this._dotLottieCore) return [];\n\n    const listeners = this._dotLottieCore.sm_framework_setup();\n\n    if (Array.isArray(listeners)) {\n      return listeners as string[];\n    }\n\n    return [];\n  }\n\n  /**\n   * @experimental\n   * Set a boolean input value for the state machine\n   * @param name - The name of the boolean input\n   * @param value - The boolean value to set\n   */\n  public stateMachineSetBooleanInput(name: string, value: boolean): boolean {\n    return this._dotLottieCore?.sm_set_boolean_input(name, value) ?? false;\n  }\n\n  /**\n   * @experimental\n   * Set a numeric input value for the state machine\n   * @param name - The name of the numeric input\n   * @param value - The numeric value to set\n   */\n  public stateMachineSetNumericInput(name: string, value: number): boolean {\n    return this._dotLottieCore?.sm_set_numeric_input(name, value) ?? false;\n  }\n\n  /**\n   * @experimental\n   * Set a string input value for the state machine\n   * @param name - The name of the string input\n   * @param value - The string value to set\n   */\n  public stateMachineSetStringInput(name: string, value: string): boolean {\n    return this._dotLottieCore?.sm_set_string_input(name, value) ?? false;\n  }\n\n  /**\n   * @experimental\n   * Get a boolean input value from the state machine\n   * @param name - The name of the boolean input\n   * @returns The boolean value or undefined if not found\n   */\n  public stateMachineGetBooleanInput(name: string): boolean | undefined {\n    return this._dotLottieCore?.sm_get_boolean_input(name) ?? undefined;\n  }\n\n  /**\n   * @experimental\n   * Get a numeric input value from the state machine\n   * @param name - The name of the numeric input\n   * @returns The numeric value or undefined if not found\n   */\n  public stateMachineGetNumericInput(name: string): number | undefined {\n    return this._dotLottieCore?.sm_get_numeric_input(name) ?? undefined;\n  }\n\n  /**\n   * @experimental\n   * Get a string input value from the state machine\n   * @param name - The name of the string input\n   * @returns The string value or undefined if not found\n   */\n  public stateMachineGetStringInput(name: string): string | undefined {\n    return this._dotLottieCore?.sm_get_string_input(name) ?? undefined;\n  }\n\n  /**\n   * @experimental\n   * Get all the inputs of the current state machine.\n   * @returns An array of input keys followed by its type at n+1.\n   */\n  public stateMachineGetInputs(): string[] {\n    if (!this._dotLottieCore) return [];\n\n    const inputs = this._dotLottieCore.sm_get_inputs();\n\n    if (Array.isArray(inputs)) {\n      return inputs as string[];\n    }\n\n    return [];\n  }\n\n  /**\n   * @experimental\n   * Fire an event in the state machine\n   * @param name - The name of the event to fire\n   */\n  public stateMachineFireEvent(name: string): void {\n    this._dotLottieCore?.sm_fire(name);\n  }\n\n  /**\n   * @experimental\n   * Post a click event to the state machine\n   * @param x - The x coordinate of the click\n   * @param y - The y coordinate of the click\n   */\n  public stateMachinePostClickEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_click(x, y);\n  }\n\n  /**\n   * @experimental\n   * Post a pointer up event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   */\n  public stateMachinePostPointerUpEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_pointer_up(x, y);\n  }\n\n  /**\n   * @experimental\n   * Post a pointer down event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   */\n  public stateMachinePostPointerDownEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_pointer_down(x, y);\n  }\n\n  /**\n   * @experimental\n   * Post a pointer move event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   */\n  public stateMachinePostPointerMoveEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_pointer_move(x, y);\n  }\n\n  /**\n   * @experimental\n   * Post a pointer enter event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   */\n  public stateMachinePostPointerEnterEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_pointer_enter(x, y);\n  }\n\n  /**\n   * @experimental\n   * Post a pointer exit event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   */\n  public stateMachinePostPointerExitEvent(x: number, y: number): void {\n    this._dotLottieCore?.sm_post_pointer_exit(x, y);\n  }\n\n  private _onClick(event: MouseEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostClickEvent(position.x, position.y);\n    }\n  }\n\n  private _onPointerUp(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostPointerUpEvent(position.x, position.y);\n    }\n  }\n\n  private _onPointerDown(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostPointerDownEvent(position.x, position.y);\n    }\n  }\n\n  private _onPointerMove(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostPointerMoveEvent(position.x, position.y);\n    }\n  }\n\n  private _onPointerEnter(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostPointerEnterEvent(position.x, position.y);\n    }\n  }\n\n  private _onPointerLeave(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this.stateMachinePostPointerExitEvent(position.x, position.y);\n    }\n  }\n\n  private _setupStateMachineListeners(): void {\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement \u0026\u0026 this._dotLottieCore !== null \u0026\u0026 this.isLoaded) {\n      const listeners = this.stateMachineGetListeners();\n\n      // Clean up any existing listeners first\n      this._cleanupStateMachineListeners();\n\n      if (listeners.includes('Click')) {\n        this._boundOnClick = this._onClick.bind(this);\n        this._canvas.addEventListener('click', this._boundOnClick);\n      }\n      if (listeners.includes('PointerUp')) {\n        this._boundOnPointerUp = this._onPointerUp.bind(this);\n        this._canvas.addEventListener('pointerup', this._boundOnPointerUp);\n      }\n      if (listeners.includes('PointerDown')) {\n        this._boundOnPointerDown = this._onPointerDown.bind(this);\n        this._canvas.addEventListener('pointerdown', this._boundOnPointerDown);\n      }\n      if (listeners.includes('PointerMove')) {\n        this._boundOnPointerMove = this._onPointerMove.bind(this);\n        this._canvas.addEventListener('pointermove', this._boundOnPointerMove);\n      }\n      if (listeners.includes('PointerEnter')) {\n        this._boundOnPointerEnter = this._onPointerEnter.bind(this);\n        this._canvas.addEventListener('pointerenter', this._boundOnPointerEnter);\n      }\n      if (listeners.includes('PointerExit')) {\n        this._boundOnPointerLeave = this._onPointerLeave.bind(this);\n        this._canvas.addEventListener('pointerleave', this._boundOnPointerLeave);\n      }\n    }\n  }\n\n  private _cleanupStateMachineListeners(): void {\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      if (this._boundOnClick) {\n        this._canvas.removeEventListener('click', this._boundOnClick);\n        this._boundOnClick = null;\n      }\n      if (this._boundOnPointerUp) {\n        this._canvas.removeEventListener('pointerup', this._boundOnPointerUp);\n        this._boundOnPointerUp = null;\n      }\n      if (this._boundOnPointerDown) {\n        this._canvas.removeEventListener('pointerdown', this._boundOnPointerDown);\n        this._boundOnPointerDown = null;\n      }\n      if (this._boundOnPointerMove) {\n        this._canvas.removeEventListener('pointermove', this._boundOnPointerMove);\n        this._boundOnPointerMove = null;\n      }\n      if (this._boundOnPointerEnter) {\n        this._canvas.removeEventListener('pointerenter', this._boundOnPointerEnter);\n        this._boundOnPointerEnter = null;\n      }\n      if (this._boundOnPointerLeave) {\n        this._canvas.removeEventListener('pointerleave', this._boundOnPointerLeave);\n        this._boundOnPointerLeave = null;\n      }\n    }\n  }\n  // #endregion\n}\n","// resolved to a Worker constructor by plugin-inline-worker\nimport DotLottieWebWorker from './dotlottie.worker?worker\u0026inline';\nimport type { MethodParamsMap, RpcRequest } from './types';\n\ntype WorkerMessageHandler = (event: MessageEvent) =\u003e void;\n\nexport class WorkerManager {\n  private readonly _workers = new Map\u003cstring, Worker\u003e();\n\n  private readonly _animationWorkerMap = new Map\u003cstring, string\u003e();\n\n  // instanceId → handler for broadcast events from the worker (id is empty string)\n  private readonly _eventHandlers = new Map\u003cstring, WorkerMessageHandler\u003e();\n\n  // RPC request id → handler for the matching reply\n  private readonly _rpcHandlers = new Map\u003cstring, WorkerMessageHandler\u003e();\n\n  public getWorker(workerId: string): Worker {\n    let worker = this._workers.get(workerId);\n\n    if (!worker) {\n      worker = new DotLottieWebWorker();\n      worker.addEventListener('message', this._routeMessage);\n      this._workers.set(workerId, worker);\n    }\n\n    return worker;\n  }\n\n  public assignAnimationToWorker(animationId: string, workerId: string): void {\n    this._animationWorkerMap.set(animationId, workerId);\n  }\n\n  public unassignAnimationFromWorker(animationId: string): void {\n    this._animationWorkerMap.delete(animationId);\n  }\n\n  public sendMessage(workerId: string, message: RpcRequest\u003ckeyof MethodParamsMap\u003e, transfer?: Transferable[]): void {\n    this.getWorker(workerId).postMessage(message, transfer || []);\n  }\n\n  public broadcastMessage(message: RpcRequest\u003ckeyof MethodParamsMap\u003e, transfer?: Transferable[]): void {\n    this._workers.forEach((worker) =\u003e {\n      worker.postMessage(message, transfer || []);\n    });\n  }\n\n  public terminateWorker(workerId: string): void {\n    const worker = this._workers.get(workerId);\n\n    if (worker) {\n      worker.removeEventListener('message', this._routeMessage);\n      worker.terminate();\n      this._workers.delete(workerId);\n    }\n  }\n\n  public registerEventHandler(instanceId: string, handler: WorkerMessageHandler): void {\n    this._eventHandlers.set(instanceId, handler);\n  }\n\n  public unregisterEventHandler(instanceId: string): void {\n    this._eventHandlers.delete(instanceId);\n  }\n\n  public registerRpcReplyHandler(requestId: string, handler: WorkerMessageHandler): void {\n    this._rpcHandlers.set(requestId, handler);\n  }\n\n  public unregisterRpcReplyHandler(requestId: string): void {\n    this._rpcHandlers.delete(requestId);\n  }\n\n  /*\n    Single per-worker listener that routes each message to the right consumer.\n    Replies have a non-empty `id` matching an in-flight RPC; broadcast events\n    use an empty `id` and carry `result.instanceId` for routing.\n  */\n  private readonly _routeMessage = (event: MessageEvent): void =\u003e {\n    const data = event.data as { id?: string; result?: { instanceId?: string } };\n\n    if (data.id) {\n      const handler = this._rpcHandlers.get(data.id);\n\n      if (handler) handler(event);\n\n      return;\n    }\n\n    const instanceId = data.result?.instanceId;\n\n    if (instanceId) {\n      const handler = this._eventHandlers.get(instanceId);\n\n      if (handler) handler(event);\n    }\n  };\n}\n","import { IS_BROWSER } from '../constants';\nimport type { EventListener, EventType, FrameEvent, StateMachineInternalMessage } from '../event-manager';\nimport { EventManager } from '../event-manager';\nimport { OffscreenObserver } from '../offscreen-observer';\nimport { CanvasResizeObserver } from '../resize-observer';\nimport type {\n  ColorSlotValue,\n  Config,\n  GradientSlotValue,\n  Layout,\n  Manifest,\n  Marker,\n  Mode,\n  RenderConfig,\n  ScalarSlotValue,\n  SlotType,\n  StateMachineConfig,\n  TextSlotValue,\n  Transform,\n  VectorSlotValue,\n} from '../types';\nimport { getDefaultDPR, getPointerPosition, handleOpenUrl, isElementInViewport } from '../utils';\n\nimport type { MethodParamsMap, MethodResultMap, RpcRequest, RpcResponse } from './types';\nimport { WorkerManager } from './worker-manager';\n\nfunction getCanvasSize(\n  canvas: HTMLCanvasElement | OffscreenCanvas,\n  devicePixelRatio: number,\n): { height: number; width: number } {\n  if (typeof HTMLCanvasElement !== 'undefined' \u0026\u0026 canvas instanceof HTMLCanvasElement) {\n    const { height: clientHeight, width: clientWidth } = canvas.getBoundingClientRect();\n\n    if (clientHeight !== 0 \u0026\u0026 clientWidth !== 0) {\n      return { width: clientWidth * devicePixelRatio, height: clientHeight * devicePixelRatio };\n    }\n  }\n\n  return { width: canvas.width, height: canvas.height };\n}\n\nfunction generateUniqueId(): string {\n  return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);\n}\n\nexport interface DotLottieInstanceState {\n  activeAnimationId: string | undefined;\n  activeThemeId: string | undefined;\n  autoplay: boolean;\n  backgroundColor: string;\n  currentFrame: number;\n  duration: number;\n  isFrozen: boolean;\n  isLoaded: boolean;\n  isPaused: boolean;\n  isPlaying: boolean;\n  isReady: boolean;\n  isStopped: boolean;\n  layout: Layout | undefined;\n  loop: boolean;\n  loopCount: number;\n  manifest: Manifest | null;\n  marker: string | undefined;\n  markers: Marker[];\n  mode: Mode;\n  renderConfig: RenderConfig;\n  segment: [number, number] | undefined;\n  speed: number;\n  totalFrames: number;\n  useFrameInterpolation: boolean;\n}\n\n/**\n * Worker-based DotLottie player that offloads animation processing to a Web Worker thread.\n * Use this for better performance when rendering multiple animations or to keep the main thread responsive.\n * All methods are async (return Promises) due to worker communication. Requires HTMLCanvasElement or OffscreenCanvas.\n */\nexport class DotLottieWorker {\n  private static readonly _workerManager = new WorkerManager();\n\n  private readonly _eventManager = new EventManager();\n\n  private readonly _id: string;\n\n  private readonly _worker: Worker;\n\n  private _canvas: HTMLCanvasElement | OffscreenCanvas | null;\n\n  private _dotLottieInstanceState: DotLottieInstanceState = {\n    loopCount: 0,\n    markers: [],\n    autoplay: false,\n    backgroundColor: '',\n    currentFrame: 0,\n    duration: 0,\n    loop: false,\n    mode: 'forward',\n    segment: [0, 0],\n    speed: 1,\n    totalFrames: 0,\n    isLoaded: false,\n    isPlaying: false,\n    isPaused: false,\n    isStopped: true,\n    isFrozen: false,\n    useFrameInterpolation: false,\n    renderConfig: {\n      devicePixelRatio: getDefaultDPR(),\n    },\n    activeAnimationId: '',\n    activeThemeId: '',\n    layout: undefined,\n    marker: '',\n    isReady: false,\n    manifest: null,\n  };\n\n  private static _wasmUrl: string = '';\n\n  private _created: boolean = false;\n\n  // Bound event listeners for state machine\n  private _boundOnClick: ((event: MouseEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerUp: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerDown: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerMove: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerEnter: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _boundOnPointerLeave: ((event: PointerEvent) =\u003e void) | null = null;\n\n  private _pendingConfig: Config | null = null;\n\n  /**\n   * Creates a worker-based DotLottie player instance that runs in a separate thread.\n   * Use workerId to share a worker across multiple animations for better resource management.\n   * @param config - Configuration with optional workerId to share worker threads\n   * @throws Error if canvas is not HTMLCanvasElement or OffscreenCanvas\n   */\n  public constructor(config: Config \u0026 { workerId?: string }) {\n    if (config.canvas) {\n      const isHTMLCanvas = typeof HTMLCanvasElement !== 'undefined' \u0026\u0026 config.canvas instanceof HTMLCanvasElement;\n      const isOffscreenCanvas = typeof OffscreenCanvas !== 'undefined' \u0026\u0026 config.canvas instanceof OffscreenCanvas;\n\n      if (!isHTMLCanvas \u0026\u0026 !isOffscreenCanvas) {\n        throw new Error('Worker-based DotLottie requires HTMLCanvasElement or OffscreenCanvas');\n      }\n    }\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n    this._canvas = (config.canvas as HTMLCanvasElement | OffscreenCanvas) ?? null;\n\n    this._id = `dotlottie-${generateUniqueId()}`;\n    const workerId = config.workerId || 'defaultWorker';\n\n    // creates or gets the worker\n    this._worker = DotLottieWorker._workerManager.getWorker(workerId);\n\n    DotLottieWorker._workerManager.assignAnimationToWorker(this._id, workerId);\n\n    if (DotLottieWorker._wasmUrl) {\n      this._sendMessage('setWasmUrl', { url: DotLottieWorker._wasmUrl });\n    }\n\n    const fullConfig = {\n      ...config,\n      renderConfig: {\n        ...config.renderConfig,\n        devicePixelRatio: config.renderConfig?.devicePixelRatio || getDefaultDPR(),\n        // freezeOnOffscreen is true by default to prevent unnecessary rendering when the canvas is offscreen\n        freezeOnOffscreen: config.renderConfig?.freezeOnOffscreen ?? true,\n      },\n    };\n\n    this._pendingConfig = fullConfig;\n\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n    if (this._canvas) {\n      this._create(fullConfig);\n      this._pendingConfig = null;\n    }\n\n    DotLottieWorker._workerManager.registerEventHandler(\n      this._id,\n      // eslint-disable-next-line @typescript-eslint/no-misused-promises\n      this._handleWorkerEvent.bind(this),\n    );\n  }\n\n  private async _handleWorkerEvent(event: MessageEvent): Promise\u003cvoid\u003e {\n    const rpcResponse: RpcResponse\u003c\n      | 'onComplete'\n      | 'onLoad'\n      | 'onDestroy'\n      | 'onUnfreeze'\n      | 'onFrame'\n      | 'onRender'\n      | 'onFreeze'\n      | 'onPause'\n      | 'onPlay'\n      | 'onStop'\n      | 'onLoadError'\n      | 'onRenderError'\n      | 'onReady'\n      | 'onLoop'\n      | 'onStateMachineStart'\n      | 'onStateMachineStop'\n      | 'onStateMachineTransition'\n      | 'onStateMachineStateEntered'\n      | 'onStateMachineStateExit'\n      | 'onStateMachineCustomEvent'\n      | 'onStateMachineError'\n      | 'onStateMachineBooleanInputValueChange'\n      // eslint-disable-next-line no-secrets/no-secrets\n      | 'onStateMachineNumericInputValueChange'\n      | 'onStateMachineStringInputValueChange'\n      | 'onStateMachineInputFired'\n      | 'onStateMachineInternalMessage'\n    \u003e = event.data;\n\n    if (!rpcResponse.id) {\n      if (rpcResponse.method === 'onLoad' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n\n        if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n          if (this._dotLottieInstanceState.renderConfig.freezeOnOffscreen) {\n            OffscreenObserver.observe(this._canvas, this);\n\n            // Check if canvas is initially offscreen and freeze if necessary\n            if (!isElementInViewport(this._canvas)) {\n              await this.freeze();\n            }\n          }\n\n          if (this._dotLottieInstanceState.renderConfig.autoResize) {\n            CanvasResizeObserver.observe(this._canvas, this);\n          }\n        }\n      }\n\n      if (rpcResponse.method === 'onComplete' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onDestroy' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onUnfreeze' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._dotLottieInstanceState.isFrozen = false;\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onFrame' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        this._dotLottieInstanceState.currentFrame = (rpcResponse.result.event as FrameEvent).currentFrame;\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onRender' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onFreeze' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onPause' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onPlay' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStop' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onLoadError' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onRenderError' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        // Dont update the instance, since the Core crashed its no long accessible. Calling _updateDotLottieInstanceState will cause it to hang indefinitely.\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onReady' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onLoop' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineStart' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._setupStateMachineListeners();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineStop' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._cleanupStateMachineListeners();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineTransition' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineStateEntered' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineStateExit' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineCustomEvent' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineError' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (\n        rpcResponse.method === 'onStateMachineBooleanInputValueChange' \u0026\u0026\n        rpcResponse.result.instanceId === this._id\n      ) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (\n        // eslint-disable-next-line no-secrets/no-secrets\n        rpcResponse.method === 'onStateMachineNumericInputValueChange' \u0026\u0026\n        rpcResponse.result.instanceId === this._id\n      ) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineStringInputValueChange' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineInputFired' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n        this._eventManager.dispatch(rpcResponse.result.event);\n      }\n\n      if (rpcResponse.method === 'onStateMachineInternalMessage' \u0026\u0026 rpcResponse.result.instanceId === this._id) {\n        await this._updateDotLottieInstanceState();\n\n        const internalEvent = rpcResponse.result.event as StateMachineInternalMessage;\n\n        if (internalEvent.message.startsWith('OpenUrl: ')) {\n          handleOpenUrl(internalEvent.message);\n        }\n      }\n    }\n  }\n\n  private async _create(config: Config): Promise\u003cvoid\u003e {\n    if (!this._canvas) {\n      return;\n    }\n\n    let offscreen: OffscreenCanvas;\n\n    if (this._canvas instanceof HTMLCanvasElement) {\n      offscreen = this._canvas.transferControlToOffscreen();\n    } else {\n      offscreen = this._canvas;\n    }\n\n    const { instanceId } = await this._sendMessage(\n      'create',\n      {\n        instanceId: this._id,\n        config: {\n          ...config,\n          canvas: offscreen as unknown as HTMLCanvasElement,\n        },\n        ...getCanvasSize(this._canvas, config.renderConfig?.devicePixelRatio || getDefaultDPR()),\n      },\n      [offscreen],\n    );\n\n    if (instanceId !== this._id) {\n      throw new Error('Instance ID mismatch');\n    }\n\n    this._created = true;\n\n    await this._updateDotLottieInstanceState();\n  }\n\n  public get loopCount(): number {\n    return this._dotLottieInstanceState.loopCount;\n  }\n\n  public get isLoaded(): boolean {\n    return this._dotLottieInstanceState.isLoaded;\n  }\n\n  public get isPlaying(): boolean {\n    return this._dotLottieInstanceState.isPlaying;\n  }\n\n  public get isPaused(): boolean {\n    return this._dotLottieInstanceState.isPaused;\n  }\n\n  public get isStopped(): boolean {\n    return this._dotLottieInstanceState.isStopped;\n  }\n\n  public get currentFrame(): number {\n    return this._dotLottieInstanceState.currentFrame;\n  }\n\n  public get isFrozen(): boolean {\n    return this._dotLottieInstanceState.isFrozen;\n  }\n\n  public get totalFrames(): number {\n    return this._dotLottieInstanceState.totalFrames;\n  }\n\n  public get segment(): [number, number] | undefined {\n    return this._dotLottieInstanceState.segment;\n  }\n\n  public get speed(): number {\n    return this._dotLottieInstanceState.speed;\n  }\n\n  public get duration(): number {\n    return this._dotLottieInstanceState.duration;\n  }\n\n  public get isReady(): boolean {\n    return this._dotLottieInstanceState.isReady;\n  }\n\n  public get mode(): Mode {\n    return this._dotLottieInstanceState.mode;\n  }\n\n  public get canvas(): HTMLCanvasElement | OffscreenCanvas | null {\n    return this._canvas;\n  }\n\n  /**\n   * Sets the canvas element for rendering in the worker thread.\n   * Cannot change canvas after worker instance is created with a different canvas.\n   * @param canvas - HTMLCanvasElement or OffscreenCanvas to render to\n   * @returns Promise that resolves when canvas has been set\n   * @throws Error if canvas is not HTMLCanvasElement or OffscreenCanvas\n   * @throws Error if trying to change canvas after instance is already created\n   */\n  public async setCanvas(canvas: HTMLCanvasElement | OffscreenCanvas): Promise\u003cvoid\u003e {\n    const isHTMLCanvas = typeof HTMLCanvasElement !== 'undefined' \u0026\u0026 canvas instanceof HTMLCanvasElement;\n    const isOffscreenCanvas = typeof OffscreenCanvas !== 'undefined' \u0026\u0026 canvas instanceof OffscreenCanvas;\n\n    if (!isHTMLCanvas \u0026\u0026 !isOffscreenCanvas) {\n      throw new Error('Worker-based DotLottie requires HTMLCanvasElement or OffscreenCanvas');\n    }\n\n    if (this._canvas === canvas) return;\n\n    if (this._created \u0026\u0026 this._canvas !== null) {\n      throw new Error('Cannot change canvas after worker instance is already created with a different canvas.');\n    }\n\n    this._canvas = canvas;\n\n    if (!this._created \u0026\u0026 this._pendingConfig) {\n      await this._create(this._pendingConfig);\n      this._pendingConfig = null;\n    }\n  }\n\n  public get autoplay(): boolean {\n    return this._dotLottieInstanceState.autoplay;\n  }\n\n  public get backgroundColor(): string {\n    return this._dotLottieInstanceState.backgroundColor;\n  }\n\n  public get loop(): boolean {\n    return this._dotLottieInstanceState.loop;\n  }\n\n  public get useFrameInterpolation(): boolean {\n    return this._dotLottieInstanceState.useFrameInterpolation;\n  }\n\n  public get renderConfig(): RenderConfig {\n    return this._dotLottieInstanceState.renderConfig;\n  }\n\n  public get manifest(): Manifest | null {\n    return this._dotLottieInstanceState.manifest;\n  }\n\n  public get activeAnimationId(): string | undefined {\n    return this._dotLottieInstanceState.activeAnimationId;\n  }\n\n  public get marker(): string | undefined {\n    return this._dotLottieInstanceState.marker;\n  }\n\n  public get activeThemeId(): string | undefined {\n    return this._dotLottieInstanceState.activeThemeId;\n  }\n\n  public get layout(): Layout | undefined {\n    return this._dotLottieInstanceState.layout;\n  }\n\n  /**\n   * Starts or resumes animation playback in the worker thread.\n   * Updates the internal playback state (e.g., isPlaying) to reflect that playback has started.\n   * @returns Promise that resolves when playback has started and state has been updated\n   */\n  public async play(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('play', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n\n    /*\n      Check if the canvas is offscreen and freezing is enabled\n      If freezeOnOffscreen is true and the canvas is currently outside the viewport,\n      we immediately freeze the animation to avoid unnecessary rendering and performance overhead.\n    */\n    if (\n      IS_BROWSER \u0026\u0026\n      this._canvas instanceof HTMLCanvasElement \u0026\u0026\n      this._dotLottieInstanceState.renderConfig.freezeOnOffscreen \u0026\u0026\n      !isElementInViewport(this._canvas)\n    ) {\n      await this.freeze();\n    }\n  }\n\n  /**\n   * Pauses animation playback in the worker thread.\n   * Awaits worker response before resolving. Updates isPaused state to true.\n   * @returns Promise that resolves when playback has paused\n   */\n  public async pause(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('pause', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  /**\n   * Stops animation playback and resets to start frame in the worker thread.\n   * Awaits worker response before resolving. Updates isStopped state to true.\n   * @returns Promise that resolves when playback has stopped\n   */\n  public async stop(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('stop', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  /**\n   * Changes the animation playback speed in the worker thread.\n   * Awaits worker response before resolving.\n   * @param speed - Playback speed multiplier (e.g., 2 for 2x speed, 0.5 for half speed)\n   * @returns Promise that resolves when speed has been updated\n   */\n  public async setSpeed(speed: number): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setSpeed', { instanceId: this._id, speed });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setMode(mode: Mode): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setMode', { instanceId: this._id, mode });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setFrame(frame: number): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setFrame', { frame, instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setSegment(start: number, end: number): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setSegment', { instanceId: this._id, segment: [start, end] });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async resetSegment(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('resetSegment', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setRenderConfig(renderConfig: RenderConfig): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    const { devicePixelRatio, freezeOnOffscreen, quality, ...restConfig } = renderConfig;\n\n    await this._sendMessage('setRenderConfig', {\n      instanceId: this._id,\n      renderConfig: {\n        ...this._dotLottieInstanceState.renderConfig,\n        ...restConfig,\n        // devicePixelRatio is a special case, it should be set to the default value if it's not provided\n        devicePixelRatio: devicePixelRatio || getDefaultDPR(),\n        freezeOnOffscreen: freezeOnOffscreen ?? true,\n        ...(quality !== undefined \u0026\u0026 { quality }),\n      },\n    });\n\n    await this._updateDotLottieInstanceState();\n\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      if (this._dotLottieInstanceState.renderConfig.autoResize) {\n        CanvasResizeObserver.observe(this._canvas, this);\n      } else {\n        CanvasResizeObserver.unobserve(this._canvas);\n      }\n\n      if (this._dotLottieInstanceState.renderConfig.freezeOnOffscreen) {\n        OffscreenObserver.observe(this._canvas, this);\n\n        // Check if canvas is currently offscreen and freeze if necessary\n        if (!isElementInViewport(this._canvas)) {\n          await this.freeze();\n        }\n      } else {\n        OffscreenObserver.unobserve(this._canvas);\n        // If the animation was previously frozen, we need to unfreeze it now\n        // to ensure it resumes rendering when the canvas is back onscreen.\n        if (this._dotLottieInstanceState.isFrozen) {\n          await this.unfreeze();\n        }\n      }\n    }\n  }\n\n  public async setUseFrameInterpolation(useFrameInterpolation: boolean): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setUseFrameInterpolation', { instanceId: this._id, useFrameInterpolation });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setTheme(themeId: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    const result = this._sendMessage('setTheme', { instanceId: this._id, themeId });\n\n    await this._updateDotLottieInstanceState();\n\n    return result;\n  }\n\n  /**\n   * Dynamically loads a new animation in the worker thread, replacing the current one.\n   * Awaits worker response before resolving. Stops current playback and cleans up resources.\n   * @param config - Configuration for the new animation (all Config properties except canvas)\n   * @returns Promise that resolves when animation has been loaded\n   */\n  public async load(config: Omit\u003cConfig, 'canvas'\u003e): Promise\u003cvoid\u003e {\n    if (!this._created) {\n      if (this._pendingConfig) {\n        this._pendingConfig = {\n          ...this._pendingConfig,\n          ...config,\n        };\n      }\n\n      return;\n    }\n\n    await this._sendMessage('load', { config, instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setLoop(loop: boolean): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setLoop', { instanceId: this._id, loop });\n    await this._updateDotLottieInstanceState();\n  }\n\n  /**\n   * Sets the number of additional times to replay the animation after the first play in the worker thread.\n   * Requires loop to be true. A value of 0 means infinite replays; a positive value n means\n   * the animation plays a total of n + 1 times (initial play + n replays).\n   * @param loopCount - Number of additional replays (0 = infinite, 1 = plays twice, 2 = plays three times, etc.)\n   * @returns Promise that resolves when loopCount has been updated\n   */\n  public async setLoopCount(loopCount: number): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setLoopCount', { instanceId: this._id, loopCount });\n    await this._updateDotLottieInstanceState();\n  }\n\n  /**\n   * Recalculates and updates canvas dimensions in the worker thread.\n   * Awaits worker response before resolving. Call when canvas container size changes.\n   * @returns Promise that resolves when resize has completed\n   */\n  public async resize(): Promise\u003cvoid\u003e {\n    if (!this._created || !this._canvas) return;\n\n    const { height, width } = getCanvasSize(\n      this._canvas,\n      this._dotLottieInstanceState.renderConfig.devicePixelRatio || getDefaultDPR(),\n    );\n\n    await this._sendMessage('resize', { height, instanceId: this._id, width });\n    await this._updateDotLottieInstanceState();\n  }\n\n  /**\n   * Cleans up and destroys the player instance in the worker thread, releasing resources.\n   * Awaits worker response before resolving. Stops playback and removes event listeners.\n   * @returns Promise that resolves when cleanup has completed\n   */\n  public async destroy(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    this._created = false;\n\n    await this._sendMessage('destroy', { instanceId: this._id });\n\n    this._cleanupStateMachineListeners();\n\n    DotLottieWorker._workerManager.unregisterEventHandler(this._id);\n    DotLottieWorker._workerManager.unassignAnimationFromWorker(this._id);\n    this._eventManager.removeAllEventListeners();\n\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      OffscreenObserver.unobserve(this._canvas);\n      CanvasResizeObserver.unobserve(this._canvas);\n    }\n  }\n\n  public async freeze(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('freeze', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async unfreeze(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('unfreeze', { instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setBackgroundColor(backgroundColor: string): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setBackgroundColor', { instanceId: this._id, backgroundColor });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async loadAnimation(animationId: string): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('loadAnimation', { animationId, instanceId: this._id });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setLayout(layout: Layout): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setLayout', { instanceId: this._id, layout });\n    await this._updateDotLottieInstanceState();\n  }\n\n  // #region Slots API\n\n  public async setSlots(slots: Record\u003cstring, unknown\u003e): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setSlots', { instanceId: this._id, slots });\n  }\n\n  public async getSlotIds(): Promise\u003cstring[]\u003e {\n    if (!this._created) return [];\n\n    return this._sendMessage('getSlotIds', { instanceId: this._id });\n  }\n\n  public async getSlotType(slotId: string): Promise\u003cSlotType | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('getSlotType', { instanceId: this._id, slotId });\n  }\n\n  public async getSlot(slotId: string): Promise\u003cunknown\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('getSlot', { instanceId: this._id, slotId });\n  }\n\n  public async getSlots(): Promise\u003cRecord\u003cstring, unknown\u003e\u003e {\n    if (!this._created) return {};\n\n    return this._sendMessage('getSlots', { instanceId: this._id });\n  }\n\n  public async setColorSlot(slotId: string, value: ColorSlotValue): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setColorSlot', { instanceId: this._id, slotId, value });\n  }\n\n  public async setScalarSlot(slotId: string, value: ScalarSlotValue): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setScalarSlot', { instanceId: this._id, slotId, value });\n  }\n\n  public async setVectorSlot(slotId: string, value: VectorSlotValue): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setVectorSlot', { instanceId: this._id, slotId, value });\n  }\n\n  public async setGradientSlot(slotId: string, value: GradientSlotValue, colorStopCount: number): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setGradientSlot', { instanceId: this._id, slotId, value, colorStopCount });\n  }\n\n  public async setTextSlot(slotId: string, value: TextSlotValue): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setTextSlot', { instanceId: this._id, slotId, value });\n  }\n\n  public async resetSlot(slotId: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('resetSlot', { instanceId: this._id, slotId });\n  }\n\n  public async clearSlot(slotId: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('clearSlot', { instanceId: this._id, slotId });\n  }\n\n  public async resetSlots(): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('resetSlots', { instanceId: this._id });\n  }\n\n  public async clearSlots(): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('clearSlots', { instanceId: this._id });\n  }\n\n  // #endregion\n\n  private async _updateDotLottieInstanceState(): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    const result = await this._sendMessage('getDotLottieInstanceState', { instanceId: this._id });\n\n    this._dotLottieInstanceState = result.state;\n  }\n\n  public markers(): Marker[] {\n    return this._dotLottieInstanceState.markers;\n  }\n\n  public async setMarker(marker: string): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    await this._sendMessage('setMarker', { instanceId: this._id, marker });\n    await this._updateDotLottieInstanceState();\n  }\n\n  public async setThemeData(themeData: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    const loaded = await this._sendMessage('setThemeData', { instanceId: this._id, themeData });\n\n    await this._updateDotLottieInstanceState();\n\n    return loaded;\n  }\n\n  public async setViewport(x: number, y: number, width: number, height: number): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setViewport', { x, y, width, height, instanceId: this._id });\n  }\n\n  public async animationSize(): Promise\u003c{ height: number; width: number }\u003e {\n    if (!this._created) return { height: 0, width: 0 };\n\n    return this._sendMessage('animationSize', { instanceId: this._id });\n  }\n\n  public async setTransform(transform: Transform): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('setTransform', { instanceId: this._id, transform });\n  }\n\n  public async getTransform(): Promise\u003cTransform | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('getTransform', { instanceId: this._id });\n  }\n\n  private async _sendMessage\u003cT extends keyof MethodParamsMap\u003e(\n    method: T,\n    params: MethodParamsMap[T],\n    transfer?: Transferable[],\n  ): Promise\u003cMethodResultMap[T]\u003e {\n    const rpcRequest: RpcRequest\u003cT\u003e = {\n      id: `dotlottie-request-${generateUniqueId()}`,\n      method,\n      params,\n    };\n\n    return new Promise((resolve, reject) =\u003e {\n      DotLottieWorker._workerManager.registerRpcReplyHandler(rpcRequest.id, (event: MessageEvent) =\u003e {\n        DotLottieWorker._workerManager.unregisterRpcReplyHandler(rpcRequest.id);\n\n        const rpcResponse: RpcResponse\u003cT\u003e = event.data;\n\n        if (rpcResponse.error) {\n          reject(new Error(`Failed to execute method ${method}: ${rpcResponse.error}`));\n        } else {\n          resolve(rpcResponse.result);\n        }\n      });\n\n      this._worker.postMessage(rpcRequest, transfer || []);\n    });\n  }\n\n  public addEventListener\u003cT extends EventType\u003e(type: T, listener: EventListener\u003cT\u003e): void {\n    this._eventManager.addEventListener(type, listener);\n  }\n\n  public removeEventListener\u003cT extends EventType\u003e(type: T, listener?: EventListener\u003cT\u003e): void {\n    this._eventManager.removeEventListener(type, listener);\n  }\n\n  public static setWasmUrl(url: string): void {\n    DotLottieWorker._wasmUrl = url;\n  }\n\n  /**\n   * @experimental\n   *\n   * Register a custom font for use in animations in worker contexts\n   * @param fontName - The name of the font to register\n   * @param fontSource - Either a URL string to fetch the font, or ArrayBuffer/Uint8Array of font data\n   * @returns Promise\u003cboolean\u003e - true if registration message was sent successfully\n   */\n  public static async registerFont(fontName: string, fontSource: string | ArrayBuffer | Uint8Array): Promise\u003cboolean\u003e {\n    try {\n      const id = generateUniqueId();\n\n      DotLottieWorker._workerManager.broadcastMessage({\n        id,\n        method: 'registerFont',\n        params: {\n          fontName,\n          fontSource,\n        },\n      });\n\n      // Note: we can't easily wait for responses from all workers in a broadcast,\n      // so we return true if the broadcast was sent successfully\n      return true;\n    } catch (error) {\n      console.error(`Error broadcasting registerFont for \"${fontName}\":`, error);\n\n      return false;\n    }\n  }\n\n  /**\n   * @experimental\n   * Load a state machine by ID\n   * @param stateMachineId - The ID of the state machine to load\n   * @returns true if the state machine was loaded successfully\n   */\n  public async stateMachineLoad(stateMachineId: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    const result = await this._sendMessage('stateMachineLoad', { instanceId: this._id, stateMachineId });\n\n    await this._updateDotLottieInstanceState();\n\n    return result;\n  }\n\n  /**\n   * @experimental\n   * Load a state machine from data string\n   * @param stateMachineData - The state machine data as a string\n   * @returns true if the state machine was loaded successfully\n   */\n  public async stateMachineLoadData(stateMachineData: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    const result = await this._sendMessage('stateMachineLoadData', { instanceId: this._id, stateMachineData });\n\n    await this._updateDotLottieInstanceState();\n\n    return result;\n  }\n\n  /**\n   * @experimental\n   * Start the state machine\n   * @returns true if the state machine was started successfully\n   */\n  public async stateMachineStart(): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    const started = await this._sendMessage('stateMachineStart', { instanceId: this._id });\n\n    if (started) {\n      this._setupStateMachineListeners();\n      await this._updateDotLottieInstanceState();\n    }\n\n    return started;\n  }\n\n  /**\n   * @experimental\n   * Stop the state machine\n   * @returns true if the state machine was stopped successfully\n   */\n  public async stateMachineStop(): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    this._cleanupStateMachineListeners();\n\n    return this._sendMessage('stateMachineStop', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Set a numeric input value for the state machine\n   * @param name - The name of the numeric input\n   * @param value - The numeric value to set\n   * @returns true if the input was set successfully\n   */\n  public async stateMachineSetNumericInput(name: string, value: number): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('stateMachineSetNumericInput', { instanceId: this._id, name, value });\n  }\n\n  /**\n   * @experimental\n   * Set a boolean input value for the state machine\n   * @param name - The name of the boolean input\n   * @param value - The boolean value to set\n   * @returns true if the input was set successfully\n   */\n  public async stateMachineSetBooleanInput(name: string, value: boolean): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('stateMachineSetBooleanInput', { instanceId: this._id, name, value });\n  }\n\n  /**\n   * @experimental\n   * Set the state machine config\n   * @param config - The state machine config\n   */\n  public async stateMachineSetConfig(config: StateMachineConfig | null): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    this._sendMessage('stateMachineSetConfig', { instanceId: this._id, config });\n  }\n\n  /**\n   * @experimental\n   * Set a string input value for the state machine\n   * @param name - The name of the string input\n   * @param value - The string value to set\n   * @returns true if the input was set successfully\n   */\n  public async stateMachineSetStringInput(name: string, value: string): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('stateMachineSetStringInput', { instanceId: this._id, name, value });\n  }\n\n  /**\n   * @experimental\n   * Get a numeric input value from the state machine\n   * @param name - The name of the numeric input\n   * @returns The numeric value or undefined if not found\n   */\n  public async stateMachineGetNumericInput(name: string): Promise\u003cnumber | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachineGetNumericInput', { instanceId: this._id, name });\n  }\n\n  /**\n   * @experimental\n   * Get a boolean input value from the state machine\n   * @param name - The name of the boolean input\n   * @returns The boolean value or undefined if not found\n   */\n  public async stateMachineGetBooleanInput(name: string): Promise\u003cboolean | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachineGetBooleanInput', { instanceId: this._id, name });\n  }\n\n  /**\n   * @experimental\n   * Get a string input value from the state machine\n   * @param name - The name of the string input\n   * @returns The string value or undefined if not found\n   */\n  public async stateMachineGetStringInput(name: string): Promise\u003cstring | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachineGetStringInput', { instanceId: this._id, name });\n  }\n\n  /**\n   * @experimental\n   * Get all inputs\n   * @returns All input keys, followed by their type\n   */\n  public async stateMachineGetInputs(): Promise\u003cstring[] | undefined\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachineGetInputs', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Fire an event in the state machine\n   * @param name - The name of the event to fire\n   */\n  public async stateMachineFireEvent(name: string): Promise\u003cvoid\u003e {\n    if (!this._created) return;\n\n    this._sendMessage('stateMachineFireEvent', { instanceId: this._id, name });\n  }\n\n  /**\n   * @experimental\n   * Get the current status of the state machine\n   * @returns The current status of the state machine as a string\n   */\n  public async stateMachineGetStatus(): Promise\u003cstring\u003e {\n    if (!this._created) return '';\n\n    return this._sendMessage('stateMachineGetStatus', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Get the current state of the state machine\n   * @returns The current state of the state machine as a string\n   */\n  public async stateMachineGetCurrentState(): Promise\u003cstring\u003e {\n    if (!this._created) return '';\n\n    return this._sendMessage('stateMachineGetCurrentState', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Get the active state machine ID\n   * @returns The active state machine ID as a string\n   */\n  public async stateMachineGetActiveId(): Promise\u003cstring\u003e {\n    if (!this._created) return '';\n\n    return this._sendMessage('stateMachineGetActiveId', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Override the current state of the state machine\n   * @param state - The state to override to\n   * @param immediate - Whether to immediately transition to the state\n   * @returns true if the state override was successful\n   */\n  public async stateMachineOverrideState(state: string, immediate: boolean = false): Promise\u003cboolean\u003e {\n    if (!this._created) return false;\n\n    return this._sendMessage('stateMachineOverrideState', { instanceId: this._id, state, immediate });\n  }\n\n  /**\n   * @experimental\n   * Get a specific state machine by ID\n   * @param stateMachineId - The ID of the state machine to get\n   * @returns The state machine data as a string\n   */\n  public async stateMachineGet(stateMachineId: string): Promise\u003cstring\u003e {\n    if (!this._created) return '';\n\n    return this._sendMessage('stateMachineGet', { instanceId: this._id, stateMachineId });\n  }\n\n  /**\n   * @experimental\n   * Get the list of state machine listeners\n   * @returns Array of listener names\n   */\n  public async stateMachineGetListeners(): Promise\u003cstring[]\u003e {\n    if (!this._created) return [];\n\n    return this._sendMessage('stateMachineGetListeners', { instanceId: this._id });\n  }\n\n  /**\n   * @experimental\n   * Post a click event to the state machine\n   * @param x - The x coordinate of the click\n   * @param y - The y coordinate of the click\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostClickEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostClickEvent', { instanceId: this._id, x, y });\n  }\n\n  /**\n   * @experimental\n   * Post a pointer up event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostPointerUpEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostPointerUpEvent', { instanceId: this._id, x, y });\n  }\n\n  /**\n   * @experimental\n   * Post a pointer down event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostPointerDownEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostPointerDownEvent', { instanceId: this._id, x, y });\n  }\n\n  /**\n   * @experimental\n   * Post a pointer move event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostPointerMoveEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostPointerMoveEvent', { instanceId: this._id, x, y });\n  }\n\n  /**\n   * @experimental\n   * Post a pointer enter event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostPointerEnterEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostPointerEnterEvent', { instanceId: this._id, x, y });\n  }\n\n  /**\n   * @experimental\n   * Post a pointer exit event to the state machine\n   * @param x - The x coordinate of the pointer\n   * @param y - The y coordinate of the pointer\n   * @returns The event result or undefined\n   */\n  public async stateMachinePostPointerExitEvent(x: number, y: number): Promise\u003cvoid\u003e {\n    if (!this._created) return undefined;\n\n    return this._sendMessage('stateMachinePostPointerExitEvent', { instanceId: this._id, x, y });\n  }\n\n  private _onClick(event: MouseEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostClickEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private _onPointerUp(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostPointerUpEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private _onPointerDown(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostPointerDownEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private _onPointerMove(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostPointerMoveEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private _onPointerEnter(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostPointerEnterEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private _onPointerLeave(event: PointerEvent): void {\n    const position = getPointerPosition(event);\n\n    if (position) {\n      this._sendMessage('stateMachinePostPointerExitEvent', { instanceId: this._id, x: position.x, y: position.y });\n    }\n  }\n\n  private async _setupStateMachineListeners(): Promise\u003cvoid\u003e {\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement \u0026\u0026 this.isLoaded) {\n      const listeners = await this._sendMessage('stateMachineGetListeners', { instanceId: this._id });\n\n      if (listeners.length === 0) {\n        return;\n      }\n\n      // Clean up any existing listeners first\n      this._cleanupStateMachineListeners();\n\n      if (listeners.includes('Click')) {\n        this._boundOnClick = this._onClick.bind(this);\n        this._canvas.addEventListener('click', this._boundOnClick);\n      }\n\n      if (listeners.includes('PointerUp')) {\n        this._boundOnPointerUp = this._onPointerUp.bind(this);\n        this._canvas.addEventListener('pointerup', this._boundOnPointerUp);\n      }\n\n      if (listeners.includes('PointerDown')) {\n        this._boundOnPointerDown = this._onPointerDown.bind(this);\n        this._canvas.addEventListener('pointerdown', this._boundOnPointerDown);\n      }\n\n      if (listeners.includes('PointerMove')) {\n        this._boundOnPointerMove = this._onPointerMove.bind(this);\n        this._canvas.addEventListener('pointermove', this._boundOnPointerMove);\n      }\n\n      if (listeners.includes('PointerEnter')) {\n        this._boundOnPointerEnter = this._onPointerEnter.bind(this);\n        this._canvas.addEventListener('pointerenter', this._boundOnPointerEnter);\n      }\n\n      if (listeners.includes('PointerExit')) {\n        this._boundOnPointerLeave = this._onPointerLeave.bind(this);\n        this._canvas.addEventListener('pointerleave', this._boundOnPointerLeave);\n      }\n    }\n  }\n\n  private _cleanupStateMachineListeners(): void {\n    if (IS_BROWSER \u0026\u0026 this._canvas instanceof HTMLCanvasElement) {\n      if (this._boundOnClick) {\n        this._canvas.removeEventListener('click', this._boundOnClick);\n        this._boundOnClick = null;\n      }\n      if (this._boundOnPointerUp) {\n        this._canvas.removeEventListener('pointerup', this._boundOnPointerUp);\n        this._boundOnPointerUp = null;\n      }\n      if (this._boundOnPointerDown) {\n        this._canvas.removeEventListener('pointerdown', this._boundOnPointerDown);\n        this._boundOnPointerDown = null;\n      }\n      if (this._boundOnPointerMove) {\n        this._canvas.removeEventListener('pointermove', this._boundOnPointerMove);\n        this._boundOnPointerMove = null;\n      }\n      if (this._boundOnPointerEnter) {\n        this._canvas.removeEventListener('pointerenter', this._boundOnPointerEnter);\n        this._boundOnPointerEnter = null;\n      }\n      if (this._boundOnPointerLeave) {\n        this._canvas.removeEventListener('pointerleave', this._boundOnPointerLeave);\n        this._boundOnPointerLeave = null;\n      }\n    }\n  }\n}\n"],"version":3}
