{"id":88102,"date":"2023-10-05T18:01:44","date_gmt":"2023-10-05T17:01:44","guid":{"rendered":"https:\/\/generalhealthcare.in\/?p=88102"},"modified":"2023-11-17T11:29:49","modified_gmt":"2023-11-17T11:29:49","slug":"teste-unitario-o-que-sao-por-que-usar-e-por-onde","status":"publish","type":"post","link":"https:\/\/generalhealthcare.in\/index.php\/2023\/10\/05\/teste-unitario-o-que-sao-por-que-usar-e-por-onde\/","title":{"rendered":"Teste unit\u00e1rio: o que s\u00e3o, por que usar e por onde come\u00e7ar? Insights para te ajudar na carreira em tecnologia Blog da Trybe"},"content":{"rendered":"<p>O c\u00f3digo JavaScript \u00e9 escrito para cada p\u00e1gina de um site ou de cada<br \/>\nm\u00f3dulo de uma aplica\u00e7\u00e3o e est\u00e1 intimamente misturado com a l\u00f3gica de back-end e<br \/>\nHTML. No pior dos casos, o c\u00f3digo \u00e9 completamente <a href=\"https:\/\/www.acessa.com\/tecnologia\/2023\/11\/186143-dicas-para-escolher-o-melhor-curso-de-cientista-de-dados.html\">curso de cientista de dados<\/a> misturado com a HTML, como<br \/>\nnos manipuladores de eventos in-line. Este \u00e9 provavelmente o caso de quando<br \/>\nnenhuma biblioteca JavaScript est\u00e1 sendo usada para qualquer abstra\u00e7\u00e3o DOM.<\/p>\n<ul>\n<li>Tamb\u00e9m s\u00e3o utilizados para a cria\u00e7\u00e3o das classes referenciadas nos c\u00f3digos de teste, agilizando a codifica\u00e7\u00e3o; j.<\/li>\n<li>Uma lista de objetos de log da classe logging.LogRecord que foram compat\u00edveis com os crit\u00e9rios dados.<\/li>\n<li>Al\u00e9m disso, uma boa documenta\u00e7\u00e3o pode servir de aux\u00edlio para novos usu\u00e1rios do sistema, funcionando como um guia para garantir que as pessoas que fa\u00e7am uso, tenham acesso e conhecimento das funcionalidades poss\u00edveis.<\/li>\n<li>Caso seja necess\u00e1rio executar comportamentos ainda n\u00e3o implementados, utiliza-se da cria\u00e7\u00e3o de \u201cstubs\u201d (outra abordagem utilizada \u00e9 a cria\u00e7\u00e3o de objetos Mock) que substituir\u00e3o temporariamente o comportamento esperado.<\/li>\n<\/ul>\n<p>Tal como outras ferramentas de automa\u00e7\u00e3o, \u00e9 importante utilizar judiciosamente os testes unit\u00e1rios e seguir as melhores pr\u00e1ticas da ind\u00fastria. As equipas podem revisitar os casos de teste tantas vezes quantas forem necess\u00e1rias para alcan\u00e7ar os resultados desejados. \u00c9 poss\u00edvel parar um teste unit\u00e1rio, o que significa que o componente ou o caso de teste falhou t\u00e3o severamente que n\u00e3o vale a pena continuar. Escrever casos de teste de unidade de escrita pode tornar-se complicado dependendo do componente a testar; a escrita do teste de unidade deve centrar-se nos mesmos tr\u00eas pontos. Note-se que pode haver ligeiras diferen\u00e7as entre testes manuais e automatizados, mas o processo \u00e9 essencialmente o mesmo. Os testes de software s\u00e3o t\u00e3o complexos como os programas que testa, o que significa que v\u00e1rios termos e tipos realizam coisas diferentes.<\/p>\n<h2>Fornece documenta\u00e7\u00e3o<\/h2>\n<p>Jo\u00e3o Vitor \u00e9 monitor na escola Front-end e  bacharel em Sistemas de Informa\u00e7\u00e3o. Apaixonado por tecnologia, jogos, caf\u00e9 e programa\u00e7\u00e3o, passa seu tempo livre viajando e brincando com sua cachorrinha Cacau. Requer que todos os objetos do tipo Executable passados como par\u00e2metro n\u00e3o <a href=\"https:\/\/jornalpequeno.com.br\/2023\/11\/16\/como-escolher-um-curso-para-trabalhar-com-desenvolvimento-web\/\">https:\/\/jornalpequeno.com.br\/2023\/11\/16\/como-escolher-um-curso-para-trabalhar-com-desenvolvimento-web\/<\/a> lan\u00e7am exce\u00e7\u00f5es. Requer que todos os objetos do tipo Iterable passados como par\u00e2metro sejam iguais. Nesta nova vers\u00e3o do c\u00f3digo a cada vez que precisamos de uma nova inst\u00e2ncia de Logger solicitamos ao m\u00e9todo de f\u00e1brica que gere uma nova, dessa forma descartando a anterior.<\/p>\n<div style='border: black dotted 1px;padding: 14px;'>\n<h3>Prova Pr\u00e1tica de TI do Serpro: A Primeira da Hist\u00f3ria dos Concursos P\u00fablicos. &#8211; Estrat\u00e9gia Concursos<\/h3>\n<p>Prova Pr\u00e1tica de TI do Serpro: A Primeira da Hist\u00f3ria dos Concursos P\u00fablicos..<\/p>\n<p>Posted: Wed, 11 Oct 2023 07:00:00 GMT [<a href='https:\/\/news.google.com\/rss\/articles\/CBMiT2h0dHBzOi8vd3d3LmVzdHJhdGVnaWFjb25jdXJzb3MuY29tLmJyL2Jsb2cvcHJvdmEtcHJhdGljYS10aS1wcmltZWlyYS1oaXN0b3JpYS_SAVNodHRwczovL3d3dy5lc3RyYXRlZ2lhY29uY3Vyc29zLmNvbS5ici9ibG9nL3Byb3ZhLXByYXRpY2EtdGktcHJpbWVpcmEtaGlzdG9yaWEvYW1wLw?oc=5' rel=\"nofollow\">source<\/a>]<\/p>\n<\/div>\n<p>O YUI<br \/>\ninclui v\u00e1rios recursos do n\u00facleo do CSS e est\u00e1 dispon\u00edvel sob a licen\u00e7a BSD. Foi desenvolvido<br \/>\nativamente por uma equipe central de engenheiros do Yahoo! e \u00e9 hoje um projeto<br \/>\namplamente aceito e reconhecido pela comunidade. Nessa<br \/>\nlistagem extra\u00edmos a  chamada para nossaData() na fun\u00e7\u00e3o date, colocando a<br \/>\nvari\u00e1vel now para dentro da fun\u00e7\u00e3o.<\/p>\n<h2>Desvantagens do uso dos Testes Unit\u00e1rios<\/h2>\n<p>Atualmente, estamos chamando nossaData() para<br \/>\ncada afirma\u00e7\u00e3o e passando o argumento now. Poder\u00edamos facilmente refatorar isso<br \/>\nem um m\u00e9todo de asser\u00e7\u00e3o customizado, como mostrado na Listagem 9. No<br \/>\nfinal, ele vai mostrar um resumo do mesmo com o n\u00famero total de testes, os que<br \/>\nfalharam e os que foram bem-sucedidos. Este<br \/>\nproblema quer dizer que para adicionar testes ao c\u00f3digo existente voc\u00ea tem que<br \/>\ncorrer o risco de quebrar as coisas. Ent\u00e3o, at\u00e9 que voc\u00ea tenha cobertura s\u00f3lida<br \/>\ncom testes de unidade, voc\u00ea precisa continuar testando manualmente para<br \/>\nminimizar esse risco. A sintaxe TDD \u00e9 puro JavaScript com m\u00e9todos de biblioteca<br \/>\nsimilares aos frameworks xUnit.<\/p>\n<ul>\n<li>Dependendo da sofistica\u00e7\u00e3o do seu framework mock, isso pode impor<br \/>\nv\u00e1rias restri\u00e7\u00f5es e\/ou fazer com que o desenvolvedor pule alguns passos para ir<br \/>\ndireto ao trabalho pronto.<\/li>\n<li>Note ainda, que por termos rotinas de testes isoladas conseguimos execut\u00e1-las diversas vezes.<\/li>\n<li>O alcance e<br \/>\ncobertura dos m\u00e9todos de asser\u00e7\u00e3o e o ciclo de vida de configura\u00e7\u00e3o entre as<br \/>\nbibliotecas pode variar, mas em geral como eles ser\u00e3o constru\u00eddos depende dos<br \/>\nobjetivos de design suportados pela metodologia usada.<\/li>\n<li>Apesar de ser uma<br \/>\nlinguagem server side (no conceito de aplica\u00e7\u00f5es cliente-servidor), o Java e o<br \/>\nJUnit tiveram papel de extrema import\u00e2ncia para a populariza\u00e7\u00e3o e aceita\u00e7\u00e3o dos<br \/>\ntestes unit\u00e1rios por parte dos desenvolvedores de uma forma geral.<\/li>\n<li>\u00c9 comum, inclusive, associar o desenvolvimento de softwares<br \/>\ncorporativos a essa ideia em espec\u00edfico, mas o DDD vai al\u00e9m e mostra formas e<br \/>\npadr\u00f5es de conceitualizar tudo isso em um modelo de dom\u00ednio.<\/li>\n<\/ul>\n<p>Testa se first e second s\u00e3o (ou n\u00e3o s\u00e3o) aproximadamente iguais considerando a diferen\u00e7a entre eles, arredondando para o n\u00famero de casas decimais dado (7 por padr\u00e3o), e comparando a zero. Note que estes m\u00e9todos arredondam os valores considerando o n\u00famero de casas decimais (i.e. como a fun\u00e7\u00e3o round()) e n\u00e3o o n\u00famero de algarismos significativos. Um gerenciador de contexto para testar que nenhuma mensagem \u00e9 logada no logger ou um dos seus filhos, com pelo menos o level fornecido. Uma lista de objetos da classe str com a sa\u00edda formatada das mensagens de log compat\u00edveis com os crit\u00e9rios dados.<\/p>\n<h2>DevCast: O que \u00e9 teste unit\u00e1rio?<\/h2>\n<p>Por\u00e9m, eles ter\u00e3o suas pr\u00f3prias limita\u00e7\u00f5es (NodeJS<br \/>\nn\u00e3o tem suporte a DOM nativo, apesar dos add-ons existirem) e em todo caso n\u00e3o<br \/>\nconseguir\u00e1 simular o comportamento do browser. A mesma fun\u00e7\u00e3o basicamente adiciona<br \/>\no valor 4, como um n\u00famero, \u00e0 vari\u00e1vel passada por par\u00e2metro. Na Listagem 6 podemos verificar ent\u00e3o um<br \/>\nposs\u00edvel caso de teste para uma fun\u00e7\u00e3o de execu\u00e7\u00e3o. E dentro desse escopo, uma \u00e1rea que<br \/>\npermanece particularmente mudando, e que ir\u00e1 come\u00e7ar a ficar incrivelmente<br \/>\nimportante nos projetos JavaScript de escopo crescente s\u00e3o os testes unit\u00e1rios. Alguns desenvolvedores lidam com esse processo como mais uma pr\u00e1tica<br \/>\nchata a ser seguida dentro dos processos de uma empresa.<\/p>\n<p><img decoding=\"async\" class='aligncenter' style='display: block;margin-left:auto;margin-right:auto;' src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNtcwIQAABtbnRyUkdCIFhZWiAH3AABABkAAwApADlhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApkZXNjAAAA\/AAAAF5jcHJ0AAABXAAAAAt3dHB0AAABaAAAABRia3B0AAABfAAAABRyWFlaAAABkAAAABRnWFlaAAABpAAAABRiWFlaAAABuAAAABRyVFJDAAABzAAAAEBnVFJDAAABzAAAAEBiVFJDAAABzAAAAEBkZXNjAAAAAAAAAANjMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAEZCAABYWVogAAAAAAAA9tYAAQAAAADTLVhZWiAAAAAAAAADFgAAAzMAAAKkWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPY3VydgAAAAAAAAAaAAAAywHJA2MFkghrC\/YQPxVRGzQh8SmQMhg7kkYFUXdd7WtwegWJsZp8rGm\/fdPD6TD\/\/\/\/bAEMABQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff\/bAEMBBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff\/CABEIAiIC2AMBIgACEQEDEQH\/xAAcAAEAAwEBAQEBAAAAAAAAAAAABQYHBAMCAQj\/xAAUAQEAAAAAAAAAAAAAAAAAAAAA\/9oADAMBAAIQAxAAAAHZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFIqZsbOdGAB4HuiJcAAAAAFRLc\/IMnSil6cfYCoFvAAAAAcsKWQAgSeAAAAAAZlpoAAAAAAAAAAAAAAAAyHXshNRzvs4iSlKraiBkq9fTJdOg66TVgifM\/JaCkS+1+wVE74CRqJbK5224qftA\/pfMZ\/oTJS5Vm31omaxy\/JYV9yUulU4teKN91aznJoeWameeZWajk3pGQ68cdan6Sc\/L86WReQXqPLxULNRybsdG7z47OSaISVr2vGexklRTbszl7WY1uOYSxH9N1zouMDO1M1b8+foy665\/eiKiK3ay9ZbdqgfPa0UqXzXx1yd8yEmfiK14okRW7WXqRqVtAAAAGW6kITPtcFI7bUMe0eaGI3C\/DMbVZBnUdqwRcoMY59vFCtUmMwaeGIbeMv9NMGYNPDMNPFBi9SGcSlzGM7H9jiyrYhQL+EfUL+Mw0HuGewuuCqUjYhQIvU87OeWj\/AGODTwxPw3MQOebCMR1GdGP+utiq0jYRH+nYMz6NEGW9GlCNoWnjOb70jL+PXMzObp0wZhp4Zb0aUI2SAAAAAAAAAAAAAA4fY6AAAAAAAAAAHnxkgAAAAAAAAAA8\/E6nP0AAAAAAAAAAAAAAAAAAAAD5+smNN\/KlZzO7LxwprHHmskaIy7USs\/ta4jV+POO00bnpFONrz+wZMbx9wGfGtdOP24s3Xj+lkt8\/WOGk1Di7TRvHJfs2BFSp5eWLaAXDxyX7Ng5K5UzUPXD5w0\/qzPwNH7M59y7\/AHimmE9847oB61K21ct85Sqca91ZRai2gAAAAAAAAAAAAAAAAAARcpTSh3yKuRRIeamipbBW6ocGvxEuVD6sWfFbuM5Vy3RUrUDw5rh8Fv8A5\/1fhOe40O2FSk4q7Evj+wUwmKj6z5kmg9EYX3t5+gyXWqjbj+f9B6Iwm6NcK8Wmqxt+Ldh+4Vwg7FUbcRVe97AetImu8h\/Oywp8Q98iywVHx0c9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcFG0gVC3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/8QAMRAAAgMAAgEBBgMIAwEAAAAABAUBAgMABhUUEBESExY1MDZQISImMTI0QGAgJLAl\/9oACAEBAAEFAv8AyUzinGRF3jjPfA19bb\/hppXLMI3E\/H8Rruyx9gLEdhHG+xdpHy+Rj7Pns\/LfhbzpXFXqdsP7fIj+u\/EaEkZOf0Fj+ZSN8xccinrKoDQiS27Lx2H8TUhxLH0qbzXpGTKq0f39mmilnDHIhieSeFLmm\/GhGggCwjQsFgxIGaOzNgQ6sHDGFTUjcl4xIAg\/1\/yknlvhI3YYBW+p61UMvJDnO9wmS+z2xHkSPPNGWa3Ct+z61UtrG2bMthL0+osdOWtWlaMGzSw7Q0Y3hF5yHRm7nhmu9gmm5fY8MxjLnro8t5sKx1MKMGzSw7Q0Y1oxqtGvfs0YpTWR\/Dne4TJfZ7YjbZ6RvDNmvLJIzFwxNfsI1M1LcEb5jY5GvWUDNzMDG7Lx2H8TUivvmt7RSmBjprxfY+c2LTbIjYjsC+gpOZg4z0\/flmjZYR650w4maaH8dMdl3PVvjoUNtDLtm+q44TZ\/vuxabZEbEdgX0FJzMH\/BY\/mXs82haJbsECwA3IZt1vkh6tmSyS711W9Y+2P528t8zsvFC84YwxaeOaudep349+0ovtTj772j7aBEQDb9nbO1fy51T+hiwxXYVMf7R1X38vWtu18n82Of33nLR8Pa26vQ2cnZYmvHkzCpVZ3UAsF4w14Z\/Z9W+3TET2syPeJ1b7dX82PJmFSqzuoBYLxhr2isSNfsdJxQBahA3rW3a+aOd9iHmjO\/OzzMLV0VqA3+\/dom0LV9a1B7XEfC2W+TGq2ZLJzvXWl6xetRm6OVjPFnljY\/zu0di3ySh7ghdXiPi7X\/AGQ8RGCz9nYu1f0\/y5EfD2xzWt3fMbH+d2jsW+SUPcEL8E8fe\/YGIcHiCnslmQbE8whiUcJJxhrfHMT4F64lgoo6XbG50emUqvJNK5o3PF2ExLYNuGj+rFBMZq8ritNGfY8tdl4dZqHfDf6m7LhvvHBbGoyXIhbAKrdkRTroxA15w3+puThv9TPFuplavGMVULyfUnnHBEG2NfTEfDBGFCcBNmaSMWp5W3C4mwvW8dcQJw3+piYmw\/WsdcQGWRYbcfSzYMTZmkjFqeVt2X3cjbs9aq21jdJw3+puCetRENYasasg\/XhhMGa\/LQVpozYhweIKezV5UFOcHMSjhJOMNb4i4emGInaMIemVhECRhw8M0Nh50q3BLkaD9cw3xnsuO24eMTGS\/Dej\/tf9FWbYGEwBXqWmG+jrh4ZobDzpVuCXI0H\/AFlyAXqR5Zr7lK4nIj\/H7GMQTH++UJH0v83L5n+Ja0UqMVgXn\/iWtWlctsd4z1y1j9JmYjlCMNJIzvrhZKvyxWrbjbc9QP8AF7GxdgwVpnqQ+QRha3NNcsuUvTSDWmuLWulL8m0VjPbLX2XIHzt7JmKwTrlqH1b7dNorGe2Wvt+OnxV3xvabRWM9stfZffDLkb4zy16V5bfGl+QRha3NNcsuUvTSL6UzjPXLWGgMn4XVjRsuBqvGmYrFN8df0jsWnvKhCs4ZhYoevW1cUQW0HNcb7ln26yunJAVvXbnYQB7iqEoOorfbUxht1xdOPXjdSw1+IzM8NUMDc5UJg3BVir5zr59g1VYAYam66JE6xWcGEJQHDhnzHLg1DQbDq327Ovn2DVVgBgER6sTjGhOvYAkYgOudfPsGqrADCzC0plScQwMBaNDvtNprA\/Xs7w321MYbdcXTj143UsNfiMzPCVjL9LVwOfDJwwyWC6GPDevL6idfJ0JXUpfsLFggHxHSm2OA\/RihBzczR9+vWcnaBLxkeZWCLPPJztaBu08Tf9l3x99pRTEqmI2OnYvppXwJcMvqckCPlOQXiwbfu9g4oWiFE\/TSvmI+Q2BnX8eIDtjg+L5+R2NjrniD1b7coWiFE\/TSvg+GY2PJ\/NnFC0Qon6aV8OrivTrRWtRFir0M9q\/lxiNjp2L6aV8CXDL6nJAj5TkF4sDlIbHgVy1jZ2YT6olAFkN1b7d1m0Y7sNqYBdYytRd+jHqtCd6ItNdjBMjh80RlKgJs15jJWOyz8CdaoQWAGPN8aEYjIihrsVg7LOE7SIBBqFhCQ7Di1VmvlopoyhcCSJJ6TMvfwzHXhAGe4MpWNqhB4gYcZJsj75orXsrX+NGPSZl7+GY68yzjHLni\/wD63D0mZe\/hmOvG+sL1IXWwtRJyumbNVfk44xWDss4TtIgEGoWEJDsOLVWa+dExVNgE9Rd2anJlFUe+vFa\/xox6PMvfwG29s6Uyp\/pJI2JeMINMuBJhg9f\/ACFv\/8QAFBEBAAAAAAAAAAAAAAAAAAAAoP\/aAAgBAwEBPwFJX\/\/EABQRAQAAAAAAAAAAAAAAAAAAAKD\/2gAIAQIBAT8BSV\/\/xABIEAACAQMBBQQGBQgIBQUAAAABAgMABBESBRMhMUEQIjJRFFJhcaGxI0JygZEVM1BzkrLB0SAwQENiY4LCJGCw4fBTg5Oi8f\/aAAgBAQAGPwL\/AKSmVtbFZIsDvH\/9pLd7GISv4V48fjUSy7NRYyw1HyH4\/wBGSRvCilj91b6HOnOOP9bb+gwCTJOvhnslMOruHByMdkNlZ6hLLxaQfVX31HHvGfSPExyT27rcD0PHj+7+f9XKYl1SBDoHmaZr2LRJrOOGOH9A2Pe3wGeXDln+t2XEkzKjFdSg8Dlv0Fs77KfM1JNIe6gyaM1ssMEOe5r5mmsb6IJPzUryalKJqkkbSgre5t3\/AMqj6OE0bp98G58ulf8AB7rdaz4ueaV2XVK3BUHU1vvoBwzuuv8A599PqTRLGcOtSWWzwg3fjket3eCJ4tJ+kTz7LiaPGtQMZ99W80mNbA5x762fbJp3cunVkeZxW9hxq1gcRmtVhCqRAfnH+sfZUtleRhZ08uuKtNzp77HORnlS+g6Nerjr8qufQd3jUNeqoSlsJrpsKQPCDjn7qMuqDz3Y50XK6ZEOHAqaHTrQINCgcSxoG8RBCyngMd2hZd3c6fLj4c0HK6nY4RfOhKFhTruzzqS3uIt3cx8x51b21tGGuJj3c8hUbSGCZCw1KvAgfDsZmOFAyTUhsEjigU41ydajs9pRpmTwSLy7J3XmqMR9wppZsahIV4DFSQFNcYQaUA4ljRuniiEY4mPngVv7cASlTgHkGFN+b9M0\/wCnw\/yqVtoGMEHOV9WpDYJHFApxrk61HZ7SjTMngkXlW906mJ0ovto3GYeWrdY41vZWiMHEcPFqqaHTrQINCgcSxoG8RBCyngMd2pUtoEhiRioeT62OtQQ7RVGjlOBItSzyeFBmjPbRRpDk6QfrfjWzN\/Bupo5ER19urpUk0h7qDJppbSOOGHPdLdaSz2lCqs\/gkXlSlE1SSNpQVvc27\/5VAkYOOVM7clGT91SS2e5hhDYGvmfnTi9jUOrYBXkwpLKziEly3nyWt\/OIJoh4gvQVFPH4XFSwRwCW5LnRwwqr7aiG0FRoZOq9Pdjyoy2EKxwDwl8Zf8aminQLPF4vbVmUxpdzryM8BW+tIUih+oH8TD76ltrmPRcR8\/bVsnDclNTjHE1DNJEi2zninDIX50llZxCS5bz5LW\/nEE0Q8QXoKinj8Lj+q2d9lPmaGOsq5q2EUFru92ujOeWPfVpd3KQru8A6D0FKofTIhyhpI9pW2pOW9Wrp0OVa3cg+wrX\/ALrVs0RgFsKU1ctWqvzFp8f51eXFyEG+44U9Sc09\/s5gWfxxnrRtbmAw3Hl0PZee5f3qs\/cfnWyPen71D9atWeP\/AEU+VJ7U4\/sVs\/7bfw7L77a1vJMkk4VR1NB49nRIp5a24\/MVtHPrJ\/GkyM93P4J2L9j\/AGVspG8Hc+LdiaOq979ioZ7eTRcQ+H20kG1LbRn+9HLsvMeqPiag9FhtjDx0ls55++rVpo7dd02QVPZdfqn+VP8Arm+Qpc+p\/sq6H+U\/yqT9e3yFP9j\/AGVeY9UfE1B6LDbGHjpLZzz99WrTR267psgqatm1d8S91fWzTItpN6SRjRp61iUYd31keVJkZ7ufwTskt9n2e+KeJycLVp6bBFGNR0aDXDrKuasgvLcp8q2T70\/epcdZlz+BqzC8tynyqxYePU2KVdWiVDlT0pI9pW2pOW9WkdDlWGQfYaZW5MMGpPRlFxbE509aZkUq6+ND0raRtUjaXLj6T1c1LE0FrpdSp59fvoQzY1ayeHtraR\/xr\/Grc\/538DUIHqLW1B\/hf94VYfbb+HZ3eq97\/wCOtlKwyDoyP9XZtI2qRtLlx9J6ualiaC10upU8+v30IZsatZPD2\/1VhKsLmMKuWA4DialgJwT4T5EULa52dJII+CunlSD8mtDBx1O\/P7qheC038fHeAeKvRYNmSrqI1O\/IYoWmr+53efuxUtq2zJZDrypGcfKoJ7fhcQ8QM0Fn2RPvP8IOD8Kle4tNwvDdg8\/bmpUn2Y7LqOh4+RHSk2hLbGCKNcKG5nsngzjWpAPtr0N9lyS6SdBGa2ddXMZJaRTpUZEag8jWmKNnO9U4UZq1VhgiJAR91RTbl93o8eO74POrHdQu+HOdIzjsvE9AkmjkPdK+zl51ZzxwkSp3mi697+VbuHZUizHhqfwL7a2iJo2B1rxIwGxnlQm3L7vR48d3wefYJty+70ePHd8HnUM1v+fhPD2igj7GlM3sBwfbyqbaF6MTSeFfVoaLEzW5XmnMGoII7B4Y1bU0klADpUsL+F1INNbS2Lzwg5V06VEsWy3SPUNbycOHXsuQBkmJsD7qZZY2Q71jhhjoKE25fd6PHju+DzqcAZJjb5VIssTId8ThhjoKj2jDbtMmO8F92mrhZ7R4FbKANzIxzpraWxeeEHKunSoli2W6R6hreThw61YMkh9IWT6JAM5rPokDfP51Nbzwbq4j5ihNuX3ejx47vg8+y5RrKSaKQ8GT2VDMbFkiV8JHjL8epqWDOGPFT7RS2kuy5ZCnBCM\/yrZt1cxklpFOlRkRqD1qWDOCeKnyIoWtxs2SUJwR1qG4u7fc28XhjbmaheC038fHeAeKvRYNmSrqI1O\/IYqCHOdCBc+6pTCoMuk6AfOtMmx5975DOD8Ku7m4TQ87Z0eXWvyjZR7wMPpI+taU2Ncbzy4\/yqNriMJKfEo6VtDewumXXGoYzzqERRM5Ew4KM9DUQPqitoyNC4Qq2GI4HiKsfttXo9xs553HBZFz3vhU+0LxcSyeFfLNbLkSF2RdOWA4Dvdn5Rso94GH0kfWtKbGuN55cf5VG1xGElPiUdP01a3toA0kP1D7ONafyG+vz1cPlVxfXmN\/L9UdB\/aLLcws+lznSM4\/59MaTxs45qGBNGLeLvAM6c8cf2VmY4AGTW8gk1rnGf7KWZgFHMmtUUqOPNTmiY5FfBwdJzx\/RWSa0pMjHyDA1NGj6WZCA3lmoUF4sN2n94G4k+7NS3U91v5pFxq9nZo36avLUM9s8kbqJQBpz7TiraSWVN6w49mgTIW8tQz2ZkkVPtHFakcMPMHNWMEcqblwNfLqfOu64b3GsscD219HKrfZOezS86KfIsB25JwKu93IrfRP4TnpT\/rm+QrLHA9tfRyq32Tnt06hq8utFFlQsOYB41ljge2vo5Vb7Jz2YkmRfe2KGJU\/GhqYDPLNBGlQMeSk8ezQJkLeWoZ7MySKn2jitSMGHmONZdwo8ycVmORWH+E5qOLe6FEgZ\/aB0rVs3aK28nJlDas\/GhCH1HJZm8yayTgV3Jkb3HP6I2fbyyFLVzlyPf8AwqGWAMhUhlZHJzj35qSFZjEWx3xzrSUdj6xbjW0LAuWSMkrn2HFQbLgkKBvzp+PyrSNYfHjzV1s+dizQ+E+wHHZPeEHeoqgceHiqzumVt54ufDINW+y45CiMMynz60ViBSTHdfV19tMsrZeJtOTzIq+\/KDapQ2EjLY\/D3VMYNQWQAFCcirG1QNu5Qurj5mpDAG7+M5OeVXO+kItYDhUBxmvTLFmikiI5NnIPDrTXcXCQw54dD1oSS\/SznO875yKEEbMVBONXt7DZbwrbw8WA9nOpJ7GV43VDqBPBl60\/65vkKud9IRawHCoDjNemWLNFJERybOQeHWrefHjQE+\/skht30vIgXV5DHGkmjaQuFI4nnmrnfSEWsBwqA4zXplizRSREcmzkHh1o3qjv7nP+qlurvVLLLk5LHhxxVzauC4i76HPLGOf41s9l5h2I+FLPeSyNcsdbEHkfKrfZcchRGGZT59aKxApJjuvq6+2mWVsvE2nJ5kVfflBtUobCRlsfh7qlaDUA4HdJyOFXEN+\/cThEhOBW\/twyd0qVzkfGoVed0jXOpF+tUzQoySIhYHUTypDI2pkYpn3VcbyRhaQHgo\/86089mXjliGod7nikkfxqdDHzI\/Q+6njDD4iop7W5Yws+DG1b2Lg7kKPZmop7q7nleRQ3i4ca2hHEcoqMFOc\/WFI8nBZAME+1dPZtK5T833gD7z\/27Lz3L+8Ks8eR+dIlzndTBfZ0wPjXhk\/ap1gUjUeOTmjJxjl9dOvvq52bPLvRGuVbyrZRPLufvHsvre61byM90Zx768Mn7VJAi\/RqMYNNPZSNbyjiMHu\/9qJm4uj6dXn2bQR+Bk16fvOqrppGwN2w+8in\/XN8hV9b3WreRnujOPfXhk\/aqOGIYRBw7F+x\/s7L63utW8jPdGce+vDJ+1U6JFmNY9IU\/wCLh\/GovQtpQ7txkq31SfxqWWSXe3Evjetn\/bb+HYiXOd1MF9nTA+NeGT9qnWBSNR45OaMnGOX106++rnZs8u9Ea5VvKsyrh+WtedR7PeczQuO7npVnYQTbrfY1P14nFTSyTzMyoTqZ+tP+ub5CtoWz8JNQ\/wDrwNXTueG7b8TTMR45SR7uX6HW5gvXglC6eHIio5L++a40ckxgU8EvhPUcwa3P5Xk3HqgdPLnU08UncZNITHL76Akyrr4XHSt0+2ZTF5YPH40IoV4cyepPZJDIO664NIE2pIIA+rQBjPxoLJkMvhcdK0Dbcmj3HPzpot68mpizM3Mk1ptdryJF0UjlUkm8aWZ\/FI1RNvTHLH4WHGpWuL55y2AM9MULmKdoJ\/XXrWmfbMhTyXr8aFnrYKFUBuvd5UYm2y5i5cuOPxpYYhw5knmT59iTLKYpl+uKVr69e50juqfCKMO915ctnGOdC5inaCf1161pn2zIU8l6\/Go4lzhFCjPs7BtDffVxox7Mc+wXMU7QT+uvWtM+2ZCnkvX41oVdfBYhq4\/jUEkruXdAxKnhxqyhtrl3SUjVGx6E4q3+m3e7YnlnOewLJkMvhcdK0Dbcmj3HPzpot68mpizM3Mk1ptdryJF0UjlUkm8aWZ\/FI1SyWm03iEjFinMZNNdTXDT3B+u3SozvDHKnhcUovdpSTxryj5D76MO93mXLZxivSYZ2gn6svWk9N2lJMinwUqIuFUYA\/wCSnhmXKNWm32rcRp6uf5Yozlnlm9dz\/wBIX\/\/EACwQAQABAwMEAQMEAwEBAAAAAAERACExQVFhEHGBkbGhwfAwUNHxIEBgsOH\/2gAIAQEAAT8h\/wDJTnS6Guuuii8kOVKx9FCpDNyt3sP8Zm7A3YMtalPbhk\/V3MmWIiNSBonWkhge7NuhvO3ADcwxNKuuFcvdXqwO2PfMznCP0xuIVwJY90dEgGSJdL6\/4C6wXyHb9WyCtCwMmtv2MzGebudjlp4xWoJ4ftR\/qOCgn4vSFs4cTqsVB1aymz2mD5pLDelBl6TSw\/i5NTCLORuPYojhtH070RoE5+5w0k\/M3gOsZ3qZpIWoGiWz26aM5CS4PvV880UFkUkMjKO2aHuXPgQz\/FWWYMcjmDNqMVyjZuEb69qbHZtMh\/NY149bp5pWD3DeIp1gZuJK8KvsQWQ9hb71H\/oNbiTo1EXhSGRfu0pwhgq0LXpGTJONTd71ZTUWJbvBQFZIECHvMe6umJpkGGBwmpUIBWiTE0CDxeE3S2HnobdJGALrUWcG8r6\/FBEQY6WxPdt0jiv1iZKUFzbAAfvWgIVXkE96tc9QLcbz9aVH3fNih4pWRrOFChnDAAmWos4N5X1+KCIgx0tie7apgi+AKvfgpGiExsmdTPE00xo8YAi3qoi8KQyL92lOEMFWha9ZZWRSRDNnS1FEwDEXibRibkUzGejLsHLWG9B4aTl3sUVJoRZJ4M1C+budjl0qVDRfsOWZ9UnAAsFOJ0RfVIWzhxOqxUHVrKbPaYPmlIoE7Hal0hicXUMpdnQX2pLv4+BmhPiLom98Xi9TiANut4PvTBZMOR1Hkah6iwBlvpzaYyzWWrY0ypp0y\/H80Iu9hYExjRHNOPIV4tY91I5\/gcru8UXmegIAMNnCVcEXcLiQPipzKbBWt6CfEXRN74vF6nEAbdbwfemCyYcjqPI\/pmTLAXbC\/JUKLnKTiXdVxJwl2XDN71DNM3E6jw0kOeGd9WX00cU9tUI1m\/OxSD8ByrF4sV\/aURDMqcaRxRmY+WibIxNRSsb8oSxNxjp+S2V+L39G\/wAVs0QgDGdtYX+5\/jqp+O2ahVqhvtFXecjE5KLpIN4MDUEMBE7yD46jgPm5DhVk+nQo7WHnRSUSmxdJfRHFTu7gyuWJHmOi7nF4EfpQTcFEt8zZrV0E5iJSZldun5bf0URGGJX3KgxhJ96a8AFX4fGl3OLwI\/Sgm4KJb5mzWroJzESkzK7UIjp+WDQ4qXKs9g7d48VdX7UlAB5tQIYCJ3kHx0ldeIu+PmgEAmSM2mbtHTA3ZC\/ahIyzyWaILBLLUUwJ2yfJRP6TyGfNExQlrFmlDMhtUXHhpIc8M76svpoap5tbg0P0sDhtU4TXC3mC89ppQihcXYR1GmB4glACSQl8VYrXWUGGKITbQ5A0VaQmGdYoC0uE91AYAEB2q1sKeab5agAAIDSgQNpPKhGYRLj0sDxBKAEkhL4qxWusoMMUQm2hyBo\/SkMqqxSS4KguGe4h7b1lX9ybCQR4qwVU1MLQY1707PVmGIiJ+KFzHBiROUAobmibmzNLXTzIgWRSWq7JsZJmB3HFWILDATcGhl75pnnJHxQL\/H1k5ZvFYeeCjENt5nplY2w0PunqqFYXZSQRJvNM5mLG0Qsb0LuaC4hvBTaVwIRDI0okFTLqHDNapTTejMdG6IpWGTIQyG5W9tciAucsMUIvSTCbpD1TrkQ3IGUSV5WN2OGenlY3Y4ZrV7gmNS3I4qLtIkKcJUMMLsnfa1g2pZHsyXrMxNvFQiKhEaWmMba0eHADxUgFksk6+KRw2VQOcDbhpntvIE8LF46LGEhdVVik88iXGSGvKxuxwzS3gIGVaJg5kuIphp\/NIBb3hiYthq7KMEjDIa0jhsqgc4G3DTPbeQJ4WLxUcAYyBqX8IRQpWZJJ8DSlArpoMOcRNeVjdjhnoj69MuqGQbs3GoFWapsoyxajhgBWC8VJXYuCGkiEN6RDMWNoImN6egFK5R43rNBmYjQkEeKbM+ZG5F4y5adnqzDERE\/FC5jgxInKAVrfduRdoFSbAY2HFWH0wyPs902FDNmW40mcVhfgrqbNjI5trUSQ3SA8tAHqqpLrb6VruOtrROac\/wAK2EUwUDEIabWoxz7pM5DhoqIwvwlatJuNqwp+ayjQWzqKaWsFOICcsEmUx0wvwV1Nmxkc21qJIbpAeWgD1VUl1t9P3qGRtyJlBJjzUsFlkr\/xvSWEUL4zLPq3+x3zMwjP\/e4NakI3ChiXjijujMf6s+Rk2C60mELiEuaX\/wBU1SSiAOVpSNsIzPihVjsEBkY1\/agUAF1aTj+VH0rmcVwRNXQ92vJXwpZAFuA+\/HT8pRt1UWKILZwaPCBxBmYx0a7O09OgoGdR+VCUXZPZW6XbZB4YqbtWYGPVNihlUFSVjzD8OgjcVHpoRBGR6PBBlWClMcmQ1dujhsUMqgqSseYfh14OTfhvFYvbqjuFNihlUFSVjzD8OjghcBfKkwpcAb1kSokiXYrBPcRdh6NdnaenQUDOo\/KhKbhYeyuD6IfWuRRAPpUGcpd9ND70Wu8LqfE7IjdR4p4IMqwU0jJkP4ftCYigk4M9lNbmWQJ1ZcVDaloiZTTJarLdzbt7QfStkKYtNtM3ovhyOon0AmNaWacX2d0xTT1VmYlTtt0nzazBAueaQtt8ZW8VBTR7QizwHloPVyawxBtTDp80ouTzTc0qIwKJBPCrH0wSNSb0CowGbdLPigwkD85rTrzWYMg+YlqT5ZEkOTf1RSfBwjtUqCEkHnYfq0tlySUFMdBBV7o5O8sG1XdR6wLHlPHRw681mDIPmJak+WRJDk39VMEEAYNX16SAv9yVeim5GUo1GIp15rMGQfMS1J8siSHJv6opwoTIYeho9FWKsWhJba0emy3MiCGd1fWw4KAzaJDJoagpo9oRZ4Dy0Hq5NYYg2ph0+aUXJ5puaVEYFEgnhSDnjFNxN6ZWAoWxBJGS\/NTIVw1nXJqeu1azYiXiKvLAWEzCO9IwkbdSCT4aAY8PiXB5gq+KXYeJOq5uO1NrL+6E+R\/Z3mUzRNxMVL7UdpiYdGd8lOCkek21nuBTezsW4zBM4rW48gGpSDQ7EwvqUoCrakXMQHDHHs6AsVArLB+RlQ9oZnLGeyv7rRaglyGMUxRH8RGGmxuJuwjV0RxpSLEgJ5ekLGHJEFPsr+61FCgbmd53qeaaUUi\/einzVrGBJ5v0N3qTWAHqjAsFdYAHL0cCxhyRBT7K\/utWcICZ5\/wGLGHJEFPsr+61mUVDll5lTKMd6cwLXb0TfkHLMHdz1Uh7QzOWM9lf3Wi1BLkMYpiiP4iMNNjcTdhGrojjSopokHjtdHzUmU+oYUTbFzFAcTRbQig1B5HqIFtN+jpnoEByyfRRNAATqEB5aZMXvqAl7P2cmXW3gZ0TehzynMeZW29HA2UwDCVZvxnD8AqxAb7sJWV5iriwayWkalKUJxpGzONLGJyL7pekuhm9DtzQtxNlhmLQvrV8VtbL5KFDYzYH43qQtQdgB+Knd4GjxePilhzOOts51okJGFg3hLeKCCwJwdkrmgheJuWETEl6iaWpIjlouBzm22X0pe9JE5bGjlorkFldImHwcyGJJLmjU4GLmTdlZr6V68ERLtQQvE3LCJiS9RNLUkRy0eRNlzBi\/RloP\/090CF4m5YRMSXqJpakiOWjEYteMRE7rHugk4BLMwWcUa4+YjIRB2agH0ozk26XxW1svkoUNjNgfjepC1B2AH4qd3gaPF4+KWHM462znWlldYgWWIftQssSCLrWL3i1aQQ6eYS1cyUCJhUs19a5eBES7UEyNdYROSHtQwnxkD5VoRxgsAaf8VABlzU2Tko25+K+6jgXOck7f+Qv\/9oADAMBAAIAAwAAABDzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzDzzjzzzzzzjjzTzzzzzzDzzzzzzzzzzzzzzzzzzzzzzzzzyjSDxwzzhQiiASjQziBQSiiBRxzDDADAjSywBRByzzzzzywzwxwyzxzwyzyyxzzzxwxzxxiRzzzzyxxxywyyxxzzzzzzzzzzzzzzzzzzzzzzzzzzjzzzzzzzzzzzTzzzzzzzzzzzzzzzzzzzzjTAjQRigzjwyxTTyzTRgzQTxAxjzzzzzzzzzzzzzzzzzzzhzTjyCDxzASzjSDRyBSzhSyTThzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\/\/EABQRAQAAAAAAAAAAAAAAAAAAAKD\/2gAIAQMBAT8QSV\/\/xAAUEQEAAAAAAAAAAAAAAAAAAACg\/9oACAECAQE\/EElf\/8QAKxABAQACAgICAQIFBQEAAAAAAREAITFBUWEQcZGBoTBQscHwIEBgsPHR\/9oACAEBAAE\/EP8AqUxVhEUmkIx1xi1UBQNQSdq7xOE3BJDr3s4f9L6BMEGSO2HGAH3Ijzuq+f4o2tm6OjOQNepmggGbBu8Rl2llCjs0Z8F8CPvx2iNxsJ2YCQXOELi7eujXyIPPtb\/5oOPz\/D5F5shX2aYMDE10xQphpPYf6DU\/UWiduavH8UcJrgVlarTf8jzJZeRKnFOU0Ha5pBiK9jvbslg8Y3XZppEK7aCMTUHNnxi6i6ZQ1o2rjoJhAJy6G\/WW3\/sF+pcKdHeBY7mRw9jxxhcyogJexO6b2GB7ODl0psM9HA6b5MEaN2IJHYkx1P6YEAJAMcKvrGsy2txJHA\/\/AF8MmH3CXVO9YatKFJBQ60Yd4MKor2aga95r+l0GnXnAEfjAFzoL0afaYOsXpEVpNGEY4BkeXgIDZMM3Mp8hdtXTAXXT7ryOucopFWsjpoxyFecO0fU4CtNn1zwLnmFtOzHgdiY+bvW9FO5yTrjeFONqFsl+++8KW6\/La38PxjelNcJVOu5N1DB9O2lAEsvSEwfgUQhsUKEovNM8hvA0UUqrqsIrkMQtAwh2hvP0+EGL5B6HwBj1ujx9vRsRgp25AgrfZDongCPJH4GbQ5aQp2UwG4CInqecdsvJxd0FeHXVwDpbWPpUb3KOzIzibGa9Wtj4TLPX5Zx+Ny6frjlL5A+lNaR\/THrdHj7ejYjBTtyBBW+yHRPAEeSON6OBQylmwCvnjEU\/FpSiJQe39cIMQnboR1tfpx83et6KdzknXG8KcbULZL9995uX4qWoJ5SJnebF8CiEUBEKBmzFdCT5PFWqIHtw6uItByEscIo52bjVHPKwo2+lxvLyIqcAypoduRx2EG46eQigB1dZvDKgNeR0CkrkzZ8YuoumUNaNq46CYQCcuhv1mslFrQ3Xcc9eGcKn8GRghZeRC7mJUA8ZHdsisOosbrr6x\/TG9NwjUKqAR3i0x7KiOxTnnh9Y5KQwiZN0EcejiI5mosdFT29Y+aPJAlwWgobOHADiOScUKAfQBxiZhIWwbdQoM3wgBK02IxYLoHa+ktgOnDwuVFRMTbhVpTh5MhAZIVEpJwmCpcgKqOtv3fGP6Y3puEahVQCO8WmPZUR2Kc88PrHJSGETJugj\/DzAmvrYj\/Yx2QLQI1BsbfeHIXukCUarOZgo7iVsSPZ5DYmK5IeEDtVrFjhwRwWJD7H4Au19NrginKnwdMnpA1NG4K8veLrJYFMiohQUR4cWbWUIKHmgNE7+Cs8FC43V+M\/8V5\/B+zFEAKo6MInWr7T\/AObP8z4+RUdxxRJUroDavGERa\/bcQQfsMUQbc4bB6wSUgKDfsLY9Px+4f1YB9UtgUh7gfiA1cWitF\/QH25X+h0QCgYFUnTiBQDQChJCLs9eMEQRo4XatM\/8AZzjlkERGuQuxxxlQQKQNQSyYH+i4\/ItIADEInswL6YeRBwXWnqBX+rn7BgXatM\/9nOOWQREa5C7HHGVBApA1BLJgYV4IoRsA5UHOTzaETuTbD1s8ZQhKf2CpT4swSUgKDfsLY9PwnZsMgYheFEFFmhxJE6TrU3jhxMF5+hh\/VjDXBgEqx9la4MipptjlcMt1N4hv6GDwA8EtT7Jrg9AKjaP2kM3CwUhxHs8hsmK5IeEDtVrFjhwRwWJB9jnsqjh0fhxftRTpimBJFkypjiBIEiwJoMYOuMfNYEX\/AAh+jNVMVg2xQMdOR1GmtpXbRdec4GugORy+MejSD4EJ+2ApcAAAwA4wmktw4U1\/dwAgIijxEwYQAAIAcAYBIUJoGi\/qg\/eOY0DAuiPJ6+HzWBF\/wh+jNVMVg2xQMdOR1GmtpXbRdef4QQonYaDKAnLgwB32KqnkT0wttQ3HoADWwhpLjCBUxj1F2BnDHHsFxTbvTmtH1hFVYS6hsDlWzQbxFHiZjoHxWzDXcoExArwiOAsCoC1XNTimHOQ2gQZcoEHwLjEwBAaUFCamneAG2oTdBdF2PrFXiFV1QidtRIBv4BcopxCt6AX1gppTm9uezB0ZeVhSYCSKq+1uDNaJiFhWC842ztQcA7EdJiCZQzOmxDUl5wRWjzgliwZ38T6NE0Ia+QGEUlYxgABUdiu9Yf7gx2cn3qSe8eNhzEVmiiJ0mIM5Q65qdNuEvPwgzlDrmp024S8444Ide0jdBLUOcJhzAYR2QXoU94pSQXOmo3UFCnLeOMTMz8A4pyD3gsKpRQvQECsKqcZajdTWCG83LquAYD2tmBAB1xsIBO4CK4dVV7MUUUbG3fXwL+WUJAG1XrELlGLAhGUd4gzlDrmp024S84R07lQAAcq4vo01YgIyiXHYjGAKHQ0UJcUIKCIMIYtdUwIAOuNhAJ3ARXDqqvZiiijY276yTq5hRXTwBqzFlwyEtbNK\/WExQqphg2SGm20cQZyh1zU6bcJefi7KMqKOgEKEcOViBxTU0jYBgDqQ6tWdMj6chA+4lp9CBeJk+4RJwokVV+3DfCpRVWeWvRxzBILXiu7iEQ1MBHuEcTUEwLAQhjj2C4pt3pzWj6wiqsJdQ2ByrZoN5zGlFAgAeBdh1nCunPJ3NF9mPNQKxeypF6\/Vh10n01SC7NVsDLP7K0gjugORBZMucFIn64z7DOavyI5t21XfOKhzFOK2ZBTZm4phigCoVlxjq4EUERPOK9+LhhzYC68ZFYEfC7ciEdkI0gqnMnkXGy\/KI19BArYW4pm6\/wDy0g3vr4s\/srSCO6A5EFky5wUifrjPsM5q\/Ijm3bVd8\/zpDLUaO+AdqCjOMJS6IHs2CXr8sYJpQFEil0ALA2t\/3Ay4sJAyxwa5f+evZJO9NUpO7iJJDs1g7imWT\/ahbW\/gdH0GLloSBCoI2J\/tUj6DncsAHtyfBAZ4K0vrCUUZeemwXY7\/AJUBhlAADlV4Ms7KMZ5Epmgv+LfGqOrdZC+02xWMh40TOBC\/djDbtG9BMswRBz1\/rF+bBHmFBObS45MqrrgC6WcYoCrAwEQYmF9G\/FaZQGzwszgpMRfpExqlFTbXeAGdF72lxaZxhUeogfa6MDZ\/gOebfhE3QGlfYOEmAIjRHs+AOxRgPa8YCR0FHgVs+LZUeogfa6MDZ\/gOebfkZau8Y\/InvKH01+saFP1wqPUQPtdGBs\/wHPNvxzOeLfoZiF3BGp4AHdxEtThu8nL6MkBbc\/xVX9MUBVgYCIMTC+jfitMoDZ4WZwc2VfpExpb5sD7QYpH2JU\/bTCxDUYPYEnN3qmATmXO6Og+ml4mXAbWTDsYQEvWAFijB9ri1qRPE5omfygbmVIk0ey+rZh4Fqsg2BI5jAKzFoyKPCVvhxwgwl+obv3i3d1WaUcRCDVwVjNSvIYiqbCmObQcEevpO5dwD7y0YUwAa7bR8R+LCXkKeArHjoJRGJPAcaay2zw0qT9VA6QuL8Oo8WyGF5ges1osEFVu0bL2GJ4+dxYMdAh9xxJnhG328iM2uMFoRVPRrQxt7gmiUC8YE\/eVOUnYaclAcjuyvDSUqIpY1TNK3fLV+5U+sKxvBthraSMG4gjPBw2gELr4a62qGrp4WLNjczmV+D\/eKbEdno+LYn7ypyk7DTkoDkd2V4aSlRFLGqY451whCeoZ8RYV7E8nkjcb8bx3pgUkQCegcE\/eVOUnYaclAcjuyvDSUqIpY1TJQWwrFs72d9YoHTEAIs5C14wstjbNaJpC8mB8IYlEUa72ZeTGQBK0DhfxMts8NKk\/VQOkLi\/DqPFshheYHrNaLBBVbtGy9hiePncWDHQIfccY9axaU7Tfa4zq7rmkiFmRFd5ZTESbGuQTzMuqXB2rUN3I89YNc62SVUkSkmPHsqjKjygl9YEU4SpfWUBUNMi3wjB0K0SoedTOOFnaIJOEC+\/5OHEO9UtExX1zka\/OKpIaAJIYLSrHmqx1Ql1cdmixADAmGWzwYvdGAhwxp+84P0yDql6ZYCABVWAHeAKkoj1fdD8EArf8AQZyhAV9Kj8maAKl1UPYJ9uf5F\/bGISTQYK8BXDZ2NgUGx\/IRfOL3AlusNjB2WiGKVQ64gB+U+Dh9kXPp3H92f5F\/bCvW03HsXJTvzcEphagaCJXyMPGU0mSEWohOjOdPxGclxqLL5tMT72vJHcqOg+LZw+yLn07j+7P8i\/tiNLnSBaVdqrfj9w\/q+Dh9kXPp3H92f5F\/bC\/JrC898vIcCqBRuxmY6aL1jNkokAprt5E8w0Z\/mfHw0AVLqoewT7c\/yL+2MQkmgwV4CuGzsbAoNj+Qi+cXuBLdYbGDstEMLgiQQPgRHoM6x3o99UaKrFgNG8sWI9BYBEkVBqwuTF\/gS2jo6S\/HngjMM+abqT84B1a7SfyoGByeLCDv1d\/ycMACKUBEm1bR8YQ3y1sVNgpoBe3N6KABWrbs\/cy7d+bWkKhh4KPjFyrcGK1VSvg5xB\/oX9S0k2P6JjfzWxXUkNOmnrNjdFoAPedcGjr4bwdxgGVdDkenI+TwQ2zoIpHxmxx\/M5ojpIUf0TDyQBpTUHch4xuUMTBLsINVfeXea0GnSDXsMDfdDQFoFQLdKqZrhoKobBaSodObqa5ZW7ZrbrEBMjoUCCkEolOTH8QOnGh+RwG6xFbIpFpvnKQ9NVaWbiaip6yvbhDyZAFYGuAnxFUxizYEpwImOlwT1kCczmavdx0qwmj+4juICZHQoEFIJRKcmP4gdOND8jiWTIqUq1WG34XSzydavwRvHwgJkdCgQUglEpyY\/iB040PyOR2myDh6RH06YMHWSgRaAZXnBm203OjoKwETxjh7heIKOlPhscfzOaI6SFH9Ew8kAaU1B3IeMblDEwS7CDVX3l3mtBp0g17DA33Q0BaBUC3SqmP3rOgNAcurU7wQJiARVl+QujQYxa7ZQXkkglERHKnJfJ4TIv37x0qJcD95HblpDA0IhAsSVF7MOkgTO0cMppQs7wTm1weA+v8AhRNCCkQas2JsccWckQF6ivuZ4G\/N0U9KarX3\/wBQv\/\/Z\" width=\"308px\" alt=\"testes unit\u00e1rios\"\/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O c\u00f3digo JavaScript \u00e9 escrito para cada p\u00e1gina de um site ou de cada m\u00f3dulo de uma aplica\u00e7\u00e3o e est\u00e1 intimamente misturado com a l\u00f3gica de back-end e HTML. No pior dos casos, o c\u00f3digo \u00e9 completamente curso de cientista de dados misturado com a HTML, como nos manipuladores de eventos in-line. Este \u00e9 provavelmente&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[268],"tags":[],"class_list":["post-88102","post","type-post","status-publish","format-standard","hentry","category-bootcamp-de-programacao-6","category-268","description-off"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/posts\/88102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/comments?post=88102"}],"version-history":[{"count":1,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/posts\/88102\/revisions"}],"predecessor-version":[{"id":88103,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/posts\/88102\/revisions\/88103"}],"wp:attachment":[{"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/media?parent=88102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/categories?post=88102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/generalhealthcare.in\/index.php\/wp-json\/wp\/v2\/tags?post=88102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}