Collègien(ne) ou lycéen(ne), jusqu'au jeudi 1
er juin
Casio t'a permis de participer à son exceptionnel
concours May the 4th 2023.
Il te suffisait de programmer sur ta calculatrice
Casio ou son émulateur ton meilleur dessin
Star Wars, avec 2 catégories au choix :
- catégorie fx-92 Collège : pour les dessins programmés sur fx-92+ Spéciale Collège ou déjà sur la nouvelle fx-92 Collège Classwiz de rentrée 2023
- catégorie Graph Python : pour les dessins programmés en langage Python sur Graph 35+E II ou Graph 90+E
Dans chacune des deux catégories était à gagner un formidable gros lot : 1
console de jeux Nintendo Switch accompagnée d'1
jeu Star Wars (valeur 310€).
Dans une
actualité précédente nous t'avions présenté l'ensemble des participations nous ayant été partagées.
Il est maintenant grand temps de découvrir les vainqueurs que
Casio vient tout juste d'annoncer.
Nidal alias
bouboule1 chez nous, élève de Quatrième au
Collège Clément Marot à
Lyon, est le grand vainqueur dans la catégorie
fx-92 Collège.
Son dessin représente
baby Yoda (ou Grogu), protagoniste du film
The Mandalorian. Une œuvre d'autant plus remarquable que
Nidal a lui-même conçu l'image en question.
Regardons un petit peu le code de sa participation :
- Code: Select all
Style Croix
Répéter 1000
?→A
A*1*10^-4→A
100(A-Ent(A→B
Style relevé
Aller à x=-16+Ent(A ; y=20-Ent(B
Stylo écrit
Avancer de 100(B-Ent(B))-Ent(A
ConsulterAttention, à ce jour la plateforme en ligne
Classpad.net ne permet pas d'afficher correctement ce script si tu suis le lien précédent.
Elle souffre en effet d'un
bug qui a été signalé, faisant qu'elle ne reconnaît pas l'un des jetons utilisés dans le code, la puissance de 10
(de code hexadécimal 0x2D). Tout script dont le code fait appel à une puissance de 10 sera à ce jour inaffichable sur
Classpad.net.
En attendant correction nous t'en proposons une
version équivalente compatible Classpad.net, où nous avons juste supprimé l'usage de la puissance de 10, remplaçant le
*10^-4
par un
÷10000
.
"Ah ! non ! c'est un peu court, jeune homme !", aurait certainement répliqué
Cyrano de Bergerac. Nous ne pouvons que nous incliner, c'est en effet en l'état bien trop court et simple relativement à la complexité du dessin, il manque quelque chose...
Rappelons en effet que la formidable
fx-92+ Spéciale Collège de rentrée 2018 ainsi que son formidablissime successeur
fx-92 Collège Classwiz de rentrée 2023 sont certes programmables dans un langage
"à la Scratch / Logo / turtle", mais limitent dans tous les cas la taille du script saisi à 900 octets.
Dans ces 900 octets doivent donc rentrer à la fois les instructions de tracé mais également l'ensemble des données éventuelles.
Pour contourner cette difficilté
Nidal a su faire preuve d'audace ; il a eu l'idée de sortir les données du code.
Nidal a décomposé l'affichage de son image en 44 segments horizontaux et son code est en fait une boucle demandant à l'utilisateur la saisie de nombres successifs, chacun codant les coordonnées d'un segment horizontal à tracer.
Précisons que la fenêtre graphique sur
fx-92 Collège affiche des coordonnées allant de
-95 à
+96 en abscisse, et
-23 à
+23 en ordonnée.
Le format conçu par
Nidal est le suivant en base décimale,
aabbcc
, avec :
- aa-16 : abscisse de l'extrémité gauche du segment
- cc-16 : abscisse de l'extrémité droite du segment
- 20-bb : ordonnée des extrémités du segment
Les données à saisir pour obtenir l'affichage de
baby Yoda se constituent alors des 44 nombres suivants :
- Code: Select all
010009
110019
210029
000130
010204
090221
260229
030305
090311
140316
190321
250327
040411
140416
190426
060524
070623
090721
080809
130817
210822
080912
180922
081022
081122
061208
121214
171218
221224
061311
191324
041426
041526
031627
041726
041826
041926
072023
072123
072223
062324
062424
062524
092621
Félicitations !
Ilyas R. alias
ikario198 chez nous, est le grand vainqueur dans la catégorie
Graph Python.
Ilyas est élève en Première au
lycée Louis Pasteur à
Avignon, où il a l'honneur de suivre l'enseignement de spécialité de
NSI de
Vincent Robert alias
cent20 chez nous.
Vincent incite régulièrement ses disciples à participer à divers concours de programmation, notamment sur calculatrices, et arrive souvent à les conduire à la victoire. Une équipe de champions ces
spécialistes NSI Louis Pasteur, bravo !
Revenons-en à
Ilyas, passionné à la fois de programmation et également depuis son enfance pour la saga
Star Wars, qui a pu trouver ici une occasion exceptionnelle de combiner ses centres d'intérêt. Il a choisi pour sa part de représenter la scène du film-épisode 4
un Nouvel Espoir où le
Millenium Falcon s'approche de la
Death Star, réunissant ainsi deux vaisseaux emblématiques de la saga.
Son script de
44,849 Ko ne fait que
31 lignes, mais plusieurs d'entre elles sont très conséquentes, jusqu'à
18845 colonnes. Le script n'est donc pas consultable ni modifiable sur calculatrice
(l'éditeur acceptant certes jusqu'à 300 lignes mais jusqu'à seulement 256 caractères chacune). Par contre le script sera parfaitement lançable.
Le script s'appuie ici sur la bibliothèque de tracé par pixels
casioplot.
En insérant des retours à la ligne réguliers sur ses longues lignes, on reconnaît des éléments de l'affichage et met donc en évidence un codage des données par caractères. On note donc le codage distinct de plusieurs éléments graphiques :
- le fond d'écran étoilé, affiché en premier
- les deux vaisseaux ainsi qu'un titre "Star Wars X Casio", affichés par-dessus le précédent
C'est-à-dire que le script ne rafraîchit pas ici
384×192 pixels mais davantage, une bonne partie des pixels étant en effet solicités deux fois
(pour le fond d'écran, et pour l'élément à afficher par-dessus). Malgré cela nous avons des performances très correctes ; la
Graph 90+E sortant l'affichage de la scène après 30 secondes, un délai habituel.
Ilyas a visiblement bien du talent. Les vaisseaux se détachent ici clairement du fond d'écran sans pour autant choquer visuellement ; on s'attend à ce qu'ils se mettent à bouger à tout moment !
Si tu consultes le code, tu noteras qu'
Ilyas l'a rempli de pléthore de références à l'univers de
Star Wars :
- Code: Select all
from casioplot import set_pixel as coup_de_sabre_laser, show_screen as voir_l_hologramme
nombre, ouvrir, memoire, classer, maitriser, force = sum, range, len, list, int, True
etoiles_de_la_galaxie = {'M': (26, 33, 43), 'C': (0, 6, 16), 'G': (12, 16, 27), 'F': (8, 12, 23), 'H': (15, 19, 30), 'E': (5, 9, 20), 'B': (0, 2, 14), 'D': (4, 8, 20), 'a': (69, 71, 83), 'A': (1, 0, 6), 'Q': (45, 45, 47), 'P': (42, 40, 51), 'R': (48, 47, 52), 'T': (52, 50, 61), 'L': (30, 29, 37), 'I': (18, 22, 34), 'Y': (68, 67, 72), 'U': (56, 56, 58), 'S': (50, 50, 52), 'O': (37, 36, 44), 'K': (29, 28, 33), 'J': (22, 22, 34), 'X': (61, 61, 71), 'N': (37, 36, 41), 'V': (59, 59, 59), 'c': (77, 77, 85), 'b': (77, 77, 77), 'Z': (66, 66, 78), 'e': (82, 83, 88), 'f': (85, 85, 97), 'i': (94, 93, 98), 'd': (78, 78, 88), 'h': (88, 90, 102), 'W': (54, 57, 74), 'g': (80, 87, 105), 'y': (134, 138, 149), 'n': (104, 106, 118), 's': (109, 120, 140), 'k': (93, 99, 113), 'r': (120, 119, 125), 'w': (126, 129, 148), 'j': (92, 94, 107), 'q': (108, 115, 134), 'l': (92, 98, 122), 'p': (104, 108, 133), 'o': (103, 108, 128)}
au_fin_fond_de_la_galaxie = ['MCGGFGHFEGCCFCBDEBaBDDCBDBBBBADAQAABACABBABACAAFAABAEEDCBFBBBAABCABBBDBABBCBPBBBBDCDCCCCBCCBECABEACCABEABACAADCAABCABDBABBCBRABCBBAADATBDBCCABABBABAAAAABACBAAEBBDBAAAAAABABAABABABAABABADAALCBB', 'DGFDFFFFFCCFCFIEBEBLCEBEBHCBBCBBABAAAABBBBAYBBAABDBBMAPCCBCCDDBACABBABCBCCAAGHBCEBCDCHEBDBCEBBCADCBCACABBAAAUSDABAEBCFCBABAAAAAACAFCACCEDDCDAGBAAABAABABAABBBAAAABAAAAAAABCABAACGAAAAABABACBOCBB', 'GBGIGCGFDCIEDDDCEDFCFEBFEBICACABABCAACABBBAKABABBABGDOBDEJCCBJACAEBBCCCBBAEEHCDCCBDFDBCBCGEBBDXBAABBCACAABNBDABCABBCCDACCABCFDABCABDBBCBBCBACFAAAABAGAAAACACKBCCABAAAAAADAAAAABAAACAAAAAQABBACBD', 'EDCDFRCDBGBDCEEEEEDGBFFCEFABDAECBAACCBAADACACADBAGFCIHGBDCCBDADBEABDBBFBCBBFBCCBBDBCBMDQBRBCBBBBBDBCBBCACBACACCACBDDADAABCCBACCBBCBACCBCBEBEABBBRAADAAABCABVADABABAAAABBEAAUDAAAABAAABABABBGABBB', 'DCXDCFEEDBDFECDBBCBDCBGECCIACBABBBABBABAAUAABAAAABAACAGRBDDFECCCADAAACBAAcBGBDBDDDBDEBFDCCDBcBEBADCABCCCCCBBABBFBARHBABBACBADBCEEADDBJHHFBBGALJBAGBAAABAAAADbABAAABBABBCIAAAUAAACAAGAAABACARBABC', 'CEBGEDIBCSFCDDCCCCBCCBCBCCUABCCUACAABBCCBACCAAACCABBCHDDBHEBBFACEBDEBBEEBADBBCGEEBCBCGCBGBDGCBBCaACBBBBFBABEBGBBCCBBBBAABABBBBHCFDAACDDCBDFAFBBACFGBAAABABBAABAAAABBAAABFCCACAAAAABHBAAAAADABCBB', 'DDDCGEECDCBFEBCBBAbBCCIBEBABAABABCADDBDBACABAAAABABBCBDBFBBCBEDGDbBCBDCCCQBCBBECBVCBbCZCDDEDDBFDHMBCCABBKEADHBDBBDBBMACAABCIDBAGEBFCCBEEBCEKGNAFBGACCEBADAACAACABABBAAAANDBAAABAACAAABAABBBBAADB', 'EFEEFDCCEDEKCBCBBBBCCBBHDDFBHHAAZCCBBFABABCBABBABCBCCCCCCDBCECCDBBDBDCECFJBBDEEFDBCBCCBCCBJBFFCFCDEBCFDBQBEAAFDFDCFCACCBBCDABCBKBCBBCDBBCSDFeGMACBGHCACBAPACABBCBABBABBBAAAABAAAAAABAACABABCABBB', 'EEGJEEBEFEIHHCDBBCDBCBECBFBDLHCBBDBBCBBBBAAACAABBACCBBCCCBfBCGFBBCDDFBFBBEBHCBDFEEBTBBGCGEBECFHHDCCCCDDEBEGNHCEFDCDDBADBDDBCECEBCCBDFCBCBAFEJFFDLFACABAAADAFBABAFBBAABBBPKCAAAAAAAAAAAAAACAABBBB', 'DFDBHJECDFFCCFEDCCADBBBBBBDCFDESCBDCBBCAAAAABAEACBADDBCBBECBEBDCEBCCBCBDHBEFBCDBBKFBBBCCCGFBFECDCEIMBDECDDEHFFIGGEFCBCACBACCBFBCCDCBBEDBaCGBEBBEiABACAACANBABCACBFABABABBBABBAAAAAAAAAAAAACaAABC', 'EEFFFFFECEBBCBBCDCEBEXCCCBEEDGFDIDCBBCCBABCABDACBEFBCDBDDBBCCCBGCBFCECFCBCBDFDBGCGBECDLQGEICIDJZCEDDECEFEEEGGFFHCJCFFCFCCDBCFBYBEBHBdBEAAFICDCJBOABCCAAABAAABAABABBBACBBBBBBAABBAAAAAABCACBACCBB', 'EECGFEEFFDBhBFBCCBDCBBDDDEFGHDGGEHDDCBBCBCBACABDCBBECBTCCDDCDBECCECCBCECZCEECJDPCEFFHBEGCDDGDFDCFBHDDEFDHGHFEIDHECCCGJCCCCECBCCCFDCBBBBBBCECFFADBCBABLBBABHCBAAABAECACBBBBBBBABAAAAABBAABBABCACC', 'CBFGEDICBFBBBDLBBBDCDCCDDDEEGGHIFFBBEBCBCBBDBBDBBCBCBBCDCCBBBCBDCBDFBDENBDFCECDDDBFBCFBBDBOCVFCMEWCCCFDFFFDLJDHCCCFDCBBDBCDBFBBCCECBCABCABCABAGCAFBCACEDADACCCDBBEBAZGBBBBBBBBAAABCAAAGLBBBBBACB', 'NODECJDEDDBKCBBcCEEBCDQDCUQHDHHFGCFCCBDDGBCBCDCDBBCBBVBSCCDEBCEFFCBEDCDEDEEDDCBCFCFCFEECBRIEFFEDDDDEFCDEGILFHDDLJDECCCBBBEDBDHBBBDUJAeABADABAJEHAICBCAGCAACEAGLDACACBBBCDDDBBBACBBAABBBBAADBACBC', 'BBEBECDEFMEBBDDBFBGFDEBGGFFDgFGGGDGGFDCBBCECMBDCCCCCGBcMEBEECEGCCIDIDCGFHFFEBHCDGEBNCBJCDMCFDDCECDEECGCHEFMPRZUFJFEDBCBCCBCICCFBBDBCAAHACACJHCOEEABCFHAWFAECEECCCWIDCEHGDCDCBBBBBBBBBBBBBDAAAACB', 'BDEDBCBDCDBCBcEECEDEECGDFGHGFHGGEIEIFDBCBFCCBFBGBCCCBDBCCFCEEEEEGEDFIEGCGHCCBBDFCDDRVBCCCCCCDHFEZDFHCDEGFLFMIKMJEGCDCBCBECGCBEBEDBBCACABBBAABABCAPBAABABBBDDBCBFABEDDEBFHDDBBCBBBBBBBBBBIBFOBBBB', 'BCDFBDDDCEJDECECDBEDFDEHEFFHGGIEDGHFEGEDOAABBCBDBBCCGDBFCDECFFLEECFDFDGFDFDFBHCDCDFFCCEFEBHCLHCDDEEECDFCQCFGIKKGCCCBDBBFbCKCDTBCBDBBDBBABABABPACBIBABBFCBBFBAACBEBGBCCFGBCBCBCBBBBMBBBCCDBAGBBAB', 'CBEBGDBCBSGDEEGFDiEDFDEChEHFJHGGIMDDJBFCUCRHBNEBCACADFBDDEGEGCHECECCEICFFFFECFEECEHCEHCFBFCFCCWJDFCXIEFFUDDIFEMLHEKJDDCDBLHDDCFBBACACDABABBCAKABAEBDBBBBBFBCEBCDGBFBDFCCDDCCBBBBDBBCCBBCBCDAAMNB', 'BBCEBCBDBCFECDDEFDFHDHFGDGGGFHHHFGHFGFFFADABAFDAACAEBBDDCHDDFFEFPGHEHDOFEEFFGLBBCDEDFBBCDEDBCFCDJCICGFEEEGFGGDFCBPJDBCLDECDDEBCDDABCAPBBADCACCBCCBDBBBBCCBDBBBBDBHEDFBFCEDDBBBCDCCCCCGcBCBBDBBBB', 'CDBBCBEDCCBGBGFFHHHHGEGGIFEGIIHGIPHFEDDBECBBBABAcADCDBEBHDFIFEHNECGFEGHFHEHEFGJFFFBgBDDCBCDCDCKDEJVEEGEIDHGGFEGCcBCByJEBGCDEBBGBDABAABACBBBCBCDBDCBCBDCCBBCBCBCBRBCEFCCFEDDCDCEDFEBDCBBDCBDBBGWB', 'BABBDBLFCEDBZDFFHFHFQIGIFHHGKFHEDaDHDGDEBCAEAADAAACBCBBBCDEDFFCKFEFCIGFIDIEIHFLGIKCBIDBBCCGCCGFIDLEFWDHDFGFHIGGHGRCILJBHCBDBBCBBCKACABCABBCBHBCBCFBCCBCCCDBCBBBBEBCEEEHFFEEDEDEEEBCCBDCBBCBBBdBD', 'BFDBCCBFCBDDHDGKIGFIKFIHGFFHHJGeDIFVFECDBEFAECDCCBACBbEFDHKDFHGHFLDKGFIFIEHGHELEGDQCDMBBBDBCCDDDGDGGLEEGGEEEFGIFJGOBISJFBHFBBBBACBBBAABCBBBDBCCCcBDCBCCDBBBCCECCCFBBDECGEDEEEEEECQBBZCCCBBCDBCFE', 'BABACFBCCBBHNFDEaEJDFHIGDbFEGFCJFGFDGCIFDCBCABBBAhBCDBFDIDCDIEFDFFIDEWFGHFIGHHDGGFDGDCBDCCGBCCEFDFIFGIEEFGFFIFFGHCLRFenYMGCBDABBBBAAEEAFBBCBBBBCCDCCBDDCBBBBCABBCBBLCFDFEEDEEFFFFRDEEBEBDEBCEBDD', 'BAADBBBBBFDDFFHFFGIGFHFHFGEHFYFIGFGFFDDDCAACBCCEBABDBCCDCFFdEFEHEIIIFFFGGGFHMHGEGECDBCBBECBIBDFKFFILGKFKFFGGEDJEQJDOPVQKFHLBABCBAAAaAADABBBCBDCBFBDBCBBBBADBADCeBECSCFFDIHFGFGFFEDFDDFEFDDEDCHEF', 'BACBBDDPDCCDHYFHGDJHLFHHGFFDFNDGIENEEBBBDACCBCAAABBBCDDCDFDCDDEFQDIIIJEJGHFHCIGFBFCCDCABDBDBBEDEHEHHFIIHHGGFHDJHDEBTGGHDHCCEBOACABAAFALAAACANBBDFKBHBCBCBGABBACABDEPEDEFFFFEFDIEgCFDFEDFEEECDCDD', 'ABBDDBCDCDEHHCIGFeGFHHFGFIEIHDEFEFQDHBBGBDBBBBBbABBBCDDCCEEFFFGGIHFJJFsEFFHFgCGHHBECEBCCBDBFEBCFCVKKIGFHGGJEIGGIIDGBCBDCBCBBBCAABABBBBACBEECCBBBBBCBBEBEBBCAADBCFCCCNEIGGHGFIGHEDFFFDEEEGFDCFCEC', 'DBDBCFDDCDFDCFHKFDGFGFGGDFGFFIGDDDCBFFDCBCBBDABACCBBCDDDDEEFEEHGHGKJENEIHHEHCHGGFFCCCBEBBFCBBFFGGFDHJFKHGLFHEFGHHEECMCCCCGEEIEAXACPABAFCBBCABBCCDBBBBFBBABBACCCFCCBIFDFFDFGEFFFGFFDFDGGGGDEDCEBE', 'EBDCFCDCDDEDGGFFFEEHFGGDfDHGGFDFKBgECBCBKBDHAACBBBCCDDCBCCEGFFGFHIHKIHIJHFHDFHJJGEFCFCBEBBDDCCDBECHHJIGHIHGHJJFIDHGGCDDDBLIBABHAAHICABAEDBCBGBBCBDOCCBCDACABDABDBCJCDFFEOVDLRDGEGDbHEFDEDDDDCBEC', 'BbCCDDDCEFCFEDIGFEGGHFGICEFGEGEEDDBCBBCFCBBBCDBCEDCBBCDECCEGGHIHHJHHJKIJJFJEEFHIFCDDEDBFBEDCBECQEFGFFIPIHJJHIHFFgCHEIECDDCCEEDABAAABBDCCBCBCBDCCVCBEBHBBFACDCCDCECFHEFGDCFFHKHGMFDEDFGEGFEEIECED', 'DCEOEZGFCDFCGDHFDGGFGGGFFUGDDGEDCEFECCDBBFDCFBDCCCCDEDCCEEEFGGJJHJJLLMJIIeIHFDKFEHCDFGEGEDBBFCHDFFFFfEIHKHINJKJHGIFFGECBDFBFBGAEBAWADBBBDDCFBHHECEEBdBPCCFCDFCBEBDCFKEDGHDIEELLOHJFDEEEHDEHICCEC', 'FLEFDEEDFFDEEEEGHFGGFHHGFEGFGDHEDEEDCDCDCBCDBEEBDCCDDDDDDEEGHGHHKJLJIMQHLGMJFGEFIEGCJGBKBCCIDGDFEFDGFIIJKKKJKKMFJFGHDFFFHDBDDBCABAECBBECFBBDCDECCDGCaBDBCBCHBBDBCBDBELGHDHGGICCDFHCFEFEBdFFDGCBD', 'DDEFEEEEEFOIFHJFGDGHGGDHGEFFBGCDFDCBBDCCCEBCFBECECCCCCDEEFEFGGHJJIILKLHXJHIHGFEWFDEDDBCEBBDDEEEFGCEHDKFIKINLMKFnFJIEHDEFFDDGCBDBABAACEBdBDDDEEEFECCBBCCZFCCEDJBDBDBEDDGDEGDDEKXIDCDDDDEFBEDNCCDB', 'EEEDEFEFFEJFEGFGGIEGFHGEDFECEDGDCEEBBCCBCBBDCGBDCDBDDCCDFDGHHHJIJILJJKIIJHGHIGFHHFDDBCCBFDECGDGLCFDGRFGJILNNKNJHHKHEFHEHECCCIBCAEBCCBBKBBDDCGEEFEDCDBEDBCFBCFBDBDCCCDEEJGFDDFDCDDBJECCEDLEDCDCCC', 'CEEGEEDEFEFEGFIFFKeEIHHCcBEDDBDCCCBXCBIBCBCCDBDCCBFBCBDEEEHGGGJKLKIKIOZHIEJHHHXGFGDCCBFPBFCFCECYDDGHUEIKKJLILNKROHHKFEDDOXDIBEAHABACEDICFCEOCCGEEEDDRFBEFBCDWCBFBBCBBIIFJGEDDDCFCBFCCCCEIEEFCFBB', 'CBECCDFFEEFFFHJFIHDIIIGEFEEEBTCBCBDBBACDBBBCBDCBDBBBDCDCEEJEHIKILGHHGIIKGHFHGCHHIIIUCFBCFFGFDDFDDCGEFIIIHLIMLKKJHGHIFGDCCBFFCDABCBWABCFFBEHCaHDEDCFECGFFFDCCBBBCCCFCBFFECINCbCICJFCBCCCCEDFEHCSC', 'CDCCcCFCGFHFKIFZIFJHIHILGFECEKCDDACAADABBDBCDBCDCCEBBECGEGCaCFIGHKKIFFJGJHFJHiDHHFHJEEFCHCDKGEFDEGGGIHIKLJLLQJIKFHGFHFDGCKECDFCFBAADDCCJFCEGDEEDDGDCCCEFGCEEHCDCCBJCCBECEECDEDIDEDCEBBDBBDGCBCCE', 'BCCCCFBeCIIIIFLRLIGIIHGGEEEDDACABCBACAACCBCBBDBBBBHBbBCCEDFDXGGHJEHHHHGFGIEGGDHFEIGFFGDFCkCaEDDHFEJHIJKJJJMNKNMIJGHHFEEECDFLNBGDDBBDCCJEBdDEEHEEFDFDWeDDFIFDDDEDCIBBDKBFDCECCOBFBCCEBCEBCEGDDDCC', 'DBDECCGCHKFFGHHHHJIIFFHIFFGCEADBACCBACABBBBEEBBCCDBCBDCECHFDEDEHIIJHPEGGHDWGGHHDGFHGHFHGLEHCEFFFHKFKMKLOMKLMMJQNNHHHFFFDHEGHCHCCABBACCECDCIDEEFQDFEEMDFFHDGFaDELBBDCBCBBCMIEDBCEFGCBCDCCDCECCDCB', 'CBDHFFFEFBbCJFKJHFJGKGHFHCBCBCDABBAAAABBOGBABFXBCBBDCCECFCGEROEFFJFSIGFHEFCFEFCHFEFDHEFGGGFJJDGGHILKLOOLKLMLNQINUKHHHFFHMDIDHBDBBAECBBCDHDCOFEHLDHGGEFGGGKIFEDDJLCBBBBCCBCCBCDCBBECCCBBCBBBDCBEH', 'CCCFCCEDEGEHFJGGGHQGFIFGEEBBBBBBABBBABBBBABCBBBCCBDDBCCFLEFFGGFGHEILGGFGHDhCFCOaDEEEEFHHIFGMMGGHKIKLMMMLZMOSLMOLMIJIIHHGJDDOEBCCACBCFBCIGGGEJEFFGEHFGGGHFNMIFGCGCBDCBCBBCBDCBBBBCBBCBBCCBYCBIKBB', 'CCDCEEDHCFCEGGFHHFLFFIGECCBBBBCBAABABACBABCBBBCBCECEMBEDFGEEGEHFFHIGGHGHGEDFEFGBFEHBEFDKKLGFGJIHJJMKLQNUOOOSRNMLKHNMHHKHGDEECDEDBABECDEGDGEHFfEGHIGGGHHIKTJMRFCEBFBBBFCBSRBBECGBBCEBBBBBCBBBBAEB', 'CEDCEFEDDCQDCEIGFGGFFDGECCECGABBBBBABBBAADADCCCCCCFDDECCEDGJHJFFSUHIHIJGKELDHHJIDDEfHHFHNIJIIHIKKJNNPRXROPOQONOMMLLGHJHGFFFHEDDDCDBBCEHCFCGKGFGLHHJLHHGLOLRMIHRCJBDCBEBBVBBbBDBCBCBDBBCBCBAXACAB', 'DDCFFCDEDDECiDDEGGFGHFEDGBBDArBHBABABEBBUACCBBBBCGDECFDFDGIHJJGYKJIIGIEIEHDHIEICEHEBHFDHHILHKHKKMMLTRWRTaRONPRNOMKIJJHIPEGHHCDDCBBDCBEDFEEJFHIIHGHKGGJJGGFKJODCCCCCCCBUBBBBGEEDCDBBBBBCBADDaCDDC', 'CCBDEBCEEEEFBDGDFGHFFGEJBCBBCAABAAAABFBBACBLUDIMEEDCZCEFEGJIKJKJJIKIKGRFHFFEEHEECGGOIEMHHIIIJKTKNLQPRSXURPYNQONONeeKKGHHGDDCFCDBBBBDEBEDCEFFIIIJGIGIHHHIRHGHKFwMCDCBCFJLPBDCCHCBCCSBBBACCABAABBA', 'CBCBCFDCFDEEEFCGDHFFGEFEFBBBBBABBABAAEBBPCCCDBZCEFFFDDEFHFYQJMJIMMGMKLFIJMIFDEGEDEEKJMFJJNKJKLYcMQPSTRXUUVXYPMaMLLLKHJFIHODFCEDBICXBFFDEGEFFFFIHJJJHFIJJDFFGDGFDYBDDDDBCCCCBEBFDDBBCCCCACBADABAB', 'CCDCCFECDCEECDDEFDGDEFDDBCCCBAEAAABAADBCRFBFEFBGHDGDGFFGGFGGKLJKMKKMGIKKFIIGFIIEJNFGHFNHKILNLLOMORRTYSTVZPrOMSNNNTLKIGIGDYCHDDCCDBBDECEEIEEGDFIHHHJHLKEHGKDEGEDFCCGBBEASEBUBDBDCCCBCBBBBBAXACATB', 'DCDECCEFEEcEFGGDCDFKJCGCEBPBDCBCBBBBCBCCEBjDEEEDDGFHFIHGFIIJIJKKKJLPMLJJPHNGLGHFHKICiUIKIJLKMNNPRPTSSWXWRbnQYZMLMJKPJLGIJDEECEDCCDEBDCGDDEEEgFHGIGIJFIJGEOFEEDCCEBBBCCBCAEFBCDCCBCBBBVBACBABATAA', 'CCBBBCFDEGDFGFENWEFDEFDDCCCBCBCECCCCDBBBBDCDDJGFIHGEIGGIJGGKKLLLKKNJJLJIRFLMOFHLGIRIGEJJLLLLNMPRRSRXVVUUVWPVRNSMNKJONFIJFLEDDBEDCBBCDCFEFJFEDGHGGIGGeFGIIDNBNCHHBBBLCABBBADCBBDBBEBCCAABBABACACD', 'CCBCBCDEQLGFGGKEDGGFFGGFCBBUBBDDDEEDCBBGBDEDGEFGFHGHKHKJHMLJIOJJKNWMLJNHMLWOGIGRFHGLJLLKLNKNOPQQRSSUVXSZWXRcVPORLLKHIJKHIDGDDCDBBCCBFCEEEFHFHGJIGJHIKFIGHEDDCDCBCABACBCADCZBPBECBEBCBBBBABBCAAAC', 'BCBBCCEDFCHFGJGGHHEGFGFEEEFBCCDBBCCBCCBBCCEEFHGGGFHLKKIKJNOJKJLMJJJIKRLSHJDIHUUFGJIJJJJLMJROOQPRRQRUTTeRTZTdQSPPMKJJJMKIEFDDCBDCCCCHCECEFEJGHHFHKHLHGGIHFEEFDBECAABABBADBABBDGCIDDCCBAAAAAAACABA', 'DDBGBCBDFGFHFFHIDIHIHFICEDCDCDBECCBEDBDECDDIEEHIGKLKJKNJKMKJJIJIbEIRQMPKYJPGLMIHKIJHNKNNIPPQOPQRQPTSTUQaVRSURPTOOMJJKGEOMDGFBCBCDDEBCIDEDGFKGIHIIHIHFHJGFDGECEDBCBBBBaBFBICCBBDDBDFBBBBAABACAKAA', 'CBCCCDEEEIEIHFIIIEaIKHEGEDEBCBCCCBCBBCDDHDEGGIGIKKLILKMJKLIJLKIGNFKHJLPPLILLILIJJIJLKHLTOOOQSPSTSRSSSTVWZXQXSOORLNPILIJEHDEBCBDBCHBEFCDEFFGHGHIEHIGJILHEGFGCEEBCBBBAAACMBBIBEFFICCBBBAABBABAAKBA', 'BHDBBBBEECFDDIELHEGIIIFECFCCCBDCECCCCEECFIFEHIKIKMNMKMINLJLHLKKIGHGNKHOQLJqJJIJIGKMIOMLPOQPQVSRRSUTRQRVPlQZRVYOOPKIYFJJFEFCEBBBEDBCGDCDDGHHIKHFiFHIFGGFJFDDSCCECCCCBBBBBCBBDCDBCDGBBCBABBAABDACA', 'CRBBCFCDCGCGFDGFHGHHHEEEEFEBEECDFBDCDECFDGKFHIIMKLMKNKMLKJLIKLKJIIHHKKJHRKKLLZMIMKMOIPNOQSSTRSSWTUVUUTTTRQgXRQQMMNONODFFEFEBCCBEDCBCDCGCUGKIGHHEIGGGFFGFDFCSDFCFCBCCCBDBBCCBCDTCCJCBBEDAABACBABB', 'BSLBBBDBEDFCDEFHFGHGGIFGEJCgBEHEDJCEECKGIIHJKIKLMKJNLLKJKKJLJMJIFJIJJJJJKJIJLLHJHIJLLMNepPSTSTSTWRTZXSjRRVTOQQOMQOLLFHEDFCHCDCVBCCEGCEDEDGEFGHIGFeEZIKEIHDFCCCCFDCCCCBDBBBCBRBDCCCBBBBBBAACAABBB', 'EBBBDBCCCCDCEEFEGHEFGFGFEDDCEEFEECFDEHDHLKKLIKLLKKgPJJKLJKIIIIJHIFGHIIPhJKJLJJMKKJJLLYTPWTRVUTUcXSVUTUTTWTQWUQSNOLPKKHFFFLBEDCCHBBDBDFPDFFGHHGIIIEKFGGGDHFEEEDCCCCCDCCBBBCCCBCDEDBBCAABABCBBCACA', 'DCCBBBCLBCCCFEEFFGIECDGDECEEEDFDFCEDEDGGFGKJIJLKLJJKLNJLLMKJJKGGGGFHIGOHOKMKMKLKKKJKNRTQRQRYWSUVXXUYXUXUnUUXQONQOKLMHRGEBGCCCSQEDYBDCCGFFFEEEFHHGHGGGFIiDCDFECQGCDCCCBCQKBBBCBCBCBBCCEYAAFCABCCB', 'FCEBCCBBECCBCCFGDEDDGCEFDbECFEFFEEFEENHELHHHKJKIMKJLJKLLKKIKGGIQFHFJKMNJKHLLLMJMJLLLMORObOTTTRUWTYWbVYUbYSTQRQUQLXIILGDFEBBCDCDHCCEBCECDGCJCEGFFIJGGGFEDGKFCCCCCCBDCCCCBBDCCBDCCBBBBCBBCCBABBCCB', 'BDJADCACBBCDDCDDCFCDDEBFFCFFEGFFEFDDECEEFGFJHIKMIKNKLJMJLJIJJHFDcHIFKIKKJLIJKLKIMKPZLLOQORdVUVVWYUYUXWTVTUSSQMhNMKKKLKIEFCMRDEGEFKBDCEEDDGDGEDEHFHGHGEDECNCDDgCDDBDCCDGCCBBBDCBDCCBBZBBBBCBEBBGB', 'CCEEBAKACBCCCCDDDDCCEDDCCCGGDFFEEFDEFDEGEJGFKHHKNJLLGiGKHJJIGGIIHIHgJJMKKJKIJILMMLLKMLdSPURVUVVUXVeZWSUTSRTQUQQLYJbPHIJGFDFCFCGDEDQCCDCHDDDFGEEHFDGECGDEELEGECDCCCDCCBIDBQCHDBCCCHFCBEDBBCBBCBBB', 'GBCDABHABCDCDBCDCBICBDECFEGHEECFCFFDEGGFHGFKHTVLJKJLJJcGIKHIHJHGFJGFJJJNLIHKKIMHMMLOOOLNRNUTTUwVYWWYUTUPRRSNOQGOLIHHNIFHEDHHHFIFEGREDCMCDCDEDFGCGFFDCCCICOFECCDDCCBDCEODCQDBEFCCDBKBDBCFBBBDDBGD', 'BDBBBAABABBACBCFDDCBCCCCBBECGDECDDCGIEIJJILLIEGKGJKHHJMJIHIEGIIGIHIHKHKIHLLJKIHfLLNLPSQQQSSSUaRSXZWVVSTRQUPQQIkILMLOKKkDGJEDEGIDICCIDDRCCDFCGECFCCEHHFNCGECCCDBCBBMBEBBGCBCEEBOKBBBEDFFCCCEBBBCE', 'BABBACAABABCEBBBBEBcCBECDCFECCEEFDfCGGFJGHIGGKHFJKHKKIGIJHOKHHIHIFIJIGJIIJHJJSSMOKWQOQONRQRUZTXWSWXWVVRSRQQSMPSHOKNGaGFLIEJQFFCgCGGDFCCCDFCPCCHFDDCFFDECDCDCBBXBCCBLCFDBCCCCFDCCBGEBCCBBBECDPKCB', 'ACABAACAOEAACBBBCBCBBBCBCBCCDEDCECEEDFGIGFKGGFHMREHIGHJHHGPWFHHPHGGHFdGHIKKPNNTPWOLRMRRSRSRRRRSSWTZSRTRSOOQOQNHrMKJOHKHIHMGFFFJDIHDdCCCHDDDJDFCEKFEEHSDDFDCDBCBCCBBBBCDCBCCEGCFBCDDCDFHCYBBFBBFB', 'AAABAAABGBBBDBHCCBQMBBDBCBCCCDBDDCCEEDFMLRGJGFHFefEGHHIHGGIEHEGEGHHHGGGGINMKKNSMLQNLTOQOOQSVRZYQUSRUSQRPPRNMNNSKJOQKJHcDHHIGFDMDFGICCFDFCDGEFIDDDJCBDGBEDCCBCCBBBBBCEYBBFEBDDDCCCHBEDCBBBDBDBBBC', 'AAAABACABABBBCCCBDBCDBCBBBCCCBCBBBFBDFEEFGGKHGGJGDGHGHHIFFGGHGGEGGGHHHHFGEIJMKPOOMQXOSMTOPQOOUNYOQQORSQSMPMMNNMOLMXHNKHKJEIEFKDMECFDECFDCDGCCDCCLBCIDDDDCCBBCBCABCBBSECQBEDBBBFBHEECDBECACiACCCC', 'DVABABDABDACCBABCBCCBCCBBDACCDBQMECECCFCFFIIEKHJIIGHIGLFJGMEHDFHGGHHIIHGFIIHKHPVKNQMPQPOQOQPQNqOQOWWNQMNMONONPMMLLLQHMHHHHGFFGDRCFEEEDCDRDCFCDCDBDBBCBDBCBDBBCAABABEBDCBDCCCBDDCCCBFECCBGJCeABCA', 'AABABAABABCADCEFBCEBEBAVAAACBCBBCBBCCCDFEEFGIJHFHIGIFJFGHDIEEJEGGHIIHGGHIHHKGPLQNMKNQLRQNQNQNPMONOMNMLRNMOMNNNOLOJILMGJGKGDFDDHEECFJCDDdCDECCCNCCDFBDDBCCEBDBABADCBHDEFDBBVBBDCCCBIBJBBBcBAACIAB', 'BABBAAAACAAfBACCEFBABCCHAXGACAFCDDVCCCDDEFGGFbMQGFLFHJKIFFGFFLHIHHGGHHHFFIIFMIKLLSURRQOPPKOLMOOLMOMNONMNNOMKPJLOMPHINEPGGFGDMNCCEFCEECDCDCCCDCDDCBBFCBCBCBCCBDABBACOCBBCDBCFBBBCEDDCBCDAABBAAKAB', 'CABCAAAAAXBVADCCBBBEDAAAARABCBGBBOGFCCDDDDEFLNHHKFFJIEIFEGFEDEHGFIJIFEGIIFIFGLKKMMQMQSTVPMPMLMJlJMLMLLMNMLNKOLLLGIIJIIGJGJEDDCDDDBFCGGECCbEDEEEDBBCCCFBBBCBCBBCBABCCACCBCBBBBBCECDBBBBAWBABDDABC', 'ADAAACABBAAABADCCEEBBEECDAACDAGBBBBCFCDDDFEEIIIGMfGIHFGGFGDGFIGFHGGGHHGFEHIHGHJLLOLNVTQSQPONMMMIMJOKMRMLMLLLKLKEkGLHHFGFFDHEDFCECBDBDECFCCEFCECECCBEBCCBBBCBBCBCADACDABACDFCEBDADCDDABDABBDCDABB', 'AAAOAAAAACAAAPADDBEDCBDBACBEDCEBDFFCCCCCEEEGGHIHJEIHIEGFKEGCFFFGFGHGFEEFKFELIIHKOLPPSQUTTSNMLJLJYIJeIPJMPRJOKJJHTFHKHGIEFCFECCECDCEDCDEDEFEICDCCBECBCCBCBCDBCACBABEABCBBABBBCDBBBACACABBBBDBBBTD', 'AAANAAAAAAABCBABXBFDEBBHABABAEEHKDGCBBEFDDCGGCHHIHJFEMFKEGEFEDHGIHHFEFEHFEGICJJKbJNQLONSOXPJMPKLXJLINIGIRILHHkFLGEKHGGHEFFCDECDCBBDCCECDECFCXCECBBQBCDBBBCBAEDBBCBBABFAFCCEEABBDABDCBBACAaAABADT', 'CMMLABBAACABAACABEBEFEFCCCBDADFHBGDQUBCCCCDECIFHEIFFGFEDDDDCECFGEMGFHDMHEIFJgHJHSMMOQiNWLPNJLJNIIJNHMILIHGFJHHHGDIEHFDCDEFDCJCCDBEBECCFCCEDCEECGDCBCFCECCOIBADBCDCCBBBFAAEACBACADBACABCABCBIBEBA', 'ABCAeAACVGCABCADBGYGDFIDBCBCDGEGBBLBBCEBCCEDCDCDHDKHEFEGFCCFDGEDGIEGHCFFHJKIEJIKINMMOHPLOLQLJMJJKKHMKIIFHHGHIHGJFIGFEGJCFBECBCCBBDBBECFFFCECCCCDEBGCCCEBEBDBBBBBBCEADCBBCBHABBABAACABCAcBBBGAABC', 'CAECCABCCACCBBCDBBBBBDFBECCECFEBSIBCBDDDECCCFCEEDFEEDHDDEEJCIDFFCoDSNIKJJEIGKJJMKLNNOMKNLOONMMIIGLIHIIHIGFFEFHIGHFEFFECIFgBDDBFDCBDBDDGECEIEDBEBBCBCBBBBBBCCBCBBCBBDABABBABBBBBBACBCBBBACBBAABBE', 'ACBABFBBACBBCDCBDGDCNCBEBCBBCDDGBBBECBCECCEDCECDCFEWHEDGDEEGCGHFFFFEEGEFGIGNGFIGNRMMOMPKNNJMKJIJHGGIGGGDEHEEFFFFDGKDGEDCCDDGCBCBBFBDDDCCEFEDCDDDFFCBBDKCBDCBACBCADCDAKAEBgABBCCAABBAEDBDABBBABBA', 'CACCALAYAEADDBCCDEFCBBDCCBCCABCBEEGDHDHDDDFGEDEEHDDDGGFECFECFEEDEEECIFHLJJZLIIFLGVLKKKOQKPJLLFgGEJGHEHGFDECECFGGPCECDPCCEBBEBDBCBCDFBEECECDECCBHEBFDHAABAAAEECKABCACNCBEABBABAABBBAABABBCDCDBAAB', 'CEBCAAJBCBDCBFBFBCDDDEBCBCBBDDBBDBDBCCBDFBBFDDFDEFGJCGGIEEJEECFFIFDFCGEEEJGGIKMGKIMLJLLOMLKKJLFGTGGHIDEDEDcUCCDECEDGHCCEFCBDCCABBBFBEEDEEDCECHDBDCBCBCCABCEACCAfADCEBDAAAACCCCDWABBBCADBEADCABAA', 'ABAAHBACDBBIDCBEFCDDABDBBBCBBBBBDBRLCEECCFNPDKDFFDDDFGGEJEECDGFJDIFGEEFFHFEJIGGLKHILKIMROIMJIGIDSDHFFGCFFCCDBECCEEEEDDGDBDBBCDDBBEBCCBEBFFEEDBFBBFCADBEAQAACABDACCBDBBBMPABBBBBDAABAAAABACBBDACA', 'BAABBABBADDDAHIAFCDACAABBBABCBBACBBBFBCEDCCCDCEEDIFFEDIGHEJDEEFDDECGEGEDiCFIFGHKJJVGKKMPLLJGLKIHJFFFFEDIGFDFCDFDCICFBCBCEAEABBCBCBCCCCDHECBDCCDBBCGAABEAABEABCDCCBCDBBBBCAAABABBBAAAAAAQABDACDCB', 'AZAECCDCCCEBEBACDABDABCAAAACCACaBBBECBCGDDDCECCEFGFCFGFHHCEEEFCDEDECJCLFCDFEUREMYGHHLMLJJJIJIIHEFFJDGEFCEFCCDCBCACBGBHDCCCCCACBCBCBCCBDCBhBDCHBCCAACCAABCEABCGBCBDCCCBBBBJCACACABBCBAAAJBACABACA', 'DBCABCCACDBBCCBDAWBABBABCCBADBDBCFEBCHMEDCDECCDDFEFICJFFCiDEUCDDDCCHDFCGDFFFCDHHEGFIHHKKHJNHIFFGHEFGCDEEDBCDBBDBDAECCCECEBABGACMBBECCCBEBDBDDCBDBDBAEDCBCACBCABCCBBEDBCBBTBCACACCCDAAMYAAHBADEAD', 'AACDCDAFAFEDAEPADABCAAACBABACBDCGBCECJDGFFCBCEDIDCECECCDTCGDCFCDDEDCCCDCEMCEDCGFHDIHHKIFLLIFKFHEIGICPCDDCCCBCBCBBDCBFCBGCDBDCCBICEDBBCQBECZBBCDCBADAXBBBCDCCBICBBDBBBCCBDBCFBACCCCBAAKBAAEAIGEAC', 'CABBBDBDAACBCBAEAJAFBACABABBABCADECBCCEBCBBDBDDDDEFCEFFCCEEDEDFDDCCCDBBCCDCCCCCFEFJFDDFILIJHDHFGDHDEDCEEEEECCBCCDBBCFDGEDBCFABBCBCCBBDBEBBBLCCDCBBBCCBDCCBBBXBBbBBECDCDBDDDEEDEBBCBDCAABADBABBBB', 'ACACBABEADAEABCBCADDDBACAfACDBACBCBBBDBCBCCEFFBCCBDDECCFCCEFEHFCFDCEDOCBCBGBCQECECEDNVFEHHEGFFGDHFEECcCCFDFECCEBBCCCMDCBCCDACBCBCDCCOBEBGDCCBBDFBDBCBBCGBBDFBBeBCBBEBECCCGDFBLBaCICBBACSCAADBACB', 'BBGABBBAABAACBDACECDJDABCBCAAABBBBBCDADBCBCCBBCCBDDDCEGCCDEFFEEECCECCBCECBBDCFCCECCECDEGEFIEHEEFEDEGFDHDDEECDEBCBCBBCBCECCBDFBCBCBCBLCBLCDCCCCGDDBCBGCDBECCBBBBBBEBBCBCBDCCGBEGBGCFBABAABGBBBGBD', 'BASCAAACBACBACCCCARACCCCBCBBACBARBCBBFCCBCECCBBCDCBCcBCCGCEDHEFFEBGCCDBCCDCEDCbCFECFFDFFGFGHFFHDCDEIDgCFEDDDBECBCBDDBBCBCBBBCCRBCDCDEDCFEBDDEECCBCCDBCBCBBFBCBBfBBBdBCBCDBCGEBlDBMABBAAEBBCBBEBA', 'BABCBADABBBABSEBCDADDBACBDEZBAABEBBCDBCBBACDBCCBBCCBBCCCDCFDCQCDHCCDDECCHCEBEEDCCDFCDDEGEGGGDEDDXqCHFCEECGHECDBECZCCBBBDCIBDBBBDBCCDFBDCCFFBDCBBBBDBBCDCCCCCCBBBBDCBCBBBCCBCCFCBCBCBCACADBCEKBBC', 'ADDACCABBABBAADABHCBAEABBBFDCIBCCBEBCDACFCCBDCFBCCBBBBCCDECEGDDFCJNDDDGCCCCDCCECDCDCEDEFFEHDGDFFCDPDHEDWKCDCDCDEBBBDCBCBBCDBDDBCCDBEDCCCEBDDBCCECCBBCBCCDBCCBCEBFACCBBCCBCBBEIGBDCDBABAABCAVCCBC', 'BCDBBABBBBAABAFBFDBCBECCECDBDCBABBBEHADDCDBBDFBGCCCCCCCDBFCDEDNHCGBFCDDKDEIEDGECFDFCDCDCDFDHDGDGHCFEECEDCDEQCDFBCDCCBCBCfBDCECKCBDBDDDCCFBBBBLBBBBBCDCCCBCCBCEBDBYACCBBCCBCCBPBDBDBABAACAACACDBC', 'KBDEBFCAABBBDBBCBBBCCBSFDCBDIBBCCBBCAGGADAEDDCCBBABCBBBCKFCDFCCGCFSCECCRBCEEKCDECDDKMCECEDGDGCEDCGFEFFDECDDQGCFCCCEBBCBCCBDCCCTDBCCBDCDCBEECDBCBCBDBBNDECBDBDGBGCAdACBBCBCBBDBEBAAABBAACABCDHHBE', 'CCBGBBACBAGDDCBDCDRABECCGBTBCBBBBKGBBCBFBBCEHFEBAAAAABBBGCDDBEFCBDBSJDEBDCCbBCECCEEEDDGFEFEFDFEDDDGECDDDFCDCJFCFDDCCcCCDBEDCECBXCCDBDCDCDCCDBDBCBCBCCBCBLBDEBCBCAAAAACCEBBBCBABCDABCACAAABBCBCBA', 'DBDCFICCACCBBDBBBABdFBEBBGHBBGCCBCBBLBBBFBFFBGCBCBBABBCCCFBBDCGEJFCCBBEECBCCUBBEFCCDDFDCDFEDEFFFECDCDIEHCDFDDECDCCDDBCDCFCCDCEDCBCCCCDCDCEDCCBDBBDDCCFBICSLBCBBDBBCBCACBBABAACBCDKABACBABAACDBAB', 'EDFCFBEADGBFDBCDKFESECQDFBGDCEBEQCEFBCDBCBGBBECECBAABBBBABBBCBHFGBDEfFCCClBBLCCEBGEHDCIDDDDCEEFFECDDCCDDECEFDCFDEDCCDEDDECECEECBCCCCCDCECCBDCCBCCBBBBBXBDFCDDBCBCAABCWACBABAABBBBLAABABBACCBBAJA', 'BCBDBCBDCCDBCCLBICEJJGNKKICHBBCBBBCCEBBCBGBCCBFBCBACCBABBACBEHCCFCEBCBCBBBCDBBECJCCCDEDCCCCDDDDEDDCECFERDDEDDFCDDCFCDCDDCEDECECDCBDBCCCDCDDCCBOBCBDLBCHCFBDEBBCBBCBBBADABABBBBABAAEAAAAAAABBADAB']
pieces_du_faucon_millenium = {'~': (255, 255, 255), '`': (252, 252, 251), '?': (250, 249, 249), '/': (246, 246, 244), '>': (244, 244, 241), '.': (239, 239, 237), '|': (226, 227, 223), '_': (210, 209, 204), ')': (202, 202, 196), '{': (219, 219, 214), '-': (199, 202, 201), '&': (188, 193, 191), '%': (183, 186, 182), '[': (221, 217, 204), '+': (215, 213, 204), '(': (202, 200, 190), '}': (227, 223, 212), ']': (220, 217, 206), '1': (152, 152, 145), '*': (199, 196, 185), '7': (176, 167, 154), 'a': (83, 74, 65), 'k': (109, 101, 91), 'y': (144, 140, 136), 'x': (142, 135, 134), ',': (238, 236, 230), "'": (234, 231, 223), ':': (237, 234, 224), '$': (185, 184, 176), '!': (177, 176, 167), '^': (191, 190, 181), '8': (174, 170, 161), 'S': (54, 52, 52), 'h': (96, 93, 88), 's': (133, 125, 115), 'p': (121, 115, 107), 'w': (145, 134, 128), '4': (162, 159, 150), ';': (232, 230, 219), 'j': (111, 100, 82), '3': (157, 156, 147), 'r': (126, 123, 118), 'V': (58, 59, 60), 'b': (77, 77, 74), 'i': (104, 97, 89), 'W': (75, 61, 55), 'o': (121, 112, 106), '<': (243, 241, 234), '#': (187, 181, 170), '@': (182, 178, 169), 'I': (19, 22, 28), 'M': (33, 35, 39), '0': (149, 148, 141), 'u': (137, 131, 122), 'D': (4, 10, 17), 'Q': (47, 46, 46), 'e': (91, 83, 77), 'f': (94, 87, 80), '=': (211, 208, 194), 'v': (135, 132, 126), '5': (163, 160, 154), 'z': (147, 144, 135), '2': (159, 151, 142), 'R': (48, 49, 52), 'n': (121, 110, 101), 'J': (20, 24, 32), 'U': (60, 58, 57), 'g': (97, 89, 82), 'T': (71, 51, 41), 't': (133, 129, 115), '6': (161, 166, 161), 'l': (110, 103, 99), 'Z': (73, 73, 71), 'c': (91, 78, 71), '9': (174, 175, 168), 'q': (123, 121, 112), 'P': (58, 36, 33), 'm': (117, 108, 94), 'X': (65, 65, 62), 'd': (84, 83, 79), 'N': (45, 39, 31)}
soudures_du_faucon_millinium = ['~~~~~~~~~~~~~~~~~~~~~~~~~~~`?/>>.|_){.~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~{-&%%[+(}(_]{1*7akyx>~~~~~~~~~~~~', "~~~~~~~~~~~~~~~~~~~,,)&+':(-$!^&{^*8kShspw4y8,~~~~~~~~~", '~~~~~~~~~~~~~~~~~~*)8(]|%-;xjp1)[(3prVb477skiWo[~~~~~~~', '~~~~~~~~~/+_[:?<.:$_!+#[_{[}^p&[)@sIM30ubDQefokuw~~~~~~', '~~~~~~~;)&;{-)^&_(]++}$+)=;;;**[+8#83kIS=vu58#8z2k=~~~~', "~~~~~.0=&|}=(_-[{_-[--_}[]^&2%|w-'{((%2kRenRJUjgrWan~~~", "~~~~}Tu};^&(8tv#56^&)(]][}}='|[?,+***=62ru0v260xx1waw~~", "~~~'y5lu$^g$#&&$6-==)((-+{%=57%0Z*=::^7=--{[6=&)*))=6_~", '~~~2wyacrsx(8{+((]Wwx&%-]}-+=3lb&,|[2$=8*+=-)+(=)=+[60~', '~~~<t138zt!#^_)};zpo1-_}{-[-=[^7&^65$&@@;#r5@$%**%*=+){', "~~~~<+[_;}!)-=-[+*)|{}[].=|{}%()%{'0_&+]3]1ocgt'{_&^9=~", '~~~~~~~~;=#}-=(}[6__=_|_{[}&$!!-]{}^(_*%_^]}(s)=-=_=&6~', "~~~~~~:+-qok]&&;<+))|-}++_2u#1y09{}[-[##){9s}-'{=$)__3`", "~~~~~~$4'+1#3z']%-][{=*_4w]+@x53z{{'+]:$]%]_(@@'(&))_|~", "~~~~~']]|{_[]==()+-)=]%5|];$%!@85[__'_='+w$}3wuy-+]{8(~", "~~~~.*xqz+}_=-%&=*-=*9#[_'^#-*8%^[=*'{_|,*=8o+_zz!{}j~~", '~~~/&]3bw)[-{(!$){$sv_|_|+}}*-=(jv+]=}1_}})n#={+58!ut~~', '~~?(}_]%6[4}(__$3yeP]#|:__-=@ign#)&{!^z-)*_6*=!vt$&m>~~', '~~&)=!v8zXRo5#%nVoela()7)}=(){-=[]_8(%:}*+_]9(own9j+~~~', "~*[%w8vTWeUWocv0_''x#@zv$^@$*)(;-=;+_,;;]=++@y2g$~/~~~~", '])10wTZfXR1xr6&_&[_}{]g2R!_-_-[#}&-(|;}{+!98y1Up~~~~~~~', "9|cWiaZTy|%6*+xXQu;]{;)=@'|;+$#m#5_ww5o5x783,~;~~~~~~~~", "%5rpdNr+#5%[[{_n4^]:'2{(&4y-438v@*88h!00rrmt<~~~~~~~~~~", '|&bXy<=5-;=_]__+[(@165s31xius%@n8(&%7vu0(,?~~~~~~~~~~~~', "~|3`~'_=-))!5590qvtsqtp774c$^*(};9'~~~~~~~~~~~~~~~~~~~~", '~~~~~4-@$yy2zvi0o0jcu29%}.,~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~)!#9061jnt20][`?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~<#8545#,``~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']
pieces_de_l_etoile_noire = {'~': (255, 255, 255), '`': (252, 252, 252), '?': (250, 250, 250), 'm': (108, 108, 108), 'f': (88, 88, 88), '9': (172, 172, 172), '5': (160, 160, 160), '^': (187, 187, 187), '8': (169, 169, 169), '0': (146, 146, 146), '1': (149, 149, 149), '6': (163, 163, 163), '(': (195, 195, 195), '|': (224, 224, 224), ',': (236, 236, 236), 'R': (48, 48, 48), 'X': (65, 65, 65), 'q': (118, 118, 118), '3': (154, 154, 154), '@': (178, 178, 178), 'n': (110, 110, 110), 'd': (83, 83, 83), 'u': (129, 129, 129), 'v': (131, 131, 131), 'w': (136, 136, 136), '7': (165, 165, 165), '2': (153, 153, 153), 'y': (141, 141, 141), '!': (173, 173, 173), '=': (204, 204, 204), 'O': (40, 40, 40), 'Z': (71, 71, 71), 'g': (90, 90, 90), 'Q': (46, 46, 46), 'S': (51, 51, 51), 'r': (120, 120, 120), 'k': (101, 101, 101), 'V': (61, 61, 61), '4': (158, 158, 158), 'x': (139, 139, 139), 'l': (103, 103, 103), 'b': (76, 76, 76), 'W': (62, 62, 62), 'a': (75, 75, 75), 'e': (86, 86, 86), 't': (126, 126, 126), 'z': (142, 142, 142), 's': (123, 123, 123), 'A': (0, 0, 0), 'M': (35, 35, 35), 'T': (55, 55, 55), 'G': (18, 18, 18), 'D': (9, 9, 9), 'E': (12, 12, 12), 'F': (15, 15, 15), 'C': (8, 8, 8), 'U': (58, 58, 58), 'p': (116, 116, 116), 'o': (113, 113, 113), 'i': (97, 97, 97), 'H': (21, 21, 21), 'Y': (69, 69, 69), 'c': (78, 78, 78), 'j': (98, 98, 98), 'B': (3, 3, 3), '#': (180, 180, 180), 'h': (93, 93, 93), '%': (185, 185, 185), 'K': (30, 30, 30), 'L': (32, 32, 32), 'J': (27, 27, 27), 'I': (25, 25, 25), 'P': (44, 44, 44), ')': (198, 198, 198), '/': (247, 247, 247), '>': (244, 244, 244), 'N': (38, 38, 38), '$': (183, 183, 183), '&': (191, 191, 191), '+': (209, 209, 209), '<': (242, 242, 242), '}': (222, 222, 222)}
chantier_de_l_etoile_noire = ['~~~~~~~~~~~~~~~~`~`~~~~~~`~~~~~`~`~~``~`~`~~`~~`~~~~~~~~~~~~~~~?~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~`~~`~~~~~~~~`~~~~mfm995^8016(|,?~~~``~`~`~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~~~`~~~`~~~RXq3@8nduvdvw1uw77972y!=?`~~~`~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~`~~~`~~``OZgQRRSrkVr!46!7@753225xx6?~~~~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~~~~`~~~31lbgWaOe2t0z305145431zyy0yuss~`~~~`~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~`AqWAMOOTGDEGmmmmds4w1v1uzyvw0stqmf~~``~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~`~~nvkrxgEWWRRFCDCUMdXmpz0rxuvpoo0tnmnmiX~`~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~`Fsf47y1HTlTHXUYcddenjnw4nsvspnpornililgWt`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~`~~`~~~~~~~Bxt84x#TCEAOswu0x00wrou3npqmqmmljjjhfdcZXa~~~`~~~`~~~~~~~~~', '~~~~~~~~~~`~`~~~~?~~~~U%@460MAKFfbrnRsxurruyziompjiliemigcZeVSLC?~~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~`~~~~~??ACJ3302UTrtvvzmlv1qvwrlopnhefldahbeZZVSIHI~~~```~~~~~~~~~~', '~~~~~~~~~~?~`~~~~~`H~~Wf3@slVs2oqrj8xzzwtnzujnmjjfZeddaUWXTXPLGE~?`~~`~~~~~~~~~~', '~~~~~~~~~~~~~~`~ABjho`)6p7HHAZox32tzw0xyzsrpnjlilgcaeYUXRVQUQIGJ``?~``~~~~~~~~~~', '~~~~~~~~`~~`~~~/APgls#qewOEAKGr464y4yyzptmqsutjXQMOSehZYPJPIMHGHHHIA`~/?~~~~~~~~', '~~~~~~~~~`~~~~>~oUadrniuZBFSjTz2w2010zwrrrqrlCBDFGGDBILRTMIHLLJGHJDJ~~?~~~~~~~~~', '~~~~~~~~~~~~~`~ACOEIJEGPDo3@733vxy52yvpnpqcAAGHGGFGFHGFDGNJJLMLHHKHHJ`~`~~~~~~~~', '~~~~~~~~~`~~`~4HFOVJKKVVFAuoleo3zu!rwxqvtlDBGCGGFFHFGFGGJHIKIJLLJKLLH~~~~`~~`~~~', '~~~~~~~~``~`~LfqeceUWaqeMDLPWDUYmql0vrptveBFDGFDEFIHGFGHGGMJGJIIIMHMMIA~`~~~~~~~', '~~~~~~~~?`~`DCLBFJJLCX0olirpdmwrxwyppqlwcBHHGGDGDDFGFFEGGHIHRJLLJLKJLIJC~~`~`~~~', '~~~~~~~~~?~~EFYobYVX8$6$561yyxvywxurqghwAFHDDFIEECEFGFFGEFCHLOMJLKMHMGKGA`~~~`~~', '~~~~~~~~``?~BDQVgfZakglgXi@y00o0r0jqlilkBFFHCFFFDCFEFCDGFGGFIRIMIKKKJLIHI~~?`~~~', '~~~~~~~~~~~~FTMdhaecCfeZklj2zpt0qwmnjemTEGFDHGEFECFDECDDFBGEFLMKKIKMJJGGHD~`~``~', '~~~~~~~~``~~AJNYQaPOP5192wwzuawvpuwroiiIHGFFCEFFGEFDFEDDCHCDCNTJKHIJLJHDFIA~~~~`', '~~~~~~~~`~?~HPHKNLTK@vox@z1zrusrldTTiikMIHHHGDDIFEFFDDDEHFFFCOXLKJILHIHIFGG`~~`~', '~`~`~~`~``~AKHSMMJUVJTm0yxsuswtsiplfddkLGHIIHDFFFHFCFDDDHIHFCKbNINGKHILHECA~~~~~', '``~~~~~/~~AGWcnHCILLJEPPLdVYhwvtlmegfgeOBFDHHFEHFGDCGFHEFFEECQfRKLJKLLME?~~AN~`~', '~~`~~`~``AFXjZuSRmirhirlkcSkktnkkifffdaaDHFFFHGFFGEFHGIGDGHGDLiSLIIJKOMF~>`~A`~~', '`?~`~``~BAPRNLGMm$5&250p10hclpnhgdfdhdYeFGGIICFGGGGFFEGKMGEBDRkTQLOKNMOG?~~~`~??', '``?~`~~AOXgcABSlv352qqxq7KcmUcXhhecacaRZXBGHFHFDEEGFFFDLKIKIGZcMGGFIFHIB~`~`~~~`', '~~~~``ASjTXHDLOUepPmALOQmafspjjgaZcbdZRXYQEHGDFGFDFFGGCIJKGGLbaKEGGHHHLDA~~`~~?`', '/?``~BFYhbPWQFRbskSlgjOHUfeqqllifcbZaWSTSQGKKDDGHFEFEGGGKLJLWZUHILGHEGJGIAA~~``~', '~`~~aAZrsgbaVGIKmdZsjrzwhkmqpfdgedZaVWTUQRQJGDDEFFFIFHICHGRakhKIJLIGEFKJHLKB~?~`', '`~~AAO+$TYMFINNRQWKrDR5yqjsslccdcaYaWVUUOSTKDGFGFDCFFIKGHNbgpcHHHHGEGGJJJHHGDF`~', '~~xGYjfRagkPRQUYdadcVeQGPObIejfdcYWWVWQOLRNLKNHGFCDFGGJSZbendFKJHNFHIHLLHDFDDA`~', '`qtAIfmoWoMVSdPabjjiUVUghglbeWabeXZVUQOOHRMJJQPNNRQNOTZdeegRGLLKIPHLKHKKKGGGDFF~', '~Upkkwhmt1mecYgANiuxw4ssnfrqhTdddXXTRSPKIIGFDFJIPXagjimaWPFBFNKJHKPQMGIJGGJJFGC`', '~fls1fff0ykfbSenhekkUosrrmrngZcbcUUSRKLHGKJHBGGFFIFLPNSGEGHHHPMLKJOMMKKLIHHGIIA~', '~zmosn5x65YOAAi4mueRmZuwqfwndYdbcbUOTMIFFFKFIBGLHKDBEGIBIJHGDMLGIQMKKKKMHHEIIKA`', '~2z0wo@xzfqpstlu5063uwpoalnngYXZYSPSHIGGGKEFCFHKILGGHJKFGGGHIPKKDSOPKHHMMMIGHJA~', '`x556iz06anyys02xw11svtldlokhWYcXTTJPIDEHIHHDBKKIMEGFJOEJHHGFOLKKPHLKKLMLKHLPIC~', '~3x26$9680s4psyvwswxvvnVPmnkfUYcZPQLPHDDEGIKCEKIKOGFHLIKMNRLNNQMLUJKNQRSRPPPONA~', '~w@7voqruvx1039794623ztgqjnmffeZcWVPPSONRMRQPQOQOLTMPQTTUSTSSVQMQSNOMKGFDGFEFFA~', '~kufs4ywx4xz36zzzwz3923yztsplmnfbaZWOOLMKVPRNPQIMVNSNTPPPPOSRTTTRPPSONLLOHJJMJA~', '`Zjjn1zslsxbollwslpjjpojghedeYXVTQIMNLJIJKHIKGJIHLCIFANPQMMMNKKLLJJJFGIIMIEGOLA`', '~QPhY0uqlqyhnmlvrurigmifdXfdaURQLMIJOKGFJHJHIMGFGKHHHEHFQLOLMKGJHKKJGHJKNKLFFCA~', '?mHKNjloYXaNYmmtjgnjgngfeXcaaVRSPPOIMJHLJNHMFJFIHMIGLIGKNMHJKKOQHMMLIIGJLGGIGA~~', '~!AKcPgiSLOHAccYcXidPUidcYMUdTRRTPKKQLGDEMLMKIFKMPGHHLPGRRDIJIOKIMMLILIMJDEBEA~~', '~~AAAPcZCeUeBAERAKafneaYYXISYUWNMPKOPKMGHPJJMLGHJPGIGFKHMOKLLKJIJNNJGOILGAAKA~~~', '~~AABJBABAZTLTOBDRikqgeeXYRVZUPRNGBFFBHDGSKKHMJIIIHIHFLJOOOKMKKHIMPLKIDGU~`~~~~~', '~~ABCACDBHWBAMCLCDZfWeZaXWMTZUQAABABCKJAFOMLKKIJJMKHIDPQSOMILLLGNKPKOOJD~`~`~`~~', '~`~AENZPBBQLEDBFDATUKOKKEMCIRTGEBACJMQIJFLMILKGDGPNMFFSRQPOOIHIKMLLLLGBF?`~~`~`~', '/~~AEFFBAHQLRJLCBAKYBCJJDABKRPBIDDHKKTLIDKLIFDDFFLNJGERQTOLMONMMNRQOQEHKB``~~~~`', '~~`~AABAAAABABAACGHLQAABBAAHHLIDACAAFICFACAGJKLLECCFQNLNMMIHHJIMUIKMOTHIB~~~``~~', '?<~?~CAABBFABACEAADKOGCAACAFBAAACAABAGKBBACRTHHKHILIIHFOOLIKOLKPXKKLQNKIA~~`~~`~', '~~``~~ABBFIGGFJMKICIMOIHIAGBBBCCCAACACGAABDGFBEDBFTLIGHKNFJKSINPTNMKPOLGC~~~~~?~', '``/~?`~ABAABACCHHDDLKLcVMAEDFFAACGEDCBAABADKHDABAFOKIIEDGCBGCCDDHDPNOIMIA?~~`~~~', '~~~~~~~~~ADKDBAGONLACFDMOIBJMCFCAACCABAABABJCAAFKLMFHGBFBAAAGGNVUBNOLPHAA~~`~~`~', '~~~~~~~~~`AABADDHQQaLAACBIIFLHKKGBAEDABAAAADHHBHISUNRPCAABBANLLTOCJIHLAB~~~~`~~~', '~~~~~~~~~`~ZAAHDCBFLFDCAAAACMLKECEBBBABBBCBAGIGIGKNJJGAABAAEAAEIADDLGA~~?~~~~`~~', '~~~~~~~~`~`~~MBAAGEBDEBAAAENIEHBDAABAACCDBAAGBDGDABAABBABABAADFFAACHA`~``~~~`~~~', '~~~~~~~~`?~~~>ABBGQQAFEBCOMKHCACBCBABAAFAEBADHAAFAAABAAAACAACEHEB}AB~~?`~`~?~~~~', '~~~~~~~~`~~`~~~AEDCPqeRKVNJHHIFCCCAAAABAIBGBGFDGFAABBABADACDCJIAB?/~``?~~``~~?~`', '~~~~~~~~~~~`~`~~~``KGAGSTFCGEEBBACACBCADFFHLGIDFGECCEHIAAAVHLRMIA~~?~~~``~~``~~~', '~~~~~~~~`~~~~~~?`~~~ABKSRQMQLHABBDFCDQIFHKDADAFIQRKHLIHHDCOOOIKIA~``~``~~~`~~`~~', '~~~~~~~~~~~~~~~~~?`~BACKJLFIDHMJNHSDHOPILMGGEBJLPLMOMMBRLCNRLQFDB?~`~Q?~~~~~~~~~', '~~~~~~~~~~~~~~~~`~``~ATLGFEBBCTMOLOMNMXRKQHHGEKGOHPKRVFWOTQMPPDGAMPTC~~`~~~~~~~~', '~~~~~~~~~~~~~~~~/~~~`BENSREBHDETMIKHHOJGIMROMPVTOMKJMMOHJKFHQMPMNFKA~?~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~LBFIISRHMDDACGKHHHILNPNMNOISPIHIHKHIIJMIQIMKJOOA~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~?`~DDJFHIIFFDADGIEGFOQOKMRKKQMPMHGIIOIKFLJINMGOLKA~`~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~?`~~AAAAUOWGDAIBCGHDGOMORLMPRMNIGKGLJNBBFKMMOMI~~~~~``~~~~~~~~~', '~~~~~~~~~~~~~~~~`~`~~?~`FABLMNSGLKLQMLPPMSLKKTRHEHHFKIKMOPMJOKH~~`~`~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~?~`~~ARUOKUPKJPHLKMPGELPPLCIPOMKGMGHFFGHGIM~~`~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~AQRHKKGFHNMPKIJHKNMKIEDFGFCJGHHFEDAI~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~AHNQONOMJOMLLMIINMLJCCGCCHEFILGCA~~~`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~BFPTSPLKTLNOMJGJIIKHHEDFAFGHBAB~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~?QMSNNPHDFEAGKKFFEGMHCEIKCDC`~~~~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~/~~~BKLIKLMPONMHKFDKHHDAA~?`~~~~~>```~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~````~~`~BAAEBBDBBAABAABA~~~/~`~~``/~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~~~``~`~`~~``~~~`~~`~`~~~`~``~~`~`~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~`~`??`~~~`~?`~`?~~~`~~~~~~`~`~`~~~~~~~~~~~~~~~~~~~~~~~~~']
bb_8 = {'~': (255, 255, 255), 'u': (204, 177, 7), 'o': (180, 158, 3), 'n': (173, 152, 4), 'x': (219, 191, 5), 'm': (168, 148, 4), 'v': (207, 182, 4), 'R': (79, 68, 3), 'e': (130, 114, 12), 'p': (184, 162, 3), 'r': (191, 168, 4), 'q': (186, 163, 4), 's': (196, 171, 4), 'W': (98, 85, 7), 'w': (214, 187, 5), 'z': (227, 198, 5), 'b': (122, 106, 3), '0': (232, 202, 4), 't': (200, 173, 5), 'g': (142, 124, 5), 'Y': (109, 95, 4), 'k': (160, 140, 1), 'A': (0, 0, 0), 'i': (151, 131, 3), 'O': (66, 57, 0), 'c': (108, 96, 33), 'a': (111, 96, 18), 'N': (60, 54, 0), 'I': (40, 34, 0), 'l': (168, 146, 3), 'B': (7, 5, 0), 'S': (83, 73, 1), 'V': (96, 84, 1), 'f': (137, 122, 2), 'J': (43, 37, 0), 'X': (98, 85, 10), 'y': (222, 194, 4), 'j': (158, 137, 3), 'h': (150, 131, 2), 'Q': (72, 64, 2), 'L': (53, 46, 0), 'U': (89, 77, 1), 'H': (35, 30, 0), 'K': (46, 40, 0), 'Z': (111, 97, 1), 'G': (27, 24, 0), 'P': (68, 58, 1), 'F': (25, 22, 0), 'M': (56, 49, 1), 'd': (130, 113, 3), '9': (255, 248, 7), 'C': (12, 9, 0), '6': (255, 226, 7), 'T': (76, 68, 20), 'E': (20, 17, 0), 'D': (15, 12, 4), '3': (243, 212, 6), '4': (250, 218, 6), '8': (255, 244, 7), '1': (235, 205, 6), '7': (255, 238, 6), '2': (240, 210, 6)}
r2_d2 = ['~~~~~~~~~~uonnnnnnnnnxmnnnnnnnnnnnnnnmvR~~~epnnnnnnnr~~~~~~umnnnnnnnnnnqs~~~~~~~~~~~~~Wsmnnnnnms~~~~wmnnmz~~~bqnnnm0~~wmnnnnnnnm~~~~~0mnnnnnnnnnnptg~~~~~~~rqnnnnnnnnnnq', '~~~~~~~~YkAAAAAAAAAAAiAAAAAAAAAAAAAAAAOc~~~vAAAAAAAAAv~~~~aNAAAAAAAAAAAAARz~~~~~~~~~~~cIAAAAAAAn~~~lBAAAASV~~tAAAAAs~pAAAAAAAAAr~~~~~fAAAAAAAAAAAAAJvX~~~~yAAAAAAAAAAAAo', '~~~~~~~~uAAAAAAAAAAAAjAAAAAAAAAAAAAAAARY~~~hAAAAAAAAAk~~~~XQAAAAAAAAAAAAAAAw~~~~~~~~~~cLAAAAAAANc~~uAAAAAAq~~sAAAAAq~tAAAAAAAAAUW~~~~hAAAAAAAAAAAAAAAkW~~wAAAAAAAAAAAAAo', '~~~~~~~WSAAAAAAAAAAAAjAAAAAAAAAAAAAAAARX~~iHAAAAAAAAAKg~~~XQAAAAAAAAAAAAAAAAw~~~~~~~~~cLAAAAAAAAu~~lAAAAAAs~~iAAAANa~ZAAAAAAAAAAr~~~~hAAAAAAAAAAAAAAAAw~~lAAAAAAAAAAAAAo', '~~~~~~~gGAAAAAAAAAAAAiAAAAAAAAAAAAAAAAPX~~uAAAAArAAAAAv~~~YQAAAAAKWVVWRAAAAAj~~~~~~~~~cJAAAAAAAAo~aOAAAAAAVRVRAAAAi~nBAAAAnAAAAAr~~~~hAAAAAFWVVVVAAAAARW~cAAAAAAAAAAAAAn', '~~~~~~~aMAAAAAAAahhhiyceeefIAAAAAeeeedqW~~iAAAAH9FAAAAk~~~YQAAAAAuPQRQchAAAAW~~~~~~~~~bmdeeAAAAAQVqAAAAAAAAnhCAAAAs~tAAAAA6VAAAASX~~~hAAAAAgYQXTUuAAAAFh~gAAAAAAAThihhgv', '~~~~~~~~lAAAAAAgZ~~~~~~~~~VcAAAAGn~~~~~~~iHAAAAlLhAAAAIh~~XQAAAAArAAAAAtAAAAU~~~~~~~~~~~~~gQAAAAArnAAAAAAAAoqAAAAAn~YAAAAXRrAAAAAu~~~hAAAAAfFABAApAAAAEk~wAAAAAAKu~~~~~~', '~~~~~~~~wAAAAAAAy~~~~~~~~~~bAAAAGg~~~~~~~vAAAAAvAwAAAAAv~~YQAAAAAtADDDGtAAAAe~~~~~~~~~~~~~~qAAAAAsZAAAAAAAAUtAAAAN~nAAAAAuBqAAAAAp~~~hAAAAAgLCDECyAAAALc~eQAAAAAAl~~~~~~', '~~~~~~~~~vAAAAAAAx~~~~~~~~~bAAAAGg~~~~~~~iAAAASYAhIAAAAi~~YQAAAAAVkjjkjBAAAAy~~~~~~~~~~~~~~tAAAAALEAAAAAAAABOAAAAh~sAAAABpBQaAAAARY~~hAAAAAMljjjlIAAAAu~~~0AAAAAAAjc~~~~', '~~~~~~~~~TkAAAAAAAy~~~~~~~~bAAAAGg~~~~~~iHAAAAtAAGkAAAAGj~YQAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~YRAAAAAAAAAAAAAAAAAAAAq~YAAAAgLBBuAAAAAt~~hAAAAAAAAAAAAAAAiZ~~~~yAAAAAAAkU~~~', '~~~~~~~~~~aiAAAAAAAz~~~~~~~bAAAAGg~~~~~~uAAAABnAAAtAAAAAu~XQAAAAAAAAAAAAAay~~~~~~~~~~~~~~~~~pAAAAAAAAAGDAAAAAAAAAnlAAAAAuBBBlDAAAAo~~gAAAAAAAAAAAAASxW~~~~~~xAAAAAAAw~~~', '~~~~~~~~~~~WmAAAAAATa~~~~~~bAAAAGg~~~~~~hAAAAUyqrq3FAAAAg~WQAAAAAAAAAAAQ4~~~~~~~~~~~~~~~~~~~tAAAAAAAAAjcAAAAAAAANZqAAAAF3qrrzUAAAAPZ~hAAAAAAAAAAAC8T~~~~~~~~~xAAAAAAAs~~', '~~~~~~~~~~~~xEAAAAAAv~~~~~~bAAAAGg~~~~~iHAAAAAAAAAAAAAAAGhUQAAAAAgCAAAAAp~~~~~~~~~~~~~~~~~~~aQAAAAAAAAqpAAAAAAAAgXXAAAAAAAAAAAAAAAAt~hAAAAAVNAAAAAac~~~~~~~~~gZAAAAAAo~~', 'seeeeeeeeeedMAAAAAAAl~~~~~~bAAAAGh~~~~~vAAAAAAAAAAAAAAAAAtSQAAAAAqxAAAAAAcbbbZz~~~~~~~~~~~~~~pAAAAAAAAmlAAAAAAAApkAAAAAAAAAAAAAAAAAo~gAAAAAc1IAAAAAXbbadwceedUAAAAAAATV~', 'qAAAAAAAAAAAAAAAAAAAf~~~~~~bAAAAGh~~~~~iAAAAAAAAAAAAAAAAAdhPAAAAAq~0AAAAAAAAAAi~~~~~~~~~~~~~~uAAAAAAAPXRVAAAAAAAmpAAAAAAAAAAAAAAAAAMjeAAAAAf~vIAAAAAAAAAeAAAAAAAAAAAANa~', 'qAAAAAAAAAAAAAAAAAAAo~~~~~~bAAAAGh~~~~jHAAAAAtlmmmrbAAAAAB7MAAAAAr~~1AAAAAAAAAk~~~~~~~~~~~~~~aQAAAAAAk~~rAAAAAAMrVAAAAAhpnnmnpAAAAAA1cAAAAAf~~yGAAAAAAADgAAAAAAAAAAAAWT~', 'qAAAAAAAAAAAAAAAAAAAu~~~~~~bAAAAGh~~~~vAAAAAEm~~~~~vAAAAAA3NAAAAAr~~~1AAAAAAAAk~~~~~~~~~~~~~~~qAAAAAAu~~tAAAAAAewAAAAAAv~~~~~rAAAAAAleAAAAAf~~~zFAAAAAADgAAAAAAAAAAAAx~~', 'qAAAAAAAAAAAAAAAAAO0~~~~~~~YAAAACh~~~~cAAAAAg~~~~~~iGAAAAAZMAAAAAq~~~~0AAAAAAAi~~~~~~~~~~~~~~~sAAAAAAp~~aNAAAAAqmAAAAAN~~~~~~~YAAAAAHeAAAAAd~~~~0EAAAAAAeAAAAAAAAAAGw~~~', 'nrrrrrrrrrrrrrrrrvk~~~~~~~~0qrrqua~~~avqrrsrw~~~~~~~1qrrrquvqrrrq1~~~~~yqrrrrq2~~~~~~~~~~~~~~~UwqrrqwT~~~2qrrrqvxqrrrq1~~~~~~~zqrrrrrzqrrrq2~~~~~wqrrrqrzqrrrrrrrrtj~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dmooooor~~~~~~~opopoonn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAAAx~~~~~kOAAAAAMl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~lNAAAAATd~~~~mAAAAAAy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAt~~~zAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAy~nKAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAARriAAAAAMn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~mMAAAAAfAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAAAAAAw~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RfAAAAAAALm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nLAAAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~VdAAAAAAAAAJq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~vAAAAAAAAAAAe~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0AAAAAA6BAAAAAv~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oKAAAAAl~xAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UfAAAAALl~~eAAAAALo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAA0~~~rFAAAAAfU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAn~~~~~zAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nnXZZZZfj~~~~~~rXZZZYY6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~chkjfY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UbcXP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~evbLGCDIOfwZ~~~~~~vVXXXXXXWjX~~~~~~lrZXXXXXXWUVilWXXWjY~~~~~tqcUMLRYmui~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zPAAAAAAAAAAW~~~~~~kAAAAAAAAAu~~~~~mPAAAAAAAAAAAOSAAAAOW~~~wUAAAAAAAAAAItf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~tAAAAAAAAAAAAAMs~~~eKAAAAAAAAAp~~~~~qAAAAAAAAAAAAQUAAAAPX~~sAAAAAAAAAAAAAAWr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAAAAAAAAAAz~~~~vAAAAACAAAAPa~~~WRAAAAAAAAAAAAQUAAAAPW~vAAAAAAAAAAAAAAAAUh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAACRTHAAA0~~~~~lAAAAE2AAAAAs~~~cLAAAAAAAAAAAANUAAAAPRqAAAAAAABRTJAAAAAAAr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~YAAAAAEwmWTgxEy~~~~~gKAAAAfuCAAAAo~~~QZAAAAAAGrrrrqzQAAAAOalAAAAAAmpVUfyGAAAAAFl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAADz~~~~~~u~~~~~~vAAAAAuIcAAAAOb~~~vAAAAAASf~~~~STAAAANxKAAAAAeTAABBBzAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAo~~~~~~~~~~~~~~kAAAAObAuAAAAAu~~~dRAAAAAAdj~~~UTAAAAM7AAAAAAuAABCBBdNAAAAAn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~gJAAAAqBAnCAAAAn~~~~zAAAAAAAXk~~UTAAAAL8AAAAAAnAABCCCJgAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~uAAAAArAAMeAAAAMd~~~~1AAAAAAAdZ~XTAAAAL7AAAAABmAAABCCDnAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAp~~~~~~~~~~~~~kAAAAYVACAwAAAAAu~~~~~0AAAAAAAt~jTAAAAL8AAAAAApAAACCBNcAAAAAk~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rAAAAAFx~~~~~~q~~~~gKAAAAUmmmmkAAAAAl~~~~~~xAAAAAACnQTAAAAM6BAAAAAuAAACCCfNAAAAAq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WAAAAAGxjTScyIy~~~vAAAAAAAAAAAAAAAAKjeggggxEAAAAAAqRTAAAANoUAAAAAOoAAABMwAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAAFTULAAA1~~lAAAAAAAAAAAAAAAAA7UEGGEAAAAAAAAcdSAAAAPTtAAAAAARuposjAAAAAATY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~pAAAAAAAAAAAAABvfIAAAAAOUUUUUAAAAAAkQAAAAAAAAAAAAZfSAAAAPTcQAAAAAAAAAAAAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAAAAAAAAAAJ7AAAAAAwQSSRfYAAAAAQSAAAAAAAAAAAAqSTAAAAPW~xEAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zLAAAAAAAAAAR0fAAAAAcO~~~~~tAAAAARSAAAAAAAAAAAOjQTAAAAPX~~xTAAAAAAAAAAAACx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~iuXIAAACLbwacJAAAAAw~~~~~~nFAAAARTAAAAAAAAAJno~VUAAAAQY~~~cwXBAAAAAAAOpr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~fnoold~~~YooooopV~~~~~~~pnnnnllnnnnnpnnnf~~~~onnnno~~~~~~Rnsqnnpsrc~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']
def tracer_par_le_pouvoir_de_la_force(rayons, galaxie, longueur_de_l_etoile, largeur_de_l_etoile, taille_de_l_etoile=force):
galaxie = [classer(droide) for droide in galaxie]
for planete in ouvrir(memoire(galaxie)):
for stormtrooper in ouvrir(memoire(galaxie[planete])):
if nombre(rayons[galaxie[planete][stormtrooper]]) < maitriser("120")*maitriser("42"[force])*(force+force+force):
for particule_cosmique in ouvrir(taille_de_l_etoile):
for poussiere_cosmique in ouvrir(taille_de_l_etoile):
coup_de_sabre_laser(longueur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+stormtrooper*taille_de_l_etoile+poussiere_cosmique, largeur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+planete*taille_de_l_etoile+particule_cosmique, rayons[galaxie[planete][stormtrooper]])
tracer_par_le_pouvoir_de_la_force(etoiles_de_la_galaxie, au_fin_fond_de_la_galaxie, 42*0, 42*0, force+force)
tracer_par_le_pouvoir_de_la_force(pieces_du_faucon_millenium, soudures_du_faucon_millinium, 220, 100, 120//42)
tracer_par_le_pouvoir_de_la_force(pieces_de_l_etoile_noire, chantier_de_l_etoile_noire, 20, 20, 120//42)
tracer_par_le_pouvoir_de_la_force(bb_8, r2_d2, 120+42+memoire("droides de combat")+force, (force+force)*memoire("force"))
voir_l_hologramme()
TéléchargerFélicitations !
LePhe, administrateur de
Planète Casio, a envoyé une participation au nom de toute sa communauté, qui bien que hors catégorie bénéficie de par son caractère remarquable d'un affichage sur la page des gagnants.
Il représente la
Death Star flottant majestueusement dans le vide intersidéral. Mais ici, le rendu du vaisseau en question nous interpelle. Cela ne ressemble pas à un
sprite possiblement extrait d'un jeu vidéo comme on a pu voir dans certaines participations précédentes, cela ne ressemble pas non plus à une vue d'artiste... cela ressemble plutôt à... un rendu 3D !
Et c'est exact, après le
raycasting que nous t'avions sorti en
Python lors de notre
concours de rentrée 2022,
Lephe pousse la barre encore plus haut avec maintenant du
raytracing en
Python !
Tu peux comparer ci-contre l'image dont il s'est inspiré
(en bas à droite) et sa reproduction en
raytracing (en haut à gauche).
Mais ne t'attends pas à trouver dans le code ici quoi que ce soit de ressemblant à ce que l'on a vu précédemment pour coder l'image en question. Au contraire, tout est vectoriel, et la taille du script obtenue en conséquence en est à couper le souffle.
Pour donc les images illustrées jusqu'ici, seulement
7,705 Ko de script, avec seulement
218 lignes pour jusqu'à
105 colonnes, le code peut donc être consulté et même modifié sur calculatrice !
Par contre, avec tous les calculs 3D supplémentaires nécessaires les performances en prennent ici un coup. Si le fond étoilé aléatoire est certes affiché après seulement
6 secondes, il faudra attendre jusqu'à
6min 30s pour que l'affichage de la
Death Star, progressif de haut en bas, soit achevé.
- Code: Select all
from casioplot import *
import math
import random
WIDTH = 384
HEIGHT = 192
BLACK = (0, 0, 0)
# Vecteurs à 3 dimensions (x,y,z). Ça sert aussi pour les couleurs (r,g,b) !
class Vec3:
def __init__(self, x, y, z):
self.x, self.y, self.z = x, y, z
def __add__(self, u):
return Vec3(self.x + u.x, self.y + u.y, self.z + u.z)
def __sub__(self, u):
return Vec3(self.x - u.x, self.y - u.y, self.z - u.z)
def neg(self):
return Vec3(-self.x, -self.y, -self.z)
# Produit scalaire
def dot(self, u):
return self.x * u.x + self.y * u.y + self.z * u.z
# Produit et division par une constante
def mulf(self, s):
return Vec3(self.x * s, self.y * s, self.z * s)
def divf(self, s):
return Vec3(self.x / s, self.y / s, self.z / s)
# Normalisation
def normalize(self):
return self.divf(math.sqrt(self.dot(self)))
# Conversion vers une couleur (avec saturation au blanc)
def toColor(self):
f = lambda v: 255 if v >= 1 else int(v * 255)
return (f(self.x), f(self.y), f(self.z))
def intersect_ray_sphere(ray_origin, ray_dir, sphere_center, sphere_r):
"""Calcul de l'intersection entre un rayon partant de ray_origin et
voyageant dans la direction ray_dir, et une sphère. Renvoie t1 et t2,
les deux temps auxquels le rayon intersecte la sphère."""
ray_origin -= sphere_center
a = ray_dir.dot(ray_dir)
b = 2 * ray_origin.dot(ray_dir)
c = ray_origin.dot(ray_origin) - sphere_r * sphere_r
delta = b*b - 4*a*c
if delta < 0:
return -1, -1
sqrt_delta = math.sqrt(delta)
t1, t2 = (-b + sqrt_delta) / (2*a), (-b - sqrt_delta) / (2*a)
return min(t1, t2), max(t1, t2)
def sphere_normal(sphere_center, position):
"""Vecteur normal à une sphère à la position donnée."""
return (position - sphere_center).normalize()
ORIGIN = Vec3(0, 0, 0)
# "Field Of View": angle de vue vertical en degrés et en radians
FOV = 60
FOV_RADIANS = FOV * math.pi / 180
# Distance dans l'espace en 3D entre la caméra (à ORIGIN) et le plan qui
# représente l'écran. La distance est choisie pour que l'écran fasse une
# hauteur de 1 unité dans l'espace en 3D.
SCREEN_DISTANCE = 1 / (2 * math.tan(FOV_RADIANS / 2))
### Objet #1: L'étoile de la mort (Death Star, abbrévié "DS") ###
# Centre et rayon de la sphère
DS_CENTER = Vec3(0, 6, -0.2)
DS_RADIUS = 2.4
# Valeurs aléatoire pour le motif à la surface de la sphère
DS_ALEA = [random.randint(0, 255) for _ in range(25)]
# Couleurs
DS_LIGHT = Vec3(0.7, 0.65, 0.5)
DS_DARK = Vec3(0.45, 0.4, 0.3)
DS_SEMILIGHT = (DS_LIGHT + DS_DARK).divf(2)
DS_HIGHLIGHT = (DS_DARK + (DS_LIGHT - DS_DARK).mulf(3))
# Fonction donnant la couleur à la surface de la sphère à la position 3D donnée
def texture_death_star(pos):
# Conversion des coordonnées cartésiennes x/y/z en sphériques. Comme on ne
# regarde qu'un côté de la sphère connaître x/z suffit.
pos = (pos - DS_CENTER).divf(DS_RADIUS)
phi = math.asin(pos.z)
theta = math.asin(pos.x / math.cos(phi))
# Conversion de l'invervalles [-π;π] vers [0:256) pour u et [0:128) pour v
# (symétrique par rapport au milieu de la hauteur)
u = (theta + math.pi / 2) / math.pi * 256
v = abs(phi / math.pi * 256)
# Pixels aléatoires sur la partie sombre mais réguliers en hauteur
surf_light_N = 0
if v <= 0.5:
surf_light_N = 4
elif 4 < v <= 60:
surf_light_N = 4 if (int(v) & 7) == 0 else 64
if surf_light_N and random.randint(0, surf_light_N) == 0:
return DS_HIGHLIGHT if u < 144 else DS_SEMILIGHT
# Bordure au milieu
if v <= 0.5:
return DS_DARK.mulf(0.7)
# Bandes de motifs carrés en surface
if 4 <= v <= 20:
return DS_LIGHT if int(u) in DS_ALEA else DS_DARK
if 23 <= v <= 38:
return DS_LIGHT if (int(u) + 43) & 255 in DS_ALEA else DS_DARK
if 41 <= v <= 60:
return DS_LIGHT if (int(u) + 90) & 255 in DS_ALEA else DS_DARK
return DS_LIGHT
### Object #2: Laser incrusté dans la sphère ###
# Centre et rayon de la sphère qui est extrudée de l'étoile de la mort
LASER_CENTER = DS_CENTER + Vec3(0.28, -1, 0.28).normalize().mulf(3.48)
LASER_RADIUS = 1.2
# Même affaire que pour texture_death_star()
def texture_laser(pos):
pos = (pos - LASER_CENTER).divf(LASER_RADIUS)
phi = math.asin(pos.z)
theta = math.asin(pos.x / math.cos(phi))
# Conversion des invervalles [-π;π] vers [-1:1] en se restreignant à la
# partie visible
u = (theta + math.pi / 2) / math.pi * 8.533 - 3.533
v = (phi + math.pi / 2) / math.pi * 8.533 - 3.533
LIGHT = Vec3(0.7, 0.7, 0.50)
DARK = Vec3(0.3, 0.3, 0.24)
SEMILIGHT = (DARK + (LIGHT - DARK).mulf(2))
r = math.sqrt(u*u + v*v)
if 0.80 <= r <= 0.85:
return DARK
if r <= 0.25:
return SEMILIGHT
return LIGHT
### Source de lumière #1 (lumière ambiente) ###
# Intensité de l'illumination
AMBIENT_LIGHT = 0.05
### Souce de lumière #2 (lumière directionnelle): le Soleil ###
# Direction des rayons et intensité de l'illumination
SUN_DIRECTION = Vec3(-1, -0.22, -0.1).normalize()
SUN_INTENSITY = 4.5
### Source de lumière #3 (lumière ponctuelle) ###
# "Front light": Position de la source et intensité de l'illumination
FLIGHT_POSITION = Vec3(-1.5, 2.5, 0)
FLIGHT_INTENSITY = 0.15
### Dessin ###
# Fond noir
for y in range(HEIGHT):
for x in range(WIDTH):
set_pixel(x, y, BLACK)
show_screen()
# Étoiles aléatoires
for step in range(10):
for _ in range(400):
intensity = random.randint(0, 95)
color = (intensity, intensity, intensity)
x = random.randint(0, WIDTH-1)
y = random.randint(0, HEIGHT-1)
set_pixel(x, y, color)
show_screen()
# Lancer de rayon pour tous les pixels
for y in range(HEIGHT):
for x in range(WIDTH):
# Direction du rayon partant de ORIGIN et intersectant l'écran au
# niveau du pixel (x, y)
ray_dir = Vec3((x - WIDTH / 2) / HEIGHT,
SCREEN_DISTANCE,
(HEIGHT / 2 - y * 1.05) / HEIGHT).normalize()
# Si le rayon n'intersecte pas l'étoile de la mort, on passe
t1_ds, t2_ds = intersect_ray_sphere(ORIGIN, ray_dir, DS_CENTER, DS_RADIUS)
if t1_ds < 0:
continue
# Point de collision, normale à la sphère en ce point, et texture
collision = ORIGIN + ray_dir.mulf(t1_ds)
normal = sphere_normal(DS_CENTER, collision)
texture = texture_death_star
# Si on touche le laser, on utilise les infos de collision du laser
t1_laser, t2_laser = intersect_ray_sphere(ORIGIN, ray_dir, LASER_CENTER, LASER_RADIUS)
if 0 <= t1_laser <= t1_ds <= t2_laser:
collision = ORIGIN + ray_dir.mulf(t2_laser)
normal = sphere_normal(LASER_CENTER + (LASER_CENTER - DS_CENTER).mulf(0.3), collision).neg()
texture = texture_laser
# Calcul de l'illumination du point de collision:
# Lumière ambiante
light_level = AMBIENT_LIGHT
# Lumière provenant du Soleil
light_level += max(-normal.dot(SUN_DIRECTION) * SUN_INTENSITY, 0)
# Lumière provenant de la source ponctuelle sur la gauche
FLIGHT_DIRECTION = (collision - FLIGHT_POSITION).normalize()
light_level += max(-normal.dot(FLIGHT_DIRECTION) * FLIGHT_INTENSITY, 0)
# Couleur finale du pixel: couleur donnée par la texture, multipliée
# par le niveau d'illumination
color = texture(collision).mulf(light_level)
set_pixel(x, y, color.toColor())
show_screen()
Télécharger J'ai moi-même, juste pour le plaisir et au nom de toute la communauté
TI-Planet, envoyé également une participation hors concours que j'ai nommée
Escape Out of Dagobah, et au justement le plaisir de la retrouver elle aussi épinglée sur la page des gagnants !
J'adapte pour ma part à nouveau une scène du film-épisode 5
L'Empire contre-attaque, cette fois-ci celle où
Luke tente d'arracher son vaisseau
X-Wing aux marais de la planète
Dagobah.
J'utilise la bibliothèque graphique
casioplot. Record de longueur, le code fait ici
124,724 Ko avec pas moins de
814 lignes, bien évidemment non visualisable ou modifiable sur calculatrice.
Sauf que ce n'est pas un simple dessin, je commence par animer un dialogue entre
Luke et
Yoda que tu fais progresser avec la touche
AC
:
L'affichage se compose de différents éléments : fond d'écran, surface du marais, partie immergée sous la surface du marais,
Luke,
Yoda, leurs deux plateformes flottantes et le
X-Wing. La fonction d'affichage a été optimisée pour ne redessiner que les seuls pixels inclus dans un rectangle dont les coordonnées sont à lui communiquer. Pour optimiser les performances il suffit ainsi d'encadrer le ou les changements visuels à chaque rafraichissement de l'écran par un rectangle le plus petit possible.
Et encore mieux qu'une animation, c'est un véritable jeu vidéo qui démarre après cette cinématique. Ton but est donc ici d'extraire ton
X-Wing des profondeurs de
Dagobah afin de pouvoir vite partir sauver tes amis.
Les contrôles au clavier sont extrêmement simples, le jeu se jouant avec une seule et unique touche,
AC
(touche ACtion, c'est facile à retenir).
À toi de tenir compte des variations automatiques de la jauge alors affichée en haut d'écran, t'indiquant si la
Force est plus ou moins avec toi. La touche
AC
te permet ici d'invoquer la
Force. Appuie aux bons moments afin de faire léviter ton
X-Wing le plus possible et l'arracher aux marais de
Dagobah !
- Code: Select all
#########################
# Escape Out of Dagobah #
#########################
# un jeu Python pour Graph 90+E / fx-CG50
from casioplot import set_pixel, show_screen, get_pixel, draw_string
from math import sqrt, floor, ceil, cos, pi, sin, log10
from random import random, randint, seed
#-------
# IMAGES
#-------
# images converties sur https://tiplanet.org/forum/img2calc.php
S_L, S_H, S_BITS, S_ITRANSP, S_RLE, S_PALETTE, S_ZOOM, S_X, S_Y = tuple(range(9))
I_LUKE, I_XWING, I_YODA, I_PF_P, I_PF_G, I_AP = tuple(range(6))
SPRITES = (
# Luke Skywalker - d'apres https://www.reddit.com/r/PixelArt/comments/9dd75i/oc_luke_skywalker_i_did_on_my_latest_stream_join/
[19,58,7,0,
(b"\x80\v\x81\3\x82\1\x80\4",
b"\x80\n\x82\1\x83\1\x84\1\x82\1\x85\2\x80\3",
b"\x80\t\x81\1\x86\1\x82\1\x84\2\x81\1\x82\1\x80\3",
b"\x80\t\x84\1\x87\1\x88\1\x89\1\x81\1\x8a\1\x86\1\x82\1\x80\2",
b"\x80\t\x81\1\x8a\1\x8b\1\x89\2\x8c\1\x88\1\x84\1\x80\2",
b"\x80\t\x81\1\x8a\1\x89\3\x8d\1\x8a\1\x84\1\x80\2",
b"\x80\b\x85\1\x86\1\x8a\1\x88\1\x89\2\x8a\1\x87\1\x80\3",
b"\x80\n\x8e\1\x8f\1\x88\2\x90\1\x86\1\x84\1\x80\2",
b"\x80\a\x91\1\x92\1\x86\1\x84\1\x8f\1\x93\3\x80\4",
b"\x80\5\x94\1\x91\1\x95\2\x92\1\x96\1\x8f\1\x97\1\x93\2\x98\1\x80\1\x89\2",
b"\x80\3\x99\1\x94\1\x9a\1\x91\1\x9a\2\x95\1\x92\1\x97\1\x8f\1\x93\1\x9b\1\x9c\1\x8d\1\x89\2",
b"\x80\2\x99\1\x9d\1\x9a\1\x95\1\x94\2\x95\3\x91\1\x93\1\x8a\1\x8d\1\x89\1\x8a\1\x89\1\x8a\1",
b"\x80\1\x94\1\x9d\1\x9a\1\x95\1\x9a\1\x9d\1\x9a\1\x9e\1\x94\1\x96\1\x8a\3\x89\2\x8f\3",
b"\x80\1\x9f\1\x9d\1\xa0\1\x9a\1\xa0\1\x9a\1\x94\1\x9a\2\xa1\1\x8f\2\x90\1\x88\1\x89\1\x8f\2\x80\1",
b"\x80\1\x9f\1\x9d\1\x9a\3\x94\1\x9a\2\xa2\1\xa3\1\xa4\1\xa5\1\x9a\1\x9d\2\x8f\2\x80\1",
b"\x80\2\x9e\1\x9a\3\x9f\1\x9a\1\xa6\1\xa7\1\xa8\1\xa9\1\x94\1\x9a\2\xa2\1\x97\1\xaa\1\x80\1",
b"\x80\2\xab\1\xa2\2\xac\1\xa2\2\xa5\1\xa3\1\xa9\1\x94\1\x9a\1\x9d\1\x91\1\xa2\1\xad\1\xa5\1\xa2\1",
b"\x80\3\xa2\2\xac\1\xa1\1\xa2\1\xa4\1\xa9\2\x9a\3\xa2\2\xa4\1\xa8\1\xa2\1",
b"\x80\4\xa2\1\xac\1\xae\1\xa8\1\xa9\2\x9a\2\x9d\1\x92\1\xa2\1\xae\1\xa8\1\xa5\1\xa2\1",
b"\x80\4\xa2\2\xac\1\xa9\2\xaf\1\x9a\2\x9d\1\xa2\2\xb0\1\xb1\1\xa5\1\xa2\1",
b"\x80\3\x99\1\x9a\2\xa2\1\xa9\1\xb2\1\x91\1\x9a\2\xa1\1\xa2\2\xb0\1\xb3\1\xb2\1\xa1\1",
b"\x80\3\x9f\1\x9a\3\xb0\1\x91\1\x92\1\x91\2\xb4\1\xa2\2\xac\1\xa1\1\xa2\1\xab\1",
b"\x80\3\x9f\1\xb5\1\x9a\2\x91\1\xac\1\xb4\1\xac\1\xb0\1\xb4\1\xae\1\xa6\4\x80\1",
b"\x80\2\x99\1\xb6\2\x98\2\x91\2\xb7\1\xb8\1\xac\1\xb4\2\x80\5",
b"\x80\2\xb9\1\xba\2\xbb\1\xbc\3\xb7\2\xb3\1\xbd\1\xb0\1\x80\5",
b"\x80\2\xbb\1\xbe\1\xbf\1\xc0\4\xb7\2\xc1\1\xc2\1\xb9\1\x80\5",
b"\x80\2\xc0\2\xc3\1\xc4\1\xc5\2\xc6\1\xc7\2\xc8\1\xc0\1\xc2\1\xb3\1\x80\4",
b"\x80\1\x9f\1\x9a\5\xc4\1\xc6\2\xb4\1\xa1\1\xa2\1\xc9\1\xca\1\x80\4",
b"\x80\1\x94\1\xcb\1\xcc\4\x9a\1\xb0\1\xb4\1\xb0\1\xa1\1\xa2\1\xc0\1\xbe\1\x80\4",
b"\x9f\1\xab\1\xcd\2\xce\3\xcf\1\xd0\1\xb4\2\xc3\1\xa1\1\xac\1\x80\5",
b"\xab\1\xb9\1\xd1\1\xd2\1\xce\4\xd3\1\xd4\1\xb4\1\xac\1\xa2\2\x80\5",
b"\xd5\1\xa3\1\xd6\1\xd7\1\xd8\1\xce\3\xd9\1\xda\1\xd4\2\xc3\1\xbd\1\xdb\1\x80\4",
b"\x80\2\xdc\1\xce\1\xd3\1\xce\4\xd2\1\xdd\2\xde\1\x80\6",
b"\x80\3\xce\1\xd8\1\xdf\1\xce\3\xd2\1\xdd\2\xe0\1\x80\6",
b"\x80\4\xd1\1\xd2\1\xce\3\xe1\1\xd2\1\xdd\1\xe0\1\xd4\1\x80\5",
b"\x80\4\xce\1\xe1\1\xd7\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xd2\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xe2\1\xda\1\xce\2\xe1\1\xda\1\xdd\2\xd4\1\x80\4",
b"\x80\6\xce\1\xd3\1\xce\3\xd2\1\xd9\1\xdd\2\x80\4",
b"\x80\6\xce\1\xe3\1\xce\2\xdf\1\xe4\1\xdd\3\x80\4",
b"\x80\a\xe3\1\xe5\2\xe6\1\xe7\1\xd9\1\xe7\1\x80\5",
b"\x80\a\xe8\1\xe9\1\xea\2\xeb\1\xec\1\xeb\1\x80\5",
b"\x80\a\xe8\1\xed\3\xee\1\xef\1\xec\1\x80\5",
b"\x80\6\xf0\1\xea\1\xe9\2\xf1\1\xeb\1\xee\1\xeb\1\x80\5",
b"\x80\6\xea\4\xee\1\xf2\1\xef\1\x80\6",
b"\x80\6\xed\1\xf3\3\xee\1\xf2\1\xef\1\x80\6",
b"\x80\5\xea\1\xf4\1\xea\1\xe9\1\xf5\1\xee\1\xec\1\x80\a",
b"\x80\6\xf6\1\xe5\2\xee\2\xeb\1\xf2\1\x80\6",
b"\x80\5\xf5\1\xf0\1\xea\1\xdf\1\xee\1\xf2\1\xef\1\x80\a",
b"\x80\5\xf6\1\xf3\1\xed\1\xec\1\xeb\1\xee\1\x80\b",
b"\x80\5\xea\3\xf7\1\xf2\1\xec\1\x80\b",
b"\x80\4\xf6\1\xed\1\xf3\1\xf8\1\xf9\2\xf7\1\xf9\1\xfa\1\x80\6",
b"\x80\5\xea\3\xf9\6\xfa\1\x80\4",
b"\x80\5\xea\2\xe5\1\xfb\6\xf9\1\x80\4",
b"\x80\4\xe5\1\xed\1\xe5\1\xfc\1\x80\v",
b"\x80\4\xea\2\xfc\1\xf1\2\xfa\1\x80\t",
b"\x80\4\xf5\1\xfc\1\xf5\1\xf1\1\xfc\3\xfd\1\x80\a",
b"\x80\5\xfe\6\xf9\1\x80\a",),
((0, 0, 0), (154, 121, 93), (152, 124, 87), (124, 96, 85), (126, 96, 80), (156, 122, 86), (122, 99, 80), (119, 98, 85), (247, 191, 140), (250, 207, 152), (251, 188, 140), (194, 145, 114), (175, 121, 94), (253, 203, 152), (120, 102, 76), (232, 165, 120), (229, 168, 121), (220, 216, 195), (225, 214, 195), (219, 140, 102), (234, 231, 210), (248, 244, 222), (252, 241, 225), (235, 160, 119), (217, 215, 200), (231, 229, 214), (255, 252, 230), (247, 238, 224), (249, 192, 135), (251, 255, 231), (241, 229, 210), (237, 228, 215), (255, 252, 224), (211, 200, 181), (207, 203, 182), (38, 39, 32), (44, 37, 27), (40, 39, 28), (205, 203, 188), (51, 45, 35), (43, 37, 32), (86, 78, 67), (131, 87, 60), (206, 197, 184), (188, 175, 151), (139, 83, 60), (209, 203, 176), (86, 79, 68), (182, 176, 150), (42, 40, 24), (84, 81, 64), (90, 81, 65), (186, 178, 146), (246, 244, 229), (64, 61, 54), (105, 91, 76), (107, 90, 70), (53, 51, 44), (62, 61, 59), (26, 28, 26), (51, 47, 46), (178, 173, 155), (1, 4, 0), (32, 31, 20), (7, 0, 0), (102, 86, 66), (30, 31, 26), (205, 194, 167), (203, 199, 179), (148, 139, 115), (164, 150, 127), (71, 56, 37), (39, 27, 13), (3, 0, 5), (95, 88, 82), (254, 253, 217), (254, 255, 226), (203, 165, 124), (215, 181, 137), (229, 213, 176), (204, 188, 152), (212, 181, 143), (193, 158, 97), (197, 156, 97), (195, 174, 138), (102, 104, 102), (217, 179, 143), (200, 165, 117), (213, 179, 129), (209, 169, 122), (197, 164, 109), (240, 239, 223), (252, 250, 234), (204, 171, 122), (206, 171, 128), (192, 157, 109), (201, 174, 122), (217, 184, 133), (218, 183, 127), (196, 156, 103), (204, 170, 115), (169, 136, 76), (171, 137, 71), (175, 143, 89), (174, 130, 77), (193, 156, 115), (188, 156, 114), (122, 87, 16), (141, 103, 34), (166, 135, 81), (126, 85, 17), (141, 105, 27), (183, 159, 114), (159, 122, 58), (138, 106, 36), (171, 133, 81), (190, 154, 119), (155, 122, 48), (172, 133, 75), (106, 73, 8), (168, 134, 62), (103, 75, 8), (182, 162, 126), (57, 6, 10), (160, 121, 51), (186, 158, 126), (65, 6, 10))
],
# X-Wing d'apres https://www.pngwing.com/en/free-png-prwig/download
[66,30,3,0,
(b"\x80\1)\xd0\2\31",
b"h\31\32\23\31\xa8\2\21\22\t",
b"P\31\32\33\21\v\22\31@\218\31h\t\32\v\t",
b"8\31\32\31\n$*\f\31 \t\22\t(\t\22\v\t89\n\23\t",
b"\b1\32\31\30\t\22\34\22$\22!\n\v\22)\32\2392\t\n\v\t\b",
b"\t\22\t\32\318\21\32\f\22\f\22!\22\23\t\23\22\23\t\n\v\t\23\n\24\32$\n\t\n\23\t\b",
b"\t\32\31`\t2\31\22\21\v\21\23\n\t\23\t\n\23\21\v\24\22\24\n\34\n\t\23\t\20",
b'\b\t\n\t\x80\1\21\32\21*\v\t\33\22\33\22\v\21\v\t2\34"\v\t\20',
b"\20\t\x98\1\t\n\21\n\31\n\33\n\31:\v\t\vR\31\n\t\30",
b"\xb8\1\21\n\t\v\t\n\t\23!\32\31\22\23\t21\v\n\t\30",
b"\xc0\1\t\n\21\n\21\23\32\v\n\v\t\n\t\22\33\32) \t\n\t ",
b"\x88\1)\20\t\n\31\22\v\n\v\21\33\21\n\21\x1b1 \31\n\t ",
b"h!\22\33A\v\32\33\t\v\t\v\31\x131 \t\22\23\t ",
b'X\21";\31\23\n\31\n\t\23\21\v\31\v1\v\t \31\v\t(',
b"H\21\32#\31+\21\n\31\n\21\23\t+I \t\n\23\t(",
b"8\21\22\21*\33\22\33\21\n\21\n\21#I\23\t\v\21\30\t\22\v\t(",
b"(\21\22\21\20\31\32A\n\21\n\t\22\33)\v\31\v\21#\21\b!0",
b'\b!\22\218\31\x1012\f\x1b1\v\31#"\21H',
b'\t"\21\x80\1\21:\f\n\23)\v\t\v\t#\n\v\31\v\22\21 \21\b',
b"\t\22\21\x88\1\21:\f\n\239\v\21\23\22\v\31\v*!\22\t",
b"\b\t\n\t\x88\1\t:\24\n\23)\33\21\vR\v\21\v\22\t\v\n\v\t",
b"\b\21\x88\1\t:\24\n\23\t !\20!2\v\21\23\22\t\v\n\v\t",
b"\x98\1\t#\22\34\n\23\tx!B\23\n\23\t",
b'\x90\1\t2\34\n\23\t\xa0\1!"\t\v\n\v\21',
b"\x90\1\t:\f\n\23\t\xc8\1!\v\22\v\21",
b"\x88\1\t\v:\33\t\xf0\1\t\22\31",
b'\x88\1\t\33"\33\t\xf8\1\t\n!',
b"\x88\1\tC\21\xf8\1\t\v\n!",
b"\x90\1\31\33\21\x88\2\t\n)",
b"\xa8\1\31\x98\29",),
((255, 0, 255), (0, 0, 0), (255, 255, 255), (128, 128, 128), (255, 0, 0))
],
# Yoda d'apres https://www.reussiralecole.fr/pixel-art-star-wars/
[31,33,7,0,
(b"\x80\f\x81\6\x80\r",
b"\x80\n\x82\1\x81\1\x83\1\x84\3\x85\1\x84\1\x86\1\x81\1\x80\v",
b"\x80\t\x82\1\x84\1\x87\1\x88\3\x85\1\x84\1\x88\1\x84\1\x89\1\x81\1\x80\3\x8a\1\x80\6",
b"\x80\6\x8a\1\x80\1\x81\1\x85\v\x84\1\x81\1\x8a\2\x80\5\x82\1\x81\1",
b"\x81\4\x80\2\x8a\1\x81\1\x84\2\x85\1\x88\2\x84\1\x85\1\x84\2\x85\1\x84\1\x88\2\x8b\1\x8c\1\x8d\1\x8a\1\x80\1\x81\3\x84\1\x82\1",
b"\x81\1\x84\1\x88\1\x84\1\x8e\1\x81\2\x82\1\x81\1\x8e\1\x84\1\x88\2\x84\1\x82\1\x8f\2\x82\1\x81\1\x84\1\x8b\1\x8d\1\x90\1\x86\1\x82\2\x84\2\x88\1\x83\1\x82\1",
b"\x80\1\x81\1\x88\2\x84\1\x82\1\x84\4\x90\1\x81\2\x90\1\x84\5\x88\1\x8a\1\x91\1\x84\4\x92\2\x83\1\x93\1\x80\1",
b"\x80\2\x94\1\x83\1\x95\1\x96\1\x97\2\x98\1\x84\1\x88\3\x84\1\x98\1\x97\2\x92\1\x98\1\x84\1\x88\1\x84\1\x98\5\x84\1\x99\1\x80\2",
b"\x80\3\x81\1\x9a\1\x9b\1\x80\3\x97\1\x84\1\x88\2\x92\1\x80\3\x9b\1\x9c\1\x9d\1\x88\2\x96\1\x98\1\x96\1\x84\2\x93\1\x80\3",
b"\x80\4\x86\1\x9b\1\x80\3\x9b\1\x9e\1\x88\2\x9b\1\x80\3\x9b\2\x85\1\x88\2\x84\3\x95\1\x81\1\x80\4",
b"\x80\4\x81\1\x85\5\x84\2\x88\1\x9f\1\x85\5\x84\1\x88\1\x84\2\x82\1\x90\1\x80\6",
b"\x80\4\x81\1\x88\3\x84\1\x85\1\x98\1\x97\1\x84\1\x88\1\x9f\1\x84\1\x88\4\x84\1\x81\2\x86\1\x8c\1\x8b\1\x80\5",
b"\x80\4\x81\1\x84\1\x88\2\x85\1\x84\3\x88\3\x85\1\x88\4\x85\2\x87\1\x90\1\x8c\1\x8a\1\x80\5",
b"\x80\5\x94\1\x85\2\x84\1\x80\5\x84\2\x85\5\x87\1\x81\1\x8a\3\x80\5",
b"\x80\6\x81\1\x85\2\x84\5\x88\1\x85\6\x86\1\xa0\1\x80\2\x8a\1\x80\5",
b"\x80\6\xa1\1\x81\1\x85\6\x87\1\x85\5\x81\1\xa2\2\xa3\1\x80\a",
b"\x80\6\xa4\1\xa5\1\xa6\1\x90\1\x85\a\x9f\1\x85\1\xa5\1\xa2\4\xa4\1\x80\6",
b"\x80\6\xa4\1\xa2\3\xa7\1\xa8\1\xa9\4\xaa\1\xa5\1\xa2\2\xab\1\xa2\2\xa5\1\xac\1\x80\6",
b"\x80\5\xa4\1\xa5\1\xad\2\xa2\2\xae\1\xaf\3\xb0\1\xa5\1\xa2\3\xb1\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xa3\1\xb3\2\x86\1\x81\3\xb4\1\xb3\1\xad\2\xa2\1\xad\1\xb2\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xb2\1\x81\2\x84\2\x88\2\x82\1\xa4\1\xb2\1\xb3\1\xad\2\xb5\1\xa5\1\xa2\3\xb6\1\x80\5",
b"\x80\5\xa4\1\xa2\1\xa5\1\x90\1\x9b\1\x84\1\x8e\1\x84\1\x88\1\x81\1\xa5\2\xb5\1\xb2\2\xa2\4\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\x81\1\x86\1\x94\1\x81\1\x9b\1\x90\2\xa2\6\xad\1\xa2\2\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\x81\1\x87\1\x85\1\xb8\1\x95\1\xb9\1\xa5\1\xa2\1\xba\1\xa2\4\xad\1\xa2\1\xad\3\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\xbb\1\x81\2\xbc\2\xa4\1\xa2\2\xad\3\xa2\2\xad\5\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\xbd\1\xbe\1\xbf\1\xc0\1\xc1\1\xc2\1\xad\n\xb3\1\xc3\1\xa1\1\x80\4",
b"\x80\4\xb2\1\xad\1\xa2\2\xc4\1\xbe\2\xc5\1\xbc\1\xc2\1\xb3\1\xad\b\xb3\1\xb2\1\xb3\1\xb7\1\x80\4",
b"\x80\4\xb2\1\xad\2\xa2\1\xa5\1\xbb\1\xc6\2\xc7\1\xbc\1\xc8\1\xad\6\xb3\1\xa4\1\xb2\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa4\1\xad\1\xa2\2\xc9\1\xc6\2\xca\1\xbc\1\xcb\1\xad\4\xb3\1\xb2\2\xad\4\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xa2\1\xad\1\xb3\1\xcc\1\xcd\1\xca\1\xbc\1\xcb\1\xb3\2\xa4\1\xa0\1\xa4\1\xb3\4\xad\2\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xb3\1\xce\1\x96\1\xcf\1\xd0\1\xd1\1\xbc\1\xc2\1\xb2\1\xd2\1\xd3\1\x92\1\x96\1\x98\1\x96\2\x92\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa0\1\xb3\1\xce\1\x83\1\xd4\1\x83\1\xd5\1\x96\1\xd6\1\xd1\1\xb3\2\xce\1\x84\1\x98\1\x84\1\x83\1\x92\1\x83\1\x92\1\xd3\1\xb7\1\x80\4",
b"\x80\6\xa0\1\x81\6\xd1\1\xd7\1\xa1\2\x81\4\x82\1\x81\3\xa0\1\x80\5",),
((0, 0, 0), (74, 116, 0), (79, 114, 0), (192, 220, 53), (191, 219, 51), (136, 167, 0), (71, 114, 5), (137, 168, 0), (190, 218, 50), (141, 165, 0), (151, 153, 150), (150, 152, 149), (234, 237, 233), (235, 238, 234), (76, 112, 5), (78, 114, 8), (70, 113, 4), (68, 111, 1), (63, 100, 1), (69, 112, 2), (77, 113, 6), (75, 111, 3), (67, 103, 0), (65, 102, 4), (64, 101, 3), (80, 110, 4), (66, 116, 0), (255, 255, 255), (67, 97, 0), (72, 101, 0), (191, 219, 39), (134, 165, 0), (129, 98, 26), (130, 99, 27), (244, 240, 218), (123, 98, 14), (128, 97, 25), (245, 241, 219), (67, 110, 0), (127, 60, 27), (135, 67, 33), (132, 65, 37), (132, 64, 24), (249, 238, 218), (131, 99, 18), (224, 211, 186), (133, 65, 32), (135, 67, 39), (131, 63, 30), (126, 95, 13), (127, 96, 24), (225, 212, 187), (138, 64, 34), (127, 96, 15), (124, 99, 15), (128, 97, 33), (75, 117, 0), (129, 98, 34), (223, 210, 185), (125, 107, 45), (191, 83, 46), (124, 106, 44), (192, 173, 119), (87, 38, 18), (193, 79, 45), (194, 80, 46), (126, 101, 27), (124, 94, 11), (126, 102, 42), (83, 40, 17), (191, 172, 118), (88, 38, 19), (124, 99, 25), (126, 103, 49), (89, 39, 19), (125, 100, 26), (128, 104, 44), (192, 174, 126), (62, 99, 0), (127, 104, 50), (129, 106, 52), (90, 40, 20), (128, 97, 16), (226, 213, 188), (66, 103, 5), (58, 102, 2), (91, 41, 21), (87, 44, 21))
],
# petite plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[59,19,7,0,
(b"\x80\b\x81\n\x80\b\x81\16\x80\2\x81\f\x80\5",
b"\x80\a\x81\1\x82\1\x83\1\x82\4\x84\1\x85\1\x86\1\x87\1\x81\b\x86\1\x88\2\x89\1\x82\1\x88\1\x82\1\x88\1\x82\4\x8a\1\x8b\1\x81\2\x8b\1\x8c\1\x82\1\x88\3\x82\2\x88\1\x8a\1\x84\1\x8d\1\x81\2\x80\3",
b"\x80\5\x81\2\x82\4\x88\6\x82\3\x88\3\x82\1\x88\1\x82\1\x88\1\x82\1\x88\f\x82\1\x88\5\x82\3\x88\1\x82\3\x88\3\x81\1\x80\2",
b"\x80\3\x81\2\x8e\1\x8f\1\x88\a\x8a\1\x88\1\x90\1\x88(\x81\1\x80\1",
b"\x80\1\x81\2\x88\3\x82\1\x88\a\x82\1\x88)\x82\1\x88\1\x81\1",
b"\x81\1\x87\1\x82\1\x90\1\x88\n\x8e\1\x88\1\x82\1\x88(\x82\1\x81\1",
b"\x81\1\x91\1\x83\1\x82\1\x88\2\x82\1\x88\1\x82\3\x88\3\x82\1\x92\1\x82\1\x88\4\x82\1\x88\1\x82\1\x88\1\x82\4\x88\2\x82\5\x88\4\x82\2\x84\1\x88\1\x82\4\x88\2\x82\1\x88\2\x82\1\x88\3\x93\1\x80\1",
b"\x80\1\x81\1\x94\1\x88\a\x95\1\x94\2\x96\1\x94\1\x97\1\x98\1\x99\1\x9a\1\x8a\1\x8f\1\x88\1\x82\1\x88\1\x9b\2\x95\1\x8e\2\x9c\1\x9d\1\x99\1\x82\1\x88\2\x84\1\x94\2\x96\1\x94\1\x9e\1\x9f\1\x88\4\x8e\1\x88\2\x82\1\x88\3\x82\1\x88\2\x99\1\x80\2",
b"\x80\2\xa0\1\xa1\1\x82\2\x88\2\x8a\1\x96\1\x97\1\xa2\1\x96\2\xa2\1\x96\1\x98\1\xa2\1\x96\1\xa2\1\xa0\1\x88\1\x82\1\xa3\1\xa4\b\xa5\1\x9a\1\x88\1\xa2\1\x96\4\x92\1\xa6\1\xa2\1\xa7\2\xa0\1\xa2\1\x96\1\xa8\1\x95\1\x88\1\x82\1\x88\1\x82\1\x88\1\x90\1\x88\1\x80\2",
b"\x80\3\xa9\2\xaa\3\xa9\a\xaa\1\xab\1\xaa\3\xac\1\xad\1\xae\r\xa9\1\xaa\1\xa9\1\xaa\2\x92\1\x98\1\xa9\1\xaa\1\xa9\a\xaa\2\xa9\1\xab\1\xaf\1\xaa\1\x80\2",
b"\x80\5\xb0\2\xb1\1\xb0\b\xb2\1\xb0\3\xb1\1\xb3\1\xb4\n\xb3\1\xb4\1\xb5\1\xb0\5\xb1\2\xb0\v\xb1\1\xaf\1\xb1\1\x80\3",
b"\x80\6\xb1\n\xab\1\xb1\4\xb6\1\xb7\1\xb3\n\xb6\1\xb1\5\xb8\1\xb9\2\xb1\f\xaf\1\xb8\1\x80\3",
b"\x80\6\xba\1\xbb\16\xbc\f\xab\1\xbb\a\xb9\1\xbb\v\x9f\1\xbb\2\x80\3",
b"\x80\6\xbd\n\xbe\3\xbd\1\xbe\1\xbf\1\xc0\1\xc1\n\xbd\1\xbe\1\xbd\4\xbe\1\xbd\1\xbe\2\xbd\v\xc2\1\x80\4",
b"\x80\a\xc3\20\xc1\n\xc3\24\xc4\1\x80\5",
b"\x80\b\xc5\1\xc6\1\xc5\2\xc6\1\xc5\1\xc6\2\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc7\3\xc8\1\xc7\5\xc5\4\xc6\1\xc5\2\xc6\4\xc5\a\xc9\1\xc5\1\x80\a",
b"\x80\n\xca\1\xcb\1\xcc\5\xcb\1\xcd\1\xce\1\xcc\1\xca\1\xcb\1\xcf\1\xd0\1\xd1\1\x80\4\xd2\1\xcf\1\xcc\6\xca\1\xcc\1\xcb\1\xcc\t\x80\t",
b"\x80\v\xcd\1\xd3\1\xca\1\xcd\1\xd4\1\xca\1\x80\4\xd5\1\xd6\1\xd0\1\x80\b\xcd\1\xd3\1\xd4\1\xd5\1\x80\1\xcd\1\xd4\1\xd3\1\x80\2\xd4\1\xcd\1\xca\3\xd4\1\xca\1\x80\n",
b"\x80\f\xd7\2\x80\23\xd7\1\x80\v\xd8\1\xd7\1\x80\f",),
((255, 0, 255), (0, 0, 0), (66, 146, 8), (66, 146, 0), (66, 138, 8), (66, 134, 8), (66, 130, 16), (66, 121, 16), (58, 146, 8), (66, 142, 0), (66, 142, 8), (74, 125, 25), (66, 134, 16), (66, 125, 16), (74, 125, 16), (58, 146, 0), (58, 142, 8), (82, 113, 25), (99, 61, 41), (107, 73, 33), (115, 77, 41), (74, 130, 16), (115, 73, 41), (107, 69, 41), (90, 53, 41), (82, 121, 16), (74, 134, 16), (74, 134, 8), (74, 121, 16), (74, 117, 16), (99, 61, 33), (90, 57, 33), (115, 69, 41), (107, 81, 41), (107, 73, 41), (99, 85, 25), (107, 61, 33), (107, 61, 25), (90, 53, 33), (82, 113, 16), (99, 89, 33), (107, 65, 41), (107, 65, 49), (90, 49, 41), (99, 77, 41), (99, 73, 33), (107, 57, 33), (82, 49, 41), (99, 61, 49), (99, 57, 49), (82, 45, 41), (99, 49, 33), (99, 53, 33), (99, 53, 41), (90, 49, 33), (99, 49, 41), (99, 53, 49), (90, 53, 49), (99, 49, 49), (90, 49, 49), (90, 45, 41), (90, 45, 58), (82, 45, 58), (82, 45, 49), (90, 40, 49), (82, 40, 41), (74, 49, 49), (82, 40, 58), (58, 45, 41), (82, 36, 58), (74, 36, 58), (74, 36, 41), (82, 36, 41), (82, 36, 66), (74, 28, 66), (74, 32, 66), (74, 32, 58), (74, 28, 58), (58, 32, 49), (74, 36, 49), (74, 32, 49), (74, 32, 41), (66, 36, 41), (74, 24, 66), (66, 28, 66), (66, 28, 58), (74, 24, 58), (66, 24, 66), (66, 20, 66))
],
# grande plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[104,28,7,0,
(b"\x80\4\x81\2\x80b",
b"\x80\3\x81\1\x82\1\x83\1\x81\n\x80X",
b"\x80\1\x81\2\x84\1\x85\1\x84\3\x86\2\x84\5\x87\1\x81\3\x80D\x81\r\x80\4",
b"\x81\1\x86\1\x85\2\x84\17\x81\3\x80\3\x81\2\x807\x81\5\x84\1\x88\1\x89\1\x8a\1\x84\t\x81\2\x80\2",
b"\x8b\1\x85\1\x84\2\x85\1\x84\r\x8c\1\x86\1\x85\1\x86\1\x81\1\x80\1\x81\1\x84\2\x81\2\x804\x81\1\x85\1\x86\1\x84\2\x86\1\x84\1\x85\1\x84\v\x85\1\x84\1\x81\1\x80\1",
b"\x80\1\x8d\1\x8e\1\x86\2\x85\1\x84\f\x85\1\x86\2\x84\1\x8f\1\x81\1\x85\1\x84\1\x85\2\x90\1\x81\3\x80\23\x81\5\x80\24\x81\5\x84\1\x85\1\x84\1\x85\2\x84\1\x86\1\x85\1\x86\1\x84\1\x8c\1\x84\a\x85\2\x86\1\x8c\1\x81\1",
b"\x80\1\x91\1\x92\1\x93\1\x85\2\x84\1\x8c\1\x85\1\x84\r\x85\1\x84\b\x94\1\x81\23\x8c\1\x95\1\x96\1\x95\1\x8a\1\x81\24\x97\1\x90\1\x8a\1\x84\1\x86\1\x84\17\x85\1\x84\4\x98\1\x91\1\x80\1",
b"\x80\2\x99\1\x91\1\x93\1\x9a\1\x85\2\x84\5\x86\1\x84\b\x8c\1\x84\b\x86\1\x95\4\x96\1\x95\1\x96\3\x95\4\x96\1\x95\2\x96\1\x95\3\x86\1\x95\3\x96\1\x95\1\x96\1\x95\2\x96\1\x95\a\x96\1\x84\3\x85\1\x8c\1\x84\1\x85\2\x84\1\x85\1\x84\20\x85\1\x84\2\x9b\1\x9c\1\x9d\1\x80\2",
b"\x80\3\x9d\1\x91\1\x92\1\x9a\1\x84\1\x94\1\x84\5\x85\1\x84\a\x85\1\x84\a\x85\1\x96\2\x95\4\x96\1\x95\1\x96\1\x95\b\x96\1\x95\1\x96\1\x95\1\x96\3\x95\4\x96\1\x95\3\x96\1\x95\5\x84\v\x86\1\x84\17\x8c\1\x84\1\x9e\1\x92\1\x91\1\x9f\1\x80\2",
b"\x80\4\x9d\1\x91\1\x92\1\xa0\1\x92\1\xa1\1\x85\1\x86\1\x84\1\x8c\1\x86\1\x84\1\x85\1\x84\2\x86\1\x84\2\x85\1\x84\a\x85\1\x95\r\x96\1\x95\25\x96\3\x95\1\x84\3\x85\1\x84\5\x85\1\x84\2\x86\1\x84\5\x86\1\x85\1\x84\1\x85\1\x86\2\xa2\1\x85\1\xa3\1\xa4\1\x91\1\x9d\1\x80\4",
b"\x80\5\xa5\1\x91\1\xa6\1\x92\1\x9a\1\xa1\1\x83\1\x84\2\xa7\1\xa8\1\xa9\1\x84\2\x8f\1\x88\1\x86\1\x84\1\x86\1\x84\a\x95\f\x96\2\x95\25\x96\2\x95\4\x85\2\x8c\1\x84\b\x86\1\x84\3\x8a\1\x84\1\x86\1\x84\1\x86\1\x84\1\x9a\1\xaa\1\xab\1\x91\1\x9d\2\x80\5",
b"\x80\6\xa5\1\xa6\1\x91\1\x9c\1\x9a\2\xa1\1\xac\1\xad\1\xae\1\xaf\2\x88\1\x8a\1\x89\3\x86\1\x84\a\x96\1\x95\n\x84\1\x95\1\x84\1\x95\25\x96\1\x86\1\x95\4\x85\2\x84\5\x85\1\x89\3\xb0\1\x84\2\xb1\1\xb2\1\x9e\1\x84\2\x86\1\x9b\1\xb3\1\x91\1\xb4\1\x9d\1\xb5\1\x80\6",
b"\x80\b\x9d\1\x91\1\x9c\1\x93\1\x8d\1\xa1\1\xb6\1\xae\2\xb7\1\xaf\1\xb8\1\xb9\1\xba\1\x84\1\x86\1\x85\2\x8c\1\xbb\1\xbc\1\x85\1\x84\2\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\2\x95\2\x96\2\xbd\1\xa9\1\x84\1\xbe\1\x90\1\xbf\1\xc0\1\x95\2\x96\1\x95\2\x96\1\x95\1\x96\2\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\xa7\1\xc1\1\xc2\1\x8f\1\xc3\1\x89\3\x84\2\x8c\1\x86\1\x85\1\xba\1\xb8\1\xc4\1\xaf\1\xae\1\xb7\1\xae\1\xb6\1\xa1\1\x8d\1\x93\2\x91\1\x9d\1\xa5\1\xc5\1\x80\a",
b"\x80\n\x9d\1\x91\2\x93\1\xc6\1\xc7\1\xc8\1\xae\1\xb7\1\xc9\1\xca\1\xaf\1\xcb\1\xcc\1\xcd\1\x84\2\x86\1\x89\2\xb0\1\x96\1\x95\1\x96\2\x95\2\xbf\1\xce\1\xba\2\xcf\1\x96\1\x8f\1\x89\1\xd0\1\x89\3\xba\1\x89\1\x96\1\x95\1\xbc\1\xcc\2\xd1\2\xd2\1\x95\2\x84\1\xba\1\x89\1\xba\2\x89\1\xba\1\x89\1\xd3\1\xba\1\x89\3\xd4\1\x86\1\x8c\1\x86\1\xd5\1\xd6\1\xaf\1\xd7\1\xca\1\xd8\1\xae\1\xc8\2\xc7\1\x9a\1\x93\1\x9c\1\x91\1\x9d\1\xa5\1\xb5\1\x80\t",
b"\x80\v\x9d\1\x91\1\x92\1\xa0\1\xc7\2\xc8\1\xb6\1\xd9\1\xd7\1\xaf\2\xda\1\xd1\2\xdb\1\xdc\1\xb9\1\xba\1\x89\1\xba\3\x90\1\xdd\1\xba\4\xb9\1\xba\3\xde\1\xd0\1\xba\5\xd5\1\xda\1\xdf\1\xd6\2\xda\1\xd6\1\xcb\1\xe0\1\x96\1\x95\1\xe1\1\xba\4\xb9\1\xba\1\xd0\1\xba\2\x89\3\xcc\1\xcd\1\xd1\1\xcb\1\xda\1\xaf\1\xb7\1\xd9\1\xad\1\xc7\1\xc8\1\xc6\1\xa0\1\x93\1\x91\1\x9d\1\x99\1\x80\f",
b"\x80\r\xe2\1\xa0\2\xe3\1\xc7\1\xa1\1\xad\1\xae\1\xb7\2\xaf\1\xda\2\xcc\2\xe4\1\x89\2\xb8\16\xe5\1\xb8\5\xda\1\xaf\1\xda\1\xaf\a\x95\1\x96\1\xb9\1\xb8\1\xca\1\xb8\3\xe5\1\xb8\1\x89\4\xcc\1\xda\2\xaf\1\xb7\2\xae\1\xe6\1\xa1\1\x9a\1\xc7\1\xc6\1\xa0\1\xa6\1\x80\17",
b"\x80\16\xe7\1\xa0\1\xe8\1\xb3\1\x8d\1\xc7\1\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\xe4\1\x89\3\xc4\v\xca\2\xea\1\xc4\1\xca\1\xc4\3\xaf\t\xeb\1\xaf\1\x95\1\xb8\1\xc4\3\xca\1\xc4\1\xe5\1\xca\2\x89\2\xba\1\xb8\1\xaf\2\xb7\2\xae\1\xc8\1\xc7\1\x9a\1\xb3\1\xa0\2\xe7\1\x80\20",
b"\x80\16\xe7\1\xe2\1\x80\1\xab\1\x93\1\xc7\2\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\x89\3\xd8\r\xea\1\xd8\5\xb7\v\xeb\1\x95\1\xc9\1\xd8\3\xc9\1\xec\1\xd8\2\xc4\1\xba\1\xb8\1\xed\1\xeb\1\xb7\2\xae\1\xc8\1\xc7\2\xa0\1\x91\1\xab\1\xa0\1\xee\1\x80\20",
b"\x80\22\xa0\2\xc7\2\xe9\1\xae\1\xb7\3\xaf\1\xc4\1\xba\1\x89\2\xd8\1\xad\f\xef\1\xad\5\xb7\r\xf0\1\xad\b\xb8\1\xca\1\xd8\1\xad\1\xae\1\xe9\1\xf1\1\xc7\1\xef\1\xa0\2\x9d\1\x80\23",
b"\x80\23\xa0\1\xef\2\xc7\1\xf1\2\xb7\3\xc4\1\xb8\2\xba\2\xb6\f\xef\1\xb6\5\xe9\1\xae\v\xe9\1\xe5\1\xad\1\xb6\2\xa1\1\xb6\4\xd8\1\xad\2\xb6\2\xc7\2\xef\1\xa0\1\xf2\1\xf3\1\xa6\1\x80\23",
b"\x80\23\xaa\1\xa0\1\xef\2\xc7\1\xf1\2\xd0\1\xb7\1\xd7\1\xca\1\xc4\1\xb8\1\xba\1\xa1\f\xef\1\xa1\1\xb6\1\xa1\3\xc7\r\x9a\1\xb6\1\xa1\2\x9a\1\xa1\4\xad\2\xa1\1\x9a\2\xc7\1\xef\1\xa0\1\xe7\1\xaa\1\xb4\1\x80\24",
b"\x80\24\x92\1\xef\1\xea\2\xf1\2\xe5\2\xad\2\xca\2\xb8\1\x8d\1\x9a\5\x8d\6\xe7\1\x8d\3\x9a\1\x8d\1\xc7\r\x8d\1\x9a\4\x8d\1\x9a\3\xa1\2\xb3\2\x9c\1\xab\1\xef\1\xe7\1\x80\27",
b"\x80\30\xea\2\xf4\1\xe5\1\xb6\2\xad\1\xd9\1\xca\1\x80\1\x91\1\x93\2\x9c\1\x93\a\xe7\1\x93\1\x9c\1\x93\3\xa0\r\xb3\1\x93\2\x9c\1\xe5\1\xf5\1\xa4\1\x9c\1\x93\1\x8d\1\xf6\1\x92\1\x91\2\x9d\1\x8b\1\x80\30",
b"\x80\34\xf7\1\x80\6\xf8\1\x91\t\xef\1\x91\1\x9c\2\x91\2\xa0\f\xab\1\x91\3\xa4\1\x80\3\xf9\1\x91\2\x92\1\x91\1\x9d\1\xfa\1\x80\32",
b"\x80'\x9d\2\x91\1\x9d\3\xab\1\x9d\5\xa0\6\xf2\2\xa0\1\xf2\2\xa0\1\x9d\2\x91\1\x9d\1\x80%",
b"\x80*\xb5\1\xa5\1\xb5\1\xf3\1\xb5\3\xa5\2\xa6\n\xb4\1\xa6\1\xb5\2\x9d\1\x80&",
b"\x80+\xfb\1\xb5\1\xa5\1\xb5\2\xfc\2\xb4\1\xa6\b\xe7\1\xaa\1\xa6\2\xb5\2\x80'",
b"\x803\xfd\1\xb4\1\xfe\1\xb4\1\x80\a\xb4\1\xff\1\x80(",),
((255, 0, 255), (0, 0, 0), (62, 121, 12), (69, 107, 22), (68, 142, 9), (64, 139, 20), (58, 142, 6), (67, 112, 26), (74, 125, 20), (114, 77, 42), (65, 132, 11), (69, 50, 48), (65, 139, 3), (89, 49, 55), (81, 85, 43), (98, 99, 31), (73, 131, 13), (82, 39, 57), (84, 44, 50), (90, 45, 58), (74, 105, 21), (53, 147, 13), (64, 146, 0), (74, 117, 10), (73, 105, 29), (57, 37, 41), (90, 49, 50), (75, 101, 34), (82, 44, 60), (83, 35, 60), (87, 77, 39), (82, 36, 66), (81, 40, 42), (89, 53, 47), (75, 89, 32), (81, 66, 47), (91, 40, 56), (76, 35, 57), (74, 35, 42), (89, 91, 30), (99, 69, 38), (76, 113, 19), (72, 40, 49), (84, 39, 48), (82, 85, 31), (100, 56, 48), (100, 49, 34), (108, 56, 35), (107, 85, 32), (89, 70, 23), (101, 61, 40), (91, 44, 48), (74, 36, 47), (72, 33, 59), (101, 52, 51), (99, 53, 30), (106, 70, 41), (117, 68, 39), (115, 72, 40), (109, 92, 30), (81, 111, 19), (92, 72, 32), (73, 138, 4), (82, 119, 26), (89, 113, 23), (83, 85, 24), (91, 109, 20), (114, 82, 39), (106, 65, 39), (74, 28, 58), (92, 39, 41), (92, 44, 43), (88, 45, 33), (99, 66, 47), (106, 66, 50), (108, 60, 25), (115, 66, 31), (99, 94, 28), (107, 81, 42), (106, 90, 34), (92, 53, 32), (115, 66, 24), (97, 81, 26), (90, 57, 34), (115, 82, 33), (99, 88, 24), (115, 62, 35), (107, 61, 42), (107, 61, 48), (99, 61, 50), (107, 60, 31), (88, 106, 25), (106, 69, 22), (100, 89, 32), (116, 73, 46), (115, 61, 22), (107, 65, 33), (106, 85, 38), (67, 37, 40), (89, 40, 30), (116, 72, 34), (90, 53, 42), (98, 53, 40), (74, 40, 39), (82, 40, 33), (91, 48, 35), (80, 50, 42), (98, 58, 32), (90, 57, 40), (109, 68, 46), (74, 45, 42), (81, 45, 40), (99, 65, 41), (91, 48, 40), (82, 36, 41), (80, 37, 50), (84, 52, 40), (76, 53, 47), (84, 49, 48), (68, 81, 48), (68, 73, 59), (73, 57, 60), (75, 44, 57), (58, 48, 49), (75, 31, 65), (42, 130, 19), (74, 32, 49), (76, 26, 68))
],
# paysage de marécages d'apres https://gameartpartners.com/downloads/swamp-game-background/
[384,192,7,0,
(b"\x80\1\x81\1\x82\1\x83\1\x84\3\x85\1\x86\1\x81\3\x86\1\x81\2\x84\1\x87\4\x84\2\x86\1\x81\4\x82\1\x88\1\x87\2\x86\2\x81\3\x86\1\x81\1\x87\2\x83\1\x81\25\x89\1\x84\2\x81\3\x84\2\x85\1\x81\t\x86\1\x87\1\x84\1\x87\1\x8a\1\x81\2\x84\3\x8b\1\x81\4\x84\2\x89\1\x86\2\x87\2\x84\1\x87\1\x84\1\x83\1\x86\16\x8c\1\x84\2\x86\n\x87\1\x84\2\x86\b\x87\1\x8d\1\x84\1\x8c\1\x86\v\x8a\1\x84\1\x87\1\x86\f\x87\1\x84\1\x86\1\x81\1\x84\1\x85\1\x86\n\x84\1\x87\1\x8e\1\x86\5\x8f\1\x90\1\x80\1\x91\1\x87\2\x80\5\x8f\2\x87\1\x84\1\x87\1\x92\1\x80\2\x8d\1\x84\2\x81\5\x84\2\x87\1\x81\1\x84\2\x8a\1\x81\17\x88\1\x84\2\x81\v\x84\3\x81\1\x87\1\x84\2\x93\1\x81\t\x87\2\x88\1\x81\2\x8c\1\x87\1\x84\1\x81\1\x82\1\x81\1\x94\1\x92\1\x84\1\x87\1\x95\1\x92\b\x87\1\x84\1\x8f\3\x96\1\x92\4\x97\1\x82\1\x81\4\x84\2\x8c\1\x81\5\x84\2\x88\1\x81\5\x87\1\x84\2\x81\1\x8d\1\x84\1\x81\6\x98\1\x84\2\x81\4\x89\1\x84\2\x87\1\x81\6\x89\1\x84\2\x85\1\x81\17\x99\1\x80\1",
b"\x80\1\x81\3\x87\1\x84\3\x81\a\x84\2\x87\1\x81\1\x88\1\x87\1\x84\2\x81\5\x87\1\x8d\1\x93\1\x81\a\x93\1\x84\1\x9a\1\x81\25\x89\1\x84\2\x8b\1\x81\2\x84\2\x83\1\x81\n\x84\3\x81\3\x9a\1\x84\3\x81\4\x84\2\x93\1\x86\3\x9a\1\x87\1\x84\2\x8d\1\x9b\1\x86\r\x89\1\x84\2\x86\v\x84\2\x87\1\x86\6\x8a\1\x84\3\x85\1\x86\v\x87\1\x9b\1\x8b\1\x86\f\x84\2\x8a\1\x83\1\x87\1\x8c\1\x86\n\x87\1\x84\1\x87\1\x86\5\x90\1\x8f\1\x80\2\x84\2\x80\5\x96\1\x9c\1\x84\2\x9d\1\x81\1\x9e\1\x82\1\x87\1\x84\2\x81\5\x9a\1\x84\2\x81\1\x84\2\x85\1\x81\17\x8a\1\x84\2\x81\n\x87\2\x84\1\x89\1\x81\2\x84\1\x87\1\x84\1\x88\1\x81\b\x84\2\x83\1\x81\3\x84\2\x87\1\x81\1\x95\1\x92\1\x9f\1\x84\2\xa0\1\x92\5\x95\1\x92\2\x84\2\xa1\1\x8f\3\x92\4\x97\1\xa2\1\x89\3\x85\1\x87\1\x84\1\x81\4\x89\2\x84\1\x87\1\x88\1\x89\5\x8d\1\x87\2\x89\1\x85\1\x84\1\x83\1\xa0\1\x89\4\x84\1\x87\1\x84\1\x89\2\xa0\1\x81\1\x8b\1\x84\3\x89\a\x84\2\x83\1\x89\20\x80\1",
b"\x80\1\xa2\1\x80\1\x82\1\x84\3\x87\1\x89\1\x81\6\x84\3\x81\3\x84\3\x89\1\x81\2\x84\1\x87\1\x84\1\x81\t\x84\2\x81\25\x89\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\x88\1\x81\n\x87\1\x84\2\x81\5\x87\1\x84\1\x87\1\x9c\1\xa2\1\xa0\1\x84\2\xa3\1\x86\1\x81\1\x86\1\x82\1\x86\1\x81\1\x85\1\x87\2\x84\1\xa3\1\x86\1\x82\1\x86\3\x81\3\x86\3\x81\1\x84\2\x81\1\x86\n\x81\1\x87\2\x84\1\x8b\1\x81\2\x86\1\x88\1\x84\1\x87\2\x84\1\x87\1\x86\1\x81\2\x86\2\x81\3\x86\3\x84\2\x81\4\x86\6\x81\2\x86\1\xa3\1\x84\4\x89\1\x81\1\x86\t\x93\1\x87\1\x84\1\x86\1\x81\1\x86\3\x81\1\x86\2\x81\1\x87\1\x84\1\x80\6\x87\1\x84\2\x81\3\x82\1\x84\1\x87\1\x84\1\x81\5\x89\1\x84\2\x81\1\x84\3\x81\20\x84\2\x81\t\x87\2\x84\1\x8b\1\x81\4\x84\3\x83\1\x81\a\x84\2\x89\1\x81\3\x8a\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\xa3\1\x81\1\xa2\1\x92\a\xa4\1\x84\1\x9f\1\x8f\3\x92\5\x89\3\x8c\1\x84\2\x8b\1\x89\6\x87\1\x84\1\xa3\1\x89\5\x87\1\x84\2\x89\2\x84\2\x89\5\x84\2\x8b\1\xa0\2\x89\2\x87\1\x84\2\x89\b\x84\1\x87\1\x84\1\x89\16\xa0\1\x81\1\x89\1",
b"\x80\3\x81\1\x87\1\x84\4\x81\6\x83\1\x84\1\x87\1\x81\4\x84\1\x87\1\x84\1\x8a\1\x84\2\x9b\1\x81\n\x84\2\x81\25\x8b\1\x87\1\x84\1\x85\1\x81\2\x85\1\x87\1\x84\1\x81\t\x85\1\x84\3\x81\6\x84\2\x87\1\x86\1\x8b\1\x87\3\x81\b\x8e\1\x84\1\x87\1\x84\1\x89\1\x81\n\x87\1\x84\1\x81\f\x82\1\x9a\1\x87\1\x84\1\x8e\1\x81\1\x8b\1\x84\1\x87\1\x8c\1\x81\1\x84\1\x87\1\x81\v\x84\2\x81\r\x8a\1\x84\1\x87\1\x84\2\x81\f\x84\2\x81\t\x84\2\x80\5\xa5\1\x84\3\x81\4\x84\3\x81\6\x84\1\x87\1\x81\1\x84\3\x81\20\x84\2\x81\b\x89\1\x84\2\x87\1\x81\5\x84\3\x87\1\x81\6\x83\1\x84\2\x81\5\x84\3\x81\2\x87\1\x84\1\x8b\1\x81\6\x94\1\x92\2\xa6\1\x84\1\xa7\1\x8f\3\x96\1\x92\5\x97\1\x89\1\x84\3\x89\a\x84\2\x85\1\x89\5\xa0\1\x87\1\x84\1\x89\2\x87\2\x88\1\x89\3\x9a\1\x84\1\x87\1\x89\4\x84\1\x87\1\x84\1\x89\t\x83\1\x84\2\x89\16\x8f\1\xa0\1\x80\1",
b"\x80\2\xa8\1\x9e\1\x8b\1\x84\1\x87\1\x84\2\x81\1\x82\1\x81\4\x93\1\x84\2\x81\5\x84\4\x87\1\x85\1\x81\n\x84\2\x81\25\x8a\1\x84\1\x87\1\x85\1\x81\2\x89\1\x84\2\x83\1\x89\1\x82\1\x81\6\x84\3\x85\1\x81\3\x89\1\x81\2\x89\1\x84\1\x87\2\xa9\1\x87\2\x9b\1\x81\t\x8b\1\x87\1\x84\2\x81\t\x8b\1\x84\2\x81\16\x85\1\x84\2\x85\1\x84\3\x81\2\x87\1\xa3\1\x81\v\x84\2\x81\r\x89\1\x84\2\x87\1\x84\1\x81\f\x84\1\x9b\1\x81\b\xaa\1\x87\1\x84\1\x80\5\x84\3\x9a\1\x81\4\x84\2\x87\1\x81\6\x84\1\x87\1\x81\1\x85\1\x84\2\x81\20\x88\1\x84\1\x81\b\x8d\1\x84\2\x81\6\x84\3\x87\1\x84\1\x81\5\xa3\1\x84\2\x81\5\x87\1\x84\2\x81\2\x84\2\x81\6\x82\1\x81\1\xab\1\x92\1\xa2\1\x84\1\x83\1\x81\1\x8f\1\x9c\1\x90\1\x92\6\xa2\1\x84\1\x87\1\x84\1\x89\a\x84\2\x83\1\x89\6\x84\2\x89\2\x83\1\x84\2\x89\3\x84\2\x88\1\x89\4\x87\1\x84\1\x8d\1\x89\n\x84\2\x89\r\xa0\1\x89\1\x9e\1\x80\1",
b"\x80\5\x88\1\x84\2\x87\1\x9a\1\x89\5\x8a\1\x87\1\x84\1\x89\6\x87\1\x84\3\x81\1\x89\n\x84\1\x87\1\x89\25\x85\1\x84\1\x87\1\x89\2\x81\1\x89\1\x87\1\x84\2\x89\a\x85\1\x84\2\x87\1\x89\b\x87\1\x84\1\x87\1\xa3\1\x84\2\x8c\1\x81\v\x87\1\x84\2\x81\b\x9a\1\x84\1\x87\1\x81\17\x9a\1\x84\2\x87\2\x9a\1\x81\2\x84\1\x93\1\x81\v\x84\2\x81\r\x98\1\x84\1\x87\1\x84\1\x87\1\x81\f\x84\1\x87\1\x81\a\xa0\1\x80\1\x87\1\x84\1\x80\4\x8b\1\x84\2\x87\1\x81\5\x84\2\x85\1\x81\6\x87\1\x84\1\x81\2\x84\3\x81\17\x85\1\x84\1\x81\b\x84\2\xa3\1\x82\1\x81\5\x84\5\x81\5\x84\3\x81\5\x89\1\x84\1\x9b\1\x87\1\x85\1\x84\2\x81\v\x84\1\x93\1\x81\2\x8f\1\x9c\1\x92\3\xac\1\x89\1\xa0\1\x8b\1\x84\3\x89\a\x84\2\x8a\1\x89\6\x85\1\x84\1\x8a\1\x89\2\x84\2\x89\2\x8b\1\x84\1\x87\1\x89\4\xa3\1\x87\1\x84\1\x89\v\x84\2\x89\v\x80\1\x9c\1\x89\1\x9c\1\x80\2",
b"\x80\3\x94\1\x80\1\x95\1\x8d\1\x84\3\x89\5\x83\1\x84\1\x9a\1\x89\a\x87\1\x84\1\x87\1\x9a\1\x81\1\x82\1\x89\b\x84\1\x8e\1\x89\22\xa0\1\x89\1\x8e\1\x84\2\xa3\1\x89\4\x8a\1\x87\1\x84\1\x87\1\x89\6\x84\3\x85\1\x89\b\xa0\1\x84\5\x81\r\x84\1\x87\2\x8a\1\x81\1\x82\1\x81\1\x82\1\x81\2\x87\1\x84\1\x85\1\x81\20\xa3\1\x87\1\x84\2\x81\2\x83\1\x84\1\x81\f\x84\2\x81\n\x82\1\x81\2\x84\5\x81\v\x93\1\x84\1\x93\1\x81\b\x83\1\x87\1\xad\1\x80\4\x91\1\x84\2\x85\1\x81\5\x87\1\x84\1\x8b\1\x81\6\x84\2\x81\2\x83\1\x87\2\x8b\1\x81\16\x85\1\x87\1\x81\a\x87\1\x84\2\x81\6\x85\1\x84\4\x98\1\x82\1\x81\4\x84\3\x81\6\x84\4\x87\1\x84\1\x81\v\x84\1\x8a\1\x96\1\x9c\3\x92\4\x8b\1\x89\1\x8b\1\x87\1\x84\2\x89\2\x8b\4\x8a\1\x84\1\x87\1\x8b\5\x89\1\x8b\1\x98\1\x84\1\x8a\1\x8b\1\x89\1\x84\2\xa3\1\x8b\1\x87\1\x84\1\xae\1\x8b\4\x84\1\x87\1\x84\1\x8b\v\x87\1\x84\1\x89\1\x8b\b\x89\1\x8b\1\x89\1\xa1\1\x9c\1\x89\1\x96\1\x80\1",
b"\x80\4\x89\2\x84\4\x89\5\x88\1\x84\1\x8c\1\x89\a\x85\1\x84\2\x87\1\xa3\1\x89\t\x87\1\x83\1\x89\22\xa0\1\x84\4\x8a\1\x89\5\x84\1\x87\1\x84\1\x89\6\x87\1\x84\2\x89\b\xa0\1\x92\1\xa4\1\x84\3\x88\1\x81\16\x84\1\x8d\1\x87\1\x81\5\x89\1\x84\1\x87\1\x81\22\x84\1\x87\2\x98\1\x81\1\x84\2\x81\f\x84\2\x8b\1\x81\v\x89\1\x84\1\x87\1\x9a\1\x84\2\x81\v\x87\1\x9b\1\x81\t\x87\1\x84\1\x80\5\x9b\1\x84\2\x8b\1\x81\4\x93\1\x84\2\x81\a\x84\2\x81\3\x87\1\x84\1\x87\1\x82\1\x81\r\x88\1\x84\1\x81\a\x84\2\x89\1\x81\6\x8d\1\x87\1\x84\1\x87\1\xa3\1\x81\6\x84\2\x9a\1\x81\6\x87\1\x84\4\xa3\1\x81\v\x87\1\x89\1\x97\1\x81\3\x96\1\x92\2\x89\1\x8b\3\x83\1\x84\2\x83\1\x8b\5\x83\1\x84\2\x8b\a\x93\1\x84\1\x8b\3\x88\1\x87\1\x84\3\x87\1\x8b\5\x84\2\x87\1\x8b\v\x87\1\x9b\1\x8b\17\xaf\1\x80\1",
b"\x80\3\xa0\1\x89\2\x8a\1\x84\2\x87\1\x84\1\x89\2\xa0\1\x89\1\x84\1\x9b\1\x89\b\x8b\1\x87\1\x84\2\x87\2\x89\a\xa3\1\x87\1\x89\23\x8a\1\x87\1\x84\2\x87\1\x89\a\x87\1\x9b\1\x84\1\x88\1\x89\3\x9b\1\x84\3\x89\b\x99\2\x84\4\x81\20\x84\3\x81\3\x87\1\x84\1\x87\1\x81\22\x89\1\x84\6\x81\r\x87\1\x84\1\x87\1\x81\t\x89\1\x84\2\x87\1\x81\1\x88\1\x84\1\x9b\1\x81\n\x98\1\x87\1\x84\1\x81\a\x84\3\x80\5\x81\1\x84\3\x81\5\x9b\1\x84\2\x81\6\x89\1\x84\1\x87\1\x81\2\x82\1\x84\3\x89\1\x81\r\x87\1\x84\1\x81\6\x85\1\x84\1\x87\1\x81\6\x87\1\x84\3\x8b\1\x81\1\x89\1\x81\4\x89\1\x84\2\x89\1\x81\5\x82\1\x81\1\x87\1\x84\3\x81\v\x83\1\x84\1\x81\5\xb0\1\x92\4\x90\1\x8b\2\x9b\1\x84\2\x8b\5\xa3\1\x87\1\x84\1\x8b\a\xa3\1\x84\1\x8b\4\x84\3\x87\1\x84\1\x8b\4\x98\1\x84\2\x8a\1\x8b\v\x84\2\x8b\16\xab\2\x80\1",
b"\x80\4\x89\1\x80\1\x89\1\x84\4\x87\1\x89\2\x84\2\x8a\1\x89\t\x84\4\x87\1\x84\1\x83\1\x89\1\xa0\1\x89\1\xa0\1\x84\1\x87\2\x89\1\x8b\1\x89\22\x9a\1\x84\3\x89\b\x87\1\x84\3\x89\2\x84\3\x8b\1\x89\5\x8b\1\x89\3\x98\1\x87\1\x84\3\xa6\1\x92\1\xb0\1\x81\1\x89\2\x81\a\xa0\2\x81\1\x8b\1\x84\3\x81\1\x87\2\x9b\1\x81\21\x89\1\x81\1\x87\1\x84\2\x87\1\x84\2\x8a\1\x81\16\x84\1\x87\1\x81\1\x89\1\x81\5\x89\1\x81\1\x84\3\x8c\1\x89\1\x87\2\x9a\1\x81\t\x87\1\x84\1\x87\1\x89\1\x81\6\x84\3\x87\1\x80\6\x84\1\x8d\1\x84\1\x89\1\x81\4\x84\1\x87\1\xa3\1\x81\6\x84\2\x8b\1\x81\3\x8b\1\x87\1\x84\2\x81\1\x89\1\x81\t\x89\1\x9a\1\x84\1\x9a\1\x81\2\x89\3\x81\1\x84\2\xae\1\x89\6\x84\3\x89\b\x85\1\x84\1\x87\1\x81\3\x89\3\x81\2\x93\1\x84\3\x81\1\x89\1\x81\5\x89\1\x81\1\x89\1\x81\1\x8d\1\x84\1\x82\1\x81\4\x89\1\xa0\2\x99\1\x90\1\x8b\3\x8a\1\x87\1\x84\1\x87\1\x8b\4\x84\3\x8b\6\x98\1\x84\1\x87\1\x8b\4\xae\1\x9b\1\x84\2\x9a\1\x8b\4\x9a\1\x87\1\x84\1\x8b\v\xa3\1\x84\1\x88\1\x8b\r\x87\1\x96\1\x80\2",
b"\x80\6\xb1\1\x9d\1\x84\2\x87\1\x84\1\x8b\1\x84\2\x87\1\xa0\1\x89\t\x9a\1\x84\1\x87\1\x8b\1\x84\2\x87\1\x98\1\x89\2\x87\1\x84\2\x8a\1\x89\24\x84\1\x87\1\x84\2\x8b\1\x89\a\xa0\1\x87\1\x84\1\x87\1\x84\4\x9b\1\x89\t\x83\1\x84\2\x87\1\x84\1\x87\1\x9b\1\x96\2\x92\1\x97\1\x89\t\x81\1\x89\2\x8c\1\x84\2\x87\1\x84\3\x89\2\xa0\1\x89\16\xa0\1\x89\1\x84\4\x9b\1\x84\2\x93\1\x81\1\x89\1\x81\1\x89\t\x81\1\x84\1\x87\1\x81\1\x89\5\x81\2\xa0\1\x84\2\x87\1\x9a\1\x89\1\x84\2\x83\1\x89\b\x87\1\x84\1\x87\1\x8c\1\x89\a\x84\2\x87\2\x80\5\xa8\1\x84\3\x81\4\x8b\1\x84\2\x89\1\x81\6\x84\2\x81\4\x89\1\x84\2\x87\1\xa0\1\x81\1\x89\3\x81\3\x89\1\x81\1\x82\1\x81\1\x84\2\x89\1\x81\2\x89\3\x81\1\x84\2\x89\1\x81\2\x89\3\x8b\1\x87\1\x84\2\x89\b\xa3\1\x84\1\x87\1\x89\6\x81\3\x87\3\x89\6\xa0\2\x89\2\x87\1\x84\1\x87\1\x89\b\xb0\1\x96\2\xac\1\x8b\2\x84\3\x8b\4\x87\1\x84\2\x8b\6\x8d\1\x84\1\x98\1\x8b\5\x84\1\x87\1\x84\1\x98\1\x8b\4\x87\1\x84\2\x8b\n\x8a\1\x84\2\x8b\r\x84\2\x80\3",
b"\x80\4\xa8\1\x89\1\x9c\2\xa3\1\x87\1\x84\5\x8b\v\x89\1\x84\3\x89\1\x84\3\x87\2\x84\1\x87\1\x84\1\xac\1\x89\1\x8b\21\x83\1\x84\5\x89\2\x8b\6\xac\1\x8b\2\x87\1\x84\5\x85\1\x8a\1\x8b\2\xac\1\x8a\1\x85\1\x84\5\x89\1\x84\1\x87\1\x84\1\x99\1\xa0\1\x81\1\x99\1\x92\1\x89\f\x9a\1\x84\2\x83\2\x84\2\x89\16\x81\1\x99\1\x92\1\xb2\1\x84\1\x87\1\x8a\1\x81\1\x85\1\x87\1\x84\2\x83\1\x89\r\x84\1\x87\1\x89\b\x81\1\x84\1\x87\1\x84\1\xa0\1\x87\1\x84\1\x8a\1\x89\a\x81\1\x84\3\x83\1\x81\1\x89\a\x85\1\x84\2\x80\1\x97\2\x80\2\x89\1\x85\1\x84\1\x87\1\x89\2\x82\1\x89\1\x84\2\x88\1\x89\5\x84\3\x89\1\x81\1\x89\3\x81\1\x93\1\x84\2\x87\1\xa0\1\x89\a\x81\1\x89\1\x84\2\x87\1\x89\a\x84\2\x98\1\x89\5\x93\1\x84\3\x81\1\x89\a\x84\3\x89\2\x81\1\x89\3\xa0\1\x89\1\x88\1\x84\3\x89\t\x84\2\x87\1\x89\1\xa0\1\x89\a\x97\1\x96\3\x9c\1\xb1\1\x84\3\x8a\1\x8b\2\x8a\1\x84\2\x85\1\x8b\1\x8a\2\x8b\1\x83\1\x84\1\x87\1\x84\1\x8a\5\x8b\1\x87\2\x84\1\x8a\4\x8b\1\x84\2\x87\1\x8b\1\x8a\b\xa3\1\x87\2\x83\1\xb3\1\x8a\1\x8b\1\x8a\t\x83\1\x84\2\x8f\1\x8b\2",
b"\x80\3\x92\1\x8b\3\x9c\1\x8b\1\x84\6\x8a\1\x8b\v\x87\1\x84\2\x8b\2\x8a\1\x84\4\x87\2\x8b\21\xac\1\x87\1\x84\6\x8b\f\x84\16\x87\1\x8b\1\x8f\1\x84\5\x96\2\x89\17\x84\3\x89\1\x8a\1\x84\2\x89\17\x92\1\x84\3\x96\1\x89\2\x87\1\x84\3\x9a\1\x89\f\x87\1\x84\1\x89\n\x87\1\x84\1\x87\1\x84\1\x87\1\x89\t\x8c\1\x84\2\x87\1\x89\b\xa0\1\x89\1\x84\1\x87\1\x89\2\x80\2\x89\2\x84\2\x9a\1\x89\2\x83\1\x84\2\x89\5\x87\1\x84\2\x87\1\x89\a\x88\1\x84\1\x87\1\x8d\1\x89\1\xa0\1\x89\5\x83\1\x84\1\x9b\1\x84\1\x89\b\x84\2\x88\1\x89\5\x93\1\x87\1\x84\2\x89\b\x87\1\x84\1\x9a\1\x89\b\x84\3\x87\1\x8b\1\x89\a\x87\1\x84\2\x85\1\x89\n\x96\1\x92\1\xa1\1\x8a\2\x85\1\x84\1\x87\1\x8a\4\x84\1\x87\1\x8a\4\x87\1\x84\3\x8a\a\xb1\1\x84\2\x87\1\x8a\4\x84\2\x9b\1\x8a\b\x84\3\x85\1\x8a\r\x87\1\x84\1\x87\1\xa6\1\x80\2",
b"\x80\4\x90\1\x8b\4\x98\1\x8d\1\x84\4\xa3\1\x8b\v\x8a\1\x84\1\x87\1\x8b\4\x87\1\x84\2\x87\1\x84\1\xac\2\x8b\16\x9a\1\x84\3\x87\1\xac\1\x9b\1\x84\1\x87\1\x8b\v\x87\1\x84\2\x87\1\x8b\1\x85\1\x87\1\x84\5\x87\1\x83\1\x8b\4\x84\6\xb0\1\x89\20\x84\2\x87\1\x85\1\x84\1\x87\1\x89\17\x85\1\x84\2\xa6\1\x92\1\x80\2\x84\1\x87\1\x84\1\x8d\1\x84\1\x87\1\x89\v\x8a\1\x84\1\x89\n\x84\4\x9b\1\x89\t\xa0\1\x89\1\x84\1\x87\1\x88\1\x89\b\xa3\1\x87\2\x89\2\xa0\1\x89\3\x87\1\x84\2\x89\2\x84\3\x89\5\x84\3\x87\1\x89\1\xa0\1\x89\6\x87\1\x84\2\x89\6\xa0\1\x87\3\x84\1\x89\b\x9a\1\x87\2\x89\5\x93\1\x84\3\x89\b\x84\2\x8b\1\x89\a\x87\1\x84\4\x87\1\x89\6\x8c\1\x87\1\x84\2\x85\1\x89\t\x96\2\x92\1\x9c\1\x8a\3\x87\2\x9a\1\x8a\2\x85\1\x84\2\x8a\4\x87\1\x84\2\x87\1\x8a\b\x84\3\x9a\1\x8a\3\x87\1\x84\1\x87\1\x8a\b\x84\3\x9a\1\x8a\f\x84\2\x87\1\x9b\1\x80\3",
b"\x80\4\x8f\1\x8b\5\x87\1\x84\4\x87\1\x8b\f\x84\2\x8b\6\x87\1\x84\1\x87\1\x84\1\x87\2\x83\1\x8b\a\x8a\1\x85\1\x84\6\x8b\3\x87\1\x84\2\x8b\n\x8a\1\x84\2\x87\1\x88\1\x8b\v\xac\1\x8b\2\xb4\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x93\1\x89\21\x87\1\x8d\1\x84\2\x8a\1\x89\16\x87\1\x84\2\x8a\1\x89\3\x84\3\x8b\1\x84\4\x89\v\x84\1\x85\1\x89\b\x87\1\x84\4\x98\1\x89\v\xa3\1\x84\2\x89\a\x87\2\x84\1\x8b\1\x89\4\xa0\1\x89\2\x84\2\x87\1\x8b\1\x87\1\x84\1\x8a\1\x89\5\x87\1\x84\2\x87\1\x89\b\x8a\1\x87\2\x84\1\x89\6\x87\1\x84\3\x8b\1\x89\a\x8b\1\x87\1\x88\1\x89\6\x84\1\x87\1\x84\1\x89\a\x87\3\x89\b\x84\6\x89\a\x84\4\x89\b\xa0\1\x90\2\xb0\1\x96\2\x8a\2\x87\1\x84\2\x8a\2\x84\3\x8a\4\x87\1\x84\3\x8a\b\x84\4\x9a\1\x8a\2\xa3\1\x84\2\x8a\b\x84\2\x87\2\x8a\v\x84\3\xb5\1\x80\4",
b"\x80\3\x8b\1\xac\1\x8b\6\xa3\1\x84\4\x85\1\x8b\b\x8a\1\x8b\1\xa3\1\x84\1\x87\1\x8b\6\xb3\1\x87\1\x84\6\x87\1\x84\5\x87\1\x84\1\x87\1\x84\2\xae\1\x8b\6\x8a\1\x84\2\x8a\1\x8b\a\x83\1\x84\4\x8b\f\x8a\1\xb0\1\x80\1\x96\1\x9c\1\x84\3\x87\1\x84\1\xae\1\x89\20\x8b\1\x84\1\x8d\1\x84\1\x8b\1\x89\f\xa0\1\x84\1\x87\1\x84\1\x9d\1\x96\2\x89\1\x8b\1\x84\3\x8b\1\x89\1\x85\1\x84\2\x87\1\x8a\1\x89\b\x8b\1\x87\2\x89\b\x87\1\x84\2\x87\1\x84\1\x89\f\x87\3\x89\a\x84\1\x87\1\x84\1\x8b\1\xa0\1\x89\6\x84\6\xa0\1\x89\5\xa0\1\x84\3\x89\t\x9b\1\x87\1\x84\1\x87\1\xa0\1\x89\5\x98\1\x8d\1\x87\1\x84\1\x89\b\x84\1\x83\1\x89\6\x84\2\x87\1\x8b\1\x89\6\x84\1\x87\1\x8a\1\x89\a\x8c\1\x84\2\x8b\2\x84\2\x8a\1\x89\a\x84\3\x89\f\xa6\1\x96\1\xa1\1\x8a\1\x9a\1\x84\2\x8a\2\x84\2\x9a\1\x8a\5\x9a\1\x84\2\x9a\1\x8a\a\x84\3\x87\1\x84\1\x98\1\x8a\1\x83\1\x84\2\x8a\t\x87\1\x84\2\x8a\t\xae\1\x84\3\x9a\1\x8a\1\x80\1\x8a\1\x80\2",
b"\x80\3\x8b\t\x84\2\x87\2\x84\1\x8b\t\xac\1\x84\1\x87\1\x84\1\x8b\a\x87\1\x84\1\x87\1\x8b\1\x85\1\x84\n\x9a\1\x98\1\x8b\b\xac\1\x83\1\x84\2\x8b\a\x87\1\x84\3\xae\1\xac\1\x8b\r\x80\1\xab\1\xa6\1\x89\1\x84\3\x87\1\x84\1\x83\1\x89\16\xb0\1\x89\1\x84\3\x85\1\x89\2\xa0\1\x89\a\x8b\1\x89\1\x88\1\x84\1\x87\1\x84\1\x96\3\x8f\1\x89\1\x84\1\x87\1\x84\1\x83\1\x89\2\x85\1\x84\2\x87\1\x89\b\x85\1\x84\2\x89\b\x84\2\x87\1\x84\1\x8a\1\x89\t\x8b\1\x89\1\x9a\1\x84\1\x9b\1\x98\1\x89\6\xa0\1\x84\3\x83\1\x89\a\x93\1\x87\1\x84\3\x8a\1\x89\b\x87\1\x84\1\x8a\1\x89\t\x84\1\x8d\1\x84\2\x89\6\x9b\1\x84\2\x89\a\x8b\1\x84\1\x8a\1\x89\6\x9a\1\x84\2\x88\1\x89\5\x8e\1\x84\2\x89\b\x85\1\x84\1\x87\1\x89\2\x84\2\x87\1\x89\a\x8b\1\x87\1\x84\1\x8b\1\x89\v\x8f\1\x92\1\xb6\1\x96\1\x9f\1\x87\1\x84\1\x8a\2\x87\2\x8a\a\x84\3\x8a\a\x87\1\x84\5\x8a\1\x98\1\x84\2\x83\1\x8a\t\x84\2\x88\1\x8a\a\x85\1\x84\4\x8a\3\xb7\1\x80\2",
b"\x80\5\x8a\5\x8b\1\x8a\2\x84\3\x87\2\x8a\1\x8b\1\x8a\5\x85\1\x84\3\x8a\2\x8b\1\x8a\4\xac\1\x84\2\x9b\1\x8a\3\x8b\3\x8a\2\x8b\2\x8a\6\x8b\4\x8a\3\x8b\1\x9b\1\x84\1\x83\1\x8a\1\xb1\1\x8a\1\x8b\2\x84\4\x8a\4\x8b\1\x8a\t\x8b\1\x8a\1\x8b\1\x80\1\xa0\1\x89\1\x8a\1\x84\2\x8d\1\x87\1\x84\2\x89\f\x96\1\xa6\1\x96\1\xb0\1\x88\1\x84\2\x87\1\x89\t\x83\1\x84\3\x98\1\x8f\1\x96\1\xb6\1\xa6\1\x89\3\x84\1\x87\1\x84\1\x89\3\x8a\1\x84\3\x8b\1\x89\6\x84\2\x9a\1\x89\b\x84\1\x87\2\xa3\1\xa0\1\x89\v\x84\3\x8b\1\x89\b\x88\1\x84\1\x87\1\xa0\1\x89\a\x9b\1\x84\1\x87\2\x89\t\x93\1\x84\2\x89\n\x87\1\x84\2\x9b\1\x89\6\x84\2\xac\1\x89\6\x85\1\x87\1\x89\b\x84\3\x89\5\x87\1\x84\2\x89\b\x87\2\x84\1\x89\2\x8a\1\x84\2\x85\1\x89\a\x84\1\x87\1\x84\1\x89\r\xb6\1\xa6\2\x84\1\x87\1\xa7\1\x84\2\x9b\1\x92\1\x8a\2\x98\2\x8a\1\x98\1\xb5\1\x87\1\x84\1\x8a\a\x88\1\x84\1\x87\1\x88\1\x84\1\x87\1\x84\1\x8a\1\x84\2\x87\1\x8a\6\x98\1\x8a\2\x9b\1\x84\1\x87\1\x98\1\x8a\1\x98\1\x8a\3\x87\1\x84\3\x9a\1\x8a\3\x9c\1\x80\3",
b"\x80\6\x8a\a\x84\6\x8a\5\x87\1\x84\2\x87\1\x8a\b\x84\3\x98\1\x8a\30\x98\1\x84\1\xa3\1\x8a\2\xb1\1\x8a\1\x84\4\x85\1\x8a\16\xab\1\x80\2\xb6\1\xa6\1\x96\1\x8a\1\x84\2\x96\1\x9b\1\x84\3\x87\1\x89\1\x8b\1\x89\1\x8b\2\x89\1\x8b\4\x96\1\xac\1\x8f\1\x89\2\x88\1\x87\2\x84\1\x89\1\x8b\1\x89\4\x87\1\x84\3\x87\1\x8b\1\x89\1\x8b\2\x92\1\xb0\1\x80\1\xac\1\x8b\2\x87\1\x84\1\x85\1\x8b\4\x84\4\x8b\1\x89\3\x84\3\x8b\2\x89\2\x8b\3\x8a\1\x84\5\x9a\1\x8b\v\x87\1\x84\1\x87\1\x9a\1\x8b\2\x89\1\x8b\6\xa3\1\x84\2\xa0\1\x89\6\x87\1\x84\1\x8d\1\x84\2\x89\b\x87\1\x84\2\x89\v\x84\1\x9b\1\x84\2\x8b\1\x89\2\x8b\1\x98\1\x87\1\x84\1\x8b\1\x89\6\x87\1\x84\1\x89\b\xa0\1\x84\2\x88\1\x89\3\x8a\1\x84\2\x98\1\x89\b\x84\1\x87\1\xa3\1\x89\3\x87\1\x84\1\x87\1\xa0\1\x89\6\x84\2\x88\1\x89\f\xa6\3\x96\1\x84\5\xa6\3\xb4\1\x98\3\xa9\1\x87\1\x84\2\xa9\1\x98\6\xae\1\x84\1\x87\1\x98\1\x85\1\x84\2\x87\1\x84\3\x98\t\x84\3\x98\4\xb5\1\x84\1\x87\1\x84\2\xae\1\x98\4\xb1\1\x80\3",
b"\x80\2\xaf\1\x80\3\x8a\a\x84\5\x87\1\x9a\1\x8a\4\x87\3\x8a\t\x84\3\x98\1\x8a\30\xa3\1\x84\1\xae\1\x8a\3\x87\1\x84\4\x8a\17\x92\1\x80\3\xa6\2\x93\1\x87\1\x84\1\xb0\1\xb8\1\x9d\1\x84\1\x9b\1\x84\1\x8d\1\x8a\1\x89\1\x8b\a\x8f\1\xa1\1\x8b\2\x89\1\x8b\1\x84\4\x83\1\x8b\1\xac\1\x85\1\x84\2\x87\2\x85\1\x89\1\x8b\4\xac\1\x8b\1\xab\1\x90\1\xac\1\x89\1\x8a\1\x84\2\x8b\1\x89\3\xac\1\x84\1\x87\1\x84\1\x9a\1\x8b\2\x9a\1\x84\2\x8d\1\x8b\1\x89\1\x8b\4\x88\1\x84\2\x87\1\x83\1\x8b\1\x84\2\x8b\t\x89\1\x8b\2\x8d\1\x9b\1\x84\1\x8b\n\x8d\1\x84\1\x8a\1\x89\5\x85\1\x84\2\x87\1\x84\1\x87\1\x85\1\x89\a\x84\1\x87\1\x93\1\x89\v\x8b\1\x84\1\x87\1\x84\1\x87\1\x89\3\x84\1\x87\2\x89\a\x87\1\x84\1\x89\b\x8b\1\x84\2\x9b\1\x89\3\x84\3\x89\t\x84\2\x93\1\x89\3\x9a\1\x84\2\x8a\1\x89\5\x83\1\x84\1\x87\1\x8b\1\x89\a\xac\1\xb4\1\x89\2\xa6\2\x96\1\xa6\2\x84\4\x87\1\xa6\2\x96\1\xb4\3\x98\2\x87\2\x84\1\x98\b\x84\1\x87\1\x9a\1\x98\1\x87\2\x84\4\xa9\1\x98\b\x84\2\x88\1\x98\3\xae\1\x84\1\x87\2\x84\1\xb9\1\x98\1\x80\2\x98\1\xa9\1\x80\4",
b"\x80\2\x8a\2\xab\1\xb1\1\x8a\a\x84\5\x87\1\x84\1\x87\1\x8a\3\x84\1\x87\1\xa3\1\x8a\t\x87\1\x84\2\xa3\1\x8a\27\x98\1\x84\2\x8a\3\x84\4\x87\1\x8a\16\x80\6\xa6\2\x84\2\xba\1\xa6\1\x8b\1\xac\1\x8b\1\xa3\1\x84\4\x87\1\x83\1\x8b\r\x87\1\x84\6\x87\1\x85\1\x8b\17\x84\1\x8e\1\xac\1\x8b\4\x84\3\x87\2\x84\2\x87\1\x8b\5\x85\1\x87\1\x84\2\x87\1\x8b\3\x9a\1\x84\1\xa3\1\x8b\v\x83\1\x84\2\x8b\t\x89\2\x84\2\x89\4\x8b\1\x84\2\x87\1\x8b\1\x84\3\x89\1\xa0\1\x89\4\x84\3\x89\1\x8b\1\x89\f\x87\1\x84\3\x8b\2\x84\3\x8b\1\x89\6\x84\2\x8a\1\x89\6\x8b\1\x89\1\x84\2\x87\1\x89\2\x83\1\x84\2\x87\1\x89\a\x8b\1\x89\1\x87\1\x84\1\x8b\1\x89\3\xa0\1\x84\3\x89\4\x8b\1\x84\2\x87\1\x8b\1\x89\5\x8b\5\xa6\5\xbb\1\x84\4\xb8\1\xa6\2\x80\1\xb4\4\xba\1\x84\2\x9b\1\x98\b\x88\1\x84\2\x98\2\x84\3\x87\1\x84\1\x9d\1\x98\a\x87\2\x84\1\xae\1\xa9\1\xb2\1\x84\2\x87\1\x84\2\x80\5\xb4\2\x80\4",
b"\x80\3\xa1\1\x8a\b\xb1\1\x85\1\x84\2\x98\1\x87\1\x84\3\x87\1\xae\1\x8a\1\x84\3\x8a\n\x84\1\x87\1\x84\1\x8a\26\x98\1\x84\2\x8a\2\x84\5\x85\1\x8a\21\x80\5\xa6\1\x84\2\xac\1\x8b\a\x88\1\x84\1\x87\1\x84\16\x87\2\x84\3\x87\2\x8a\1\x8b\20\x84\2\x8b\5\xac\1\x8b\1\x84\3\x87\1\x8b\1\xac\1\x8b\2\x85\1\x84\4\xa3\1\x8b\6\x84\2\x8b\v\xac\1\x88\1\x84\1\x87\1\x8b\1\xac\1\x8b\5\x89\3\x9a\1\x84\1\x89\1\x8b\2\x9a\1\x87\1\x84\1\x8a\1\x8b\1\x89\1\x8b\1\x87\1\x84\1\x87\1\x8b\4\x89\1\x87\1\x84\2\x89\2\x8b\r\x88\1\x84\1\x87\3\x84\1\x87\2\x8b\a\x84\2\x83\1\x89\1\x8b\a\x87\1\x84\2\xac\1\x87\1\x84\3\xac\1\x8b\t\x84\2\x8a\1\x8b\4\x85\1\x87\1\x84\1\x87\1\x8b\3\x89\1\x84\3\x8b\1\x89\1\x8b\b\xb4\1\xa6\1\xab\1\x80\3\xbc\1\x84\4\x80\4\xb4\4\x87\1\x84\2\x9b\1\x98\t\x87\1\x84\1\x85\1\x98\2\xa9\1\x84\5\xa3\1\x98\5\x84\2\x87\1\xa3\1\x87\1\x84\1\x87\2\x84\1\xbd\1\x80\6\xb4\1\xbb\1\x80\4",
b"\x80\3\x8a\v\x9b\1\x84\2\x8a\1\x87\1\x84\2\x87\1\x84\1\x87\2\x84\2\x8a\n\x88\1\x84\2\x8a\26\x98\1\x84\2\x8a\1\x87\1\x84\4\x87\1\x8a\22\x80\5\xb9\1\x84\1\x9b\1\xa6\1\x8b\t\xae\1\x84\2\x87\1\x84\2\x87\2\x84\3\x87\1\x84\1\x87\1\x84\2\x87\1\x85\1\x88\1\x84\1\x87\1\x84\3\xa3\1\x8a\1\x8b\r\x84\2\x8b\6\xac\1\x85\1\x84\3\x8c\1\xb5\1\x87\2\x84\2\x87\1\x84\1\x83\1\x8b\a\x84\2\xac\1\x8b\f\x84\2\x8b\n\x9a\1\x84\1\x8b\2\x89\1\x84\3\x8b\2\x89\1\x8b\1\x85\1\x84\2\x8b\4\x89\1\x84\3\x8b\17\x89\1\x85\1\x84\3\x87\1\x84\2\x89\1\x8b\6\x84\2\x9a\1\x8b\b\x87\1\x84\2\x8b\1\x84\2\x87\1\x8b\v\x84\2\x83\1\x8b\5\x84\3\x83\1\x8b\3\x87\1\x84\2\x89\1\x8b\t\xa9\1\xb4\1\xa6\4\x84\2\x8d\1\x87\1\x80\5\x9f\1\xb4\3\xba\1\x84\3\x98\t\x84\2\x87\1\x98\3\xb5\1\x87\2\x84\3\x87\2\x88\1\x9a\2\x84\2\x87\1\x84\1\x87\1\x84\3\x80\a\xbe\1\xb4\1\xa6\1\x80\4",
b"\x80\6\xb4\2\xa9\1\x8a\4\x98\2\x87\1\x84\1\x88\1\x8a\1\xae\1\x84\3\x87\3\x84\1\x87\1\x98\2\x8a\6\x98\1\x8a\1\xae\1\x84\1\x87\1\x98\1\x8a\24\x84\2\x87\1\x84\5\x8a\1\x98\2\x8a\17\x98\1\x8a\1\x80\4\xbd\1\x84\2\xac\1\xb0\1\xa1\1\x8b\f\xa6\4\x8f\1\x8b\5\x84\2\x8b\5\x9a\1\x87\1\x84\3\x87\1\x84\24\x87\1\x84\1\x87\1\x84\2\x87\1\x84\3\x87\1\x93\1\x8b\b\xac\1\x9b\1\x84\1\x83\1\x8b\16\x84\1\x87\1\x8b\b\xac\1\x84\2\x8b\2\x9b\1\x87\2\x8b\5\x84\3\x8b\5\x8a\1\x84\2\x9a\1\x8b\21\x87\1\x84\1\x87\1\x84\2\xb5\1\x92\1\xa8\1\x8b\4\x84\2\x9b\1\x8b\b\x84\6\x98\1\x8b\v\x84\3\x8b\6\x87\1\x84\1\x87\1\x8b\3\x9a\1\x84\2\x85\1\x8b\b\xac\1\x8b\2\x96\1\x80\2\xbf\1\x84\3\x80\6\xb8\1\xb4\4\x84\1\x87\1\x84\1\xae\2\x98\1\xae\6\x87\1\x84\2\xae\3\x98\1\x84\1\x87\2\x84\4\x87\1\x84\2\x87\1\x84\4\x9b\1\x80\t\xbb\1\xb4\1\xbe\1\x80\4",
b"\x80\6\x8a\1\x98\1\x8a\1\x98\a\x84\2\x8a\1\x98\2\x9a\1\x84\3\x87\1\x84\2\x8a\1\xa9\1\x98\t\x87\3\x98\20\x8a\2\x98\1\x87\1\x84\4\x87\1\x84\1\x87\1\x98\25\x80\4\x87\3\xa6\2\x8b\2\xac\1\xa6\1\xb8\1\x8b\1\xb8\1\x8b\6\xa6\1\xb6\1\x80\1\xab\1\xa6\1\x8b\1\xac\1\x8b\1\xac\1\x87\1\x84\1\x85\1\x8b\t\x85\1\x88\1\x84\6\x87\3\x84\t\x87\1\x8d\1\x87\1\x84\4\x87\1\x84\2\x83\1\x8b\1\x80\3\x8b\6\x98\1\x87\1\x84\1\x8b\17\x84\2\x8b\b\x84\2\x80\1\xc0\1\x84\2\x85\1\x8b\5\x98\1\x84\2\x8b\a\x85\1\x84\1\x87\1\x8b\21\xac\1\x8b\1\x84\5\x9b\1\x8a\1\x8b\2\xac\1\x84\3\x8b\b\x84\5\x8c\1\x8b\f\x84\2\x87\1\x8b\a\x84\1\x87\2\x8b\3\x87\1\x84\2\x8b\5\xac\1\x8f\1\xb0\1\x8b\4\x80\1\x9b\1\x84\4\x80\5\xbe\1\xa6\1\xb4\4\x9a\1\x84\1\x87\1\x80\6\xae\4\x84\2\xa4\1\xae\2\xa9\1\xba\1\x84\2\xa7\1\xba\1\x87\1\x84\a\x87\1\xb4\1\x80\n\xb4\1\xa9\1\x80\5",
b"\x80\6\x9d\1\x98\t\x84\2\x85\1\x98\3\x85\1\x9b\1\x84\4\x87\1\x83\1\x98\n\x84\2\x98\22\xb5\1\x84\3\x87\1\x84\2\xae\1\x98\25\x80\5\x87\1\x84\1\xc0\1\xa6\2\xac\2\xa6\3\x80\1\xa6\1\x80\1\x92\1\x8a\1\x8b\1\xa6\1\xac\1\xa6\1\x80\3\xa6\1\xb6\1\x8b\3\x87\1\x84\1\x8b\1\xac\1\x8b\r\x8a\1\x98\1\xae\2\x85\3\x84\2\x85\4\xae\1\x83\1\x93\1\xb1\1\x8a\1\x80\1\xab\1\x84\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x87\1\x80\3\x8b\2\x80\3\xac\1\x84\1\x8d\1\xc1\1\x8b\17\x84\2\x8b\a\x87\1\x84\2\xc2\1\x87\1\x84\2\x8b\6\x9b\1\x84\2\xac\1\x8b\a\x87\1\x84\1\x9a\1\x8b\21\xac\1\x8b\1\x84\2\x87\1\x84\1\x87\1\x84\2\xa4\1\xb8\1\x87\1\x84\2\xac\1\x8b\5\x88\1\x84\5\x8a\1\x8b\r\x9a\1\x84\2\x8b\6\xac\1\x84\4\x98\1\x8b\1\x85\1\x84\1\x87\1\x8b\v\xa1\1\x84\5\x80\6\xa6\2\xb4\5\x84\2\xbc\1\x80\6\xbb\1\x80\2\x87\1\x84\2\x9d\1\xb4\3\x84\2\xba\1\xa9\2\xb4\1\xa7\1\xc3\2\x9d\1\xa7\1\x84\2\xa7\1\x80\n\xa7\1\xb4\1\x80\5",
b"\x80\5\xbe\1\xb4\1\xa7\1\xa9\1\x98\b\x84\2\x98\6\x87\1\x84\2\x87\1\x84\2\x87\1\x85\1\x98\a\x84\1\x87\1\x98\17\x9a\1\x84\a\x9a\1\x98\1\xa9\1\x98\21\xa9\1\x98\1\x9c\1\x80\6\x87\1\x84\1\xc0\1\xa6\2\xb8\1\xa6\4\x80\4\xac\1\xab\1\x80\t\x9c\1\xa3\1\x84\2\x8a\1\x8b\25\x87\1\x84\1\x98\1\x8b\5\x80\4\x96\1\x85\1\x87\1\x84\1\x98\1\x87\1\x84\3\xbd\1\x80\2\xac\1\x80\3\x8b\1\x84\2\xc2\1\x80\1\x8b\16\x84\1\x9a\1\x8b\a\x84\2\x87\1\x84\2\x9a\1\x8b\6\x87\2\x9b\1\x8a\1\x8b\t\x87\2\x8b\24\x87\1\x84\1\x9b\1\x84\21\x87\1\x84\1\x8b\20\x84\1\x87\1\x85\1\x8b\a\x83\1\x87\1\x84\3\x8b\1\x8a\1\x84\2\x8b\b\x85\1\x84\a\x80\6\xa6\2\xa9\1\xa7\4\x80\1\x84\2\x80\t\xb9\1\x84\2\xa7\1\x9d\1\xa7\1\xb4\1\x84\3\xb4\1\xa7\a\xc3\1\x84\2\x80\n\x9d\1\xa7\1\x80\5",
b"\x80\5\x98\f\x84\2\x98\a\xb5\1\x87\1\x84\2\x87\1\x84\4\x87\1\xba\1\x98\3\x84\2\x98\n\x85\1\xa3\1\x84\n\x85\1\x98\26\x80\a\x84\1\x87\1\x84\1\xa6\a\xab\1\x80\16\xa6\1\x84\1\x87\1\x85\1\x8a\25\x85\1\x84\1\x87\1\x8a\5\x90\1\x80\5\x8f\1\x84\3\xb4\1\xc3\1\x87\1\x84\3\xbd\1\x80\4\x9c\1\x84\2\xab\1\x80\1\x8b\2\x8a\t\x8b\2\x84\2\x8b\1\xac\1\x8a\2\x8b\1\x8a\1\x8b\1\x8a\1\x84\4\x8b\2\xac\1\x8b\4\x87\1\x84\2\x85\1\x8b\n\x84\2\x88\1\x8b\23\x80\1\x84\2\x80\1\xbc\1\x84\f\x87\1\x84\1\x87\2\x9a\1\x8b\20\x84\1\x87\2\x8b\b\x93\1\x87\1\x84\2\x87\2\x84\2\x8e\1\x98\1\x8a\1\x98\1\x85\1\x87\2\x84\1\x87\1\x84\3\x9b\1\x84\3\x80\6\xa6\2\x9d\1\xa7\4\x80\2\x87\1\xad\1\x80\t\x84\2\xa3\1\xa7\3\xba\1\x84\2\xa7\t\xa3\1\x84\1\xc4\1\x80\t\xa7\2\x80\5",
b"\x80\4\x98\1\xa6\1\xb4\1\x98\t\xae\1\x84\1\x87\1\x98\a\xa3\1\x84\2\x85\1\x87\1\x84\2\x87\1\x84\5\x87\1\x84\1\x87\1\x9a\1\xba\1\x9a\1\xba\1\x9a\2\x9b\1\x84\5\x87\1\x84\5\x87\1\xae\1\x87\1\x84\1\x87\1\x98\23\xa6\1\xa9\1\x98\2\x80\6\x84\2\x87\1\xa6\a\xb6\1\x80\16\xc5\1\x84\1\x87\1\x8b\1\x8a\25\x84\3\x8a\5\x80\b\x87\3\x9d\1\xa7\1\x87\1\x84\1\x87\2\xc6\1\xc7\1\x80\2\x84\2\x87\1\xa8\1\x80\1\x8a\f\x88\1\x84\2\x8a\1\xb1\1\x8a\4\x98\1\x87\1\x84\1\x87\1\x84\1\x80\2\x8b\3\xb1\1\x8b\1\x84\3\x85\1\x8b\v\x98\1\x87\1\x84\1\x8b\24\x87\1\x8d\1\xc8\1\x80\2\x98\1\x9a\1\x84\b\x87\2\x84\3\x8b\3\xac\1\x96\1\x8b\f\x85\1\x84\1\x87\1\x8b\t\x83\1\x84\1\x87\2\x84\3\x8d\1\x84\4\x87\1\x84\5\xa4\1\x80\1\x84\3\x80\6\xb8\1\xa6\1\xa7\5\x80\2\x84\2\x80\t\xc0\1\x87\1\x84\1\xa7\3\x9d\1\x84\2\xa7\b\x9d\1\xa7\1\x84\1\xc0\1\x80\t\xa7\2\x80\5",
b"\x80\5\x98\1\xa9\1\x98\t\x84\2\xae\1\x98\1\xa9\1\x98\4\xae\1\x87\2\xb5\1\xae\1\x98\3\x9a\1\x84\3\x87\1\x84\1\x87\1\x84\n\x87\1\x84\1\x87\1\x84\2\x87\2\x9a\1\x98\2\x9d\1\x98\1\xa3\1\x84\1\xa3\1\x98\f\x9d\1\xa7\1\x98\3\x9d\1\xb4\1\xb8\1\xa6\2\x80\b\x84\1\x9b\1\xb8\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\5\x80\b\x84\3\xa7\1\x9d\2\xa7\1\xad\1\x87\3\x84\1\xbc\1\x84\1\x87\1\x80\3\x8a\f\x84\2\x83\1\x8a\4\x98\1\x84\2\x87\3\x80\5\x9d\1\xa7\1\x9d\1\x87\1\x8d\1\x8e\1\x8b\r\x87\1\x84\1\x8b\24\xa3\1\x84\1\xc9\1\x80\1\x8b\2\x9d\1\x84\2\x83\1\x8b\5\x85\1\x84\3\x98\1\xb0\1\x92\1\x80\2\xb0\1\x8b\1\x80\1\x8b\v\x87\1\x84\1\x88\1\x8b\a\x8a\1\x8b\2\x8a\1\x84\1\x87\1\x84\a\x87\1\x84\2\xa3\1\xa7\1\x9d\1\xa7\1\x80\1\xc6\1\x84\2\x80\6\xa6\1\xb8\1\xb4\1\x9d\4\xa6\1\x80\1\x84\2\x80\n\x84\2\xba\1\x9d\2\xa7\1\x84\2\xb5\1\x9d\6\xa7\3\x84\2\x80\t\xa7\2\x80\5",
b"\x80\4\xa9\1\x9d\1\x98\2\xae\b\x84\1\x87\1\xae\2\x98\1\xae\4\x84\3\xae\t\x9d\1\x98\1\x84\2\x9b\1\x87\1\x84\5\x87\1\x9b\1\xa3\1\x9a\1\xae\b\x98\1\x85\1\x84\1\x87\1\xae\t\x9d\1\xae\1\x98\1\x9d\1\xa7\3\x9d\2\xa7\1\xa6\4\x80\a\x84\1\x87\2\xb6\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\4\x96\1\x80\b\xc9\1\x84\2\xa7\2\x9d\1\xa7\1\x9d\1\x80\1\x9b\1\x87\1\x84\2\x9b\1\x84\1\xca\1\x80\3\x8a\n\xb1\1\x84\2\x83\1\x8a\1\xb1\1\x87\1\x84\2\x8d\1\x87\1\x84\1\x87\1\xc0\1\x80\5\x9d\1\xa7\1\x8b\1\x87\1\x84\1\x85\1\x8b\v\x8a\1\x8b\1\x87\1\x84\1\x8b\21\x80\1\x96\1\x90\1\xc1\1\x87\1\xbc\1\x80\1\x9d\2\x8b\1\x87\1\x84\1\x83\1\x8a\1\x8b\4\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\n\x8a\2\xb1\1\x84\2\x8b\5\x8a\5\x8b\1\x8a\1\xac\1\x8b\1\x84\2\x9a\1\xa3\1\x9a\1\xae\1\x8a\3\x8b\1\x8a\2\xa7\2\xc9\1\x87\2\x80\5\xb6\1\xa6\2\xb6\1\xa7\4\x9d\1\x80\1\x9b\1\x84\1\x80\n\x84\1\x87\1\x84\1\xa7\3\x87\1\x84\1\xba\1\xa7\t\x84\2\x80\t\xa7\2\x80\5",
b"\x80\6\xae\1\x9d\1\x98\1\xae\6\x84\2\xa3\1\xae\a\x87\1\x84\1\x87\1\x98\1\xae\b\xa9\1\xb5\1\x84\2\xae\n\x9d\1\xae\t\x87\3\x98\1\xae\a\x98\1\xae\2\xbe\1\xa7\5\x9d\1\xa7\1\xa6\5\x80\6\x84\2\x80\1\xab\1\xa6\a\x80\16\x84\2\x9b\1\x8a\26\x84\2\x87\1\x8a\1\xb1\1\x8a\2\x80\b\xcb\1\x84\3\x9d\1\xa7\1\x9d\1\xa7\2\xcc\1\x80\2\xad\1\x84\4\x87\1\x9b\1\xc2\1\xcd\1\x8a\n\x84\2\xa3\1\x84\2\x87\1\x84\2\x9a\1\x80\1\x84\3\x80\5\xa7\1\xa9\1\x8a\1\x84\2\x9b\1\x8a\v\x8b\2\x84\2\x8a\1\x8b\1\x8a\16\x8b\1\x80\3\xb9\1\x84\1\xbf\1\x9c\1\x8a\1\x9d\1\x8b\1\x8d\1\x84\1\x85\1\x8a\2\x8b\3\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\a\x8a\6\x87\1\x84\1\x85\1\x8a\t\x8b\4\x84\2\x8a\1\x8b\2\x8a\1\x8b\1\xb0\1\x80\1\xbe\1\xa7\2\x9d\1\xa7\1\xbd\1\x84\2\x80\5\xb8\1\xa6\2\x80\1\xa7\3\x9d\1\xa7\1\x80\1\x84\2\x80\n\x87\1\x84\2\xa7\3\x87\1\x84\1\xba\1\xa7\t\x87\1\x84\1\x80\b\xbe\1\xa7\2\x80\5",
b"\x80\6\xce\1\xae\a\xa3\1\x84\1\xb5\1\xae\25\x84\2\x9a\1\xae\24\x84\2\x9b\1\xae\b\xcf\1\x80\2\xbb\1\xa7\1\x9d\5\xa7\1\xb8\1\xa6\3\xb8\1\xa6\1\x80\5\x87\1\x84\1\x80\1\xab\1\xa6\6\xb8\1\x80\16\xba\1\x84\2\x8a\26\x84\3\x8a\3\x80\b\x8d\1\x84\3\xa7\1\x9d\2\xa7\1\x9d\1\xa7\1\x9d\1\x80\4\x84\4\x9b\1\x84\a\x87\1\x84\2\x87\1\x84\1\x87\2\x84\3\x87\1\x8a\2\x80\2\xbc\1\x84\1\x87\1\x80\5\x9d\1\xa7\1\x9d\1\xc0\1\x87\2\xb1\1\x8a\f\x87\2\x8a\21\x80\3\x84\2\xa9\2\x8a\3\x9a\1\x84\1\x8a\6\x84\2\x87\1\xa3\1\x80\5\xb0\1\xb1\1\x8a\r\x84\1\x9b\1\x84\1\x8a\f\x98\1\x87\1\x9b\1\xb1\2\x8a\2\x96\1\x80\3\x9d\1\xa7\1\x9d\2\x87\1\x84\1\x87\1\x80\5\xa6\3\x80\1\x9d\4\xa7\1\x80\1\x84\2\x80\n\x84\2\x87\1\x9d\2\xa7\1\x87\1\x84\1\xc5\1\x9d\b\xa7\1\x84\1\xc5\1\x80\b\xbb\1\xa7\1\x9d\1\x80\5",
b"\x80\6\x9d\1\xae\2\x9d\1\xae\1\x9d\1\xae\1\x9d\1\xae\1\x87\1\x84\1\xae\25\x84\2\x9a\1\xae\23\x9d\1\x87\2\x84\1\xae\5\x9d\1\xae\2\xab\1\x80\2\x9d\a\xb4\1\xa6\a\x80\4\x84\2\x80\1\xa6\5\xb8\3\x80\16\xb8\1\x84\2\xb5\1\x8a\25\x9a\1\x84\2\x8a\2\x80\t\xc0\1\x84\1\x80\2\x9d\1\xa7\1\x9d\4\xa7\1\xbe\1\x80\4\x84\1\x87\1\x80\1\xbe\1\x91\1\x87\1\x84\a\x87\1\x84\3\x8d\1\x83\1\xa8\1\xb1\1\x8a\1\x80\5\x84\2\xb9\1\x80\4\xa7\2\x9d\1\x8a\3\xa9\1\xb1\1\x8a\3\xb1\1\x8a\6\x87\1\x84\1\x83\1\x8a\f\xb1\1\x80\1\x8a\2\x96\1\x80\3\x84\1\x87\1\xb1\1\x8a\f\x84\3\x96\1\x80\4\x8a\20\xa3\1\x84\2\x8a\f\x84\2\xa1\1\xa6\3\x80\5\xbe\1\x9d\1\xa7\1\x9d\1\xa7\1\x80\6\xa6\1\xb8\2\xab\1\x80\1\x9d\3\xa7\1\x9d\1\xc3\1\x84\1\xca\1\x80\n\x84\1\x87\2\x9d\2\xa7\1\x87\2\xc3\1\x9d\b\x87\2\xb6\1\x80\b\xa7\1\x9d\2\x80\5",
b"\x80\5\xb8\1\xae\3\x9d\2\xae\3\x9d\1\x84\2\xb5\1\xae\a\x9d\1\xae\f\x84\2\xb5\1\xae\25\x84\2\x9a\1\xae\5\x80\1\xa7\1\x80\3\x9d\a\x9f\1\xb8\1\xa6\6\xd0\1\x80\3\x84\3\xb8\1\xa6\4\xb8\3\x80\16\xa6\1\x84\2\xa7\1\x8a\26\x87\1\x84\1\x8a\1\x92\1\x80\r\xcf\1\x9d\2\xa7\3\x9d\2\xbe\1\x80\3\x84\1\x8d\1\x80\2\x8a\3\x98\1\xae\1\x85\1\x9a\2\x85\1\xae\1\x98\1\x84\3\x8a\1\x80\1\x8a\1\x96\1\x80\5\x84\2\xbf\1\x80\4\x9d\3\x8a\3\x9d\1\x90\1\x8a\2\x80\1\x8a\a\x84\2\x8a\r\x9c\1\x80\2\x8a\2\x80\2\x84\2\xa9\1\x9d\1\x8a\v\xae\1\x84\1\x87\1\x84\1\x80\4\x8a\21\x9a\1\x84\2\x8a\v\x98\1\x8d\1\x87\1\x8a\2\xa6\2\x80\6\x9d\1\xa7\2\x9d\1\xa7\1\x80\5\xa6\1\xb8\2\x80\2\xa7\3\x9d\1\xa7\1\x84\2\x80\v\x84\2\xa3\1\xa7\2\xc3\1\x87\1\x84\1\xa7\b\xc3\1\x87\1\x84\1\xa6\1\x80\b\xa7\3\x80\5",
b"\x80\a\x9d\1\xae\1\x9d\3\xae\1\x9d\1\x80\1\x84\2\xb5\1\xae\4\x9d\1\xae\16\x84\3\xae\26\x9a\1\x84\1\x87\1\xae\2\x9d\1\x80\1\xae\1\x80\5\xa7\1\x9d\2\xa7\3\x9d\1\xbb\1\xa6\4\xb8\2\xa6\2\x80\3\xc4\1\x84\1\x87\1\xb8\2\xa6\4\xb8\1\xa6\1\x80\16\xb2\1\x84\1\x87\1\xb8\1\x9c\1\x8a\24\x87\1\x84\2\x8a\1\x80\17\x9d\b\xce\1\x80\1\xad\1\x84\1\xc6\1\x80\2\x8a\v\x84\3\x80\3\x98\1\x80\5\x84\2\x80\5\x9d\1\xa7\1\x9d\1\x8a\1\xa9\1\xa7\2\x80\1\x8a\1\x92\1\x80\1\x96\1\x8a\5\x84\3\x8a\t\x92\1\x8a\3\x90\1\x80\3\x8a\1\x80\1\x84\1\x87\1\x84\1\x9d\1\x8a\2\x9d\1\x9c\1\x8a\b\x84\4\x80\4\x96\1\x8a\20\x9a\1\x84\2\x8a\t\xb1\1\x98\1\x84\1\x87\1\xb8\3\xa6\2\x80\6\xa4\1\x9d\2\xa7\1\x9d\1\xbe\1\x80\4\xa6\1\xb8\1\xa6\1\x80\2\xa7\1\x9d\2\xc3\1\x84\2\x87\1\x80\n\xc6\1\x84\2\x9d\1\xa7\2\xba\1\x87\1\x84\1\xa7\a\x9d\1\x87\2\xc0\1\xcf\1\x80\b\xa7\1\x9d\1\xa7\1\x80\5",
b"\x80\a\xbe\1\x9d\5\xa7\1\xbb\1\x84\2\xae\3\xb5\1\xae\1\xab\1\x80\2\xae\4\x9d\1\xae\a\x84\3\xae\26\xb5\1\x8d\1\x84\1\xae\2\x80\a\xa8\1\x9d\a\xbb\1\xa6\1\xb8\b\x80\3\x84\2\xb2\1\xb8\a\x80\16\x87\1\x84\1\xc5\1\xb8\1\xa1\1\x80\1\x8a\21\x98\2\x84\2\x85\1\x98\1\x80\17\xa7\2\x9d\6\xa7\1\xa4\1\x8d\1\x84\1\x80\3\x8a\1\x98\1\xa7\1\x9d\1\x8a\a\x84\3\x80\b\x84\2\xc1\1\x80\5\xa7\1\x9d\6\x80\2\xb1\1\x8a\a\x84\1\x87\1\x84\1\x8a\t\x80\1\xb1\1\x8a\3\x80\5\x84\3\x8a\2\x9d\1\x9c\2\x8a\a\xae\1\x87\1\x84\3\x80\4\xb1\1\x8a\a\xb1\1\x8a\2\xb1\1\x8a\2\xa4\1\x8a\2\x87\1\x84\1\x9b\1\x8a\b\x90\1\xb8\1\x98\1\x87\1\x8d\1\xb8\3\xa6\1\xb8\1\x80\6\xa7\1\x9d\1\xa7\2\xa4\1\x9d\1\x80\3\xa6\1\xb8\2\xa6\1\x80\2\x9d\4\x84\2\x87\1\x80\n\x84\2\xc0\1\x9d\3\x9b\1\x84\1\x87\1\x9d\b\x87\2\xa3\1\xbb\1\x80\b\x9d\3\x80\5",
b"\x80\b\xa4\1\xa7\4\x9d\2\x84\2\xab\1\xbb\1\xae\2\xc3\1\xa7\1\x80\1\xb5\1\xae\1\xb5\1\xae\1\xb5\1\x9d\1\xae\2\xb5\1\xae\4\x84\2\x87\1\xae\24\xb5\1\xae\2\x87\1\x84\1\x80\t\xb2\1\xa7\6\x9d\1\xb8\t\xa6\1\xa8\1\x80\2\x84\2\xb2\1\xa6\1\xb8\3\xa6\1\xb8\1\xa6\1\x80\16\x84\1\x87\1\xb8\2\x8a\1\x98\24\x84\2\x98\2\x80\17\xce\1\xc3\1\xa4\a\xc0\1\x87\1\x84\1\x80\2\xab\1\xb6\1\x9d\1\xa9\1\x98\b\x84\3\x80\b\x87\1\x84\1\x80\6\xa7\a\xa8\1\x80\2\x8a\a\x84\3\x8a\5\x9c\1\x8a\2\x80\2\x9c\1\xb1\1\x80\a\x84\3\xa7\1\xa4\1\xa7\1\x80\2\x9c\1\x8a\6\x9b\1\x84\3\xc5\1\x80\6\x8a\3\x80\1\x8a\b\xa7\1\x8a\2\x84\1\x87\1\x84\1\x8a\a\xaa\1\x80\1\xb8\1\xa9\1\x84\2\x8a\1\xb8\4\x80\6\xcf\1\xa4\1\xc3\1\xa4\1\x9d\1\xa4\1\xcc\1\x80\2\xb8\2\xa6\2\x80\2\x9d\2\xa7\1\x9d\1\x84\3\x80\t\x84\1\x87\1\x84\1\xa4\1\x9d\1\xa4\1\x9d\1\x84\2\x9b\1\x9d\b\x84\1\x87\1\xa3\1\xbb\1\x80\b\x9d\1\xa7\2\x80\5",
b"\x80\b\xc3\1\xa4\1\xc3\1\xa4\1\xc3\2\xba\1\x87\1\x84\1\x80\1\x9d\1\xb5\2\x80\5\xb5\1\xbb\2\x80\1\xc3\1\xb5\6\x84\3\xb5\1\xae\1\xb5\26\x9d\1\x80\t\xc3\1\xa4\6\xc3\1\xb8\v\x80\2\xa8\1\xb8\b\x80\17\x84\2\xb8\2\xa9\1\x98\1\x8a\1\x98\22\x84\2\xab\1\x80\21\xc3\b\xa3\1\x84\2\xa4\1\xa6\1\x80\1\x98\1\x9d\1\x98\t\xb4\1\x84\2\x80\b\x87\2\x80\6\xb6\1\xc3\1\xa4\5\xc3\1\x80\3\x8a\2\xab\1\xb1\2\x80\1\x84\2\x83\1\xb1\2\x8a\1\xb1\1\x80\16\xa8\1\x84\2\x9b\1\xc3\1\x9d\1\x80\3\x96\1\x8a\1\x80\3\xab\1\xb0\1\x84\3\x87\1\xc1\1\x80\t\x9c\1\x8a\3\xb0\1\x80\2\xb1\1\x8a\1\x80\1\xbe\1\xa7\1\x84\2\x88\1\x8a\4\x9d\1\x8a\2\xb1\1\x80\1\xb8\1\x87\1\x84\1\x87\1\xb8\5\x80\a\xa4\2\xc3\1\xa4\1\xc3\2\x80\1\xab\1\xa6\1\xb8\2\x80\3\xa7\1\x9d\1\xa4\1\xc3\1\x84\2\xba\1\x80\b\xc4\1\x84\1\x87\2\xa4\3\xc3\1\x84\2\xa3\1\xa4\a\xc3\1\x87\1\x84\1\xc3\1\xb2\1\x80\b\xa4\3\x80\5",
b"\x80\b\xb2\1\xc3\5\x84\2\xb9\1\x80\t\xc3\1\x80\1\xb5\t\x87\1\x84\2\xb5\31\x80\b\xcf\1\xc3\b\xb8\1\xbb\1\xb8\n\xa6\2\xb8\b\x80\17\x84\1\x87\1\xb8\1\xa9\1\x98\17\x9c\1\x98\2\x80\1\x98\2\x87\1\x84\1\x80\23\xc3\1\xa4\2\xc3\4\xc5\1\x84\1\x87\1\xc3\4\x9d\1\x98\n\x84\2\x80\b\x87\1\x84\1\x80\a\xa4\1\xc3\6\x80\b\x9b\1\x84\1\x87\1\x80\3\x8a\1\x80\17\xba\1\x87\1\x84\1\xc3\2\xa7\1\x80\2\x9c\1\x80\a\x84\2\x87\1\x84\1\xc9\1\x80\v\x92\1\x80\2\x90\1\x80\6\x84\2\x8a\1\xcf\1\xc3\1\xa9\1\x8a\1\x9d\1\xc3\4\x9f\1\x87\1\x84\1\x87\1\xb8\1\xbb\1\xb8\3\x80\a\xa4\1\xc3\5\xab\1\xb8\2\xa6\1\xbb\1\x80\3\xa6\1\xc3\2\x9b\1\x84\2\xc3\1\x80\b\x84\3\xc3\5\x84\2\x9b\1\xc3\a\x84\1\x87\1\x84\1\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\b\xa8\1\xc3\5\x84\1\x87\1\xc9\1\x80\n\xd1\1\xb6\1\xb5\1\xa7\1\xb5\6\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\1\xa4\1\xc3\a\xb8\f\xbb\2\xb8\b\x80\16\xd1\1\xba\1\x84\1\x87\1\x98\20\x9f\1\xb1\1\xab\1\x80\1\xd2\1\x98\1\x84\3\x80\22\xc3\b\x84\2\x9b\1\xc3\4\x98\5\xa9\2\x98\2\xc0\1\x87\1\x84\1\x80\b\xc9\1\x87\1\x84\1\xcc\1\x80\5\xc3\a\xa4\1\x80\a\x87\1\x84\1\x9b\1\x80\22\xb6\1\x9b\1\x84\2\xc3\2\x80\v\x84\4\xc0\1\x80\34\xbb\1\xa4\1\xc3\4\x84\2\xc0\1\xb8\5\x80\a\xc3\6\xbb\1\xb8\4\x80\3\xa8\1\xc3\2\x84\3\xc3\1\x80\a\xbe\1\x87\1\x84\1\xc1\1\xa4\2\xc3\3\x84\2\x87\1\xc3\a\x84\3\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\5\x9b\1\x84\2\x80\n\xce\1\x80\1\xb5\1\x80\1\xb5\1\xc3\1\xb5\4\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\b\xb2\1\xb8\2\xbb\n\xb8\1\xbb\a\xb8\1\xab\1\x80\16\xa8\1\xb8\1\x84\2\x9b\1\xa9\1\x98\r\x9d\2\x80\3\xd3\1\x80\1\xc4\1\x84\2\x80\22\xa4\1\xc3\b\x87\1\x84\1\xc5\1\xc3\3\x98\5\xa9\1\x80\1\xa9\1\xb8\1\x84\2\xc0\1\x80\t\x84\1\x87\1\x84\1\x80\5\xb2\1\xc3\a\xb6\1\x80\6\x84\2\xc9\1\x80\21\xb2\1\xc3\1\x84\2\x87\1\xc3\2\x80\v\x84\5\x80\36\xa4\1\xc3\2\xba\1\x87\1\x84\1\xa4\1\xb8\4\xbb\1\x80\a\xab\1\xc3\6\xb8\3\xab\1\x80\4\xc3\2\x84\3\xc3\1\xb2\1\x80\6\x84\2\xc5\1\x9f\1\xc3\5\x87\1\x84\2\xc3\a\x84\3\xc3\1\xa4\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\3\xa4\1\xc3\2\x84\2\x80\16\xb6\1\xc3\4\xb5\2\x84\2\xb5\20\xc3\1\xb5\2\xc3\1\xb5\3\x80\t\xbe\1\xc3\b\xbb\1\xb8\2\xbb\6\xb8\r\x80\17\xab\1\xbb\1\x84\2\x87\1\x98\1\x80\2\x92\1\x98\t\x9d\1\xc3\2\x80\6\x84\2\xa8\1\x80\22\xc3\b\x84\2\xba\1\xc3\3\x9d\1\x98\4\xb4\1\x80\3\x84\2\x80\n\x84\3\x80\6\xc3\a\xa4\1\xc3\1\x80\5\x84\2\xc9\1\x80\21\xc3\2\x84\3\xc3\1\x80\f\xc6\1\x84\4\x80\37\xc3\2\xba\1\x84\2\xa4\1\xb8\3\xbb\1\xb8\1\x80\b\xc3\6\xb2\1\xbb\1\xb8\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xc3\2\x80\5\xc4\1\x84\2\x80\1\xc3\6\xc0\1\x84\2\xc3\a\x84\1\x87\1\x84\1\xc3\2\x80\a\xb6\1\xc3\2\xa7\1\x80\5",
b"\x80\t\xb2\1\xc3\5\x84\2\xc8\1\x80\r\xb2\1\xc3\5\xb5\1\x84\2\xb5\2\xc3\1\xb5\6\xa7\1\xc3\2\xb5\1\xc3\1\xb5\2\xc3\1\xa7\1\xc3\2\x80\f\xc3\1\xa4\1\xc3\a\xb8\2\xbb\24\x80\17\xa6\1\xbb\1\x87\1\x84\1\x87\1\xb8\1\xc8\2\x98\n\xc3\3\x80\6\x84\2\xbe\1\x80\22\xc3\b\x84\2\xc0\1\xc3\3\x98\1\xc3\1\x98\3\x80\4\x84\2\x80\n\x87\1\x84\2\x80\6\xc3\b\xa4\1\xab\1\x80\4\x87\1\x84\1\xb9\1\x80\20\xa4\2\xc3\1\x84\3\xa4\1\x80\r\x84\4\x80\37\xc3\2\xc5\1\x84\2\xc0\1\xbb\2\xb8\1\xbb\1\xb8\1\x80\b\xc3\6\xa4\1\xb8\1\x92\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xa4\1\xc3\1\xb2\1\x80\4\xbf\1\x84\1\x87\1\xb7\1\xa4\1\xc3\6\x84\2\xba\1\xc3\6\x84\1\x87\2\xc3\2\x80\a\xb2\1\xc3\2\xb2\1\x80\5",
b"\x80\n\xc3\1\xa4\1\xc3\2\x84\2\xc0\1\xa4\1\x80\r\xc3\6\x9b\1\x87\1\x84\1\xc3\5\xb5\1\xba\1\xc3\2\x80\1\xd3\1\x80\25\xc3\6\xa4\1\xc3\2\xbb\25\xb6\1\x80\17\xbb\3\xc5\1\xa7\1\xa8\1\x80\1\x98\v\xc3\1\x98\1\x9d\1\xcf\1\x80\5\xa8\1\xb2\1\x80\23\xc3\b\xc5\1\xc0\1\xc3\a\x98\1\x9d\1\x80\4\x84\1\x87\1\x80\v\xc1\1\xb6\1\x80\6\xa7\1\xc3\1\xa4\1\xc3\4\xa4\1\xc3\2\xa4\1\x80\3\x84\1\x87\1\x84\1\x80\17\xc3\4\xa3\1\x84\2\xc3\1\x80\r\xcf\1\x84\3\xa8\1\x80\37\xc3\2\x84\2\x9b\1\xc3\1\xbb\3\xa6\1\x80\b\xa6\1\xc3\6\xbb\1\x80\6\xc3\2\x87\1\x84\2\xc3\2\xa4\1\x80\5\x84\1\x87\1\xba\1\xc3\a\x84\3\xc3\6\x84\3\xc3\1\xa4\1\x80\a\xa4\2\xc3\1\xcf\1\x80\5",
b"\x80\n\xc3\3\xc5\1\x84\2\xc3\2\xb2\1\x80\f\xc3\6\x84\2\x87\1\xc3\t\xb2\1\x80\24\xbb\1\xc3\a\xa4\1\xc3\1\xb6\1\xab\1\xb8\1\xbb\23\x80\20\xbb\2\xb8\1\x9f\1\xa9\2\x80\1\x98\b\xae\1\x98\3\x9d\1\xc3\2\x80\32\xa6\1\xc3\17\xae\1\xc3\1\xb6\1\x80\4\x84\2\xad\1\x80\23\xc3\v\xb2\1\x80\1\xb9\1\x84\2\x80\16\xa4\1\xc3\5\x87\1\x84\1\xbb\1\x80\16\x87\1\x84\2\xc5\1\x80\37\xc3\2\x84\1\x87\1\x84\1\xc3\2\xb8\1\xbb\1\xb6\1\x80\t\xc3\6\xbb\1\x80\6\xc3\2\x9b\1\x84\1\x87\1\xc3\3\xa4\1\x80\4\x84\1\x87\1\xc5\1\xc3\a\x87\1\x84\2\xc3\6\x84\3\xc3\2\x80\a\xc3\3\xb6\1\x80\5",
b"\x80\n\xb6\1\xc3\2\xa3\1\x84\1\x87\1\xc3\3\x80\v\xcc\1\xc3\6\x84\2\xc0\1\xc3\n\xd4\1\x80\21\xd5\1\xc3\v\x80\2\xbb\22\xb8\1\xbb\1\x80\20\xbb\2\x9f\1\xa9\1\x9f\1\x98\1\xae\1\x98\4\xae\3\x98\1\x9d\1\xae\1\x98\2\xc3\3\xcc\1\x80\32\xc3\21\x80\5\x9b\1\x84\2\x80\23\xc3\r\xab\1\x84\2\xc8\1\x80\r\xc3\6\x84\2\xb9\1\x80\17\x84\3\x80\37\xc3\2\x84\2\x87\1\xc3\3\xbb\1\xab\1\x80\t\xc3\6\xa6\1\x80\6\x9f\1\xc3\1\xc5\1\x84\2\xc5\1\xc3\3\x80\5\xc5\1\xc3\b\x87\1\x84\1\x87\1\xc3\6\xc0\1\x84\2\xc3\2\x80\a\xc3\3\xa8\1\x80\5",
b"\x80\v\xc3\2\x9b\1\x87\1\x84\1\xc3\4\x80\n\xc3\a\x87\2\xc3\f\xbb\1\x80\16\xb2\1\xc3\f\xab\1\x80\2\xbb\23\x80\20\xbb\5\xb4\1\x98\2\xae\4\x98\1\xae\1\x98\1\xae\1\xa6\1\x98\1\x9d\2\xae\1\xc3\1\xa4\1\xc3\1\x80\32\xc3\21\x80\6\x84\2\xa8\1\x80\23\xc3\f\xa4\1\x87\1\x84\1\xb2\1\x80\r\xc3\6\x84\2\xc5\1\x80\20\x87\1\x84\1\x80\36\xc3\3\xc0\1\x84\2\xc3\4\xa4\1\x80\a\xa6\1\xc3\a\xa6\1\x80\a\xc3\2\x84\2\xba\1\xc3\4\x80\4\xc3\t\xba\1\x87\1\x84\1\xc3\a\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\v\x92\1\xc3\1\x9b\1\x84\2\xc3\5\x80\t\xc3\a\x84\2\xc3\17\x80\t\xb2\1\xc3\r\xa4\1\xc3\1\x80\3\xbb\22\x92\1\x80\20\xbb\3\xb4\1\xae\1\xbb\1\xae\b\x92\1\x80\2\x9d\1\xc3\6\x80\32\xb2\1\xc3\20\x80\6\x87\1\x84\1\xcf\1\x80\23\xab\1\xc3\f\x84\2\xc3\24\x84\1\x87\1\xb6\1\x80/\xa4\1\xc3\3\x9b\1\x84\1\x87\1\xc3\24\x80\b\xc3\2\x84\2\xc3\6\xa4\1\x80\1\xc3\v\x84\2\xc0\1\xc3\5\xc5\1\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xa3\1\x84\1\x87\1\xc3\6\xd5\1\x80\5\xcc\1\xc3\b\x84\1\x87\1\xc3\21\xa4\1\xb2\2\xa4\1\xc3\22\x80\4\xbb\22\x80\20\xd0\1\xbb\5\xa6\1\xae\1\xa6\1\xb8\1\xae\2\x9d\1\xae\2\xb4\1\x80\2\xc3\a\xb6\1\x80\31\xcf\1\xc3\17\xbb\1\x80\6\x84\2\xcf\1\x80\24\xc3\v\xba\1\x84\2\xc3\24\x87\1\x84\1\xbe\1\x80-\xd6\1\xc3\5\x84\3\xc3\22\xa4\1\xc3\1\x80\b\xa6\1\xc0\1\x87\1\x84\1\xc3\23\x84\2\xc0\1\xc3\5\x9b\1\x84\2\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xc5\1\x87\1\x84\1\xc0\1\xc3\1\xc5\2\xc3\4\xbb\1\x80\3\xc3\t\x84\3\xc3\1\xc5\1\xc3\v\xc5\4\xc3\b\xc5\1\xc3\v\xd3\1\x80\4\xbb\22\x80\20\xbb\5\xae\2\xa6\1\x80\1\x9d\1\xa1\1\xae\2\x9d\1\xae\1\x80\3\xab\1\xc3\2\xc5\1\xc3\4\x80\31\xb2\1\xc3\17\x80\a\xb9\1\x87\1\xcf\1\x80\25\xc3\n\x84\2\xc0\1\xc3\23\xc0\1\x84\2\xc3\1\x80+\xb6\1\xc3\2\xc5\2\xc3\3\x84\1\x87\1\xba\1\xc3\1\xc5\1\xc3\17\xc5\1\xc3\1\xd3\1\x80\t\x84\3\xc3\6\xc5\2\xc3\v\x87\2\xc0\1\xc5\1\xc3\4\x84\2\x87\1\xc3\2\x80\6\xab\1\xc3\3\x80\6",
b"\x80\f\xab\1\xc5\1\xc0\1\x87\1\x84\1\xc3\b\xc5\2\xc3\1\xc5\1\xc3\b\xc0\1\x84\2\xc5\1\xc3\37\xc5\1\xc3\1\xa4\1\xc3\1\x80\6\xbb\22\x80\17\xbb\6\xb4\1\xa6\1\x80\2\xd7\1\x80\1\x96\1\xae\1\xb8\2\x80\4\xc5\1\xc3\1\xc5\6\x80\27\xcf\1\xc5\r\xc3\1\xc5\2\x80 \xc5\2\xc3\1\xc5\1\xc3\5\x84\1\x87\1\xc5\1\xc3\23\x87\2\x84\1\xc5\1\xc3\1\x80%\xa6\1\xc3\2\xc5\3\xc3\6\xc5\1\x84\2\xc3\2\xc5\1\xc3\16\xc5\2\x80\v\x84\1\x87\2\xc3\1\xc5\1\xc3\1\xc5\17\xc3\1\x9b\2\xc3\3\xc5\1\xc3\2\x84\2\xba\1\xc3\2\x80\6\xbb\1\xc3\3\x80\6",
b"\x80\r\xc5\2\x84\2\xc5\25\x87\1\x84\1\xba\1\xc5\37\xc3\2\xc5\1\xab\1\x80\6\xbb\21\x9f\1\xaa\1\x80\r\xd1\1\xbb\5\x9f\1\xd3\1\x80\5\xaa\1\xae\1\x80\6\xc5\a\xc3\2\x80\23\xd2\1\xd5\1\xc3\3\xc5\16\xcf\1\x80!\xa4\1\xc5\1\xa4\1\xc5\5\x84\1\x87\1\xc5\24\x84\2\x87\1\xc3\1\xc5\2\xd3\1\x80\37\xd4\1\xb2\1\xc5\1\xc3\1\xc5\f\xba\1\x84\2\xc3\1\xc5\21\x80\f\x84\2\xb2\1\xc5\25\xc3\1\xc5\5\x84\2\xc5\2\xc3\1\x80\6\xa4\1\xc5\3\x80\6",
b"\x80\r\xbb\1\xc5\1\x84\1\x87\1\xc5\25\x84\1\x87\1\xc0\1\xc5!\xd3\1\x80\a\xbb\1\x9f\1\xbb\21\x80\r\xbb\a\x80\6\x9d\1\x92\1\x80\6\xc5\n\xb2\1\xab\1\x80\16\x92\1\xc5\24\x80$\xab\1\xc3\1\xc5\4\x84\2\xc5\24\x84\2\x9b\1\xc5\6\x80\33\xb2\1\xc5\21\xba\1\x84\2\xc5\20\xbb\2\x80\f\x84\2\x92\1\x80\1\xa6\1\xc3\1\xc5\23\xc3\2\xc5\3\x87\1\x84\1\xc5\3\x80\6\xc5\4\x80\6",
b"\x80\16\xa4\1\x84\2\xba\1\xc5\24\x84\1\x87\1\xa3\1\xc5\37\xb6\1\x80\b\xbb\1\x9f\1\xbb\1\x9f\17\xbb\3\x80\v\xbb\1\x9f\6\xbb\1\x80\16\xaa\1\xc5-\x80'\xa4\1\xc5\3\x84\2\xc5\24\x84\2\x87\1\xc5\b\xb9\1\x80\26\xc5\25\x84\2\xc5\f\xa4\1\x9f\3\xbb\2\x80\f\x84\1\x87\1\xbb\1\x80\3\xb2\1\xc5\27\x84\2\xc5\3\xa6\1\x80\5\xc5\4\x80\6",
b"\x80\17\x84\2\xba\1\xc5\24\xba\1\x84\1\xa3\1\xc3\1\xc5\34\xbb\1\x80\n\x9f\25\xd2\1\x80\t\x9f\6\xbb\1\x9f\1\xd7\1\x80\17\xc5-\x80(\xa4\1\xc5\2\x87\1\x84\1\xc5\24\x9b\1\x84\2\xc5\a\xc3\1\xc5\2\xb7\1\x80\23\xc5\1\xb9\1\xc5\24\x84\2\xc5\t\xbb\1\x80\1\xaa\1\x9f\5\xbb\1\x80\f\x84\2\x87\1\x80\4\xa4\1\xc5\26\x84\1\x87\1\xc0\1\xc5\2\xa4\1\x80\4\xaa\1\xc5\4\x80\6",
b"\x80\17\xa6\1\xc50\xb9\1\xb2\1\xab\1\x80\16\xbb\1\x9f\1\xbb\1\x9f\23\x80\b\xbb\1\x9f\a\xbb\1\x80\20\xa4\1\xc5+\x80*\xc5\2\x9b\1\x84\2\xc5\24\x84\2\xc0\1\xc5\r\xb2\1\xaa\1\x80\r\xaa\1\xc5\26\x84\1\x87\1\x84\1\x9f\5\x80\5\xbb\1\x9f\3\xbb\2\x92\1\x80\f\xa4\1\x87\1\x84\1\x80\6\xc5\25\x84\3\xc5\3\x80\4\xa4\1\xc5\3\xa4\1\x80\6",
b"\x80\20\xc5-\xd7\1\x80\22\xaa\1\x9f\26\xbb\1\x80\5\xd7\1\xbb\1\x9f\a\xbb\1\x80\22\xbb\1\xc5(\xa4\1\x80,\xc5\2\x84\2\x9b\1\xc5\23\x84\3\xc5\22\xa4\1\xb2\2\xc5\36\x9b\1\x84\2\xbb\1\x9f\4\x80\5\x9f\4\xbb\1\x9f\1\xaa\1\x80\r\x87\1\x84\1\xc5\1\x80\6\xab\1\xc5\24\x84\1\x87\1\xc0\1\xc5\2\xd7\1\x80\3\xc5\4\xa6\1\x80\6",
b"\x80\21\xc5+\x80\24\xbb\1\x9f\27\xbb\1\xd8\1\x80\1\xd8\1\xaa\1\x9f\t\x80\24\xc5(\x80-\xc5\2\x84\3\xc5\23\x84\3\xc53\x9b\1\x87\2\x9f\5\x80\4\xaa\1\x9f\4\xbb\1\x9f\1\xd7\1\x80\r\x84\2\x9b\1\x80\b\xc5\23\x84\1\x87\1\xc0\1\xc5\2\x9f\1\x80\3\xc5\4\xaa\1\x80\6",
b"\x80\22\xc5(\xa6\1\x80\25\x9f%\x80\26\xc5%\xd9\1\x80/\xc5\1\x84\2\x87\1\xc5\23\x84\3\xc52\xb2\1\xc3\1\x84\2\x9f\1\xbb\1\x9f\3\x80\4\xbb\1\x9f\4\xbb\1\x9f\1\x80\16\x84\3\x80\a\x92\1\xc5\23\x87\2\x9b\1\xc5\3\x80\2\xd7\1\xc5\4\x80\a",
b"\x80\23\xc5'\x80\25\x92\1\x9f$\xd7\1\x80\27\xc5\"\x802\xa4\1\x84\3\xc5\23\x84\3\xc50\xa7\1\x9f\3\x87\1\x84\1\x9f\5\xd7\1\x80\3\x9f\a\x80\16\x84\3\x80\a\xc5\24\x87\2\x9b\1\xc5\3\x9f\1\x80\1\xc5\5\x80\a",
b"\x80\23\xc5&\x80\26\x96\1\x9f#\xd7\1\x80\30\xd7\1\xc5\37\xb8\1\x803\xa6\1\x9b\1\x84\2\xc5\23\xc0\1\x84\2\xc5/\xd7\1\x9f\4\x9b\1\x84\1\x9f\5\xda\1\x80\3\x9f\a\x80\16\xc5\1\x84\1\x87\1\x80\6\xd2\1\xc5\24\x87\1\x84\1\x9b\1\xc5\4\xd7\1\xc5\5\x80\a",
b'\x80\24\xc5$\x95\1\x80\26\xb8\1\x9f"\x92\1\x80\32\xa4\1\xc5\34\x9f\1\x806\xc5F\x80\3\x9f\v\x95\1\x80\2\xd7\1\x9f\a\x80\27\xa7\1\xc5 \x9f\1\x80\a',
b'\x80\25\xc5"\x80\30\xbb\1\x9f!\xbb\1\x80\34\xc5\32\xbb\1\x808\xc5D\xb2\1\x80\4\x9f\v\x96\1\x80\2\xa6\1\x9f\a\x80\27\xc5!\x95\1\x80\a',
b"\x80\25\xb2\1\xc5 \x80\31\xbb\1\x9f!\x80\35\xa4\1\xc5\30\xa4\1\x809\xc5C\x92\1\x80\5\x9f\v\x96\1\x80\2\x9f\b\x80\27\xc5!\x80\b",
b"\x80\26\xc5\37\x80\32\xa6\1\x9f \x80\36\xd7\1\xc5\27\x80;\xc5B\x80\a\x9f\v\xb8\1\x80\2\x9f\a\xb8\1\x80\27\xc5!\x80\b",
b"\x80\27\xc5\35\x80\33\x95\1\x9f\37\xb8\1\x80\37\xbb\1\xc5\25\xb8\1\x80;\xa4\1\xc5\22\xc6\1\xc5\1\xc6\1\xc5*\xb9\1\x80\b\x9f\v\xb8\1\x80\2\x9f\a\x96\1\x80\26\x95\1\xc5\35\xc6\1\xc5\2\xc6\1\x80\b",
b"\x80\27\xda\1\xc6\1\xc5\32\xa6\1\x80\33\xda\1\x9f\37\x80 \xda\1\xc5\25\x80<\xbb\1\xc5\16\xc6\2\xc5\1\xc6\1\xc5\2\xa4\1\x80\1\xc6\1\xc5(\x80\t\x9f\v\xbb\1\x80\1\xdb\1\x9f\a\x95\1\x80\26\x95\1\xc5\36\xc6\1\xc5\1\xa6\1\x80\b",
b"\x80\30\xc5\1\xc6\2\xc5\27\xc6\1\x80\35\x9f\37\x80!\xc5\25\x80=\xc5\16\xc6\1\xc5\2\x80\6\xc5&\xc6\1\x80\n\x9f\1\xb2\1\x9f\n\x80\1\x95\1\x9f\a\xda\1\x80\27\xc6\1\xc5\37\x80\t",
b"\x80\31\xc6\1\xc5\1\xc6\27\x80\1\xa4\1\xc5\2\xc6\a\x80\23\x96\1\x9f\36\x80!\xc6\25\x80=\xc6\16\xc5\2\x9f\1\x80\6\xa4\1\xc6%\x80\v\xb8\1\x9f\v\x80\1\xbb\1\x9f\a\x80\30\xc6\37\x80\n",
b'\x80\31\x9f\1\xc6\26\xc5\2\xc6\1\xc5\1\xc6\6\xc5\1\xc6\2\xa4\1\x80\23\x9f\2\xb2\1\x9f\33\x80!\xc6\23\xc5\1\xc6\1\x80=\xc6\20\xdc\1\x80\6\xda\1\xc6\1\xc5\1\xc6"\x80\f\x96\1\x9f\n\xbb\1\x80\1\x9f\b\x80\30\xc6\37\x80\n',
b"\x80\31\x95\1\xc6\26\xc5\1\xc6\1\xc5\1\xc6\f\x80\22\x9f\36\x80!\xc6\24\xc5\1\x80=\xc6\20\x80\b\xc6#\x9f\1\x80\f\x94\1\x9f\n\xb8\1\x80\1\x9f\b\x80\30\xc6\36\xc5\1\x80\n",
b"\x80\31\xdc\1\xc6%\x96\1\x80\21\x95\1\xb2\35\x80 \xdc\1\xc6\24\x80>\xb9\1\xc6\17\x80\b\xc6#\x80\r\x94\1\x9f\n\x96\1\x80\1\x9f\b\x80\30\xc6\37\x80\n",
b"\x80\31\xdc\1\xc6&\x80\22\xb2\1\x9f\1\xb2\33\x80 \x9f\1\xc6\24\x80>\xb8\1\xc6\17\x80\b\xb9\1\xc6\3\xc5\1\x80\2\xc0\1\xc6\32\xb2\1\x80\r\x96\1\x9f\n\x96\1\xdc\1\xb2\1\x9f\6\xb2\1\x80\30\xc6\1\xc5\1\xc6\34\xa4\1\x80\n",
b"\x80\32\xc6&\x80\22\xb8\1\xb2\34\x80 \xc6\24\xa1\1\x80?\xc6\17\x80\20\xc0\1\xc6\30\xc5\1\x80\16\xb8\1\x9f\1\xb2\t\x96\1\x94\1\xb2\a\xa7\1\x80\30\xc6\36\xdc\1\x80\n",
b"\x80\32\xc6\32\xc5\1\xb0\1\xda\1\xa7\1\xc6\t\x80\22\xdc\1\xb2\1\xa7\1\xb2\31\x80\37\xdd\1\xc6\24\x80@\xc6\17\xb0\1\x80\17\xb8\1\xc6\30\x80\17\x9f\1\xb2\n\xb0\2\xb2\b\x80\30\xc6\36\x80\v",
b"\x80\32\xc6\30\xc0\1\x80\6\xc6\b\x96\1\x80\22\xb2\1\x9f\1\xb2\31\x80\37\xb8\1\xc6\24\x80@\x9f\1\xc6\r\xc0\1\xa4\1\x80\20\xc6\30\x80\17\xa7\1\x9f\1\xb2\t\xb0\2\xb2\a\x9f\1\x80\27\xd2\1\xc6\36\x80\v",
b"\x80\32\xc6\30\x80\a\xa1\1\xc6\b\x80\23\xa7\1\xb2\31\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\xb0\1\x80\17\xb2\1\x9f\1\xb2\t\x9f\1\xb8\1\xa7\1\xb2\6\x9f\1\x80\27\xc6\36\x9f\1\x80\v",
b"\x80\32\xc6\30\x80\b\xc6\b\x80\23\xb8\1\xa7\1\xb2\6\xa7\22\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\x80\20\xb2\1\xa7\v\x9f\1\xa7\a\xb2\1\x80\27\xc6\36\x80\f",
b"\x80\32\xc6\30\xde\1\x80\a\xc6\b\xa1\1\x80\23\xa7\31\x80\37\xc6\25\x80A\xc6\20\x80\17\xc6\27\x80\20\xa7\f\xb2\1\xa7\b\x80\26\xd1\1\xc6\36\x80\f",
b"\x80\32\xc6\30\x94\1\x80\a\xb0\1\xc6\b\x80\23\xb4\1\xa7\30\x80\36\xdd\1\xc6\25\x80B\xc0\1\xc6\16\xb8\1\x80\16\xc6\26\xa4\1\x80\20\xa7\f\xb4\1\xa7\b\x80\26\xc6\36\x94\1\x80\f",
b"\x80\32\xc6\30\x9f\1\x80\b\xc6\b\x80\23\xdf\1\xa7\30\x80\36\xa7\1\xc6\24\xa4\1\x80B\xc6\16\xc0\1\xc6\1\xc0\1\x80\r\xc6\26\xa2\1\x80\20\xa7\25\x80\25\xb4\1\xc6\35\xa1\1\x80\r",
b"\x80\32\xc6\30\xa4\1\x80\b\xc6\b\xb0\1\x80\23\xa7\30\x80\36\xc6\25\xa7\1\x80B\xc0\1\xc6\20\xb0\1\x80\v\xb0\1\xc6\26\x80\21\xa7\25\x80\25\xc6\36\x80\16",
b"\x80\32\xa4\1\xc6\30\x80\b\xdf\1\xc6\b\x80\23\xa7\30\x80\36\xc6\25\x9f\1\x80C\xc0\1\xc6\20\xa4\1\x80\n\xc5\1\xc6\1\xc0\1\xc6\24\x80\21\xa7\25\x80\25\xc0\1\xc6\34\xb0\1\x80\16",
b"\x80\32\xa1\1\xc6\30\x80\t\xc6\b\xdf\1\x80\22\xa7\30\x80\36\xc6\25\xe0\1\x80D\xc6\21\xc0\1\x80\t\xc0\1\xc6\26\x80\21\xa7\24\xb4\1\x80\24\xc0\1\xc6\32\xc0\1\xc6\2\x80\17",
b"\x80\32\xa2\1\xc6\30\x80\t\xc6\b\xa1\1\x80\22\xa7\30\x80\36\xc6\25\x80E\xa4\1\xc6\22\xcd\1\x80\a\xc6\27\x80\21\xa7\24\xb4\1\x80\24\xc6\2\xc0\1\xc6\32\x80\20",
b"\x80\33\xc6\30\x80\t\xc6\b\xa7\1\x80\22\xa7\30\x80\36\xc6\25\x80F\xc6\23\xc0\1\x94\1\x80\4\xdf\1\xc6\27\x80\20\xe1\1\xa7\24\x9f\1\x80\23\xc6\34\xa2\1\x80\21",
b"\x80\33\xc6\30\x80\t\xc6\b\xc5\1\x80\22\xa7\30\x80\35\xe1\1\xc6\25\x80G\xa1\1\xc6\25\xa1\1\xc6\30\xb0\1\x80\20\xe1\1\xa7\24\xa1\1\x80\22\xc6\32\xad\1\xc6\2\x80\22",
b"\x80\33\xc6\30\x80\t\xc6\t\x80\22\xb4\1\xa7\27\x80\35\xa1\1\xc6\25\x80H\xc6\25\xe2\1\xc6\30\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xd0\1\xc0\1\xc6\31\xc0\1\xc6\1\x80\23",
b"\x80\32\xe1\1\xc6\27\xe2\1\x80\t\xad\1\xc6\b\x80\22\x90\1\xa7\27\x80\35\xc5\1\xc6\22\xe2\2\xc6\1\x80I\xc6\21\xad\1\xc6\33\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xc6\1\xe2\1\xc6\32\x80\24",
b"\x80\32\xa7\1\xc6\30\x80\t\xc6\6\xe2\1\xc6\2\x80\22\xa2\1\xa7\27\x80\35\xc6\23\xe2\1\xc6\1\xa7\1\x80K\xc6*\xb4\1\x80\22\xa7\24\x90\1\x80\20\xe2\1\xc6\30\xad\1\xc6\2\xa4\1\x80\24",
b"\x80\32\xc5\1\xc6\30\x80\b\xa1\1\xc6\t\x80\22\xe1\1\xa7\27\x80\35\xc6\25\xa1\1\x80K\xa2\1\xc6)\xe1\1\x80\b\xe3\1\x80\t\xa7\24\x90\1\x80\17\xc5\1\xc6\31\xe2\1\xc6\1\xc0\1\x80\25",
b"\x80\32\xc5\1\xad\30\xe1\1\x80\a\xe2\1\xad\a\xc6\1\xa4\1\x80\23\xa7\27\x80\35\xe2\1\xad\24\x80N\xad(\xc3\1\x80\b\xc3\1\x80\t\xa7\24\x90\1\x80\16\x90\1\xc6\34\xa1\1\x80\25",
b"\x80\32\xa4\1\xad\30\xc5\1\x80\6\xa7\1\xad\a\xe2\1\xad\1\x90\1\x80\23\xa7\27\x80\35\xad\24\xe2\1\x80O\xe2\1\xad#\xe2\2\xad\1\xc3\1\x80\a\xc3\2\x80\1\xc3\1\x80\2\xc3\1\x80\4\xa7\24\xb0\1\x80\16\xad\33\xc6\1\xa7\1\x80\26",
b"\x80\32\xa1\1\xe2\30\xc6\1\x80\1\xa2\1\x80\1\xe4\1\x80\2\xe2\1\xc0\1\xe2\b\x80\24\xa7\27\xe3\1\x80\33\xe1\1\xad\1\xe2\22\xc6\2\x80O\x90\1\xc6\1\xe2#\xc6\1\xad\1\xc3\1\xdb\1\xe5\1\xe6\1\xd0\1\xdb\1\x99\1\xa1\1\xa4\1\xc3\1\x80\1\xc3\1\xb4\1\xe7\1\xc3\1\x80\4\xa7\24\x90\1\x80\f\xe3\1\xad\1\xe2\1\xc6\1\xe2\32\x80\27",
b"\x80\32\xe1\1\xe2\30\xc6\1\x80\1\xc3\1\x80\1\xa4\1\x80\2\xad\1\xc6\1\xe2\a\xa1\1\x80\24\xa7\27\xb0\1\x80\33\xa7\1\xe2\24\x97\1\x80P\x97\1\xc6\1\xe2!\xc6\1\xe2\1\xc5\1\xc3\6\xa4\1\xc3\3\xa2\1\xc3\1\xa4\1\xc3\2\x80\4\xa7\24\xa1\1\x80\f\xe2\35\xa7\1\x80\27",
b"\x80\33\xe2\31\xa1\1\xc3\1\x80\1\xc3\1\x80\1\xa7\1\xe2\1\xad\1\xe2\3\xad\1\xe2\2\xad\1\x80\25\xa7\30\x80\33\xe2\1\xad\1\xe2\23\x80S\xe2\2\xad\1\xe2 \xc3\v\x9d\1\xc3\5\x90\1\x80\1\xe1\1\xb4\1\xa7\23\xa1\1\x80\v\xc6\1\xe2\32\xc6\1\xe2\1\xad\1\x80\30",
b'\x80\17\x9c\1\x80\2\xd2\1\x80\6\x90\1\xa4\1\xe2\31\xa7\1\xc3\3\xd0\1\xad\1\xe2\1\xad\1\xe2\6\xa4\1\x80\25\xa7\30\x80\33\xe2\25\x80T\xe2"\xc3\22\x80\1\xa4\1\xa2\1\xa7\23\xa1\1\x80\n\xe8\1\xad\3\xe2\33\x80\30',
b"\x80\17\xc3\1\x80\2\xc3\1\x80\6\xc3\2\xad\1\xe2\30\xc3\4\xc5\1\xe2\b\xad\1\x80\26\xa7\30\x80\33\xe2\24\xc6\1\x80T\xa4\1\xad\1\xe2\37\xc6\1\xc3\21\x80\1\x90\1\xc3\1\x80\1\xa4\1\xa7\22\xa1\1\x80\t\xa2\1\xe2\1\xad\1\xe2\33\xad\1\x80\31",
b"\x80\17\xc3\1\xa4\1\x9d\1\xc3\1\x80\1\xc3\2\x80\3\xc3\2\xad\1\xe2\30\xc3\3\xc6\1\xc0\1\xe2\b\xa7\1\x80\26\xa7\30\x80\33\xe2\21\xad\1\xe2\2\x80U\xe7\1\xa4\1\xe2\2\xad\1\xe2\34\xc5\1\xc3\23\x80\2\xa7\2\xc3\1\xa4\1\xa7\17\x9f\1\x80\t\xad\1\xe2\35\x80\32",
b"\x80\17\xc3\4\xb4\1\xc3\2\x80\1\xc3\1\xa1\1\xa7\1\xc3\1\xc6\1\xad\1\xe2\27\xc3\3\xad\1\xe2\t\x80\27\xa7\t\xa4\2\xa7\r\xe1\1\x80\31\xd2\1\xe2\23\xc6\1\x80O\xc3\1\x9c\1\x80\6\xad\1\xe2\36\xc3\25\x80\1\xb0\1\xc3\2\xa4\1\xa7\20\x80\b\xe2\2\xad\1\xe2\33\xad\1\x80\2\xc3\1\xe6\1\xd2\1\x80\25",
b"\x80\n\xc3\1\x80\5\xc3\6\x80\1\xb4\1\xc3\3\xc6\1\xe2\1\xad\1\xe2\26\xc3\1\xc6\1\xad\1\xe2\t\x80\30\xa4\1\xa7\26\xa4\2\x80\31\xa7\1\xe2\24\x80O\xc3\2\x9c\1\x80\5\xc6\1\xe2\36\xc3\24\xa4\1\xb0\1\xc3\3\xa7\21\x80\a\xe2\2\xad\1\xe2\34\xb0\1\x80\2\xc3\1\xa4\1\xc3\2\x80\24",
b"\x80\n\xc3\2\x80\5\xc3\5\x9d\1\xa2\1\xc3\3\xc5\1\xe2 \xad\1\xe2\2\xa4\1\x80\30\xa7\4\xa4\1\xa7\4\xc3\2\xa7\2\xa4\1\xa7\2\xa4\1\xc3\1\xa7\1\xa4\2\xa7\2\xc3\1\xa4\1\xc3\1\x80\30\xad\1\xe2\23\xb4\1\x80O\xc3\3\x80\5\xc5\1\xad\1\xe2\35\xc3\30\xa7\2\xa4\1\xa7\3\xa4\1\xa7\1\xa4\1\xa7\2\xa4\2\xa7\5\x80\6\xad\2\xe2\36\x80\4\xc3\3\x80\24",
b"\x80\n\xc3\2\x80\4\xc3\f\xad\1\xe2 \xad\1\xe2\1\xe9\1\x80\b\xe3\1\x80\t\xb7\1\xa2\1\x80\4\xa4\1\xa7\1\xa4\a\xc3\2\xa4\5\xc3\4\xa4\3\xc3\3\xa2\1\x80\27\xe2\24\x80M\xd0\1\x85\1\x80\1\xc3\3\x80\2\xe6\1\x80\1\xb4\1\xc5\1\xad\1\xe2\34\xad\1\xc5\1\xc3\27\xa4\v\xc3\2\xa4\5\x80\6\xe2\37\xc0\1\xb0\1\x80\1\xea\1\xc3\4\x80\24",
b'\x80\a\xa7\1\x90\1\x80\1\xc3\2\x80\1\xa7\1\x80\2\xc3\v\xc5\1\xe2"\xa7\1\xc3\1\x80\1\xdf\1\x90\1\x80\4\xa4\1\xb4\1\x80\1\xdf\1\x80\6\x9d\1\xa7\1\xdf\1\x80\4\xa4\1\xa7\1\xa4\2\xc3\2\xa4\3\xc3\2\xa4\5\xc3\5\xa4\2\xc3\3\x80\30\xe2\1\xad\1\xe2\21\xc5\1\x80M\xc3\3\x9d\1\xc3\3\x99\1\xc3\1\x80\1\xc3\2\xe2\1\xad\1\xe2\35\xc6\1\xc3\25\xa4\2\xc3\2\xa4\1\xc3\2\xa4\4\xc3\3\xa4\1\xc3\2\xa4\2\x80\5\xad\1\xe2\36\xad\1\xc3\3\xa4\1\xc3\3\x9d\1\x80\24',
b"\x80\5\xb4\1\xc3\3\xb4\1\xc3\3\xa4\1\xc3\1\xa1\1\xc3\v\xc5\1\xe2\1\xad\35\xe2\1\xad\2\xa7\1\x90\1\xc3\1\xe1\1\xc3\2\x80\3\xa4\1\xc3\1\xb4\1\xe1\1\xc3\1\xa2\1\x80\5\xc3\2\x80\5\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\1\xa4\1\xc3\t\xa4\2\x80\27\xad\23\x80M\xc3\r\xad\35\xe2\3\xc3\34\xa4\1\xc3\6\xa4\1\xc3\3\xa4\1\x80\1\xb0\1\xa1\1\x80\2\xe2\37\xc5\1\xc3\n\xa1\1\xc3\2\xdf\1\x80\16",
b'\x80\1\x90\1\xc3\a\xa4\2\xc3\20\xe2\1\xad\1\xe2\1\xad\34\xe2\1\xad\2\xc3\3\xa7\1\xc3\a\xa7\1\xa2\1\xc3\2\x80\2\xe1\1\x80\2\xc3\2\xa2\1\x80\4\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\r\xd2\1\xc3\1\xa7\1\xe5\1\x80\22\xdb\1\xad\22\xe2\1\x80L\xc3\16\xad\35\xe2\3\xc6\1\xc3"\xa4\1\xc3\4\x9f\1\xa4\2\x80\1\xa2\1\xad\37\xa4\1\xc3\n\x9c\1\xc3\2\x80\17',
b"\xa1\1\xc3\32\xad\1\xe2\1\xad\36\xc6\1\xc3\r\xb4\1\xc3\2\xb0\1\xa4\1\xc3\1\x80\1\xa2\1\xc3\1\xa1\1\xc3\1\xdf\1\x80\3\xa4\2\xc3\31\xa4\2\xc3\1\x80\23\xa2\1\xad\23\x80K\xc3\17\xad\35\xe2\4\xc3(\xa4\2\xc3\1\xad\37\xe2\1\xc3\f\xa7\1\x80\20",
b"\xc3\33\xc6\1\xad\1\xe2\1\xad\33\xe2\1\xc3\30\x80\1\xb4\1\xc3\1\xa2\1\x80\1\xc3\2\xa4\1\xc3\33\x80\24\xa7\1\xad\23\x80J\xc3\2\xa4\1\xc3\r\xad!\xc6\1\xc3)\xc5\1\xe2\1\xad\37\xc3\f\x80\1\xdf\1\xe1\1\x80\16",
b'\xc3\33\xc5\1\xad\36\xc3\26\xc5\2\x80\1\xb4\1\xc3\2\xb4\1\x9d\1\xc3\35\xe4\1\xa2\1\x80\22\xc6\1\xad\23\x80I\xa1\1\xa4\1\xc3\17\xad"\xc3)\xc6\1\xe2\1\xad\37\xc3\16\x80\2\xe1\1\x80\f',
b'\xc3\34\xad\36\xc3\26\xc5\2\x80\1\x9d\1\xc3"\x80\2\xa1\1\x80\20\xe2\1\xad\22\xb9\1\x80H\xc3\22\xad"\xc5\1\xc3(\xe2\1\xad\37\xe2\1\xc3\16\x80\1\xc3\2\x80\f',
b"\xc3\34\xad\36\xc3\25\xc5\3\xc3$\x80\1\xb4\1\xc3\1\x80\2\xdf\1\xc3\2\x80\v\xad\23\xb2\1\x80G\xa7\1\xc3\22\xad#\xc3(\xad!\xc3\16\x80\1\xc3\2\xa7\1\x80\1\xdf\1\xa7\1\xc3\2\x90\1\x80\5",
b"\xc3\34\xad\35\xe2\1\xc3\25\xc5\2\xc3%\x80\1\xc3\2\xe7\1\x80\1\xc3\3\x80\n\xb0\1\xe2\1\xad\22\xa1\1\x80F\xe4\1\xc3\23\xad#\xc3(\xad!\xc3\16\xdf\1\xc3\3\xe3\1\xc3\4\xdd\1\x80\5",
b"\xc3\34\xad\35\xc0\1\xa4\1\xc3\23\xc5\3\xc3%\xb4\1\xc3\3\xdd\1\xc3\3\x80\n\xc6\1\xad\23\xb8\1\x80E\xa7\1\xc3\24\xad#\xc3(\xad!\xc5\1\xc3\24\xa4\1\xc3\1\x80\6",
b"\xc3\34\xad\35\xa4\1\xc3\24\xc6\3\xc3,\x94\1\xa7\1\x80\1\xc3\1\x80\a\xad\24\xb0\1\x80D\xb4\1\xc3\24\xad#\xc3)\xad!\xe2\1\xc3\24\xa4\1\xc3\3\x80\4",
b'\xc3\34\xad\35\xc3\25\xc6\3\xc30\x80\2\xdd\1\xa1\1\x80\3\xad\24\xb8\1\x80C\xe9\1\xc3\23\xc5\1\xad#\xc5\1\xc3)\xad"\xc3\31\xa1\1\xe3\1\x80\1',
b"\xc3\34\xad\34\xc5\1\xc3\25\xc6\2\xc5\1\xc34\x80\2\xdf\1\xad\1\xe2\1\xad\22\x80C\x9d\1\xc3\23\xe2\2\xad\1\xe2\3\xad\37\xc3*\xe2\1\xad!\xc3\31\xa7\1\x80\2",
b"\xc3\33\xc5\1\xad\2\xe2\30\xad\2\xc3\25\xc6\3\xc3\4\xc5\1\xc0\1\xc6\2\xc5\1\xc3*\xa4\1\xa1\1\x80\2\xc6\1\xe2\1\xad\1\xe2\17\xad\1\xe2\1\xad\1\x80B\xc3\24\xe2%\xa4\1\xc3*\xad\2\xe2 \xc5\1\xc3\30\xb0\1\x80\2",
b"\xc3\33\xad\2\xe2\31\xad\1\xc5\1\xc3\24\xc5\1\xc6\1\xc0\2\xc3\2\xc0\1\xc6\b\xc3\23\xc6\1\xc3\23\xa4\1\xb0\1\x80\3\xe2\23\xad\2\x80A\xb4\1\xa4\1\xc3\22\xad\2\xe2!\xad\2\xc5\1\xc3+\xad\2\xe2\36\xad\1\xe2\1\xc5\1\xc3\33",
b'\xc3\33\xe2\1\xad\1\xe2\31\xad\1\xc3\25\xc6\23\xc5\1\xc3\r\xc6\1\xc0\1\xc3\24\xa1\1\x80\3\xad\1\xe2\21\xad\1\xe2\1\x9f\1\x80@\xc3\23\xa4\1\xad\1\xe2\1\xad\1\xe2"\xc5\1\xc3,\xad\1\xe2\37\xad\2\xc6\1\xc3\30\xa4\1\xc3\2',
b'\xc3\33\xad\1\xe2\1\xad\31\xe2\1\xc3\24\xad\1\xc6\27\xe2\1\xc6\b\xe2\1\xc5\1\xc3\27\xa1\1\xa7\1\xe2\24\x80?\xa7\1\xc3\23\xc5\1\xad#\xe2\1\xad\2\xc3-\xad"\xc6\1\xc3\33',
b'\xc3\33\xad\3\xe2\31\xc3\23\xc5\1\xe2\30\xad\6\xe2\1\xc6\2\xc5\1\xc3\30\x80\1\xe2\1\xad\24\x80>\xc3\25\xad\2\xe2"\xad\2\xa4\1\xc3-\xad\2\xe2\36\xad\2\xc5\1\xc3\33',
b"\xc3\33\xad\34\xc3\22\xc6\1\xe2\32\xad\2\xe2\3\xad\1\xc5\1\xc3\31\xb4\1\xc5\1\xad\24\xa1\1\x80=\xc3\25\xad\1\xe2\1\xad#\xe2\1\xc3/\xe2\1\xad!\xc3\34",
b"\xc3\33\xad\34\xc3\22\xe2\1\xad\a\xe2\2\xad\1\xe2\1\xad\3\xe2\4\xad\1\xe2\t\xc5\1\xc3\34\xb0\1\x80\1\xad\25\x80=\xa1\1\xc3\24\xad%\xeb\1\xa4\1\xc30\xe2\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\21\xad\2\xe2\a\xad\1\xe2\2\xad\1\xe2\1\xad\1\xe2\1\xad\1\xe2\4\xad\1\xe2\b\xc6\1\xa4\2\xc3\34\xad\25\x80<\xd0\1\xc3\24\xad\1\xe2\1\xad%\xc31\xc6\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\17\xa4\1\xc0\1\xad\2\xe2\1\xad\b\xc6\1\xc3\n\xc6\1\xe2\3\xad\4\xe2\1\xc5\1\xc3\34\xad\26\x80<\xc3\24\xad\1\xe2\2\xad$\xc33\xad\37\xe2\1\xc3\34",
b"\xc3\32\xad\34\xc6\1\xc3\v\xa4\1\xc3\3\xad\v\xc6\1\xc3\17\xad\a\xc0\1\xc3\33\xad\25\xa4\1\x80;\xc3\24\xad'\xa4\1\xc33\xad\37\xc6\1\xc3\34",
b"\xc3\32\xe2\1\xad\33\xc6\1\xc3\16\xad\1\xe2\1\xad\n\xc3\21\xc6\1\xad\6\xc3\33\xad\25\x80;\xea\1\xc3\23\xc6\1\xad&\xc35\xc5\1\xad\36\xe2\1\xc3\34",
b"\xc3\31\xc5\1\xad\34\xc6\1\xc3\f\xc0\1\xe2\2\xad\t\xc3\22\xa4\1\xc3\1\xad\2\xe2\1\xad\2\xe2\1\xad\1\xc3\31\xad\26\x80;\xc3\24\xad&\xc37\xad\36\xe2\1\xc3\34",
b"\xc3\31\xad\1\xec\1\xad\33\xe2\1\xc3\v\xc6\1\xad\b\xe2\1\xad\2\xc3\26\xad\1\xe2\1\xad\4\xc0\1\xc3\27\xad\1\xe2\1\xad\23\xe2\1\xad\1\x80:\xc3\24\xad%\xeb\1\xc38\xc6\1\xe2\1\xad\35\xc3\34",
b"\xc3\31\xec\1\xeb\1\xad\34\xc3\n\xa4\1\xad\v\xc6\1\xc3\26\xad\6\xeb\1\xc3\27\xeb\2\xad\25\x809\x9f\1\xc3\23\xc5\1\xeb\1\xad#\xec\1\xc5\1\xc38\xc5\1\xad\36\xc3\34",
b"\xc3\30\xe2\1\xad\36\xc3\t\xc6\1\xeb\1\xad\n\xc3\30\xad\b\xa4\1\xc3\24\xad\1\xec\1\xad\23\xe2\1\xad\2\x809\xc3\23\xc5\1\xeb\1\xad$\xc6\1\xc3:\xad\34\xe2\1\xeb\1\xe2\1\xc3\33",
b'\xc3\30\xec\1\xad\35\xe2\1\xc3\b\xc5\1\xad\1\xeb\1\xad\a\xec\1\xe2\1\xc5\1\xc3\30\xad\2\xeb\1\xec\2\xad\3\xe2\1\xc3\21\xa4\2\xc3\1\xad\26\xe2\2\x808\xc3\20\xa4\1\xc3\3\xe2\1\xad"\xeb\1\xad\1\xc0\1\xc3;\xc6\1\xad\34\xeb\1\xad\1\xc3\33',
b"\xc3\27\xc5\1\xad\36\xe2\1\xc3\b\xad\1\xe2\1\xad\b\xe2\1\xad\1\xc3\31\xad\1\xeb\1\xad\1\xc6\2\xe2\1\xad\1\xec\2\xc3\23\xad\26\xe2\2\xa4\1\x807\xc3\22\xa4\1\xc3\1\xc5\1\xec\1\xad#\xe2\1\xc3=\xad\34\xeb\1\xe2\1\xc3\33",
b"\x80\27\x87 \x80\a\x84\2\x87\t\x84\1\x80\32\x87\3\x80\3\x87\2\x84\1\x80\22\x87\30\x84\1\x80K\x87&\x80>\x84\1\x87\33\x84\1\x87\2\x80\32",
b"\x80\26\x84\1\x87 \x80\6\x84\b\x87\1\x84\3\x80\33\x84\2\x80\5\x87\1\x84\2\x80\20\x87\32\x80J\x84\1\x87%\x80?\x87\1\x84\1\x87\34\x84\1\x80\32",
b"\x80\26\x87!\x80\5\x84\1\x87\1\x84\b\x87\1\x84\1\x80\33\x84\1\x87\2\x80\a\x84\1\x87\1\x80\16\x84\1\x87\2\x84\1\x87\26\xc7\1\x80H\x8e\1\x87%\x80A\x87\2\x84\1\x87\35\x80\31",
b'\x80\25\x84\1\x87 \x80\5\x87\1\x84\f\x80\33\x84\2\x80\b\x84\2\x87\1\x80\f\x84\1\x87\31\x84\2\x80G\x88\1\x84\1\x87\2\x84\1\x87"\x80B\x84\1\x87\34\x84\1\x87\2\x80\30',
b"\x80\25\x87\36\x84\1\x87\1\x80\5\x84\v\x87\1\x84\1\x80\33\x84\2\x80\n\x87\2\x80\v\x87\35\x80F\x84\1\x87\6\x84\2\x87\33\x84\2\x87\1\x80C\x87\1\x84\1\x87\37\x80\27",
b'\x80\25\x87\37\x80\5\x87\1\x84\f\x80\33\x84\2\x87\1\x80\f\x84\1\x87\1\x80\a\x87 \x80D\x84\1\x87\2\x84\1\x87"\x80\v\xed\n\xb7\1\x80/\x84\1\x87 \x80\27',
b"\x80\24\x84 \x80\4\x88\1\x84\r\x80\33\x84\2\x80\r\x84\2\x80\6\x87\1\x84 \x80C\x84\b\x87\1\xcd\1\x87\1\x84\33\x80\t\xed\1\xd5\1\xd4\1\xd5\b\xd4\1\xd5\4\x80-\x87\1\x84\37\x87\1\x84\1\x80\26",
b"\x80\24\x84\37\x80\4\x84\r\x87\1\x80\34\x84\2\x80\16\x84\2\x80\3\xcd\1\x87\1\x84\22\x87\1\x84\2\x87\1\x84\v\x80B\x88\1\x84\b\xd5\3\x84\32\x80\6\xe8\1\xd5\26\x80*\x84\6\x87\2\x84\33\x80\25",
b'\x80\23\x87\2\x84\36\x80\3\x84\17\x80\33\x84\3\x80\17\x84\2\x80\1\x84\2\x87\1\x84"\x80A\x84\2\x87\1\x84\6\x87\1\xd5\2\xcd\1\x84\30\x80\3\xd5\35\x80(\x84$\x80\24',
b"\x80\23\x84 \x80\1\x84\16\x87\1\x84\1\x80\34\x84\3\x80\20\x84\1\x87\1\x84%\x80@\x84\v\xd5\3\xcd\1\x84\22\x87\1\x84\1\xcd\2\xd6\1\xd5!\x80'\x87\1\x84#\x87\1\x80\23",
b"\x80\23\x84\35\x87\1\x84\2\x87\1\x84\20\x80\34\x88\1\x80\22\x84'\x80?\x87\1\x84\f\xee\1\xd5\4\xcd\2\xc7\1\xcd\5\xee\2\xd6\1\xd5*\xd6\2\xd5\1\x80$\x8e\1\x84'\x80\21",
b'\x80\22\x8e\1\x84\1\x87\1\x84\35\x87\1\x80?\x84(\x87\1\x80>\x84\1\x87\1\x84\t\x87\3\xc7\1\xd6\1\xd5\3\xd6\1\xd5\t\xd6\1\xd5)\xd6\2\xef\1\xd6\1\xd4\1\x80"\x87\1\x84\1\x87\1\x84$\x87\1\x84\1\x80\20',
b"\x80\22\x87\1\x84 \x80?\x84)\x87\1\x80<\x87\1\x84\17\x87\1\xd6\2\xd5\1\xd64\xee\4\xd6\2\x80!\x84'\x87\3\x80\17",
b"\x80\22\x84\36\x87\1\x84\1\x88\1\x80>\x84*\x87\1\x80<\x84\22\x87\1\xee<\x80\37\x87\1\x84+\x80\16",
b"\x80\21\x87\1\x84 \x80>\x84\1\x87\1\x84*\x80;\x87\1\x84\22\x87\3\xee<\x80\33\x84\1\x87\2\x84,\xcd\1\x80\f",
b"\x80\21\x84\37\x87\1\x84\1\x80>\x84\1\x87\1\x84*\x80;\x84\27\x87\1\xee;\x80\32\x840\x80\f",
b"\x80\20\x84 \x87\1\x84\1\x87\1\x80<\x87\1\x84,\x80;\x84\32\x87\2\xcd\3\xee6\x80\27\x842\x80\v",
b"\x80\20\x84\1\x87\1\x84\37\x87\1\x84\1\x80<\x87\1\x84-\x809\x84\35\x87\1\xcd\1\xee\23\xcd\1\xee\2\xcd\1\xee\1\xcd\1\xee\1\xcd\2\xee\1\xcd\1\xee\2\xcd\2\xee\22\xcd\2\xee\1\xcd\1\x80\25\x844\x88\1\x80\t",
b"\x80\17\x84$\x87\1\x80;\x84.\x809\x84\36\xee\1\xcd\1\xee\31\x80\4\xe9\1\xee\1\xcd\1\xee\30\x80\24\x87\1\x843\xf0\1\x80\t",
b"\x80\17\x84$\x87\1\x80:\x84.\x80:\x84\32\x87\1\x84\2\xee\1\xcd\f\xee\1\xcd\5\x80\22\xcd\27\x80\22\x87\1\x84\1\x87\1\x843\x87\1\x80\b",
b"\x80\16\x87\1\x84%\x87\1\x808\x84/\x8e\1\x808\x84\35\xcd\20\x80\30\xcd\27\x80\20\x847\x80\b",
b"\x80\16\x87\1\x84$\x87\3\x807\x84/\xcd\1\x808\x84\33\x87\1\xcd\17\x80\33\xcd\27\x80\17\x84\1\x87\2\x843\x87\1\x84\1\x80\a",
b"\x80\r\x84)\xc7\1\x806\x84/\x88\1\x808\x84\f\xec\a\x84\b\xc7\1\xcd\r\x80\37\xcd\26\x80\r\x849\xcd\1\x80\6",
b"\x80\r\x84,\x803\x84\f\x87\3\x84\20\xec\2\x84\a\xec\a\x84\2\x807\x87\1\x84\t\xec\17\x84\2\x87\1\xcd\r\x80!\xee\1\xcd\26\x80\n\x84\4\xec\v\x84\24\xec\2\x84\r\xec\1\x84\1\xec\2\x84\5\x80\6",
b"\x80\f\x84\f\xec\20\x84\t\xec\4\x84\5\x802\x84\v\x87\5\x84\b\xec\31\x807\x84\a\xec\23\x84\1\xcd\16\x80#\xcd\25\x80\n\x84\1\xec\34\x84\4\xec\4\x84\f\xec\n\x80\6",
b"\x80\v\x88\1\x84\b\xec\27\x80\3\xf0\1\x84\2\xec\n\xdb\1\x80/\xf1\1\xec\a\x84\3\xc7\1\x87\2\x80\3\xc7\1\x84\2\xec\36\x807\xec\32\xcd\22\x80!\xcd\25\x80\t\xec%\x84\n\xec\f\x80\6",
b"\x80\v\xec \x80\6\xed\1\xec\v\x80-\xec\t\x84\1\x87\1\xc7\1\x87\1\x80\a\xec \x804\xec\34\xcd\r\xec\1\xcd\a\x80\37\xcd\25\xcc\1\x80\6\xec%\x80\n\xec\r\x80\6",
b"\x80\n\xec!\x80\a\xcd\1\xec\n\x80-\xec\t\xcd\3\x80\b\xec \x803\xec\33\xcd\17\xec\3\xcd\a\x80\36\xcd\25\x80\6\xec%\x80\v\xcd\1\xec\v\x80\6",
b'\x80\t\xec"\x80\b\xcd\1\xf1\1\xec\n\x80+\xec\t\xcd\2\x80\n\xec \x801\x9e\1\xf2\1\xec\31\xcd\17\xec\a\xcd\6\x80\35\xcd\25\x80\4\xec&\x80\f\xec\f\x80\5',
b"\x80\t\xec\17\xcd\a\xec\f\x80\b\xcd\3\xec\t\x80+\xec\b\xcd\2\x80\v\xec\25\x80\2\xec\t\x800\xec\f\xad\1\xec\2\xd5\1\xf3\1\x80\a\xec\4\xcd\17\xec\t\xcd\6\xd2\1\x80\33\xcd\25\xf4\1\x80\2\xec&\x80\r\xec\v\x80\5",
b"\x80\b\xec\r\xcd\v\xf5\1\xec\n\x80\t\xcd\3\xec\t\x80)\xb7\1\xec\a\xcd\3\x80\v\xec\24\x80\3\xec\n\x80.\xec\r\xb7\1\xcd\3\x80\t\xec\2\xcd\20\xec\v\xcd\6\x80\33\xcd\25\x80\1\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\b\xec\n\xcd\3\x80\2\xcc\1\xd1\1\xcd\b\xec\n\x80\t\xcd\4\xd6\1\xec\a\x80)\xec\a\xcd\3\x80\f\xec\22\x80\6\xec\t\x80-\xec\f\xcd\4\x80\v\xec\1\xcd\20\xec\16\xcd\a\x80\30\xcd\26\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\a\xec\t\xcd\3\x80\n\xcd\5\xec\n\x80\t\xcd\4\xec\b\x80(\xec\6\xcd\3\x80\r\xec\16\xcd\4\x80\a\xec\t\x80,\xec\v\xcd\4\x80\f\xcd\21\xec\21\xcd\t\xd2\1\x80\23\xcd\26\xec&\x80\17\xee\1\xec\b\x80\5",
b"\x80\a\xec\b\xcd\3\x80\3\xb7\1\x80\b\xcd\4\xec\n\x80\n\xcd\4\xec\b\x80&\xec\a\xcd\3\x80\r\xec\v\xee\1\xcd\6\x80\a\xec\t\x80+\xec\v\xcd\4\x80\r\xcd\21\xec\23\xcd\v\x80\21\xcd\25\xec\22\x80\2\xec\22\x80\17\xcd\1\xee\1\xec\a\x80\5",
b"\x80\a\xec\a\xcd\3\x80\1\xd0\1\x80\2\xea\1\x80\3\xe7\1\x80\4\xcd\5\xec\n\x80\t\xcd\5\xec\a\x80&\xec\a\xcd\3\x80\f\xcd\1\xec\b\xcd\3\x80\1\xcd\6\x80\b\xec\t\x80)\xec\n\xcd\5\x80\r\xcd\22\xec\26\xcd\f\x80\16\xcd\25\xec\5\x80\4\xec\a\xcd\1\xee\1\x80\4\xec\16\xef\1\xcd\2\x80\r\xcd\2\x8e\1\xec\6\x80\5",
b"\x80\6\xec\a\xcd\3\x80\5\xd4\1\x80\4\xd4\1\x80\3\xcd\6\xec\t\x80\t\xcd\6\xec\a\x80$\xec\a\xcd\4\x80\v\xcd\2\xec\6\x80\2\xcd\3\x80\2\xcd\5\x80\b\xec\t\x80(\xec\n\xcd\1\xd4\3\x80\16\xcd\23\xec\31\xcd\f\xe7\1\x80\v\xcd\25\xec\3\x80\6\xec\5\x80\1\xcd\2\x80\4\xe7\1\xee\1\xec\f\xcd\3\x80\r\xcd\2\x80\2\xec\5\x80\5",
b"\x80\6\xec\6\x80\1\xcd\3\x80\1\xe8\1\x80\3\xea\1\x80\4\xd5\1\x80\3\xcd\a\xec\t\x80\t\xcd\3\xd5\1\xcd\1\xec\a\x80 \xea\1\xe8\1\x80\2\xec\a\xcd\3\x80\v\xcd\3\xec\5\x80\3\x8e\1\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80&\xec\n\xcd\3\xe8\1\xe7\1\x80\r\xea\1\xcd\23\xec\34\xcd\6\xec\1\xcd\4\x80\n\xcd\26\xec\1\x80\a\xec\5\x80\1\xcd\1\x8e\1\x80\4\xcd\2\xec\v\x80\1\xcd\4\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\6\xea\1\xcd\2\x80\2\xef\1\x80\4\xe5\1\x80\3\xef\1\x80\2\xd4\2\xcd\5\xe7\1\xe5\1\xec\b\x80\t\xcd\3\xef\1\xcd\1\xea\1\xec\a\x80#\xec\6\xcd\4\x80\2\xef\2\xd5\1\x80\6\xcd\2\xec\6\x80\4\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80\v\xe9\1\x80\31\xec\n\xcd\4\x80\2\xe9\1\x80\f\xcd\f\x80\2\xcd\6\x80\1\xec\37\xcd\2\xec\2\xcd\5\xe4\1\x80\b\xcd\26\x80\6\xec\5\x80\1\xcd\2\x80\5\xcd\2\x80\1\xec\t\x80\3\xcd\3\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\5\x80\1\xcd\3\x80\1\xe4\1\x80\5\xee\1\x80\3\xee\1\x80\1\xcd\1\xd5\1\xd4\1\xcd\5\x80\2\xec\n\x80\b\xcd\2\xd4\1\xcd\2\x80\1\xec\a\x80!\xec\a\xcd\3\x80\6\xef\1\x80\5\xcd\2\xec\5\x80\5\xcd\2\x80\3\xcd\5\x80\b\xec\t\x80\v\xee\1\x80\30\xec\t\xcd\3\xd4\1\xcd\2\x80\2\xee\1\x80\2\xee\1\x80\t\xcd\r\x80\1\xcd\6\x80\2\xec\n\x80\1\x8e\1\xec\25\xee\1\xec\1\xcd\6\x80\b\xcd\26\x80\1\xe4\1\x80\3\xec\4\x80\2\xcd\1\x80\6\xcd\2\x80\2\xec\a\x80\4\xcd\3\x80\f\xee\1\xcd\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\6\x80\1\xcd\3\x80\a\xee\1\xe4\1\x80\2\xe4\1\x80\1\xcd\1\xef\2\xcd\4\x80\3\xec\1\x80\1\xec\b\x80\b\xcd\5\x80\2\xec\6\x80!\xee\1\xec\6\xcd\3\x80\v\xcd\2\xd4\1\xec\1\xee\1\xec\2\x80\6\xcd\2\x80\3\xcd\5\x80\a\xe4\1\x80\1\xec\b\x80\v\xee\1\x80\27\xec\n\xcd\3\xee\1\xcd\2\x80\17\xcd\24\x80\2\xec\b\x80\3\xcd\3\x80\2\xec\20\xad\1\xee\1\xec\4\xcd\4\x80\a\xcd\26\xef\1\x80\3\xec\5\x80\1\xcd\1\x80\a\xcd\2\x80\2\xec\4\xf6\1\xec\2\x80\4\xcd\3\x80\f\xcd\1\xee\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\a\xee\2\x80\3\xd4\1\xcd\1\xd5\1\xee\1\xcd\3\x80\4\xec\1\x80\2\xec\b\x80\a\xcd\2\xd4\1\xcd\2\x80\2\xec\6\x80\30\xe9\1\x80\3\xee\1\x80\4\xee\1\xec\5\xcd\4\x80\6\xee\1\x80\4\xcd\2\xec\2\xcd\1\xee\1\xec\1\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\t\x80\1\xee\1\x80\b\xee\1\x80\n\xee\1\x80\5\x8e\1\x80\4\xec\1\x80\1\xec\6\x80\3\xec\1\xcd\3\xee\1\xcd\2\x80\1\xee\1\x80\4\xee\1\x80\a\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\2\xec\6\x80\4\xcd\4\x80\5\xec\r\xee\2\xec\t\xcd\1\x80\6\xcd\26\x80\2\xec\5\x80\2\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\xec\1\x80\5\xcd\2\xee\1\x80\v\xee\1\xcd\2\x80\5\xec\2\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\2\xef\1\x80\4\xee\2\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\2\x80\a\xec\2\x80\1\xec\a\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xef\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\4\xee\1\xec\1\xcd\4\x80\v\xcd\2\xec\5\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\4\x80\2\xec\3\x80\n\xee\1\x80\v\xee\1\x80\4\xee\1\x80\4\xec\a\x80\4\xec\1\xcd\3\xd5\1\xcd\1\xe5\1\xef\2\x80\f\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\1\xec\6\x80\5\xcd\4\x80\a\xec\b\x80\2\xe4\1\xee\1\xcd\1\xec\f\x80\5\xcd\26\xec\5\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\x80\6\xcd\2\xef\1\x80\2\xe5\1\x80\b\xee\1\xcd\2\x80\5\xec\2\x80\1\xe4\1\x80\3",
b"\x80\4\xec\6\x80\2\xcd\3\x80\2\xe4\1\x80\4\xee\1\xef\1\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\1\xee\1\x80\a\xec\2\x80\1\xe4\1\xec\6\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xee\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\5\xe8\1\xcd\4\x80\5\xee\1\x80\5\xcd\2\xef\1\xec\4\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\xee\1\xef\1\xe4\1\xee\1\x80\20\xe5\1\x80\4\xec\6\x80\5\xec\1\xcd\5\x80\1\xee\1\xef\1\x80\v\xcd\b\x80\2\xcd\4\x80\1\xcd\b\xec\5\x80\6\xcd\4\x80\b\xec\6\x80\3\xee\1\xef\1\xcd\2\x80\4\xec\n\x80\3\xcd\26\xec\3\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\4\x80\1\xef\1\xee\2\x80\3\xcd\2\x80\b\xe9\1\x80\2\xee\1\xe4\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\6\x80\1\xcd\4\x80\6\xee\2\x80\2\xcd\2\xef\1\xcd\2\xee\1\x80\4\xee\1\x80\2\xe9\1\x80\1\xec\2\x80\3\xec\5\x80\6\xe4\1\xcd\5\x80\1\xec\1\x80\1\xec\5\x85\1\x80\v\xef\1\x80\2\xef\1\x80\a\xef\1\xe4\1\x80\5\xad\1\xee\1\xec\5\x80\1\xcd\3\xea\1\x80\5\xef\1\x80\5\xcd\2\xe8\1\xec\2\xef\1\xec\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\2\xec\4\x80\5\xee\1\x80\3\xef\1\x80\f\xe4\1\x80\b\xec\6\x80\5\xec\1\xcd\2\xee\1\xcd\2\x80\1\xee\2\x80\t\xcd\n\x80\2\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\b\xec\6\x80\3\xee\2\xcd\2\x80\a\xec\b\x80\2\xcd\22\xef\1\xcd\4\xef\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\4\xe4\1\xef\1\x80\2\xcd\2\x80\3\xee\1\x80\4\xef\1\x80\2\xee\1\xea\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\5\x80\2\xcd\3\xea\1\x80\3\xef\1\x80\2\xd5\1\xef\1\x80\2\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe4\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xe4\1\xe9\1\xcd\2\xef\1\xcd\2\x80\1\xe4\1\x80\2\xec\5\x80\v\xef\1\x80\n\xef\1\x80\2\xef\1\x80\3\xec\1\xad\1\xec\4\x80\2\xcd\3\xd0\1\x80\5\xef\1\x80\5\xcd\3\xec\3\xe5\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xef\1\x80\1\xec\4\x80\3\xec\4\x80\3\xd5\1\x80\21\xe9\1\xef\1\x80\2\xe9\1\x80\4\xec\5\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\b\xcd\v\x80\1\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\t\xec\5\x80\4\xef\1\xcd\2\x80\b\xcd\1\xec\b\x80\1\xcd\24\x80\1\xef\1\xcd\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xef\1\x80\2\xcd\2\x80\b\xef\1\x80\2\xef\1\x80\1\xcd\1\x80\5\xec\2\xad\1\xec\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\xe7\1\x80\3\xef\1\x80\2\xef\1\x80\3\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe5\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xef\1\x80\1\xe7\1\xcd\1\xd4\1\xcd\2\x80\4\xec\5\xe4\1\x80\n\xef\2\x80\t\xef\1\x80\2\xef\1\x80\3\xec\6\xe4\1\x80\1\xcd\3\xef\1\x80\5\xef\1\x80\5\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe5\1\xec\4\x80\3\xec\4\x80\3\xef\1\x80\3\xd5\1\x80\16\xef\1\x80\1\xef\1\x80\3\xec\a\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\2\xcd\1\x80\3\xe5\1\xcd\f\xe4\1\xcd\5\x80\2\xcd\6\xec\3\x80\b\xcd\4\x80\t\xec\5\x80\4\xd5\1\xcd\2\x80\b\xcd\3\xec\6\x80\2\xcd\24\xef\1\xcd\2\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\x80\2\xcd\1\xc8\1\x80\b\xe4\1\x80\2\xef\1\xd0\1\xcd\1\x80\5\xec\3\xad\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\x80\4\xd5\1\x80\2\xee\1\x80\3\xcd\2\xef\1\xcd\2\xd5\1\x80\6\xd5\1\xef\1\x80\1\xec\2\x80\3\xec\6\x80\a\xcd\2\xd4\1\xcd\1\xe7\1\x80\3\xec\6\x80\n\xef\2\x80\4\xef\1\x80\4\xef\1\x80\2\xef\1\x80\2\xec\2\xad\1\xec\4\x80\2\xcd\3\xe9\1\x80\5\xd5\1\xef\1\x80\4\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe4\1\xec\4\x80\2\xe5\1\x80\1\xec\3\x80\3\xe9\1\x80\3\xef\1\x80\r\xd5\1\x80\2\xd5\1\x80\3\xec\a\x80\6\xec\1\xcd\1\xe8\1\xef\1\xcd\1\xe9\1\x80\2\xe5\1\xef\1\x80\2\xcd\1\x80\2\xcd\v\x80\2\xcd\b\x80\1\xcd\a\xec\2\x80\b\xcd\4\x80\n\xec\4\x80\4\xd5\1\xcd\2\x80\t\xcd\3\xec\6\x80\1\xcd\21\xef\2\xcd\1\xef\1\xcd\3\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\xe9\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\x80\3\xee\1\x80\5\xef\1\x80\1\xef\1\xe5\1\xcd\1\x80\5\xad\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\2\xe9\1\xd6\1\xee\4\x80\2\xe7\1\xcd\2\xef\1\xcd\2\xe9\1\x80\6\xef\1\xe4\1\x80\2\xec\1\x80\3\xe5\1\xec\6\x80\6\xcd\2\xef\1\xcd\2\x80\4\xec\5\x80\n\xef\2\x80\1\xd5\1\x80\a\xef\1\x80\2\xef\1\x80\2\xec\a\x80\2\xcd\3\x80\6\xef\2\xe5\1\x80\3\xcd\3\xec\1\xad\1\xef\1\xe5\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xef\1\xec\5\x80\1\xe9\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xe5\1\x80\b\xef\1\x80\3\xe9\1\xef\1\x80\2\xec\a\x80\6\xec\1\xcd\1\xc8\1\xef\1\xcd\1\x80\4\xd5\1\x80\2\xcd\1\x80\1\xcd\f\x80\2\xcd\6\x80\2\xcd\b\xec\2\x80\b\xcd\4\x80\n\xec\5\x80\2\xef\2\xcd\2\x80\t\xcd\3\x80\2\xec\5\x80\1\xcd\17\xef\2\xcd\3\xef\1\xcd\4\x80\1\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\2\x80\5\xcd\1\xef\1\x80\4\xee\1\x80\4\xef\1\x80\1\xe9\1\xe5\1\xcd\1\x80\3\xee\2\x80\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\1\xd6\1\xee\1\xd6\1\xee\1\xd6\3\xee\1\xd6\1\xee\1\xd4\1\xcd\1\xef\1\xcd\2\xe4\1\x80\4\xef\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\6\xcd\2\xd4\1\xcd\2\x80\4\xec\6\x80\t\xee\2\x80\1\xee\1\x80\a\xd6\1\x80\2\xee\1\x80\1\xe4\1\xec\3\xee\1\xec\2\xd6\1\x80\2\xcd\3\xef\1\x80\6\xd6\1\xef\1\x80\3\xcd\3\xec\3\xef\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xe9\1\xec\5\x80\1\xef\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xef\1\x80\b\xef\1\x80\4\xef\1\xe4\1\x80\1\xec\a\x80\6\xcd\3\xef\1\xcd\1\x80\4\xef\1\x80\2\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\5\xee\1\x80\5\xec\4\x80\2\xd5\1\xef\1\xcd\2\x80\t\xcd\3\x80\2\xe4\1\xec\4\x80\1\xcd\17\xef\1\xcd\5\xef\1\xcd\5\x80\a\xcd\2\x80\3\xec\3\x80\1\xd5\1\xef\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\xe5\1\x80\3\xef\1\x80\3\xe4\1\xee\1\x80\3\xcd\1\x80\2\xd6\1\xee\2\xd6\1\xec\2\xee\1\x80\3",
b"\x80\3\xec\a\xea\1\xcd\2\xee\17\xcd\2\x80\5\xee\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xd4\1\xcd\3\xee\1\x80\3\xe4\1\xec\5\x80\t\xee\1\x80\2\xee\2\x80\6\xe4\1\x80\2\xee\1\x80\1\xec\4\xee\1\xec\2\xee\1\xe4\1\x80\1\xcd\3\xee\1\x80\6\xee\2\x80\3\xcd\3\xec\3\xee\1\x80\6\xcd\2\x80\4\xcd\5\xe5\1\x80\6\xec\6\xee\2\x80\3\xec\3\x80\2\xe9\1\x80\1\xe4\1\xee\1\x80\f\xe9\1\x80\5\xee\1\x80\1\xec\a\x80\1\xec\1\x80\3\xd1\1\xcd\3\xee\1\xcd\1\x80\3\xef\1\xee\1\x80\1\xe9\1\xee\2\xcd\v\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\3\xef\1\xcd\2\x80\5\xec\2\xee\1\x8e\1\xe9\1\x80\1\xee\2\xcd\2\x80\3\xe5\1\x80\6\xcd\1\xd4\1\xcd\1\x80\3\xec\4\x80\1\xcd\16\xee\1\xcd\5\xee\1\xcd\6\x80\6\xcd\2\x80\3\xec\3\x80\1\xee\1\xef\1\x80\2\xe9\1\x80\2\xcd\1\xee\1\x80\3\xee\2\x80\3\xef\1\xee\1\x80\2\xe4\1\xcd\1\x80\1\xee\6\xec\2\x80\3",
b"\x80\3\xec\6\x80\1\xd1\1\xed\1\xcd\22\x80\1\xee\1\x80\2\xef\1\xe9\1\xe4\1\x80\4\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xcd\3\xee\1\x80\4\xec\5\x80\t\xee\1\x80\3\xee\1\x80\1\xee\1\x80\a\xee\1\xec\4\xee\2\xec\1\x80\1\xe4\1\xef\1\x80\1\xcd\3\x80\1\xee\1\x80\5\xee\2\x80\3\xcd\3\xec\4\x80\6\xcd\2\x80\4\xcd\5\x80\1\xe9\1\x80\1\xee\1\xe5\1\xe4\1\x80\1\xec\6\xe4\1\xee\2\x80\2\xec\3\x80\1\xe9\1\xe5\1\x80\2\xee\1\xe4\1\x80\3\xe9\1\x80\a\xee\1\x80\4\xee\2\x80\1\xec\5\x80\1\xcd\4\xee\1\x80\1\xec\1\xcd\3\xee\1\x80\3\xee\3\xef\1\xee\1\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\xe5\1\x80\a\xcd\4\x80\2\xcd\4\x80\5\xec\3\xee\2\x80\1\xee\2\xcd\2\x80\n\xef\1\xee\1\xcd\1\x80\4\xec\4\xcd\36\x80\3\xcd\2\x80\2\xe9\1\xec\3\x80\1\xee\1\xe9\1\x80\2\xee\1\x80\2\xcd\1\xee\1\x80\2\xe5\1\xee\2\x80\3\xee\2\xef\2\xcd\1\xd6\1\xcd\b\x8e\1\xe9\1\x80\2",
b"\x80\2\xec\a\x80\1\xee\1\xcd\25\xef\1\x80\1\xef\1\xe5\1\x80\5\xec\2\x80\3\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xef\1\xcd\2\xee\1\xef\1\x80\3\xef\1\xec\5\x80\b\xcd\1\x80\3\xcd\1\x80\1\xee\1\x80\3\xe9\1\x80\3\xcd\1\xad\1\xec\1\xad\1\xec\1\xcd\2\xec\1\x80\2\xee\1\x80\1\xcd\3\x80\1\xcd\1\x80\4\xcd\2\xef\1\x80\3\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\4\xcd\5\x80\1\xcd\5\x80\1\xec\6\x80\1\x8e\1\xee\1\x80\2\xec\3\x80\1\xee\1\x80\3\xee\1\xef\1\x80\3\xe6\1\x80\a\xee\1\x80\3\xcd\1\xee\1\x80\1\xec\6\x80\1\xcd\a\xec\1\xcd\3\x80\3\xee\1\xcd\1\xee\1\xef\2\xcd\f\x80\3\xee\2\xcd\5\x80\1\xe9\1\xee\1\xcd\4\xee\1\xcd\b\xee\1\x80\3\xcd\4\x80\1\xcd\a\x80\3\xcd\1\xec\1\xad\1\xcd\2\xee\1\xcd\1\xee\1\xcd\2\xef\1\xcd\1\xef\1\x80\a\xcd\3\x80\4\xec\4\x80\1\xcd\35\x80\3\xcd\2\x80\2\xef\1\xec\3\x80\1\xee\1\x80\3\xee\1\x80\2\xcd\1\xee\1\x80\2\xee\1\xcd\1\x80\4\xcd\17\xee\1\x80\2",
b"\x80\2\xec\a\xcb!\xcd\1\x80\3\xec\6\x80\3\xcd\1\x80\2\xcd\5\x80\1\xcd\1\x80\4\xec\5\x80\a\x8e\1\xcd\1\x80\3\xe9\1\x80\1\xee\1\xe9\1\x80\2\xcd\1\x80\3\xcd\1\xec\3\xcd\3\xe6\1\x80\2\xcd\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xe6\1\xcd\2\x80\3\xe9\1\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\3\xcd\6\x80\1\xcb\5\xe9\1\xec\6\x80\2\xcd\1\x80\3\xad\1\xec\2\xcd\1\x80\3\xcd\2\x80\f\xcd\1\x80\1\xee\1\xcd\1\x80\2\xe6\1\xec\1\xcd\1\xec\3\xcb\n\xcd\2\x80\3\xcd\2\xee\1\x8e\2\xcb\5\xcd\a\x80\3\xcd\a\x80\1\xcd\1\xe4\1\xee\1\xcb\17\x80\1\xcb\f\xcd\1\x80\2\xcd\2\xee\1\xcd\5\xd5\1\xee\1\xcd\2\x80\2\xe9\1\xee\1\xcd\1\x80\2\xcd\2\xd5\1\xcd\1\x80\5\xec\4\x80\1\xcd\6\xcb\t\xcd\a\xcb\5\xcd\1\x80\3\xcd\2\x80\2\xec\4\x80\1\xcd\1\x80\3\xef\1\x8e\1\x80\1\xcd\1\xee\1\x80\2\xcd\1\xee\1\x80\4\xcb\17\xcd\1\x80\2",
b"\x80\2\xec\4\xad\1\xcb\1\xf7\2\xf0\2\xf7\34\xf0\1\xc7\1\xf7\1\x8e\1\x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xcb\1\xcd\2\x80\1\xc7\1\x80\2\xe9\1\xc7\1\xec\6\x80\6\xc7\1\x80\4\x8e\1\x80\2\xe9\1\x80\1\xc7\2\x80\3\xc7\1\xcd\3\xc7\1\xcb\1\xcd\1\x80\3\xc7\1\xe4\1\xcd\3\x80\1\xc7\1\x80\3\xc7\2\xcd\1\x80\4\xcd\5\xcb\1\x80\a\xcd\2\x80\3\xc7\1\x80\1\xcd\3\xc7\1\xf0\1\xcb\1\xf7\4\xc7\1\xf0\1\xf7\1\xf0\1\xec\3\x8e\1\xcb\2\x80\3\xec\1\xcd\1\xc7\1\x80\4\xc7\1\xcb\1\x80\2\xcb\1\x80\b\xc7\1\xe6\1\x80\1\xc7\1\x80\3\xe6\1\xcd\1\xc7\1\xcd\2\xec\1\xc7\1\xf0\1\xf7\6\xcb\1\xf0\1\xf7\1\xc7\1\xf7\2\xcd\1\xc7\1\xcb\1\xcd\3\xf7\3\xf0\1\xcb\1\xf7\1\xf0\1\xcd\5\x80\3\xcb\1\xc7\1\xcd\4\x8e\1\xe6\1\xc7\1\xf7\17\xf0\1\xc7\1\xf7\2\xf0\1\xf7\v\x8e\1\x80\1\x8e\1\xcb\1\xc7\1\x8e\1\xcb\3\xc7\2\xcb\2\x80\1\xc7\2\xcb\1\xc7\1\x80\1\x8e\1\xcb\1\xc7\1\xee\1\xcd\3\x80\1\xcb\1\x80\2\xec\4\x80\1\xcd\5\xf0\1\xf7\6\xf0\1\xf7\3\xf0\2\xcb\2\xf0\1\xcb\1\xf7\4\xcb\1\xcd\1\x80\3\xcd\2\x80\2\xec\1\xc7\1\xec\2\xe6\1\xc7\1\x80\4\xcb\1\x80\1\xc8\1\xd5\1\x80\2\xcd\1\xc7\1\xcb\1\x80\3\xcb\1\xf0\1\xf7\16\xe6\1\x80\1",
b"\x80\1\xec\3\xc7\1\xf0\5\xf7\2\xf0 \x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xc7\1\xcd\2\x80\1\xc7\1\x80\2\xcd\1\x80\2\xec\5\x80\6\xc7\1\x80\4\xc7\1\x80\1\xe6\1\x80\2\xc7\1\x8e\1\x80\3\xc7\1\xcd\3\xc7\3\x80\3\xc7\1\xcd\4\x80\1\xc7\1\x80\3\xc7\2\x8e\1\x80\4\xcd\5\xc7\1\xf7\1\xf0\1\xf7\2\xf0\1\xc7\1\xe9\1\xcd\2\x80\3\xc7\1\x80\1\xcd\2\xf0\f\xf7\2\xec\1\xf0\1\xc7\1\xcd\1\x80\4\xcd\1\xc7\1\x80\4\xc7\2\x80\2\xc7\1\x80\b\xc7\1\x80\2\xc7\1\x80\3\x8e\1\xcd\1\xc7\1\xcd\2\xc7\1\xf7\2\xf0\6\xf7\1\xf0\a\xc7\2\xcd\1\xc7\1\xf0\a\xc7\1\xcd\4\x80\3\xc7\3\xcd\3\x80\1\xf0\1\xf7\2\xf0\1\xf7\1\xf0\r\xf7\1\xf0\16\xc7\1\xcd\1\x80\1\xc7\4\xf0\1\xc7\n\xe9\1\xc7\2\x8e\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xec\4\x80\1\xcd\2\xc7\1\xf0\27\xcd\2\x80\2\xcd\2\x80\2\xad\1\xc7\1\xad\2\x8e\1\xc7\1\xe6\1\x80\3\xc7\1\x80\1\xc8\1\xcb\1\xf0\1\xf7\1\xe6\1\xc7\2\xcd\1\xc7\1\xf0\21\xcd\1\x80\1",
b"\x80\1\xc7\1\xf0\1\xf8*\x80\1\xec\6\x80\3\xf0\1\x80\2\xcd\2\xf0\1\xcd\2\x80\1\x84\1\x80\2\xc7\1\x80\2\xf8\1\xc7\1\xec\2\xc7\2\x80\5\xf0\1\x80\4\xf0\1\x80\4\xf0\1\x80\4\xf0\1\xc7\1\x87\1\xc7\1\xf0\3\x80\3\xf0\1\xcd\4\x80\1\xf0\1\x80\3\xf0\2\xcd\1\x80\4\xcd\2\x8e\1\xcd\1\xc7\1\xf8\t\xf0\1\x80\2\xcd\1\xf0\1\x80\1\xf8\25\xc7\1\xcd\1\x80\2\xf0\1\x87\1\x80\3\xf0\2\xf8\a\xf0\1\x80\3\xf0\1\x80\2\xf0\1\xf8\3\xf0\1\xc7\1\xf0\1\xc7\2\xf8\24\xf0\1\xf8\a\xc7\1\xf0\1\xcd\2\xe9\1\x80\3\xf0\3\xc7\1\xf8#\xcd\1\x80\1\xf0\2\x87\1\xf0\v\xc7\1\x80\2\xf0\3\x80\2\xed\2\xd5\1\xf0\1\x80\4\x87\4\x80\1\xc7\1\xf0\1\xf8\30\x87\1\xc7\1\x80\2\xcd\2\x80\2\xc7\2\x87\2\x8e\1\xf0\1\xc7\1\x80\3\xf8\35\x80\1",
b"\xf9\1\xfa\2\xf9\t\xfa\1\xf9 \xfa\1\xec\6\x80\3\xf9\1\xfa\4\xf8\1\xd6\1\xee\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\x80\1\xf0\1\xfa\4\xf9\1\xfa\3\xf9\4\xfa\2\xf9\2\xfa\3\xf9\2\xfa\4\xf9\1\xfa\2\xf9\5\x80\2\xfb\1\x84\1\xcd\3\xef\1\xfb\1\x80\4\xfb\2\x80\5\xcd\2\x8e\1\x80\1\xf9\1\xfa\1\xf9\6\xfa\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\xfa\2\xf9\25\xfa\2\x80\1\x84\1\xfb\1\x84\1\x80\2\x84\1\xfa\2\xf9\t\xfa\4\xf9\1\xfa\3\xf9\1\xfa\1\xf9\1\xfb\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\20\xfa\1\xf9\t\xfa\2\xf9\2\xcd\1\x80\3\xf9\1\xf8\2\xf9!\xfa\1\xf9\1\x80\2\xf8\1\x80\1\xf8\f\xfb\1\xf8\3\xfb\1\xf8\1\xfb\1\xf0\1\x80\1\xf8\2\xf0\1\x80\5\x84\5\xf9\33\x84\1\x80\2\xd6\2\x80\2\x84\2\xfb\2\xf8\1\xf9\1\xfa\1\xf9\1\xfa\4\xf9\3\xfa\1\xf9\27\xfa\1",
b"\xfc\1\xfd\1\xfc\33\xfd\1\xfc\20\xec\4\xfa\1\xec\2\x80\1\xfc\a\xf0\1\xfe\1\xfd\1\xfc\5\xfa\1\xfd\1\xfc\r\xfd\1\xfc\t\xfd\1\xfc\5\xfd\1\xfc\4\xfa\1\xfb\1\xcd\4\xfa\1\x80\4\xfc\3\xfa\1\x80\3\xcd\2\x8e\1\xfc\v\xfd\1\xfc\33\xfd\1\x80\1\xfb\1\xfa\1\xfb\1\xfa\2\xfc\n\xfd\1\xfc\6\xfd\1\xfc\3\xfd\2\xfc \xfd\1\xfc\2\xfd\1\x80\2\xfc%\xfd\1\x80\3\xfa\30\xff\1\xfe\1\xcd\1\xfb\1\xfa\3\xfb\1\xfa\1\xfb\2\xfc\2\xfd\1\xfc\31\xfb\1\x80\2\xd6\2\x84\1\xfa\1\xfd\1\xfc\v\xfd\1\xfc\33",),
((0, 0, 0), (0, 107, 12), (0, 106, 21), (0, 67, 8), (0, 28, 0), (0, 59, 10), (6, 113, 19), (0, 33, 0), (4, 42, 0), (0, 99, 14), (0, 84, 17), (1, 91, 15), (6, 81, 6), (2, 28, 9), (2, 50, 0), (0, 91, 30), (4, 91, 43), (3, 42, 33), (0, 92, 67), (0, 76, 9), (1, 98, 60), (0, 98, 66), (1, 89, 59), (0, 100, 33), (0, 77, 18), (0, 98, 43), (0, 51, 8), (0, 34, 9), (0, 83, 31), (3, 66, 22), (63, 100, 1), (4, 73, 40), (0, 101, 24), (5, 83, 42), (0, 99, 49), (1, 42, 5), (0, 60, 33), (9, 65, 80), (5, 83, 59), (0, 67, 34), (0, 92, 82), (2, 74, 23), (9, 98, 72), (0, 91, 76), (0, 91, 23), (3, 34, 17), (0, 68, 17), (59, 91, 3), (0, 91, 49), (3, 84, 25), (0, 70, 42), (2, 89, 3), (0, 74, 34), (0, 59, 16), (0, 84, 65), (36, 84, 2), (0, 82, 47), (0, 52, 32), (0, 51, 15), (3, 77, 48), (1, 53, 44), (2, 64, 64), (0, 84, 76), (0, 65, 57), (0, 42, 13), (0, 65, 48), (6, 71, 75), (0, 57, 26), (6, 74, 67), (2, 51, 26), (2, 43, 25), (8, 34, 3), (36, 76, 0), (0, 58, 43), (0, 77, 75), (13, 36, 0), (46, 89, 0), (13, 43, 0), (0, 85, 82), (6, 75, 58), (28, 85, 2), (36, 91, 0), (40, 100, 0), (0, 98, 83), (23, 66, 2), (24, 59, 0), (25, 52, 0), (0, 110, 81), (50, 109, 0), (40, 97, 24), (0, 109, 75), (40, 115, 0), (0, 107, 67), (0, 114, 67), (40, 109, 0), (9, 107, 56), (26, 97, 30), (0, 111, 53), (1, 35, 23), (23, 108, 2), (13, 75, 1), (9, 81, 0), (2, 60, 3), (23, 99, 4), (26, 76, 3), (14, 67, 2), (25, 91, 0), (3, 28, 26), (0, 28, 16), (32, 66, 0), (13, 51, 1), (12, 58, 1), (3, 27, 0), (86, 152, 0), (41, 89, 17), (56, 130, 0), (73, 170, 0), (30, 73, 18), (8, 36, 14), (17, 28, 0), (6, 20, 0), (9, 9, 0), (2, 12, 0), (0, 17, 1), (1, 4, 0), (10, 3, 1), (24, 40, 0), (25, 36, 2))],
)
def draw_sprite_line(rle, nbits, x, y, dw, palette, **kwargs):
'''affiche tout ou partie d'une ligne d'une image, avec :
* arguments obligatoires :
- rle : les donnees compressees RLE de l'image
- nbits : le nombre de bits utilises pour la compression RLE
- y : numero de la ligne a afficher
- x et dw : position et longueur a afficher dans la ligne
- palette : palette de couleurs indexee a utiliser
* arguments nommes optionnels :
- xmin et xmax : bornes horizontales pour tronquer l'affichage
- itransp : index de la couleur transparente dans la palette
- zoom : zoom a appliquer a l'affichage (entier)
- cfond : couleur a utiliser a la place de la couleur transparente
'''
itransp, zoom, cfond, xmin, xmax = 0, 1, None, 0, L_ECRAN - 1
if "xmin" in kwargs: xmin = kwargs["xmin"]
if "xmax" in kwargs: xmax = kwargs["xmax"]
if "itransp" in kwargs: itransp = kwargs["itransp"]
if "zoom" in kwargs: zoom = kwargs["zoom"]
if "cfond" in kwargs: cfond = kwargs["cfond"]
x, y = round(x), round(y)
dw *= zoom
maskval, maskcnt = (1 << nbits) - 1, (255 >> nbits >> 1) << nbits
i = 0
while x <= xmax and dw > 0:
v = rle[i]
mv = v & maskval
c = (v & maskcnt) >> nbits
if v & 128:
i += 1
c |= rle[i] << (7 - nbits)
if c:
w = c * zoom
if (mv != itransp or cfond) and x + w >= xmin and x <= xmax:
xf = max(xmin, x)
draw_horiz(floor(xf), y, ceil(min(dw, min(w - xf + x, xmax - xf + 1))), mv != itransp and palette[mv] or cfond)
x += w
dw -= w
i = (i + 1) % len(rle)
#---------
# COULEURS
#---------
C_LUKE, C_YODA = (96, 184, 243), (139, 235, 162)
def rgb2hsv(r, g, b):
'''convertit une couleur donnee en coordonnees Rouge-Vert-Bleu (RGB) vers des coordonnees Teinte-Saturation-Valeur (HSV), avec :
- r, g, b : les coordonnees rouge/vert/bleu (entier de 0 a 255)
'''
cmax = max(r, g, b)
d = cmax - min(r, g, b)
h = d and (cmax == b and (r-g)/d+4 or cmax==g and (b-r)/d+2 or cmax==r and ((g -b)/d)%6)
s = cmax and d/cmax
return h/60, s, cmax/255
def hsv2rgb(h, s=1, v=1):
'''convertit une couleur donnee en coordonnees Teinte-Saturation-Valeur (HSV) vers des coordonnees Rouge-Vert-Bleu (RGB), avec :
- h : la teinte (sur l'intervalle [0;60[)
- s et v : les saturation et valeur (sur l'intervalle [0;1])
'''
h *= 6
c = v * s
x = c * (1 - abs((h % 2) - 1))
r, g, b = h < 1 and (c, x, 0) or h < 2 and (x, c, 0) or h < 3 and (0, c, x) or h < 4 and (0, x, c) or h < 5 and (x, 0, c) or (c, 0, x)
return [round((k + v - c) * 255) for k in (r, g, b)]
def gradient(start, end, progress):
'''calcule un degrade de couleur en coordonnees HSV, avec :
- start : couleur HSV de depart
- end : couleur HSV de fin
- progress : position de la couleur intermediaire (sur l'intervalle [0;1])
'''
return [start[i] + (end[i] - start[i]) * progress for i in range(3)]
#--------------------
# AFFICHAGE - GENERAL
#--------------------
# extension de la bibliotheque casioplot
L_ECRAN, H_ECRAN = 384, 192 # largeur et hauteur de la zone graphique
H_POLICE = {"small":10, "medium":14, "large":20} # hauteur des caracteres des polices
L_POLICE = {"small":8, "medium":12, "large":18} # largeur des caracteres numeriques des polices
def lnum(i):
'''calcul la largeur d'affichage du nombre i en pixels'''
return 1 + int(log10(max(1, i)))*L_POLICE[POLICE]
def draw_horiz(x, y, w, c):
'''trace une ligne horizontale, avec :
- x et y : les coordonnees de la borne de gauche
- w : la longueur
- c : la couleur
'''
for dx in range(w): set_pixel(x + dx, y, c)
def fill_rect(x, y, w, h, c):
'''trace un rectangle plein, avec :
- x et y : les coordonnees du coin superieur gauche
- w et h : les largeur et hauteur
- c : la couleur
'''
for dy in range(h): draw_horiz(x, y + dy, w, c)
#-----------------------
# AFFICHAGE - SPECIFIQUE
#-----------------------
def draw_surface_marais(y, xmin=0, xmax = L_ECRAN - 1):
'''trace une ligne de la surface du marais, avec :
* parametre obligatoire :
- y : l'ordonnee
* parametres optionnels :
- xmin et xmax : les bornes horizontales
'''
x = 0
seed(42 * y)
while x <= xmax:
c = hsv2rgb(120.6/360, 1, random())
w = randint(1, L_ECRAN // 4)
if x + w >= xmin and x < xmax:
xf = max(xmin, x)
draw_horiz(floor(xf), y, ceil(min(w - xf + x, xmax - xf + 1)), c)
x += w
#-----
# MATH
#-----
# extension de la bibliotheque math
def sign(x):
'''retourne le signe du nombre x, sous la forme -1, 0 ou 1'''
return (x > 0) - (x < 0)
#-----------------
# RAFRAICHISSEMENT
#-----------------
# fonction essentielle, appelee en boucle dans ce qui va suivre
def refresh(ymin=0, ymax=H_ECRAN - 1, xmin=0, xmax = L_ECRAN - 1):
'''rafraichit l'affichage en ne redessinant que les elements necessaires, avec :
- ymin et ymax : les bornes verticales de la zone a rafraichir
- xmin et max : les bornes horizontales de la zone a rafraichir
'''
global forceon, score
ymin, ymax = max(0, floor(ymin)), min(H_ECRAN - 1, floor(ymax))
xmin, xmax = max(0, xmin), min(L_ECRAN - 1, xmax)
txmin, txmax = xmin, xmax
ly = (134,152,160,164)
for y in range(ymin, ymax + 1):
if y >= ly[0] and y < ly[1]: # surface du marais entre arbres et fond d'ecran
draw_surface_marais(y, xmin, xmax)
if y == H_ECRAN - H_BOUTON:
if status[2] or not isinstance(status[0], str) and forceon:
txmax = min(xmax, L_ECRAN - L_BOUTON)
if not isinstance(status[0], str):
txmin = max(xmin, lnum(score))
# decor du marais
if y < ly[1] and (isinstance(status[0], str) or y <= 1 or y >= H_BARRE + 2*M_BARRE - 2) or y >= ly[-1]:
if y < ly[0]:
c = gradient((205/360, 1, .565), (157.5/360, 1, .439), y / (ly[0] - 1))
c = hsv2rgb(c[0], c[1], c[2])
else:
c = y >= ly[-1] and (255, 255, 255)
draw_sprite_line(SPRITES[I_AP][S_RLE][y], SPRITES[I_AP][S_BITS], 0, y, SPRITES[I_AP][S_L], SPRITES[I_AP][S_PALETTE], itransp=SPRITES[I_AP][S_ITRANSP], cfond=c, xmin=txmin, xmax=txmax)
for x in range(txmax + 1, xmax + 1):
set_pixel(x, y, (0, 0, 255))
if not isinstance(status[0], str) and y >= ly[-1]:
for x in range(xmin, txmin):
set_pixel(x, y, (0, 0, 255))
# message or force bar
if isinstance(status[0], str):
if y == 1 + H_POLICE[POLICE] and ymin < y:
draw_string(0, 1, status[0], status[1], POLICE)
elif y < H_BARRE + 2*M_BARRE:
xf = round((L_ECRAN - 1) * status[0])
for x in range(txmin, txmax + 1):
if abs(x - xf) <= M_CURSEUR and y >= 1 and y < 2*M_BARRE + H_BARRE - 1 or abs(x - xf) < M_CURSEUR:
set_pixel(x, y, forceon and (255, 0, 255) or (127, 127, 127))
elif y >= M_BARRE and y < M_BARRE + H_BARRE:
c = gradient((0, 1, 1), (120/360, 1, 1), (x - 2) / (L_ECRAN - 2))
set_pixel(x, y, hsv2rgb(c[0], c[1], c[2]))
if y >= ly[1] and y < ly[2]: # surface du marais entre plateformes et arbres
draw_surface_marais(y, txmin, txmax)
if y >= SPRITES[I_PF_G][S_Y] and y < SPRITES[I_PF_G][S_Y] + SPRITES[I_PF_G][S_H]: # grande plateforme
draw_sprite_line(SPRITES[I_PF_G][S_RLE][y - ceil(SPRITES[I_PF_G][S_Y])], SPRITES[I_PF_G][S_BITS], SPRITES[I_PF_G][S_X], y, SPRITES[I_PF_G][S_L], SPRITES[I_PF_G][S_PALETTE], itransp=SPRITES[I_PF_G][S_ITRANSP], xmin=xmin, xmax=xmax)
if y >= SPRITES[I_PF_P][S_Y] and y < SPRITES[I_PF_P][S_Y] + SPRITES[I_PF_P][S_H]: # petite plateforme
draw_sprite_line(SPRITES[I_PF_P][S_RLE][y - ceil(SPRITES[I_PF_P][S_Y])], SPRITES[I_PF_P][S_BITS], SPRITES[I_PF_P][S_X], y, SPRITES[I_PF_P][S_L], SPRITES[I_PF_P][S_PALETTE], itransp=SPRITES[I_PF_P][S_ITRANSP], xmin=xmin, xmax=xmax)
if y >= SPRITES[I_LUKE][S_Y] and y < SPRITES[I_LUKE][S_Y] + SPRITES[I_LUKE][S_H]: # Luke
draw_sprite_line(SPRITES[I_LUKE][S_RLE][y - ceil(SPRITES[I_LUKE][S_Y])], SPRITES[I_LUKE][S_BITS], SPRITES[I_LUKE][S_X], y, SPRITES[I_LUKE][S_L], SPRITES[I_LUKE][S_PALETTE], itransp=SPRITES[I_LUKE][S_ITRANSP], xmin=xmin, xmax=xmax)
if y >= SPRITES[I_YODA][S_Y] and y < SPRITES[I_YODA][S_Y] + SPRITES[I_YODA][S_H]: # Yoda
draw_sprite_line(SPRITES[I_YODA][S_RLE][y - ceil(SPRITES[I_YODA][S_Y])], SPRITES[I_YODA][S_BITS], SPRITES[I_YODA][S_X], y, SPRITES[I_YODA][S_L], SPRITES[I_YODA][S_PALETTE], itransp=SPRITES[I_YODA][S_ITRANSP], xmin=xmin, xmax=xmax)
if y >= SPRITES[I_XWING][S_Y] and y < SPRITES[I_XWING][S_Y] + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM]: # X-Wing
draw_sprite_line(SPRITES[I_XWING][S_RLE][(y - ceil(SPRITES[I_XWING][S_Y])) // SPRITES[I_XWING][S_ZOOM]], SPRITES[I_XWING][S_BITS], SPRITES[I_XWING][S_X], y, SPRITES[I_XWING][S_L], SPRITES[I_XWING][S_PALETTE], itransp=SPRITES[I_XWING][S_ITRANSP], zoom=2, xmin=xmin, xmax=xmax)
if y >= ly[2] and y < ly[3]: # surface du marais jusqu'aux plateformes
draw_surface_marais(y, txmin, txmax)
if y >= ly[-1]: # sous la surface du marais
c1a_hsv = (196.5/360, 1, .655)
c1b_hsv = (171.1/360, 1, .396)
c1_hsv = gradient(c1a_hsv, c1b_hsv, sqrt((y - ly[-1]) / (H_ECRAN - ly[-1])))
c1_rgb = rgb2hsv(c1_hsv[0], c1_hsv[1], c1_hsv[2])
for x in range(txmin, txmax + 1):
c2_rgb = get_pixel(x, y)
c2_hsv = rgb2hsv(c2_rgb[0], c2_rgb[1], c2_rgb[2])
k = 2 + sqrt((y - ly[-1]) / (H_ECRAN - ly[-1]))
c3_rgb = hsv2rgb(c1_hsv[0], (c1_hsv[1] + c2_hsv[1])/k , (c1_hsv[1] + c2_hsv[2])/k)
set_pixel(x, y, c3_rgb)
if status[2] and y == H_ECRAN - 1 and xmax >= L_ECRAN - 1 or not isinstance(status[0], str) and forceon:
draw_string(L_ECRAN - L_BOUTON, H_ECRAN - H_BOUTON, "AC/ON", (255, 255, 0), "small")
if not isinstance(status[0], str) and y == H_ECRAN - 1 and xmin <= 0:
draw_string(0, H_ECRAN - H_BOUTON, str(round(score)), (255, 255, 0), "small")
#----------
# ANIMATION
#----------
M_HORIZ, M_VERT = tuple(range(1, 3))
def fanim(lst, mode_osc = 0, loop=True):
'''joue une animation, avec :
- lst : liste d'images a animer, avec pour chaque element :
-- index de l'image principale a animer
-- index d'une image liee a la position de l'image precedente (ou sinon None)
-- abscisse ou deplacer l'image principale (ou None)
-- ordonnee ou deplacer l'image principale (ou None)
- mode_osc : masque indiquant si l'image doit subit des oscillations, pouvant alors etre horizontales (M_HORIZ), verticales (M_VERT) ou bien les deux a la fois
- loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
'''
global x_c, y_c
x_c, y_c = SPRITES[lst[-1][0]][S_X : S_Y + 1]
ix, iy = 0, 0
while 1:
stop = True
for i in range(len(lst)):
i1_sprite, i2_sprite, destx, desty = lst[i]
tx1, ty1 = SPRITES[i1_sprite][S_X : S_Y + 1]
if not i2_sprite is None: tx2, ty2 = SPRITES[i2_sprite][S_X : S_Y + 1]
if not destx is None and SPRITES[i1_sprite][S_X] != destx:
SPRITES[i1_sprite][S_X] += sign(destx - SPRITES[i1_sprite][S_X])
if not i2_sprite is None:
tx2 = SPRITES[i2_sprite][S_X]
SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
stop = False
if SPRITES[i1_sprite][S_X] == destx:
lst[i][2] = None
x_c = SPRITES[lst[-1][0]][S_X]
elif i + 1 == len(lst) and mode_osc & M_HORIZ:
SPRITES[i1_sprite][S_X] = x_c - round(sin(ix*pi/180) * SPRITES[i2_sprite][S_L] / 16)
SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
ix += 18
if not desty is None and SPRITES[i1_sprite][S_Y] != desty:
SPRITES[i1_sprite][S_Y] += sign(desty - SPRITES[i1_sprite][S_Y])
if not i2_sprite is None:
ty2 = SPRITES[i2_sprite][S_Y]
SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
stop = False
if SPRITES[i1_sprite][S_Y] == desty:
lst[i][3] = None
y_c = SPRITES[lst[-1][0]][S_Y]
elif i + 1 == len(lst) and mode_osc & M_VERT:
SPRITES[i1_sprite][S_Y] = y_c - round(sin(iy*pi/180) * SPRITES[i2_sprite][S_H] / 8)
SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
iy += 1
if not i2_sprite is None: refresh(min(ty2, SPRITES[i2_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) - 1, min(tx2, SPRITES[i2_sprite][S_X]), max(tx2, SPRITES[i2_sprite][S_X]) + SPRITES[i2_sprite][S_L])
refresh(min(ty1, SPRITES[i1_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) + SPRITES[i1_sprite][S_H]*SPRITES[i1_sprite][S_ZOOM] - 1, min(tx1, SPRITES[i1_sprite][S_X]), max(tx1, SPRITES[i1_sprite][S_X]) + SPRITES[i1_sprite][S_L]*SPRITES[i1_sprite][S_ZOOM])
if stop:
if not mode_osc or not loop: break
if not status[2]:
status[2] = True
refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
show_screen()
def ac(fanim, loop=True, lmsg=None, lparams_anim=()):
''' lance une animation, tout en permettant a tout moment son interruption avec la touche [AC] et dans ce cas le nettoyage correct de l'affichage, avec :
- fanim : la fonction d'animation
- loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
- lmsg : liste avec le message a afficher et sa couleur
- lparams_anim : liste des parametres a passer a la fonction d'animation fanim()
'''
try:
global status
if not lmsg is None:
status[:2] = lmsg
refresh(1, 1 + H_POLICE[POLICE])
fanim(*(lparams_anim + (loop,)))
except KeyboardInterrupt:
try:
if loop:
status[2] = False
refresh(H_ECRAN - H_POLICE[POLICE], H_ECRAN - 1, 346, L_ECRAN - 1)
fanim(False, *(lparams_anim + (loop,)))
except: pass
#-----------------------------
# AUTRES FONCTIONS SPECIFIQUES
#-----------------------------
def force(f):
'''fait appel a la Force, avec :
- f l'intensite de la Force sur l'intervalle [0;1]
'''
global vy, forceon, score
if forceon:
vy += 2*f - 1
forceon = False
score += f*kscore/(1 - min(0, vy))*1000
refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, 0, lnum(score))
refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
def gameover():
'''teste si on a gagne le jeu'''
return SPRITES[I_XWING][S_Y] < -SPRITES[I_XWING][S_H] * SPRITES[I_XWING][S_ZOOM]
score, kscore, fscore = 0, 1, .999
def main():
'''lance la partie jeu'''
global vy, forceon, kscore, score
try:
refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
w = 220
t = 0
of = -1
while not gameover():
try:
try:
f = 1 - abs(cos(t*pi/w))
if t % w == 1 and not forceon:
forceon = True
refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
status[:2] = f, None
xf = round((L_ECRAN - 1) * f)
refresh(0, H_BARRE + 2*M_BARRE, of >= 0 and min(xf - M_CURSEUR, oxf - M_CURSEUR), of < 0 and L_ECRAN - 1 or max(xf + M_CURSEUR, oxf + M_CURSEUR) or L_ECRAN - 1)
show_screen()
t, of, oxf = (t + 1) % w, f, xf
vy = SPRITES[I_XWING][S_Y] < H_ECRAN and vy - .005*180/w
kscore *= fscore
except KeyboardInterrupt: force(f)
ty, SPRITES[I_XWING][S_Y] = SPRITES[I_XWING][S_Y], min(H_ECRAN, SPRITES[I_XWING][S_Y] - vy)
if round(ty) != round(SPRITES[I_XWING][S_Y]):
refresh(min(ty, SPRITES[I_XWING][S_Y]), max(ty, SPRITES[I_XWING][S_Y]) + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM] + 1, SPRITES[I_XWING][S_X], SPRITES[I_XWING][S_X] + SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])
except KeyboardInterrupt: force(f)
score *= kscore + 1
force(1)
except KeyboardInterrupt:
force(f)
main()
#---------------
# INITIALISATION
#---------------
POLICE = "small" # police a utiliser
# reglage du zoom des differentes images
for sprite in SPRITES:
sprite.append(1)
SPRITES[I_XWING][S_ZOOM] = 2
# positionnement des differentes images a l'ecran
SPRITES[I_XWING].extend(((L_ECRAN - SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])//2, 164 - SPRITES[I_XWING][S_H]))
SPRITES[I_PF_G].extend((-SPRITES[I_PF_G][S_L], 146))
SPRITES[I_PF_P].extend((L_ECRAN, 151))
SPRITES[I_YODA].extend((SPRITES[I_PF_P][S_X] + (SPRITES[I_PF_P][S_L] - SPRITES[I_YODA][S_L]) // 2, SPRITES[I_PF_P][S_Y] - SPRITES[I_YODA][S_H] + SPRITES[I_PF_P][S_H] // 4))
SPRITES[I_LUKE].extend((SPRITES[I_PF_G][S_X] + (SPRITES[I_PF_G][S_L] - SPRITES[I_LUKE][S_L]) // 2, SPRITES[I_PF_G][S_Y] - SPRITES[I_LUKE][S_H] + SPRITES[I_PF_G][S_H] // 2))
# largeurs et hauteurs de differentes elements graphiques
# - barre de Force et son curseur :
M_CURSEUR = H_POLICE[POLICE] // 4
M_BARRE = 2
H_BARRE = H_POLICE[POLICE] - M_CURSEUR - M_BARRE
# - bouton invitant a taper la touche action [AC]
H_BOUTON = H_POLICE[POLICE]
L_BOUTON = 39
status = ["", None, False]
refresh(0, H_ECRAN - 1) # 1er affichage, dessine tout l'ecran
show_screen()
# anime les differentes etapes du dialogue introductif Luke-Yoda
ac(fanim, True, ("Oh non le vaisseau, nous ne pourrons plus le recuperer...", C_LUKE), (([I_XWING, None, None, H_ECRAN], [I_PF_G, I_LUKE, (L_ECRAN - SPRITES[I_PF_G][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Quelle certitude as-tu ? Avec toi, rien n'est jamais possible.", C_YODA), (([I_PF_G, I_LUKE, 33, None], [I_PF_P, I_YODA, (L_ECRAN - SPRITES[I_PF_P][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Faire bouger des pierres est une chose mais la c'est different", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("Different dans ton esprit. Desapprends ce que tu as appris.", C_YODA), (([I_PF_P, I_YODA, 280, None],), M_VERT))
ac(fanim, True, ("C'est trop gros, j'y arriverai pas.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("La taille importe peu. Par ma taille peux-tu me juger ?", C_YODA), (([I_PF_P, I_YODA, None, 64],), M_VERT))
ac(fanim, True, ("Tres bien, je vais essayer.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT))
ac(fanim, True, ("Non, fais-le. Ou ne le fais pas. Mais il n'y a pas d'essai.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT | M_HORIZ))
vy = 0 # vitesse verticale du X-Wing
forceon = True # indique si la Force est avec toi
main() # lance la partie jeu
# le jeu est gagne, animation de fin
ac(fanim, False, None, (([I_PF_G, I_LUKE, SPRITES[I_XWING][S_X], -SPRITES[I_PF_G][S_H]],), 0))
ac(fanim, True, ("Va Luke, la Force est avec toi, a jamais.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT))
print(score)
TéléchargerMerci Casio !