Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
5 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Iaew moçada! Seguinte: eu consegui criar um suporte legal pra gente usar paleta de cores no GM. Funciona na moral e sem dll! Até então eu não achei nada parecido no Game Maker ainda, então aproveitem aí. Pra quem ainda não sabe trabalhar com paletas de cores, pode ir se preparando porque um mundo novo na organização interna do seu jogo vai se abrir na sua frente quando você aprender a usar.
Obs: Se vc estiver com preguiça ou dificuldade de baixar o exemplo no rodapé da página, baixa esse programinha que eu fiz, executa ele, e depois copia o que tá nesse spoiller:
Toda imagem que é mostrada no nosso pc possui uma "estrutura própria" que diz como os pixels que a compõem estão arranjados para que ela possa ser vista por nós (pelo olho humano). Dentre os vários tipos dessa estrutura, existe uma que é bem comum quando se trata de jogos (de qualquer plataforma), que é a imagem de cores indexadas. Ela vem pra reduzir o tamanho da imagem (em disco) além de tornar o processo de leitura mais rápido que os demais. Nesse tutorial que eu fiz você vai entender como este esquema de cores funciona em um arquivo:
http://www.gamemakerbrasil.com/tutoriais-f17/rgb-e-games-as-cores-no-pc-t211.htm?highlight=cores
http://www.gamemakerbrasil.com/tutoriais-f17/rgb-e-games-criando-paletas-para-o-seu-game-t212.htm?highlight=paletas
Mesmo nas versões mais atuais, o Game Maker ainda não oferece suporte a paleta de cores, mas eu consegui criar um esquema legal pra trocar a paleta dos arquivos gif antes de importálos como sprites. Isso vai te dar um leque enorme de possibilidades, visto que a troca da paleta pode te poupar muito tempo de programação e memória pro seu jogo (e consequentemente velocidade).
O método é super simples e consiste em abrir a imagem em modo binário, substituir a sequência de bits da paleta interna do arquivo por uma sequência igual ou menor de uma paleta externa, do tipo *.act (super comum, fácil de fazer no Photoshop ou qualquer outro), e pra que conhece o Mugen já tá mais do que acostumado em lidar com esse tipo de arquivo e trabalhar com ele.
GM6, GM7 ou GM8 - Como usar o script:
O script é idêntico à função sprite_add, exceto pelo fato de que o arquivo da paleta também é especificado. Para que o trabalho de alteração do seu projeto fosse mais fácil pra você, eu coloquei a paleta como primeiro argumento do script, daí você pode fazer uma substituição do "sprite_add(" por "sprite_add_pallete('paleta',"
sprite_add_pallete('arquivo da paleta', 'arquivo', imagenumb, precise, transparent, smooth, preload, xorigin, yorigin)
Download do exemplo com script: http://www.4shared.com/file/i88Z-Kok/Pallete_support_for_Game_Maker.html
Créditos: Criado por BrendanLS (Capitão Commando). Não é obrigado a colocar créditos, ok? Até mais aew e boa sorte.
Obs: Se vc estiver com preguiça ou dificuldade de baixar o exemplo no rodapé da página, baixa esse programinha que eu fiz, executa ele, e depois copia o que tá nesse spoiller:
- Spoiler:
- XRAR00005FD4526172211A0700CF907300000D0000000000000062C07420903C00510E00005B0F000002956C5B45DC692D3D1D3517002000000070616C6C6574655F737570706F7228676D38292E676D6B00F0EE9779141D1501089595C00DDD813F0240445123C48B01012348D2370410C2148B099308120C11431C3F0141254049520C2041011308D30521C20E11E0882091AA248FDD799E6BEBDEF9C78C1CE9E739DFE3BE7A0AF5ABD6EEF75BBDC3ABABBF4DD5EAE0ABABABAD56AFE55EFE6AB7BF43C7E2170F1B900F0F59C9128F7A18C6F12BA532AAC846ADEE44E76AAFFE57E1FE321A6759859D7F9EE065DE9367544844589EAAC7876AE5AA11736B0F9AAF64CA8E3B0B27B4787529112EB46E59F1798F591311B95E57D5B81527FC7D35BE0282EFA297092218C3614D1F39DE9BB5FD6289717CC6D4ECA3F37C6D979FDC9BF5760A228B6CCF498B4F5315D65D855ECBB4446BEA1E711A2B4EAEFA5923E02DC5F329AE4780C7E86CC6C5F3C5C0DC124D8F9E0A44D93071E5208D5C9C2AE11FE15AF42ECC0844FAC9905B192C6D997D2305AC89F7021E8A09B9E3BBB364623A0B8FEDB089A06242C9CC52D07B6A2015DE0B1EFF8131A33337E93F28C8A426A54EB8E651A8F356AB868C9F171B3905D55286CDCEDF41DD4EDD924BAF5B82F0CCBC41BA4529B94C15C7109A2387361AF61E66112114318E63A1074F230F763FE355359C9D8624F3E6941F16EBBA90C836412DB753FEB8695C985F411778BF9CEBEACD8531A918B7EADC29CCEEC0733568A32C305A55AD089D64382F7EE00DBC70BBE9B1CAED90B317CB98DF5CAB3097BA7AB5854C7C5FB3700534AE4D87EA42DD8CF8F7673331725318A23E94F5D378D318F5861939389DC4E8EA562F2381ED76A6F29E08D3F3128DEDFC54010E76A860BA7EA6E972330C45F11DCC1297497CD3EFB87747A2557CBD6F74609D16260E94A52D2C015086BE384144BD4A6BB3E93133BE9E715B390952F76247138BBCABDF546034B561BB1E466364BE4F63524EECE5B84234F4E29EEEC56183F90BC786EB34C92D5054A4EC28765818CB520A18120960A4E835579D5E3733331A1BA7AB6C30B9864FDA28F5249F2A7D0CBDBE96C5353E5A0E6F04EA0607AAD8C432857EC61BE28472ABD03F6A11096309A1002378327DF19A7617F747383BDBCE28C98BF5123AEFA525BFE998A3D998A893C9AF9533EB1E3663FCBB719EBE6326D250F8D6EBC7BE2CFC91F4E9A58006F80104EA820E1DCE50DAC0D22AFA870B4CC00A1A9391F201D0D4B81B7CE192C08EE4A571B6008110C5629AF9EE35E8738B0108BFD045A4F31AD605CC17F01ECEE51B0939B0E042EF2373E228AC7BA2AC52F2F3ADEDB399F5CCF61A6296DAC3824C44362680D9F1DBF02DC3736AEF53B48CE6851197C463F993E4E6662C508E335D9EB3204A701F423506E51E1878A2EE0EEEA8A859E432AB360C945DF7B21C5A809694C65A6E6BB04A10F01AA0C1DC088AD86635E7FD4F422DB236AF96513C501D2B477786A6A1B20ED81ACAD658D03EF1F6A5269698150E343417FC4629B373DCA048BE40CD103C739E0663D122D92992BE79D4512078ED58ADB35515D2397C7F14BB425EEC591C7C377EA4A779374B4DFF8B56E66B57D7CE99B9962EB368ED21CA028050F8FAF62F5738EAC36981C7A493C1BB50ACF9B49C5D8359FC9D7FE630A4C6C7F63D19EA3C9BC83A1E01DDFF8A47C7185CAFCF836E583D61462896A47B041FEDDB1794D9DC1585C8AD912022070E5BCD01064E9201D1B1732982CEC9BDF7C48DE723E90AF0ECA2A5ECF2A652AAB536F21665E87DF0950617B2D9AECDFE86450251036AB7A91797A309AF2AE7C02AF7F9EB9B3977EB96862E1B2864B009A4E22093F575C3A5F07D373CD3F8DB5089C7368C0F47F4C3C8FA77380B47A74968A7548D21AE6E91161B5AE25B241A2EA7254B77CE617C865A383A69D27A13474B2B27738605CAD3F3FDC386A006475944B6F5E5CFCADBB0DF1716AA7F15D96FCF38E91B414E146F71AB3284968D1A3C51102836D5428D22C58A51F521EFA5EAEE295D27828E66CD4C98A6C2F108FE71F9549CDF330E83535622FD52C15AF16D5B06D832E1E416855C6E2A9589C21412A62887ACCDC452824B0811B6AB855560C4C82C4599E023455AA37630760339F63B87DE70C45C16FD9543C43F1911D86559261388F7E6EB1A52C3A4382CAA3E7AB4E74BC1B1AF1689459574EE4A0805074741F97A1F9C2F037DE6DA9AD1A224CED6F7184B83859635C555F2D81718DB12DAC83F1AF37F2EDB32C04D44D2113E645A799E4373794C990C91CCB72FB26B91B42A7FD969CDF62CDFD4C3A75090E5F0A3F9D36CCBFDBE386991979E238494D5E933D7495B967447DE853DDC844BCE677E2DC14DA3216914FD13114EFB38FBE5E87361FDC4CBA4EBDA18AB761D305CAFC15247D3644D72EFA4B719A87631957EE7AA6DE37B070F2813C498D05DCF6B4C08DB5D50F6E67B6520C6737921B4CCFFC083B4589281A8D6D6646AAE816723FE9704B77E7FBC951AC24794B73F1893E4A9DBE7ADD13A9998D48B0A0426201C84874D49A3153CB076633131E7A5F2CEE25F8C09F251ECEFB07A45204999627E10967DDA452F013D45059E57AF11CE83426FD4CFE66D8B5E8A52BDA0859E80A293D894D7C9AFC53A7F0AE180F66CB9813C83639FF59C195E8F3FC5FA4E92613E21D7A703BD938D5CEAFAAF3B50021B0126E96BE83F05C2E923FFCF7A091DFD6615276188661D72487A5A32E7083B818953E132F0CE5E03E14476A32E8B676136E1577DB89D774C83BF16B57106D1D0DBE882F3CEBF412B69C374E33D2DE325E9B0EBABD4D514E8EA81019AFFB159C535E1996E647EED7AF8ABDD4EF99C1C7A0331A5142053B7A4EB298E8C01B225BA1C4DC71758049A509DF81FC6A83C9305402A489DA20AD67469733D812966E3EFF8A1C3B7EFF0ACF84BD173E41278CFF9C988173A9EB178FC7DB3ECD647ECAB6C580B1B224F5D3B8663E19D765F344E8295BBFEBF96CEEBA26E18CE62BF1BE6D62358EEB65CA8B3E7E7621B5D94695F829A79738CB1B5BE88B48177357FD6DA2BAE080248DF946B89E35E40312BBA000E64B85C84B45818EE339E7CF566DC4EDA820213FB0A56301F2318D1FF963D9714392FBDF7B94C33715C42CDE389F1756B6D9576787F7D50963FD9C19E348270071108C882C59942ABD433920A15841A7EB834CB3B105BD830F09002890080EAB0D5BEF9516444DBC1166E2458A689BDAED632E0B8C73E93A7633EB5D63DADB8D4427572392437FB3C81A25EB5DEF94298D3488641BF3E6216BB18FFC4FAD45F7A2A981F02C53B0F5A95A317DEBB4E828D496DD90F1735095AC67A62EF47A7B5F2B39AF9710F9448902241585FED80C3967C10FAFE2D92B9966327D6DE6B31736B54FE6E458E0BA4F2694A79B37BEFC789F575EB3AA8524079DE6CEEA914B6FF6C39FA0BE6B01444F178F81B4F1ECF246D5DBC598EE2049452BB421A13A6546A86B676BB7AA31565ACCEEF6B3EDD7F7FF6A5B106271D07C4F9BAFD6AD588CF728BCC2125D03499B529E7162DA176B299C6895D6E66A8046B172D384264BA846577BF1BAC78CD1B781ED0F1ACEAA3D9A14659A3D8CF873FB60C61E97937F13A28C1C3D0D8829F56D3BF368777CCCA5DF82E5F1B39FBAC931E270AD22987E84D0B2CBE3D0EBD71C6F7167F06D24DC57ED42F276DB50F0E8D8DAD5F507DAEBF867599BE5898BC837139F3C0DCD63D04466FC41E3FBEA41C7C4292895AD1B253B87EFF2C5E8B52887FA288F3674D4D11210E94ACBDDE7368267475F3135071BF4586A079A370218D6A4A325DE80970BECDA05B4E91F8E17ED4879395FF64CF9F95FD13BC7FA26E9E47F5F12BB2A242B5858E847F9812E394FAEA5855E60D6A0388927104FA50D701281C5D63BC244FF8D96CF5F114BE820A9B5EB6CA2B306234209E764195BA63EC0C754FAFAF8F9A2A158A0DD54C643B7F199CCEAB41BF9E4A5B088ABD4EF212053D40AC43B47080F01AE55C3BBC17353B13701C29A1B78012D44AD7324A3C3941F000D09F33DB3A936B9384DB49F73CE1153FF51880AFE16425512CFA514F9E64FA2BF5055905A47D9D9EEFD25EBAC42F91119941FFB9725D2480B648126DC8175523061D15B5E1A026902EC5A5A05D556B2F22B7C19141A0CCF88AC8B7ED3B07A6B6EE967EF56AA17DF2684C1DC039FC2F93E8D777746113D6B658289AB21D1F78F9A1D5DB79BE4BE61814FF826ABC521D34219A5520B90271EF7F4BCCC26DB553467D5A0CB9D88BB749B0A9AF6C8095D3255AD1EDCAC394AA5A9E38A8AC095F082807664717A8AFEDEEA62ABB10C93751F7CF0C56BA5781905EEB7CA4F3ACEFA1B126E5CB6A8CA245B1E3472510C3C7A2AFD1D8983EA49BF90E685526119060E456ABCFB6E318F09CFB1D69A490893AEE99C66F64CC2A4DCEFB11B560325A297A7406263769AB7769EBC824E90CA01FA6623A0CA68E3D8C86FD7ABC6F6262EB98283B52B635B955E6391AE20A15D17D7CB0B501B23BF2D84D672DA49A37AB2FF368B0680B562578389D49ED6F1AB0544840C57527CEE2F4380BFF601B06B326B37190BE7AD99FB6D471222F41A5E0BAC0A7D224B07B2BCAF47BB4B8662835ED7AC9CADF08A977614D1C0F8CAC32D48F0F74799F7DB0F05546155721D3442A5E9C53CB6190C7032C00F0BB3BEDBA49C5F32024488465E5A39E817592C3BC7B3DE2B0C2D343F01F899D0686653420E089094E918045D6CC8CC7060708F334DB17B14F11B80902386A10DDF81DA0187387EA356C2ADD173F74D79A96E67CE48D808888BA7AF6FB75466B03B2C7E18473B294185FF0D0AC2451B1048E76C2E80BBD2E8941E3A0A46BCD19FBA9ECA18395CD5BB54452B37A1BD9CF8319CAB90518E10133F440A910BF4043E981D0925E4764D26947DD208F9638CBF97E0C70907BFE78FC93C0FFEB4FF29FE4A0FE7857DDDE5C9E9BBB7C81100E48C74767B0ADBFEC1231C940E14C2363A383CFFE86251C910E17423D38FFFE927F787DB0779DDEBB7C90EF2045C38EDFEA42D211B5B5A5DC276BB4DDFF6F91C09BFB3D2B3B057A1D4A4724E3806E4EADC6E09C82FF5421FFED12B8D6E6DCD83B5C81128EC07FBD3FA84211DB5E767675FF37900FCA7F819E5D47BFF1793FF82D1C2B84FC49B590ADFF81823D397F15F2364A072603A769D9AFEF01BFE9BCBFF79BF730570EDF2312AFED642A86FE140BDBFC3B46EBBF8BD02387F34AFFF2DC557420902F00904100000C42000002292BC014435E2D3D1D350A0020000000636170636F6D2E67696600B008AF2F1015511908D555559555666426490937D1B92701236D1B491C1E8E5746CA38051B68E0340204812012563F6C5F1AFF39BDEF6B2B63AB57D6B4CD9F06F99BEE98EC8A5695877F15AC3C55DE2AEEED0EED4A55FA69D4FE049498927A7CC70801B805A8C009F53190F3FE7D7801FCF9303CFCC3EE070F1FFFA33BFE839B7FA243FEFF67C3FFF4B1F9FF8C03FF3E1479865148575646445348383536100203FEC28F11107FFB7F928CC07FF4FFE7300047CF432532B6FCF7E59B7BE6C45F20CCD740D55960DDF2C07233CF76EA140489BD7DD5E6384CA353F203236648E7EA33EB92538D644DAF708650A956198F51218E6C649E9A6896C5333FD64831C156B49EAEC10131CF06C1EE2372F8FA424242061B71630A15D63452164001E80923F7D977C81823308242C2C242410344C545C6BA8A4F5050CA007C9298980136661A1835BD700578BA7A876AB09280ABC14C0307EF8010B4B52C90A3B91BC241140B737D7F80CF83279793618F779B9D43C73B45082587A9161B5EE7B03474F8B0480AFB2000E520384AF979329FCFC4A2E7EDDE00E0C3260CB8C7027C128C16C4126D91F60D001214D3D7304ABEF68AF9822B862AE5D5467CFB14BFDA9D74B2453A97FA88B9ADA30480040A3B19B557BC3B7EF995115E3B8D994F12A10A7931ED62359A2B363EC28A576A36D1C95130F489C6AC6417C4BB71B538334E0BE91B552AA561E1447434A3923E96A688E8675684A605EF90256A9835846C56ABB450EFF800DA8BAD2BBFB58D02E2B77E9D47B779E2B4A809BA5EBC6CD7696B06A1F3A87CE6A000CB718D3DCA2A62EC11CF133E674ECE90E412AF5C14DD1237D7A0FF651125DB953C7253F259648AAB6881A58DD09A30E020136FABAFA90E534BE14569FEA8067F83998ADBA19893BE4E7FD55056AFB2E3E3E84360582244EDB02CF1E134836A78625059E9392F36658AA460F371684829CC36040FD542549BFA784A22B6D8A5CC6F5B02414499491CB2A63C9A8E36A65E3A5E8742D6A0DEC9AA367A965FA2EA2A7A57C03BADA6C7AC3BAF2D4705FB4ABF950D4AAFF45A32575C8F684E6F43A8CACA0A4B171231696170232959FACE87C21FD75855161D0E704130FD6E5CDF18AD3C2AA4B7B2CD63B78011A339B33A655AFAD0E0062734C952F61A03DD197CF20368D7CD2AB69CD9AF462B1C63FF688F0F22AB03C7250189083994C3BD27F1130A2557A6BCA731F3811526B908A944B83D573E0A5A55FC5651E8FBE8AAA023D31950756606CD1FEB4842808BA27889171D068303EF856C5F6C90A38AA2652F11F94E5B92680CD7BFB9F45479974287DF9040F4C673195941E52A0A56CDB62009208EBF4B1621A7AF8950D02527B6B79D6FDA0E5394368A7C8AECD996DA2948488CDC99DE32A72758AF015A3EC1C15626BDF4121DE37F2185AB1EE8B13EE75DCB4441555948B1B2AF3F4C45B403C6583983F380D05695AE6059882B60E040058E59295464EE39DD6C3ED102B0720E493A610D871D65F3EC1730DE052AD11ADC6D21AC295442AAB449E01BF650563D670CE77700A2F0D2BE0A620C139A71EC866B055BA67ADA25BBD09896302E685399963809A9324D95B6538ED7EBA91709CC04E25DEE676AC68981BA308BE3131670A7BEFAD345A087BD261D3286343E95D653DA88A892B55B365E9D364F304CECAD0AA3D51957479C603A2D95804D17393E469FAB7480C283F3D4EFDCF7AAC07928D5D8E75D8A5089506FB5525B25DE73DCD28BBBF24E7CE80120C2658BA0FC69BE6BE83D78FBB61F9D4B38D70F45BBEA550EAF7555CB57E850443666BCB1DBCD8FABB7DE8DB7EBF1866DF9CBDF892B4010FE2EA37D9FE71E58DFA5FEA2E36338FE95379F7C2FF64FB690F80F12D430509F37C512A44BE1D5BA83E33707F073C4C2254410822D91ACD54AAC4A23A5183FCDB210A5535444938AFE8C7EFA41D9A3728E85320FDB8371ED07F588A2A427B8239A5A0204D7C502FA83B13BFC7C4EC47F963B82044396EAF147C7E23621B975B830EB3C27741C203C936287EB3CD4DCD613E5A65AA2AEA28BDF3B63486CA919ED02A49C57293D34A3F08DAD7861F3DB39BD4B4AD0921851249BA6B80829E2D2FD7EC5F0FEB6437662855DDECCA43C843B32A8EB144668AEC6A33421B551A14EDDE2A3BD483435570928F9682291C7AF7808B8E948E152C063B767D49268929D4C8CE58B19295F8D4CB60B29E43345B65474E3C557FD962C81278214261FF2A0B66C924D587D442C9D19B35EEE91FC398F13FD41585300ED63475E930506F347556F284D22E36FF750C23A33BFB4282DEB9ED41BA12AA78DC372139CA19390182B2E79028240ABF1F7BA8A0698EEDF9738CB77A15FC33993C09A2E080BC85F086BBA7C4A9D59140E529902C01F34BA48A9D31793ED116E629A21F1620A317CA4F6A4F9510BC199334D33995A70E02908F35A50F8DCC85B2A075E15BB33CF58729485FAC6D34E4EE8528D1341CD5D0ED44308B4B0914469D1AED68D785F48DA3D1165679DA7D451B518A6AB5E09F20D364EA8AB54EF3749EA502CB138605290ADBEC2946847FF5B65BAD6D4EBDA2CD8C11D392BE8175D2AC92AFB3F741E17DF56EF7D0FE3A13254226A889AC441BED43B8B580330EA879B083A892FAA948583FCA028E487ECC7EB1E6AF543C84DCA1D85CDAC0E25DE446828E22881A531AB5C51AF84CEAF7ABBAABA3E7BA144886AB28C90998A6295C457561BB93229B3B79ED70F8D7FC4B5F76B8B1ADDF811B365235CF91C248C2583C9453F589B756A35C27AD5E93F356D8CD06F6F6505BD8944B4C82EB68DCECEB780A1349C047FE0A11301FE6B7806AFFBB3E0FC514BDCBFC25E61015D3581D95798EDD106509CF4CBD3E6380E1524ADC166F091A849BB01AA2A19D9367D8DC1038DD39FA7FA9A23B192F864C465AAB176B2E803B5D41AF6011F75F2FF631B880F0022819A9ADB5618E25FCA203D4EB1EE8F2F46F14CCCB1A09A42C2354B06871412167D128174000A4240049CA04A4B00D491B39081854081559658A27FA800F1200C1D4E0D6569831D80B65D7D7D9829615D2B96EBB661314CC8C10A88F0187038D8E5D9D1560FD97468200542E95C5CFF38B633E5895482F7556EEDC9709144E77559F2E56C17A4756E037A8930149D76084DE289C7CC4F12D009121CFC48C93EEA1BB3CC805D17EA27C14AFD8AA7C76A1649492612905798DE5C638ABDE51924A72263AC98DA5B7074D18A6E8E790E6A9188952E59C5A65A1CA52A613F5B050C2C5EDDF3394B66151222A25FDDCBE9C2AF941DAC59E5B29B2875B7D8021621D25FB1DDACE23C8708CFB2944E833AD95AAD641CE67EE13A84EF27964B57AB868DABE1449A547C5EE42004B6EF8CE58B3F047717DAB9A4BC2AB2E5697A70591C2716725D9233968ECCC18A7D2DCABC8FC5214A5053BA4F986DF3FA49D6FA0E3667E87ACC00E05B2BC56CD06ECBD19BF26BC7650A3E5C9EF2DBF9089B4A9E90E2DA237C6940D7CD1BF857273CCCFC8FE4D95515DCAADE4520E18327B418C5C1457B351647BCCF0E53FD5103DF3A73BD21D39EE09049F3CC46D224D1D1E8B2A531A05A935F2E33648030CB786FC342429B2592C475B3FFAD3B775C2090F49BB5E331AC197DA661E1541C91530699A29AB0E33A63F4590CF0C1E9FC1BE623BEC1CA626F8DB18B55495E98839800BB889008054CA0BC49AA93890D63531E27F7949226948699DCB14891D0E9483511353D2A48060D28922796093BB832D834F5CDE9697AFBBC221D71DD29C3A44D5EFD721C06A21954FF6FD28F0A5B512398010CD05ACC28C547A4B073CD8A6B42E58A31E93CA9CF10FFD2F425799080A49AEDBC7388A8390A719E61047E894735E5EEEAE892BB972D351ECEB4706508F0CD8C942DBD01683CE4AA814E8910FBCA5E4CED31ED34524519717BAB6D9D562898ABC4DDA70D0F0DD4F9B4AF30E2C71C064AC6D8FAC767FCA8BAE6B9D8EEA2AF77F38E4462F186FB692FE33AD8D942DF76E5CB8C8AC7C68B1152D7CB38617A27132530CCFC43173F7D4EBBA764471F538729C9197F23188E549C6505B81E13054435F34AA8F06D25EC5F470892D722F16F4EE7E61AF8E676EFAB0CFEE564E945503DCF0682862E5B2E6FEF18674CA8A9C58EB660B81E8AAA13A403BD6D3B5B81F431DF9163906227A8E0782ED06DCFB8DAD138C4B9F3AABB52D826E7FABD9F6C3732722183B3F9D6FB9486E4019B7FF7126EAFBEEDD577DFEFB7F31BBF60DD95C4FADD70BAC0EDD8F9F039FA335EB86115870F952D157ACFB860FD9EBBCD3D96C7EAA4098CF8FBBE6AD27E153BBD5C6167DE9ABAD604026594DF7F8B31EAA1CFE143DC210268F1894B07DDDB6C5DBBDDF4551AD99CFA8994761F1AE929293FF7FECA7BD5EBBE79F38597BA5A090117DD214CA7DDC952E57AB9D122743A2DD575E79CB9DA1C66065DB7F687EBB0E44328B389BBCDF56004FD20E280F5938D97D5841408EA1C135F42A8C5F6E3316A5A21D9B3941108C889E3A5C220BCA3140374529352BB30FD2CBE8434EFD11DF8D48218C1D94610D998A2BDA322A1497FD3133A8BBF8845AE8C4E522D143B25183312170C8367B1DD2D3C427A612EAAEA480258CE6146C3072D418F9D83929A9435209E4BCDF9A96C7C4700A708C175D246DE8F41FB422329144FDD17EA35D0D4E0D84FF8E0A6433FE0537C12CAA50E18A31CFBA240BE62F259E8FCDF2113AD1D6C750788F7542506385AB1B6D954C2A0D2626D9EFC1774A41081CC5EE28164B3334E6D33121478A67B144E3D8C8B6566291358EA2F9A426CEF5F0EFFE39A1D52320D2AA44550C79E5F212C752A6629919C712530E58B0CCE63DFF989920F6D90B06D6ADF99385A74CA427D343C8FE9D5C568A16A49C96BDCFA2FBE9834DCE0B5A85C33FC3D1A3D3C90FF40219E125925B3FA47BE228987A163EA282AF088E55E8B070C40FD1725B99550D68A2815C7A5A861BEAD09F4C569BD12569A22A332ED1F19EFE8367040464EAB4AD24090C5257D1AA7C375024BF55E52C77057D366188CA7F4F3C34BB269D21A9DB422286C970B96165393A82B58554AA0DFD34584CE9AAB401889057474ACD612BC95176EAD49A7F458DA79442BA628AFA69A3F46B5020B3455D7FA080D538D6B377A2A511C6184F72442A9B1B56AB684E5F4BF204AED88604F1FC0EAD71664BD6BBF57F40425C69CD546A010F7E60C4A1E113363508568F1E88C9373988E4C5C0BA83F8C22792AA029DBC1C92785ABDA9293B674A73ED6D54A15ED8B597B23A8FFF039C2800401CC035FFD57C3F2FFE315263D88EFD7B47CB02C28A939CCF05EAC139DB66B6B27DC82CA6C36216C47E408985068736345532E89E699F24DA5A38F2FD89488554D8385765D3B5B6CDD1409884761123D117DB81C0FF3140183642B5B838A839BA0A050AF0F1FD8D816129682816B8086860112B917191D1F20F327FDAED93006F86060DAAB67A7FD2FA1ADC3458052A38EA5A69409635936D802BE0A0AD0D5EE525849F034C4686BDA4BF9295090F5939EF826FC92D0D98F7701825BE885F84771F55B8514CCB181F8CE366F15F2675C66895BE6C05355CA8E510710355F704C3858E6CF325081EC8F36FBD8B0FB818013D7450F12898508C5E7D667997195BE1D3ACCAE20F5A6CE6C99A65167F2C78326C504917BC1FA4539CFD22D970F907C726C719E910556D5B283356B2C60AED9CCCFE56A03982084B1B7DB1367497A8195D0F48B17279B670C405D580D13B0A684AD62C9BB171A6C5AE2740A58196501900AEB95209E3C80C10F7C7D174E66999D4D373F2D657ECBC961667B88389616FFC8EBC7D9200F0628DDD69213EDC92079C0661E6BF5423F500B08E2C8D660E7012FD8479A3E43DC0077FEBE9266F27216FC6B748313D3D4A043D65CABBDFE328DFE9AFDBBD2B1CB13C3C4433F1C1F89B50A2085E5EF2FD8FAC78B6BFF5B344000F284D78FA2F4AFC7D596EEEEA313F1A48FFF5AFA9C8118AF33041735ACA3EEE34DE2627E0AF628B80F9754AE8409A0B444A36F6C78E4D9FD5F82B1342E4D114CF2BFB7AA1491EBC95DEB3197C00D2EC1EDE3D3C27AC9AFF4CF0141496C9E53DDB43ABC49A0EFD8E6813924EE176BDA81C00E8A3CF453426C5BF7BEF529575807B0101A0513448744B698BAEA6DD7EE618ED90F5E80A2D2AB972522F1CD3CB01512692352A44AEBBD150E334394843F693C8468206C90FA2CBAAC57E27193AF35EA27CFFB5AE0D587591EB93626F27C62D4DDE13CB5F3846A06AE33E0638F2302A0AC4810D008357D06F9E72461844189755933F0D71A94706C1A38AA626734C6A7DD8625788AFA43053035F1DA37F99DB1C6D37CD2C501F9A00DC91DD3B360E96B7BC8071535E793CCAF8FD1CD2824D35B103491E76564603D6E8DE27EFD55B8B1A26BE561FB83F6E766D7F9E98ADFFFE67AC8633BFD8B8C51E31E3CCFB355FDCA7BAB69A0F998649A096488CE93734D3D2DAC105BCF84975D9C46D9B8E2AEA0220A467D99915150B7EC5669D00D5B5B17E016ABB3A9944AE0B9F00B685F85508F6DA572EFA7DCF6ACF28344F664CE15F2BF13E7A020A038684A618E1CDE9D2051F2123622B1B1E5282B04F45D38B7A0BB7BEA5A0D9D28B530A2F0717202AA2883064683F6284A7966754A723F38772ECBAC754EFFDCC2A12BEEF92EDBE76E5005B0A8B26A2935CB9A90E1AB3DD97E25E206D5BD08EBF6F3E226D8CC5A00EBE9FF70C8790CC125CB57166BA3C95143EB4AE8AC10603FD927070579D567239D79B67977FC3D82BBF82844EF1E6B387E396E84BE7936F8BF7FF27E5526523916F6BF5707EF45B887A6FC679BAEC259289F6C9BF5F63FA223D8D43B8718BF44CAB55FB80BC94342F09580C34280C6EA85C28A97F9596156E5F932D0F476348EAEDB4140FEBDA49B928CB7DC5B15283F83E891319AA9CDB501251CE6582E67473A099E6B1111D9E8ED3FCD4DC7747A920E77D32A0372E60C6660CCAC35764BB61AD4EAF352793A0B26F8FF352912FF3D20BF9AB0A0B0E32E2178030893FA643FCEF51995D74B69FFD7F014170023CB27B2D89E7D11E3BA4068E5BE678A916889F3A3B06082C637471480A2C83AE8A23D2F761A64D0054BBD8A08FE5F89914CD519948B3D50590EDFB63D86595482CC220396D399E72A1F10238C6C73AFD598BB962CC8DCAC2DC5925F1495CA6C8FBDEA969D81D8A1B644295D3E1BD5C9811694518BF24BE1FF3E4A92E9ACB69B1140A9BDB96AB65704909E5B0949A24C87AEE251C9822A9C23464A0276E6931502E6FD79260E5BCFE46E6B0855206E2CF929702A1B65FFD3E3F12F532C61F59CA97C1DA9F81BBC621B5F2CD69C44F092680873134B24E367BE0C07C65159AF278DD3F5FE4C649ED2FCE6CCE566C4F4FA9CAECE70A982F6B43CD892784E1750AF0AF894425C6487D6B055B0C272DF5139D84274537EF3D792FCF7D6B2ADDE8ACF42AC9F008531D1BF3A6265E16CBD03B3A0E3BD5D2ADCE2ACDC8483D145A981226CC800FB0AD526CA6A4B256155E3373909C74C2B07DFA612463F4AF57BE8642932828B0CFB625567D5F59F1CA63A6B94158AD0E96352355489364F91CBC28D4D8ED9CCBAB44B3DC6978A9C365B3395EBFB28BECFA61D45CF34641EDD97089C3B5E0A4DB17E6D88277F51EE10F2C844E5B6B598FB11B436ED7ECDE18B13FCCB41E8733F550EFD97BD77B62DF17EA1A0ABE5425E663F6A89ED98636F9CB2319FFB06AC05B238AB48B89E4C1096255E5D9A9B56E347ED06DE3B3A02D1AA887F65B0382FFE243DFFF6D369C0E330D5FF0BEADF89EED58251D6DC21F511B2D3742406571AAEF57288AADF4F110473A38ACEE22A2671E67729980D825BADBBB0277F95D8E1E8B415C734327FE3F974F20D29C621C1D5D8C9E008ABD3DC909BEBF84848300E10913120230C594540D27F64849C9B3090404E9355D100C1D8D74FD016BC090A0ADEC853E054BE0A049B109C710167336F70561A06F29D9B03E15182295C0A6A77220DD3333606EC2C1D33C06F87273BE3A6C6CCEB8EE94E767F09FD353BC050D497B22F1ADAF1CDF943E318B7CED9423D3A353E9572A4A92005236B798AA883213A59971883921401E4F319E97C7A91CFACF5753012DEEB81CBA18E22C487BD378A834B94D12257D2A34F1C449823153A53873225C772160806CB26C4AFF98402BA85D089D7329CD5D2BFEB09DF506FE10017C298C0B68A960EB0245C47CAA937FD547CC619E669821D4CF0145CFA4EF9290AF599BDF1F5E149D0EBBAE72EF1367957B33E9F8D2FA7CE99CD704D918D5591BF5C7B16E8DC4A4247F4F08255F043AB53621E0EA33CDF6CC19E448713209EF8694A9229D3CD914719F558D7A1B56E8F5CFC1625432F0500B76FF9347217BB48B1EA567CDCCB3B4CA4591B7C43ECB4E5F43A4CCC3DAC5D77884C19DFBF667D503C04F82A4A894C472D8E3BABE3FD27B28DF23027183BEE6C1E7ED35D1F42DB0C123A469C07B007F249DE019809DF6400174C47C973D2FA310499B104881E7FCCCFC499F50A510D3FC0C3B616047F5CA028E80FCEB6FA13181C81B2193BA0A0C5C378A294833F17452A86639B46A505EAD520C98D325946E2911BBA4BCE9549283002D1E825E7DD4A3C41E6A691D25B3E448AF5CE0E1610B29E876844D219211F2865E25665919AA7D8293B23FE736958BCB64C1626143D20CDF60D2CD5C8C7B4F035E3C309F494A648C34BBA95CDF9629F249D21911F73435F1B49257B1F50575AD3265B177A29DB641ACB6A67CF366AD421D10E1969C628273E2FA41CDA5D15B64B2383529E38AB8A33C49D71664FD7D79951A618010719FCE9C9242EB9ACEECB7F0636B520089BE839D4E740935F307E0C18E512D56BAE4A39888D7D31F78455977CD5197D77806D8C934048D31138895E17FE3A2FFED21498F81F4CECBCBBFEF7C7CB1B811850F2984540678061823CFCC1DE503C463960D29036D9841840ACB3C50BC3F2EDC7DFF1ADE9C614F4BF1C650FC106EDC61C56FC9C660EE45F276400B9DA37CED0F1CBB52F7B96AEF4E81B867F72C33B918476D09F889E3704585D0561115AC0DD956831CA8877862AF4474ADC6D4E64EC610E7C23D966CB1B11EFCDBB80CAEB6B1AF561BC3B61DBCB9DBB16BE37FC311B61759E07F918EDDE6C119257EE7533E3CD13D871CC1D67ACCA46C7FAD411C31AD7F9C0C9FB5D17B8F619393E79CD8722F3D64F3453727CA420786F0AF463A41EC0054169667049AFA0CD73B1BD909BCE3C3E661C6E2268C5BBE8DC3ED77CF9EC24F95656D3BD0F957D1F7FAF6ED8AF8E49C4EEDAC8C93F4C1F0AD70FCC53D7B9FC9367671FAEE7EF6F0BE9A5F1256CB6939D5249B470FC2C43B0A16FB8EED634FE7B95B779A939303EE3520B74298250C9F6D61BF469103C1F227DA38A243EB3B1981338362EF8E3AC2179A4670FBBED145336982DEED1485F46887134ED7C1C38A72866A7C038D61A8403D8DA00CB57A63B9275D106F89C9A7153B6C599C830FE0EE6410E74F7FE093248E1CD4DC45E0837A2DF3C314DC845DD160E92E1EE2524CCEA2003C06DF3D27A10BC2910CF784F5953F7928907524C5A3B5F391A9948BD41FD98248E1203D14C315B5758A7A3D162B3086384F06D17FEC0436E90A8FB1E22A4343BF8222A8E2FDF1A2CA539EDF828B48521016ACEBC19839862BFF304645BAB96A237F31AA17CC2F1F3FEC3BC90FCD2BA4CE292E9714483F3BA1B7928945431698BCBDA776986E68D49EF92684663FCFD3D9CDF55D8F05DB6D405E8C0B3BF3143345870817FE131880008005FFF9AE936995E7A3DBFF69F3BA3D63E7FD6D72D5C329E23D606C77656B7AA7DC9AA57F5210D476968D47F421A155FA26BBC4615BAE0F001A4B868704885AA4311EED89BC02BBF93A75E283BE01DD8ECF82B9449C544A05C9C002E39BB3A80797A7C827F916D08E4B609C97DD81835B5F8C8DF4A8BEB5494940AACB43C4AE809B85A02056210C158E4296E05A9C961E2AB61DE2C0720A0C37A2D2DA92E6E69E6229D704770E9F1471CB1ADF275E12762A5F3C6F45582284A82B4D6D77F127C648394F8884ACFEE6F2AAA702972F35D320513130C2644A14854E2C17AFAA1869089FDBDE4DC079FE418E9CD94EDCB1620FCB564CA98A62330BF993A28897B9B256C6901D94B770614102812644901AAB2E644C372F328AFC0E7BD82DCD85610266D4969590A1228F494B782AA2288A217C9CC47B156AB41B60C166A387C66C82B13C9B3F7FE801257460A554BB6E4469F2CCB060F7402FF458982E5AA9F4AC2FBEEA57AADD39D7E514957D8D73DC84A90BF788F4E8526BD907FB3F462B7C5A30511D426EB3744E6991618A1385F328B3254E0530243362FEF672D3236A91AE73CB13EAB472D926D54D17899A002B5D5B357F176F5C59BDF00245F7E4704D021510A1206333CB3A78286875B2EFEF579BDAC290279756BDFD9DFA68B13F94C529F4FEFACCD1B7EA3A0E278F9A19E38D14ED3839F43E1F4C2495BF350D7EFE44764DE7EB91A2300BA6D8CEF0CA0234696A82D2AC4B375D3ACC40DC65FBA4A1AD0C19D49654D1E577D108D36C8796B97C5589DB17921DF1BF9FA2D14AA145AC1EA59FFB81BB0EAD0BF75312C7F51208A8C87AD771B808133D640569538344315036E980B7993839E2A724450541252E5D07EE606F57B8564C441DE6EDF7B00AA7B32E2B3362B9F27A9A3A95E9DF1248B780AC7CABA1704956CF0B497D8BC59CF4E90368346C4DEE14C1C40026DA7872C6286F0CB54EB6EA1D2B124F605A350774FE14FFD413657DAA617864F06A289F9308062714F9F1EA854C10FC98D7CDDC0EF169EBAC35149E9830DB111828E037A7870623C6B1870E78F04CBCEA1FB9CB475FEADC1CAA8D5FF929F8444F6FFB1B9A7034BD468FE8781BD4F315489A35D6B3FE388B6A7A4F878C42EC68F594D1953866DF1BDEC8C4034BEEFD1F6B8DE6CACFCB0ED583F4D8B0F5FA988D4660DC0F1DEDBDDE8CB936B73026FCD82F7522E5FCAC7C5A106131492E48405D13C6CEC16456580370C91300B5E8AD2E39B224CB2ABD6E39CCCB03F674BD2EE12405633F92B0EB9982B9DEE99BEA0D5F858E810ACEE9A48A6E66EF9864811E074D244140EEFB2A7C90E44175C7A9B74D2AB6E1CB5D20497EE018A9CC4DC6B2F30F57DBE23B8ADE779E3F624B6FEC50E14283DC638D25396262F3BF75C87A1222B9DBC1AFBC79D98EF73FF3EE3B20393DF9EFF52CB81F5D4D150B4F720F65EDBBB5C254EC48F3B048D85DEEBABEFF078C7996E6B41194FEC3599E967F48438DE74065DE3C57CDB1FC68C937A2E9BCF99930EF9D06340DF6D15929246EFDA8A9C4D71319F117281DD749D63B33BAB0231FAC06D12616CFBEB42E795F4F010F2B832E286DCC54EAD5A6F588D2CB75CF24729CB0DEB1157B3BAF7FCFD7F59553016EEB300D4CB0F135385017BD90DAD14E1E0D09ED8AC65B1BDDAE7B84D7E847FF6BC3C141C0EC711F2733F685F7D9C85025B72E827C05DCB33513C2021D87824CA3C0ADCB0B211F184CD708A1A1E1AA0C9A312C60AF8B58662D6F17DC1D50DCF6B838D7D4E21FD06B271788AB9EFDE0589053A04CDB04BD8B4813C2DABBDD2D64A0BFDD483039A423C8BEA91CA0ECC89545D922D783DA09FBCA34419D9CA10370DE41362E2690C7BF1C557B420F1B492D4850F924A1CF28FA2FB4A8AA358E4512319652CF0529BC2C5E4B1981624F47033170E0F4DAF45858A949E662C508B8850607496423E4D266E47A45AACB4264B15066873A553EC591B1DBCCC8D94292AC6E53A642052BE61389987F7C82D970EE0F72B4523E9E62B023737F647341C4BC27BD06C04064EE5AA236631735C027C96F70AF4FC8BCE328F2787019D9EFC267707C0FFF7DF11201FE63D806CFFB9F2CD9FF0622EFF035D05121D723BD7F739D52DD14B46F40F9BF2955FAA772AA3EA43234CC4DB34545343A0180448E0AD86B6AA18CF5480FEF391E9CDBFF2598D7796577DE1C86867E35F56BFCDE04FC842EA935BF979C6147830A0A3B3C890B474709090417696A7F596C060E60142434FC44485788D8FA6092A1DA442056C04D4ACFA0BD0672A189094B4D4D2530B73B05580E5EC8E6E6444AD47D922452E6EF385A4825F7B6AFDCB5886FEF79C89495CACCBACFBBD19CAD829DD7F4ECFC433487887388CDE0EED07AE480E6E72DD96464F985E0CDAD4AD0A0AB6BACFB76A05C609013083108E28620B00E8897D75460740790691E05E3CC7D2C548328A6FC432D54D502D6CD1FDC0CA3A80052A37CE4395A61D824CC1B569529F344A1D10A50BC984F27865388E605D84A343EBBB07A8E596D566CA705D9B6CBA2BFB051C2D21AC1650E732BD62DD8FACE2F394413C18AF06E5763DB35ABDA098BCFE6B906A45D4B47DB4C41FEFB0985FD97D19D067E3F59097CFA6E40DFCD24BF7A72E42D8E855D6D26C87FEC779487AD0FF407352D4A85DCDA03479358250108827250BEFDD47C09C17B7DE29A56A56EE94BD0B11CCD9A55B37FA6348E89EE08F5D474EB976FDB0991115A8D11069D7DE1DB6EC533EE70C021BCEABAD3ADF9947949193CF02179D2576A4F817BDA0384E512BCBE31435EC991684FE6C02754EF1451DE6EB4B701A26F82C3022EBD512FEAFE0F75D59BF2D7ADF316F6E4E650D6D05CFBC3C376259E94208F8DF34AC40916A1AF001788E38F2FAC446ADB88FE398BB64E0C7ED8AC0DB486E25C312A30EA9B07F27DC12453449C26969A90A23207A273E0F8A4D77650D9174D2DF7B5F8A2634946D9E4CF817DF44FF18F6919D98B3935EA1BFD677EF2A5CD173F84CCEA3BDCB169D36A8F7E499C0A4BD51085B210F97453A98CCEE4FA4BFBCB41D5D6D39EA900D4231CFD3E49407E4A352497944581A31E06A8281E363A511CBD3A8ABA347F5F273D48B07C458ABC77BE49359CB9AFB103E56584E2D26AEE1792A5552137DE65A74BB06A7D35918AD5B7CD7BDCC935E8257DB2116D1027FD25F0CBBD3D2BA306F2ABCAE336F99F45303D33AA7C85CBA871B90653F77DFF84B2158C883A9F64FA086EA6D412D4A8BF5ABE8F34CDF6EDBC3A6D8BA904A592BAFCB5EFA5F8C67C14126912DA67601084F1D6551F1C9ED88C09DBBD75F5BC437A21E8A273843C709D8373DDA5A28CBAEDD4FCE91BFD98963269F3D58E78D1400D1EA821231461DC1A5670342317A8738FB8456721D18B5C815809672F185DA1165D4DB47B7DD51DDAB39DA74562ABEBB7835902671B76FADC27D336F0ACB43442B89890D4FDFAA61F57DB97FCEBBEAA4D755F721D5A2964499B33AB638BC5AEFBFFAB38736A0E87FBA04477DFAB81C987E6F173E7911FED17BBE2F429E058F0B94E91FD38143EBB6F60135285EF045846129F017159CE6B6E43B7DC1FFCBD1806A89BE624F9C7FB46DD05693C8BAEB7F7BF1C03234BDE5B6D660839ABAF4EBFDBA2C1196DEB274102A4E0269AD67F7F7E6B3B0EDFDA27CF6FEF9E45D85F00DF7873637F91B532A482F7D2EB8257F44ED661C0FB36DAB0F7760942CB767A5DF3AAD719B41A49FBD72404BAD3A77A075E87F47273A0F732F7456E2D6DBE005C9BFEFF51918C14312891E7047BFA32493C5D5F50947D92D7CCF8A01FDE508683328DD4D7F6DBDE469128EFD8B4E5D54E7FEF9894792DDB646CF967A3E141EA4727D75148395E62DC74FF285B3B7A2DE84E2B890C46FB97CF8F422D534A906D3B552301FECC496E1A3083F03931F83D9171273F4522E147B9C81519496E85A51AA005EF3FEBE39042E2991853A5A43B450B24F68F9E4C508A1D1BEC252710ADB44CD3869677E5A274217DED1DE3D5179A7FE2459996E0DC3A3B4BD3EC63388540D402845E2103CC2253A85228D8865D79E5E16423ECE01B33CF82228AD0749717D9661253C9A75A88C2F4D1ED271A3E97A78BADD3B71EC6261C7EB14A2BF6E5046EF686656B924A524B7991B378B071683C4596944E4BE1BA4A0C1E4DACD68E2B4AAD0F797D78687933F0D991872D4D3B03A359FFC51440DCB3DA69EA851293D3B56D0EA78F29808365C1531634D248DC92089D992C3D00DF6990E4F9136563C27F527C6270E8110F49BF4046A22B1A4E6D3177676B49888CCD216EA6E1BD19AD4949296B2476DEDE30EC87FF03DD05728284C4CD855F10941AA8AA8958892A6CEF81534ADDEA515624290E1B21969A1389B9298C46364C35160B0548F844556207D8C56BA11600160886F5201BE74B3B53D76668560C7AD4CBBF591A824DE0F1CABC1DA3AE9C2186115BD316C87E93B81D0AF656296608CED284F89B9A8F26F6464CBD56EB391876D52EDA126CE27479E21846D173B1E8A9FE674AFFA8659B64550D4B4FD8ABA5E416E9C48FED9FD4F58377A1FBECED478B96A3EA8BDE38C7C4D147116CA008E17FE53A847FF6808000DBFF241EB7C187FC71325D708C57F855B76B2D117FEBE76E77EDCEFF1AA08C671D1CFE866CA3F63552CFB4400BB5ECB8A0082A3779EE3F58B735B6159B57A4CDC1E4B93C02BE2711BE0BF2393FF105FB71ADC471BC50502C642B6478BB1312E330306096185FBD61049A9CC343430D860A1A2851AC485AB2B60423107787A59012D2536853A123A1A86F249CE2A02B712B1A89D9585EC42DBF6FDC9CDDDFC142DFDE02A5D7A9ABC5DA9E98C893CA58CF39A1A183849FD4A5A6A79DDAEC169EC65961DD669AE236D3E6E7BF73A64BBF8D4A72A0B3667CFA73BEE10C4F9F1D31EB929C21D9701B42DA341A6D7A8BD4CB97DBFCF058872EB369131EC64D0C369E91574C8EF50A427E5DAD2A0C546E16E90DBEF69A3EE18701915B6D8CD9654070EED71A7A815A2A58632206E5E25D91212B56EC4A536B1DB1713FB9AE81622ED4E483475AF8B366AEDBD6C54507ADF13AF51E1898D2458EB1AC5E9E7F5308AF6DB0057516535E52E81F8E5FC1A2B3DB9407F53145B2D6E8D9F70A08B2A98AB241A250BAA51BA9E9DD39AE32349756D45F5BFA5A3347934D3C03AA9AFA5485C7638D737F1DD9BA75A341C510E7B6D981E29CE27AE18774BFD5419715F0284F94F47B25247E42EA7B37453B62B2C640DA15ECDD79744C03D1303F919FA3D60D4BF26E2DF051E3702E4C1FAEFF17C962DBD67ADF1F32D830F4E4AE3DDCFA892FDE3CEB5A90094893340F80A62E16A0C2652512BCCB160088306CBA2C89231A490B4504FE052779712C1C56F352D68F6E14650C5DD0F3DF1B5D95043980A44E9C62C166093449344142AFB2ADC8A5908DB9B99CA426F4DCA4BB62E6C6AE3441B0D84C127A0288BD2744F94FF7609F2FD53CBCD9854339632C78D35959730E8CD7111597BCF2A01AAAA9833CE41757024BCB7BF5989A92101D2432277550FF1FE752BD0DF587CF1D4E696AC4C8A506473C8302E516253C1DD45745792D6A696786A2D8516B4445023FD5D22317A6B9EBEBFD295BEFDF5978A651E799A5C76F19E5A884B2220A6478225C5AAA9B8572BB61BBDBE53FE7621CEE1CACC62084061FA28369A8C93A681F2F0B0D718704F58C2550A4C139351A29037EC3DCEF41A40EFEB385AA4B5DDC4841D836635B74B0969D7E8EB942FDA45ED5DAAE973805009929A40B6F3349DFAFE3B7D3822A6ABB9583C575910525BF1F396575F6DACB037812EC8BB71407644FB657C875B8A1C7FA0EE2CB209589B320FA21CDE3A990CB77289B1F4DFEB609D4832C04F88F2F57AA8D44D7DC496D4AA48119903E9A5D39ED8752F9AD914BC9607F6FA566962CED9D7502E2CD964D819FBC7E598C599763C27F348DAC8CBAC8F06DBE4458EDF7780A82F005A9F6FFBEDA160A113EF5E89D51B88408E173302DA1651BA1543F516F16EC1FB5476FCF823D0302CF86571C07AB1FFBA826E30AFA4F73C7868A2641178EB0A85CFA4D6CD09903928443AEF04E94E583CB769485637FAA81869FF1D6552D7E55D76A25BCCBC60BFA9BCB85B0AB75138FE476E1F9DD0A97A0EDDCDEF02E7B8F29ED52E4DADFCB177EFBEE4093BB797C169C7F8079553EE4273E97DE8FE356263777CBF23DA139DDA6953DA286D7034BA339E7FC09218985367EAEE1DC0844B051798430EA2D3D822043E8C205C83086167B324BB265104B40D1F494AF7C2D32BA26A78673D9620D1EF1FB4A18E5939374C7E28BC7B916E076B3B018E88B08B11DD135A3BA5BF2343220CE8FF750D38479D25E9EFFAE70B70496F065FCEA58A51A738CE92BCFA85CC9471383CB0222CB1CFB19DFEF1A49E18D9021C3D3D07146DA4DD863E08A69FBA5BEC0A36B8DA92D2B74EF45AA45364F5AF017BCF92645C06FBB08BFC38BD06CB9A0DEEFF1D018F8E464227442914943535319E4C926B63419DE6415C627F688E58574412837943E47BB37A572C2967BBE87A7AE4423CFB26B7AB0CC1133DFC8895FA26332C0828734ABB54C51983850C6E2C2649C742A5DD54919F7E9E4C228B5C44B57C2A0C23D34593B1414C908E97A53BEB067681844F4C231A9DC814B8FBF828A36CB8E69F1874103FEF0750D8E5173ABD655170CC3928DB4C72A93DBF3669DB760DFD252C9B61B8321BBACA740DD5A98B62197CCC933DBBB56697DA8DF8000F74A1D2A426AC58D39E0D510DE0ED7034B5719A953A9805E873575E694476F92AA4057BC1AD8C5B569F1761B3CA893D28CC375F624DE2B28FB4AE4DF74BBA52F0BE4618BD754E7D471961297DA5567EDA5E50DFBC4CC0AAB2CCC53546B3F8C8AC547F4459B72227B064149A800F0C8B3E1E0BE6234D5C196214C35FFA75BCA20C02E8D675A57342809964B9F71BF490D764E1B2F57B7D77181C98FE4EF25B2ED4300BE382E81297635E666D1671734DB71866309706A78AF7A20DCB0934E719D80915750EF9712D54EB8C54CF02E08D37E26629ED06DA3807AA8E01E6B736C44FCFC4DCE08B583944A76D70117DEEB1A3FFFDE7775B3FC7CCA8AA032EE85F3412EDABADD34D6322275C30FD85C6C7ECA99C6E516FABAB9A3563E9574F8A802896CD8BE65CE1791E6E1AAE7D2E0F224A621A0E3C8FCF869ED20FE20437F6C190F10E70516105DE0033BB3E3D807E338C73800908370D102918242D47FDE77278776B7C060FF9E25658BE069AD6D60E3DC222D292F68E06BE444249A0056C7D91786A69B999A9B050D3D797DF0A7F7029093C5906CC72BC9CB989B83D0870945F0E6A5C067D6D79367DBDCA7CDB7CC8786E4E7F2E8087D86F9ADC11FD9C3123E609EED406182F2E14380AB81FC4FBE161B08A242897EF628E5C9A3C75319F3F342AC6AB38F3E8E70E992CBFBF6B2D5AB5825AEA0A60692A1863223B8DA778256A9A13869D514B943E345523F79262F96A25084A953A3310BE4050CE5220CE1717FC1ADA440185C3F5AF8CDBF4ABD611B93228238CCE01062A410D2F70E2D6B766A19330FEF83FD5FD319E9F60BF109C6B09FD8E9A8B57DFBF5EBDFBF7E9740373B925AD6B90C1524D74D1770E3053F3E3BAD4CB485A47757B0BFF212E9FED843D6882F8DD6836847CA53596DAE4602A97AEDB00E8FF3BF53E85B6C4D99023A2BBFA83A21E11E64EB4B9E6DDC1E36EE85F7E7505396A3FB90F1B75E2DBCD6E38A7E86AFD3491F4ACFA64BE79CC466E9DB47EA9DF54700FD78646A12F7FC3CCA3317A8B61BDF4B07281EBEA6FE8F4025344890D043CE7091AFA213078890BDE88F191090D7CD04D0C26BD0AC2D402A8BA561EA7638682206C93195D723D2353310BC81F63102790BD8AC866580E7B2848DB2214A0BA3B61CAD999C4FEDAA0B8FAB5D2DB3B1DC3F17A3657F24A41A79F1E154A8D1E0871C00C9688802F46638783875AC6F854082FA2964C14316E3BC5C82AEAC9A9181077DA0599F463418FADA724C3FA27DD0C56828353EB9A1BA1DD623B1D9EC9EFD626351E2C5AAAA389F5D3F34E45331D8C24DAC10E8D80A25C6C5F6A04B119FEA130B68A784B742EB0E55DB772AC7929DE5268BD6E3875CABA473353E32AFFACD42E4AC5D137A91FCE93F4688E16C9F8390EB5979BBC212DA701B4AF2263B12B9085631F796852EC270594BACC3DC672D48239A4620340642AEE2A0EEB69ACD5A277D51B9794757ADAF2DD8D9455C67F69C76194922D4376F6A36C3C3637F8AD19B2425208172360F4C28943986D037E5518BFAF2F6AF35438CD739A95741B48CE3D32996D7A7FF7E3608A1A71BFE406E946F368CD9CAB1D5BEADE7BBA9EDE244EC3501EAFE69A79DD9B68457F558DC382E7F338FEE78B715B6C7AFF618C64E000F86999A68C294EE7B8FD7832BCA9782D839869F78D36123342EDA3724D7B75EF550BF4D573D7BA8AE73454EB5BE7BD0A73E843F741096722E4B9A275AF69C97D4D3838BBCA37AEBCC52153B03F9C64BE04AF7BF9CFFB9E1C85BCDD5E3CA7062D671CF354321E4165EC602EB5F2CA02BEF4B8E79AC26D4C7CD8377813DDD69D39EA3D3D6FA15F09C81F404E622E3DEDE4176EA019ACAFDC02F8F1A113DF882F0E57F87D72958160A12D83FD7E3676C8FD7F9FBE950DF5EFE14D8F3D6140F28F07F5E0F45A01FC1EAF47C7F23EB569F27FDF7EAE83C8C04DB2F66B9BD81F764AA180F91E218222D00C1714520F4F580DD9F48C01FC65108D4B4DDF428480C10958AC1852A2F196AE4851833A17E4BF044E237010E95DA305318E91A9FDC28703AF4C6F6C9E1EE154F726F7C46DC073E325F2DB74A5CD05391D09FAE7A51219D0255B287E11D308F89E6BF461DC46B42247E4A159A4B8DD0B74C6A7DE0465F48D1CE21AC365F86E1EC2F4BFF09339C152623E22938E7AF21BE80FD3F9F8B820F829C59E0A6B8AA0D377C9A62AE98B8AF324DD75F1E87EC343623112DBB0B3CE5EB03B66ECEC8D8204FCF6BEA02D0E623374DBC58FBA098A44D8A2D0777944299777068ABA11A5A97C64FEAC9CA7DDE1A50CA2FCD2CD54BCB46A0FA08A515AF14B1FFB59E4794CD12732395A645C10E3A383E167B6A0329F1A709EA1508E299A8870643863C8752F0DBC206EE8A16847E915666E6CEA05340E541BEC10C05A14CB56AAF64AF3A8695014F6489A3D980802EC06CF6EE785042A07420A1019C7399F3220178B6C19F1CF1A4AD8603EBFC0859F6E648501037D509DD359448C04B238C8F73A5BFE4D171AFCB2610BFC192DBF0AACB22A4D3E5BEE12738CE7C3D3B32C9285DED73F08D90F3E451954A400C1ACA6234FD7BD0FE92D636C56FEBB0836995A5D3734D831B25395ED1A47AD4192A72FF70A2C9E62B1C8B31A192C2A709B1CA2C2C2B61A015ABD4D49404D4EAC73258A2C0AA84397B4B0D6F7FA828DEB129373331D9183E3C1B4ECE6379CB62E3F894BAE083F96AB662F30787D2DD33809CE2919C9E28F476251A04BB570DF3BFDD831A6BB52932CA8673F79744D7C792ACB681D56E361C89A76A256A0C63E8A711F5AB69017139D0CAA1CC78BA62016018A7FFC10F88808200D5FFCB57F8DFBAF467D37D25E76C4AC697C40646B982452C64EA4F4252557278F28747A71EAED9F04F67B22129BC5F39A6D54A38E2EBD01855FBD6F3F1F98413623101D226D506D2DADC58104A29C47C30A05900AF0242D2B2C2D16F8FA01A5F6120C04396C4893C398F4747B84A4BCBD284807D7FFDC9080C1DA883FD14445D34D54D5D6E14AD2DCDD4E4F7F535BD8DE163B3B40204744E1EA4C3C5ABFCF88655A6694D5C55F047205F0ACD5D5AF09B3F16ADD0F13C59E19C7934F9FC712C3DF0977D84BC5A855C719200843CA18954F054E0CF60280E00F739356F11FAB47AE8D39AA2CA210443798D9D2090286854C59218EE10856D224A4D0C4E5800F9D7912D47CD4DC2ABC3A5427E3FC993D7E4416950A91100EC10919DCF70100E56014253FB5AAD19C14967C206AB3DCF835C9FD141FF164B9162B976E58107047AB017F4D418346D36A2F46BA15AF60679A98C452A871DCC3258ECF94BAAB79123953A2FBB56AE011F447D6972DB9AF2A44FA0F537303C172807223F8BF0AAE62423BC19A194C4F4DBAB4E83921468F985A3B7134CBAC44E3666ADA34DD489D2B5BAE7C6E187D576B0B4849EE1D8E2109EB74B62BB04E5AF86A1D686BF2671ADBB5C9D87084D83C4FDE059C72F3ADBE365CF09AD8239D385C31435B9F5251DD01FAB817DD497A2CD39DDF363AA37846180F2C9D39281725E2BCA41AADF39CA83243AD24B50908ED5DD5816514962290FC888C611DDBEE98223F33E5922A5FBA5AA6A28A9654FD0EEB460F4C8FEEC1DD3651B7C3FD0A6388238EA2554E6519F812BF442D7267B03065F9C774B7DC18E969140AA2887E43CD6CD096D2658891B3676962E4D2857A420011A9FC4566057B26791A3F2601F8D3193ED909D1312B1879D36E32933E841BB7B66994B90C194961060DBEDA39F7B5D458701FC4188E3D0DE7334CDCE85EE5AD632F30A3B93135E66F886420BBA2F84923962B091819DBF6529445DE934B60DEBB3E00D5FBA888B6A5DB8AF5AA1B059CDF34845477C4CC60EC8BC0809778E7CA6DF320712C72AB6C272836E56FBE839CAEB47138098E231C1C04658DE224C80050ACFB30767EFF5FBCC0632EA26FA01F235A21ADBF298CC55957CB4A4E0E5AA6DBEE673BC7D13AE37920865CE019B6A19DAF0B05623666EFC7E8474A272F9A23336C1296F56F148AE5EDCC4E61D2FACD9F5136748E300959B1C098C0C345A34E96AF4B6E69A7B9070F3776DFF2DACE4DF89E43CE3F85C1FAB6A2C296ADE8265EAF5B092540C43A80432A8FB5F829388CFD7252CBBF46EEC84C33EEF0FA711B750EFCEF069F6D72B986FEFD84D10D675F8370935DA6D388C47DC6D50E8BF1E6ABBAB6F195E2AE212FAB5D7FF066E9BC71B91F75BAF9F3FD3D6EA4A24C19663C9CA15BF9F1451728DB2CE59E1DE7E716895F9F728A20251F734776EAC685371C80F2DFF27C24B855A395F17C0A30FA8281A9C7EB74404DBBD69CD69224D7E3737693FBBFB8ECD09A20AA76BCF1240BD87F0A26C49106103A773A79F0A4B7EA3EF526CFD2B2021A428CE499697FE7EE7481BD3981E5D18B14B553417000618079F967A53E5764447D1FD9BDA69DE860ED8C92D7642FFD2237329022EC6D00A99BAF34F9C143E08F1F103AA0FEADE9BD4312DB185CD727EE58460DFA185444131C66820F4DAABE4EB32208C5E73F14452822D4793B6982E425FB2EC80A56A52F92D88A2917047C31EFE6505F3F49194FF3246F1687A8196B80F4A8A4DE00FA395C7363B11DC7CE5E2CC16B0C580D7D54E1594C63DFC7638053EB87840EF9A98912934880A0F06D5A8A4E2F750D588E8F20747723B64487413E9B3A5F1FCBA7E474471D86DC6DDC2C97D55A6B54ABC41F5080202D766617893A6812F5CC94E6C4C873C5B2B28237B350DFE649BCB3331410C280DF6E2D159D11C81C5F134D24C51B2633DA653473924D5174B363630037C2D0A75A218AD934726D506D26F708DEFF873598DD0746494598D550C536F6B7507694A665EA6E56097BF9E4062B2C3C62272049C0BDE861E8B7906BC1379FDE14CC3FB5941455BE9226FDAF2C8396999EF89AA8A737F4593FBBD219F1EF395A0239AF7D71B03DF5D1F8519573FC037B970B9D5C0D8B96A06D86D2162EB0BD80A5937E62ABC6BC6415B0C711A849635CB3D4D0D172ED022C1986C89FF1A9C86800500D0019BFC5EA86F326FFCB14AE87A31BDDE7C0FE53AEE9BECE45AEF9B4BE7C4CC7DC52EF8036E095D1E41218504645B1A6BB806AB98359CB22E29C620C748900442F1FDDBEC57429FC9DF178B0FD446267C342666B196835B7B9005D73767600F2A0AC282A040BEBFBF294104268604EC0C1CDB00845C6232B09478AC80A050B292B022C1286867E1E76168A8D01A69AA2A2AAAEAEB59DB66626841B9305C9B2B866DA71572140DA581FDD8F962E30D8BEDC92A561BD26D6ED2BD7326BFF805D2F9693E0913C462B8ED92667084E9CBDF72E5E60D202A532EE60D4B56A4F6E3998D6CD9B278F5FB488AC37CB8026D58003E2661D6E249CA61C8BCC80F2DB1EA3F642F41375F31C1608D15FF728B6FC9686A26C8FF7E4A371D79B44452A11CF4D9BB459AA9D4370E04DBDA9275164CA0437550AB3B1D2A31686CB4B35C5D64FE627D2F7F3540F8720B4224C8D86027234919AD0DA90C748A86B6A60E00CFEF7CCC5A024AB40845EBF25EDEECCBC3B6C2698F7CE9BE16C032701663432B7A0C55082A9309EFCE9A03823220915677CA06588F0EF7979826A6CB88A57EF31D4C86D380FDD932EB052BEA14764DA76AFC4F90E5E2C22037A584E0038B348171729C3B75F5CD87E0C55D7119F6E50B704A7B396B6FE821976645801C6AFBF08878F29C9E7E7A4F956CBF73CBF7B8B57356BEE14C1B7ECFBB8ADDB4879BF742F344F9F137E402913F00D091324762D8883401DC01ECD0414B52D0CD005B42933F902988C14315CA05DC5093669A163B36AF46C30E1A5883861BB5221590984C385433B33A829635A3855F0C58E2E78F865B485C95A884869A755E11CEF9A3DC2823B8447DE1CCDF7F370CC22DA05674B10175C833A4E7FD52A935DB475A691F413261049DF7522514AA50BF86BCE7ACFE899C761A2DEF6072FA6B24B4EF47C2EA0A8EABB2ECB9799BF83E231080D02F62A46B1F7C1F3D37F5AD421CDE95F6733F76AA55A89D45B67902A9A87A3F9D316958F570C3B51E36745448A2F97EF493C131A6A1B594826CACADE05D88261F82D7AD1CB7D9BC0D5A4392F7D3E633EED5CA6EADC5F5D6E21364EE6C8DA76A2E91A35B4884DE6B0522BDD1D572CC57F2E72AE0455DEBBBD6FA76F35E74CA76A582ECC6F6D6D677DE1938607375FCB4AFF899044D854DC5331C2F41F0BEF6099BD65E57187E87F3307106684B3AB07807FF3E9C672B7F230F7FDFC9F4DF20A3CF6557DFDF489F35915B2882E1966BADC34B8B50DD966D7A5DAD99A79A55F1E8EDC7F5F0F127131BA06359E22411BFDB5F19D3A29C68A830B917D1FBBB0A0EF3563DB9BC8D2A9F8C31BD65F918B2A21F8C026BC6C6F05D34AD9CBB0CD782BB5A33434BD0B64850663B02F4FF6BD6EFAEDDCEE9B8830771D738B9A9A6D3DEB5F0BFACF4CA80E768FA8538A1EBE4751323E7C5B093E5C76722ACC7830FE01F1733D93D52D8A9806FC98B9125E0BCE979C541EC41645199A117CFE9FC1C2E15E0DCA951964ED4B4E4DEF434A07D9F7030B8656AAC30DFF533882B4CF3D06AF5E2531579A484295072AE53A310ABB0EC78509F0D6246123C415E17C1FC650779AD3E4D34DDB4D1E3B839F459EE6E6D1D223E48D3BDE2EF177787AE2F6051D873524EA9833F8381BF3E1D36E299C0131ECA26AF329885ACDF31A13792575AA594067F0D7A2869A108B4EAAB5062C5791414609D21958BE4F98B534CED130C32D7B224D2975415152C00A89B26A08EF5316F7B9268BE94F574616C126101BA937BA9423F601C4B01AC18BFA2A0E85BBFBFBA91E97D51EE6230149E354968357738A69034640507056F1FFFA57D1C9BC5489C0D5E7C3CE1F38A10B6777052E963616164C1DFC228BD071AB052F008822C60BC02C2824704EA2E2E28823838D6D165637F19A7EB5B0A828BC02C2723DFF6DBDF463EA797CEC3CD556ED7071633ED40FB2663A8E5D817D9E36FE4E9ECE9E354DE912E9916C594D2836515E822B733C5E4AFC34E1D6D567E713120EF4AEA985011DBF4892C0082BEE8F2326D205DFE8C3E074209040004C0000000403000002980EE3A5A55E2D3D1D351B0020000000636170636F6D5F6D617031286279206272656E64616E292E61637400F0E6E8490D59908FE4C8DEE07590CCC7F4B541590D0909050084A84A8510970A8034340427138B21B5477B0F2FBE46FBEEB92E3D75A60EB33314025A3C464B72ECB68B423EF03CCAFEFBFA64C252F080392A74209040004E00000004030000025D26E984C65E2D3D1D351B0020000000636170636F6D5F6D617032286279206272656E64616E292E61637400F02CAC6D0D5990CBE48EE067609FE3B5365C084D4907F4B8573EA4718309AD16608495359705E25A4838C3BC8F67DF61BEFB67926F4B4C2D66AA3B01D99F5F10D25AC786B602E69CAE267F7BFEF830999788B9D274209040003F00000004030000022418DC3ADB5E2D3D1D351B0020000000636170636F6D5F6D617033286279206272656E64616E292E61637400B0AE4C2D0D4D5093E50B107B884FA937B0A7108257108210E87410BF266E6C2438EE890B3D2AF2D465B4ED4CA58606EC48B013D157D87FF41EA7EA04E11FDFC98A9D650D6C74209040004100000004030000021A98947B625F2D3D1D351B0020000000636170636F6D5F6D617034286279206272656E64616E292E61637400B0AE4C2D0C1110CBE50B906721352A20ED4708E1197C542597FF7AB208B3E1F042F59BD6407266237329257F8F583F8DFE3B037D1C1B5F153320F4792E8F0A47F3131536CA00ED74209040003800000004030000028B17FD8A32602D3D1D351B0020000000636170636F6D5F6D617035286279206272656E64616E292E61637400F0A8D4550D0C1093E50B507C210510813C0A220A01061208A11FA4BBB21F09C8ECF18BDB51B6CBA2942C60DAA54D1EF2E4C8971594FE7FE34C827DC41B597420904000400000000403000002ACE7CA8D85602D3D1D351B0020000000636170636F6D5F6D617036286279206272656E64616E292E61637400F084D7171115508FE4C841CE427D2261692A0408A410825790821258582178CF866174476D1ABEF2377D69A53A6543615987C054DCFB18BCC08322DB9DFDCFE76623BCD23C4C74209040003D0000000403000002AFB34F7D99602D3D1D351B0020000000636170636F6D5F6D617037286279206272656E64616E292E61637400B0FCBE801151148FE4CBE83821391F30C2D254149608913E2544A4B25910BC677E81CDA8DF6E6B0BF0FF40FDA247A076ACBC9CE2A482A2C22C5E67FE9CC8375B4045407420903C00A20B0000772800000240E0F31EFC692D3D1D3517002000000070616C6C6574655F737570706F7228676D36292E676D3600F0726F91E7187E9143A4DA7EE04C6F2C214A327DCD15F353BF29104D9BCDC753F18C37845F0D576135EA96DA1E0BE329FD004D52B2EC27BF0EA5C019E73FB624FEA26AD94627E599C03BB0E68F8AFA3CEA2186B6213C2654792F251E01E5A102258FC921670CCFB4E2E22755F2EAA6D9C255FD5F7FFE13F6D3B4A82D430ACED7A4CCBBE163C6C3A680BD8A4B34E544CE0298FA6E37131BF4320F65F7B3E0C12B08CA69EE2BFCECC7877A4593CC81368986085B8DC51C8581851DB4AD68C166164F6C96CC8AF12DFA37B88E83737BFEDAD04411B8EA3E0DCDF48535877BC80639ACD58D41421815A07781002D16DC692127756CBD36BC69E0B488552DB70D34DFE44903118C5D5D5CCB9622E02339870E153D171CB56829A5BBD8F0ED380A28E88D79BA7A54FE54FAEB99912AB0B882C338FFFC87A7A8D7C0AF1EE565831CCE3047193E83381E0FABA690276DE545337BC564CC0CC631E931C9B23ABCC80F7A7D340A3A34108A860CAA1A2C7B714D84FBF325656F1CA90CF20C5748DBBEE53E09ED500D09E99A2EADC5BBBC6FFE27CCB2DCCBE2D5801B9BAE8991D6AF41B406E2B2215336AEE1C502135165A4CD6C10C2A09B3326CF5CBB54311DA13F192CEA4DC9C3971905C73DCB519B022CF40A2108A42FA4B328A4F265A317CE9BAD3225AEBE313664E2097B7A32BD975AD63C0E66BAABE6477209EA841016ACFBEB9E889FF8945FCC9F7F919051348AB2F878E48758F0149E8FF49B911B0853F9322690FBDB92697C98308031B33C451D5695ABBFC6223BE116D27C6938DAB7258CCF2C76308384FC5568BEEE1F1896903E508E70DC7122BE09D10EDDF2BFFED0AFCE57D9761FAB9EA8A63CEC94A5B31EE679E2DEEB936680B2A3EFD24660C93857807A31652516E0FF3AC73CEC96D93615220255D2BBE3A8C6C967A7160DF400D40A69554D60102257E3395E611871F1F8A07EC82FF1D0BBE5248362BD95CF6F71706E0A78CA9F2F96E942230C1203A49012BE8809734BA1A429244B63BBF622F95A9DC469DBC858CC34253220E7296EC7AE4DDAC07F7CB5CB7CDACFCED3E550F9C615AB9349D3E8ECB86D1FBD3DB16CE0904ED357BE0A5CBA7BE8954BF45DA4283CBEBE50D810715BE98DFB4A14CFBFB5CD1E380A727DEB8B19122ACBCF8C79E130B50AA96A54EE2C66D6DF9DBA43E3859747D99A1B66F49FB05A7398C3DA1432D2A8E6C9D98E76C2513F78F5490566D67D24B85D75FDD82574373EF6615E41416276B97C28F408B9EA46933EE734324E335F2A0B737C66652E4181409CA49595EE2FB77F72508A43FE2F2B8202CD102AAD2777CB2F671C731F96B4D4ABC723A398F9AF6C7BDBC5458159AAF1AF0C5EC024BC7D04226AFA957EE727034C616332B8590128078489D97931DEACE465D22046FBE668169B8E7B167FFCCED9D52CAE796AE2321D6576A22A48332836F293DF596EE10C38E3B3BD5122F4EF2DD136971F793C1C8EF157EED0C0227E599B9F943A65DE8AF4E6547AEC4A31C85CC5270E13CFBFF34E1D9745D5C9E4BC5D75FF2854F76575373F5627B2453780870CB7BFA4C18C29E26333DA87C1CD066BBF32E2B8D2781906A5A41DC2BF258020FFFF1AE8C5A76A87E95A7B84B3CB744E97081F50299619B4764E6ECFDCD8E63FB7BEFBA84CD0E390838FEEB709736486BE9E31E6017B8738E43675811BE1C5230DE07C31A5BCD4F28DDF3D3D825BB40B73183AF633AC5E5C09F279703A702028DA1405A36575CC1DD3200B582D78788E23A358F7037A7FC1D783B14FA2B4145547351CF89CE8D262C53C64CD9148FD9E2FFA1A19B9321561BDA951DE4D0924ECEBCE82EBAA1E7D64A88CD41179AAD0A4A312B2A1774C8B30CE28435B37267F8BA0458B4A53EA086ACD9F097E48CB62D0C34E94008C55DEB31E34D4FA13F3FFFCE830C5E38FC17D240D207001E12DB118C906B43E3AD1224B58134C0E07E685A5A4E4723FDEE879AA6AA2F13E66CB5B80CF942E7E61223BDBCD2FE5460A8244E4A7D7E60065F61E892FE59E74FA3160C24B17A04BB6A671905135D91105FE3CB75D2883E59F3B32096BC6ADC1378E2B975A38D1F7537AFF3B371819C39A861C28A88F604A14D1CC5182CF42AD67C3C53584367C9A526280D583A56AEC41AEBB1512B7E640EAB34B6B2E30FBDCAAEA21EAF83CA69A4FDB83E57E24705515273C0F45F5AB0A43CC0D8D4E61ECDAB651651F5CDFEB43850406FF509CBB9BCB56F2E1ED7D7BFF8D578FB43EDEC079875966FDED167C1DA00F788FF1A8A77990EC87B77B5496069BBC3B4AD5EEFCAB2890389697227BF4587ACC92CDBEC6BB7931B8B507582C67AD510F90B5420BB3E417A0198C12514849A51ADA5231A530FDC1358E1771805531767113CE0C3EAE342B62AE31F36CC9D32A982D42C322FA8BB96EA8C68917F931F37AB7E4816005CEB0EF0838A5486C0F4C213D4987D4410DE400C9BF392262F1AB1B0404CA9378FD4FC599E5E7DCFC5613EF2033CA091384161C27FF189D957112A4DAA6488882398E2D1B69EF303EA97BAC723BB59CEBB8D2F4EF002DFFA278F97F18BE8503B82008C1C96CAD4F692521A2E01D09321EBC75F8BD7D4CF87F36E4A12DC8367D338F3A344386836EC0AF43334EEF6FBD47BB4BF03FBF8B1BB184C633FC13ACDDAA33DF8C3D9150C1DA6A7C9B561DBFFA1C11BCD5C0D58AFC4A532F36E6285897C6FBD491D8E66EDF54857B16696F94814ED1973C012CA99F39F2009A1347032665E0778A3C5C307B1ABFB46DC02F8F64DAF5CFFB37863910A322E4D6765D26BD54769FFA63D7DA34330B5A5565C1D3EB8A3D7768EC03F983819DDEE49353919EF73256ECE80AB6F0BA46D1652B3A5B6AE742526F78462605F9C704962CB583DAF1D942974A1E4D34535C34D1957CB59E1E23FE0283D7A539D4D24D6DA8B2CDCD5FC007693F698AA2FAE26E11B85263C064100235408B3A96BF325FB3DD88275702C928332E9522A318699632A1D3306DD8B2E2531E257D00296E086CD6E293C6503DA062919649D407D0F3BAE57CADF7259C106C72135F4E4E520A365D2DD034E29EE36C35C9B30F77B882574AD60DEF33258F479F64F137E3E7543D1CB8F6F6DB3CFFD73A1FB8133BAD470C6A1B36F446D455C1F04C130F1C48ACF68CF21056F6297E1AA7FA44C132A9CD633BFF157BDC0480A41842097C4249DD2524F6DF6EFBD827AA8BE7FB51D5AE0E9497FF76634B8B76F4500CA1CCC21EFBBEE316F7D3D91A1F1FD3661E3115C95610522815D41FE72FC23E6D032FA2BD4C85D19B2B2A52D085CFF72C6FD970D075513A2B9321A95E5C948773DC3662D4E554B04DBA70F0C1B8DC93A24DB3EBEEF78E4C018E7EE5F5739A6B787292E25C46B504C06095737F19EAD2CCBD3EBF1B525731A68741CA348891D13D61D189A2EBB6E35586A20B2D77828D32113502A291B7D738E32DC0B36C5757A47DA12C2161D6B429A490526FA34DC22F62E778C6F9FF2BE6508B4487E15E417528FE5477CB141442D3C0E1B63F9063A7A610497EBB9E275C5D4B0D7C6B3F4FC2BDE9C9E0324A007F05EDDB963E2BB15BA651AB5DB3E882A3B6BAF6FD577C64C054DD1241E7199CC36AFA0BE3B3C3EE547E17ED91358EA22FF29AAB60267AEF829797C4C1D4FB70669030B511056C7AAF3E1685A53EA14E06A1B81EA9DAC301184A35FDC8145F971C7AD736EB4D2BEB86D7ED6FFA11DD3432A7E61FC36CAD386D44B67EAD7E6FC6621BF137C230CEC626A0DC77752CB8D22CA9C2F4992BE13B60232C43FA4F201573C7A2925C7CF962B8E528B1ABED539BF2F47C60DD6950CFE1075D27DF1021655144ADB97104FAF681558DD387ADE1B7011A1FB368A27127E2FCFAEE0C46B8BA12D2A07974ECDEC74AD8F6CA21AA5341BF65DE26E2677C46CDDE3C2F07E2C31545D34E9CFB54168982E552328E5281A3DE84CAFC58C9BD181E9173067402FE1A8184DA50C59249AEF7934051BE6ED7B61A0D8D258554575012ACAEE49C9947BA8B2CF9F7410390BFED6E82D0C09B7F6BF30FD3ECA18A6E13BDF9C0EB9D874EB2F6EDD8341190BF841F6F655A342C84F45887CA9DFEC775B9782BA348F52B6A55F33C901D77B588F8B7467F918E4C7B0FA8D8769887314B8B3F947F60CF2CF95A46AF672728BD42A23138883B50E18EC75183A0210E2C84DBDC02180000BF8867F6A9FFD4C43D7B00400700
Cores Indexadas
Toda imagem que é mostrada no nosso pc possui uma "estrutura própria" que diz como os pixels que a compõem estão arranjados para que ela possa ser vista por nós (pelo olho humano). Dentre os vários tipos dessa estrutura, existe uma que é bem comum quando se trata de jogos (de qualquer plataforma), que é a imagem de cores indexadas. Ela vem pra reduzir o tamanho da imagem (em disco) além de tornar o processo de leitura mais rápido que os demais. Nesse tutorial que eu fiz você vai entender como este esquema de cores funciona em um arquivo:
http://www.gamemakerbrasil.com/tutoriais-f17/rgb-e-games-as-cores-no-pc-t211.htm?highlight=cores
http://www.gamemakerbrasil.com/tutoriais-f17/rgb-e-games-criando-paletas-para-o-seu-game-t212.htm?highlight=paletas
Mesmo nas versões mais atuais, o Game Maker ainda não oferece suporte a paleta de cores, mas eu consegui criar um esquema legal pra trocar a paleta dos arquivos gif antes de importálos como sprites. Isso vai te dar um leque enorme de possibilidades, visto que a troca da paleta pode te poupar muito tempo de programação e memória pro seu jogo (e consequentemente velocidade).
O método é super simples e consiste em abrir a imagem em modo binário, substituir a sequência de bits da paleta interna do arquivo por uma sequência igual ou menor de uma paleta externa, do tipo *.act (super comum, fácil de fazer no Photoshop ou qualquer outro), e pra que conhece o Mugen já tá mais do que acostumado em lidar com esse tipo de arquivo e trabalhar com ele.
GM6, GM7 ou GM8 - Como usar o script:
O script é idêntico à função sprite_add, exceto pelo fato de que o arquivo da paleta também é especificado. Para que o trabalho de alteração do seu projeto fosse mais fácil pra você, eu coloquei a paleta como primeiro argumento do script, daí você pode fazer uma substituição do "sprite_add(" por "sprite_add_pallete('paleta',"
sprite_add_pallete('arquivo da paleta', 'arquivo', imagenumb, precise, transparent, smooth, preload, xorigin, yorigin)
Download do exemplo com script: http://www.4shared.com/file/i88Z-Kok/Pallete_support_for_Game_Maker.html
Créditos: Criado por BrendanLS (Capitão Commando). Não é obrigado a colocar créditos, ok? Até mais aew e boa sorte.
Última edição por Capitão Commando em Qua 15 Set 2010, 00:38, editado 2 vez(es)
Convidad- Convidado
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Simplesmente foda. O Mugen antigo pakas ja trabalhava dessa forma, não entendia pq o GM não tinha nada parecido. Vc é o cara.
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Anderson3d escreveu:Simplesmente foda. O Mugen antigo pakas ja trabalhava dessa forma, não entendia pq o GM não tinha nada parecido. Vc é o cara.
Valeu Anderson. Agora é simplesmente um leque gigante de possibilidades. Eu já tô reestruturando um monte de projeto meu aqui com esse novo esquema hehe! Acho que o GM não tinha isso ainda pra não "dar trabalho" pro usuário, já que ele teria que trabalhar com paletas além das imagens...
Valeu!
Convidad- Convidado
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
ah cara ele serve pra qual gmk 7,8 e sério o mugem é muito bom eu já falei como eu não sei criar os chars(eu já tentei mas consegui criar um char com funções básicas andar,pular,morrer,atirar)eu uso um programa pra retirar uns sprites
mas serio este esquema é muito loko msm,eu tinha o mugen a algun tempo meu irmão juubi já fez um game com uns 250 chars só de naruto,ew eu nunca pensei nisso^^
como se diz cara vc é o cara!!!
flws!!!
mas serio este esquema é muito loko msm,eu tinha o mugen a algun tempo meu irmão juubi já fez um game com uns 250 chars só de naruto,ew eu nunca pensei nisso^^
como se diz cara vc é o cara!!!
flws!!!
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Kyuubi escreveu:ah cara ele serve pra qual gmk 7,8 e sério o mugem é muito bom eu já falei como eu não sei criar os chars(eu já tentei mas consegui criar um char com funções básicas andar,pular,morrer,atirar)eu uso um programa pra retirar uns sprites
mas serio este esquema é muito loko msm,eu tinha o mugen a algun tempo meu irmão juubi já fez um game com uns 250 chars só de naruto,ew eu nunca pensei nisso^^
como se diz cara vc é o cara!!!
flws!!!
Ele serve pros GM's 6, 7 e 8, todos na versão "Pro". O Mugen eu demorei um tempão pra pegar o jeito, mas depois fica bem fácil. O foda é que demora pacas pra criar um jogo nele, fazer um personagem bem feito pode demorar meses!
Mas esse esquema de paletas é massa d+... tomara que a galera aprenda a usar.
Convidad- Convidado
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Cara, se desse para explicar, ou algo assim...
Pq tá muito difícil de entender
Pq tá muito difícil de entender
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
vitor_liminha123 escreveu:Cara, se desse para explicar, ou algo assim...
Pq tá muito difícil de entender
Quando adicionamos um sprite ao projeto, normalmente o fazemos pela opção "Add Sprite" na janela do próprio projeto. Mas é possível adicionar um sprite através de código, usando uma função chamada sprite_add(). Quando essa função é usada, ela "procura" um arquivo predefinido no disco e joga pra memória, pra gente poder usar durante o jogo.
O Game Maker permite que façamos isso com vários tipos de arquivos. Dentre os melhores pra se usar em jogos, o GM não permite que usemos arquivos BMP-8b ou GIF (que são os mais comuns de cores indexadas junto com o PCX) alterando a paleta de cores interna do arquivo! Essa paleta de cores funciona como uma tabela pra indicar quais cores o arquivo vai usar ao ser aberto. Isso é compactação de informação, pra deixar o arquivo menor.
Quando usamos o GIF (que usa paleta de cor) o GM simplesmente "pega" a paleta interna do arquivo e não permite que usemos outra além dela, ou seja, as cores daquele sprite serão sempre aquelas de um jeito ou de outro.
O que eu fiz?
Eu fiz uma cópia do arquivo original do sprite através de uma função (como no sprite_add que eu citei), porém, eu abri esse arquivo no modo binário e editei a paleta antes de importá-la no jogo. Sacou? Daí o Game Maker importa o arquivo com a paleta interna, mas, ela foi alterada por nós.
Tudo isso é feito pelo script. Ele está bem exemplificado, mas se tiver mais dúvidas eu posto outro exemplo pra você . Nu tutorial, eu expliquei bem básico, como funciona o esquema de paletas de cores. ;)
Convidad- Convidado
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Incrivel!
Muito bom, ainda não testei, mas vou fazer isso assim que puder!
Se realmente funcionar, Fight Arena vai ganhar personagens com cores diferentes para cada time! Achei que ia ter que mudar cada sprite u_ú
Mal posso esperar para testar!
Editar o arquivo da imagem, ótima idéia. Para isso você teve que aprender como funciona o formato da imagem, certo?
Muito bom, ainda não testei, mas vou fazer isso assim que puder!
Se realmente funcionar, Fight Arena vai ganhar personagens com cores diferentes para cada time! Achei que ia ter que mudar cada sprite u_ú
Mal posso esperar para testar!
Editar o arquivo da imagem, ótima idéia. Para isso você teve que aprender como funciona o formato da imagem, certo?
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Fatastico Captão, isso só poderia ter vindo de voce mesmo hehhh. Mais como o JanX disse, tem que ter um conhecimento profundo sobre o formato do arquivo. Atualmente pouco se usa cores indexadas pois utilizamos true color com blend modes etc.. Mas é uma técnica muito interessante.
Mas sua idéia foi muito interessante, inclusive tem aqueles efeitos de rotação de paleta que eram muito interessantes, o pessoal fazia efeitos muito interessantes.
flws!
Mas sua idéia foi muito interessante, inclusive tem aqueles efeitos de rotação de paleta que eram muito interessantes, o pessoal fazia efeitos muito interessantes.
flws!
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Vc é hacker, engenheiro da computação ou coisa do tipo? isso não é humano cara...Capitão Commando escreveu:vitor_liminha123 escreveu:Cara, se desse para explicar, ou algo assim...
Pq tá muito difícil de entender
Quando adicionamos um sprite ao projeto, normalmente o fazemos pela opção "Add Sprite" na janela do próprio projeto. Mas é possível adicionar um sprite através de código, usando uma função chamada sprite_add(). Quando essa função é usada, ela "procura" um arquivo predefinido no disco e joga pra memória, pra gente poder usar durante o jogo.
O Game Maker permite que façamos isso com vários tipos de arquivos. Dentre os melhores pra se usar em jogos, o GM não permite que usemos arquivos BMP-8b ou GIF (que são os mais comuns de cores indexadas junto com o PCX) alterando a paleta de cores interna do arquivo! Essa paleta de cores funciona como uma tabela pra indicar quais cores o arquivo vai usar ao ser aberto. Isso é compactação de informação, pra deixar o arquivo menor.
Quando usamos o GIF (que usa paleta de cor) o GM simplesmente "pega" a paleta interna do arquivo e não permite que usemos outra além dela, ou seja, as cores daquele sprite serão sempre aquelas de um jeito ou de outro.
O que eu fiz?
Eu fiz uma cópia do arquivo original do sprite através de uma função (como no sprite_add que eu citei), porém, eu abri esse arquivo no modo binário e editei a paleta antes de importá-la no jogo. Sacou? Daí o Game Maker importa o arquivo com a paleta interna, mas, ela foi alterada por nós.
Tudo isso é feito pelo script. Ele está bem exemplificado, mas se tiver mais dúvidas eu posto outro exemplo pra você . Nu tutorial, eu expliquei bem básico, como funciona o esquema de paletas de cores. ;)
Re: Suporte à paleta de cores (Indexed Colors) no Game Maker!!!
Janx escreveu:Editar o arquivo da imagem, ótima idéia. Para isso você teve que aprender como funciona o formato da imagem, certo?
Além do GIF, eu estudei a estrutura de arquivos PCX e BMP-8b (bitmap indexado). Esses dias eu criei um suporte (no mesmo estilo desse) pra arquivos PCX no Gm. E o mais legal foi que eu criei a função pra ir desenhado pixel por pixel do PCX dentro de uma surface no GM, ou seja, sem dll nenhuma, fiz a coisa "no braço mesmo".
Porém, o PCX também tem compactação, isso é que é a parte difícil e eu ainda não entendi muito bem, mas com o tempo talvez eu consiga. Eu tô criando um projeto no GM, o mais legal que eu já fiz, nunca vi ninguém fazer nada parecido, e pra esse projeto eu criei além de um formato próprio de imagem que eu chamei de "Minilab Picture", criei um paleta 256 cores padrão pra esse sistema (tipo aquelas padrões do Windos e do Mac).
Já tô nesse projeto há mais de um ano. Eu tinha parado pra me dedicar à um outro que é um programa linha de comando pra administração de redes, mas há uns quatro meses eu voltei a mexer. Eu acredito que quem baixar vai gostar.
vinians escreveu:Fatastico Captão, isso só poderia ter vindo de voce mesmo hehhh. Mais como o JanX disse, tem que ter um conhecimento profundo sobre o formato do arquivo. Atualmente pouco se usa cores indexadas pois utilizamos true color com blend modes etc.. Mas é uma técnica muito interessante.
Mas sua idéia foi muito interessante, inclusive tem aqueles efeitos de rotação de paleta que eram muito interessantes, o pessoal fazia efeitos muito interessantes.
flws!
Brigadão vini! Bom te ver de novo cara...
Olha, não sei se é verdade mas dizem que imagens fractais são feitas com apenas um algoritmo pra criar as formas. O resto é tudo rotação de paleta, pura e simples! Mas eu nem sei por onde começar a criar uma imagem fractal kkk
Anderson3d escreveu:Vc é hacker, engenheiro da computação ou coisa do tipo? isso não é humano cara..
ahuauahauhauh Brigadão pela força Anderson!
Convidad- Convidado
Tópicos semelhantes
» [pergunta] Game Maker 8 tem suporte pra animações em flash?
» Cores do Game Maker
» Mais Cores nos seus Jogos - Paleta RGB
» [Ajuda] - Paleta de cores
» [Info] Game Maker studio Versus Game Maker 8.0
» Cores do Game Maker
» Mais Cores nos seus Jogos - Paleta RGB
» [Ajuda] - Paleta de cores
» [Info] Game Maker studio Versus Game Maker 8.0
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos