π
<-
Chat plein-écran
[^]

News 2022

News 2021
August (12)
July (1)
June (2)
May (7)
April (3)
March (1)

News 2020
August (15)
July (2)
June (7)
May (7)
April (19)
March (4)

News 2019
August (4)
July (7)
June (6)
May (1)
April (3)
March (1)

News 2018
August (11)
July (8)
June (3)
May (10)
April (2)
March (4)

News 2017
August (15)
July (18)
June (1)
May (7)
April (4)
March (7)

News 2016
August (17)
July (16)
June (2)
May (2)
April (1)
March (5)

News 2015
August (25)
July (1)
June (4)
May (9)
April (4)
March (10)

News 2014
August (4)
July (4)
June (11)
May (12)
April (9)
March (12)
January (13)

News 2013
October (11)
August (5)
July (5)
June (9)
May (12)
April (10)
March (7)
January (10)

News 2012
August (12)
July (10)
June (13)
May (22)
April (8)
March (5)

News 2011
October (23)
August (1)
July (7)
June (29)
May (11)
April (5)
March (3)

News 2010
August (2)
July (2)
June (5)

News 2009
August (1)
July (1)
June (1)
May (1)
April (1)
March (1)

Mise à jour img2calc Python: miroir + optimisations palette

New postby critor » Yesterday, 17:45

13917Dans une série d'articles précédents nous te présentions , notre service en ligne gratuit sur
TI-Planet
te permettant de convertir facilement tes images pour tes projets sur calculatrices.

Un large choix de formats cible t'était proposé :
  • fichiers à appeler depuis tes programmes en langage
    Basic
    :
    • pour
      Casio Graph 90+E
      et
      fx-CG50/20/10
    • pour
      Casio fx-CP400
      et
      fx-CG500
    • .8ca
      ou
      .8ci
      pour
      TI-83 Premium CE
      ,
      TI-84 Plus CE
      et
      TI-84 Plus C Silver Edition
    • .8xi
      pour les
      TI-83 Plus
      (compatible
      TI-82 Advanced
      ,
      TI-82 Plus
      et
      TI-84 Plus
      monochromes)
      ,
    • .83i
      pour les
      TI-83
      (compatible
      TI-82 Stats
      et
      TI-76.fr
      )
    • .82i
      pour les autres
      TI-82
    • .86i
      pour les
      TI-86
    • .85i
      pour les
      TI-85
    • .73i
      pour les
      TI-73
  • fichiers à appeler depuis tes scripts en langage
    Python
    :
    • pour les éditions
      Python
      des
      TI-83 Premium CE
      et
      TI-84 Plus CE
  • scripts
    Python
    pour les différentes bibliothèques graphiques des calculatrices :
    • ti_draw
      (
      TI-Nspire CX II
      )
    • graphic
      (
      TI-Nspire CX II
      avec
      KhiCAS
      ,
      TI-Nspire CX
      avec
      KhiCAS
      et
      NumWorks
      avec
      KhiCAS
      )
    • nsp
      (
      TI-Nspire
      avec )
    • ti_graphics
      (
      TI-83 Premium CE
      et
      TI-84 Plus CE
      éditions
      Python
      )
    • casioplot
      (
      Casio Graph 90/35+E II
      ,
      fx-9750/9860GIII
      et
      fx-CG50
      )
    • hpprime
      (
      HP Prime
      )
    • kandinsky
      (
      NumWorks
      )
Après plusieurs semaines de bêta-test privé par , et , aujourd'hui
img2calc
bénéficie d'une mise à jour apportant plusieurs améliorations à ce dernier point, soit les images converties en scripts
Python
pour ta calculatrice. Découvrons-les ensemble








1) Retournement horizontal/vertical

Go to top

Prenons comme exemple le
sprite
ci-contre à convertir en un script
Python
pour affichage sur nos calculatrices.

Le script obtenu te fournissait une fonction d'affichage d'image draw_image(rle, x0, y0, w, pal, zoomx, zoomy, itransp), avec :
  • rle
    : les données de l'image selon une compression
    RLE
    , incluses dans le script obtenu
  • x0, y0
    : les coordonnées où positionner le coin supérieur gauche de l'image lors de l'affichage
  • w
    : la largeur de l'image originale
  • pal
    : la palette de couleurs à utiliser, également incluse dans le script obtenu
  • zoomx, zoomy
    : les coefficients de
    zoom
    horizontaux et verticaux éventuels pour l'affichage, ou 1 par défaut pour une absence de
    zoom
  • itransp
    : l'index d'une éventuelle couleur transparente dans la palette, ou -1 par défaut pour aucune transparence

Et bien nouveauté, la fonction
draw_image()
accepte maintenant des paramètres de
zoom
négatifs pour indiquer un retournement horizontal et/ou vertical.

Il t'est donc maintenant possible de retourner l'image horizontalement et/ou verticalement lors de l'affichage, y compris avec un
zoom
comme illustré ci-contre.
Code: Select all
#palette for your image
#18 RGB-888 colors
palette = (
(0,0,0),(32,32,32),(80,144,0),(120,180,24),(248,120,0),(240,160,104),(232,96,176),(184,104,24),(248,252,248),(48,52,48),(64,216,112),(48,144,104),(136,88,32),(32,32,200),(224,144,80),(128,128,240),(240,216,64),(192,16,24),
)

#your image data
#16x22 RLE-5 pixels
image = (
b"\xa0\1\xe1\0\xc0\2\1\"\3\2!\xe0\1\1\"\xe3\0\2\1\xe0\0\1\0!\4\"\3\2\4\1\2!\0\1\5\1\6!\xe4\0!\2\1\5!\5\1F\xe1\0&!\5!\a\5\1\xe6\1\1\5\a!\a\1\6\xe1\1\6\1\a\1\0\1\a\1\a('(\a\1\a\1@\1'\b\1%\1\b'\1\xe0\0!\a\5\1%\1\5\a!@\t\n\v\1\a\tE\a\1\v\n\1\0\t\b\xe9\0\b\t\a"
b"!+\1\f\1\t\xa8\1\t\1\v\n\v\1,\1\t\b\xed\0\b\tJ\v!\16\1\t\b\r/\r\b\t\nK\1.\1\t\b\r/\r\b\t\20\x010\v\1\16\1\t\b\r/\r\b\t0+A \t\b-\b\tK!\21\1\xe0\0\t(\t\xe1\0\21\4!\x80\1)\xe1\1\xe0\1\xa1\1\x80\1"
)

l = (
  (0,0,4,4),
  (64,0,3,3),
  (64,66,3,1),
  (112,0,2,3),
  (112,66,2,1),
  (144,0,1,3),
  (144,66,1,1),
)
for v in l:
  for ky in (-1, 1):
    for kx in (-1, 1):
      draw_image(image, 160 + v[0]*kx, 96 + v[1]*ky, 16, palette, zoomx=v[2]*kx, zoomy=v[3]*ky, itransp=0)

La fonction
draw_image()
affiche l'image en coloriant un rectangle pour chaque élément
RLE
. Cela a l'avantage d'être particulièrement rapide lorsque la bibliothèque graphique de la plateforme fournit une méthode optimisée en ce sens.
À ce jour le retournement est fonctionnel sur 4 des plateformes gérées par
img2calc
:
  • NumWorks
    où la méthode kandinsky.fill_rect(x, y, largeur, hauteur, couleur) a l'excellente idée d'accepter directement des paramètres de largeur et hauteur négatifs et d'effectuer directement le retournement adéquat
  • KhiCAS
    (éditions
    NumWorks
    et
    TI-Nspire CX
    )
    , même avantage avec la méthode graphic.fill_rect()
  • Casio Graph 90+E
    et
    Graph 35+E II
    , la bibliothèque graphique
    casioplot
    ne fournit pas de méthode optimisée pour colorier un rectangle, mais la boucle d'allumage de pixels alors générée pour le script converti gère directement les retournements
  • Micropython
    pour
    TI-Nspire
    , pour la même raison avec la bibliothèque graphique
    nsp


La
HP Prime
avec la bibliothèque
hpprime
ne trace hélas rien si on lui demande de colorier un rectangle avec une largeur ou hauteur négative.

La
TI-Nspire CX II
pour sa part génère dans ce cas une exception, suggérant donc qu'il n'est hélas pas dans les projets de
Texas Instruments
de supporter ce cas.

1513315134Les
TI-83 Premium CE Edition Python
,
TI-84 Plus CE-T Python
et
TI-84 Plus CE Python
quant à elles génèrent une exception si tu fais appel à la méthode
.fill_rect()
de la bibliothèque interface
ti_draw
. Pire, si tu fais directement appel à la méthode
.fillRect()
de la bibliothèque graphique
ti_graphics
, là tu obtiens un affichage incorrect avec selon le cas un blocage
(boucle infinie)
.

Nous verrons pour une prochaine mise à jour d'
img2calc
si nous injectons de quoi contourner les limitations de ces plateformes.




2) Optimisation palette : couleurs hexadécimales

Go to top

Rappelons que les interpréteurs
Python
sur nos calculatrices font appel à 3 types de mémoires :
  • La mémoire de stockage qui comme son nom l'indique stocke physiquement tes fichiers de scripts
    Python
    .
  • La pile
    (stack)
    qui référence, à l'exécution, les objets
    Python
    créés par tes scripts. Sa capacité limite donc le nombre d'objets
    Python
    pouvant coexister simultanément en mémoire.
  • Le tas
    (heap)
    qui reçoit, à l'exécution, le contenu des objets
    Python
    créés. Il limite donc la taille globale utilisée pour les données de ces différents objets.

Voici quelques indications de consommations
heap
valides pour les plateformes
32 bits
que sont à ce jour nos calculatrices :
  • pour un entier :
    24
    octets de base +
    4
    octets si non nul +
    4
    octets pour chaque groupe de 30 bits utilisés au-delà des premiers 31 bits dans sa représentation binaire
  • pour une liste :
    56
    octets de base +
    8
    octets par élément + les tailles de chaque élément
  • pour un tuple :
    40
    octets de base +
    8
    octets par élément + les tailles de chaque élément
  • pour une chaîne :
    49
    octets de base +
    1
    octet par caractère
  • pour un tableau d'octets
    (bytes)
    :
    33
    octets de base +
    1
    octet par octet
Comme tu peux le constater le langage
Python
a le très gros défaut d'être un énorme consommateur de
heap
, mémoire qui sera bien souvent le facteur le plus limitant pour tes projets sur calculatrices. Rappelons les plus mauvais modèles sur ce critère :
  • NumWorks
    avec seulement
    32,5 Ko
    de
    heap
    si ta machine est verrouillée sur le
    firmware
    officiel
  • éditions
    Python
    des
    TI-83 Premium CE
    et
    TI-84 Plus CE
    avec encore pire
    19,7 Ko
    de
    heap
La
NumWorks
cumule les inconvénients avec de plus une mémoire de stockage de seulement
32 Kio
si ta machine est verrouillée sur le
firmware
officiel.

Comme déjà expliqué,
img2calc
a justement été conçu pour minimiser la consommation de
heap
. Pour cela
img2calc
mutualise deux approches :
  • La compression de ton image au format
    RLE
    .
  • Le compactage des données, avec l'utilisation des types d'objets
    Python
    les moins gourmands en mémoire :
    • des tuples pour la palette de couleurs
    • des
      bytes
      pour les données de la compression
      RLE
      (type d'objet
      Python
      s'utilisant comme une chaîne de caractères mais optimisé pour le stockage d'octets)
Lors de la dernière mise à jour, nous optimisions l'écriture des données
RLE
afin d'économiser la mémoire de stockage.

Aujourd'hui, intéressons-nous à la palette de couleurs avec l'image ci-contre.

Jusqu'à présent,
img2calc
te générait ce genre de script :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
(0,0,0),(104,40,120),(136,112,80),(80,192,0),(248,132,24),(160,168,160),(248,252,0),(0,252,248),(248,0,0),(248,252,248),(248,172,176),(0,0,248),
)

#your image data
#160x154 RLE-4 pixels
image = (
b'P\x81\1P\x81\6\xf0\0\1\0\1\20\1\x90\3QP\2\23\1\0\21\xa0\1\xf1\0\0\1\xf0\0\x110\xb2\1\4\2\0\2\1\x92\6`\2\0\5\20\2\1\2\20\5\1 \1\xf0\1b \2\0\4\26\4\0\27\0\xf8\0\20\xf1\0\0\27`\22P\2\4\x92\1\4\2\20\1\xf2\5\x80\1\22\0\1\22\20\25\2@\2\20\2\0\xf2\0\0b \2\0\6'
b'\31\6\0\27\xb0\2\27\0\5\27\5\20\22\xf0\0\2\4\x92\1\4\2\20\xe2\5\xb0\1\2\20\5\2\25\0\x020\2\20\2\0\xf2\0\0b \2\0\6\31\6\0\27\0\x85\1\0\xf8\0\0\27\0\a\31\a\20\22\xa0\1\4\x82\1\24\2\0\1\xc2\5P\22\20\22\5\2\0\1\5\22\0\x020\2\0\22\0\xf2\0\0b \2\0\n\26\n\0\27'
b'\0\25G\25\0\bJ\4\b\0\27\0\a\31\a\20\22\xb0\1\2\4\x82\1\24\2\0\1\xa2\5@\2%\x025B\1\0\22\20\1"\0\xf2\0\0b \2P\27\0\25\27\31\a\25\0\bZ\b\0\27\0\5\27\5\20\22\xe0\1\1\x92\1\0\1\0\x92\5@\2%\x025"\5\1\5\21\5 "\1\xf2\0\0b \2\x001\0\27\0\25\a\t\'\25\0\bZ\b\0\27'
b'\x001\20\22\xf0\1\x92\1\4\2\20\21\xe2\4@\1\2\25\2\5\22\1\5"\0\5\21\2\5 \xa2\1\0b \2\0\'\5\0\27\0\25\a\t\'\25\0\bZ\b\0\27`\22\24\xf0\1\2\4\xf2\0\24 \1\xc2\4`\1" \25\2\20\5\0\22\25\20\xa2\1\0b \2\0\a\31\a\0\27\0\25\27\31\a\25\0\bZ\b\0\27\0\n\26\n\20B\24\2'
b'\xe0\1\4\x82\1\4\2\20\xb2\4\xf0\0\5\2 \2\25\22\25\0\2%\20\xa2\1\0b \2\0\a\31\a\0\27\0\25\a\t\'\25\0\bZ\b\0\27\0\6\31\6\20\xf2\0\24\xe0\1\4\xf2\0\24\2\0\1\x92\4P5\2\25\2\5\0R% \x1252\0b \2\0\5\27\x050\25G\25\0\bZ\20\27\0\6\31\6\20\xa2\1\24\xe0\1\xf2\0\24'
b'\2\0\1\xf2\3P\5\2\25\2\25\2\0\2\1\2\0"\5\2\5\2\xc0\1b \2P\27\1\0\1\x057\25\0\b:\30@\n\26\n\20\xe2\1\xd0\1\1\x82\1\0\1\0\xe2\3P\2\1"\5\22\x010"\5\2\25\x010Q\20b \2\0\2\23\1\0\'\1\0\x017\25\0\b*\b \21\20\2\23\1\20\xf2\1\4\xc0\1\22\1R\4\2\20\21\xb2\3\x80\1'
b'\1\22\1\x020b\x150b\0b \2\0\4\26\4\0G\0\5\'\25\0\b\32\b\20\x017`\x82\2\24\xd0\1\4b\4\2 \1\x92\3`\2\0\2\5\0\2@b\5" R\0b \2\0\6\31\6\0W\0\1\5\a\25\0\b\n\b\0\1W\0\5\27\5\20\22\0\24\xc2\1\4\xf0\1\24R\24\2\20\x82\3`\5 \1P25\2\5\2\5 B\0b \2\0\6\31\6\0W\1\0\1%'
b'\0\30\20g\0\a\31\a\20\22\4 \24\x92\1\4\xa0\2b\24\2\0\1\xe2\2\xf0\0"PB\25\0\22\5\x1202\0b \2\0\n\26\n\0\xf7\0\0\1\25\0\b\20\xf7\0\0\a\31\a\x102$ \24R\4\0\xf2\0\4\xa0\1\4R\24\2\0\1\xc2\2P\2\x90\1\22\5\2\0\25\0\22\25\2\1 \1"\0b \2P\x87\1\1P\xf7\0\0\5\27\5'
b'\20b\20\2\4\0R\4\0\xf1\0\4\22\x90\1\x82\1\0\1\0\xb2\2P\5\x90\1\22\25\0\5\0"\25\x120"\0b \2\x001\0W!@\2\0\1g\x001\20\x92\1\4\20\4B\x80\1\4"\4\x80\1\22\1B\4\2\20\1\x92\2P\5\x90\1\2%\0\1\0\x125\22\x102\0b \2\0\'\5\0\'\21P(\4\b\0a`\xb2\1\24 \4\x90\1\4B\24'
b'\x80\1\24B\4\2\20\1\xf2\1@\22\1\x80\1\2%\2\20\22%"\x102\0b \2\0\a\31\a\0\27\1\20\2D \30\x80\1\n\26\n\20\xe2\1\24\2\x90\1\4\x82\1\x80\1\2\4B\4\2 \xd2\1@\5\2@\22\1\20\2% \x025"\x102\0b \2\0\a\31\a\0\a\1\0\2\24\26\t\26\4\6\2P\5\27\5\0\6\31\6\20\xf2\1\4\xa0'
b'\1\4\x82\1\24\x90\1\x042$\2\0\1\xb2\1@\22 B\20\2\25\2 \2%\2\0\22`b \2\0\5\27\5 \x146\t6\4\0\n\26\4\0\a\31\a\0\6\31\6\20\xf2\1\4\xa0\1\24\xa2\1\24\xf0\0\2\4B\24\2\0\1\x92\x010\25\2\20b\0\2\25\2 \2\25\2\0\22\1\x102\0b \2P\24\6\t\6\31\6\24@\6\31\6\0\a\31\a'
b'\0\n\26\n\20\xf2\1\4\xd0\1\1\xc2\1\x80\1\1R\0\1\0\x82\x010\25\2\20b\0\2\25\22\x102\0\22 2\0b \2\0\2\23\1\0\4\5\6\t\6\t\n\4\2\x001\0\6\31\6\x007\0\2\23\1\20\xf2\1\4\xe0\1\4\xa2\1\24\x80\1\2\x012\4\2\20\1b0\25\2\0\xf2\0\0\2\25\22\20\1\22\20\22\20B\0b \2\0'
b'\4\26\4\0\4\t&\22 \'\5\0\6\t\n\6\0\1\27\1`\22\20Db\4\0\xa2\x014\x104R\4\xa0\1\x142\4\2\20\1B0"\0b\20\2\25\2@\2\0\5\22\20B\0b \2\0\6\31\6\0\4\31$0\a\31\a\0\n\26\2@\1\xa2\x0104"\4\xb0\1\x042$\20$"\4\xd0\1\4"\24\2\x102 \25\22\0R\1\x102P\2\25\2 2\0b \2\0\6'
b'\31\6\0$\2\0\n\26\n\0\a\31\1@\xd2\2 \22\24\xb0\1\4b$ $\0R\24`\24\22\24\2\20\22\0\5\0\25\22\0R\20%\22@B 2\0b \2\0\n\26\n\0\4\2 \6\31\6\0\5\27\20\xc2\3\xf0\1\4\x92\x014\x80\1\4\22\24`\x042\0B\25\22\0B\0\1\0B0R\1\20\1"\0b \2\xa0\1\6\31\6@\xe2\3\1\xd0\1\4'
b'\xd2\1\x80\1\4RP\1\2\24\0"\1\2\0\5\1\2\x001\20\2\21\2\1\x120!20\1\2\0b \2\x001\x001\0\4\n\6\4\20\21\xb2\1\xf1\0\xc2\1\4\xc0\1\4\xe2\1\xf0\0\4R\4P"\0\22\20\1\0\2\0\2`\2\20\2\0\22`\2\21\x120\2\0b \2\0\'\5\0\'\5\0$\5\1\xa2\1!\x80\1\xc2\1\4\0\xb2\x014\xa2\1'
b'\4\xf0\x0042\24\xf0\0\x120\2\0b\0\2\20\2\0\22\0\1"% \x020\2\0b \2\0\a\31\a\0\a\31\a\0\2\20\xa2\1\xd0\1\xc2\1\4\x80\x024b\4\0b\24\20$\22\4P2\0\x82\x035\2\xf0\0b \2\0\a\31\a\0\a\31 \x82\1\1\x80\1\t\x050\25\xc2\1\4\xd0\x01204\22\4\xf0\0\4\22$\20\4\2P2\0R@'
b'\22\0\2@BU\x010\2\0b \2\0\5\27\5\0\5\a\20\x92\1`\x82\3\4\0\xa2\1\20\x82\x010\4\2\xf0\0\4R\24`2\0\x120\1\0\2\20R \2\20\1\2\5\0E0\2\0b \2\xf0\0\1\xf2\0P\5\0\5\0\5\20\25\0\5\0\5\0\5\0\xc2\1\4\0\xa2\1\20\x82\x011\4\x80\1\4b\4`2\0B\0!\2\1b\1\20\22\0\21\20E '
b'\2\0b \2\0\2\23\1\20\xf2\0\1`\5\0\5\0\5\20\25\0\5\0\5\0\5\0\xc2\1\4\0\x91\1\2\20\xc2\1\4\x80\1\4b\4`2\0\2E \x92\1\1\0%\1\25\20\2% \2\0b \2\0\4\26\2\1\xf2\0P\25\1\5\1\5\1\5\0\1\25\1\5\1\5\1\5\0\xc2\1\4\xa0\1\2\20\xc2\1\4\0\xf2\0D"\4`2\0\2\25"\5\20\x82\1'
b'\x112%0\25 \2\0b \2\0\6\t\2\1b\1@\xc5\2\xc2\1\4\xa0\1\2\20\xc2\1\4\xd0\1\2$`2\0\2\5\2%\2\5\20b\1\0\22\25\2%\0\2\1\20\2 \2\0b \2\0\6\5\0b\x010\xb2\4\4\xf0\0\2\20\2\20\xc2\1\4\0\xf2\0\0" \22`2\0\2\5"\5\2\5\2\20R\20\2e\0\22P\2\0b \2\0\n\0b@\4@\4\0\4\0\4@\4'
b'\0\4\0\4 \xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\0\2\25\22\25\2\0\2\0\x012\20\22e\0\22\1 "\0b \2\20b@\2\0\22\5\x020\2\0\22\5\x020\2\0\22\5\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\0\1E\2\1\0\5\x102\0\1\2\1"%\0"0"\0b'
b' \2\0\1R \1\5\1\5\0\1\2\x050\1\5\0\1\2\x050\1\5\0\1\2\5\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\20\1%@\5\20\22\0\1\22\x102\21\22@!\0b \2\1R \2\25\2\5\20\1 \2\0\2\5\20\1 \2\0\2\5\20\1\0\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2@\2\0R\4'
b'\xf0\x002`\22 \5\0\22\x002\1\0\1\2\21\2\1\x90\1b R\1 \2\5"\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2\0\24\2\0\2\0R\4\xf0\x002@\2\0\22\x010\22\0"\1\0\1 \2\1\20\xf2\0\0b B\x010\5\22\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20'
b'\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002@\2\0R\20\x012\0"\5\22 2\5"\0b B \x052\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002@\2\0\2\xd0\1%\22 2\5"\0b 2 \5\22\24\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\x010'
b'\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002\x80\1!\x92\x015\22\x102\5"\0b "02\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\xa0\1\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002`\1\22\21\xe5\1\2 "\5"\0b "\20\1\22\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\0\xa2\1\20\xc2\1'
b'\4\20\2\0\24\2\0\2\0R\4\xf0\x00202\xc0\1"E\20"\5"\0b "\20"\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\0\xa2\1\20\xc2\1\4\xf0\0\2\0R\4\xf0\x0020\2\x010\x82\1\1\0\x050\2\25\2\20R\0b \x020\2\4\2\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\xa0\1\2\20\xc2\1'
b'\4\0\xf2\0\0R\4\xf0\x0020\2\20\2\0\xb2\1\5"\20\22 \22\5"\0b \2 \22\4\2\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4\0\xf2\0\0R\4\xf0\x0020\1\20\2\0\xb2\1\5\22\25\x020b\0b \2\20\22\24\2\4\2\5\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1'
b'\x040(\0\30\0\2\20\xc2\1\4\0a\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\x020Q\20b \2\20\22\24\2\4\25\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\20"\4\2\4\5"\4\2\5P\2\0\2\5P\2\0\2'
b'\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4P\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\1\22\5\4\2\4\22\5\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4P\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\22%2\4\2\5'
b'P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\2\5\a \xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2'
b'\0\2\0\2\5B\5\2\4\2\5P\2\0\2\5P\2\0\2\27 \xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\a\21\2\20\xc2\1\x040\30\20\b\20\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2'
b'\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\0B\0\2\4\2\5P\2\0\2\5P\2\0\a\5\0\t\20\xc2\1\4\xa0\1\2\20\xc2\1\4 \30\0\2\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\a\5\0\a\20\xc2\1\4\0\xa2\1\20\xc2\1\4\xf0\0\2\0R\4\xf0\x00'
b'2@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\5\22\1\0"\4\2\5P\2\0\2\5P\2\0\a\5\0\t\20\xc2\1\4\0\xa2\1\20\xc2\1\4\0\xf2\0\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\0\2\20\2\0\2\0\4\2\5P\2\0\2\5P\2\27\5\0\a\20\xc2\1\4\xa0\1\2\20\xc2\1'
b'\4\0\xf2\0\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\0\2\x002\0\4\20\24\2\5P\2\0\2\5P\2\27\5\0\a\20\xc2\1\4\xf0\0\1\20\2\20\xc2\1\4\0a\2\0\22\1"\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \x012\21\20b \2\0\2\0\22\1\4\0\4\20\24\2\5P\2\0\2\5P\2\a\2\5\0\a'
b'\20\xc2\1\4P\33\22\0\2\20B\1b\4\xf0\0\2\0\2\0\2\24\2\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \x025"\0b \2\0"\20\4\0\4\2\0\24\2\5P\2\0\2\5P\2\a\2\5\0\a\20\xc2\1\4P\33\22\0\2\x102\1\0*2\4\20\24\0\21\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b '
b'\2\20\22\20\4\2\4\22\24\2\5P\2\0\2\5P\2\0\2\5\0\a\20\xc2\1\4 \33\0\33\22\0\2\20"\1\0\2$\5"\4\20\24\0\21\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20"\0\4\2\4\22\24\2\5P\2\0\2\5P\2\a9\a\t"\20*B\4 \33\0\33\22\0\2\20"\0T"\4\20\24\0\21\0'
b'\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\0\4\2\4\22\24\2\5P\2\0\2\5P\t\a\t\a\31\a\t\22\1\0\x0242\4 \33\0\33\22\0\2\20"\0T\n\22\4\20\24\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\22'
b'\24\2\5P\2\0\2\5P\a\20\t\20\a\0\22\0\2D\n"\4 \33\0\33\22\0\2\20"\0T\n\22\4\20\24\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\1"\5P\2\0\2\5P\a\2\5\t\22\a\22\20d\5\22\4 \33\0\33\22\0\2\20"\0$\22\4\n\22\4\20\24\0'
b'\21\0\2\0\2\0\24\2\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\0\5\1\0\5P\2\0\2\5P\a*\31\a\n\2\0\2d\n\22\4 \33\0\33\22\0\2\20"\0\24 \4\n\22\4\20\4\2\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4'
b'\2\4\x020\5P\2\0\2\5P\a2\t\a\22\0\xf4\0\n\22\4 \33\0\33\22\0\2\20"\0\4\20\2\0\4\n\22\4\xf0\0\2\0\2\0\4\0\4\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\0\2\20\5\1@\2\0\2\5\1@\t2\5\2\5\2\0\4\2\0\2\0\2\0\4\n\22\4 \33\0\33\22\0\2\20"'
b'\0\24\2\0\2\0\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\20\22\4\2\4\2\4\2\0\22\0\xc2\1\1 \a\5\2\31\2\5\t\2\0\4P\4\n\22\4\xa0\1\2\20"\0\4\0\4\0\4\0\n\22\4\0\xf2\0\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2'
b'\20\22\4\2\4\2\4\2\0\2\4\0\x85\2\a\t\5\2\5\2\t\5\2\0\4\2\4 \2\4\n\22\4\0\x91\1\2\20"\0\4\2\4\2\4\0\n\22\4\0a\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\x85\2\t\5\t\2\5\n\t\5\2\0\24\2\4\22\4\2\n\22\4\0\xa2\1'
b'\20"\0T\n\22\4\xf0\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\xf2\1\a\t\5\t\25\31\5\2\0\4\20\4\20\4\0\n\22\4\0\xa2\1\20"\0T\n\22\4\20\4 \2\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4'
b'\2\4\2\4\2\0\2\4\0\xf5\1\aI\25\t\2\0\4\20\4\20\4\0\n\22\4\xf0\0\21\0\2\20"\x004\2\0\n\22\4\20\4 \2\0\2\0\2\0\4\2\0\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\xf5\1\a\x197\25\2\0\xf4\0\n\22\4 \30 \21\0\2\20"\0\4\0\4 \n'
b'\22\4\20\4\0\2\0\2\0\2\0\2\0\4\0\4\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\22\1\xf5\1\a\5i\2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0$\0\24\n\22\4\20\4\0\4\0\2\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\1\xc2\1\5\22\25\2 \xf2\0\0b \2'
b'\20\22\4\2\4\2\4\2 \x85\2\t\2e\2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0\4\2\4\0\2\4\n\22\4\20\4\0\4\0\2\0\2\0\2\0\24\0\n\4\xf0\x002@\2\20\xc2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2 \x85\2\t\5\2U\2\0\4\22\4\2\4\2\4\n\22\4 \30\0\v\0\21\0\2\20"\0\4\0\4'
b'\20\4\n\22\4\20\4\0\4\0\2\0\2\0\2\0$\n\4\xf0\x002@\2\20\xc2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\1\0\x85\2\t%R\0\4\20\4\0\4\0\4\n\22\4 \30\0\v\0\21\0\2\20"\0T\n\22\4\20\2\0\2\0\2\0\2\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\23%\1\b\2\b\0\xf2\0\0b \2\20'
b'\22\4\2\4\2\4\2\4\0\4\x85\2\aE2\0\4\2\0D\n\22\4 \30\0\v\0\21\0\2\20"\0T\n\22\4\xf0\0\2\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\x035\b\5\30\x90\1b \2\20\22\4\2\4\2\4\2$\x85\2\aE2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\x004\0\4\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2'
b'\20\xb2\1\23%8\0\x025\22\5\0b \2\20\22\4\2\4\2\4\2$\xf9\1\27I\2\5\22\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0\4\20\4\0\4\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\23%8\0\xf2\0\0b \2\20\22\4\2\4\2\4\2$\x85\2\aI\2\5\22\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20'
b'"\0\4\0\2\4\2\4\n\22\4\0a\2\0\2\0\2\24\2\4\xf0\0"\5\2\1 \2\x102E"\23%8\0%B\0b \2\20\22\4\2\4\2\4\2$\xb5\19\aU\2\25\2\0D\22\4\n\22\4 \30\0\v\0\21\0\2\20"\x004\2\4\n\22\4\xf0\0\2\0\22\0"\4\xf0\0"% \2\20"g\25\23%8\0%B\0b \2\x102\4\2\4\22\24\xb5\1:\a\5B%\2'
b'\0D\20\4\n\22\4 \30\0\v\0\21\0\2\20"\x004\0\4\n\22\4\20\x110\2\0R\4\xf0\0"\20\5 \2\20\22\x97\1\23%8\0%B\0b \2\0\1\2%\4\2\4\2\5\24\xb5\x012\a\t\27%)\2\0\4 \4\20\4\n\22\4\0\xa2\1\20"\0T\n\22\4\20\21\0\30\0\2\0R\4P\2%\2\20\5 \2\20\22\x97\1\23%8\0\22\5B\0b '
b'\2\0\2\0\2\25\4\2\4\5\2\24\xb5\1)\'\xf5\0\2\0D\20\4\n\22\4\0\xa2\1\20"\0T\n\22\4\20\21\0\30\0\2\0R\4P\2%\xba\1\x97\1\23%(EB\0b \2\0\2\0\22\25\24\5\2\5\4\xc5\1\xc9\1\2\0\4 \4\20\4\n\22\4\xa0\1\2\20"\0T\n\22\4\20\25\0\30\0\2\0R\4P\2%\b\4\xba\1\5g\23%(%\0'
b'\5B\0b \2\0\2\0\2\5\2%"\4\xb5\1\2\xc5\1\2\0\4\20\2\4\20\4\n\22\4\xa0\1\2\20"\0T\n\22\x045\4\30\0\2\0R\4P\2%(\24\x8a\1\2\1W\23\25\1(%\0\5B\0b \2\0\2\0"\25\22\5\2\4\xb9\1\1\2\xb5\1\2\0\4"\4\20\4\n\22\4 \x040\30\0\2\20"\0T"\x045\n\1\b\0\2\0R\4P\2%H\x85\1 !'
b'\27\23\1\20(%\0\5A\0b \2\0\2\0\2\0B\5\2\4\xb9\1\0Q\5\1\5\21\5\1\2\0\4 \24\0\4\n\22\4 \4\0\2\0\v\30\0\2\20"\0D\n"5*\b\0\2\0R\4P\2%\0\xd8\1@\27 \25 %\0\5Pb \2\0\2\0b\0\2\4\xc5\1\xc0\1\2\0$\2\0$\n\22\4 \4\0\2\0\v\30\0\2\20"\0D25\n\t\n\20\2\0R\4P\2\xb5\4\0'
b'\5B\0b \2\0\2\0\x82\1\4\x95\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20"\1\20\32\x0525\b\0\b"\0R\4P\2%\xd0\3%\0\5B\0b \2\0\2\0\2\5"\0\22\0\4\x95\3\2\0\24\0$\0\4\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\25Z\22\0R\4P\2%@\xfa\0\5\xf2\1%\0\5B\0b \2\0\2\0\2\0\2\20\2\1'
b'\2\24\x95\3\2\0\4\20\4\20\2\4\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\5\n\4:\1\2\0R\4P\2% \1\2\x8a\1\5\xf2\0c%\0\5B\0b \2\0\2\0\2\1\2\20\4\0\1\24\x95\3\2\0\4\20\4\0\2\24\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\5\4\b*\5\0\2\0R\4P\2% \2\xaa\1R\x83\1%\1\5B\0b \2\0'
b'\2\0\22 \4\0\2\24\x95\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\48\32\2\0\2\0R\4P\2% \5Y\5:U\xf3\0UB\0b \2\0\2\0\2\1\0\4\0\4\0$\x99\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\27\2\30\n\31\0\2\0R\4P\2%\0\1\5\x8a\1\4( \x93\x015\0\5B\0b \2\0\2\0\2\0'
b'\24\0\4\2$\x99\3\2\0\xf4\0"\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\0\1\a\0\v\0\v\0\2\0R\4P\x025\1\0\xc8\1\3\5\xb3\1%\0\5B\0b \2\0\1\22\4\2\4\2\4\2$\x97\3\2\0d\n"\4\xa0\1\2\20\xc2\1\4\1\20\a\v\0\v\0\2\0R\4P\2eY\5(\x023\xd5\1\0\5B\0b \2\20\22\4\2\4\2\4\2$\x99\3\2'
b'\0d\n"\4\0\x91\1\2\20\xc2\1!\20\v\0\v\0\2\0"\1\22\4P\2%2U\2\30\5\27#\xa2\1%\0\x051\20b \2\20\22\4\2\4\2\x042\x97\3\2\0d\n"\4\0\xa2\1\20\xb2\1P\1\0\v\0\2\0\2\1\20\22\4P\2%\0\23\x82\x017#\xa0\1%\0\5Pb \2\20\22\4\2\4R\x97\3\2\0d2\4\0\xa2\1\20\xa2\1\x80\1\v'
b'\0\2\1\20:\4\2@\2\25#\xd7\1#\x92\1\v%\0\5;\20b \2\20\x82\1\25\x97\3\2\1\0\x024\x052\4\xa0\1\2\20\xa2\1\xe0\1*$@\2UYW\5#\x92\1\v%\0E\2\0bPR\5\xd7\3\22\1\20\32R\4\xf0\0\4\2\0\2\20\xa2\1P\1\xf0\0\32\1\2\1\n@\2\5CYG\25#\xd5\1\0\25\2\25\2\xb0\1\x0252\x175\a'
b'\25\'\5\ae\a\xf5\0\xc2\1\4\xf0\0\24\0\2\20\xa2\1`\2`"\32\1@Z\xf7\x005\1\b#\xa0\1%\0\5\x82\2\xf8\0\xea\3\xc2\1\4 \x010\24\0\2\20\xa2\1\xf0\0\1P2\1\4@Z\xf7\0\25\21\30#\xa0\1%\0\2\5\2\5\2\5"\5R\5(R\xea\3\xc2\1\4 \x010\24\0\2\20B\1"\25 \1@\x020B\v\2\1\33\21'
b'\xd5\1\1H#\x90\1\1%\20\21\v\1\v!\vQ\v\30B\x85\4\xc2\1\4 \1\0"\24\0\2\20B\0E \21@R$0$Zi\58\x023$\n\x95\1 \xeb\1\b\228\x8a\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\x000\1\xf0\0\1\22\0Q\n\2e\xa8\1C\2$\n\xc0\1\xc5\1(\2\30\4\xaa\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5'
b'\0@\2\x80\1\2\32Q9\1%\xc3\1\1\x134\n\xc0\x015\2E\22(\2\b\4\xca\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0P\2\xf0\0\2:A\t\n\x015\xf9\0\5#\33$\n\24\0+\20\v \5\0B%\22\25\2(\2\b\xea\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0\x80\1\22@\32\25\xf1\x002\xf5\0\23\1\33\a\24'
b'\n\24\2@+\20\5\0\2\25\22%\22\5\2(\2\b\4\xea\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0\20\x110\b\31\b0\24\x81\x014\x93\1\33\27\5\4\n\4\22\0\x010;\0\2\0\2\25\2\5\1\2\5\22\1\2\30\22\b\xfa\4\xc2\1\4 \1\0"\4\2\0\2\20\22\0%\30\0\23\0\a\31\a\20\b\t\n\30\xa4\2\xc7\1'
b'\4\n$\20\n\5\33\0[\2\x002\5"\5\22\30\22\30\xfa\4\xc2\1\4\xa0\1\2\20\22\0\25\2\30#\a\5\t\27\0\1H\4\3\4\5\2\5\1\t\1\xa4\1i\5\'\2$\2\20\2\nU"E\22\1%\22(R\xd5\4\xc2\1\4\0\xa2\1\20\22\20\30\27\23\5G\2\58\4\x035\1\n\5\1\x94\1\x97\1\2\32\24\2 \4\n\xa5\2\22\xf8'
b'\5\xc2\1\4\0\xa2\1\20"\0\30\27\23\x027\5\22%\32\23%1\xf4\2\20\4\20\4\n\xa0\1\x9b\a\xc2\1\4\0\x91\1 "\0\30\27\3\2\4\a\5\27\5B\32\23%1\xb2\2\n\24\2\0\24\20\4\n\xb1\1k\1K!K\21\xbb\1!K\xd1\1\xc2\1\4\xd0\1"\0\30\27\3\24\a\2\a\25\22 \32\23%\1\2\21\xb2\2\n\22'
b'\0$\20\4\n\5\2\xe5\1"E\a\25\a\x95\1\a\xd5\1\a5\a\x85\1\xc2\1\4\0\xc2\1\4\2\25\30\27\3\24\a\2\a\25\22(\32\23%\1\2\21\2%\xf2\1\n\x104\20\4\n\25BU\2\5B\25\22\x87\1\5\a%\a\25\a%\27\xf5\0\a%\27%\27\5\a\5\xc2\1\4\xd0\1\4\2\20\30\27\3\24\'\25\22(\32\23%1\0%'
b'\x80\2\2D\20\4\n5\2%\22\x85\1B\5\2\5\a\x1575\a\x85\1\a%\'\5\a5\a%\'\5\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25\22(\32\23%1\0%\xd0\1\2\4\nT\20\4\n\22%B\5\22G\x052\25\x175\27\x95\1\27\25\x175\xf7\0\25\'\25\a\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25\22 \32\23%!E\x90'
b'\1"\0\24\nT\20\4\n\22\25\22\5"\5\x127%\2\5\2\5\22\27%\27\xa5\1\a\25\27\25g\25\'\25\a\25\a\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25B\32\23%!%\2\5\xf1\0\20"\0\24\nT\20\4\n\22\25\22\5\22\5\2\5G%\2\5B\a\xf5\1\a\5\27%g\x157E\xc2\1\4\xb0\1%\1\20\30\27\3\22\'\25\22'
b'%\32\23%!%\0\5\xf2\0\20"\0\24\nT\20\4\n\2%B\5\2\5\x1757B\xb5\1W\5\x175W\x157E\xc2\1\4\xb0\1% \30\20\3\20\'\25\22(\32\20% %\0\5\xf2\0\20"\0\24\nT\20\4\nE2U\a\5G\xb5\x017\5\aE\a\x85\1\x87\x015\a\xc2\1\4\0\xa2\1%\xd0\3%\0\5\xf2\0\20"\0\24\nT\20\4\n\2e\2e'
b'\x87\x012%\'5W%\xe7\1U\xb2\1$\33\x80\1\xb5\4\0\5\xf2\0\20"\0\24\nT\20\4\n\v\20[\xa5\3\x87\4\xa2\1\4\22\4\0\v\xf0\0\v%\v( \27 \24 \27\20\30 \22\20%\0\5\xf2\0\20"\0\24\nT\20\4\n\2\5\2%\2\27%G\25\a\5\a\x057\x152EW\x85\1\a%WE\a\xd2\1\4\x80\1\v\0%\v(\21\0\27'
b' \24 \25\21\30\21\0\22\20%\0\5\xf2\0\20"\0\24\nD\2\20\4\n\xd5\1\'%\27\x85\1"5\22\25\27\x85\1\a%\27\25\'5\a\xd2\1\4\v0;\20%\v(\21\3\27\24\0\24\0\x185\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n4\2 \4\2%\22U\a\25\'%\27\x85\1\2\5\2\5B\25\'\5\a\25\27%G%\27%\27R\4b'
b'\4+ +\20%\v\b\2\b\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n$\x020\2\0\5\2\5\2%\'\5\x87\1\5\'%2\25\2\25\22%\aB\a\5\a5G\5\aE\a\5\a\xd2\1\4\v\20[\0\v%\v\b\2\b\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n\24`\xb5\1'
b'\27U\a\25\27%\2%\x025\22%\a5\2eB\25\xd2\2\4\0[\20\33%\v(\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n\4`5\2%\'%\a\xf5\0\27U\2\5b\5\2\27\x92\1\5\1\5B%2\25\24\xb2\1\4\33@\33\0\v%\v(\21\3\27\24\0\24\0\x185\30\22\0\22\3\0E\xf2\0\20"\0\24'
b'\n \33\5\v\1%\x025\a\25gE\27E\a\x85\x017\5\2e\2\xa5\1\x025\xf2\1\33@\33\20%\0(\21\3\27 \24\0\30\25\21\30\22\20\1\3\0%\2\5\xf2\0\20"\0\24\n\20\33\25\1\5\22\5\2e\a\5\a\25\x175\'5\27%\a5\'\xa5\1\2\xa5\1\x015\xe2\1\1+\20\33\0\v\20%\1"\20\3\27 \22\0\22\27'
b'\x102 \3\0%\0\5\xf2\0\20"\0\24\n\33\1E\2\1\xf5\0\a\25\aU\a\5\'\25W\5\'\25\'U"\25\22\25B\xf5\0\xc2\1\4\1\33\20\33\0+\20\xb5\4\0\5\xf2\0\20"\0\24\n\0\5\x125\22\xa5\1\a\25\a57\x057\25G\5G5\27\25\27\5\2\25B\x85\1\xa2\1\4\33 \x8b\1% T\30\25\2\b`\23P%\0\5\xf2'
b'\0\20"\0\24\n\25\22\x052U\a\x85\1\27E\x97\x015\'\5\27\5\a\5\a\xb5\1\x125\2\5\2\25\x82\1\4\xf0\0K\x105\20\xf4\0\30\25\30@3K%\0\5\x90\1"\0\24\n\x025\2\x85\1\a%\27E\a5\x87\1U\xf7\0\x95\x0175\a%\22\5b\4;\0K\0\v\0\v\25\x005\x94\1\5\4\b\25\30\0Ck%\0\5\x90\1"'
b'\0\24\n5\2\25\a\xa5\1\'\25\xf7\0\25\27\5\'\25G\5W\x157\5\a\5\27\xc5\1\xf2\0\xe0\1\21\0\1%\4\x82\1\5\2\0\2\25\x183\25A\v%\0\5\x90\1"\0\24\2\x91\1e\x87\6\v\1\33\x81\1b\xa0\2%\4\xf5\0\22 \b\5\30#\0e\v%\0\2+\0;\20"\0\4\2\xa0\1e\x87\6\33\21\x80\1"\4\1+\0\x8b'
b'\1\25\0\25\2E\x94\x010(#\20k\0%\20\33\0\5+\5\v\0"\0\2\0\5"\25\x87\1\5\27EGE\x175\'%g\5\27U\a\x057\25\'E\22\5\2\24;\0\33\20;5\0\2\25\22\xb5\4 5\22\25P\a\2\5\22\5\27\5\x97\x015W\25\a\25\27\25\a\x157\5\x97\x015\a\25G\x057\25\a\25\22\5'
)

draw_image(image, 0, 0, 160, palette, zoomx=1, zoomy=1, itransp=-1)
draw_image(image, 320, 0, 160, palette, zoomx=-1, zoomy=1, itransp=-1)

Une image utilisant
12
couleurs. Les données de la palette occupaient donc :
  • 158
    octets en mémoire de stockage
  • $mathjax$40+12\times\left(8+40+3\times\left(8+24+4\right)\right)$mathjax$
    soit déjà
    1,912 Ko
    à l'exécution en mémoire
    heap

Mais gros avantage sur
NumWorks
, il est possible d'écrire les paramètres de couleur différemment. Les chaînes hexadécimales sont en effet acceptées, et désormais utilisées par
img2calc
lorsque tu choisis de convertir pour cette plateforme, une amélioration suggérée par :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"#000000","#682878","#88705C","#50c000","#f88418","#a0a8a0","#f8fc00","#00fcf8","#f80000","#f8fcf8","#f8acb0","#0000f8",
)

Les données de la palette n'occupent maintenant plus que :
  • 133
    octets en mémoire de stockage
    (-15,82%)
  • $mathjax$40+12\times\left(8+49+7\right)$mathjax$
    soit
    808
    octets à l'exécution en mémoire
    heap
    (-57,74%)




3) Optimisation palette : noms de couleurs

Go to top

Il existe encore une façon d'écrire différemment certaines valeurs de couleurs, en fournissant simplement leur nom. Cette écriture est gérée uniquement sur
NumWorks
et
KhiCAS
(éditions
NumWorks
et
TI-Nspire CX
)
. Par contre les deux plateformes ne reconnaissent pas les mêmes noms.

Sur
KhiCAS
, nous avons 8 couleurs nommées :
  • "black" : (0, 0, 0)
  • "red" : (255, 0, 0)
  • "green" : (80, 193, 2)
  • "blue" : (0, 0, 255)
  • "yellow" : (255, 255, 0)
  • "cyan" : (0, 255, 255)
  • "magenta" : (255, 5, 136)
  • "white", "w" ou toute autre valeur : (255, 255, 255)

Sur
NumWorks
, nous avons 13 couleurs nommées :
  • "w" ou "white" : (255, 255, 255)
  • "k" ou "black" : (0, 0, 0)
  • "gray" ou "grey" : (167, 167, 167)
  • "r" ou "red" : (255, 0, 0)
  • "g" ou "green" : (80, 193, 2)
  • "b" ou "blue" : (0, 0, 255)
  • "y" ou "yellow" : (255, 255, 0)
  • "brown" : (141, 115, 80)
  • "pink" : (255, 171, 182)
  • "orange" : (254, 135, 31)
  • "purple" : (110, 45, 121)
  • "cyan" : (0, 255, 255)
  • "magenta" : (255, 5, 136)

Lorsque ton image utilise une de ces couleurs,
img2calc
utilisera désormais le nom le plus court associé si plus intéressant que l'écriture hexadécimale lorsque disponible, autre amélioration suggérée par .

Sur
NumWorks
, "magenta" est la couleur au nom le plus long, et est ici sans intérêt par rapport à l'écriture hexadécimale.
Sur
KhiCAS
, pour le blanc on peut donc utiliser "".

Les 12 couleurs de l'image ci-contre appartiennent justement à cette liste, la seule n'y figurant pas étant le magenta.

Voyons ce qu'elle donne maintenant, commençons par
KhiCAS
:
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"black",(104,40,120),(136,112,80),"green",(248,132,24),(160,168,160),"yellow","cyan","red","",(248,172,176),"blue",
)

Les données de la palette n'occupent maintenant plus que :
  • 129
    octets en mémoire de stockage
    (-18,35%)
  • $mathjax$40+12\times 8 + 5\times\left(40+3\times\left(8+24+4\right)\right)+7\times 49+5+5+6+4+3+0+4$mathjax$
    soit
    1,246 Ko
    à l'exécution en mémoire
    heap
    (-34,83%)

Et convertissons maintenant pour
NumWorks
:
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"k","#682878","brown","g","orange","#a0a8a0","y","cyan","r","w","#f8acb0","b",
)

Les données de la palette occupent donc maintenant :
  • 92
    octets en mémoire de stockage
    (soit -30,83% par rapport à l'écriture hexadécimale, et -41,77% par rapport à l'écriture tuple initiale)
  • $mathjax$40+12\times\left(8+49\right)+1+7+5+1+6+7+1+4+1+1+7+1$mathjax$
    soit
    766
    octets à l'exécution en mémoire
    heap
    (soit -5,20% par rapport à l'écriture hexadécimale, et -59,94% par rapport à l'écriture tuple initiale)

On peut remarquer toutefois que plusieurs couleurs n'ont pas été remplacées par leur nom associé et sont restées sous l'écriture hexadécimale, celles pour lesquelles les valeurs des composantes ne sont ni maximales ni minimales. En effet l'image lors de la conversion subit un prétraitement
(passage en
RGB-565
avec fusion des couleurs proches dont l'affichage est identique sur calculatrice)
, opération lors de laquelle les valeurs de couleurs peuvent légèrement varier. Et il suffit de quelques unités en plus ou en moins sur une seule des composantes pour que cela ne corresponde plus.




4) Contrôle du nombre de couleurs

Go to top

Une bizarrerie avait été signalée par et .

avait tenté de convertir l'image
Bomber
ci-contre, à première vue une image monochrome très simple, et donnant pourtant jusqu'à présent un énorme script de
18,9 Ko
, particulièrement douloureux à faire passer sur
NumWorks
, sa calculatrice préférée :
Code: Select all
#palette for your image
#87 RGB-888 colors
palette = (
(255,255,255),(255,251,255),(231,228,231),(182,183,182),(157,163,157),(190,191,190),(239,240,240),(107,101,107),(7,7,7),(2,2,2),(2,0,2),(2,4,2),(174,172,175),(247,247,247),(116,118,116),(0,0,0),(36,41,36),(223,228,223),(247,251,247),(223,224,223),(116,114,116),(99,101,99),(99,93,99),(99,97,99),(215,211,215),(239,243,240),(231,232,231),(149,151,149),(133,131,133),(207,207,207),(166,163,167),(7,4,7),(7,12,7),(73,76,73),(18,17,18),(27,31,27),(157,159,157),(174,176,175),(55,58,55),(149,147,149),(45,45,45),(223,220,223),(36,35,36),(133,135,133),(90,88,90),(107,105,107),(166,168,167),(149,155,149),(55,54,55),(90,84,90),(239,236,240),(27,26,27),(124,122,124),(18,21,18),(247,243,247),(81,84,81),(81,80,81),(198,199,198),(207,203,207),(182,179,182),(215,216,215),(166,172,167),(73,71,73),(64,67,64),(124,126,124),(107,109,107),(64,63,64),(215,220,215),(207,211,207),(27,21,27),(182,187,182),(55,50,55),(45,41,45),(141,143,141),(36,31,36),(73,67,73),(231,236,231),(190,187,190),(157,155,157),(141,139,141),(18,12,18),(198,195,198),(45,50,45),(198,203,198),(190,195,190),(90,93,90),(64,58,64),
)

#your image data
#240x74 RLE-7 pixels
image = (
b"\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\x96\x81\0\x82\0\x83\0\x84\0\x85\0\x86\0\x80\xe8\x86\0\x87\0\x88\0\x89\0\x8a\0\x89\0\x8b\0\x8c\0\x81\0\x80\3\x8d\2\x80\xde\x8d\0\x8e\0\x8f\5\x90\0\x91\0\x92\0\x93\0\x8c\0\x94\0\x95\0\x96\0\x97\0\x94\0\x84\0\x98\0\x99\0\x80a\x9a\0\x9b\0\x94\0\x9c\0\x9d\0\x81\0\x80r\x9e\0\x9f\0\x8f\5\xa0\0\x9c\0\xa1\0\xa2\0\xa0\0\x8f\4\x8a\0\xa0\0\xa3\0\xa4\0\x91\0\x80^\xa5\0\xa6\0\x9f\0\x8f\1\xa0\0\xa7\0\x92\0\x80q\x95\0\x8f\24\xa8\0\x8c\0\x92\0\x80[\xa9\0\xaa\0\x8f\4\x88\0\xa5\0\x80p\x9a\0\x9f\0\x8f\26\xab\0\x81\0\x80Y\x8d\0\xac\0\x8f\6\xad\0\x92\0\x80o\xae\0\x8f\27\x8b\0\xaf\0\x81\0\x80X\x93\0\xb0\0\x8f\6\xb1\0\x8d\0\x80n\xb2\0\xa1\0\x8f\30\xb3\0\xa9\0\x80X\x9b\0\x89\0\x8f\6\xb4\0\x81\0\x80n\x9d\0\xaa\0\x8f\31\x8e\0\x80W\x81\0\xad\0\x8f\6\x89\0\xae\0\x80n\x81\0\xab\0\x89\0\x8f\31\xb5\0\xb6\0\x80V\x93\0\xa2\0\x8f\6\xb0\0\x98\0\x80n\x92\0\xa8\0\x8f\v\xb3\0\xb7\0\xac\0\xb8\0\xa2\0\x8f\t\x8b\0\xb9\0\x80V\xae\0\x8f\a\x97\0\x92\0\x80n\xba\0\x8f\t\x88\0\xb7\0\xbb\0\xbc\0\x86\0\x99\1\x9d\0\xa1\0\x8f\b\x89\0\xbd\0\x80U\xb6\0\xbe\0\x8f\a\xbb\0\x80n\x81\0\x94\0\x8f\b\xaa\0\x8c\0\x8d\0\x80\5\x93\0\xa8\0\x8f\b\x97\0\x80U\xbc\0\xa3\0\x8f\6\xb3\0\x86\0\x80n\x9a\0\xbf\0\x8f\a\x90\0\x83\0\x81\0\x80\6\x81\0\x94\0\x8f\b\x87\0\x80U\xa7\0\x8a\0\x8f\6\x8e\0\x81\0\x80n\xbb\0\xb3\0\x8f\a\xa4\0\x81\0\x80\b\xc0\0\x8f\a\x89\0\xbb\0\x80T\x92\0\xb7\0\x8f\6\x88\0\xbd\0\x80n\x81\0\xb4\0\x8f\a\xbf\0\x86\0\x80\b\x8d\0\xc1\0\x8f\a\x8b\0\xba\0\x80T\xbc\0\x9f\0\x8f\6\xc2\0\x91\0\x80.\x86\0\xc3\0\x85\0\x83\0\xc4\0\x8d\0\x809\x86\0\xaa\0\x8f\a\xab\0\x81\0\x80\b\x82\0\xbf\0\x8f\a\x9f\0\x99\0\x80T\xa7\0\x8f\a\xb4\0\x81\0\x80-\xbc\0\x94\0\xc5\0\x8f\1\x89\0\x95\0\xbc\0\x808\xc6\0\x8f\a\xaa\0\x85\0\x80\t\xbb\0\x89\0\x8f\a\x97\0\x80T\x86\0\xbe\0\x8f\a\x9d\0\x80-\x9a\0\xac\0\x8a\0\x8f\4\xaa\0\x99\0\x806\x92\0\xb7\0\x8f\a\xbf\0\x99\0\x80\1\xb2\0\x93\0\x9a\0\xb6\0\x80\1\x81\0\xb9\0\xb3\0\x8f\a\x9f\0\x83\0\x80T\x8c\0\xc5\0\x8f\6\xb0\0\x92\0\x80,\x92\0\x94\0\x8f\6\x8a\0\xc1\0\x8d\0\x805\xbc\0\x90\0\x8f\a\xa7\0\x80\0\xa9\0\xc1\0\xc7\0\xc8\0\xa8\0\xb0\0\xc9\0\xa9\0\xbb\0\xca\0\x8a\0\x8f\a\xcb\0\xcc\0\x80\n\x81\0\x86\0\x91\0\xcd\0\xa4\0\x9b\1\xce\0\xc6\0\x98\0\x92\0\x80\20\xb2\0\x98\0\xae\0\x9b\0\x9e\0\xbc\0\x80\0\x92\0\xcc\0\xb9\0\xa4\0\x9b\1\x9e\0\xb9\0\x86\0\x80\4\x81\0\x8d\0\xbc\0\x85\0\x9b\2\x9e\0\x85\0\x9a\0\x80\r\x8d\0\xc0\0\x8f\a\x87\0\xa5\0\x9b\2\xcd\0\x82\0\x80\22\x81\0\x8d\0\x93\0\x85\0\xa4\0\x9b\2\xcd\0\xa9\0\x92\0\x80\t\xa9\0\xa3\0\x8f\a\xca\0\xa9\0\x805\x9b\0\x8f\a\xa0\0\x93\0\xbb\0\xa6\0\x8f\20\x89\0\x85\0\x80\t\x81\0\xba\0\xcf\0\xbe\0\x8f\a\xa8\0\xcf\0\x93\0\x80\r\x86\0\x87\0\x8f\4\x95\0\x9c\0\xd0\0\x8f\5\xa3\0\xc0\0\xcc\0\x80\0\x81\0\x9a\0\xc9\0\xb7\0\x8f\a\x97\0\xbb\0\x92\0\x80\n\x9a\0\xb0\0\x8f\16\x97\0\xc6\0\x81\0\x80\16\x9a\0\x9b\0\x97\0\x8f\a\xbf\0\xcf\0\xb2\0\x80\a\xae\0\x88\0\x8f\b\xa5\0\x804\x92\0\xad\0\x8f\a\x97\0\x9d\0\xa6\0\x8f\20\x8a\0\xad\0\x92\0\x80\b\x9a\0\x94\0\x90\0\x8f\v\xa3\0\xa4\0\x80\v\x99\0\xc1\0\x8f\20\xa1\0\x9d\0\xa4\0\xa8\0\x8f\n\x88\0\x97\0\x86\0\x80\t\xd1\0\x8f\20\xd0\0\xc9\0\xb6\0\x80\v\x8d\0\xbb\0\xc2\0\x8f\v\xc2\0\x83\0\x80\6\xc0\0\x8f\b\x8a\0\xa5\0\x804\x93\0\x8f\a\x9f\0\xae\0\x9c\0\x8f\21\xbe\0\x91\0\x80\b\x98\0\xb8\0\x8f\16\x8a\0\x8e\0\x86\0\x80\t\xb9\0\xa3\0\x8f\21\xc5\0\x8f\16\xa1\0\x86\0\x80\a\x81\0\x94\0\x8f\22\x97\0\x8d\0\x80\t\xb2\0\x9c\0\x8f\17\xcf\0\x92\0\x80\3\x81\0\x94\0\x8f\b\x9f\0\x95\0\xbb\0\x86\0\x802\x9e\0\x8f\a\xd2\0\x98\0\xaa\0\x8f\20\x9f\0\xd1\0\x80\b\x98\0\xa1\0\x8f\20\x9f\0\xb4\0\x80\t\x9b\0\x8f#\xb7\0\x92\0\x80\6\x9a\0\xd2\0\x8f\22\x9f\0\xae\0\x80\b\x81\0\xc0\0\x89\0\x8f\17\x9f\0\xa4\0\x80\4\xce\0\x89\0\x8f\t\xd0\0\xc2\0\xc9\0\x91\0\x80/\x99\0\xb0\0\x8f\a\xc1\0\xa9\0\x9f\0\x8f\16\x8a\0\xc2\0\xd1\0\x80\b\x82\0\x90\0\x8f\22\x8b\0\xa5\0\x80\a\x81\0\xbf\0\x8f#\x8b\0\xcd\0\x80\6\xae\0\xa0\0\x8f\23\xc5\0\xa9\0\x80\6\x8d\0\xab\0\x8f\22\xc8\0\x9a\0\x80\3\xbc\0\xb3\0\x8f\r\xc0\0\x93\0\x80-\x9d\0\xa3\0\x8f\a\x9d\0\xc4\0\x8b\0\x8f\16\xd0\0\xa9\0\x80\b\x8d\0\x8e\0\x8f\24\xbe\0\x86\0\x80\6\x93\0\x8b\0\x8f$\xc0\0\x81\0\x80\4\x92\0\x94\0\x8f\24\x89\0\xab\0\x80\6\xd1\0\xb5\0\x8f\23\x9b\0\x80\3\x8d\0\xad\0\x8f\r\x89\0\xa8\0\xd3\0\x80+\x92\0\xb4\0\x8f\a\xa8\0\x8d\0\x9a\0\x9f\0\x8f\16\x89\0\x9b\0\x92\0\x80\a\xa5\0\xa0\0\x8f\a\xd2\0\xb7\0\x9b\0\xab\0\xc2\0\x9f\0\x8f\6\x9f\0\xd1\0\x80\5\x81\0\xab\0\x8a\0\x8f\b\xbe\0\x8e\0\xa4\0\xbe\0\x89\0\x8f\t\xc5\0\xb8\0\x8e\0\xb4\0\xca\0\x8f\a\x97\0\x8d\0\x80\4\x93\0\xaa\0\x8f\b\xd0\0\xb7\0\xae\0\xb4\0\xaa\0\x8f\a\xb8\0\x8d\0\x80\4\x9a\0\xbf\0\x8f\b\xb8\0\xc9\0\xc0\0\xd2\0\x8f\a\xca\0\xb2\0\x80\3\x9d\0\x8f\17\x9f\0\xc9\0\x92\0\x80)\x99\0\xbe\0\x8f\a\xab\0\x80\0\x92\0\xa8\0\x8f\17\xd0\0\x85\0\x80\a\x97\0\x8f\a\xbf\0\xba\0\x8d\0\x80\1\xb2\0\xc0\0\x89\0\x8f\6\xa7\0\x80\5\x86\0\xa1\0\x8f\b\xcb\0\x93\0\x81\0\x80\0\xcc\0\xb8\0\x8f\t\xa5\0\x86\0\x80\0\x81\0\xa4\0\x8f\a\xa1\0\x86\0\x80\4\xa5\0\x8f\b\xd2\0\x85\0\xb6\0\x80\0\x81\0\xc6\0\xa3\0\x8f\6\xa2\0\x9a\0\x80\4\xcd\0\x8f\b\x94\0\xb6\0\x80\0\x92\0\xbc\0\x88\0\x8f\6\xc5\0\xba\0\x80\3\xa5\0\x8f\20\xa0\0\x85\0\x80)\xd4\0\x8f\a\xa3\0\x9d\0\x80\1\xa5\0\x89\0\x8f\17\xcb\0\x81\0\x80\5\x9a\0\x8f\a\xb8\0\xcc\0\x80\4\x9a\0\xca\0\x8f\6\xb4\0\x80\5\x85\0\xb3\0\x8f\a\xac\0\xb6\0\x80\3\xc0\0\x8f\a\xaa\0\xa5\0\x80\3\x98\0\x90\0\x8f\6\xb7\0\x99\0\x80\3\x92\0\xb7\0\x8f\a\xbe\0\x98\0\x80\3\x92\0\xb7\0\x8f\a\x93\0\x80\3\x92\0\xb7\0\x8f\a\xad\0\x8d\0\x80\3\xa7\0\x8f\6\x89\0\xa5\0\x80\2\x8d\0\xb7\0\x8f\21\x90\0\x82\0\x80(\xab\0\x8f\a\xc2\0\x86\0\x80\1\x99\0\xc9\0\x89\0\x8f\16\x9f\0\xbc\0\x80\5\x8c\0\x8f\a\x83\0\x80\5\xb2\0\xaa\0\x8f\6\x95\0\x80\5\x9c\0\x8f\a\xb0\0\x82\0\x80\3\x8d\0\xc2\0\x8f\a\xa7\0\x92\0\x80\3\x83\0\x9f\0\x8f\6\xc1\0\x8d\0\x80\3\xa9\0\xb3\0\x8f\6\x8a\0\xd1\0\x80\4\x81\0\xd5\0\x8f\a\x93\0\x80\3\x93\0\xa3\0\x8f\a\x9d\0\x80\4\xae\0\x8f\a\xc0\0\x80\2\xbc\0\xb3\0\x8f\21\x89\0\xaf\0\x80'\x9a\0\xd2\0\x8f\a\xce\0\x80\4\x9d\0\xd5\0\xa8\0\xaa\1\xa8\0\xc7\0\x88\0\x8f\b\x87\0\x81\0\x80\3\xcc\0\xbf\0\x8f\6\xa6\0\xb6\0\x80\5\x91\0\xa3\0\x8f\6\x94\0\x80\4\x8d\0\xca\0\x8f\6\xd0\0\xa4\0\x80\4\xd1\0\xa2\0\x8f\6\xd2\0\xb6\0\x80\4\x94\0\x8f\6\x9f\0\x9b\0\x81\0\x80\2\x81\0\xb4\0\x8f\a\xb4\0\x80\5\x9a\0\xbe\0\x8f\6\x9f\0\x93\0\x80\3\xa4\0\x89\0\x8f\6\xca\0\x80\5\x84\0\x8f\6\xa0\0\x8c\0\x80\1\x81\0\x94\0\x8f\6\xb0\0\xc5\0\x8f\n\xc1\0\x8d\0\x80&\x9e\0\x89\0\x8f\a\x9a\0\x80\5\xb6\0\xa9\0\x9d\1\xa9\0\x9a\0\x9b\0\x89\0\x8f\a\xa1\0\xb2\0\x80\3\xb9\0\xa3\0\x8f\6\x94\0\x80\6\xb9\0\xb5\0\x8f\6\x9b\0\x80\4\xc4\0\x8f\a\xd2\0\xb2\0\x80\3\x92\0\x9c\0\x8a\0\x8f\6\xce\0\x80\4\x8d\0\xa2\0\x8f\6\xc5\0\xbc\0\x80\3\x8d\0\xb1\0\x8f\a\xae\0\x80\5\xcd\0\x88\0\x8f\6\xb0\0\x86\0\x80\2\x8d\0\xad\0\x8f\a\x9c\0\x80\5\xad\0\x8f\6\xc5\0\xba\0\x80\1\x99\0\xcb\0\x8f\5\xc8\0\x9a\0\xd1\0\x94\0\xa2\0\x8f\b\x95\0\x8d\0\x80%\x8d\0\x94\0\x8f\a\xad\0\x80\r\x97\0\x8f\a\x90\0\x93\0\x80\3\x9c\0\x8a\0\x8f\5\xb3\0\xc6\0\x80\5\x8d\0\x8e\0\x89\0\x8f\5\x9f\0\xcd\0\x80\3\x81\0\xc1\0\x8f\a\x9c\0\x80\4\xc3\0\xd6\0\x8f\6\xc8\0\x98\0\x80\4\xbb\0\x8f\a\xcb\0\x8d\0\x80\3\xbc\0\x89\0\x8f\6\xbf\0\xc3\0\x80\5\xab\0\x8f\a\x97\0\xb6\0\x80\2\xbc\0\x89\0\x8f\6\xa2\0\xbb\0\x80\3\x99\0\x9e\0\x88\0\x8f\6\xaa\0\x9a\0\x80\1\xb9\0\x8a\0\x8f\5\xaf\0\x80\2\xb9\0\x8f\b\x94\0\x8d\0\x80%\x91\0\xca\0\x8f\a\xce\0\x80\r\xa5\0\x8f\a\x89\0\xd1\0\x80\3\xca\0\x8f\6\xb0\0\x86\0\x80\5\x86\0\xb8\0\x8f\6\xa8\0\x91\0\x80\3\x9a\0\xb0\0\x8f\a\x85\0\x80\4\xcd\0\x8f\a\xa1\0\xb6\0\x80\3\x8d\0\xad\0\x8f\a\xae\0\x80\4\xa4\0\x8f\a\xac\0\x92\0\x80\4\x8d\0\xa8\0\x8f\6\x89\0\xa7\0\x80\3\xae\0\x8f\a\x88\0\xa1\0\xb9\0\xa9\0\x91\0\xd3\0\xb8\0\xd0\0\x8f\a\xd5\0\x81\0\x80\1\xc0\0\x8f\5\xb3\0\xc4\0\x80\2\x81\0\xc7\0\x8f\a\x9c\0\x81\0\x80%\xbb\0\x8f\a\xa6\0\xd1\0\xb9\0\xbd\0\xc9\0\xcf\2\xce\0\x83\0\x91\0\x8d\0\x80\3\x83\0\x8f\b\x85\0\x80\2\xbc\0\x8f\a\xa7\0\x80\3\x99\0\xcd\0\x9b\0\x8e\0\x89\0\x8f\6\xb7\0\xb6\0\x80\3\xae\0\x89\0\x8f\6\xbf\0\x9a\0\x80\4\x8e\0\x8f\6\x8a\0\xae\0\x80\4\x98\0\xd2\0\x8f\6\xa0\0\xbc\0\x80\3\x99\0\x90\0\x8f\6\x89\0\x85\0\x80\2\x91\0\xce\0\xcb\0\x88\0\x8f\a\xa3\0\xbc\0\x80\2\x92\0\x90\0\x8f\t\x89\0\x8b\0\x9f\0\x8b\0\x8f\b\x89\0\xd1\0\x80\1\x82\0\xaa\0\x8f\5\xb8\0\x86\0\x80\2\x81\0\xaa\0\x8f\6\xb3\0\xd4\0\x80\5\x99\0\x93\1\xcc\0\x92\0\x80\32\x92\0\xb8\0\x8f\a\xd0\0\xa6\0\xa0\0\x8f\6\xd2\0\xb7\0\xd1\0\x8d\0\x80\1\x83\0\x8f\b\x85\0\x80\1\x81\0\x94\0\x8f\a\x98\0\x80\2\xc4\0\xbe\0\x89\0\x8f\t\xce\0\x80\4\x94\0\x8f\a\xb4\0\x92\0\x80\3\xb2\0\xaa\0\x8f\6\x8b\0\x9a\0\x80\4\xa7\0\x8f\a\x87\0\x8d\0\x80\3\xc4\0\xc5\0\x8f\6\xa8\0\xb6\0\x80\1\x91\0\xa8\0\x8f\n\xd5\0\x81\0\x80\2\xc4\0\xc5\0\x8f\26\xb7\0\x99\0\x80\1\xaf\0\x89\0\x8f\5\x9b\0\x80\3\xbc\0\x8f\a\xb0\0\x86\0\x80\4\xba\0\xb1\0\xa8\0\xaa\0\xa6\0\x95\0\xb6\0\x80\31\xbc\0\xb3\0\x8f\24\xac\0\x9d\0\x81\0\xce\0\x8f\a\x88\0\xb9\0\x80\1\x82\0\xa6\0\x8f\6\xb1\0\x8d\0\x80\1\x93\0\xc5\0\x8f\n\xb5\0\x9a\0\x80\3\x8d\0\x89\0\x8f\6\xb3\0\xd4\0\x80\4\xae\0\xa0\0\x8f\6\xad\0\x80\4\x81\0\xbe\0\x8f\6\xa2\0\x83\0\x81\0\x80\2\x8d\0\x94\0\x89\0\x8f\6\xc9\0\x80\1\x93\0\xa6\0\x8f\v\x85\0\x80\2\x92\0\x94\0\x89\0\x8f\25\xa8\0\x9d\0\x81\0\x80\0\x86\0\xd5\0\x8f\5\xa2\0\x9a\0\x80\2\x81\0\x8e\0\x8f\a\xa7\0\x80\4\xc3\0\xc7\0\x8a\0\x8f\3\x87\0\x8d\0\x80\30\xc9\0\x8a\0\x8f\25\xca\0\xae\0\xbe\0\x8f\a\xa6\0\x93\0\x80\1\x8c\0\xa2\0\x8f\6\xb4\0\x81\0\x80\0\xb6\0\xc0\0\x8a\0\x8f\n\xb4\0\x80\4\xa5\0\x8f\a\xb0\0\x86\0\x80\3\xb6\0\x87\0\x8f\a\x8c\0\x80\4\x93\0\x8f\a\xd2\0\x9a\0\x80\3\x9a\0\xbe\0\x8f\a\x83\0\x80\1\xce\0\x9f\0\x8f\n\x90\0\x82\0\x80\2\x82\0\xc2\0\x8f\26\xce\0\x81\0\x80\1\xc4\0\xb3\0\x8f\5\xc2\0\x80\3\x9a\0\xc2\0\x8f\a\xbc\0\x80\4\x84\0\x8f\5\xd2\0\x93\0\x80\27\x99\0\xb1\0\x8f\30\x8b\0\x8f\a\xb1\0\x86\0\x80\0\x81\0\xc1\0\x8f\6\x8a\0\xa4\0\x80\1\x9d\0\xca\0\x8f\n\xd2\0\xbc\0\x80\3\x82\0\xc2\0\x8f\a\x9e\0\x80\4\x98\0\xa3\0\x8f\6\xbf\0\x93\0\x80\3\x81\0\x8e\0\x8f\a\xa7\0\x80\4\xcd\0\x8a\0\x8f\6\xc5\0\x9d\0\x80\0\x92\0\x95\0\x8f\v\xb4\0\x8d\0\x80\1\x92\0\xcf\0\x8a\0\x8f\24\xb3\0\xa4\0\x86\0\x80\2\xa4\0\x8f\6\xc1\0\x80\3\xce\0\x89\0\x8f\6\x95\0\x8d\0\x80\3\x99\0\xb3\0\x8f\5\xd6\0\x91\0\x80\27\xa9\0\xa2\0\x8f!\xc1\0\x81\0\x80\0\xb2\0\xb3\0\x8f\6\xca\0\x9d\0\x80\1\xa5\0\x8f\n\x8b\0\xa4\0\x92\0\x80\3\xc9\0\x88\0\x8f\a\xbc\0\x80\4\xae\0\x8f\a\x95\0\x8d\0\x80\3\x9a\0\xc2\0\x8f\a\x9d\0\x80\4\xcf\0\x8f\a\xbe\0\x86\0\x80\0\x8d\0\xa1\0\x8f\n\xb3\0\xc6\0\x80\1\x8d\0\xaf\0\x9f\0\x8f\24\xb0\0\x85\0\x81\0\x80\3\xad\0\x8f\6\xae\0\x80\2\x81\0\x94\0\x8f\a\x9b\0\x80\4\xcd\0\x88\0\x8f\5\x97\0\x8d\0\x80\27\xce\0\x8f!\x89\0\x83\0\x80\1\xa5\0\x8f\a\xa1\0\x8d\0\x80\1\xae\0\x8f\n\xb7\0\x8d\0\x80\2\x86\0\xce\0\xa0\0\x8f\a\xac\0\x8d\0\x80\3\x92\0\xaa\0\x8f\6\x89\0\x83\0\x80\4\xa4\0\x89\0\x8f\6\xa1\0\x8d\0\x80\3\x86\0\xd2\0\x8f\a\x9c\0\x80\1\x8d\0\xac\0\x8f\n\xb0\0\xcc\0\x86\0\x9d\0\x8e\0\x8b\0\x8f\a\x89\0\x8c\0\xa4\0\xaa\0\xa0\0\x8f\5\xb5\0\x90\0\xa4\0\x82\0\x80\4\x9d\0\x90\0\x8f\5\xbf\0\xbc\0\x80\2\x93\0\xa0\0\x8f\6\xaa\0\x9d\0\x80\3\x86\0\x95\0\x8a\0\x8f\4\xd0\0\xbb\0\x80\27\x8d\0\xbf\0\x8f\17\xd6\1\x8a\0\x8f\16\xbf\0\x8d\0\x80\0\xb2\0\xbe\0\x8f\a\x83\0\x80\2\xbb\0\x8f\n\xb3\0\x80\1\x8d\0\x9d\0\xac\0\xa2\0\x8f\b\xc9\0\x80\4\xbc\0\xa2\0\x8f\6\x9f\0\x86\0\x80\4\x94\0\x8f\a\xc0\0\x80\4\x9d\0\xc5\0\x8f\6\x8b\0\x93\0\x80\1\x92\0\xc0\0\x8f\n\x9f\0\x96\0\xb8\0\xa2\0\x8f\t\x9f\0\x8d\0\x80\0\x99\0\x9d\0\xab\0\x8e\0\x95\1\x8e\0\xcf\0\xba\0\x86\0\x80\5\x86\0\x96\0\x8f\5\x8a\0\xc0\0\x8d\0\x80\2\xbb\0\x8f\a\xb7\0\x8d\0\x80\3\x85\0\xa0\0\x8f\5\xb0\0\x86\0\x80\27\x85\0\xb3\0\x8f\f\xaa\0\x83\0\xbc\0\x86\1\x9d\0\xcf\0\xb5\0\x8f\f\xaf\0\x91\0\x83\0\xb7\0\x8b\0\x8f\6\xc2\0\x99\0\x80\2\xb2\0\xbe\0\x8f\t\x89\0\x8e\0\xc1\0\xb3\0\xa2\0\x8f\t\xaa\0\x9d\0\x80\3\x92\0\x9c\0\x89\0\x8f\6\x9c\0\x80\4\x86\0\xa0\0\x8f\6\xaa\0\xba\0\x80\4\xcf\0\x89\0\x8f\6\xc1\0\x80\3\xc4\0\xa2\0\x8f\27\xd5\0\x80\4\x92\0\x8d\1\x92\0\x80\a\x8d\0\x9c\0\x89\0\x8f\5\xca\0\x98\0\x80\2\x99\0\xb7\0\x8f\a\xa5\0\x80\3\x86\0\xb8\0\x8f\6\xae\0\x80\27\x92\0\x8e\0\x8f\f\xb5\0\xd4\0\x80\5\xd1\0\xb0\0\x8f\v\xc2\1\x89\0\x8f\b\xc0\0\x80\4\x85\0\xa0\0\x8f\27\xb0\0\x8d\0\x80\3\x86\0\xb7\0\x8f\6\xa0\0\x85\0\x80\4\x9d\0\x8f\a\xb8\0\x8d\0\x80\3\x92\0\x94\0\x8f\6\xa0\0\x85\0\x80\3\x8d\0\xc0\0\x8f\27\xb0\0\x80\17\x8d\0\xa4\0\x8b\0\x8f\6\xb4\0\x80\3\x93\0\xb0\0\x8f\6\xb3\0\x86\0\x80\2\x81\0\x84\0\x8b\0\x8f\5\x90\0\x93\0\x80\27\x91\0\xbe\0\x8f\f\xa7\0\x80\a\x91\0\xb3\0\x8f\26\xa4\0\x80\5\xae\0\x8f\27\xa4\0\x80\4\xcd\0\x89\0\x8f\6\xb8\0\x82\0\x80\4\xa7\0\x8f\a\xa5\0\x80\4\xbc\0\xd6\0\x8f\6\xbe\0\x91\0\x80\4\x86\0\x8f\27\x8b\0\xc3\0\x80\r\x9a\0\xc0\0\x8b\0\x8f\6\xbf\0\x98\0\x80\3\xbb\0\xb5\0\x8f\6\xb4\0\x81\0\x80\2\xb9\0\xa8\0\x8f\5\x88\0\x9b\0\x8d\0\x80\27\xcd\0\x8f\r\xb9\0\x80\a\xa9\0\xbf\0\x8f\26\xa7\0\x80\4\x81\0\xad\0\x8f\26\xa2\0\x91\0\x80\4\xab\0\x8f\6\x8a\0\xab\0\x81\0\x80\4\xb8\0\x8f\a\x82\0\x80\3\x99\0\x97\0\x8f\a\xbf\0\x9a\0\x80\4\x9d\0\x8f\27\x8a\0\xac\0\x9a\0\x80\n\x92\0\xcd\0\xa1\0\x8a\0\x8f\6\x8b\0\xa4\0\x81\0\x80\3\xa4\0\x8f\a\xaf\0\x80\2\x99\0\xa1\0\x8f\6\xa6\0\x86\0\x80\30\xc0\0\x8f\r\x9c\0\x92\0\x80\3\x81\0\x9a\0\xa4\0\xb0\0\x89\0\x8f\26\xc2\0\xcc\0\x80\2\x9a\0\xa7\0\xd0\0\x8f\26\xc1\0\x92\0\x80\3\xcc\0\x90\0\x8f\6\xa2\0\x9d\0\x80\5\xb8\0\x8f\a\x93\0\x80\1\x8d\0\xb9\0\xb7\0\x8b\0\x8f\b\x9e\0\x80\2\x8d\0\xd1\0\xbe\0\x8f\17\x88\0\x8f\b\xb8\0\x9d\0\xb6\0\x80\4\x81\0\xb6\0\x93\0\xbb\0\xb7\0\xc5\0\x8f\a\x9f\0\x9c\0\xb6\0\x80\4\xa4\0\x8f\a\xa7\0\x80\0\x81\0\x98\0\xd5\0\x8b\0\x8f\5\xd0\0\xa5\0\x80\30\xb2\0\xaa\0\x8f\r\xa2\0\x95\0\x9d\0\x91\0\x93\0\x9d\0\x9c\0\xa1\0\x8f\32\xac\0\x9e\0\x85\0\xce\0\xa1\0\x8f\27\x89\0\xae\0\x80\4\x83\0\x88\0\x8f\6\xbf\0\x8d\0\x80\5\xc0\0\x8f\a\x97\0\xbb\0\xa5\0\xc1\0\xaa\0\x8f\n\xc8\0\x9c\0\x83\0\xae\0\xc1\0\x90\0\x8f\16\xbe\0\xc1\0\x9b\0\xa0\0\x8f\b\xa0\0\xb8\0\x8e\0\xa5\0\x85\1\xa5\0\xb4\0\x97\0\xb0\0\x8f\t\x8a\0\x94\0\xb6\0\x80\5\xa5\0\x89\0\x8f\6\xa6\0\xbb\0\xc9\0\xd2\0\x8f\6\x9f\0\x9c\0\x92\0\x80\30\xbb\0\xa2\0\x8f\17\xc5\0\xa3\1\xb3\0\x8f\35\x89\0\xa2\0\x88\0\x8f\b\x89\0\xd0\0\x88\0\x8f\2\x9f\1\x8f\a\xb0\0\x98\0\x80\3\x99\0\x95\0\x8a\0\x8f\6\x9e\0\x80\6\x85\0\x8f\b\x88\0\xa2\0\x8f\16\xa0\0\xa2\0\x8f\b\x8a\0\xc1\0\xa4\0\xce\1\xa4\0\x83\0\xb9\0\x91\0\x8d\0\x92\0\x87\0\x8f\v\x89\0\xa2\2\x8f\v\x8a\0\x97\0\x9a\0\x80\6\xa9\0\xca\0\x8f\a\xa2\0\x9f\0\x8f\a\xb0\0\x82\0\x80\30\x8d\0\xad\0\x8f'\x9f\0\xa1\0\xd2\0\x8f\23\xd5\0\xbc\0\xb9\0\xc9\0\xc0\0\xab\0\xa5\0\xc1\0\x8f\a\xc1\0\x81\0\x80\3\x98\0\xc5\0\x8f\6\xa3\0\xa9\0\x80\6\x86\0\xa2\0\x8f#\xaa\0\x93\0\x80\b\x91\0\xbe\0\x8f\31\xa0\0\xc0\0\x86\0\x80\a\xb6\0\xbf\0\x8f\20\xa8\0\xbc\0\x80\31\x9a\0\xcb\0\x8f\6\x8b\0\x9f\0\x8f\25\xa3\0\x9b\0\xae\0\x9c\0\x8e\0\xc1\0\x8e\0\xab\0\xae\0\xd1\0\xcc\0\x85\0\xc5\0\x8f\21\xaa\0\x9d\0\x80\4\xb6\0\xbf\0\x8f\a\xc6\0\x80\4\xa5\0\x8f\a\xac\0\x99\0\x80\a\x94\0\x8f\"\xa2\0\xae\0\x81\0\x80\t\xc3\0\xb0\0\x8f\26\x8a\0\xd0\0\xa7\0\x99\0\x80\t\xd1\0\x8a\0\x8f\16\xd2\0\xd1\0\x81\0\x80\31\x9a\0\xd6\0\x8f\6\x97\0\xa5\0\xa2\0\x8f\23\x90\0\xa5\0\x92\0\x80\b\x81\0\xcd\0\xa2\0\x8f\17\xa8\0\xb9\0\x80\5\x99\0\xc7\0\x8f\6\x90\0\x9a\0\x80\4\xae\0\x8f\6\x8b\0\xa7\0\x80\b\x9a\0\xac\0\x8f\16\xa8\0\x90\0\x8f\17\xa2\0\xae\0\x81\0\x80\v\x91\0\xb1\0\x8f\25\x95\0\xb9\0\x81\0\x80\n\x8d\0\x97\0\x8f\r\xa8\0\xba\0\x80\33\x86\0\xbe\0\x8f\5\xa2\0\xa5\0\x81\0\xc6\0\xd2\0\x8f\20\x8b\0\x97\0\x9d\0\x92\0\x80\v\xc6\0\xd2\0\x8a\0\x8f\v\x8b\0\xd5\0\x9d\0\x81\0\x80\5\x92\0\xb8\0\x8f\5\x8b\0\xc9\0\x80\5\xb9\0\x8b\0\x8f\5\xb7\0\xb2\0\x80\t\xb2\0\xbe\0\x8f\v\x8b\0\xad\0\xc4\0\xa9\0\xb8\0\x8a\0\x8f\v\x8b\0\xa1\0\xcd\0\x8d\0\x80\r\xb6\0\x9b\0\xa8\0\x89\0\x8f\16\x89\0\xa0\0\xc7\0\x83\0\x9a\0\x80\r\xb6\0\xc0\0\x89\0\x8f\t\x8b\0\x94\0\x98\0\x81\0\x80\33\x81\0\xcf\0\x8a\0\x8f\4\x95\0\x92\0\x80\1\x93\0\xd5\0\x8b\0\x8f\f\xa0\0\xb7\0\xce\0\x8d\0\x80\16\x86\0\xab\0\xc2\0\x8f\b\xa0\0\xac\0\xce\0\x86\0\x80\b\xbc\0\xca\0\x8f\4\xab\0\x99\0\x80\5\x8d\0\x9c\0\x8f\3\x9f\0\xa1\0\x98\0\x80\v\x99\0\x9b\0\xa8\0\x8f\a\xa2\0\xd5\0\xa4\0\x8d\0\x80\1\x8d\0\xae\0\xbe\0\x89\0\x8f\a\x88\0\xb8\0\x9b\0\x99\0\x80\21\xb2\0\xa4\0\xb7\0\xb3\0\x8f\n\x88\0\xbe\0\xb4\0\x9d\0\x8d\0\x80\20\x92\0\xa4\0\xa6\0\x8f\6\xa0\0\xb7\0\xae\0\x8d\0\x80\36\x9a\0\xd5\0\x89\0\x8a\0\x89\0\xd0\0\x94\0\x91\0\x80\3\x8d\0\x98\0\xcf\0\xaa\0\x8b\0\x89\0\x8f\3\x89\1\x9f\0\x88\0\xb4\0\xcd\0\x9a\0\x80\21\x81\0\x9a\0\xa5\0\xcf\0\x96\0\xa3\0\x88\1\xbe\0\x8e\0\xce\0\xd1\0\x9a\0\x80\v\x98\0\xb4\0\xa8\0\x88\0\x94\0\x8c\0\x8d\0\x80\a\x99\0\xae\0\xbf\0\x88\0\xa6\0\xaf\0\x9a\0\x80\r\x81\0\xa9\0\x8c\0\x9c\0\xb8\0\xd0\0\x88\0\xaa\0\x94\0\x9b\0\xb9\0\xb2\0\x80\5\x86\0\x85\0\xc9\0\xad\0\xa8\0\x88\1\xbf\0\x94\0\xce\0\x85\0\x9a\0\x80\25\x99\0\xbc\0\x8c\0\xab\0\xad\0\xa6\0\x88\2\xaa\0\x95\0\xcf\0\xae\0\x85\0\x9a\0\x92\0\x80\24\xcc\0\xbd\0\xc0\0\xcb\0\x88\0\xc5\0\xac\0\xc9\0\x85\0\x9a\0\x80!\x81\0\xc4\0\xa5\0\xbb\0\xa9\0\x80\t\x91\0\xba\0\xa4\0\x94\2\xae\0\xd1\0\x93\0\x8d\0\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80A"
)


Le problème venait en fait de l'image qui est loin d'être aussi simple qu'il n'y paraît. L'image en réalité n'est absolument pas monochrome ; l'inscription bénéficie en effet d'un lissage en niveaux de gris avec pas moins de 252 tons différents, qu'
img2calc
réduisait malgré tout à 87.

pour sa part avait signalé la miniature de
Super Dupont
ci-contre, donnant quant à elle un script de
34,4 Ko
ne rentrant même pas sur une
NumWorks
:
Code: Select all
#palette for your image
#252 RGB-888 colors
palette = (
(0,67,116),(2,63,107),(2,54,99),(7,71,116),(7,71,107),(2,50,107),(0,63,99),(7,63,99),(0,63,90),(0,54,107),(7,80,124),(27,80,107),(7,84,133),(45,97,124),(7,76,116),(7,63,90),(0,54,99),(0,45,90),(0,35,81),(0,50,81),(2,80,116),(0,12,45),(7,54,81),(0,2,7),(0,31,64),(0,45,99),(0,54,116),(7,31,45),(0,12,27),(7,50,73),(7,12,27),(0,31,45),(0,45,73),(7,35,64),(0,7,7),(0,84,133),(2,4,45),(2,2,2),(27,50,73),(0,0,2),(7,12,7),(2,109,175),(2,7,2),(0,101,157),(0,0,18),(7,31,36),(7,2,7),(0,80,182),(0,0,0),(0,114,207),(0,2,27),(7,135,190),(0,50,149),(0,67,167),(0,80,149),(0,35,90),(27,118,175),(116,118,141),(107,151,175),(27,0,0),(149,155,167),(27,31,27),(116,76,73),(182,88,99),(157,84,107),(215,109,107),(0,21,73),(0,35,99),(0,84,207),(81,114,141),(141,122,133),(231,59,64),(239,80,73),(141,84,73),(255,54,45),(255,35,27),(239,105,99),(141,45,36),(255,84,64),(81,54,73),(107,45,36),(81,84,90),(215,76,73),(255,31,8),(223,63,45),(0,12,64),(247,67,45),(239,101,90),(239,41,36),(45,67,73),(255,67,55),(215,50,45),(174,80,73),(81,71,81),(174,50,45),(0,35,157),(7,101,149),(255,50,27),(45,50,45),(255,71,64),(207,114,81),(36,45,45),(0,0,7),(0,17,81),(157,105,81),(81,101,107),(73,41,45),(36,88,141),(141,76,45),(73,101,167),(124,84,81),(0,58,207),(90,88,99),(81,58,99),(64,54,64),(223,35,27),(247,8,2),(73,84,107),(116,67,45),(174,80,55),(45,54,64),(81,67,64),(141,105,81),(73,67,81),(107,88,107),(182,114,107),(64,63,64),(0,26,81),(90,21,18),(99,58,64),(81,63,55),(174,26,27),(45,31,27),(7,35,99),(207,7,2),(207,31,27),(190,12,7),(157,17,7),(215,26,18),(247,31,7),(174,26,18),(107,4,2),(157,22,18),(190,31,27),(133,17,18),(198,12,27),(207,35,27),(45,17,27),(99,101,107),(141,114,107),(174,4,2),(124,97,90),(149,4,2),(174,155,149),(116,12,7),(73,80,81),(223,0,0),(73,4,2),(174,114,81),(215,151,141),(215,183,175),(207,203,207),(215,211,207),(231,232,231),(255,247,240),(149,168,157),(190,172,149),(239,155,141),(124,12,7),(215,172,149),(223,232,240),(215,240,247),(207,216,223),(223,220,223),(239,236,240),(223,228,231),(141,131,116),(157,172,175),(239,220,223),(215,143,107),(207,199,190),(182,179,175),(190,187,190),(190,199,190),(174,172,175),(207,191,198),(124,135,141),(190,199,207),(255,255,255),(239,251,255),(0,26,73),(182,224,231),(157,155,149),(141,139,141),(141,143,149),(255,251,255),(36,4,7),(190,207,215),(166,168,157),(45,35,45),(223,224,231),(247,232,215),(27,31,45),(27,17,27),(107,109,116),(133,12,7),(116,118,124),(36,31,18),(0,17,64),(133,0,0),(174,183,190),(239,240,240),(247,247,247),(174,139,116),(149,151,141),(255,236,223),(239,240,247),(247,243,247),(239,187,175),(166,159,167),(239,151,116),(247,203,175),(73,151,182),(239,183,157),(255,216,190),(255,203,190),(239,203,190),(36,101,141),(255,172,133),(239,216,207),(190,135,99),(255,240,240),(124,139,149),(255,187,157),(182,187,198),(247,179,149),(223,155,116),(141,176,198),(27,151,207),(36,168,215),(7,0,0),(36,139,182),(7,109,149),(255,220,207),(239,172,141),(247,168,124),(215,155,107),(255,199,175),(255,199,149),(207,220,231),(182,135,90),(107,172,207),
)

#your image data
#75x100 RLE-8 pixels
image = (
b"\0\0\1\0\2\0\1\2\0\0\3\1\1\1\3\0\4\2\5\0\1\0\6\0\2\0\a\0\b\0\6\0\a\1\6\1\b\0\6\0\4\1\t\0\4\1\2\0\n\0\v\0\f\0\r\0\3\0\n\1\4\0\16\0\n\3\r\0\n\2\4\1\n\0\v\0\n\0\r\0\n\1\v\0\n\0\4\2\v\0\4\0\v\0\17\0\4\1\v\0\4\1\v\0\4\0\t\0\20\0\t\1\20\0\t\2\1\3\t\0\0\0\1\1\6\3\21\0\22\0\23\0\21\0\23\0\21\0\2\1\1\0\2\0\6\0\3\1\1\0\6\0\n\0\2\0\4\0\3\0\4\0\3\0\1\0\4\0\16\0\n\0\16\0\3\1\n\0\4\0\n\0\a\0\4\0\20\0\a\0\24\0\3\0\4\0\6\0\4\0\v\0\4\3\a\0\b\0\6\0\4\0\b\1\a\0\17\0\b\0\17\0\1\0\20\1\t\5\1\1\24\1\25\0\2\0\3\0\t\0\1\0\t\0\26\0\23\0\21\0\2\1\6\0\t\0\6\0\24\0\1\2\3\2\0\0\n\0\27\0\t\0\16\0\30\0\3\0\n\0\4\1\3\1\n\0\3\0\n\0\3\0\n\0\4\0\n\0\4\3\1\0\4\1\v\0\4\0\b\0\24\0\v\0\4\0\a\1\24\0\17\0\a\0\4\0\17\0\b\0\24\0\1\0\31\1\1\1\32\0\6\0\t\1\1\0\20\0\0\0\33\0\34\0\35\0\26\0\36\0\24\0\20\0\37\0 \0\23\0\0\0\20\0 \0\37\0\23\0\2\0\1\0\t\0\3\0\16\0\n\1\f\0!\0\"\0\n\1\26\0\a\0\4\1\6\0\3\0\n\0\3\1\16\0\24\0\4\0\16\0\3\2\n\0\v\0\4\0\a\0\4\0\24\0\17\0\b\1\a\0\4\2\17\0\4\0\17\0\4\0\17\1\4\0\t\0\31\0\t\2\1\0\6\0\1\1\24\0\0\0\22\0\37\0\0\0\25\0\36\0\37\0\24\0#\0\a\0\"\0$\0\21\0\0\0\30\0\27\0 \0\23\0\t\0\2\0\30\0\4\0\26\1\f\0\34\0\35\0!\0\26\0\33\1\n\1\4\0\3\0\16\0\n\1\4\0\n\1\4\0\n\0\4\1\n\2\3\0\n\0\4\1\n\0\4\3\v\0\4\0\16\0\a\0\17\0\4\0\17\0\24\0\t\0\31\0\t\1\1\1\t\0\0\1\1\0#\0\37\0\30\0\24\0\"\0\36\0\23\0\0\0\23\0\25\0\33\0\23\0\34\0\23\0\34\0\30\0\f\0 \0\33\0\30\0\27\0\33\0\36\0\16\0\26\0%\0!\0\34\1\36\0\26\0\f\2\n\0\f\0\r\0\n\0\f\0\n\0\v\0\24\0\3\0\24\0\n\0\26\0\35\0\n\1\26\0\35\0\17\1\35\1\26\0\35\1&\0\35\0\4\1\17\1\4\0\3\0\t\0\31\2\20\0\6\0\1\0\4\0\t\1\30\0\"\0\37\0'\0$\0#\0\6\0\27\0\34\0\30\0\37\0\33\1\34\0 \0\0\0\25\0\34\0\"\0$\0\27\0!\0\f\0\2\0\"\0\33\0\35\0(\1\4\0\f\0\2\0\26\2\5\0\35\0\33\0\4\0\23\0\35\0\17\0\v\0\23\0\0\0\4\0\26\0\"\0\37\0)\0\34\0*\0)\0\22\0\37\0+\0#\0\0\1!\0\b\0\4\0\17\1\1\0\t\1\20\0\31\0\21\0\1\0\0\0\6\0\20\1\t\1\34\0\27\0\23\0\3\0\30\0\25\0\26\0,\0\"\1\27\0\"\0\35\0\3\0\36\0\34\0-\0\26\0\34\0\36\0\4\0\36\0!\1\t\0\0\0\t\0\26\0\4\0.\0\0\0/\x000\0\23\x001\0\34\0\21\x001\0/\0\0\0\27\0\20\x001\0)\0/\x002\x000\0\f\x001\0\25\x011\0\32\0\0\x003\x001\x003\0+\0\30\0\17\1\v\0\5\0\21\0\20\0\31\0\20\1\t\0\23\1\30\0\21\0\t\0\0\0\25\0\34\0\37\0\0\0\23\0\34\0\37\0\"\0\34\0 \0\0\0\30\0 \0\23\0\35\x004\0\23\0\36\x005\x006\0\0\0\34\0\4\0\36\x007\x001\0/\0+\0 \x000\0\"\x001\0/\x000\0\32\x001\0\25\0\32\0)\x001\0\0\0\34\0\0\0)\08\09\0\33\0'\0\r\0:\0;\0\34\0<\0=\0>\0?\0@\0A\0?\0\37\0\4\1\2\0\21\0\20\0\31\0\t\0\6\0\30\0B\0\22\0C\0\22\0-\0\27\0 \0\23\0\33\0\23\0\30\0!\0\5\0\31\0\5\0\26\0\4\0\34\x004\x005\2/\0\25\0\31\0D\0/\0D\0\5\x000\x014\0/\1D\0\34\x000\0\34\08\0E\x000\0E\0F\0(\0@\0G\0H\0I\0\25\0E\0J\0K\0L\0\33\0M\0N\0O\0P\0N\0Q\0R\0K\0S\0T\0P\0\6\0\17\1\2\x007\0\t\2\30\0C\x005\x024\x002\0\25\0\22\0\23\0\30\x004\0\32\0\27\x005\0/\x005\1C\x000\0\30\0/\x005\x006\x005\x012\0\32\x005\1/\0U\x000\1E\0@\0?\0F\0-\0*\0V\0W\0\17\0V\0X\0Y\0Z\0[\0X\0V\0Q\0K\0H\0\\\0J\0]\0^\0S\0>\0\\\0H\0(\0\33\0W\0R\0 \0\23\0\4\0\17\1\1\0\31\0\t\0\0\0\34\x002\x004\x025\1_\x005\x004\0\34\0\27\x005\0D\0\25\1/\x004\x005\0D\0\25\x000\0C\x005\2`\0\v\0(\09\0@\0?\09\0\"\x000\0H\0K\0J\0a\0\\\0\17\0J\0^\0\37\0N\0M\0b\0Z\0\26\0>\0c\0d\0J\0e\0\34\0T\0\\\0H\0S\0A\0L\0M\x000\0=\0N\0P\0\31\0\4\0 \0\17\0\v\0\t\0\31\0\t\x010\0'\0\32\0_\x004\0_\x005\x014\0/\0C\x000\x002\0D\0/\0f\0g\0/\x005\0/\1'\x000\09\0?\0[\0a\0A\0Y\0a\0K\0a\1h\0\33\0Z\0R\0i\0X\0J\0Q\0c\0P\0e\0H\0j\0P\0N\0k\0J\0\\\0T\0R\x000\0%\0H\0\\\0R\0A\0S\0N\0b\0'\0l\0N\0\35\0\23\0\35\0\17\2\1\0\20\0\t\0\22\x000\1$\0C\0_\0m\0n\0?\0n\0_\0o\0$\x000\x007\0D\0\n\0,\0p\0@\0R\0?\0q\0\34\0N\0K\0Z\0V\0>\0b\0J\0>\0Q\0K\0c\0\r\0c\0l\x000\0R\0Z\0I\0Z\0b\0P\0W\0r\0\\\0K\0Z\0V\0e\0s\0R\x004\0M\0H\0R\0^\0O\0S\0T\0\27\1N\0T\0\b\1\17\1\26\0\17\0\t\0\31\0\t\0\23\0%\x000\1\4\0d\0a\0S\0a\0\\\0\25\0m\x010\0(\0A\0R\0Y\0c\0S\0a\0t\0c\0u\0a\0G\0D\0B\x000\0v\0N\0\5\0\35\0Z\0w\0r\0N\0q\0\23\0Z\0\\\1c\0#\0M\0Z\0\17\0[\0S\0\\\0\4\0\"\0R\0a\0R\0N\0n\0H\0M\0\36\0L\0n\0\30\0&\0h\0x\0\6\0\a\0\17\1\23\0\4\0\2\0\20\0\21\0\0\0\25\x000\0=\0W\0S\1N\0A\0y\0e\0N\1\"\0&\0J\0s\0Y\0c\0R\0Q\0[\0a\0z\0X\0R\0k\0u\x000\0M\0N\09\0c\1\37\0P\0Z\0`\0@\0Z\0&\0M\0J\0E\0J\0^\0b\0N\0I\0\1\0#\0\6\0{\0R\0a\0|\0 \0n\0&\0\17\0\4\0\26\0\4\0\33\0\27\0\21\0\4\0\17\3\4\0\2\0\20\0\31\0\0\0\t\0'\0I\0J\0K\0}\0\v\0\27\x000\0~\0J\0R\0%\0Y\0c\0^\0Y\0N\0I\0\0V\0[\0Q\0J\0S\0a\0d\0\27\0I\0J\0S\0H\0e\x000\0\\\0c\0}\0K\0@\0\x80\0\x81\0R\0a\0R\0 \0y\0A\0 \0#\0\4\0\f\0\0\0 \0\37\2\"\0\23\0\"\0,\0\"\1\27\0\34\0\a\2\17\0\a\0\26\0\4\0\2\0\31\x007\0\31\0\32\0 \0T\0S\0N\0/\0_\x000\1\x82\0Z\0R\0%\0y\0c\0^\0r\0N\09\0@\0Z\0y\0r\0a\0R\09\0!\0\27\0[\0c\0N\0R\0\30\0'\0H\0K\0J\0I\0j\0t\0\x83\0v\0I\0P\0\x84\0\30\0\21\0+\0k\0\4\0\f\0\33\0'\0\"\0,\0(\0\34\0\26\0\33\0\35\0\26\0\a\0\16\0\4\0\a\3\26\0\b\0\4\0\1\0\t\1\22\1\30\0\\\0K\0S\0?\0D\0\x85\x000\0y\0Z\0\\\x000\0y\0Z\0I\0j\0c\0K\1}\0\"\0M\0J\0m\0o\0C\0=\0J\0\\\0u\0V\0W\0\v\0@\0I\0n\0P\0\x86\0\x87\1\x88\0\x89\0\x8a\0\x8b\0\x8c\0\x80\0\26\0#\0+\0\f\0\2\0\a\1\n\3\f\0\n\0\3\0\16\1\4\1\2\0\4\0\a\0\4\0\17\0\4\0\t\1\0\0\37\0U\x004\0\35\0W\0S\1W\0m\0\27\0j\0N\0R\0%\0>\0c\0P\0O\0J\0K\0?\0\34\x000\0\\\0J\0@\0^\0R\0Y\0L\0l\0\x8d\0I\0l\0P\0M\0\x8e\0\x86\0\x8a\0\x8f\2\x87\1\x8f\1s\0\x8a\0\x88\0\x80\0\23\x006\0`\0\f\2\n\0\3\0\4\0\3\3\4\4\26\0\2\0\17\0\4\0\2\0\21\0\0\0 \x000\0/\x004\0=\0d\0c\0t\0Z\0n\0x\0J\0A\0\25\0M\0N\0\x82\0j\0J\0@\0\x90\0\x8d\0,\0R\0J\0Z\1I\0j\0n\0M\0\x86\0\x88\0\x89\0\x8a\1s\0\x91\0\x87\4\x8f\4\x92\0\x8b\0\x88\0\x93\0\0\0+\0\f\0\16\0\f\0\3\0\16\2\3\2\4\3\26\0\a\0\26\0\4\0\2\0\31\0\32\0\21\x000\x007\0D\0$\0\"\0\x94\0H\0t\0Z\0\x95\0K\0?\x005\0I\0J\0~\0P\0c\0>\0\x96\0\x8a\0j\0\x97\0I\0>\0\x81\0\x90\0\x8a\0\x86\0\x91\0\x87\1\x92\0\x8f\0\x87\0\x92\0\x87\0\x92\1\x87\a\x8f\1[\0\x8b\0\x98\0\22\0+\0\f\0\16\0\n\0\16\1\n\0\3\1\16\0\3\0\4\1\a\0\5\0\a\0\17\1\2\0\20\0\t\0\0\0\27\x000\0/\0_\x000\1i\0J\0S\0\x99\0J\0t\0}\0X\0Z\0Y\0I\0A\0j\0\x88\1\x8f\0\x9a\0\x8e\0\x86\0\x8a\0\x86\0\x8a\0\x92\0\x91\0\x86\0\x91\0\x86\2\x91\0\x8a\1\x92\0\x87\0\x92\1\x87\2\x92\0\x87\2\x8f\0\x87\0\x8b\0\x86\0\36\0#\0`\0\16\2\3\4\4\0\5\0\4\1\a\1\4\0\2\0\31\1\0\0\22\0%\0?\0m\0\26\0-\0@\0K\0J\0\x9b\0Q\0Z\0S\0J\0@\0\x80\0\x81\0P\0\x89\0\x87\0\x83\0\x87\0s\0\x8a\0\x87\0\x88\0\x96\2\x88\0\x87\0[\0^\0[\1J\0\x86\1\x9c\0\x86\0\x8a\0s\1\x87\1\x92\1\x8a\0\x92\0\x87\1\x8f\0s\0t\0\x9d\0#\0`\0\16\1\3\0\16\1\3\1\4\4\a\0\16\0\2\0\31\0\20\0\t\0\21\0\37\0Z\0S\0H\0W\0S\1d\0-\0\x80\0>\0@\0n\0P\0\x86\0\x96\0\x88\0\x8f\0\x83\0\x8f\1\x88\0\x9c\0\x96\0\x92\0\x9e\0\x9f\0\xa0\1\xa1\0\xa2\1\xa3\0\xa4\0\xa5\0\xa6\0\x9f\0\xa7\0R\0\x86\0\x9c\0\x86\0\x92\0s\0\x92\0\x87\0s\0\x87\0\x92\0\x87\0\x91\0\x8f\0\x92\0\x8b\0\x9d\0\24\0`\0\n\0\16\3\5\0\3\1\4\1\a\0\4\0\v\0C\0\21\0\20\1\32\0\21\0d\0a\0K\0S\0a\0A\0Y\0\xa8\0\x88\0\xa8\0\x9a\0\x98\0\x96\0\x83\0\x8c\0\x83\0\x88\0\x8f\0\x88\0\x96\0\x91\0\x9e\0\xa9\0\xa2\0\xaa\0\xab\0\xac\0\xad\0\xae\1\xaf\0\xa2\0\xb0\0Y\0\xab\1\xb1\0\xaa\0\xb2\0\x9f\0[\0\x9c\1[\0s\3\x92\0\x87\0\x92\1s\0\x8b\0\x8d\0#\0+\0\16\0\f\0\16\1\3\0\5\0\3\0\4\2\a\0\4\0\23\x007\0\21\1\20\0\31\0\23\0u\0n\0I\0u\0\37\0\x8d\0\x8a\0\x89\0\x8c\0\x88\0\x83\0\x8c\1\x83\0\x8f\0\x88\0\x96\1\xb3\0\xa2\0\xab\0\xad\0\xa2\0\xb4\0\xa1\0\xa3\0\xa2\0\xb4\0\xb5\0\xb6\0\xb7\0\xb8\0\xa3\0\xb6\0\xb5\0\xb9\0\xba\0\xbb\0\xbc\0\xbd\0\xa0\0R\0\x9c\0\x86\0X\0\x87\0s\2\x92\3S\0\x9d\x006\0\f\0\16\1\3\0\16\0\n\0\3\0\4\2\2\0\16\0\26\0\21\1\31\0\21\0\20\0\31\x007\0\xbe\x004\0$\0\x8d\0\x8f\0\x89\1\x83\1\x8e\0\x8c\0\x83\1\x96\0\x9c\0\x9e\0\xa1\0\xbf\0\xa1\0\xb4\0\xa1\1\xa2\0\xaf\0\xb5\0\xc0\0\xc1\0\xc0\0\xb5\0\xc2\0\x94\0e\x000\1~\0\xa2\0\xc1\0F\0\xaf\0\xc3\0\xbd\0\xa9\0\x8a\0\x9c\0s\4\x92\1\x87\0s\0\x8b\0\xc4\0+\0\f\0\16\0\3\0\0\0\16\2\4\3\23\0C\0\21\0\20\0\31\0\20\1\t\0#\x007\0\x8d\0\x88\0\x89\2\x83\0\x8e\0\x8c\1\x83\0\x96\1\xa9\0\xc5\1\xb6\0\xb4\0\xa1\0\xb4\0\xad\0\xa3\0\xc6\0~\0b\0\xc7\0(\x000\6=\0\xa1\0\xb6\0F\0\xc1\0\xc8\0\xbd\0\xb2\0R\0\x9c\0s\0X\0s\3\x92\0\x87\0X\0t\0\33\0+\0\16\0\f\0\16\0\n\0\3\0\16\1\4\1\16\0\23\0\22\0\0\21\0\31\0\20\0\31\0\t\0\32\0\xc4\0\x88\0\x89\0M\0\x89\2\x8e\0\x83\0\x8c\0\x96\0\x8f\0\xb7\0\xbf\0\xb5\0\xb6\0\xb4\0\xa1\0\xb7\0\xc9\0\xaf\0\xb0\0\xca\1\xcb\0\36\0\xcb\1\xca\1=\0\"\x000\2'\0\xcc\0\xb8\0\xc0\0F\0\xad\0\xbd\1\xa7\0\x9c\0\x8a\0s\2\x92\0s\0\x92\0\x87\0X\0\x96\x007\0+\0\f\0\16\1\3\1\5\0\3\0\5\0\16\0\22\1\1\22\1\31\0\0\0$\0\x96\0\x8e\0\xcd\0\x89\1\x83\0\x8c\1\x88\0\x96\0\\\0\xc5\0\xbb\0\xb5\0\xb7\0\xb4\0\xb7\0\xb4\0\xc9\0\xad\0y\0(\0\xca\0{\0\xca\0'\x000\0.\0\xca\1\27\x000\6\xb5\0\xc1\0\xc6\0\xc3\0\xaf\0\xbd\0\xa0\0\x9c\0\x8b\0X\0s\2\x92\0s\0\x87\0S\0\xa8\0#\x006\0\16\0#\0\16\0#\0\3\1\4\0\v\0\22\0\30\0\22\0\0\22\1\32\0\21\0\x8d\0\x88\0\x90\0\x89\3\x8c\0\x83\0\x98\0l\0\xbb\0\xb7\0\xa6\0\xb7\2\xb4\0\xad\0\xaf\0~\0(\0b\0=\0'\x000\1\xcb\0r\0x\0(\0'\x000\3%\0<\0\xb6\0\xaf\0\xce\0\xa1\0\xa4\0\xa3\1\xbd\0\xb9\0\x9c\0\x8b\0s\0X\0s\2\x92\0[\0\x8b\0\xca\0+\0\16\1\f\0\n\1\16\0\3\0\16\x007\0\0\22\1\0\21\1\xcf\0\x8c\0\x90\1\x89\3\x8e\0\x98\0l\0\xb7\0\xb5\0\xc6\0\xb4\1\xb5\0\xb4\0\xa1\0\xa2\0\x94\0e\0\xc7\0.\x000\0'\0\xca\0]\0u\0r\0.\0'\x010\4\x94\0\xbc\1\xc2\0\xaa\0\xae\0\xa3\1\xaf\0\xbd\0\xa0\0\x9c\0S\0X\0s\3\x87\0K\0\x96\0\32\0`\0#\0\16\0\n\0\0\0\f\0\0\0\3\0\22\0\21\0 \0\22\1\32\0\xd0\0\xd1\0\x89\0\x90\0\x89\3\x8c\0\x98\0\x96\0\xb5\0\xd2\0\xc6\0\xa6\0\xb5\1\xb4\2\xc0\0{\0r\0.\1\xc7\0p\0\xcc\0]\0(\x000\6=\0\xc2\0\xb5\0\xd3\0\xbc\0\xa0\0\xa2\0\xd4\0\xa3\2\xae\0\xbd\0A\0\x9c\0X\0s\1X\0s\2S\0\x93\0)\0\f\0#\0\3\1\n\0\0\0\16\0\t\0\21\0\x007\0\21\0\31\0\xc4\0\x96\0\xcd\1\xa8\0\x90\0\x89\2\x98\0\xd5\0\xb1\0\xd6\0\xc6\0\xb5\0\xb7\0\xb6\1\xb4\0\xb6\0p\0u\0\xca\0\xc7\0]\0|\0\xcc\0r\0\27\x000\6=\0\xce\0\x94\0(\0*\09\0\xa0\0\xad\0\xd4\0\xae\0\xd7\0\xae\2\xbc\0R\0t\0X\1s\1X\0s\0X\0\x96\0\t\0`\0\f\2\n\0\16\0\n\0\2\0\t\0\22\1\31\0\30\0\xa8\0\x89\0\xcd\2\x8e\0\x90\0\x89\0\xd1\0I\0\xb7\0\xb0\0\xc6\0\xb5\2\xb7\0\xb4\0\xc6\0\x94\0u\0{\0x\0]\0p\1q\0%\x000\a%\x000\1(\0'\0%\0\xbb\0\xbc\0\xc3\1\xd3\0\xae\1\xa3\0\xbd\0\xa3\0\x9c\0\x8b\0X\1s\1X\0s\0S\0\xc7\0/\0\f\0#\0\f\0\n\0\16\0\f\0\2\0\31\x007\0\22\x007\0\xcb\0\x98\0\xcd\0\x90\0\xcd\0\x89\0\x90\0\xcd\0\x98\0\x89\0\xa5\1\xd5\0\xa5\0\xc6\1\xb7\0\xa2\0\xc6\0{\0Y\0q\0x\0{\1]\0r\0.\x000\6'\1.\0\xc1\0\xb6\0\xb5\0\xc1\0p\0\xa1\0\xd8\0\xa3\0\xc8\0\xa3\0\xd9\0\xbc\0\xd9\0\xa3\0\xbd\0\xa7\0\x9c\0X\2s\1\x8a\0K\0\x89\x004\0`\0\f\1#\0\3\0\16\0\23\x007\0\22\0\21\0\30\0\x9d\0\x98\0\xcd\1\x90\1\x89\1\xd1\0\x95\0\xd2\0\xb0\0\xa5\0\xc6\1\xa6\0\xa2\0\xb0\0e\0=\0.\1\36\0.\0(\0\36\x000\6\xca\0]\0r\0%\0Q\0\xbc\09\x000\0\xa1\0\xd6\0\xc0\0\xa2\0\xa1\0\xac\0\xad\0\xb5\0\xb6\0\xd3\0\xc3\0\xd8\1s\0t\0G\0X\4t\0!\0)\0\f\2#\0\f\0\23\0\0\22\0\20\0\37\0\x8d\0\xcd\2\x90\2\xd1\0\xcd\0\xa5\1\xc6\0\xd6\0\xc6\1\xb4\0\xb0\0'\x000\2'\x000\6,\0b\0\x95\0\x99\1\xda\0\xa9\0%\0(\0\xd4\0\xd3\0(\0\xc4\0|\0p\0\xca\0=\0r\0\xce\0\xa2\0\xb5\0\xc2\0\xae\0\xd9\0\xbd\0\xa7\0\x9c\0X\5K\0\x80\0+\0\f\x006\0\n\0\f\1\22\1\21\0\t\0\xcf\0\x98\0\xcd\1\x90\1\x89\0\x90\0\x8d\0z\0\xa5\0\xc1\0\xd5\0\xc6\2\xb5\0y\x000\v\x84\0\x9f\0\x99\0\x95\0\xa6\0z\0\xcf\x000\1\xcc\0\xbc\0\xdb\0\xcf\0Y\0\xb8\0\27\0f\0.\x000\0\x94\0\xbc\0\xad\0\xc1\0\xbc\0\xd8\0\xd3\0\x8b\0S\0X\1s\0X\0s\0K\0\x96\0#\0+\0\f\1#\0\f\0\23\0\xbe\0\22\1\x9d\0\x98\0\xa8\2\xcd\2\x98\0\xc1\0\xa5\0\xb0\0\xa5\0\xc6\0\xd6\0\xb0\2\33\0-\1\"\2%\0(\2b\0\xca\0\"\0(\0I\0j\x000\0(\0\"\0~\0\x84\0\x95\0\xbc\1\x95\0j\0\xb9\0%\0\36\0\27\x000\0\xa2\0\xd4\0Q\0\xc2\0\xbc\0\xd4\0\xbc\0L\0t\0K\0X\2s\0X\0t\0\2\0)\x006\0\f\0#\0\f\0\22\0\xbe\1\25\0\x8d\0\x89\0\xa8\1\x9a\0\xcd\0\xa8\0\xd1\0M\0\xa5\0\xd6\0\xa5\1\xd6\0\xb0\0\xcc\1i\0\4\0\v\1\n\0\6\0\v\0\x9b\0)\0=\0l\0\xd5\0\xb4\0\x95\0P\0\xdc\0\x9e\0\x93\0}\0\xc6\0\xd6\0\xdd\0\x95\0\xc0\0\xbc\0\x95\0\xa0\0r\0\27\x000\0*\0\xa2\0\xa1\0!\0{\0\xbc\0\xc8\0\xac\0\xd8\0\xa0\0\x9c\0t\1S\0K\0X\1S\0j\0)\x006\0`\0#\0\f\0\23\0\xbe\x007\0\25\0\xa8\0\xcd\0\x90\0\xcd\0\xa8\0\xcd\0\x90\0\xd1\0I\0\xa5\0\xb0\3\xce\0\xcc\0\xce\0Y\0\b\0\17\1 \0\x97\0\xa9\0\xde\0)\0\xcb\0R\0\xdf\0\xda\0}\0\\\0\xe0\0\x9e\0\x93\0}\0\xa7\0\xe1\0\xbc\0\x9e\0~\0\xaf\0\xe2\0\xb5\x000\0%\0\36\0\xa3\0\xc0\0$\x000\0\xc2\0\xaf\0\xa1\1\xa3\0\xd3\0\xa0\0A\0R\0s\0\x9c\1\x8b\0a\0\x80\x006\0`\x006\0\f\0#\0\35\0\x007\0\36\0\xd1\0\xa8\0\xcd\0\x90\0\xcd\0\x90\0\xcd\0\xd1\0\xce\0\xa5\0\xd6\1\xc6\0\xd6\2\xba\0\b\0\v\0\b\0\34\0\xb0\0\xe0\0\xa7\0\xe3\x003\0\4\0M\0\xe4\0\xe5\0\xa9\0\x9e\0W\0\x80\0b\0\xe6\0\xdf\0\xe7\0\xe4\0\x9d\0\xd2\0\xae\0\x94\0~\x000\0e\0\xad\0p\0'\0Y\0\xa0\0\xad\0\xb2\0\xe5\0\xa2\0\xe2\0\xe5\0\xc3\0\xbc\0\xc3\0\xd4\0\xe2\0A\0\x8a\0t\0\xd1\x006\0+\0#\x006\0`\0\22\2\xc4\0\xcd\0\x9a\0\xa8\0\x90\2\xd1\0\xcd\0\xd6\0\xa5\0\xd6\2\xc6\1\xb4\0\xe8\0\24\x003\0\17\0\x99\0\xe9\0\xa9\0\xe1\0\xde\0+\1O\0L\0\xa9\0\xc4\0R\0\xe2\0\x9f\0\xdc\0v\0j\0\xda\0d\x000\0\x99\0\xbc\0\xcb\x000\0x\0\xea\0j\0\27\0\xc0\0\xa0\0\x95\0~\0\35\0\4\0\v\0\4\1\v\0u\0i\0\xc1\0\xd2\0\xd9\0\xd4\0\xa7\0\x89\0U\0/\0+\0\f\1\23\0\22\x007\0\xc4\0\x98\0\xa8\3\x9a\0\xcd\0\x90\0\xa5\0\xd6\2\xa5\0\xc6\0\xa6\0\xb4\0\xba\0#\0\37\0\xa6\0\xd4\0\xe2\0\xc8\0\xd4\0\xb5\x006\0#\0i\0\xdc\0}\0(\0I\0\xe1\0\xdc\0\xa8\0\xcb\0\xc7\0\xeb\0\xec\0\xcb\0n\0\xad\0=\0-\0\xed\0\x84\0\"\0\xba\0\x94\0 \0\22\0+\0)\x003\0\xee\0\xef\0\xee\x003\0)\0`\0\0\0\a\0x\0\xba\0\xa2\0\xd4\0\xb1\0\16\0C\x006\0`\0\22\1\30\0\xc4\0\xcd\0\xa8\0\x9a\0\xa8\1\xcd\0\x98\0M\0\xe8\0\xb0\0\xd6\0\xa5\0\xd6\0\xc6\0\xa6\0\xb4\0\xe3\0\b\0\x9b\0\xe0\0\xe5\2\xd4\0\xa0\0C\0\t\0\4\0\xa7\0v\0-\0\36\0\xf0\0;\0'\0\34\x000\0>\0z\0\x94\0\xbc\0\xd6\0\27\0m\0\"\0\37\0\v\0\37\0\6\0\xee\0\xef\x003\0\xee\0\xf1\0\xf2\0#\0\xf2\0\xf1\0\xee\0\xef\0\xee\x003\08\0\0\0\33\0Q\0\xe5\0\xbc\0<\0C\0\32\0\30\0\22\0\30\0\x9d\0\xcd\0\x9a\0\xa8\0\x90\0\xcd\0\xa8\0\xd1\0v\0\xa5\0\xd6\3\xb5\1\xc6\0\r\0\37\0z\0\xe4\0\xa7\0\xda\0\xf3\0\xad\0\xce\0\xc1\0U\1}\0\xd5\0%\0\x80\0I\0j\0h\0\\\0I\0\x84\0\xcf\0\xae\0\xbc\0(\0\f\0-\0\37\0\26\1\xee\0\xef\x003\0#\0\23\0\34\0'\0\36\0\x9b\0b\x000\0\37\0\r\0\xf1\0\xee\08\0\xf1\0\xee\0\a\0,\0\x95\0\xbc\0\xc3\0E\0\22\1\30\0\x9d\0\xcd\1\xa8\0\xcd\1\xa8\0\xd1\0I\0\xa5\0\xc1\0\xd6\0\xc0\0\xc6\1\xc0\0\xce\0\17\0\37\0P\0\xb3\0\xf4\0\xe9\0\xe1\0\xb0\0\xb1\0\xbb\0p\0\34\0,\0\xb4\0\xe2\0\x9d\0M\0l\0w\0I\0j\1\xad\0\xbc\0\xcf\0\35\0\v\0\36\0&\0k\0\xef\0\xf2\0\30\0\33\x000\0\xc4\0\x81\0j\0y\0\xc0\0\xb9\0\xb6\0\xcf\x000\1\v\0\xee\x003\1\xf1\1 \0(\0\xa0\0\xbc\0\22\0\xbe\0$\0\xc4\0\xcd\0\xa8\0\x8d\0\xa8\0\xcd\0\x90\0\xd1\0l\0\xa5\0\xc1\0\xd6\1\xc6\0\xd6\0\xb0\0\xce\0\17\0\30\0v\0\x9e\0A\0\xe4\0\x99\0\xb1\0\xaa\09\0z\0\xa0\0\x95\0Q\0\xdd\0\x9e\0\xc2\0\xa0\0\xa6\0h\0%\0\xb2\0\xbc\0=\0'\0\26\0\30\0\5\0)\1\37\0.\0|\0\xcc\0\xb3\0\xa9\0\xda\0\xdd\0\xa9\0\xd5\0j\0\xea\0\xbc\0\xc2\0%\x000\0\34\0\xe3\0\xf1\2\xee\0\n\0\34\0F\0\30\0\xbe\0\xd0\0\x9d\0\x98\0\x9a\0\xa8\1\xcd\0\x90\0\x98\0v\0\xa5\0\xc2\0\xd6\0\xa5\1\xc2\0\xb0\0\xcc\0\17\0 \0n\0\x9e\0l\0h\0\xdb\0\xc8\0\xc3\0\xe8\0\xf0\0\xdc\0\xeb\0\xb4\0\x95\0\xe4\0\xf3\0\xbc\1\xe9\0n\0\xa3\0b\x000\0!\0Y\0x\0\v\0\r\0{\0j\0\xb1\0<\0\xec\0\xf3\0\xd7\0\xb2\0\xe2\0\xd7\0\xbc\0\xa0\0\xf0\0\xc2\0\xbc\0\xa3\0=\x000\1\35\08\0\xf1\08\0\xee\x003\0\37\0\30\0B\0\xbe\0\x9d\0\x98\0\xa8\0\x90\0\xcd\1\xa8\0\xd1\0M\0\xa5\0\xc0\0\xd6\0\xc6\0\xc0\0\xc2\0\x95\0\xcc\0\17\0\37\0Y\0\x9e\0l\0v\0\xac\0\xd8\0\xbc\0Q\0\x9d\0\xdc\0d\0\xf5\0\xa6\0z\0h\0\x80\0d\0v\0\x95\0y\0'\0\34\0}\0\xe1\1\xdd\0\xf4\0F\0\xea\0\xbf\0I\0\xe4\0\xf3\0\xe7\0\xb2\0\xf3\0\xe2\0\xb2\0\xa4\0\xdf\0\x80\0|\0\xbc\0\xae\0%\x000\1(\0\r\08\0\xf1\0\xde\0\xf1\0\30\0B\0\0\xc4\0\x98\0\xcd\0\x90\0\xa8\0\xcd\1\x8d\0M\0\xd6\0\xc1\0\xd6\0\xa5\0\xc0\0\xb0\1\xce\0\v\0 \0\xc7\0I\0h\0>\0\xd8\1\xc3\0{\0l\0\xdc\2\xf5\0}\0z\0\x95\x000\0(\1%\0'\0\xcf\0\xf6\0\xdc\0\xe4\0\xe0\0\xdb\0\xc2\0\xbc\0\xce\0\\\0\xe4\0\xe1\0\xb2\0\xe7\1\xd7\0\xf3\0\xa4\0\xd7\0\xf7\0\x80\0\xcc\0\xc3\0\xc0\x000\2\xf0\0\xe3\0\xf1\1\xde\0\22\0\xbe\0C\0\xc4\0\xcd\2\xa8\0\xcd\1\x98\0\xcd\0\xd6\0\xa5\0\xd6\1\xc0\0\xc1\0\xce\0\x95\0Y\0\33\0?\0P\0v\0F\0\xd8\0\xbc\1\x94\0w\0\xdc\1\xda\0\xdc\1\xe9\0\xbc\0\xd6\x000\2(\0d\0\xdc\0\xec\0\xeb\0\x9f\0<\0\xaa\0\xae\0\x82\0d\0\xf4\0\xdf\0\xf3\0\xd7\0\xae\0\xd7\0\xe7\0\xa4\0\xe7\0\xf3\0\xf5\0;\0\xb9\0\xbc\0.\x000\3\r\0\xf1\0\xde\0\5\0\30\0\31\0(\0\xd1\0\xcd\1\xa8\0\xcd\2\x98\0\xb0\0\xa5\0\xd6\0\xc0\0\xa5\0\xc1\0\xc2\0\xcc\0x\0h\0I\0P\0j\0\xc2\0\xbd\0\xe7\0\xbc\0\xce\0l\0\xb3\0\xec\0\xdd\0\xf7\0\xa7\0\xda\1\xf7\0\xa9\0\x95\0\xd5\0\xf3\1\xa1\0\xe5\0\xdd\0\xdb\0\xac\0\xbd\0\xea\0l\0\xdc\0\xb3\0\xeb\0\xdd\0\xf3\0\xd7\1\xe7\0\xa4\1\xc9\0\xf8\0l\0O\0\xbc\0\xc2\x000\4\r\0\xde\0\22\1\31\0\25\0\x8d\0\x89\0\x90\0\xa8\0\xcd\0\x90\1\xd1\0I\0\xa5\0\xc1\0\xc6\1\xb1\0i\0y\0}\0P\0O\0P\0\xcb\0\xc0\0\xd8\0\xe7\0\xbc\0\xc1\0l\0\xe6\0\xb3\0\xf4\0\xda\0\xe5\0\xf3\0\xdc\0\xb3\0\xf8\0\xe0\0\xf3\0\xe1\0\xb4\0\xad\0\xe5\0\xa9\0\xbb\0\xc3\0\xd8\09\0\x9e\0\xf6\0d\0\xdc\0\xf4\0\xe1\0\xd7\0\xf3\0\xd7\2\xc9\0\xe4\0\x9e\0\x84\0\xd3\0\xc3\0\"\x000\4\r\0\22\0\0\31\0\xd0\0\x8d\0\x89\0\xcd\0\x90\0\xa8\1\x90\0\xd1\0M\0\xa5\0\xc1\0\xc0\0\xa5\0x\0\xcf\0\xf4\0\xa4\0=\0.\0j\0\xc7\0\xdb\0\xaa\0\xd4\0\xc3\0<\0P\0\xb3\1\xa9\0\x9f\0\xe5\0\xdd\0\xb3\1\xa7\0\xf4\0\xdf\0\xa9\0\xda\0\xb4\0\xda\0\xb5\0\xaa\0\xbc\0\xc8\0I\0d\0\xb3\0d\0\xb3\0\xe4\0\xe1\0\xf3\2\xc9\0\xd7\0\xf3\0\xeb\0A\0\xc4\0\xc0\0\xbc\0p\x000\5\22\0\x007\1\x9d\0\x89\0\x90\2\xa8\1\xcd\0\xd1\0\xb0\0\xb1\0\xb8\0e\0\x80\0\xe9\0\xd7\0\xf3\0\xd5\x000\0.\0r\0\xad\0\xd9\0\xd3\0\xa4\0\xab\0\x97\0\x9e\0\xd5\0\x9f\0\xec\0\xdd\0\xec\0h\0\xb3\0\xec\0\xa9\1\xda\0\xe5\0\xdd\0\x9f\0\xc5\0\xc3\0\xd4\0\xc5\0\x95\0\xb3\0A\0\xb3\0d\0\xa7\0\xda\0\xe0\0\xc9\0\xf3\1\xd7\0\xf3\0\xda\0\xec\0\x80\0]\0\xbc\0\xc2\x000\5\30\0\22\1\31\0\xcb\0\x98\0\x90\0\xa8\1\xcd\0\xa8\0\xcd\0\xd1\0h\0\xd2\0Y\0(\0\xf4\0\xe5\0\xb2\0\xf5\0\xe4\0y\x000\0(\0\xa3\0\xbc\0\xd3\0\xd9\0\xbc\0<\0v\0}\0\xb3\0\xec\0\xdd\0h\0I\0\xe6\0\xb3\0\xa9\1\xb4\0\xda\0\xe9\0\xb5\0\xd9\0\xc3\0\xd4\0\xea\0\xd5\0\xdc\1\xf6\0\xec\0\xa7\0\xdf\0\xf3\1\xe5\0\xd7\1\xf3\0\xf7\0\xdc\0>\0\36\0\xc3\0\xb5\x000\4%\0\22\x007\1\31\0\37\0\x8d\0\x98\0\xa8\2\x90\1\x98\0\x9a\0u\0\"\0\x9e\0\xe1\0\xb2\0\xdf\0\xf5\0\xf4\0\xb3\0\xc4\x000\0\xa1\0\xbc\0\xd8\0\xd3\0\xc3\0\xd8\0|\0I\0\xe6\0\xb3\0\xdf\0n\0P\0z\0\xd5\0\xa9\0\xb3\1\x9f\0\xa6\0\xaa\0\xbc\0\xd4\0\xd8\0\xea\0\xd5\0\xe4\0\xa7\0\xdc\0\xa7\0\xf4\0\xe9\0\xdd\0\xe1\1\xe5\0\xf3\1\xf7\0\xdc\0I\0.\0\xb9\0\xa2\x000\4%\0\22\x017\1\xbe\0\x9d\0\x89\0\xa8\0\xcd\0\xa8\0\xcd\0\xa8\0\x8d\0\x9d\0;\0y\0\xda\0\xb2\0\xd7\0\xf5\0\xeb\0\xec\0A\0j\x000\0\xc0\0\xbc\0\xd4\0\xe7\0\xd3\0\xbc\0\xac\0>\0w\0\xec\1\x82\0j\0z\0\xe6\0\xd5\0\xb3\0\x99\0\xa9\0\xac\0\xc3\0\xd3\0\xe7\0\xd4\0\xd2\0\x9f\0\xdd\0\xe9\0\xeb\0\xa7\0\xeb\0\xa7\0\xe9\0\xda\2\xe9\0\xda\0\xe9\0\xdc\0>\0.\0\xa0\0\xd4\x000\4%\0\22\0\xbe\0\22\1C\0\xcb\0\x98\0\xa8\1\xcd\0\xa8\0\x8d\0\x9d\0;\x000\0z\0\xf3\0\xe7\0\xf7\0\xec\1\xdc\0h\0j\x000\0\xce\0\xc3\0\xd4\0\xe7\0\xd3\0\xd4\0\xbc\0\xbb\0z\0\x9e\0h\0\x93\0j\0l\0h\0}\1\xb4\0\xaa\0\xc3\0\xd4\0\xd3\0\xae\0\xd4\0\xd2\0\xa0\0\xe0\0\xda\2\xf4\0\xeb\0\xe9\0\xda\1\xe9\0\xeb\0\xe9\0\xeb\0d\0>\0.\0\xa2\0\xbc\0\xce\x000\3%\0\22\0\0\22\0\xbe\0\31\0\xbe\0\x8d\0\xcd\0\xa8\1\x8d\0\x9d\1\xf0\0\xc4\0\x9f\0\xe7\0\xf3\0\xf4\0\xda\1\xb3\0O\1\xf0\0Y\0\xab\0\xd8\0\xbc\0\xd8\0\xd3\0\xd4\0\xbd\0\xc5\0\xd6\0\x95\0b\0\x81\0>\0\x97\0\xb5\0\xaa\0\xbd\0\xbc\0\xe7\0\xd8\0\xd3\0\xae\0\xd9\0\xb8\0\xa0\0\xc9\0\xf3\0\xe5\0\xf3\0\xda\1\xdf\0\xeb\0\xe9\1\xeb\0\xe9\0\xe4\0h\0.\0|\0\xbc\1\xc3\0(\x000\2%\0\22\0\x027\0\30\0.\0\x98\0\x9a\0\x8d\1\x9d\0;\x000\0\x95\0\xa4\0\xf3\0\xf5\0\xb3\0\xf3\0\xf8\0>\0j\0\x81\0\x84\0(\0\xd2\0\xf9\0\xa3\0\xd4\0\xd3\0\xa3\0\xae\0\xc3\0\xab\0\xbb\0\xb6\0\xbf\0\xf9\0\xae\0\xc3\0\xbc\0\xd4\0\xd8\0\xd4\0\xd3\0\xae\0\xa3\0\xd3\0<\0\xa0\0\xc9\0\xf3\0\xda\1\xdf\0\xe9\0\xdf\0\xeb\0\xe9\0\xeb\0\xe9\0\xeb\0\xf5\0w\0\xc4\0\xae\0\xbc\2\xb6\x000\2%\0\23\0\1\22\0\x007\0U\0\x8d\0\x89\0\x8d\0\x9d\0%\x000\0x\0\x94\0\xb8\0\xe1\0\x9e\0\xda\0\xeb\0}\0\x84\0j\0O\0\xc7\0.\0p\0\xc5\0\xac\0\xf9\0\xd8\0\xe7\0\xd4\0\xd3\0\xeb\0H\0\xd1\0?\0\xda\0\xd4\0\xc3\0\xe7\0\xd3\2\xae\0\xa3\0\xe7\0\xd3\0<\0\xa6\0\xf7\0\xe4\0\xeb\0l\0(\0\xb3\0\xe0\0\xe1\3\xe0\0\xf3\0\xe0\0z\0\xb8\0\xc3\1\xbc\1b\x000\1%\0\22\0\30\0\x007\2C\0\xc4\0\x98\0\x9d\0\x84\0\xb0\0b\0\xca\0\x94\0\x9b\0\x94\0\x99\0\xf6\0\xe6\0\x81\0r\0j\1\xcb\0{\0=\0Q\0\xb7\0\xbb\0\xac\0\xaa\0\xd3\0W\0^\0\x80\0P\0\x9d\0\x86\0A\0\xc3\0\xae\0\xd3\1\xa3\0\xd7\0\xae\0\xe7\0\xbc\0\xed\0\x95\0\xdc\0\xb3\0v\0(\x000\0\xb3\0\xe1\0\xf3\1\xc9\0\xd7\0\xa4\0\xbc\0\xc3\0\xe9\0P\0\xa2\0\xbc\2\xc0\x000\1%\0\22\0\xbe\0\22\x007\0\0\22\0\31\0B\0;\0\xf0\0\xa6\0\xa4\0\xdf\0Q\0\xc3\0\xc1\0'\0\xcc\0h\0n\0j\1(\0e\0Y\0{\0x\0\xc7\0x\0<\0\xb1\0\xc5\0\x99\0\x96\0\xcf\0:\0\xab\0Y\0\xc4\0\x96\0\xe2\0\xc3\0\xd7\0\xd3\0\xae\0\xa3\0\xae\0\xe7\0\xae\0\xc8\0<\0n\0\x93\1\27\0\xcf\0\xf5\0\xeb\0\xe2\0\xd7\0\xc9\0\xd7\0\xa4\0\xbc\1\xe0\0d\0\x84\0\xa3\0\xbc\1\xad\0'\x000\1\30\0\xd0\0\x017\0\0g\0\25\0\"\0v\0\x97\0\xa9\0\xb3\0\xdd\0Q\0(\0\xcb\0(\0Y\0j\0~\0e\0b\0x\2!\0\xcc\0\x94\0\36\0p\0\xa5\0y\0\x9d\0j\0\v\0)\0i\0Y\0\x9d\0@\0\xc3\0\xa3\1\xae\0\xe7\0\xae\2\xb9\0\xbb\0\xe8\0r\1.\0\36\0\xdc\0\xe9\0\xda\0\xe2\0\xf3\0\xd7\0\xa4\1\xbc\0\xe1\0\xf5\0\x9d\0\x94\0\xbc\2=\x000\0%\0\30\0B\0\1\xbe\0B\0,\0j\0\xd5\0y\x000\0>\0\xec\0\xd5\0b\0.\0\36\x000\0\34\0\xc4\0\x9d\0\x94\0\xce\0Y\0e\0x\0\33\0p\0\xbb\0\xc0\0p\0\x9b\0\xca\0\xf0\0O\0-\x000\0&\0\xb1\x000\0\xc7\0\xa3\0\xf9\0\xac\0\xaf\0\xa3\0\xaa\0\xac\0\xc8\0\xac\0\xd2\1\xc1\0]\0\36\0\27\0\xe6\0\xe9\0\xdf\0\xda\0\xf3\0\xc9\0\xd7\0\xa4\0\xd7\0\xe1\0\xe4\0v\0\x84\0\xd4\0\xbc\1=\x000\0*\0\30\0\x007\0\0\25\0,\0\xcf\0\xdf\0\xda\0\x97\0\x95\0\xe6\0\xd5\0\xf4\0\x95\0\x84\0(\x000\0(\0\xa8\0\xd1\0\xa8\0y\0Q\0Y\0&\0\36\0\xa1\0\xac\0\xb1\0\xc8\1\x99\0\x8d\0\x95\09\0 \0i\0\xc2\0\x80\0\xc4\0\xcc\0\xd2\0\xac\0\xc8\0\xac\0\xaf\0\xa2\0\xbb\0\xb7\0\xb1\0p\0\x93\0%\x000\1y\0\xe4\0\xe9\0\xdd\1\xe0\0\xf3\0\xd7\0\xf3\0\xf7\0\xf5\0j\1\xa3\0\xbc\0\xc3\0\36\x000\0%\0\22\0\1U\0\25\0%\0\xd5\0\xc3\0\xe0\2\xf6\0\x84\0\xd5\0n\0.\0\"\1\x8d\0\x89\0\x90\0\xa8\0\x9d\1x\0\33\0=\0\xa2\0\xbc\0\xa1\0\xb8\0\xab\0\xf9\0G\0M\0Y\0\xc2\0{\0M\0[\0@\0\xe8\0Q\0p\0\xcc\09\0\xba\1\x94\0x\0\xcb\2\xc7\0.\0'\0\27\0h\0\xe4\0\xe9\0\xda\0\xf7\1\xe2\0\xe1\0\xf5\0I\0\x80\0>\0\xe7\0\xbc\1b\x000\x017\0U\0\25\0\"\x000\0\xcf\0\xdd\0\xf4\0\xfa\0l\0\xb3\0h\0z\0\x84\x000\0j\0\"\0\x8d\0\x8c\0\xcd\0\x90\0\x9a\0\x8d\0;\1(\0x\0\xf9\0\xae\0\xd4\0\xd8\0\xa2\0\xab\0}\0\x98\0[\0T\0\x83\0\x87\0?\0\xd8\0\xbc\0\xac\0<\09\0\xcc\1F\0\xba\09\0i\0\xce\0\xc1\0]\0(\0x\x000\0%\0\x95\0\xdc\0\xf5\1\xe4\0\xf5\0\xdc\0\x9e\0O\1\x80\0\xa1\0\xbc\0\xd8\0F\x000\1\22\0\25\0$\0'\0f\0\27\0\x84\0P\0v\0\x97\0y\0\x97\0\xe4\0z\0\xcf\0\x82\0x\0\x8d\0\xcd\0\x90\0\x8d\1\x9d\0;\x010\0~\0\xab\0\xc8\0\xd3\0\xd4\0\xd9\0\xbc\0\xab\0\x95\0R\0^\0?\0\xa6\0\xbd\0\xd4\0\xa3\0\xc3\0\xbc\2\xc3\0\xa3\0\xac\0\xbb\29\0{\0\xea\0~\x000\0\36\1I\0h\0\x9e\1h\0v\0P\0>\0I\0P\0\x97\0\xbc\0\xea\0\xc2\0(\x000\0\22\0U\0\25\x002\0,\0'\x000\0\xec\0\xe0\1\xf8\0\xf5\0\x95\0\xb3\0h\0\xcf\0r\0\x8d\0\xcd\0\x90\0\x8d\1\x9d\0;\x010\0b\0\xf9\1\xae\0\xd8\0\xc3\0\xd4\0\xbc\1\xac\1\xbd\0\xbc\0\xd4\0\xd3\0\xe7\0\xd3\1\xd8\0\xc3\0\xae\0\xaa\0\xad\0\xa3\0\xaa\0\xe8\0\xcc\0\xaa\0i\x000\0\xc7\0]\0\36\0'\0j\0>\0v\0>\2I\2v\0\x95\0\xae\0\xa0\0\xce\x000\0\xbe\x002\1f\0,\0f\0\"\0\xd5\0\xb0\0v\0\x82\0j\0\xd5\0\xa9\0v\0\x82\0\x9d\0\xcd\0\xa8\1\x8d\0\x9d\1;\1.\0\v\0\xbb\0\xea\0\xc5\0\xac\0\xbc\0\xd4\0\xae\0\xd3\0\xbc\1\xd4\0\xae\0\xd3\0\xd8\0\xd3\0\xe7\0\xd4\2\xbc\0\xc3\0\xd4\0\xbc\0\xbb\0\xea\0\xbc\0\x94\x000\0<\09\0\xc7\0%\0\27\0'\0\xc7\0P\0j\0P\0v\0h\0\xfa\0h\1l\0\x95\0\xbc\0\xd3\0(\0\30\0\25\0$\x002\0f\x020\0(\0\xfa\2I\0Q\0\xf6\0y\0;\0\x89\1\x9a\0\x8d\0\x9d\0\xc4\0\xf0\2 \0\xcc\0\xd2\0\xb8\0\xbb\0\xc8\0\xbc\0\xe7\0\xd4\1\xd3\0\xd4\1\xd3\0\xe7\0\xd8\0\xd4\2\xd9\0\xd4\0\xa3\0\xbc\0\xea\0\xbb\0\xbc\0\xce\x000\0<\0\xf9\0\xcc\0'\0\xcb\x010\1y\0P\0h\0\xa9\0\xdd\0\xf3\0\xc9\0\xf8\0\xf6\0v\0F\0\xbc\0\x94\0\22\0g\0\25\0$\0,\0f\0,\0f\0(\0h\0\xfa\0z\0\xcf\0P\0z\0\30\0\0(\0\xd1\0\x89\0\x8d\0\x9d\0;\0\xf0\2\36\0\2\0\xc1\0\xc0\0<\0\xc5\0\xae\0\xd4\0\xd8\0\xd9\0\xd4\5\xd9\0\xe7\0\xd8\1\xd3\0\xbc\0\xad\09\0\xbd\0\xe8\x000\0\xc2\0\xbb\0\x94\0\36\0\x9b\0r\x000\1,\0}\0\xf8\0\xf7\0\xc9\0\xe7\0\xa4\1\xd7\0\xe0\0\xf5\0\x80\0\xa1\0\xd2\0\22\0U\0$\0,\0f\0,\2\27\0%\0'\0j\0I\0j\0$\0g\0C\1\34\0\x9d\0\x8d\0\x9d\0;\0\xf0\2\30\0#\0\26\0\xe8\0\x95\0\xea\0\xc5\0\xaa\0\xc3\0\xd4\0\xd9\0\xd4\5\xd8\0\xd4\0\xd8\0\xd3\0\xd4\0\xba\0\xac\0\xb1\x000\0\xc2\0\xea\0y\0\x84\0\xce\1%\x002\0$\0\x95\0\xf8\0\xf7\0\xe0\0\xe7\0\xa4\0\xc3\0\xa4\0\xd7\0\xe0\0\xf5\0\x84\0|\0\xb6\0\22\0\0U\0\25\0,\0'\0\27\0f\0,\x002\0$\0\33\0B\0g\0\1\xbe\0\22\0\31\0\xd0\0.\0;\1\xf0\2(\08\0C\0\16\0Y\0\x95\0\xaa\0\xbb\0\xf9\0\xd4\1\xe7\0\xd3\0\xd8\0\xd4\0\xd3\0\xd4\1\xe7\0\xa4\0\xbc\0\xac\0\xbb\0\xb6\0j\0\xce\0\xcc\0\x97\0\5\0k\0r\0\"\0\30\0$\0\x95\0\xf8\0\xe9\0\xf3\0\xd7\0\xa4\1\xc9\1\xe2\0\xf6\1j\0|\0\xc2\0\22\0\0\xbe\0\25\x002\0,\1f\0'\0\34\0\25\0U\0\xbe\0\0\xbe\0\1\22\0\0\30\0B\0\34\0\27\0\xf0\x020\0\xde\0)\0\0#\0\32\0\xc2\0\xc8\0\xd3\0\xc3\0\xbc\4\xc3\2\xbc\0\xd4\0\xd8\0\xc5\0\xa5\0\v\2&\18\0\22\0B\0\t\0B\0]\0\xf8\0\xe9\0\xe0\0\xe7\0\xa4\1\xc9\0\xd7\0\xf3\0\xf5\0\xfa\0\x9e\0\xc4\0F\09\0B\0U\0\0B\1\25\x002\0,\0\25\0\xd0\0\2\xbe\0\x027\1\xbe\0\xd0\0\25\1,\0\27\x000\1\xb0\0\xfb\0C\0\0\32\0\20\0E\0\xfb\0\xde\0:\0\xfb\0\xed\0\xbf\0\xc5\0\xed\0:\0E\1\xe3\0\4\0\0\0\31\0\1\0\t\0\22\0r\0\xde\0\xf2\0\30\0`\0\0\0\37\0\xec\0\xf8\0\xdd\0\xae\0\xa4\1\xd7\0\xc9\0\xdd\0\xf5\0\xb3\0d\0\x81\0f\0\x99\0\xce\0\22\0\25\0B\x007\1\xbe\0\xd0\0B\0\xbe\0\0\xbe\1\5\22\0\0B\0\25\x002\1,\x002\0'\0\xcf\0\xbc\0\xfb\0\31\0\22\0\32\0\31\0\32\0\t\0C\x007\0C\0\31\0\32\x004\0#\0\0\1\24\0#\0\xf2\1`\1\xc1\0\xe8\x003\0\n\0\0\x012\0y\0\xf8\0\xe1\0\xd7\0\xc9\0\xe2\0\xc9\0\xe5\0\xdf\0\xec\0\xfa\0}\0h\0x\0r\0b\0%\0\22\0$\0\25\0\xbe\x007\0B\0\xd0\0\xbe\0B\0\xbe\1B\0\xbe\0\2\xbe\1\1\xd0\0\25\0\34\x002\1,\x002\x000\0\xc0\0\xbc\0\xea\0k\0\32\x006\0)\0`\0+\0#\0\24\x006\0#\x006\08\0)\x013\0\xee\x003\0\xf1\0\xee\0\xf1\08\0\xf1\x003\0\a\0\xbe\0\36\0f\0\x9e\0\xf7\0\xd7\0\xc9\0\xe5\0\xdd\0\xdf\0\xa9\0\xec\0\xd5\0\xfa\0\x95\0\x81\0\x93\0r\x000\1\22\0B\1\25\0U\0B\2\xbe\0B\0\xbe\0B\1\x057\0\xbe\0\25\x002\1,\2'\0(\0\xb9\0\xbd\0\xab\0<\0\xf1\0\xf2\0+\0)\x013\0\xf2\0`\1)\08\0E\0\r\0\24\1\xe3\0\f\x003\1)\0\xe8\0\xc7\1-\0O\0\xf8\0\xe0\0\xe5\0\xe0\1\xb4\0\xa9\0\xf6\1z\0\xfa\0z\0\xc7\x010\1%\0\22\0\0g\0\0g\0\1U\0B\1\xbe\2\0\22\0\3\22\0\xbe\0\25\0$\x002\1,\0f\x002\x000\0\x9d\0\x9f\0\xab\1\xa2\0\xea\0\xde\08\0)\0+\2)\0+\0y\0\xeb\0\xdd\0\xb4\0\xa9\0\xf4\0\xa9\0u\0E\0\xcc\0\xce\0Y\0-\0\xca\0\xeb\0\xe1\0\xe2\0\xdd\2\xc6\0\xd5\0\xf6\0z\0h\1j\0]\0(\x000\1%\0\22\0B\0U\0C\x007\0\0B\1\xd0\0\xbe\0\0B\0\xbe\0\0\22\0\1\22\2\0\xbe\0\25\x012\0,\x012\0,\0\xf0\0\xd1\0\\\0\xb6\0\xbf\1\xae\0\xad\0\xed\0:\0\xde\3\xa9\0d\0\xdc\0\xf7\1\xf5\0\xf8\0\xb3\0b\09\0i\0\x9b\0>\0\xd5\0\xf3\1\xe2\0\xdd\0\xa9\0\xf6\1\xe6\0\x97\0z\0h\0O\1\xc7\0'\x000\1%\0\30\0B\0\0B\0U\0\xbe\2B\1\xbe\0B\0\xbe\0\2\xbe\1\x017\0\xbe\0\xd0\0\25\x002\0f\0,\x002\0,\0\x9d\0\x80\0\x9d\0\xd1\0}\0\xa2\0\xf9\1\xd3\0\xc3\0\xbc\1\xb2\0\xec\0\xf5\0P\0j\0l\0\x9e\0\xdc\1\xc9\0\x99\0-\0Y\0\x97\0\xfa\0\xf6\0\xa6\0\xa0\0\xf7\0\xdd\0\xe6\1\xb3\0z\0h\0z\0\x84\0O\0\xc7\x000\3%\0\22\0\0B\0\25\0\xd0\0\xbe\0\3U\0B\0\xbe\1B\3\xbe\0\x007\0\0\xd0\0\25\x002\2,\0\36\0\x94\0\x80\0\x9d\0\xc4\0\x8d\0\x83\0\x9f\0\xa1\0\xab\2\xbc\0}\0\x80\0h\0z\0\xf0\x000\0(\0l\0\xf5\0\xe0\1z\1\xfa\0v\0\x97\0\xec\0\xfa\0\xf4\0\xf5\0\xe6\0\xfa\0n\0z\0h\0j\0]\0\xc7\x000\4%\0\22\0g\0B\0U\0B\1\xbe\0\22\0\0B\1\1U\0\xbe\0B\1\xbe\2\1\xbe\0\25\x012\x010\0~\0\xbc\0\xe8\0\x9d\0P\0\x80\0\x9a\0\x89\0\x8f\0A\0\xa0\0\xb9\0\xbc\0\xab\0\x95\0\xf5\0\x9e\0j\x000\0\xf0\0I\0\xeb\0\xf3\0\xdd\0\xe0\0\xf8\0\xf7\0\xd7\0\x97\0z\0\xf8\0\xfa\1z\0>\0n\0>\0j\0O\0\xcb\0'\x000\4%\0C\0U\1\2\22\0B\0\xbe\2\0B\2\1\xbe\0B\0\xbe\0\2B\0$\x002\0'\19\0\xc2\0\xbd\0Q\0\x9d\0\x80\0\x9a\0^\0\x8e\0\x96\0\x91\0G\0W\0\xb3\0z\0\xf6\0\xdf\0\xe2\0\xe6\0\xb3\0\xec\0\xe5\0\xf3\1\xf7\0\xe1\0\xf3\0\xf7\0\xf5\0>\0\xd5\0\x97\0>\0P\1n\0O\0b\0.\x000\6%\0\22\0g\0B\0\xbe\0B\0\xbe\0B\0\xbe\1B\0\xd0\2\xbe\0B\0\xbe\0\1B\0\xbe\0B\0\0B\0\25\x002\0f\x000\0\xc0\0\xbd\0\xba\0\xc2\0\xac\0e\0\xc1\0\x82\0\x8d\0\x8e\0^\0M\0\x8e\0\x91\0\x8e\0\xf6\0v\0\xdf\0\xa4\0\xd7\0\xc9\0\xb4\0\xf3\0\xe0\0\xf8\1\xf4\0\xf8\0\xf5\0\x9e\1\xb0\0\xce\0\x82\0j\0y\0\x84\0*\x000\b%\0\22\x007\0\0B\0\xd0\0B\0\xd0\1B\1\xd0\0B\0\xbe\3\2\xbe\0B\1\25\1'\x000\0\xb1\0\xbd\0\xbf\0\xbd\0\xcc\0\xb7\0\xba\0p\0\xba\09\0\x81\0\x8d\0\x98\0\x8e\0^\0\x80\0n\0\xf6\0\x82\0\xf6\0\xf8\0\xeb\0\xf7\1\xf8\0\xe9\0\xa9\0\xdc\0\xfa\0\xf6\0z\0\x95\0\x94\0<\0~\0*\x000\2'\x010\6%\0C\0B\0\xd0\0B\2\xd0\2\xbe\1\1B\0\1\xbe\0\3\xd0\0U\0,\x000\0\xb1\0\xbd\0\xac\0\xaa\0\xbd\0\xae\0p\0\xbb\0\x94\0p\0\xb1\0\xc5\0\xbb\0\xc2\0I\0\x8e\0P\0j\0I\0\xf6\0v\0\xdc\0\xf5\0\xf4\0\xf6\0\xec\1\xdc\0\xf6\0\xfa\0}\0n\0\x97\0\xb8\0\xba\x000\1'\x020\0%\x000\6%\0\22\0B\0\xd0\1B\1\25\0\30\0\xd0\1\xbe\1\x057\1\xd0\0$\0f\x000\0<\0\xd8\0\xac\0\xad\0\xd3\0\xad\0\xd3\0<\0\xcc\0\xac\0\xc2\0\xcc\0\xa2\0\xbc\1\xab\0\xc8\0F\0\x80\0v\0\x9e\0\xf6\0P\0\xb0\0\x9e\0\xb3\1\xf6\1\xe6\0h\0I\0P\0\xcb\0e\0'\x000\1%\x000\0'\1\27\x000\6%\0\30\0U\0\xd0\1B\2\xd0\0B\0\xbe\0B\1g\0\3C\x007\0\25\0$\0,\x000\0\xc2\0\xbd\0\xac\1\xc8\0\xaa\0\xae\0\xc2\0\xc8\0Q\0\xb1\0\xbc\0\xe8\0\xd2\0\xad\0Q\0\xc2\0\xac\0\xaf\0\x82\0P\0v\0\x9e\0\xe6\0h\0\xe6\1\x9e\0n\0v\0P\0\x84\0\xc4\x000\0'\x000\0'\0.\0(\0.\1(\0.\x010\6%\0B\0U\0\xbe\0B\0\xd0\0\25\1B\0\xbe\0B\1\4C\0\0$\0!\0\33\x000\0\xcc\0\xbd\0\xac\0\xc8\0\xb2\0\xa3\0\xaf\0\xad\0\xb1\09\0\xd2\0\xc7\0\xae\0\xa3\0\xb9\0\xb8\0\xba\0\xc2\0\xcc\0\xbb\1j\0v\0z\0h\1j\0\x84\0\xc4\x000\0'\0%\0\27\0%\0.\0(\0.\0(\0.\4(\0.\x000\6%\0!\0\25\0\xbe\0B\1U\0\37\0B\0\xd0\0B\0\1\xbe\0\30\0\1\xbe\0$\0'\0\xcc\0\33\0x\0\xbc\0\xc8\0\xad\0\xb2\0\xa3\0\xad\0\xd9\0\xa1\1F\0\xe8\0{\0\x94\0\xc3\0\xad\0\xd2\1\xdb\0Y\0\xdb\0\xd2\0\xbb\0\x93\0v\0\x80\0\xc4\0\x93\0\xcb\0r\09\1\xcc\0\x94\0Q\0]\1r\0x\1.\1\36\0(\0\36\0(\x000\6%\0U\1B\2\xd0\0B\2\xbe\3\x007\0\xbe\0$\1u\0x\0'\0\xaa\1\xad\0\xa3\0\xc8\1\xf9\0\xa1\0\xa3\0\xdb\0\xd2\0\xce\0\xba\0e\0\xb1\0\xac\1<\0\xc1\0\xb9\0\xb8\0\x9b\0\xcc\0\xc0\0O\0b\0\x9b\0\xc1\0\xb5\0\xc0\0\xc1\0\xcc\0Q\3]\0{\0r\0\xc7\0\xca\0\xcb\0\36\0.\0\xc7\0(\x000\6%\0U\0\25\0B\1U\2g\0\1\xbe\1B\0\0B\0\25\0,\0\xcb\0p\x000\0\xea\0\xbc\0\xa2\0\xc8\0\xac\0\xc8\0\xac\0\xa1\0\xc5\0\xb9\0\xb6\0\xc2\0\xb8\0\x94\0r\0b\0\xb1\0\xbb\0\xd8\1\xbd\0<\x000\0~\0\xbd\0\xce\0\xe8\0\xaa\0\xdb\0\x9b\0~\0{\0Q\0p\0\xcc\0p\0\x94\0p\0]\0{\0r\0\xcb\0\36\0.\0\xcb\0b\0%\0'\x000\6!\0\25\0\30\3\22\0\30\0\22\0\30\0\22\2\30\1$\x002\x010\0\xba\0\xbc\0\xc8\0\xa3\0\xc8\2\xf9\0\xa1\0\xac\0\xb9\0\xd2\0<\0\xc1\0\xba\0Q\0=\0{\0\xbb\0\xb8\0\xc1\0\xb8\0\xc1\0(\0\xd2\0\x94\0\xba\0\xa2\0p\0\xc7\0\x94\0\xc0\0\xb1\0\xd2\0\xbb\0\xb6\0<\0\xc2\09\0\xce\0p\0{\0r\0x\1]\1%\x000\0%\2\27\0%\x000\0%\0"
)


Ici encore, le problème venait de l'image. Bien qu'ayant l'air d'une miniature de rien du tout, l'image comportait pas moins de 253 couleurs différentes, qu'
img2calc
ici ne réduisait automatiquement qu'à 252 couleurs.

Bref,
img2calc
s'en sortait très bien niveau compression
RLE
lorsque tu lui fournissais des images propres ou simples, soit avec un jeu de couleurs réduit ou de larges formes de couleur unie. Facile lorsque c'est toi qui conçois l'image.
Mais si tu convertis une image récupérée en ligne, ce ne sera pas forcément le cas :
  • photo
  • image au format
    JPEG
  • miniature obtenue par réduction d'une image originale plus grande avec interpolation de couleurs
    (cas de
    Super Dupont
    )
  • ...
Comment fait pour gérer ce cas et obtenir malgré tout des tailles de script acceptables ?

Et bien dès aujourd'hui nous te proposons une solution.
img2calc
te permet dès maintenant de préciser le nombre maximal de couleurs à retenir pour la conversion, par défaut à
256
dans le cas de la compression
RLE
.

Pour
Bomber
par exemple, on peut tenter de limiter à
8
couleurs au maximum, pour un script qui ne fait maintenant plus que
5,9 Ko
(-68,78%)
:
Code: Select all
#palette for your image
#7 RGB-888 colors
palette = (
"w","#d0d4d0","#b8c0b8","#a0a0a0","#585c58","k","#282828",
)

#your image data
#240x74 RLE-3 pixels
image = (
b"\xf8\x88\1\2\3\2\xd0\16\4%\3\xb8\16\4-\6\1\0\1\3$\3\1\x90\6\1\3\4\3\1\x98\a\3=\3\4\6=\6\3\1\xf0\5\3\6\35\3\x90\a\4\xa5\1\6\3\xe0\5\1\6-\3\x80\a\1\xbd\1\3\xd8\5\x045\4\x80\a\3\xc5\1\3\xc8\5\1\x065\4\x80\a\4\xc5\1\6\1\xc0\5\3=\4\xf8\6\1\6\xcd\1\4\xc0\5\4=\3\xf8\6\3\xd5\1\6\xb8\5\1\x065\6\1\xf8\6\6]\6\24\6U\2\xb0\5\3=\4\xf8\6\1U\4\2\1\20\1\4M\3\xb0\5\4=\2\xf8\6\4E\6\x030\1\6E\4\xa8\5\1\x065\6\xf8\6\1\6=\6\2@\4E\4\xa8\5\3=\4\xf8\6\2\6=\3H\4E\2\xa8\5\4=\3\xf8\6\4=\6P\4E\1\xa0\5\1=\6\1\xf8\2\1\n\1\xd8\3\6=\3H\1\6E\xa8\5\3=\4\xf0\2\1\4\6\25\4\1\xc0\3\2=\6\2H\2E\4\xa8\5\4=\1\xe8\2\1\4-\6\xc0\3\4=\6\30\t\30\2\6E\2\xa0\5\3\x065\6\xf0\2\4=\4\xb0\3\1\6=\3\0\1\4\36\3\1\2\6E\4\1`\1\2\33\2\1\x90\1\1\23\1\b\1\2\33\28\1\2\33\2\1p\4=\4\33\2\1\xa0\1\1\2\33\2\1P\1\6=\6\1\xa8\3\3E\1\2\6\x8d\1\2P\1\3\4=\6\3\1p\4%\4\3\6-\6\4\1\b\1\3\4=\4\2X\1\6u\4\2\xf8\0\1\3\4=\6\3@\3M\3\xa8\3\4=\4\1\6\x8d\1\4H\1\4\6]\6\3`\4\x85\1\4\1\3\6]\4P\2\x85\1\6\3h\2\6]\6\x020\4M\3\xa0\3\1E\v\x8d\1\4\1@\1\4\xfd\0\4P\2\6\x8d\1\6u\4H\4\x95\1\4X\3\xfd\0\3(\4M\4\2\x98\3\3=\6\1\6\x8d\1\2@\1\4\x8d\1\4H\3\x9d\2\48\1\6\x9d\1\3H\4\x8d\1\3 \3U\16\3\1\x80\3\6=\4\1\x85\1\6\2@\1\6\x9d\1\3@\6\xa5\2\x020\3\xa5\1\6\18\3\x95\1\6\1\30\1\6m\4\1\xe8\2\1\6=\t\xfd\0\6\1H\4\xa5\1\48\1\xad\2\x040\4\xad\1\x030\2\6\x9d\1\3 \4u\6\2\xe0\2\4=\6\0\1\x85\1\3@\3E\6\4\v\6E\x020\3M\f\3\4U\6\24\6=\4(\1\6E\6\4\3\4\6=\4(\1\6E\4\3\4\6=\6 \1\x85\1\3\xd8\2\4=\3\b\6\xfd\0\6\28\4=\6\1\30\4=\x030\4E\4\1\b\1\4M\3\20\3=\4(\3E\6\2\20\2\x065\6\1 \2E\4\20\1=\6\1\30\3\x8d\1\2\xc8\2\2=\6\1\b\3\x85\1\x040\1=\4\1 \1\x065\4(\2\6=\4 \4=\6\3\30\1\x065\4(\4=\4\1 \4=\1 \4=\4 \3=\3\30\4\x8d\1\6\1\xc0\2\3=\6\30\3\x85\1\1(\3=\x020\x065\4(\3=\6\1 \6=\3 \2=\4 \1\6=\2(\4=\1\30\1\6=\1 \3=\4\20\1\6\x95\1\3\xb8\2\1\6=\3 \1\4&M\4 \1\x065\x060\1\x065\4(\x065\6\3 \2\x065\6(\4=\3 \4=\4(\1\4=\1\30\3=\6(\3=\3\20\x045\16U\4\xb8\2\3E\x010!\3E\4 \2\x065\x040\2\x065\3 \1=\6(\3=\3(\x065\6\1 \4=\3(\2=\6 \4=\3(\x045\6\1\20\4-\6\1\2\4\6E\4\xb8\2\4=\4h\4=\6\1\30\x035\6\x020\4=\2 \4=\3 \1\x065\6\1 \2=\4 \1=\6\1(\3=\4\30\1=\6\2 \3=\6\1\b\x025\3\20\2E\4\xb0\2\1\6=\3h\3E\2\30\x065\68\x045\6\1\30\1\6=\2 \2=\4(\4=\3 \3=\x040\6=\3\30\3E\4\2\t\2\4\6=\4\20\4-\6\1\30\6=\3\xb0\2\2=\6\n+\2\1 \2E\2\20\1=\3 \2\3\4=\4 \3=\6\1 \4=\3 \1\6=\1 \6=\2\20\1\3\4E\6\1\30\6\xbd\1\2\b\1\6-\4 \x065\6\x020\21\xe0\1\4=\16=\6\4\2\20\2E\2\20\4=\1\20\1\4U\3 \4=\4(\6=\1 \3=\4 \1\x065\6\20\1\6U\4\30\1\6\xb5\1\4\20\x035\3\30\1=\6(\1\4\26\4\xd0\1\1\6\xa5\1\4\1\0\3E\2\b\1\x065\4\20\1\6U\6\1 =\6\2 \3=\4(\x045\6\2 \4=\3\b\1\6]\2\30\4\xb5\1\6\1\20\4-\6\1\30\4=\3 \1\6%\4\xc8\1\3\xb5\1\6\3\4=\6\1\b\3\x065\4\20\4]\4 \3=\6(\4=\3 \1=\6\1\30\1\4=\2\b\3]\6\1\20\1\6\xb5\1\3\20\1\6-\6\30\1\6=\1 \3-\6\1\xc0\1\4\x8d\2\4\20\4=\3\b\1\6U\6\1\30\1\6=\3 \1\x065\6\1 \4=\3 \2=\6\1\b\4]\4\30\3\xad\1\6\3\30\x035\4\30\3=\4(\6-\6\1\xb8\1\1\6\x8d\2\4\20\x065\6\1\b\3]\3 \3E\1 \3=\4 \1\6=\1 \3=\4\20\4U\6\2\20\3\xad\1\6\2 \x045\3\30\4=\3 \x025\4\xc0\1\3\x95\2\2\b\3=\4\20\3U\4 \3E\4(\6=\2 \3=\4(\6=\3\20\4U\6\1\0\1\4M\v\x065\16\3\1 \1\6-\6\1\20\1=\6\1 \4-\6\2\xc0\1\6\xfd\0\16\xfd\0\6\20\4=\2\20\2U\6\20\1\4\6E\3 \1\6=(\4=\4 \1\6=\1\20\4]\f\6U\20\1\3\34\3\18\x045\4\30\2=\4 \x025\6\xc0\1\2\6e\6\2\1\b\1\3\6e\3\1\2\4=\6 \4U\f\16M\6\1 \3=\3(=\6\1 \3=\4\30\1\6\xbd\1\4\x88\1\x035\6\1\30\4=\3 \x045\3\xc0\1\4e\6\2(\2\6]\16M\4 \2\xc5\1\6(\4=\2 \1=\4(\4=\2 \4\xbd\1\6\x80\1\3=\4\30\1\x065\6 \x035\6\1\xb8\1\1\4e\38\1\6\xb5\1\3(\3\xbd\1\3 \2=\4\1 \3=\3 \1\x065\4\1(\xc5\1\1h\1\4=\6\1\30\2\x065\4\30\2\x065\3\xc0\1\2m\28\1\6\xb5\1\3(\4\xb5\1\6\1 \3=\3(\4=\1 \4=\6\1 \1\xc5\1\4\1X\2\4E\3 \3=\3\30\x045\6\xc8\1\4m\3(\1\3\6\xbd\1\6\1\20\1\3\6\xb5\1\4 \1\x065\6\1(\4=\1\20\2\4M\3\30\2\4\xcd\1\4\18\1\2\4\6E\3(\3=\3\b\1\x045\6\3\xc8\1\6m\6\4\31\3\4\xd5\1\4\3\2\3\4\xc5\1\3 \2=\x060\4=\4\2\3\4\6U\6\3\2\3\4\6u\f\3U\f\3\n\3\f\6U\x040\3=\6\2\3\6=\3\xc8\1\2\6\xfd\0\36\xf5\1\6U\6m\6\1 \4=\x030\2M\6\xfd\0\6M\4\33\n\1\b\4e\26e\4\x010\1\6=\6E\6\1\xc8\1\4\xc5\2\4\6\x9d\1\4\1\2\3\4\v\4=\4 \1\x065\6\18\6\x9d\2\6\1@\1\4\xd5\1\4H\6\x85\1\6\1\xc8\1\1\4\xf5\1\6\23\24\v\2\1\2\6\x8d\1\6\1(\6=\2 \3=\4@\4\x95\2\6\3P\1\6\xbd\1\6\3P\2\xfd\0\6\2\xd0\1\1\x065\4\3\6\x9d\1\6\3P\2\6\xfd\0\6\x020\x065\6\1 \3=\3@\1\4u\16\xfd\0\6\3`\1\4\xad\1\4\2`\4m\6\1\xe0\1\4-\6\3\0\2\6\x8d\1\4\1`\2\6m\4\18\x045\3(\x025\4X\4e\4\t\4m\4\2\xf8\0\3\6\x8d\1\6\2\1p\4]\4\1\xe8\1\3-\4\20\1\4u\4\3\x80\1\3\6M\4\3H\1\6%\38\3%\4\1`\3\6=\6\4\3\30\3\4M\4\3\x98\1\3\4\6]\f\1\x90\1\3\6=\4\3\xf8\1\1\4\25\6\4\1 \1\3\6M\4\2\1\x90\1\1\v\4\6\r\f\3\2\1X\1\4\6\5\4\3H\3\6\5\6\3\1p\1\v\4\6\5\6\4\3\28\2\3\4\6\r\6\4\3\2\1\xb0\1\1\v\4\6\25\6\4\v\2\1\xa8\1\1\3\f\5\6\4\3\2\1\x90\2\1\3\2\1H\t\3\24\3\2\1\xc8\x93"
)

Un choix judicieux, la dégradation du lissage de l'inscription sur seulement 4 niveau de gris n'est pas flagrante.

Pour
Super Dupont
qui est une image certes miniature mais en couleur, soyons moins extrêmes. Mettons la taille maximale de la palette à par exemple
16
couleurs, pour un script de seulement
9,8 Ko
(-71,51%)
:
Code: Select all
#palette for your image
#16 RGB-888 colors
palette = (
"#004468","#002450","#085898","#002048","#081020","k","#488ca8","#a0a098","#605458","#b85c50","#c89068","#e02018","#981008","#602018","#e0bca8","#e8ece8",
)

#your image data
#75x100 RLE-4 pixels
image = (
b'\20\1\xe0\1\1\0\1@\1P\1\20\2\xe0\4\1\20\1\xe0\1\1\3Q\0\1P\1\xf0\1\1\xb0\1\1\20\21\20\1\20\21\x90\1\4\x010A\xb0\1\5\20\3\xd0\2\1\x90\1\1\20\21`\1\0\24\3\1\4\0\1\4\3\1\0\1\3\4\21P\2\3\5\20\1\xd0\2\21\xb0\1\1\x80\1\3\4\0$\0\2\0\5\4\1\0\3\5\3\1\0\1\3\0\21\2\4\23\1\24\xa0\4\1\xf0\0\2\4\3\0\5\4\1\0\1\24\1\4\1\4\3\2\3\4\3\5\24\0\1\5\3$\1"\0\2\20\2P\1\3\20\1\3\20\23\1\23\1\3`1@\3\5\4\5\4\2\0\5\4\x034\3\0\24\5\4\5\3\2\1\5\4\3\25\0\x021\0\3\4\0\1\3\20\1\20\1\5\4\2\4\5\2\3\4\22\20\3\1P! \21\20\4\5\1\0\3\4\1E\3\0$\1\24\0\4\23 \1\0\5\0\2\5\1\2\4\1\22\0\5\1"\25\22\24\2\x102\x030A\0\21\3\1\20$\0\1\24\5\4\3\0\23\1\3\2\1\4\22\0\4\0\4\1"\3\25\22\5\0\2\4\0\22\0\4\0\22\6\4\5\0\6\5\4\a\4\b\31\n\t\4\x101\20#\1\3\4\5\3\1\4\1\23\0\1\0\1\0\4B\4\1"\0\x152\4\5\4\2\6\5\6\a\5\t\v\31\4\6\33\n\4\f\v\b\r\v\b\t+\r \21 \3\x012\5\4\3\1\3\2\0\x052\1\5\3B\5\0"\3\25\6\31\a\4\5\v\t\0\33\0;\b\v\31\v\b\f\v\b\31\5\4\31\3\x010\1\20\4\5\xf2\0\4\5\22\x142\4\5\x012\0\5\6\31\6\25\t+\t\0\v\f\4\v\f\4\v\1\b\v\t\v\24\v\31\v\32\f\5\4\v\r\1\0\3 \1\20\25\0b\1\25\22\5\x032\25\6\t\33\n\0;\t\4\v\t\b\33\b\v\r\4\t\35\v\2\v\t\v\t\25)\n\33\4\5\t\v\3\1\x030\1\0\3\25\4\1\2\6\b\t\b\22\4\5\1\2\0\5\b)\b\4;\b\4\v\30\33\0\v\t\5\t\v\t\v\4\r\t\r\t+\4\v\t\2\f\31\f\b\33\25\33\21\20\1\20\1\0\1%\0\t+\t\4\26\25\n\t\0K\b\33\2\3\5\r\v\0\3\v\t\r\v\b\1\v\31\v\2\f\v\0\33\t\0\5\t\v\t\v\b\t\f\4\n\b\3\1\t\x040\1\0!\0\4\5\4\t+\n\b\4\33\5\1\33\0\v\t\b\33\t\v\t\2\b\5\f\v\6\33\4\r\v\2\t\v\1\f\v\6\v\f\4\v\t\0\2\0\b\t\v\b\3\b\1\20\1\0\4\5\1P!\20\5\t\33\t\0\25\b\v\t\5\0\v\f\0\v\t\3\33\b+\t\5\t\33\t\4\5\t\v\t\v\t\r\b\t\v\t\3\b\n\3\2\0\2\0\3$\5\1E\4@\1\x001\0\3+\22\25\r\v\t\5\b\v\f\r\v\6\t\v\b\r\v\t\6\3\5+\t\3\5\t\33\t\r\v\f\r\t\r\4\3\1\22\0\2\x045\4\1\4\3\1`\x110#\t\33\t\2\1\5\b\v\t\5\b\v\t\r+\t\5\f\v\6\2\1\4\v\t\b\v\t\0\31\b\r+\34\33\f\r\1"\1P\2P\1\xf0\0\4\3\2\3\t\33\t\6\5\r\v\t\5\b\v\r\b\33\t\4\5\t\v\t\f\t\0\n\t\r\31\r\34\xab\1\f\r\1B\xb0\1\21\20\21\0\3\5\22\4\t+\b\4\v\n\4\f\v\35\v\t\f\r\5\t+\t\r\b\f\v\34\xfb\1\f\4\0\22\0\2\xa0\1\1\0\1\0\21\0\1\5\1\2\4\5\b\t\33\b\v\t\2\t\v\b\r\v\b\f\v\r\b\t\30\f\xfb\2\f\3\22\xf0\1\21\20\25\22\25\b\33\a\33\t\33\0\t\n\r\34\v\r\f\xcb\3\4\22\xe0\1!\0\3\5\t\6\1\4\t\33\30+\t\r\b\r\f\v\f;L\33\f\xcb\2\r\22\xd0\1!\0\1\4\33\31\33\t\4\r\b\t\b\r\v\34\v\f\33\f\v\f\v\t\nN\37\27\32\t\xeb\1\r\0\2\xc0\x011\0\1\t;\n\0,\r\\\v\34\v\t\36o\16\a\0\37\a\37\n\xdb\1\r\22\0\2\x90\1a\30\t\b\4\r\vl\v,\n\16\37.\17\36\a\36\a\17\16\a\16\a\16\37\16\t\xbb\1\r\22\x80\1\1\0\xf1\0\3\2\4\r\v\x8c\1\v\t\16\17N\17W\b\4\25\b\16\27/\16\xbb\1\4\22\x90\1a\0\2\1\r\xac\1n\37\a\b\24\xf5\0\4\36\27/\t\xab\1\4\2\0\2\xf0\0\1\x131\20\4\x9c\1\v\16\17\a>\37\a\x84\1E\b\'/\n\x9b\1\f\1\22\xf0\0S\1\0\4\x9c\1\t\36\a>\37\b\5\4\b\4%\24\xf5\0\'/\16\x9b\1\f\22\0\2\0\x020S\0\1\r\x8c\1\t\36\a>\37\b\5\24%\4\r\4e\a\16\17\b\16?\16\x9b\1\4\2\20\2@\x013\21\4\x8c\1\t\16\27\36\a.\b\24%\4\30\r\xf5\0\b\37\a_\16\x8b\1\f\0\22 \2\20\3\1#\0\3\x9c\1W.\a\b\r\25\4(\xf5\0\4\27\37\36_\n\x8b\1\4"P\1\3!\4\x8c\1\n7N\30\24(\r\xf5\0\4\30\25\6\16\xff\0\t\xfb\0\f\x002 \1\0\23\1\3\x8c\1\t\16G\36\a(\48\xe5\1\16\x8f\1\x8b\1\x042\20\2!\3\1\4\x8c\1\27\n\'\36\a\b\0\b\4(\r\xa5\1\a\16\27\b\16\x8f\1\n\xfb\0\fB\20\21\3\1\3\r\xfc\0\bW\16\a\24\25\4\25\4e\4\b\r\5\b\17\6\5\16\27\36\37\a\16?\x8b\1\3R\1\23\1\4\r\xfc\0W\16\a\xc5\1\4\b\27\36\25\37\5\4\30\24\r\b\16\27/\n\xfb\0\r"\0\22\23\1\0\4l\r\t\27\n7\b\xb5\1\4\n\a\b\a\t\4\25\b\17\a\4\0\a5\b\37\a/\xfb\0\fR\1#\r\xfc\0\x87\1$e\24\25\t\r%\b\4\b\37\b\r\16\5\4\25\16\17\b\a/\n\xfb\0\1B#\4\r,\r<W(P\b\2\4\t\n\16\b\r\n\t\4\t\27\16\b\a\17\b\16\r%\36\3\b?\16\xfb\0\rB\1\3\1\4\xfc\0\tG(\0\1\20\3\b\16\6\2\4\t\36\31\16\t\4\t\n\16\17\t\b\17\16\a\25\4\17\a\4\5\a\17\36\37\16\n\tK\rB\23\1\4\xfc\0\b\xf7\0\1\0\1\4\a\16\n\22\0\f\16\17\16\31\r\4\n\16\17\16\r\a\17\30\5\4\17\b\5\0\16/\36O\16\n\33\fB#\4\f\r\\g\16\a\0\2\0\a.\6\22\b\n\16\4\t\16\32\35\16\t\5\a\17\4\5\4\a\r\5\a\16\30\3@\30\27\37\n\f\x032\1\3\1\4L\r\34g\16\a\2\4\a\17\16\37\a\22\b\n\t\5\t\16\n\f\24\16\n\4\b\17\24\a\4\5\a\b\23"&"\20\4\a\16\17\a\0\1\22#\4\34\rLg\16\2\1\b\16?\16\1\20\n\r\24%\4\5\b\t\b\17\a\5\6\5\4\0\4\0\26\2\26"6\22\0\4\b\37\a\1\0#\r\f\rL\r\xf7\0\0\4\t\16\n\16\37\b\a\23\t\n\5\r\t\r)\24\37\5\2\24\21\26\22\1\4\5\4\b\4\5\4\0\26\2\26\0\5\b\37\6#\rl\tg\b\0\4\r\n.\27\16\b\4\5\36\r\f)\35\37\4\3\0\4\1\2\6\2\3\4\5\4\b\r\b\a\36\4\25\0\6\22\26\3\5\16\17\23\24\34\r<\tg\b\0\3\r\t\n\16\27\17\6\t\16\30\16\t\a\16\a\t\5\37\4\5\1\3\0\22\4\5\30\n>\n\r\a\17\a\25\4\x026\0\4\a#\r\f\rL\rg\b\0\3\b)\a\37\a\5\n\36\b\16/\16\b\17\4\5\3\0\4\20\b\r\27\n/\16\37\16\5\a\37\4\25\3\2\6\2\6\2\4#\r\xfc\0W\30\0\4\0\31\r/\b\r\n\t\n\a\31\r\t\r\30\5\4\t>\27\17\t\16?\16\37\16\r\b\x1f5\0\2&#\4\\\r\fg\b\0\3\4\31\b/\b\t:\31\bE\4\32\36\27\17\b\t\36o\16\r\b\17\a5\2&\23\1\4\xfc\0W\30\0\4\t\35\a/\b\t\32\16\32\16\17\a5\t\32\16\n\a\37\r\t\36\xff\0\n\5\16\17E\0\26\0\3\1\5\xfc\0g\b\4\31\35\a/\b\t\32\36\n>\b\n\37\16\17\16\a\37\a\t\32\36o\16\t\b\17\aE\0\6\23\1\4\rl\tG\30\t\r\b\r\4\a/\a\t\32\36\37\32\36\17\36\37\36\37\6\t\n\t\n\36_\16\t\4\37U\0\23\1\3\r\xfc\x007\24\16\17\4\5\r\4\a/\a\r\32\16\n\17\16*^\a/\31\n\t\n\36_\16\n\4\a\17\bU\23\21\r\xfc\0\'\4\r\16\37\n\25\rO\b\t*\16\n\t\32.\17\16\n\16\37\16\b*\t\n\36O\16\n\r\b\17\aU#\1\4\xfc\0\t\a\0\5\16\37\n\16\b\25O\a\r\t\32\16\31\32N\a/\aZ\16_\16\n\b\4\17\aU\3!\4\rl\r\b\5\t\16\17\16\n\16\n\4\5\16O\b\t\32\16\b\r\t\n\16*\a?\a\n\16*N/\16\n\t\5\36U\23\21\3\r\\\35\5\b\16\37\n\16\32\r\5\a_\b\t\32\35\t*\a\16O\a\n.\n\16\nn\n\b\5\16\17U3\1\4L\35\25\t\37\16*\t\r\5\b_\16)\4\r9\16_\a\xde\1\t\b\5\16\17\bE3\1\3\r,-\5\4\n\37.\n\30\5\0o\16\a\b\4(\a\xff\0\a\16?\x8e\1\t\5\b/E3\1\3\5\f=\25\b\37\32\17\16\b\r\b\4\5\a\xff\0\36\xbf\1\a\16\37\x9e\1\n\t\4?\x0e5\x013\1\3\r\f\35\25\4\b\a\16\t\36\t\4\r\b\4\5\b\16_\16\t\f\t\16\x9f\1\27.\t\5\n^\17\16\t\a?\4%#1\4\f\r\4\a\24(\a\32\b-\4\b\4\b\36/\t\f-\v\n\x8f\1\a\b\32\r\25\n\16o\16\r\16/\a%#\1\23\1\3\25\a\17\16\b\17\a\5\b\t\b\35\5\4\0\b$\27\16\a\f\4\6\17\0\4\f\16\x8f\1\a\b\24\5\4\n\36_\16\t\4?%3\1\23\4\5\r\b\16\n\16\b\5\4\5\0\r\bD\3\30\4\b\a\b\35\0\2\b\0\r\t\xff\0\36\a\35\5\4\n.O\16\n\r\b/\4\25S\5\r\n\b\5\b\32\4\5\4\5\24\r\30\0$\b\16\a\30\4\5\b\4\5\1\a\5\4\x8f\1\'\b\4\5\n.O\36\r\4/\4\25\23\1\3\4\5\4\36\30\32\16\b\4%,\30\0\1\4\16\17\a\37\a\r\b\6\3\b\a\r\4\b\a?.\a\b\4%\bN/\16\n\35/\4\x153\4\5\n\17.\n\4\n\b%\r,\35$\16\17\16\a\37\v\f\0\a\b\f\v\t\a(\6\27\bD%\tn\n\t\r\b/\4\25\1\3\4\25\4\36\n\t\n\31\4\5\r\5\r,\35%\4?\16\17\t\f\33\f\v\t/\a\6\30\27\6\30\a\b\5\4\25\b*\16\32\t\30\r\16\37\a\25\3\24%\4\35(\16\t\4\r\4\r\34-%\bo\b\t\f\t\a\x9f\1.\6\b\a\b\5\24I\35\b\t\r\b\17\27\25\23\x045\n.\n\b\n\t\4\35\34-%\4\xff\2\a\b\17\b\5\4\b\4\5\r\b\r()\r\b\17\16\b\5\3U\n\a-\n\16-,-%\0\16\a\16\xbf\2\16\a\17\b\5\a\6\4%\4=\t\n)\b\37\5\3\24U*\t\b\n\b\5\34-\4%\3\b\27\16\x9f\2\a\16\17\b\5\a\17\b\5\24\25\b\r\t\36\37\16\n\r\a\17\b\23\24E\t\n\t\4\r\t\23\5\34\x1d5\4\1\'\16\x8f\2\6\17\a\5\a\16\b\4\b\r%\t\36O\16\n\r\16\a\23\4\xf5\0\r\t\r\4\3\21\4-5\3\2\1\a\b\a\16\xef\1\a\17\a\5\27\b\4\30\25\4\b.O\16\n\4\b\16#\4U\24S\1\3e\2\1\20\b\17\16\xdf\1\36\r(\0\2\r\5\3\4\b\36_\16\32\r\b\a#\4E\24\x93\1\4E\6\2\3\2\0\a\xdf\1\16\a \21\2\23\0\3\b._\32\t\4\a\6C\4\25\4\xf3\0\21\23\x145\a\6\1\3\0\1F\a\17\16\a&\2\20\1\20\3\r\6\2\3\2\0\4\n\36O\16\32\t\b\5\a\b\3\4\3\21\xf3\1\4E\4\17\6\1\3\0\1\x101\0\22 B\27\2 \5\b\36\37\16\37\16\32\31\4\r\4\5\3\24\3\1\xf3\1\24E\a\17\a\2\0B\0b\6\2&\2\6\2\0\3\4\5\t\16/.*\30\4\r\25#\4\xe3\1\1\3\4e\16\37\a\6\x92\1\6 B\a$\b\36\17>\32\t\n\t\24%\xc3\2\24U\r\n\37\16\a\6b\b^\b\6\30\0\24^\a\32)\r\b5#\21\x83\2\24U\f\t\16?\aF\16\t\n\36\n\16\n\4\6(\n\37.*\b\31\30\x045\xb3\2\1\23\4E-\f\t\16o\32\35\31\32\17\a\4\0\b\32\a.*)\4\b\4E#\4\xf3\1\1\23\x045\4\b\35\4\r\f\n\16?\t\r\31%\t\n\36\31\n\r\b\32\16*\b\31\r\b\4U\xe3\2\24%\b\17\a=\f\v\n\36\37\b\n\t\r\25\t\16\17>\17\b\t\16\32\t(\r\b\4e\1\xe3\2\4%\6\a\17\b-,\33\t\n\t\n\36*/\36\17\16\n\b\n\30\35\30\4\x85\1\xe3\2\4%\a\17\27\17\4\a\35<\v\f\n\r\16/\16\17N\n\31\a\b\35\b\4\xa5\1\3\1\xb3\2\24\25\a/\b\16\a\b\a\6\b\r,\r\b\n\r\nn*\t\30\a\b\xd5\1\1\xd3\2\25\aO\b\16\30\a\36\a\t\f\35\t\n\r\32\16Z\t\30\27\xe5\1S\4\xa3\1\21\3\4\25\a_\a\b\17\a\b\16?\a\35\t\n\r\a\tJ\31\r\24\xf5\1\x83\2\21\24\25\a_\a\17\b\a\17\27\17\b\a\37-\t\n\t\32\t\b\35\24\xa5\2C\24\x83\1\1\3\4\3\4\5\bo\a\6\a\4\37\16\'\b\36\35)\r\24\xf5\2\3\x043\4\x93\1\4\5\b\24o\36\27\30\37\'\0\27\16\4\35$\r\26H\r\24\25\4\5\4\x85\1\xd3\1\1\3\24\b\4\5o\16\17\27\b\a\4\a\37\27\16\a\30\a\b\4\b7h\r4\5\4\x85\1\3\4\xc3\1\4\5\4\b\5\a\17\16?>\27\b\r\4\a\16/\a\5\b\17\b\a\17\a\xa8\1\r\24\5\24\x85\1\3\4\xc3\1\4%\ao\16\17\x0e7\b\4\b\x0e7\5\a\b\a\16\b\4\b\'\36\27\6(\r\24\30\x85\1'
)

Choix ici aussi bien dosé, l'affichage de
Super Dupont
semble toujours correct en 16 couleurs.

Voilà, si tu es sur une des plateformes aux mémoire de stockage et
heap
limités, et si tu juges le script converti par défaut trop gros relativement à la complexité de l'image que tu as fournie, c'est très probablement qu'il y a surabondance de couleurs et il te suffira tout simplement d'en réduire le nombre maximal.

Un gros merci à , et qui ont rendu cette mise à jour possible ! :favorite:


Liens
:


img2calc: des scripts Python encore plus petits

New postby critor » 08 Jan 2022, 22:07

13917Dans une série d'articles précédents nous te présentions , notre service en ligne gratuit sur
TI-Planet
te permettant de convertir tes images pour tes projets sur calculatrices.

Un large choix de formats cible t'était proposé :
  • fichiers à appeler depuis tes programmes en langage
    Basic
    :
    • pour
      Casio Graph 90+E
      et
      fx-CG50/20/10
    • pour
      Casio fx-CP400
      et
      fx-CG500
    • .8ca
      ou
      .8ci
      pour
      TI-83 Premium CE
      ,
      TI-84 Plus CE
      et
      TI-84 Plus C Silver Edition
    • .8xi
      pour les
      TI-83 Plus
      (compatible
      TI-82 Advanced
      ,
      TI-82 Plus
      et
      TI-84 Plus
      monochromes)
      ,
    • .83i
      pour les
      TI-83
      (compatible
      TI-82 Stats
      et
      TI-76.fr
      )
    • .82i
      pour les autres
      TI-82
    • .86i
      pour les
      TI-86
    • .85i
      pour les
      TI-85
    • .73i
      pour les
      TI-73
  • fichiers à appeler depuis tes scripts en langage
    Python
    :
    • pour les éditions
      Python
      des
      TI-83 Premium CE
      et
      TI-84 Plus CE
  • scripts
    Python
    pour les différentes bibliothèques graphiques des calculatrices :
    • ti_draw
      (
      TI-Nspire CX II
      )
    • graphic
      (
      TI-Nspire CX II
      avec
      KhiCAS
      ,
      TI-Nspire CX
      avec
      KhiCAS
      et
      NumWorks
      avec
      KhiCAS
      )
    • nsp
      (
      TI-Nspire
      avec )
    • ti_graphics
      (
      TI-83 Premium CE
      et
      TI-84 Plus CE
      éditions
      Python
      )
    • casioplot
      (
      Casio Graph 90/35+E II
      ,
      fx-9750/9860GIII
      et
      fx-CG50
      )
    • hpprime
      (
      HP Prime
      )
    • kandinsky
      (
      NumWorks
      )
Nous revenons aujourd'hui sur ce dernier point, soit les images converties en scripts
Python
pour ta calculatrice.

Rappelons que les interpréteurs
Python
de nos calculatrices font appel à 3 types de mémoires :
  • La mémoire de stockage qui comme son nom l'indique stocke physiquement tes fichiers de scripts
    Python
    .
  • La pile
    (stack)
    qui référence, à l'exécution, les objets
    Python
    créés par tes scripts. Sa capacité limite donc le nombre d'objets
    Python
    pouvant coexister simultanément en mémoire.
  • Le tas
    (heap)
    qui reçoit, à l'exécution, le contenu des objets
    Python
    créés. Il limite donc la taille globale utilisée pour les données de ces différents objets.

Voici quelques consommations
heap
valides pour les plateformes
32 bits
que sont à ce jour nos calculatrices :
  • pour un entier :
    24
    octets de base +
    4
    octets si non nul +
    4
    octets pour chaque groupe de 30 bits utilisés au-delà des premiers 31 bits dans sa représentation binaire
  • pour une liste :
    56
    octets de base +
    8
    octets par élément + les tailles de chaque élément
  • pour un tuple :
    40
    octets de base +
    8
    octets par élément + les tailles de chaque élément
  • pour une chaîne :
    49
    octets de base +
    1
    octet par caractère
  • pour un
    bytes
    :
    33
    octets de base +
    1
    octet par octet
Comme tu peux le constater le langage
Python
a le très gros défaut d'être un énorme consommateur de
heap
, mémoire qui sera bien souvent le facteur le plus limitant pour tes projets sur calculatrices. Rappelons les plus mauvais modèles sur ce critère :
  • NumWorks
    avec seulement
    32,5 Ko
    de
    heap
  • éditions
    Python
    des
    TI-83 Premium CE
    et
    TI-84 Plus CE
    avec encore pire
    19,7 Ko
    de
    heap

Comme déjà expliqué,
img2calc
a justement été conçu pour minimiser la consommation de
heap
. Pour cela
img2calc
mutualise deux approches :
  • La compression de ton image au format
    RLE
    .
  • Le compactage des données, avec l'utilisation des types d'objets
    Python
    les moins gourmands en mémoire :
    • des tuples pour la palette de couleurs
    • des
      bytes
      pour les données de la compression
      RLE
      (type d'objet
      Python
      s'utilisant comme une chaîne de caractères mais optimisé pour le stockage d'octets)

Prenons un exemple simple. Supposons que tu souhaites afficher l'image 15×15 pixels ci-contre dans un de tes scripts
Python
sur calculatrice.

Un premier codage très naïf dit
true color
de ton image pourrait alors ressembler à ça :
Code: Select all
image = [
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,204,062],[255,204,062],[255,255,255],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[255,255,255],[054,111,159],[054,111,159],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
]

Il s'agit donc d'une liste des couleurs de pixels, de gauche à droite puis de haut en bas, les couleurs étant codées en triplets de valeurs Rouge-Vert-Bleu, l'implémentation la plus fréquente sur calculatrices.

Ce premier codage est toutefois catastrophique en terme de consommation de mémoire
heap
. Il consomme à l'exécution
$mathjax$56+15\times 15\times\left(8+56+3\times\left(8+28\right)\right)$mathjax$
soit
38,756 Ko
de
heap
, excluant donc déjà les
TI-83 Premium CE
,
TI-84 Plus CE
et même
NumWorks
.

Mais c'est bête donc de repréciser à chaque fois la valeur de couleur, alors qu'il n'y a ici que 3 couleurs différentes dans notre image, non ? ;)

Outre le passage aux tuples déjà évoqué, une première amélioration majeure est d'externaliser les informations de couleurs dans une palette, ce que l'on appelle une image indexée :
Code: Select all
palette = ((255,255,255), (054,111,159), (255,204,062))

image = (
0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,
0,0,0,0,1,0,1,1,1,1,1,0,0,0,0,
0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,
0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,0,2,2,0,
1,1,1,1,1,1,1,1,1,1,0,0,2,2,2,
1,1,1,1,0,0,0,0,0,0,0,2,2,2,2,
1,1,1,0,0,2,2,2,2,2,2,2,2,2,2,
0,1,1,0,2,2,2,2,2,2,2,2,2,2,2,
0,0,0,0,2,2,2,2,2,2,2,2,2,2,0,
0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,
0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,
0,0,0,0,2,2,2,2,2,0,2,0,0,0,0,
0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,
)


Cela n'occupe plus que
$mathjax$40+3\times\left(8+40+3\times\left(8+28\right)\right)+40+15\times 15\times\left(8+28\right)$mathjax$
soit
8,648 Ko
de
heap
. Notre icône est maintenant fonctionnelle sur tous les modèles ! :bj:

Et nous en arrivons maintenant à la compression
RLE
. Selon un parcours de l'image de gauche à droite puis de haut en bas, cette compression accompagne chaque information de couleur du nombre de pixels adjacents qui l'utilisent.

Avec notre image d'exemple, cela donne :
Code: Select all
0(×5) 1(×5) 0(×9)
1(×1) 0(×1) 1(×5) 0(×8)
1(×7) 0(×11)
1(×4) 0(×5)
1(×10) 0(×4)
1(×11) 0(×1) 2(×2) 0(×1)
1(×10) 0(×2) 2(×3)
1(×4) 0(×7) 2(×4)
1(×3) 0(×2) 2(×10)
0(×1) 1(×2) 0(×1) 2(×11)
0(×4) 2(×10) 0(×5)
2(×4) 0(×11)
2(×7) 0(×8)
2(×5) 0(×1) 2(×1) 0(×9)
2(×5) 0(×5)


Après encodage et compactage de ces informations sur du
RLE
2 bits
(puisque nous avons plus de 2 couleurs mais moins de 4 couleurs)
, voici le code
Python
associé :
Code: Select all
palette = (
(255,255,255),(55,109,157),(255,203,64),
)

image = (
b"\x10\x11\x20\x01\x00\x11\x1c\x19(\r\x10%\x0c)\x00\x06\x00%\x04\n\r\x18\x0e\t\x04&\x00\x05\x00*\x0c&\x10\x0e(\x1a\x1c\x12\x00\x02\x20\x12\x10"
)

Nous avions donc au final
$mathjax$40+3×(8+40+3×(8+28))+33+43×1×1$mathjax$
soit
584
octets de consommation
heap
.

Par contre, tu pouvais noter la longue écriture du
bytes
sur 140 caractères, et ce alors qu'il ne code que 43 octets.

En effet nombre de valeurs d'octets ne correspondent pas à des caractères affichables, et ont donc besoin d'une notation spéciale dite échappée :
  • \x10 bien que s'écrivant avec 4 caractères, ne code qu'1 octet, de valeur
    10
    en hexadécimal, soit
    16
    en décimal
  • \t, \n, et \r sont des notations plus courtes sur seulement 2 caractères codant les octets de valeurs respectives
    9
    ,
    10
    et
    13

Cette notation pouvant nécessiter jusqu'à 4 caractères pour écrire 1 octet n'était absolument pas un problème pour la mémoire
heap
, mais par contre elle pouvait l'être pour la mémoire de stockage.

Prenons par exemple l'image plein écran en 16 couleurs ci-contre.

img2calc
te la codait jusqu'à présent de la façon suivante :
Code: Select all
palette = (
(215,187,149),(239,183,116),(198,122,27),(90,45,18),(190,143,18),(255,255,247),(0,0,2),(190,172,149),(231,187,99),(239,163,18),(149,105,45),(207,176,107),(73,0,0),(149,67,64),(182,114,116),(247,195,133),
)

image = (
b"\xb0\r\x11\"\x01\xb0&\xe3\x01\xf0\x00\x11\xa0$\x01C\x021\x02\xf3\x00\x01\x10\x93\x01\x01\x80#\x01c\xc1\x013\x01\x13\x91\x01\x02#\x11\x80\"\x01\xf3\x00\x02Q\x02\xf1\x00S\xb1\x01\x023\x01\xb0!\xf3\x00\x12\xa1\x02\x02#\x91\x02\x83\x01\x01\xf0\x1f\x01S\x91\x03\x131\x02a\x12\x91\x01c\x01\xa0\x1fS\x02\xf1\x00\x02\xa1\x01\x02\xf1\x00\x03a\x02\x91\x02\xf3\x00\xf0\x1eS\x91\x01\x02\xa1\x01\x02\xf1\x00\x03a\x02\xb1\x02c\x01\xb0\x1eS\x91\x02\x02\x81\x01B\x03\x02\x91\x02\x02\xd1\x01\x02#\x01\xe0\x1d\x013\xc1\x02\x02\xf1\x00R\x03\xa2\x02\x81\x023\x02\x01\xa0\x1d#\x02A\x02\xf1\x00\x02!\x02\x81\x01\x92\x01\x13\xe2\x02a\x02Q\x023\x80\x1d#\x02Q\x02\xf1\x00\x02\xa1\x01\xb2\x01\x13\x82\x02\xf3\x00\xd1\x013\xb0\x1c\x01\x00\x01#\xf1\x02\x82\x02\x13\x82\x03\x13\x02A\x02a3\x90\x1c3\xc1\x02\xd2\x02#\x92\x03\x13\x02\xc1\x01#\xe0\x1b\x01#\xa1\x02\xf2\x01\xc3\x02\x02\x04\xa2\x02\x03\x121\x02\xf1\x00\x13\x01\xc0\x04\x15\xb0\x16\x01#\x02\x81\x02\xe2\x01\x93\x02\x12S\x12\x04\x82\x02\x13\x02!\x02\x81\x01\x13\x01\xf0\x01\xf5\x00\x005`%\xc0\x015\x80\x14#!\x02A\x02\x81\x01\x92\x01S\x02\x04\x02\xf4\x00Cd\x02\xc3\x01\xe2\x01\xa1\x01\x02\x13\xe0\x01\x05V%\x16\x05\a@\x05&\x05\xb0\x01\x05\x16\x05\xe0\x13\x01\x13\x02\x81\x02\x82\x01C\x02\x84\x02#\xa4\x02\x023\xc2\x011\x12Q#\x01\xb0\x01\x05f\x15\x16%0\x05&\x05\x20\a5\x00\a\x10\x05\x16\x15\a\x05\x00\x050\a\x00\a\xf0\x00%P%P%\a\xd0\x02\x05\x00\x05\x00\x05\x80\x0b#\xf1\x01\x82\x01C\x02\xb4\x02\x13\xe4\x023\xd2\x01\xa1\x01#\xa0\x01%\x16E&5\x105\x20\x156E\x16%\x06\x00\x15\x00E\a\x15\x20\x15&\x15\x10%\x16%\a\x15&\x15`\x05\xa0\x01\x15\x16\x15\x06\x15\xd0\n#\xf1\x01\x02\x03RC\xe4\x02\x13\xe4\x02\x123\xb2\x01\xb1\x01\x13\x02\x90\x01%\x16EV\a\x05\x00\x15\x06\x15\x10\x05V5\x16\x156\x15\x16\x05&\x15\x00\a\x15F\x05\x10\x156\x15\a\x05F\x15@UP\x15f\x05\xb0\n\x01#\xe1\x01\x02\x03R3\x94\x03\x13\xa4\x03\x02#\xb2\x01\xb1\x01\x13\x01\x90\x01\x05\x16\x15\x10\x05f%&%\xf6\x00\x05\a\x05\x16\x056%\xf6\x00%f%V%V\x05@F\x05P\x05\xf6\x00\x05\a\x80\n\x01#Q\x02\xf1\x00\x13R#\xf4\x02H\x13H\xf4\x02\x02\x13\xc2\x01\x01\x02\x91\x01\x13\x80\x01\x05\x16\x15\x10\x05&\x15\x16%&\x156%\a\x15\a\x05V5&\x15&\x15&%\x16%&5\a\x05&%\a@\x056\x05@\x05&5\x16\x05\xf0\t\x01#\x02\xc1\x01\x02\x13B3\xd4\x02\x88\x01\x13h\t\b\xd4\x02#\xb2\x01\xb1\x01\x13\x01`\x05\x16\x15\x10\x05&\x15&\x15&\x15&%\x17\x05\a\x156U\x16%&\x15\x86\x01\x05\a\x0565\a&\x15P\x056\a@\x05&\x15\a\x05\x16\x05\xd0\t\x01C\xc1\x01\x02\x03RC\xa4\x02\t\xa8\x01\x13\x98\x01\xc4\x02\x02#\xb2\x01\xb1\x01\x13`\x05\x16\x15\x10\x05\x16%&\x15&\x15&\x15\a\x15\a%F\x05\a%\x16%&\x15\x86\x01\x05\a\x15&\x15\a%&\a\x050\x05FP\x05&\x05\a\x15\x16\x05\xb0\t\x013\xd1\x01\x02\x03b3\xf4\x01\x98\x019(\x138I\x88\x01\xf4\x013\x92\x01a\x12\x11\x02\x13P\x05&\x05\x10\x05\x16%&\x15&\x156%\x065\x16\x05&\x05\a\x15\x16%&\x15\x16\xc5\x01&E&\x050\x05\a6\x150\x05&5\x16\x05\x90\t\x02#\xe1\x01\x82\x013\xd4\x01\t\xb8\x01i\x18\x03(Y\xf8\x01\xa4\x01\x02\x13\xa2\x01\x91\x01#@\x05&\x05\x10\x05\x16%&\x15&%\xf6\x00%\x16\x15&\x05\a\x05\x16%&\x15&%\x16%&\x05\x16%\x16\x05&\x05`5@\x05\x86\x01\x05\xf0\b\x01#\xf1\x01\x03b3\xb4\x01\x19\xe8\x01i\x18\x13\bi\xb8\x02\x84\x01\x02\x13\x82\x01\x11\x02\xf1\x00\x13@\x05&\x05\x10\x05\x16%&\x15&\x05\x00\x15V\x15\a\x05&\x15&\x15\x16%&5F\x15\x00\x156\x15\x00\x05F\x15\x80\x02\x15f\x05\xf0\b\x13\x81\x02\x82\x01#\xb4\x01\t\x88\x02i\x18\x13\x18Y\x98\x01\t\x98\x01\x84\x01\x02\x13\x82\x01\x91\x01\x13@\x05&\x05\x10\x05\x16%&\x15&\x05\x10\x156%\x00\x05&%\x16\x15\x16\x05\x00\x05&5F\x05\x20\x056\x15\x00%\x16\x15\x90\x02%&\x05\x16\x05\xd0\b\x01\x13\x81\x01\x12A\x92\x01\x13\xb4\x01\xc8\x02Y\x18\x13\x18Y8:\xe8\x01\x84\x01\x02\x03\xf2\x00\x03\x02\xf1\x00S\x00\a%\x205\x17%\x005@E\x205\x00\a\x15\x20\x15\x20%0E@5@5\xc0\x02\xf5\x00\xd0\b\x13\xc1\x01\x02\x11\x82\x01\x13\xa4\x01\x19\xf8\x02\tH\x13\x18Y\b\x8b\x01\xe8\x01\xf4\x00\x02\x13\xf2\x00\x03Q\x02\xf3\x00\x80\x16\x13\x02\xd1\x01\xf2\x00#\xa4\x01\b\t\x98\x02\x1a\x1b\x1a\xf8\x00\x13\xf8\x00\n\xfb\x00\n\xa8\x02\t4\x02\x13\xf2\x00\x03\x02!\x02\x13A#\xf0\x15\x13\xe1\x01\xf2\x00#\x84\x01\x19\xb8\x02\x1a;\nh\x13\xf8\x00\n\xfb\x00\n\xf8\x00)\xf8\x00\x19D\x13\xf2\x00\x03\x02\x11#Q\x13\x01\xd0\x15\x13a\x02a\xf2\x00#\xf4\x00\x98\x01)\xa8\x01\x13K\nX\x13h\nk#Xi\x98\x01\t$\x02\x13bC\xf1\x00\x13\xd0\x15\x13\xc1\x01\xf2\x00#d\xa8\x01I\xa8\x01\n\x13KX\x13X\nk#\nX\xf9\x00\x98\x01\t\x14\x12\x13b\x13\x02\x91\x01\x13\x01\x90\x15\x11\x13\xb1\x01\x82\x01\x13d\t\xf8\x00\x89\x018\x1a\x03J[\nH\x13X\nk\x13\nX\x99\x01\xa8\x014\x13R\x13\x81\x01\x02\x01#\x80\x15\x023\xa1\x01\x82\x01\x13d\x88\x01\x99\x018\n\xcb\x01\nH\x13X\xfb\x00\x13\x0bX\x99\x01\xb8\x01$\x02\x0323\x02a\x12\x11\x13\xe0\x14\x01\x13\x02\x01#\x02Q\x02\x03\xf2\x00\x13d\x88\x01\xb9\x018\n\xcb\x01\nH\x13H\n+\x13\n+\n\x0bX\xa9\x01\xb8\x01\t\x14\x02S\x12\x13\x91\x01\x02\x13\xc0\x14#1#\x021\x13b#d\x98\x01\xb9\x018\n\xcb\x01\nH\x13H\n+#;\nX\xb9\x01X)(\t\x14S\"\x03\x02\xa1\x01\x03\x01\xa0\x14#Q\x02#\x11\x03\xf2\x00\x03\xf4\x00(9H\xb9\x018\n\x0b:#K\x18\t(\x03h\n\x0b#\x0b\n;\nX\xa9\x01HI(\x143R\x03\xa1\x01\x02\x03\xa0\x14#a\x02\x13\x12\x03b\x13d(\xf9\x00\x18\xb9\x018Z\x0b\x13;\n\x18\t(\x03h\x1a\x13\n\x0b\n;\nh\x89\x01HY(\t\x043\xf2\x00\xa1\x01\x03\x01\x80\x14\x13\x02\x81\x01\x02#b\x13d8i8Y\xe8\x01\x0b\x13;\nH\x13(\x14(\x1a\x0b\x18\x1a;\nX\x89\x018\xf9\x00(Sb\x01\x02\x81\x01\x02\x13\xf0\x13\x13A\x02\x01\x02!\x02#2\x13TX\xf9\x00H\t\xa8\x02\n\x0c+\x1a\x0bH\x03\x048\x19\xf8\x00\n\x1b*\x98\x01)Xi83\x04#bA\x021\x02\x13\xd0\x13\x01\x03\x02a\x02!\x03\x02#\x12\x13TX\x89\x01\x88\x03\x0b\x03\x1b\x1ah\x03\xe8\x01\x1a\x1b\xc8\x02i(\x13D\x02\x13R\xb1\x01\x03\x02\xc0\x13\x13\xb1\x01\x03\x12CTh\x89\x01hl\xb8\x01:8\t(\x0c\xe8\x01\x0b\xc8\x02\x19\bY(#T\x13b\xa1\x01\x13\xb0\x13#\xa1\x01\x0323Dh\x89\x01X\x1c=<\xe8\x02\x13\\\xa8\x02\t\xf8\x009()(\x138D#B\xb1\x01\x13\xa0\x13\x131\x02Q\x02\x03234h\x99\x018\x1c\r\x0em,\xa8\x02,\r\x0cM\x1cH\x19\x98\x01\x04\x88\x01\x04\x19\xf8\x00\x13h$\x02\x13R\xf1\x00\x02!\x13\x80\x13\x02\x13\x81\x01\x02\x13BC\x14\th\x89\x018\x0c\xbd\x01,h9HL\x0e\x0c]\x1c(Ih\x19\x88\x01)h\x13\x88\x01$#2\x03\x02\x01\x02\x81\x01\x02\x03\x01\xf0\x12#\x81\x01\x02\x03Rc\b\tX\x89\x018\x0c\xbd\x01,XIHL\x0e\x0c\r\x0e=\x1c89\xf8\x00\t\xa8\x01\th\x038\tX$\x13B\x03\xb1\x01\x13\xf0\x12\x03\x02\x91\x01b\x03D#h\x89\x01(\x0c\x1d\x0e=\x1e]\x1c8Y8,\r\x0c\x03\x0e\x0c\r.-\x1c\x88\x04\x13H9(4\x13\x042\x03\xb1\x01\x03\xe0\x12\x13A\x02AR\x13T#X\xf9\x008\x0c\r>\x9d\x01\x1c\x18\t\bY8\x1c\x1d\x0c\x03\r\x0c\r\x1eM\x0c\x98\x01I89H\t(\x138\xf9\x00\x18$\x02\x03R\x03A\x121\x13\xd0\x12\x03\x02\x91\x01R\x134H\x13X)h\x1c\r>M.-\x0c8Y8\x1c\x1d\x0c\x03\x1c\xfd\x00\x1c\x88\x01I8Ih\x138\x89\x01\x184\x13R\x01\x02\x81\x01\x02\x03\xc0\x12\x02\x03\xa1\x01B\x134\x18\t(#\xe8\x01\x1c\r>=>-\x1c(Y(,\x1d<=\x0e-\x1c\x88\x01I(YX\x13H\xf9\x00(D\x13R\x81\x01\x02\x01\x03\x01\xa0\x12\x02\x13\x91\x01B\x13$\t\xf8\x00#\xd8\x01\x0c=\x0eMN\x1d\x1c(Y(,\x1e,=\x1e-\x1ch\t\x189\x18i8#X\xf9\x00(\t4\x13b\x91\x01\x13\x01\x90\x12#\x81\x01B#$(\x19\x18\t\x18#\xf8\x00\x198\x9d\x01>-\x1c(9H,\x1e\x0c\x03\x0c\r\x1e\r\x1e-\x1cX\x19(\x19(i(\x138\x19\x18\xf9\x0084#b1\x021#\x80\x12\x02\x13\x11\x121\x02\x012#$\x18IH#X9(\x0c]\x1e-\x0eM\x0c(\t8\t(,\x1d,.],\b\t()hY(\x13\xc8\x01)X4\x02\x03b1\x02A\x13\x80\x12#\x91\x01\"#\x02\x14(IX#HI\x18\x0cM.\x8d\x01\x0c\xc8\x01\x1c\x1d,\x8d\x01,H9\xd8\x01\x13\xb8\x01\x0c\x98\x01\t4\x13b\x81\x01#\xf0\x11\x13\x91\x012#\x148Y\x18\t(\x13HI\x18\x0cM.=\x0e-\x1c\xc8\x01\x1c\x1d,\x8d\x01,H9H\th#\x18\tXlh\tD\x03b\x81\x01#\xe0\x11\x13a\x02!2\x03\x12\x14\tH\x19\x88\x01\x13898\x0cM\x0eM\x0e-\x0c\xd8\x01\x1c\x1d,\x1d\x1e=,\xb8\x019h\x03\xf8\x00,]\x1c8\t\x18D\x13R\x91\x01\x13\xe0\x11\x13\x91\x012\x13\x02\x14\t\x98\x02#8\x198\x0c\xfd\x00\x1eM\x0c8)h,\r\x0c\x03\x0c\r>-,(\t(\x99\x01\x18\t\b\x04\x03h\x1c\xad\x01\x0chD\x13R\x91\x01\x13\xc0\x11\x01\x03\xa1\x012\x03\x12\x14hL\xf8\x00#\x88\x01\x04\x1c-\x1e\r\x1e=\x0c(Yh\\\r>\x1d<X\xa9\x01\x18\t\x13\xf8\x00\x0c]\x1eM\x1cX4#B1\x02A\x02\x03\x01\xb0\x11\x13\xa1\x01\"\x13\x02\x14\tH\x8c\x01\x03X#\x88\x01\x1c-\x1e\r\x1e-\x0c8Yh\\\r>\x1d<X\xa9\x01\b\t\x04\x13h\x1c]\x1eM\x1cX\t4\x13B\xa1\x01\x13\x01\x90\x11#\x91\x012\x13\x02\x14H,M<\b\x198\x13\x88\x01\x1c\x8d\x01\x0cH\xf9\x00XL]<X\xb9\x01\x18\x03()\x18\x1c\x1d\x1e\x1d.]\x0c\xf8\x004\x13B\x91\x01\x02\x13\xd0\x04\x15\x90\x0c\x13\x02\x11\x02!\x02\x112\x13\x02$8\x1c\xfd\x00,\x88\x01\x13\x88\x01\x0cM\x1ch\x89\x01h\x13\x0c=Lh\xa9\x01\x18\x13\x189\x18\x1c\x1d.M\x1e-\x1c\xf8\x00$\x13R\x91\x01#0\xf5\x00\xa0\x02U\x16\x05\x80\x0c\x13\x91\x012\x13$\t\x18,=\x1eM\x1c(\tH\x13\xa8\x01\x1c\x98\x01\x89\x01h\x13\x8c\x01\xf8\x009\x04I\b\x1389\x18\x1c\x1d.M\x1e=\x0c\xf8\x004\x13BA\x02A\x130\x05V\x05\xa0\x02\x05&\x15&\x05\xf0\x0b\x13\x91\x012\x13\x14\t(,=\x1eM\x1c()8\x13\xd8\x02\x89\x01h\x03\b\xfc\x00(\tHI\b\x04(\n\x1389\b,\x1d.\xad\x01\x0c\xf8\x004#2A\x02Q\x03\x01\x20\x05f\x05@\x05\x00\a`5&\x15&\x05P%0%\xd0\x02\x17\x05\xd0\x06\x13\x02\x91\x01\"#\x148\x1cM\x1e\r\x1e\x1d,()8#H\tX\t\x88\x01ih\x038\rX\x19h\t\b\x0b\n\b\n\x0b\n\x03HY,-\x0e\x1d.m\x0c\xf8\x004#2\xb1\x01\x13\x20\x05&\x05&\x05\x10\x15\x16\x15\x00U&\x05&\xa5\x01\x00\x05\x16E\x16\x15\x80\x02\x85\x01\xa0\x06\x13a\x02\x112\x13$(,\xfd\x00\x1e\x1d,h*\b\n\x1389H98ih\x03\b\t\x88\x019X\n+\x1a\x03h9\b,].\x1d\x0e=\x0c8\x19(4#2\xa1\x01\x13\x11\x00\x05&\x15\x165f5\xf6\x00\x15&\x15&\x05\a\x05&\x15V\x05@\x05\x1650\x05f\x05\xa0\x06\x03\xa1\x012\x03\x02$(,\x1d\x1e\x8d\x01\x1ch\n+\n\x0b#\x1898Y89\x88\x01\x03\x18\thIh\n\x0b\n\x13\x18#\x0b\x18\x19(,\x9d\x01.-\x0c8)\x18\t$#2\xb1\x01\x13\x01\x00\x05f%\x16%&\a\x15&\x156\x15&\x15&%&\x15&\x05\x06\x15@\x05F\x0505&\x05\xa0\x06\x01\x03\x91\x01B\x03\x02$(,\x1d.-\x0e=\x1ch\n+\n\x0b\b#\x18)8i8)\x88\x01\x03\x98\x01Ih\x0b\x1a\x03\x0b\b\n#\n\x18\t8,\x8d\x01>-\x0c89\b\t$\x02\x132\xb1\x01#\x00\x05V5\x165\x16%&%&\x15&\x15&%&\x15&%P\x05F\x0505&\x05\xa0\x06\x13!\x02Q2\x13$8,\x1d.\x1d.-\x1ch\x1a+\n\x18#\b)8i\x98\x01\x198\x03\x98\x01I(\x19\x18\n\x13\b\n\x0b#\x0b\n\xf8\x00\x1c-.->-8Y\x18$\x02\x132\x01\x02\x81\x01#\x00\x05V5\x165\x16%\x16\x15\a\x05&\x15&%\x16%\x16\a\x05\a\x05&\x15P\x05F\x05@\x15&\x15\xa0\x06\x03\x02\x91\x012\x03\x02$8\x04\x1c]N\x1d\x1ch\n;\n8\x13hI\xa8\x01)8\x03\xa8\x01)X\x04\n\x13\x1b\bK\n()\x18\x1c=\x0e=>\x1d\x0c8Y\x184\x132\xb1\x01\x13\x00\x05V5\x16\x15\a\x05\x16%\x165&\x15&%\x16%\x16\x05\a5&\x05@\x05F\x05@\x15\x16\x15\xb0\x06\x03\xa1\x012\x03\x02$\x18\t\b\x04,MN\x1d\x0ch\n;\x1aH\x13\x04X9\xa8\x01)8\x03\x18\t\xf8\x01\x1a\x03\n\b\nk\n()\x18,\x8d\x01\x0e\x1d\x0e\x1c8Y($\x02\x13\"\xb1\x01#\x05&\x05&%&\x15&%&\x156\x15&%&\x05&%\x16\x15\x16\x05@UP\x05&5\x80\x06\x01\x03\xa1\x012\x034H,M>-\x0c\x18\t(\nK\n\x0bX\x13h\x19X\x198)8\x03\xa8\x02\n\x03\n\b\x0b\x03k\n()(\x1c\xbd\x01\x1cHi\x184#\x12\x81\x01\x02\x11#\x05&\x05&%\xf6\x00%\x86\x01\x15&%V\a\x05\a\x05\x16\x05&\x05PEP\x05V\x05\x80\x06\x13a\x02!\"\x13$\t\x18\x19\x18,]\x0e-\x1c\x18\t\b\x1a[\n\xf8\x00\x13\xd8\x01)()8\x0389\xa8\x01\x03\n\b\x0b\x18\n[\n\x18)H\x1c-.M\x0cXi\x184#\"!\x12Q#\x05&\x15&%f\x17\x15\xf6\x00\x15&\x05\x00\x15F\x05\x10\x05V\x05\xf0\x01\x05f\x05\xf0\x05\x01\x13a\x02\x11\x02\x03\x12\x13$\t\x18\x19(<],H\x1a;\x1aX\t(\x13\x98\x03\x03(iX\x04\x13\n\b\n\x13k\n\xb8\x01,\r.-\x1chi(4#\x12!\x02a#\x85\x01\x20\xf5\x00\x20\xf5\x00\x00E\x20E0e\xf0\x01\x85\x01\xf0\x05\x13\xa1\x01\"\x13\x02$\b\t\x04)(,\rlh\n;\n\xc8\x01\x13X\x19\xf8\x01\x03(\xf9\x00H\x13(\nk\x1a\xe8\x01lX\t(i(4#\"\x91\x01\x02\x13\x01\xf0\x0f\x13\xa1\x01\"\x134Y8\x8c\x01\xf8\x00\x1a\x0b\x1a\x0b\xc8\x01\x13H)\x98\x01*\x18\x13(\xf9\x00H\x13(\nk\x1a8\t\b\t\x98\x01\x1cX9(i(4\x02\x13\"\x91\x01\x02#\xf0\x0f\x13A\x02A\x03\x12\x134\xb8\x03\x1a\x0b(I\x88\x01\x03\x88\x02\n\x0b\b\n\b\x13(\xf9\x00(#8\x1a;\x1a8\xf9\x00\xd8\x01Y\x18i(\t4\x02\x13\x12\x91\x01\x02#\xf0\x0f\x13\x91\x01\x02\x03\x12\x13$(j\x88\x03I8\x198\x13\xd8\x01\n+\n\b\x13(\xf9\x00\x18#h:\x0b(\xa9\x01X\x19XI(Y8D\x13\x12A\x12!\x02#\xe0\x0f\x01\x03\x02\x91\x01\x02\x03\x02#\x14\x18\n\x8b\x01\x1a\x0bhIX\t\x18I(98\x13X*\b\x0b\x1a;\n\b\x13(i(\x13\xd8\x01\t\b\xb9\x018\t\x88\x019(IX4\x13\"1\x031\x02#\xe0\x0f\x01\x03\x02\x91\x01\x13\x02#\x14\x18\n\xab\x01\nhYH\t\x18I(I(#H\n\x0b:K\n\b\x13(Y(\x13\x88\x02\xb9\x01\x98\x01\x1b8\tHIH4\x02\x03\"1\x021\x02#\xe0\x0f\x13!\x02a\x13\x02\x13$\b\n\xdb\x01\n(\xf9\x00\xf8\x00I\x18YH\x13(\xab\x01\n\x18\x13(I(\x13XIX\xc9\x01X\x0b\x1a;*\x98\x019(4\x03\"1\x021\x02#\xe0\x0f\x03\x02\xa1\x01\x03\x12\x13$\n+\x03\n\xab\x01\n\x18\xf9\x00\xe8\x01YX\x13(\n\xfb\x00\n\x0b\x18\x13\x98\x01\x138\x89\x01H\xc9\x01X\x9b\x01\n\xf8\x00Y\x184\x13\x121\x021\x02#\xe0\x0f\x03\x12\x91\x01\x03\x12\x03\x02\x14\b\n\x1b#;\n[\n\x18\xf9\x00\xe8\x01Ih#\x18*+*(\x04\x13\x88\x01#8\x89\x01X\xa9\x01(\t\x18\n\xab\x01\nhY($\x13\x121\x021\x12\x13\x00\a\xc0\x0f\x03\x12\x91\x01\x03\x12\x03\x02\x14\b\n\x0b\x13\x1a;\x03\nK\n\x18\xf9\x00H)h9(\x198#\x18\x1a\x1b*H\x13(\x04\t(#\x18\xb9\x01X\x99\x01h\xbb\x01\nhY(\t\x14#\x12!\x031\x12\x13\x00\a\xb0\x0f\x13\x12\x91\x01\x03\x12\x03\x02\x14\x18\x1a\x0b\n;3\n\x1b\x1a\x18\xf9\x0089\xf8\x00)(9(\x138\x0b\x88\x01\x13(\x19\x18#X\xf9\x00h\x89\x01h\nk3\x1ahY(\t\x14\x02\x13\x12!\x12!\x12\x13\x00\a\xb0\x0f\x13\x12a\x02\x11\x03\x02\x13$8\nK\n3\x0b\x1a\xe8\x01)\xd8\x01I8\x13\xf8\x00)\x18\x13(\t\x18\x04\x13(\t(9\xa8\x03\n;\n+\n\x13\nhiH\x14\x13\"a\x12\x13\x01\x00\a\xa0\x0f\x13\x02\x91\x01\x02\x03\x02\x13\x14\t8\n;\x1a\b:\x0bX\xfc\x00\xf8\x00\t\xa8\x019X\x13\b\t(9\x18\x13H\x1389H\xfc\x00\xb8\x01)8\n\x1b\n\x03;\n\xa8\x01YH\x14\x13\x12A\x02\x11\x12\x13\x01\x00\a\xa0\x0f\x13\x02\x91\x01\x02\x03\x02\x13\x14HK\x1a\x98\x01\xac\x01h\x19\xa8\x01\x19h#89\x18\x13H\x1389(\xac\x01\xa8\x019(\n\x1b\x13;\n\xa8\x01YH\x14\x13\x121\x02\x03\x01\"\x13\x01\x00\a\xa0\x0f\x03\"\x01\x12Q\x02\x03\x02\x13\x148\nK\n\x98\x01\x1c\r\x0c\x8d\x01\x1cX\x04\xc8\x02\x13(9\x18\x13(\x13X9\b<M\\H\x04\x18Y\x18\n\x0b\x13\x1a;\nH)\x18iH\x04\x13\x121\x02\x03\x11\x12#\x00\a\xa0\x0f\x03\"\x81\x01\"\x13\x148*+\nX\x04\b\x1cm\x1e]\x0c8\t\x18I8)\x88\x01#8\t\x18\x13\x18#\x98\x01\x1c\xad\x01<Xi(\n\x03\n\b\n;\n\x0b8I898\x04\x13\"\x11\x12\x03\x11\x12#\x00\a\x90\x0f\x01\x03\"\x81\x01\"\x03\x02\x14X\x0b*\xf8\x00\x1c=\x0e\x1d.]\x0e\x0ch9(Y\x88\x01\x13X\x13\b#\x1898\x0c=\x1e\x8d\x01,\x18\t(I\x88\x01\n;\n(IHI(\x04\x02\x13\x12!\x02\x03\x11\"\x13\x00\x17\x80\x0f\x01\x03\"\xf1\x00\"\x13\x02\x14\xf8\x00\x1a\xf8\x00\x1c=\x0e\x1d.\xfd\x00\x0cX9\x18i8\t\b\t(\x13HC(I\x18,\x1d.\x9d\x01\x1ch)\x98\x01\n;\n(I8Y(\x04\x02\x13\x12!\x02\x03\x11\"\x13\x00\x17\x80\x0f\x01\x03\"\x01\x02\xf1\x00\x02\x13\x14\x98\x02\x1c\x1d\x0e\x1d\x0e-\x0e=\x1e-\x1c8I\x18iH\tH\x13(C(Y\x18,\x1d.-.=,\xa8\x0198\x1a\x1b\x1a\xb8\x01Y(\t\x04\x13\x121\x03\x11\"\x13\x00\x17\x90\x0f\x03\"\x01\x02\xf1\x00#\x14\x98\x02\x0c-\x0e\xfd\x01\x1cH)8\xf9\x00\x1898\x13\x1838I\x18,-\x1eM\x1e=<\x98\x0198*\x0b\xd8\x01Y(\t\x04\x02\x03\x12\x01\x02\x11\x03\x012\x03\x01\x00\x17\xf0\x02S\xb0\x0b\x13\x12\x91\x01#\x14\x98\x02\x0c\xbd\x01\x0cm\x1cX\tHY\xc8\x01\x13\b#8Y\x18\x1c-\x0e\xad\x01\x1e\r,\xa8\x01)H\x04(\t\xc8\x01I(\t\x04\x02\x03\x121\x12\x01\"\x037\xd0\x02\x023\x1f#\x90\x0b\x13\x12\x11\x02#!3\x14\x98\x02\x1c\r\xbc\x02\xb8\x019\xf8\x01CHI\b\x1c-.\x9d\x01\x1e\r,\xc8\x01\t\x88\x01\t\xd8\x01)8\t\x04\x02\x03\"1\x02\x01\x12\x137\xd0\x02\x13\x1f\x03?\x13\x80\x0b\x13\x12\xc3\x01\x02\x93\x05\xf4\x00\x184\x98\x01\x19\b\t\x14\x18C\xa8\x01\x1c-\xac\x02\x93\x02\xa8\x03\x043\x02A\x03\x01\x02\x13G\xc0\x02\x02\x03?\x03?\x13\x80\x0b\xf3\x00!\xf3\x02\x0c3L\xc3\x06\x88\x01L\xa3\x01@W\x00\x97\x01\x20\xb3\x04\"3\x017\xc0\x02\x02\x13\x0f\x03/\x03?\x13\xf0\n\x01#\x02a\x02S\xf8\x03\x13\x1c\x13\xf8\x00\xe3\x03\x10\xc3\x01\x00\a0\xe7\x05\x00'\x20\x1707\x11C\x01g\x80\x02\x12\x13\x02\x13_\x03?\x13\xe0\n3\x81\x013\x14\x88\x02\x03\xdc\x02\xd8\x01\xa3\x01H#\b#\xa0\x01\xf7\t\x00g\x90\x01\x12\xc3\x01\xbf\x01\x03\x02\xc0\n\x01\x13\x12\x81\x01\x02\x13\x02\x14X)\xf8\x00\x1c\xed\x01.\r,\xb8\x03\x13(\x13\b\x13\x97\x0c@\x12\x13\x12\xa8\x01\x02\x13\xff\x00\x03/\x13\xb0\n\x13\x12\xa1\x01\x13\x02\x14\x18\t\bYh,\x0e=\x1e-\x0e-.\x1d\x0c\x98\x02\t\x88\x01\x138\x13\x18\x13\x00\xe7\x0b\x20\x02\x13\x12\x88\x02\x13\xaf\x01\x13\x02\xa0\n\x13\x121\x02Q\x02\x03\x02\x14\x18\x89\x01h\x1c=>\r.\x1d.,\xf8\x00\n\x1b\n\x0b8)X#H\x138\x13\xb7\x0b\x10\x02\x03\x02H:\x0bHI(\x13\xaf\x01\x13\xa0\n\x13\x121\x02a\x03\x02\x14\x18\x89\x01h\x1c=>\x1d\x0e-\x1e\r,h\n;\n89\b\t(\x13X\x13H\x13\x00\x97\x0b\x02\x13\x02HK\n\x0b8Y\x18\x13\xbf\x01\x03\x02\x90\n\x03\"\xf1\x00\x02!\x13\x14\xa9\x01h<\x0e\r>\x8d\x01\x1c\nX\nK\n8Y\x18\x03\xf8\x00\x13X\x13\x00\xd7\n\x02\x03\x0c\xf8\x00\x02\x03[\x1a\x18i\x18\x13\xaf\x01\x13\x90\n\x03\"\xb1\x01\x13\x14\xe9\x018<-\x0e=\x1e=\x0c\xf8\x00k\n(I\x18\x03(9\x18\x138\t(\x13\x20\x17\x20'\xb0\b\x01\x10#\x02\x98\x01\x0b\n\x03k\n\b\xf9\x00\x18\x13?\x03_\x13\x80\n\x03\"\xb1\x01\x02\x03\x14\b\x89\x01\b9HL]\x0e-\x1c\x88\x01k\n()\x18\x138I\b\x138\x19(\x13\xc0\t\x02\x13\x02\xb8\x01\x1a\xbb\x01\bi(\x03\xbf\x01\x13\xf0\t\x03\"\xb1\x01\x02\x03\x14\x18Y(\x19\x04X\nL\xfd\x00\x1c\x88\x01\xfb\x00\n(\t(\x04\x13(Y\b\x138\x198\x13\x90\t\x02\x03\x0c\x02\xd8\x01\nK\n\x03;\b\n\x18Y(\x13\xaf\x01\x13\x02\xe0\t\x032\xb1\x01\x03\x02\x14\b9H\t\x04\t\x18\x0b8\x0b\x03\xac\x01\xb8\x01k\n\x18\t(\x13XI\b\x13(I(\x13\xe0\b\x138\x19\x04\t\xa8\x01\n;\n\x13;\n\x18Y8\x13\xaf\x01\x13\xe0\t\x132\xa1\x01\x13\x14\xc8\x01\x1a\x1b\x1aH\nL\xe8\x01\n[\n8#\xf8\x009\b\x13\b\xf9\x00(\x13\xa0\b\x02,\x03(\x19\x04\x19\x18)hZ\x13+\n(9X\x13\xaf\x01\x13\xd0\t\x01\x03\"!\x02\xf1\x00\x13\x148\x19h\x13;\n\x0b\xf8\x02\x1a;\x03\x0b(#H\t(9\b\x13\b\x99\x01(\x03\xf0\a\aL\r\xf8\x00ih\x04\x18\x1a\x03\x1b\n8\t\x98\x01\x13\xaf\x01\x03\x02\xd0\t\x032\xa1\x01#\x048)X\x13K\n\x88\x01\t\b\t\xb8\x01\x1a;\n\x0b(\x13X\t(9\b\x13\b\xa9\x01\x18\x13\xd0\a\x03\x1c\x1d,\xf8\x00i\xa8\x01J(\x19\x98\x01\x02\x03\xaf\x01\x13\xd0\t\x13\"Q\x121\x13\x04\xc8\x01\x03\x0c[\nhI\xb8\x01\x1a\x1b\x1a\x18\x13\xb8\x019\b\x13\b\xa9\x018\x03\xa0\a\x03\x0c\r\x1e\x1d,\x18\tHi\xb8\x01\x0b\n\x0b8\x19\xa8\x01\x13O\x03O\x13\xc0\t#\"\xa1\x01\x13\x04\xc8\x01\n\x03[\x1aXY\b\t\b\x04\xf8\x00:\x18\x138lH\t\b\x13\b\xb9\x018\x03\xe0\x06\x02\x03\x1cM,\x04\b\x19HY\xf8\x00I(\t\b\x19\x04\x19\xa8\x01\x13\xaf\x01\x13\xc0\t\x13\"\xa1\x01#\x04\xa8\x01\x0b\n\xfb\x00\nHi(I\x88\x01\x038,-L(\t\b#\b\xa9\x01H\x03\xd0\x06\x03\x0c\r\x0e\r.\r,\x04\b\t\xf8\x00\x19X\x99\x01\x18\x19\b)h\t8#\xaf\x01\x03\x02\xb0\t\x132\x91\x01\x02\x13\x04\x98\x01\x0b\n\xab\x018Y(Y\xf8\x00\x13(,M<(\t\b#\b\xa9\x01H\x13\xc0\x06\x0c\r\x1e\r.\r,\x04\xa8\x01\tX\x89\x01H9h)\x18\x02\x13O\x03O\x13\x02\xa0\t\x13B\x91\x01\x02\x03\x048\t(\x1a\xbb\x01\nHI(iH#(\x03\x0c\x9d\x01\x1c\b\x19\b\x138\x89\x01h\x03\xa0\x06\x1c\x1e\r.\r,\x04\x98\x02\x99\x01\xe8\x01I\x18\x02\x03\xbf\x01\x13\xb0\t\x02\x03\"1\x02a\x13()\b\x03k\n\x03K\nX)(\xf9\x008#8\x1c\x1d\x0e=\x0e\x1d\x1c\x18\t\b\x13XY\x88\x01\x03\xf0\x05\x02\x1c\r\x0e-\\\x04\xa8\x02\xf9\x00\xd8\x01i(\x13\xbf\x01\x13\xb0\t\x032\xf1\x00\x02\x11\x13\x04\x18)\b\n[\x1a\x13;\n\xb8\x01\xf9\x00(\x13X\x0c\x1d.-\x0e-\x1c\b\t\b\x13\x88\x01\t\xb8\x01\x13\xc0\x05\x02\x03\xac\x01\x14\x19\xf8\x00*\xf8\x00)\x18\t\xe8\x01\xf9\x00\x18\x02\x03\xbf\x01\x13\x02\xa0\t\x13\"\xf1\x00\x02\x11\x02\x13\x18)\b\nK*\x13;\n\xb8\x01\xf9\x00\x18#H\x1c\x1d.m\x1c\r\t\b\x13\xd8\x02\x13\xc0\x05\x03\x02\xac\x01\x04\b\t(\x04H\n\b\x1a\xf8\x00\t\xf8\x00\x04\x98\x01\xf9\x00(\x03\xcf\x01\x03\x02\xa0\t\x132\xa1\x01\x13(\x19\x18\n+\x1a\b\n\x13+\n\x189hi\x18\x13h\x1c\x1d.-\x0e-,\x18\x138\tH\x0b\x1a+\x1aX\x03\xa0\x05\x03\x028,H\t(\n\x1b\x03\n\x18\n[\x1a\x98\x01\xec\x01\x98\x01\x02\x03\xcf\x01\x03\x10\x025\xb0\b\x01\x032\xa1\x01#\x18\t(\x1a\x0b\n(\x0b\x13\x1b\x1a8\x04\thI\x18#\xf8\x00\x1cm.\x1d,\x18\x13()8\n\xfb\x00\x1a8\x03\x80\x05\x12\x18\th\tH\n+#\xfb\x00\n\x88\x01\x0c-.=>\x1d,8\x19\x18\x13\xbf\x01\x13\x15F\x05\xa0\b\x13\"1\x12Q\x13\b\tH\x1aH\x1a\x0b\x1a\x0b\xa8\x02\x13\x98\x01\x1cM\x1e\r\x0e-,\x18\x13\x189(\n\xab\x01\n8\x13\xd0\x04\x02\x03\x18\x04\xd8\x01K#[\n\x88\x01\x0cM\x1e=>-\x0e\r\x1cX\x02\x03\xcf\x01\x03\x15V\xa0\b\x1321\x02Q\x13\b\tH\x1aX*\x0bh\x04\xa8\x01#\x98\x01\x1cM\x1eM,\x18\x13()(\n\xab\x01\x1a(\x13\xd0\x04\x13\xf8\x01[#K\x1a\x0b\xf8\x00\x0c\r\x0e\x8d\x01>]\x1cX\x13\xbf\x01\x03\x02\x156\x05\xa0\b#2\x91\x01#\xa8\x01\x19\x98\x01\x9c\x01\x03\x18#H\x198\x1c\xbd\x01,\x18\x138\t8\n3\xfb\x00\x1a8\x03\xc0\x04\x03XIX\x8b\x02h,\x1d\x1e\xdd\x01\x0e-\x0cX\x03_\x03_\x03\x02\x15\x16\x15\xb0\b\x132\xa1\x01\x13\xb8\x0198,\x8d\x01<\x03HI8\x1c\xad\x01,\x18\x13H\t8\x1a#\xfb\x00\nH\x03\xb0\x04\x03(\xf9\x00h\xbb\x013\n\x18\t(<].\x8d\x01\x0e-\x0cH\x13\xbf\x01\x13\x15\x16\x05\xc0\b\x132\xb1\x01\x13\xa8\x019(\x1c\x1d\x0em\x1c\b\x13Hi(\x1c\r\x0e\x1d.=\x1c(\x13\xb8\x01\x0b\n\x8b\x01\nX\x13\x90\x04\x02\x18\x89\x018\x19\b\n\xab\x01#\x0b\n\x18\t8L=.=.M,8\x02\x03_\x03O\x13\x02\x05\x16\x05\xc0\x01\a\x00\a\xc0\x06#\"\xb1\x01\x13\xa8\x019(\x1c\x9d\x01\x0c\b#H\xf9\x00\x18\x1c=.-,(\x13\xf8\x00\t8\n+\x13;\nX\x13\x80\x04\x12\x18\x89\x018\x19\b\x04\n\xdb\x01\n\b)(\xfc\x00\xfd\x00.M,H\x03_\x03O\x13\x02\x05\x16\x05\xf0\x00\a\xf5\x00\xc0\x06\x132!\x02!\x02!\x02\x13(9(9\x18\x1c=.\x1d\x1c\b#\b\x0c8\xf9\x00\x18<\x1d.-\x1c8\x13h\x19(\n;#\x1b\x1a\xf8\x00\x03\xf0\x03\x02\x18\x99\x01()\x18*\xbb\x01\n\b)8\x04\xac\x01\x8d\x01<\x04H\x03\xbf\x01#\x05&\x05`\x05f\x05\xc0\x06\x01\x032\xb1\x01\x13(9\xf8\x00\x1cM.\r\x0c\x18\x1c\x18,(i8<M,H\x13h\x19(\n+\x1a#\x1a\x98\x01\x03\xe0\x03\x03\x18\x89\x01(I(\x04\n\x8b\x01\b\n(\tH\x19\x18\x9c\x02\r\x0c\x14H\x13_3\x0f#\x05&\x05P\x05\xf6\x00\x05\a\xc0\x06\x13\"\xb1\x01#\x189\xf8\x00\x1c]\x1e\x0c\b\x03\x1c\b\x03L\x18iX\xfc\x00(\t(\x13\x98\x01\x0b\n;\n\b\x1b\x1a\xa8\x01\x13\xd0\x03\x03\x18\xf9\x00\x98\x01\x1b\b\x0b*;*\x98\x01)($\xdc\x01\x14\b\t83\x0f\xa3\x01\x05&\x050\a\x00\x05\x16%&\x05\xd0\x06\x01\x032\xa1\x01#()\x18\tH\x1cm\x0c\x03\b,\b\\\x18ihL\x88\x01\x13\x98\x01\x1a;\n\x88\x01)H\x13\xc0\x03\x03\x18Y\x98\x01\x02cZ\x04\xb8\x01)\x18$(\xac\x01\x04\x18\t8\xf3\x01\x05&\x05P\x05\x165\x16\x05\xe0\x06\x032\xa1\x01#8I8,\r.\x1d\x0c\x18\x0c\b\x0c\b\x0c-,\x18i\xd8\x01\tX\x13\x98\x01\n\x0b\n+\n\xf8\x009X\x03\xc0\x03\x03\x189\x98\x01\x13\xf2\x00\x13\x02\x98\x01\x02XIH4h\x19H\x04\xf3\x01\x05&\x05@\x05&5\x16\x05\xe0\x06\x01\x03\"1\x02a#(Y(,\r.\r\x0c\x18\x0c(\x0c=<\bY\xa8\x01\t\x98\x01\x138\t\xf8\x00*\x88\x019h\x03\xa0\x03\x12\x18\x19h\t(\x03\xb2\x01\x138\x02\x83\x01\x04\b9\bi\xa8\x01\t8\x04C\xf2\x00#\x05&\x05@\x05&5\x16\x05\xf0\x06\x132\x91\x01#8I(,\x1d\x0e\r\x0c\b\x03\x1c\b\x1c\r\x0e-<\x18Ih\t\x18\x198I\b\x13\x18YX\x0b\n\x18)89(\t8\x03\x90\x03\x03\x88\x01)\x18\x04\x03\xc2\x01\b\x03(\x02\x03\x82\x01\x13\x028\x19\x04\t\xb8\x01\tX\x04\x02#\x92\x01\x13\x05&\x05P\x05\xf6\x00\x05\xf0\x06\x132\x91\x01#8I(,=\x0c\b\x1c\b\x1c\x1d\x1e\x1d<()\xa8\x01\tHI\b\x13\x18i\x88\x01)8)8\x19(\x13\xf0\x02\x02\x03\xb8\x01\x14\x02\x13\xb2\x01\b\x03\x02\b\x02\x13\xa2\x01\x038\x19\x04\xd8\x01\tH\x04\x02\x13\xa2\x01\x13\x05&\x05P\x05\xf6\x00\x05\xf0\x06\x01\x132A\x12\x11\x02#(I(,-\x0c\b\x13\b\x03=\x0e-<\x88\x01)8)(Y\b\x13\x18\xf9\x00\x18\x19(I\xf8\x00I(\x13\xd0\x02\x02\x03H\x03\"\b$\x02\xc3\x01\"\x03\x02\b\x04\x02\x03\xb2\x01\x03\x02(\x19\xa8\x02\x04\x02\x04#\xa2\x01\x13\x05&\x05`\x15&\x05\x16\x05\x80\a\x01\x032\x91\x01\x02\x13(I(<\r\x0c\x03\x0c\x03\b\x03\x0c\xfd\x00,\x88\x01I()(i\x13\b\xf9\x00(9\x189hi8\x03\xc0\x02\x03H\x03\x00\x12C\x02\x00G\x00\a\"c\x02\x04\x13\xd2\x01H\x04#\x028)X4\x03\xc2\x01\x03\x02\x05&\x05\xf0\x00\xf5\x00\x90\a\x132\x91\x01#\x98\x01\x04\x0c\r\x1c#\b\x1c\x8d\x01,hi\x98\x01Y\x13\x18i(\x19\xe8\x01YX\x03\xa0\x02\x02\b\x02(\x03\x02'0\xe7\x01\x20\a\x12\x93\x01B\x038\x02\x132\x13\x02$8D\x02\x13\xc2\x01\x03\x02\x05&\x05\x90\t\x132A\x0213\x18\thL\x03\b\x03\x1c=\x1e-,h\xf9\x00\x88\x01Y\x13\x18i\xb8\x02YX\x03\xa0\x02\x03\x02(\x02\x03\x00\xb7\x01\xf0\x00'\xf0\x00\x12c\"\x038\x02\x03R#\x02\x84\x013\xb2\x01\x13\x02\x05&\x05\xa0\t\x03B\x91\x01#\x98\x01<\x03\b\x03\x0c]\x1e\x1d<X\x89\x01\x98\x019\b\x13\x18i8\x9c\x01hIh\x13\x80\x02\x12(\x13\x02\x17\xf0\x02\a\x10'@\x12C\x02\x18\x04\x03\xf2\x00\xe3\x01\xc2\x01\a\x03\x15&\x05\xa0\t\x13RA\x12\x11#\x88\x01\x04\x03\x0c\x03\b\x1c\r.=\x0e\x1d,\xf8\x00iX)h\x13\x18I8\x1c\x8d\x01,H9\x98\x01\x03\x80\x02C\x02\xc0\x03\xd7\x01\x00\x03(S\xf2\x00c\xf2\x01\x03\x02\x156\x15\x90\t\x13R\x81\x01\x023h\x1c\x13\x0c\x1d>],\x98\x01Ih9X\x04\x03\x189(\x1c\xbd\x01\x0e\x1c(9\xb8\x01\x03\xb0\x02\a\x90\x04\xa7\x01\x003'\x02\xf3\x00\xc2\x02#\x02\a\x05V\x05\x90\t\x13R\x91\x01\x02#\x04\b)\x18\x13\b\x1c\x1d>],\x98\x01\x19\xf8\x00YX\x04\x03\x189(\x0c\x9d\x01\x0e=\x1c\x18\t\x18\t\xb8\x01\x13\x90\a\xf7\x00#\x00G\x12\x93\x01\xd2\x013\x12\a\x05\x036\x05\xa0\t\x01\x13R\x91\x01\x02#4#\x18<.],H:X\n\x0bHYX\x03\x18\x198\x0c=\x1e=.=\x1c\x88\x01*\x0bH\x13\xe0\a\xa7\x02\x05\x93\x02\x02\x10\x12e\xc0\t\x13\xf2\x00\x81\x01\x023\x04#8L=LH\n+\n8\x1a\x0b\nXIX\x03\x04X\x1c\x1dN\x9d\x01\x1ch\n\b;\nX\x03\x90\x01%\x90\x06G\x20\a\x02\x17@\xf7\x01\x00G\x00\x05\x02\x06\a\x05\x80\n\x13\xf2\x001\x02Ac(\t(\x9c\x01h+\n\x03\x0b\x18\n;X9h\x13H\x1c-^-\x0e]\x1chK\nh\x03\x80\x01\x05\x06\x05\xc0\x06\a\x90\x01\x97\x03\x05&\x05\x80\n#b\xa1\x01C\x88\x01\xfc\x00h\n+\x13\x1b\n[H9h\x13H,\x1d^-\x1eM\x1chK\nh\x03\xf0\x00\x15\x06\xb5\x01\x10\a\xc0\x06\xd7\x02\x00\x05&\x05\x90\n\x13\xf2\x00\xa1\x013\xf8\x02\n+#k\nH9h\x13H\x1c-^-\x1e]\x0ch\n;\n(\t8\x13P\x15\xc6\x01\x05\a\xd5\t&\x05\xa0\n\x13\xf2\x00Q\x02!3\x18\t()H\x19\xf8\x00\n+\x1ak\x1aH9(\x19\x18\x138,=\x1e]\x1e]\x0ch\n;\n\x98\x01\x03@\x05\x86\x0c\x05\xb0\n#ba\x02SH9\xd8\x01\n\xab\x01\x1ah\x19(9\b\x138,\xbd\x02\x0c\xf8\x00\n[\n\x0b(\t\x18\x130\x05\x86\x0c\x05\xb0\n#R\x03\x02Q#\x02#H9\xd8\x01\n\x8b\x01*\xc8\x01\t\x04\x19\b\x138,\xed\x01\x1e-\x0c\xf8\x00\n;\x1a\x13\n\x0b8\x130\x156\x005\xe6\n\x05\xb0\n\x01#R\x03\x021#13\x189H\x19\xf8\x00\nk\n\x1b\xd8\x019\b\x138,M\x0e=.\x1d.\x1d\x0ch\x0b\n;#\x0b\x1a\b\t\x18#\x20\x15\x16\x15P\xf5\x04\xd6\x05\x05\xc0\n\x01\x13b\x03\x02\x11\x02\x13\x02A3\xf8\x00Ih\x1a[#\x18\t\x18)\xf8\x00\t\x18\x138,=.-.-\x0e-\x0cH\n#;\x1a\x1b\x1a\b\x19\x18#\x01\x00\x15\x16\x05\xa0\x06\xe5\x04\x16\xf0\n\x01\x13b\x03\x02\x01\x13\xf1\x00CHYH\t\x18\x1a[\x13\x0b89\x98\x01\x138,->=\x1em\x0c8\n\x1b\x13\xfb\x00\x1a\b\x19\bC\x01\x15\x06\x05\x80\x0b\a\x05\x16\x05\xf0\n#b3\xf1\x00\x02CHI8\x19\x18\x1a\xfb\x00\n89\x98\x01\x138,->\xcd\x01\x0c8\n\xcb\x01\n\b\x19\bS\x15\x06\x05\x90\x0b\x05\x06\x15\xf0\n\x013B#\x11\x02\xf1\x00C89H\x198\x1aK\n\x0b(I\x18\th\x138,=\x1e-\x0e=\x1e=\x0cH\n\xab\x01\x1a8\x13\x01\x02#\x15\xb0\x0b\x15\xa0\x0b\x01\x93\x01\xd1\x01#(\x19\xf8\x00\tH*\x0b*h\tX\x1a(\x138\n\x1c\xfd\x00\x1e=\x1e-\x0cX\x1a\x8b\x01\nH\x13!3\xf0\x17#\x02\x03\xe1\x013\xb8\x01\x19H*\xe8\x01\n\x1b\n\x0b\n#\x1a\x18,\x8d\x02\x1cX\x0b\x1aK*8#13\x01\xb0\x17\x01\x00\a\x13\"\x03\xe1\x01#\xb8\x01\x19\xd8\x02;\n\b\n#\x1a\x18,\x8d\x02\x1c8\t(\xfa\x008\x13\x02AC\xc0\x055\xa0\x11\x17\x132\x03\x81\x02#\x98\x019\xa8\x02\nK\n#;\x18,M\x1e\xfd\x00\x1c(9\xc8\x01\x13\xf1\x003\x10\a\xe0\x04%6\x15\x90\x11\a\x13B\x03\x02Q\x12\xf1\x003\xf8\x00)\xc8\x02\x03[\x13+\n(,-.m\x1c(I\xa8\x01\x13\x91\x01C\a\x00\a\xc0\x04\x15V\x15\xa0\x11#b\x81\x023\xf8\x01\xf9\x00X\x0b\nK\x13+\n(\x04<\x0e\xfd\x00,(Y\x98\x01\x03a\x02A3\x00'\xb0\x045&\x05\xc0\x11\x01\x13b\x91\x023\xd8\x01\x99\x01X\nK\x13\x1b\x1aH<]<(i\x88\x01\x13\xc1\x01\x02#\x00'\xc0\x04%&\x05\xd0\x113R\x01\x02\x81\x023\xb8\x01\xa9\x01X\n;\x13\x0b\x1a\x88\x01\x8c\x018\xf9\x00h\x13\xf1\x01#\x10\x17\xd0\x04\x15&\x05\xe0\x113bQ\x02!\x02\xf1\x003\x98\x01\xb9\x018\x0b\x1a+\x13\x1a\xe8\x02iH#1\x02a\x02!\x02\x13\x02\x03G\xc0\x04\x05&\x15\xf0\x11\x01#b\xb1\x0238\t(\xb9\x01(\n#\x1b\n\x13\n\xc8\x02\tH)(C\xf1\x01\x02\x03\"\x03\x01G\xa0\x04\x15\x16E\xf0\x11\x01#R\xc1\x02#h\x89\x018\x0b\n[\n\x13(\t\xa8\x01\x19H\x19\xf8\x003\xa1\x01\x02A\x02\x132\x03g\x90\x04\x05V\x15\x80\x12\x01#b\xb1\x023X\xf9\x008\x1aK\x1a\x13(9\xf8\x00)\xb8\x01C\x81\x02\x02\x132\x13g\x80\x04\x15V\x15\xf0\x11\x17\x10\x13bA\x02\xe1\x013hI8\x1a;*\x03\x04(IXI\x88\x013\xc1\x01\x021\x82\x01\x03\x00g\x80\x04\x85\x01\x90\x127#R\xd1\x02Ch\tXJ\x18\x138Y8YX3\x91\x01\x12\xf1\x00\x82\x01\x13\xf7\x00\xc0\x177\x01#Ra\x02Q\x02Q\x02S\x98\x02\x13(i8\t\b\x19H3\x02\xa1\x02\x02\x03\x82\x01\x13\x87\x01\xe0\x17'\x01\x13b\xc1\x01\x02a\x02S\x88\x02\x13(i\xa8\x01C\xb1\x02\xa2\x01\x13\x00\x87\x01\xf0\x177#b\xd1\x023\xb8\x019\b#\x18i\xf8\x00Ca\x021\x02Q\xd2\x01\x13\x01\x97\x01\x80\x187#b\x03\x02\xf1\x01\x12A3h\t\b)\b#(Ih3\x02\x81\x02\xf2\x01\x13\x01\xb7\x01\x80\x18G\x01#b\x13Q\x12\xe1\x01\bS\x02h#\xa8\x01\x02#\x02\xa1\x02\xf2\x01\x13\x01\x00\xb7\x01\xa0\x187\x003\x82\x01A\x12\x81\x02\x02c\x0283\x018!\x02#\x02\xa1\x02\x82\x02\x13\x01\x00\xc7\x01\xb0\x18G\x01#\xf2\x00\x03\x02a\x12\x91\x02\x02\xd3\x02\xb1\x01\x02A\x92\x02#\x01\xd7\x01\xd0\x18W#\x82\x01\x03\x02\x91\x04#\x01S\xf1\x01\x02\x11\x92\x02#\x01\xf7\x01\xf0\x18W\x013\xf2\x00#\x02\x91\x01\x02\xb1\x02\x13\xd1\x01\x02a\xb2\x02#\x01\x00\xd7\x01\xb0\x19W\x013\xb2\x01\xd1\x03\x13\x81\x01\x021\x02Q\xb2\x02#\x01\x00\xe7\x01\xc0\x19g\x013\xb2\x01\x11\x12Q\x12\xf1\x01\x13A\x021\x12A\xc2\x023\x00\x87\x02\xf0\x19\xf7\x00S\xb2\x01\xd1\x01\x02\x81\x01\x13\xb1\x01\xe2\x023g\x00\xb7\x01\xa0\x1a\x87\x01\x01S\xb2\x01\xb1\x02\x13A\x92\x03C\xb7\x02\xe0\x1a\x97\x01\x01C\xe2\x01\xf1\x01\xf3\x00\xd2\x02S\xb7\x02\x90\x1b\xa7\x01\x00\xf3\x00\xb2\x02\x83\x01\xc2\x02S\x02\x01\x20\xa7\x02\xe0\x1b\xb7\x01\x01c\xe2\x02#\xd2\x01c\x01\xa7\x03\xa0\x1c\xd7\x01\x01c\x82\x02#\x00\x13\x92\x01#\x02\xf7\x03\xc0\x1c\xf7\x01\x01c\xe2\x01#\a\x01\x13\xf2\x00#\x01\x00\xd7\x03\x80\x1d\xa7\x02\x01\xf3\x00b3\x01'\x83\x01\x01\xd7\x03\xf0\x1d\x97\x02\x00\x17\xd3\x01\x01G\x001\x10\xc7\x03\xc0\x1e\x97\x031\xa7\x05\x80\x1f\xc7\b\xd0\x1f\xc7\a\xc0\x20\xf7\x06\x90!\x87\x06\x80\"\xb7\x05\xa0\a5\xb0\x15U`E\x80\x02U\x20\xb7\x04\xf0\x05\xb5\x01\x20\x15\x16\x15\xa0\x15\x056\x05`\x05&\x05\x80\x02\x056\x05`\xb7\x03\xb0\x06\x05\x86\x01\x15\a\x10\x056\x05\xa0\x15\x056\x15@\x056\x05\x80\x02\x056\x05\xb0\x01\xc7\x01\xd0\a\x05\xa6\x01\x05\x10\x056\x05\xa0\x15\x05F\x05@\x056\x05@\a\x00\x05\x00\x05\xf0\x006\x05\xe0\n\x05\xa6\x01\x05\x10\x056\x05\xa0\b\a\xf0\x0c\x056\x05@\x056\x050\x85\x01\a0\x05&\x05\x20E\x20U\x80\x015@%\x90\x01\xf5\x00\xe0\x03\x05\xb6\x01\x10\aE\xa0\x01\xa5\x01\x90\x01\xa5\x01\xd0\x01\xb5\x01\xe0\x0c\x056\x15\x20\x056\x050\x05\xf6\x00\x150\x05&\x050&\x20\x156\x05\a\x005\x00\x156E\x16%`\x05\xf6\x00\x05\xc0\x015\xc0\x01\x056%6\x15\x00U\x80\x01\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\xa0\x01\x15V\x056\x05\xf0\x0c\x056\x05\x10\x156\x05\x20\x05\xa6\x01\x05\x10\x15&\x05\x10\x056\x05\x10\a\x056\x05\x10\x05\xb6\x01\x05V\x150\x15\x96\x01\x15\x90\x01\x056\x20\x05\x80\x01\x056%6\x15\x00\x056\x05\x80\x01\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\x80\x01\a\x15\xb6\x01\x05\xf0\x0c\x156\x05\x00\x156\x05\x20\a\xa6\x01\x05\x20\x05&\x05\x206\x05\x20\x056\x05\x10\x05\xb6\x02\x050\x05\a\xa6\x01\x05\x80\x01\x15f\x15\xf0\x00\x056%6\x05\x10\x056\x05\x20\x150\x15\x86\x01\x15\x00\a%\a\x20\x05\x96\x01\x05\x20%0\x15\xc6\x01\x05\xf0\x0c\x156\x05\a\x05F\x05\x00\x15F%F\x05\x10\x056\x206\x05\x20\x056\x05\x10\x05\xb6\x02\x050\x05F%F\x05\xf0\x00\x15f\x05\x80\x01\x05\xa6\x01\x05\x00\a\x056\x05\x00\x15\x16\x15\x10\x15\x86\x01\x05\x10\x15\x16\x05\x20\x05\x86\x01\x15\x00\a\x05\x16\a\x05\x20\x1565F\x05\x80\r\x056%6\x05\x10\x156E6\x05\x10\x056\x05\x1060\x056\x05\x10\x05F%V\x15F\x20\x056e&\x05\xf0\x00\a\x05f\x05\x80\x01\x05\x96\x01\x05\x20\x0565&\x05@%F\x05\x10\x056\x05@\x15F\x05\a\x00\x056\x05\x20\a6U6\x05\x80\r\x156\x056\x15\x10\x05F5\a\x05&\x05\x10\x056\x05\x10\x056\x20\x056\x050&\x15\x10\x056\x05\x10\x056\x05\x10\x05\xd6\x01\x05\x80\x01\x95\x01\xf0\x00\x05\xf6\x005\x10\x056%6\x05P\x05F\x05\a\x10\x056\x05P\x056\x05\x20\x056\x05\x10\x056e6\x05\x90\r\x056\x056\x15\x10\x1565\a\x05&\x05\x10\x056\x05\x10\x056\x05\x10\x056\x05\x206\x15\x10\x056\x05\x10\x056\x05\x10\x05\xd6\x01\x05\x80\x01\x05f\x15\xf0\x00\x05V%\a\x05\x20\x0565&\x05@\x05V\x05\x20\x05&\x05P\x05F\x05\x20\x15&\x05\x10\x056e6\x05\x90\r\x056\x056\x05\x20\x156U&\x05\x00\x156\x05\x10\x056\x05\x10\x056\x05\x206\x05\a\x10\x056\x05\x206\x05\x10\x05\xd6\x01\x05\x80\x01\x05f\x15\xf0\x00\x056\x15\xf0\x00\x056\x05\x105P\x056\x15@5@\x156\x05@5\x20\x056e6\x05\x90\r\a\x05f\x050\x156\x15\a\x156\x05\x00\a\x056\x05\x10\x05656\x05\x10\x056\x05\x20\x05&\x050\x05&\x05\x10\x056\xa5\x01\x80\x01\x05f\x15\xf0\x00\x056\x05\x80\x01\x05F0\a`\x056\x15\xd0\x01\x05F\x05\xb0\x01\x05FU6\x05\xa0\r\x05f\x050\x15F%F\x05\x10\x056\x05\x10\x05F\x15F\x05\x10\x056\x05\x20\x05&\x050\x05&\x05\x10\x056e\x06\x15\a\x80\x01\x85\x01\x80\x01\x056\x05\x80\x01\x05F\xa0\x01\x056U\x90\x01\x056U\x90\x01V5F\x05\xa0\r\x05f\x05@\x05V\x05V\x05\x10\x056\x05\x10\x05\xa6\x01\x15\x10\x056\x05\x20\x0560\x05&\x15\x00\x056U\x16\x15\xb0\x01\x15\xd0\x01\x056\x05\x80\x01\x05F\x05\x90\x01\x056U\x90\x01\x056e\x80\x01\x05V%F\x05\xa0\r\x05f\x05P\x05\xa6\x01\x15\x10\x056\x05\x20\x05\x96\x01\x05\x20\x056\x05\x20\x0560\x05&\x15\x00\a\x05\xc6\x01\x05\xa0\x03\x056\x05\x80\x01\x05F\x05\xf0\x00\a\x05\x96\x01\x05\x90\x01\x05\x96\x01\x05\x80\x01\x15\xc6\x01\x05\xa0\r\x15F\x05\a@\a\x15\x96\x01\x05\x20\x056\x05\x20\x15\xf6\x00\x15\x20\x056\x05\x20\x056\x05\x10\a\x05&\x15\x20\x05\x96\x01\x15\xb0\x03\x056\x05\x80\x01\x05F\x05\xf0\x00\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\x80\x01\a\x15\xb6\x01\x05\xb0\r\x156\x05\x80\x01\x15F%0\x05&\x150%6%0\x15&\x05\x20\x15\x06\x00\a0\x05&\x150\x15f\x05\xd0\x03\x056\x05\x90\x01\a6\x05\xf0\x00\x05\xa6\x01\x15\xf0\x00\x05\xa6\x01\x05\xb0\x01%&\x156\x05\xb0\re\x90\x01\xf5\x00@EP\xf5\x00PE050E@%\a6\x15\xe0\x03E\x90\x01E\x80\x01\xc5\x01\x80\x01\xc5\x01\xc0\x01\xb5\x01\xe0\r\x05\x90\x02\a\x80\x01\a\xf0\x02\x05\xe0\x01\x05\a\x80\x01\a\x005\xf0\a\x05`\a\xc0\x01\x17\x20\x05\x00\a\xc0Y"
)

Niveau mémoire
heap
à l'exécution, nous avions donc
$mathjax$40+16×(8+40+3×(8+28))+33+9197×1×1$mathjax$
soit
11,766 Ko
; en théorie ça passait chez tout-le-monde.

En pratique toutefois, rien que pour les données du
bytes
cette écriture utilisait
32995
caractères, nécessitant donc au moins
32,995 Ko
en mémoire de stockage.

Rappelons ici aussi les pires modèles sur ce critère :
  • NumWorks
    avec seulement
    32,766 Ko
    d'espace de stockage pour les scripts
    Python
  • éditions
    Python
    des
    TI-83 Premium CE
    et
    TI-84 Plus CE
    qui certes offrent un espace de stockage de
    3 Mo
    , mais limitent la taille maximale de chaque script
    Python
    à seulement
    64 Ko

Sur les
TI-83 Premium CE
et
TI-84 Plus CE
ce n'était pas bien grave, car il te suffisait d'utiliser à la place le format de fichier externe propriétaire
IM8C.8xv
.

Par contre ici pour le coup, bien que parfaitement exécutable en théorie, il t'était impossible de faire rentrer le script affichant l'image sur la
NumWorks
. :mj:

Pas question de remettre en cause radicalement cette façon d'écrire, mais on peut mieux faire. Plusieurs améliorations ont été développées dans le cadre du formidable concours de dessin de Noël 2021 par
Casio
, avec une période de participation accessoirement prolongée jusqu'au
31 janvier 2022
.

Ces améliorations viennent d'être mises en place et nous allons te les présenter.

Concernant les échappements courts sur 2 caractères pour coder un octet non affichable sous forme de caractère,
img2calc
en gérait jusqu'à présent 5 :
  • \a
    (7)
  • \b
    (8)
  • \t
    (9)
  • \n
    (10)
  • \r
    (13)

2 nouveaux échappements courts sont maintenant gérés :
  • \v
    (11)
  • \f
    (12)

Pour les autres octets correspondant à des caractères non affichables, était donc jusqu'à présent utilisé un échappement hexadécimal sur obligatoirement 4 caractères.

Et bien à la place on peut utiliser un échappement octal, qui a l'avantage d'accepter un nombre variable de chiffres, de 1 à 3. Par exemple :
  • au lieu de \x00, l'octet de valeur
    0
    peut être écrit \0
  • au lieu de \x07, l'octet de valeur
    7
    peut être écrit \7
  • au lieu de \x08, l'octet de valeur
    8
    peut être écrit \10
  • au lieu de \x1F, l'octet de valeur
    31
    peut être écrit \37
On gagne ainsi 2 caractères dans l'écriture des octets inférieurs à
7
, et 1 caractère dans celle des autres octets jusqu'à
31
.

La seule contrainte pour les échappements octaux courts avec seulement 1 ou 2 chiffres, est que l'octet suivant si correspondant à un caractère affichable, ne doit pas être un chiffre de 0 à 7.

Reprenons notre icône. Comparons avec ce que donne maintenant
img2calc
:
Code: Select all
palette = (
(255,255,255),(55,109,157),(255,203,64),
)

image = (
#b"\x10\x11\x20\x01\x00\x11\x1c\x19(\r\x10%\x0c)\x00\x06\x00%\x04\n\r\x18\x0e\t\x04&\x00\x05\x00*\x0c&\x10\x0e(\x1a\x1c\x12\x00\x02\x20\x12\x10"
b"\20\21 \1\0\21\34\31(\r\20%\f)\0\6\0%\4\n\r\30\16\t\4&\0\5\0*\f&\20\16(\32\34\22\0\2 \22\20"
)

L'écriture des données du
bytes
subit une réduction remarquable, n'utilisant plus
140
caractères mais seulement
91
. :D

Une formidable réduction en conséquence de
35%
de l'espace occupé en mémoire de stockage, il y a de l'espoir... ;)

Revenons donc à notre image plein écran.

Voici ce que sort le nouvel
img2calc
:

Code: Select all
palette = (
(215,187,149),(239,183,116),(198,122,27),(90,45,18),(190,143,18),(255,255,247),(0,0,2),(190,172,149),(231,187,99),(239,163,18),(149,105,45),(207,176,107),(73,0,0),(149,67,64),(182,114,116),(247,195,133),
)

image = (
b'\xb0\r\21"\1\xb0&\xe3\1\xf0\0\21\xa0$\1C\x021\2\xf3\0\1\20\x93\1\1\x80#\1c\xc1\x013\1\23\x91\1\2#\21\x80"\1\xf3\0\2Q\2\xf1\0S\xb1\1\x023\1\xb0!\xf3\0\22\xa1\2\2#\x91\2\x83\1\1\xf0\37\1S\x91\3\x131\2a\22\x91\1c\1\xa0\37S\2\xf1\0\2\xa1\1\2\xf1\0\3a\2\x91\2\xf3\0\xf0\36S\x91\1\2\xa1\1\2\xf1\0\3a\2\xb1\2c\1\xb0\36S\x91\2\2\x81\1B\3\2\x91\2\2\xd1\1\2#\1\xe0\35\x013\xc1\2\2\xf1\0R\3\xa2\2\x81\x023\2\1\xa0\35#\2A\2\xf1\0\2!\2\x81\1\x92\1\23\xe2\2a\2Q\x023\x80\35#\2Q\2\xf1\0\2\xa1\1\xb2\1\23\x82\2\xf3\0\xd1\x013\xb0\34\1\0\1#\xf1\2\x82\2\23\x82\3\23\2A\2a3\x90\x1c3\xc1\2\xd2\2#\x92\3\23\2\xc1\1#\xe0\33\1#\xa1\2\xf2\1\xc3\2\2\4\xa2\2\3\x121\2\xf1\0\23\1\xc0\4\25\xb0\26\1#\2\x81\2\xe2\1\x93\2\22S\22\4\x82\2\23\2!\2\x81\1\23\1\xf0\1\xf5\0\x005`%\xc0\x015\x80\24#!\2A\2\x81\1\x92\1S\2\4\2\xf4\0Cd\2\xc3\1\xe2\1\xa1\1\2\23\xe0\1\5V%\26\5\a@\5&\5\xb0\1\5\26\5\xe0\23\1\23\2\x81\2\x82\1C\2\x84\2#\xa4\2\x023\xc2\x011\22Q#\1\xb0\1\5f\25\26%0\5&\5 \a5\0\a\20\5\26\25\a\5\0\x050\a\0\a\xf0\0%P%P%\a\xd0\2\5\0\5\0\5\x80\v#\xf1\1\x82\1C\2\xb4\2\23\xe4\x023\xd2\1\xa1\1#\xa0\1%\26E&5\x105 \x156E\26%\6\0\25\0E\a\25 \25&\25\20%\26%\a\25&\25`\5\xa0\1\25\26\25\6\25\xd0\n#\xf1\1\2\3RC\xe4\2\23\xe4\2\x123\xb2\1\xb1\1\23\2\x90\1%\26EV\a\5\0\25\6\25\20\5V5\26\x156\25\26\5&\25\0\a\25F\5\20\x156\25\a\5F\25@UP\25f\5\xb0\n\1#\xe1\1\2\3R3\x94\3\23\xa4\3\2#\xb2\1\xb1\1\23\1\x90\1\5\26\25\20\5f%&%\xf6\0\5\a\5\26\x056%\xf6\0%f%V%V\5@F\5P\5\xf6\0\5\a\x80\n\1#Q\2\xf1\0\23R#\xf4\2H\23H\xf4\2\2\23\xc2\1\1\2\x91\1\23\x80\1\5\26\25\20\5&\25\26%&\x156%\a\25\a\5V5&\25&\25&%\26%&5\a\5&%\a@\x056\5@\5&5\26\5\xf0\t\1#\2\xc1\1\2\23B3\xd4\2\x88\1\23h\t\b\xd4\2#\xb2\1\xb1\1\23\1`\5\26\25\20\5&\25&\25&\25&%\27\5\a\x156U\26%&\25\x86\1\5\a\x0565\a&\25P\x056\a@\5&\25\a\5\26\5\xd0\t\1C\xc1\1\2\3RC\xa4\2\t\xa8\1\23\x98\1\xc4\2\2#\xb2\1\xb1\1\23`\5\26\25\20\5\26%&\25&\25&\25\a\25\a%F\5\a%\26%&\25\x86\1\5\a\25&\25\a%&\a\x050\5FP\5&\5\a\25\26\5\xb0\t\x013\xd1\1\2\3b3\xf4\1\x98\19(\238I\x88\1\xf4\x013\x92\1a\22\21\2\23P\5&\5\20\5\26%&\25&\x156%\x065\26\5&\5\a\25\26%&\25\26\xc5\1&E&\x050\5\a6\x150\5&5\26\5\x90\t\2#\xe1\1\x82\x013\xd4\1\t\xb8\1i\30\3(Y\xf8\1\xa4\1\2\23\xa2\1\x91\1#@\5&\5\20\5\26%&\25&%\xf6\0%\26\25&\5\a\5\26%&\25&%\26%&\5\26%\26\5&\5`5@\5\x86\1\5\xf0\b\1#\xf1\1\3b3\xb4\1\31\xe8\1i\30\23\bi\xb8\2\x84\1\2\23\x82\1\21\2\xf1\0\23@\5&\5\20\5\26%&\25&\5\0\25V\25\a\5&\25&\25\26%&5F\25\0\x156\25\0\5F\25\x80\2\25f\5\xf0\b\23\x81\2\x82\1#\xb4\1\t\x88\2i\30\23\30Y\x98\1\t\x98\1\x84\1\2\23\x82\1\x91\1\23@\5&\5\20\5\26%&\25&\5\20\x156%\0\5&%\26\25\26\5\0\5&5F\5 \x056\25\0%\26\25\x90\2%&\5\26\5\xd0\b\1\23\x81\1\22A\x92\1\23\xb4\1\xc8\2Y\30\23\30Y8:\xe8\1\x84\1\2\3\xf2\0\3\2\xf1\0S\0\a% 5\27%\x005@E 5\0\a\25 \25 %0E@5@5\xc0\2\xf5\0\xd0\b\23\xc1\1\2\21\x82\1\23\xa4\1\31\xf8\2\tH\23\30Y\b\x8b\1\xe8\1\xf4\0\2\23\xf2\0\3Q\2\xf3\0\x80\26\23\2\xd1\1\xf2\0#\xa4\1\b\t\x98\2\32\33\32\xf8\0\23\xf8\0\n\xfb\0\n\xa8\2\t4\2\23\xf2\0\3\2!\2\23A#\xf0\25\23\xe1\1\xf2\0#\x84\1\31\xb8\2\32;\nh\23\xf8\0\n\xfb\0\n\xf8\0)\xf8\0\31D\23\xf2\0\3\2\21#Q\23\1\xd0\25\23a\2a\xf2\0#\xf4\0\x98\1)\xa8\1\23K\nX\23h\nk#Xi\x98\1\t$\2\23bC\xf1\0\23\xd0\25\23\xc1\1\xf2\0#d\xa8\1I\xa8\1\n\23KX\23X\nk#\nX\xf9\0\x98\1\t\24\22\23b\23\2\x91\1\23\1\x90\25\21\23\xb1\1\x82\1\23d\t\xf8\0\x89\18\32\3J[\nH\23X\nk\23\nX\x99\1\xa8\x014\23R\23\x81\1\2\1#\x80\25\x023\xa1\1\x82\1\23d\x88\1\x99\18\n\xcb\1\nH\23X\xfb\0\23\vX\x99\1\xb8\1$\2\x0323\2a\22\21\23\xe0\24\1\23\2\1#\2Q\2\3\xf2\0\23d\x88\1\xb9\18\n\xcb\1\nH\23H\n+\23\n+\n\vX\xa9\1\xb8\1\t\24\2S\22\23\x91\1\2\23\xc0\24#1#\x021\23b#d\x98\1\xb9\18\n\xcb\1\nH\23H\n+#;\nX\xb9\1X)(\t\24S"\3\2\xa1\1\3\1\xa0\24#Q\2#\21\3\xf2\0\3\xf4\0(9H\xb9\18\n\v:#K\30\t(\3h\n\v#\v\n;\nX\xa9\1HI(\x143R\3\xa1\1\2\3\xa0\24#a\2\23\22\3b\23d(\xf9\0\30\xb9\18Z\v\23;\n\30\t(\3h\32\23\n\v\n;\nh\x89\1HY(\t\x043\xf2\0\xa1\1\3\1\x80\24\23\2\x81\1\2#b\23d8i8Y\xe8\1\v\23;\nH\23(\24(\32\v\30\32;\nX\x89\18\xf9\0(Sb\1\2\x81\1\2\23\xf0\23\23A\2\1\2!\2#2\23TX\xf9\0H\t\xa8\2\n\f+\32\vH\3\48\31\xf8\0\n\33*\x98\1)Xi83\4#bA\x021\2\23\xd0\23\1\3\2a\2!\3\2#\22\23TX\x89\1\x88\3\v\3\33\32h\3\xe8\1\32\33\xc8\2i(\23D\2\23R\xb1\1\3\2\xc0\23\23\xb1\1\3\22CTh\x89\1hl\xb8\1:8\t(\f\xe8\1\v\xc8\2\31\bY(#T\23b\xa1\1\23\xb0\23#\xa1\1\x0323Dh\x89\1X\34=<\xe8\2\23\\\xa8\2\t\xf8\09()(\238D#B\xb1\1\23\xa0\23\x131\2Q\2\x03234h\x99\18\34\r\16m,\xa8\2,\r\fM\34H\31\x98\1\4\x88\1\4\31\xf8\0\23h$\2\23R\xf1\0\2!\23\x80\23\2\23\x81\1\2\23BC\24\th\x89\18\f\xbd\1,h9HL\16\f]\34(Ih\31\x88\1)h\23\x88\1$#2\3\2\1\2\x81\1\2\3\1\xf0\22#\x81\1\2\3Rc\b\tX\x89\18\f\xbd\1,XIHL\16\f\r\16=\3489\xf8\0\t\xa8\1\th\38\tX$\23B\3\xb1\1\23\xf0\22\3\2\x91\1b\3D#h\x89\1(\f\35\16=\36]\348Y8,\r\f\3\16\f\r.-\34\x88\4\23H9(4\23\x042\3\xb1\1\3\xe0\22\23A\2AR\23T#X\xf9\08\f\r>\x9d\1\34\30\t\bY8\34\35\f\3\r\f\r\36M\f\x98\1I89H\t(\238\xf9\0\30$\2\3R\3A\x121\23\xd0\22\3\2\x91\1R\x134H\23X)h\34\r>M.-\f8Y8\34\35\f\3\34\xfd\0\34\x88\1I8Ih\238\x89\1\x184\23R\1\2\x81\1\2\3\xc0\22\2\3\xa1\1B\x134\30\t(#\xe8\1\34\r>=>-\34(Y(,\35<=\16-\34\x88\1I(YX\23H\xf9\0(D\23R\x81\1\2\1\3\1\xa0\22\2\23\x91\1B\23$\t\xf8\0#\xd8\1\f=\16MN\35\34(Y(,\36,=\36-\34h\t\309\30i8#X\xf9\0(\t4\23b\x91\1\23\1\x90\22#\x81\1B#$(\31\30\t\30#\xf8\0\318\x9d\1>-\34(9H,\36\f\3\f\r\36\r\36-\34X\31(\31(i(\238\31\30\xf9\084#b1\x021#\x80\22\2\23\21\x121\2\x012#$\30IH#X9(\f]\36-\16M\f(\t8\t(,\35,.],\b\t()hY(\23\xc8\1)X4\2\3b1\2A\23\x80\22#\x91\1"#\2\24(IX#HI\30\fM.\x8d\1\f\xc8\1\34\35,\x8d\1,H9\xd8\1\23\xb8\1\f\x98\1\t4\23b\x81\1#\xf0\21\23\x91\x012#\248Y\30\t(\23HI\30\fM.=\16-\34\xc8\1\34\35,\x8d\1,H9H\th#\30\tXlh\tD\3b\x81\1#\xe0\21\23a\2!2\3\22\24\tH\31\x88\1\23898\fM\16M\16-\f\xd8\1\34\35,\35\36=,\xb8\19h\3\xf8\0,]\348\t\30D\23R\x91\1\23\xe0\21\23\x91\x012\23\2\24\t\x98\2#8\318\f\xfd\0\36M\f8)h,\r\f\3\f\r>-,(\t(\x99\1\30\t\b\4\3h\34\xad\1\fhD\23R\x91\1\23\xc0\21\1\3\xa1\x012\3\22\24hL\xf8\0#\x88\1\4\34-\36\r\36=\f(Yh\\\r>\35<X\xa9\1\30\t\23\xf8\0\f]\36M\34X4#B1\2A\2\3\1\xb0\21\23\xa1\1"\23\2\24\tH\x8c\1\3X#\x88\1\34-\36\r\36-\f8Yh\\\r>\35<X\xa9\1\b\t\4\23h\34]\36M\34X\t4\23B\xa1\1\23\1\x90\21#\x91\x012\23\2\24H,M<\b\318\23\x88\1\34\x8d\1\fH\xf9\0XL]<X\xb9\1\30\3()\30\34\35\36\35.]\f\xf8\x004\23B\x91\1\2\23\xd0\4\25\x90\f\23\2\21\2!\2\x112\23\2$8\34\xfd\0,\x88\1\23\x88\1\fM\34h\x89\1h\23\f=Lh\xa9\1\30\23\309\30\34\35.M\36-\34\xf8\0$\23R\x91\1#0\xf5\0\xa0\2U\26\5\x80\f\23\x91\x012\23$\t\30,=\36M\34(\tH\23\xa8\1\34\x98\1\x89\1h\23\x8c\1\xf8\09\4I\b\2389\30\34\35.M\36=\f\xf8\x004\23BA\2A\x130\5V\5\xa0\2\5&\25&\5\xf0\v\23\x91\x012\23\24\t(,=\36M\34()8\23\xd8\2\x89\1h\3\b\xfc\0(\tHI\b\4(\n\2389\b,\35.\xad\1\f\xf8\x004#2A\2Q\3\1 \5f\5@\5\0\a`5&\25&\5P%0%\xd0\2\27\5\xd0\6\23\2\x91\1"#\248\34M\36\r\36\35,()8#H\tX\t\x88\1ih\38\rX\31h\t\b\v\n\b\n\v\n\3HY,-\16\35.m\f\xf8\x004#2\xb1\1\23 \5&\5&\5\20\25\26\25\0U&\5&\xa5\1\0\5\26E\26\25\x80\2\x85\1\xa0\6\23a\2\x112\23$(,\xfd\0\36\35,h*\b\n\2389H98ih\3\b\t\x88\19X\n+\32\3h9\b,].\35\16=\f8\31(4#2\xa1\1\23\21\0\5&\25\x165f5\xf6\0\25&\25&\5\a\5&\25V\5@\5\x1650\5f\5\xa0\6\3\xa1\x012\3\2$(,\35\36\x8d\1\34h\n+\n\v#\3098Y89\x88\1\3\30\thIh\n\v\n\23\30#\v\30\31(,\x9d\1.-\f8)\30\t$#2\xb1\1\23\1\0\5f%\26%&\a\25&\x156\25&\25&%&\25&\5\6\25@\5F\x0505&\5\xa0\6\1\3\x91\1B\3\2$(,\35.-\16=\34h\n+\n\v\b#\30)8i8)\x88\1\3\x98\1Ih\v\32\3\v\b\n#\n\30\t8,\x8d\1>-\f89\b\t$\2\x132\xb1\1#\0\5V5\x165\26%&%&\25&\25&%&\25&%P\5F\x0505&\5\xa0\6\23!\2Q2\23$8,\35.\35.-\34h\32+\n\30#\b)8i\x98\1\318\3\x98\1I(\31\30\n\23\b\n\v#\v\n\xf8\0\34-.->-8Y\30$\2\x132\1\2\x81\1#\0\5V5\x165\26%\26\25\a\5&\25&%\26%\26\a\5\a\5&\25P\5F\5@\25&\25\xa0\6\3\2\x91\x012\3\2$8\4\34]N\35\34h\n;\n8\23hI\xa8\1)8\3\xa8\1)X\4\n\23\33\bK\n()\30\34=\16=>\35\f8Y\x184\x132\xb1\1\23\0\5V5\26\25\a\5\26%\x165&\25&%\26%\26\5\a5&\5@\5F\5@\25\26\25\xb0\6\3\xa1\x012\3\2$\30\t\b\4,MN\35\fh\n;\32H\23\4X9\xa8\1)8\3\30\t\xf8\1\32\3\n\b\nk\n()\30,\x8d\1\16\35\16\348Y($\2\23"\xb1\1#\5&\5&%&\25&%&\x156\25&%&\5&%\26\25\26\5@UP\5&5\x80\6\1\3\xa1\x012\x034H,M>-\f\30\t(\nK\n\vX\23h\31X\318)8\3\xa8\2\n\3\n\b\v\3k\n()(\34\xbd\1\34Hi\x184#\22\x81\1\2\21#\5&\5&%\xf6\0%\x86\1\25&%V\a\5\a\5\26\5&\5PEP\5V\5\x80\6\23a\2!"\23$\t\30\31\30,]\16-\34\30\t\b\32[\n\xf8\0\23\xd8\1)()8\389\xa8\1\3\n\b\v\30\n[\n\30)H\34-.M\fXi\x184#"!\22Q#\5&\25&%f\27\25\xf6\0\25&\5\0\25F\5\20\5V\5\xf0\1\5f\5\xf0\5\1\23a\2\21\2\3\22\23$\t\30\31(<],H\32;\32X\t(\23\x98\3\3(iX\4\23\n\b\n\23k\n\xb8\1,\r.-\34hi(4#\22!\2a#\x85\1 \xf5\0 \xf5\0\0E E0e\xf0\1\x85\1\xf0\5\23\xa1\1"\23\2$\b\t\4)(,\rlh\n;\n\xc8\1\23X\31\xf8\1\3(\xf9\0H\23(\nk\32\xe8\1lX\t(i(4#"\x91\1\2\23\1\xf0\17\23\xa1\1"\x134Y8\x8c\1\xf8\0\32\v\32\v\xc8\1\23H)\x98\1*\30\23(\xf9\0H\23(\nk\328\t\b\t\x98\1\34X9(i(4\2\23"\x91\1\2#\xf0\17\23A\2A\3\22\x134\xb8\3\32\v(I\x88\1\3\x88\2\n\v\b\n\b\23(\xf9\0(#8\32;\328\xf9\0\xd8\1Y\30i(\t4\2\23\22\x91\1\2#\xf0\17\23\x91\1\2\3\22\23$(j\x88\3I8\318\23\xd8\1\n+\n\b\23(\xf9\0\30#h:\v(\xa9\1X\31XI(Y8D\23\22A\22!\2#\xe0\17\1\3\2\x91\1\2\3\2#\24\30\n\x8b\1\32\vhIX\t\30I(98\23X*\b\v\32;\n\b\23(i(\23\xd8\1\t\b\xb9\18\t\x88\19(IX4\23"1\x031\2#\xe0\17\1\3\2\x91\1\23\2#\24\30\n\xab\1\nhYH\t\30I(I(#H\n\v:K\n\b\23(Y(\23\x88\2\xb9\1\x98\1\338\tHIH4\2\3"1\x021\2#\xe0\17\23!\2a\23\2\23$\b\n\xdb\1\n(\xf9\0\xf8\0I\30YH\23(\xab\1\n\30\23(I(\23XIX\xc9\1X\v\32;*\x98\19(4\3"1\x021\2#\xe0\17\3\2\xa1\1\3\22\23$\n+\3\n\xab\1\n\30\xf9\0\xe8\1YX\23(\n\xfb\0\n\v\30\23\x98\1\238\x89\1H\xc9\1X\x9b\1\n\xf8\0Y\x184\23\x121\x021\2#\xe0\17\3\22\x91\1\3\22\3\2\24\b\n\33#;\n[\n\30\xf9\0\xe8\1Ih#\30*+*(\4\23\x88\1#8\x89\1X\xa9\1(\t\30\n\xab\1\nhY($\23\x121\x021\22\23\0\a\xc0\17\3\22\x91\1\3\22\3\2\24\b\n\v\23\32;\3\nK\n\30\xf9\0H)h9(\318#\30\32\33*H\23(\4\t(#\30\xb9\1X\x99\1h\xbb\1\nhY(\t\24#\22!\x031\22\23\0\a\xb0\17\23\22\x91\1\3\22\3\2\24\30\32\v\n;3\n\33\32\30\xf9\089\xf8\0)(9(\238\v\x88\1\23(\31\30#X\xf9\0h\x89\1h\nk3\32hY(\t\24\2\23\22!\22!\22\23\0\a\xb0\17\23\22a\2\21\3\2\23$8\nK\n3\v\32\xe8\1)\xd8\1I8\23\xf8\0)\30\23(\t\30\4\23(\t(9\xa8\3\n;\n+\n\23\nhiH\24\23"a\22\23\1\0\a\xa0\17\23\2\x91\1\2\3\2\23\24\t8\n;\32\b:\vX\xfc\0\xf8\0\t\xa8\19X\23\b\t(9\30\23H\2389H\xfc\0\xb8\1)8\n\33\n\3;\n\xa8\1YH\24\23\22A\2\21\22\23\1\0\a\xa0\17\23\2\x91\1\2\3\2\23\24HK\32\x98\1\xac\1h\31\xa8\1\31h#89\30\23H\2389(\xac\1\xa8\19(\n\33\23;\n\xa8\1YH\24\23\x121\2\3\1"\23\1\0\a\xa0\17\3"\1\22Q\2\3\2\23\248\nK\n\x98\1\34\r\f\x8d\1\34X\4\xc8\2\23(9\30\23(\23X9\b<M\\H\4\30Y\30\n\v\23\32;\nH)\30iH\4\23\x121\2\3\21\22#\0\a\xa0\17\3"\x81\1"\23\248*+\nX\4\b\34m\36]\f8\t\30I8)\x88\1#8\t\30\23\30#\x98\1\34\xad\1<Xi(\n\3\n\b\n;\n\v8I898\4\23"\21\22\3\21\22#\0\a\x90\17\1\3"\x81\1"\3\2\24X\v*\xf8\0\34=\16\35.]\16\fh9(Y\x88\1\23X\23\b#\3098\f=\36\x8d\1,\30\t(I\x88\1\n;\n(IHI(\4\2\23\22!\2\3\21"\23\0\27\x80\17\1\3"\xf1\0"\23\2\24\xf8\0\32\xf8\0\34=\16\35.\xfd\0\fX9\30i8\t\b\t(\23HC(I\30,\35.\x9d\1\34h)\x98\1\n;\n(I8Y(\4\2\23\22!\2\3\21"\23\0\27\x80\17\1\3"\1\2\xf1\0\2\23\24\x98\2\34\35\16\35\16-\16=\36-\348I\30iH\tH\23(C(Y\30,\35.-.=,\xa8\198\32\33\32\xb8\1Y(\t\4\23\x121\3\21"\23\0\27\x90\17\3"\1\2\xf1\0#\24\x98\2\f-\16\xfd\1\34H)8\xf9\0\3098\23\x1838I\30,-\36M\36=<\x98\198*\v\xd8\1Y(\t\4\2\3\22\1\2\21\3\x012\3\1\0\27\xf0\2S\xb0\v\23\22\x91\1#\24\x98\2\f\xbd\1\fm\34X\tHY\xc8\1\23\b#8Y\30\34-\16\xad\1\36\r,\xa8\1)H\4(\t\xc8\1I(\t\4\2\3\x121\22\1"\x037\xd0\2\x023\37#\x90\v\23\22\21\2#!3\24\x98\2\34\r\xbc\2\xb8\19\xf8\1CHI\b\34-.\x9d\1\36\r,\xc8\1\t\x88\1\t\xd8\1)8\t\4\2\3"1\2\1\22\x137\xd0\2\23\37\3?\23\x80\v\23\22\xc3\1\2\x93\5\xf4\0\x184\x98\1\31\b\t\24\30C\xa8\1\34-\xac\2\x93\2\xa8\3\x043\2A\3\1\2\23G\xc0\2\2\3?\3?\23\x80\v\xf3\0!\xf3\2\f3L\xc3\6\x88\1L\xa3\1@W\0\x97\1 \xb3\4"3\x017\xc0\2\2\23\17\3/\3?\23\xf0\n\1#\2a\2S\xf8\3\23\34\23\xf8\0\xe3\3\20\xc3\1\0\a0\xe7\5\0\' \x1707\21C\1g\x80\2\22\23\2\23_\3?\23\xe0\n3\x81\x013\24\x88\2\3\xdc\2\xd8\1\xa3\1H#\b#\xa0\1\xf7\t\0g\x90\1\22\xc3\1\xbf\1\3\2\xc0\n\1\23\22\x81\1\2\23\2\24X)\xf8\0\34\xed\1.\r,\xb8\3\23(\23\b\23\x97\f@\22\23\22\xa8\1\2\23\xff\0\3/\23\xb0\n\23\22\xa1\1\23\2\24\30\t\bYh,\16=\36-\16-.\35\f\x98\2\t\x88\1\238\23\30\23\0\xe7\v \2\23\22\x88\2\23\xaf\1\23\2\xa0\n\23\x121\2Q\2\3\2\24\30\x89\1h\34=>\r.\35.,\xf8\0\n\33\n\v8)X#H\238\23\xb7\v\20\2\3\2H:\vHI(\23\xaf\1\23\xa0\n\23\x121\2a\3\2\24\30\x89\1h\34=>\35\16-\36\r,h\n;\n89\b\t(\23X\23H\23\0\x97\v\2\23\2HK\n\v8Y\30\23\xbf\1\3\2\x90\n\3"\xf1\0\2!\23\24\xa9\1h<\16\r>\x8d\1\34\nX\nK\n8Y\30\3\xf8\0\23X\23\0\xd7\n\2\3\f\xf8\0\2\3[\32\30i\30\23\xaf\1\23\x90\n\3"\xb1\1\23\24\xe9\18<-\16=\36=\f\xf8\0k\n(I\30\3(9\30\238\t(\23 \27 \'\xb0\b\1\20#\2\x98\1\v\n\3k\n\b\xf9\0\30\23?\3_\23\x80\n\3"\xb1\1\2\3\24\b\x89\1\b9HL]\16-\34\x88\1k\n()\30\238I\b\238\31(\23\xc0\t\2\23\2\xb8\1\32\xbb\1\bi(\3\xbf\1\23\xf0\t\3"\xb1\1\2\3\24\30Y(\31\4X\nL\xfd\0\34\x88\1\xfb\0\n(\t(\4\23(Y\b\238\318\23\x90\t\2\3\f\2\xd8\1\nK\n\3;\b\n\30Y(\23\xaf\1\23\2\xe0\t\x032\xb1\1\3\2\24\b9H\t\4\t\30\v8\v\3\xac\1\xb8\1k\n\30\t(\23XI\b\23(I(\23\xe0\b\238\31\4\t\xa8\1\n;\n\23;\n\30Y8\23\xaf\1\23\xe0\t\x132\xa1\1\23\24\xc8\1\32\33\32H\nL\xe8\1\n[\n8#\xf8\09\b\23\b\xf9\0(\23\xa0\b\2,\3(\31\4\31\30)hZ\23+\n(9X\23\xaf\1\23\xd0\t\1\3"!\2\xf1\0\23\248\31h\23;\n\v\xf8\2\32;\3\v(#H\t(9\b\23\b\x99\1(\3\xf0\a\aL\r\xf8\0ih\4\30\32\3\33\n8\t\x98\1\23\xaf\1\3\2\xd0\t\x032\xa1\1#\48)X\23K\n\x88\1\t\b\t\xb8\1\32;\n\v(\23X\t(9\b\23\b\xa9\1\30\23\xd0\a\3\34\35,\xf8\0i\xa8\1J(\31\x98\1\2\3\xaf\1\23\xd0\t\23"Q\x121\23\4\xc8\1\3\f[\nhI\xb8\1\32\33\32\30\23\xb8\19\b\23\b\xa9\18\3\xa0\a\3\f\r\36\35,\30\tHi\xb8\1\v\n\v8\31\xa8\1\23O\3O\23\xc0\t#"\xa1\1\23\4\xc8\1\n\3[\32XY\b\t\b\4\xf8\0:\30\238lH\t\b\23\b\xb9\18\3\xe0\6\2\3\34M,\4\b\31HY\xf8\0I(\t\b\31\4\31\xa8\1\23\xaf\1\23\xc0\t\23"\xa1\1#\4\xa8\1\v\n\xfb\0\nHi(I\x88\1\38,-L(\t\b#\b\xa9\1H\3\xd0\6\3\f\r\16\r.\r,\4\b\t\xf8\0\31X\x99\1\30\31\b)h\t8#\xaf\1\3\2\xb0\t\x132\x91\1\2\23\4\x98\1\v\n\xab\18Y(Y\xf8\0\23(,M<(\t\b#\b\xa9\1H\23\xc0\6\f\r\36\r.\r,\4\xa8\1\tX\x89\1H9h)\30\2\23O\3O\23\2\xa0\t\23B\x91\1\2\3\48\t(\32\xbb\1\nHI(iH#(\3\f\x9d\1\34\b\31\b\238\x89\1h\3\xa0\6\34\36\r.\r,\4\x98\2\x99\1\xe8\1I\30\2\3\xbf\1\23\xb0\t\2\3"1\2a\23()\b\3k\n\3K\nX)(\xf9\08#8\34\35\16=\16\35\34\30\t\b\23XY\x88\1\3\xf0\5\2\34\r\16-\\\4\xa8\2\xf9\0\xd8\1i(\23\xbf\1\23\xb0\t\x032\xf1\0\2\21\23\4\30)\b\n[\32\23;\n\xb8\1\xf9\0(\23X\f\35.-\16-\34\b\t\b\23\x88\1\t\xb8\1\23\xc0\5\2\3\xac\1\24\31\xf8\0*\xf8\0)\30\t\xe8\1\xf9\0\30\2\3\xbf\1\23\2\xa0\t\23"\xf1\0\2\21\2\23\30)\b\nK*\23;\n\xb8\1\xf9\0\30#H\34\35.m\34\r\t\b\23\xd8\2\23\xc0\5\3\2\xac\1\4\b\t(\4H\n\b\32\xf8\0\t\xf8\0\4\x98\1\xf9\0(\3\xcf\1\3\2\xa0\t\x132\xa1\1\23(\31\30\n+\32\b\n\23+\n\309hi\30\23h\34\35.-\16-,\30\238\tH\v\32+\32X\3\xa0\5\3\28,H\t(\n\33\3\n\30\n[\32\x98\1\xec\1\x98\1\2\3\xcf\1\3\20\x025\xb0\b\1\x032\xa1\1#\30\t(\32\v\n(\v\23\33\328\4\thI\30#\xf8\0\34m.\35,\30\23()8\n\xfb\0\328\3\x80\5\22\30\th\tH\n+#\xfb\0\n\x88\1\f-.=>\35,8\31\30\23\xbf\1\23\25F\5\xa0\b\23"1\22Q\23\b\tH\32H\32\v\32\v\xa8\2\23\x98\1\34M\36\r\16-,\30\23\309(\n\xab\1\n8\23\xd0\4\2\3\30\4\xd8\1K#[\n\x88\1\fM\36=>-\16\r\34X\2\3\xcf\1\3\25V\xa0\b\x1321\2Q\23\b\tH\32X*\vh\4\xa8\1#\x98\1\34M\36M,\30\23()(\n\xab\1\32(\23\xd0\4\23\xf8\1[#K\32\v\xf8\0\f\r\16\x8d\1>]\34X\23\xbf\1\3\2\x156\5\xa0\b#2\x91\1#\xa8\1\31\x98\1\x9c\1\3\30#H\318\34\xbd\1,\30\238\t8\n3\xfb\0\328\3\xc0\4\3XIX\x8b\2h,\35\36\xdd\1\16-\fX\3_\3_\3\2\25\26\25\xb0\b\x132\xa1\1\23\xb8\198,\x8d\1<\3HI8\34\xad\1,\30\23H\t8\32#\xfb\0\nH\3\xb0\4\3(\xf9\0h\xbb\x013\n\30\t(<].\x8d\1\16-\fH\23\xbf\1\23\25\26\5\xc0\b\x132\xb1\1\23\xa8\19(\34\35\16m\34\b\23Hi(\34\r\16\35.=\34(\23\xb8\1\v\n\x8b\1\nX\23\x90\4\2\30\x89\18\31\b\n\xab\1#\v\n\30\t8L=.=.M,8\2\3_\3O\23\2\5\26\5\xc0\1\a\0\a\xc0\6#"\xb1\1\23\xa8\19(\34\x9d\1\f\b#H\xf9\0\30\34=.-,(\23\xf8\0\t8\n+\23;\nX\23\x80\4\22\30\x89\18\31\b\4\n\xdb\1\n\b)(\xfc\0\xfd\0.M,H\3_\3O\23\2\5\26\5\xf0\0\a\xf5\0\xc0\6\x132!\2!\2!\2\23(9(9\30\34=.\35\34\b#\b\f8\xf9\0\30<\35.-\348\23h\31(\n;#\33\32\xf8\0\3\xf0\3\2\30\x99\1()\30*\xbb\1\n\b)8\4\xac\1\x8d\1<\4H\3\xbf\1#\5&\5`\5f\5\xc0\6\1\x032\xb1\1\23(9\xf8\0\34M.\r\f\30\34\30,(i8<M,H\23h\31(\n+\32#\32\x98\1\3\xe0\3\3\30\x89\1(I(\4\n\x8b\1\b\n(\tH\31\30\x9c\2\r\f\24H\23_3\17#\5&\5P\5\xf6\0\5\a\xc0\6\23"\xb1\1#\309\xf8\0\34]\36\f\b\3\34\b\3L\30iX\xfc\0(\t(\23\x98\1\v\n;\n\b\33\32\xa8\1\23\xd0\3\3\30\xf9\0\x98\1\33\b\v*;*\x98\1)($\xdc\1\24\b\t83\17\xa3\1\5&\x050\a\0\5\26%&\5\xd0\6\1\x032\xa1\1#()\30\tH\34m\f\3\b,\b\\\30ihL\x88\1\23\x98\1\32;\n\x88\1)H\23\xc0\3\3\30Y\x98\1\2cZ\4\xb8\1)\30$(\xac\1\4\30\t8\xf3\1\5&\5P\5\x165\26\5\xe0\6\x032\xa1\1#8I8,\r.\35\f\30\f\b\f\b\f-,\30i\xd8\1\tX\23\x98\1\n\v\n+\n\xf8\09X\3\xc0\3\3\309\x98\1\23\xf2\0\23\2\x98\1\2XIH4h\31H\4\xf3\1\5&\5@\5&5\26\5\xe0\6\1\3"1\2a#(Y(,\r.\r\f\30\f(\f=<\bY\xa8\1\t\x98\1\238\t\xf8\0*\x88\19h\3\xa0\3\22\30\31h\t(\3\xb2\1\238\2\x83\1\4\b9\bi\xa8\1\t8\4C\xf2\0#\5&\5@\5&5\26\5\xf0\6\x132\x91\1#8I(,\35\16\r\f\b\3\34\b\34\r\16-<\30Ih\t\30\318I\b\23\30YX\v\n\30)89(\t8\3\x90\3\3\x88\1)\30\4\3\xc2\1\b\3(\2\3\x82\1\23\28\31\4\t\xb8\1\tX\4\2#\x92\1\23\5&\5P\5\xf6\0\5\xf0\6\x132\x91\1#8I(,=\f\b\34\b\34\35\36\35<()\xa8\1\tHI\b\23\30i\x88\1)8)8\31(\23\xf0\2\2\3\xb8\1\24\2\23\xb2\1\b\3\2\b\2\23\xa2\1\38\31\4\xd8\1\tH\4\2\23\xa2\1\23\5&\5P\5\xf6\0\5\xf0\6\1\x132A\22\21\2#(I(,-\f\b\23\b\3=\16-<\x88\1)8)(Y\b\23\30\xf9\0\30\31(I\xf8\0I(\23\xd0\2\2\3H\3"\b$\2\xc3\1"\3\2\b\4\2\3\xb2\1\3\2(\31\xa8\2\4\2\4#\xa2\1\23\5&\5`\25&\5\26\5\x80\a\1\x032\x91\1\2\23(I(<\r\f\3\f\3\b\3\f\xfd\0,\x88\1I()(i\23\b\xf9\0(9\309hi8\3\xc0\2\3H\3\0\22C\2\0G\0\a"c\2\4\23\xd2\1H\4#\28)X4\3\xc2\1\3\2\5&\5\xf0\0\xf5\0\x90\a\x132\x91\1#\x98\1\4\f\r\34#\b\34\x8d\1,hi\x98\1Y\23\30i(\31\xe8\1YX\3\xa0\2\2\b\2(\3\2\'0\xe7\1 \a\22\x93\1B\38\2\x132\23\2$8D\2\23\xc2\1\3\2\5&\5\x90\t\x132A\x0213\30\thL\3\b\3\34=\36-,h\xf9\0\x88\1Y\23\30i\xb8\2YX\3\xa0\2\3\2(\2\3\0\xb7\1\xf0\0\'\xf0\0\22c"\38\2\3R#\2\x84\x013\xb2\1\23\2\5&\5\xa0\t\3B\x91\1#\x98\1<\3\b\3\f]\36\35<X\x89\1\x98\19\b\23\30i8\x9c\1hIh\23\x80\2\22(\23\2\27\xf0\2\a\20\'@\22C\2\30\4\3\xf2\0\xe3\1\xc2\1\a\3\25&\5\xa0\t\23RA\22\21#\x88\1\4\3\f\3\b\34\r.=\16\35,\xf8\0iX)h\23\30I8\34\x8d\1,H9\x98\1\3\x80\2C\2\xc0\3\xd7\1\0\3(S\xf2\0c\xf2\1\3\2\x156\25\x90\t\23R\x81\1\x023h\34\23\f\35>],\x98\1Ih9X\4\3\309(\34\xbd\1\16\34(9\xb8\1\3\xb0\2\a\x90\4\xa7\1\x003\'\2\xf3\0\xc2\2#\2\a\5V\5\x90\t\23R\x91\1\2#\4\b)\30\23\b\34\35>],\x98\1\31\xf8\0YX\4\3\309(\f\x9d\1\16=\34\30\t\30\t\xb8\1\23\x90\a\xf7\0#\0G\22\x93\1\xd2\x013\22\a\5\x036\5\xa0\t\1\23R\x91\1\2#4#\30<.],H:X\n\vHYX\3\30\318\f=\36=.=\34\x88\1*\vH\23\xe0\a\xa7\2\5\x93\2\2\20\22e\xc0\t\23\xf2\0\x81\1\x023\4#8L=LH\n+\n8\32\v\nXIX\3\4X\34\35N\x9d\1\34h\n\b;\nX\3\x90\1%\x90\6G \a\2\27@\xf7\1\0G\0\5\2\6\a\5\x80\n\23\xf2\x001\2Ac(\t(\x9c\1h+\n\3\v\30\n;X9h\23H\34-^-\16]\34hK\nh\3\x80\1\5\6\5\xc0\6\a\x90\1\x97\3\5&\5\x80\n#b\xa1\1C\x88\1\xfc\0h\n+\23\33\n[H9h\23H,\35^-\36M\34hK\nh\3\xf0\0\25\6\xb5\1\20\a\xc0\6\xd7\2\0\5&\5\x90\n\23\xf2\0\xa1\x013\xf8\2\n+#k\nH9h\23H\34-^-\36]\fh\n;\n(\t8\23P\25\xc6\1\5\a\xd5\t&\5\xa0\n\23\xf2\0Q\2!3\30\t()H\31\xf8\0\n+\32k\32H9(\31\30\238,=\36]\36]\fh\n;\n\x98\1\3@\5\x86\f\5\xb0\n#ba\2SH9\xd8\1\n\xab\1\32h\31(9\b\238,\xbd\2\f\xf8\0\n[\n\v(\t\30\x130\5\x86\f\5\xb0\n#R\3\2Q#\2#H9\xd8\1\n\x8b\1*\xc8\1\t\4\31\b\238,\xed\1\36-\f\xf8\0\n;\32\23\n\v8\x130\x156\x005\xe6\n\5\xb0\n\1#R\3\x021#13\309H\31\xf8\0\nk\n\33\xd8\19\b\238,M\16=.\35.\35\fh\v\n;#\v\32\b\t\30# \25\26\25P\xf5\4\xd6\5\5\xc0\n\1\23b\3\2\21\2\23\2A3\xf8\0Ih\32[#\30\t\30)\xf8\0\t\30\238,=.-.-\16-\fH\n#;\32\33\32\b\31\30#\1\0\25\26\5\xa0\6\xe5\4\26\xf0\n\1\23b\3\2\1\23\xf1\0CHYH\t\30\32[\23\v89\x98\1\238,->=\36m\f8\n\33\23\xfb\0\32\b\31\bC\1\25\6\5\x80\v\a\5\26\5\xf0\n#b3\xf1\0\2CHI8\31\30\32\xfb\0\n89\x98\1\238,->\xcd\1\f8\n\xcb\1\n\b\31\bS\25\6\5\x90\v\5\6\25\xf0\n\x013B#\21\2\xf1\0C89H\318\32K\n\v(I\30\th\238,=\36-\16=\36=\fH\n\xab\1\328\23\1\2#\25\xb0\v\25\xa0\v\1\x93\1\xd1\1#(\31\xf8\0\tH*\v*h\tX\32(\238\n\34\xfd\0\36=\36-\fX\32\x8b\1\nH\23!3\xf0\27#\2\3\xe1\x013\xb8\1\31H*\xe8\1\n\33\n\v\n#\32\30,\x8d\2\34X\v\32K*8#13\1\xb0\27\1\0\a\23"\3\xe1\1#\xb8\1\31\xd8\2;\n\b\n#\32\30,\x8d\2\348\t(\xfa\08\23\2AC\xc0\x055\xa0\21\27\x132\3\x81\2#\x98\19\xa8\2\nK\n#;\30,M\36\xfd\0\34(9\xc8\1\23\xf1\x003\20\a\xe0\4%6\25\x90\21\a\23B\3\2Q\22\xf1\x003\xf8\0)\xc8\2\3[\23+\n(,-.m\34(I\xa8\1\23\x91\1C\a\0\a\xc0\4\25V\25\xa0\21#b\x81\x023\xf8\1\xf9\0X\v\nK\23+\n(\4<\16\xfd\0,(Y\x98\1\3a\2A3\0\'\xb0\x045&\5\xc0\21\1\23b\x91\x023\xd8\1\x99\1X\nK\23\33\32H<]<(i\x88\1\23\xc1\1\2#\0\'\xc0\4%&\5\xd0\x113R\1\2\x81\x023\xb8\1\xa9\1X\n;\23\v\32\x88\1\x8c\18\xf9\0h\23\xf1\1#\20\27\xd0\4\25&\5\xe0\x113bQ\2!\2\xf1\x003\x98\1\xb9\18\v\32+\23\32\xe8\2iH#1\2a\2!\2\23\2\3G\xc0\4\5&\25\xf0\21\1#b\xb1\x0238\t(\xb9\1(\n#\33\n\23\n\xc8\2\tH)(C\xf1\1\2\3"\3\1G\xa0\4\25\26E\xf0\21\1#R\xc1\2#h\x89\18\v\n[\n\23(\t\xa8\1\31H\31\xf8\x003\xa1\1\2A\2\x132\3g\x90\4\5V\25\x80\22\1#b\xb1\x023X\xf9\08\32K\32\23(9\xf8\0)\xb8\1C\x81\2\2\x132\23g\x80\4\25V\25\xf0\21\27\20\23bA\2\xe1\x013hI8\32;*\3\4(IXI\x88\x013\xc1\1\x021\x82\1\3\0g\x80\4\x85\1\x90\x127#R\xd1\2Ch\tXJ\30\238Y8YX3\x91\1\22\xf1\0\x82\1\23\xf7\0\xc0\x177\1#Ra\2Q\2Q\2S\x98\2\23(i8\t\b\31H3\2\xa1\2\2\3\x82\1\23\x87\1\xe0\27\'\1\23b\xc1\1\2a\2S\x88\2\23(i\xa8\1C\xb1\2\xa2\1\23\0\x87\1\xf0\x177#b\xd1\x023\xb8\19\b#\30i\xf8\0Ca\x021\2Q\xd2\1\23\1\x97\1\x80\x187#b\3\2\xf1\1\22A3h\t\b)\b#(Ih3\2\x81\2\xf2\1\23\1\xb7\1\x80\30G\1#b\23Q\22\xe1\1\bS\2h#\xa8\1\2#\2\xa1\2\xf2\1\23\1\0\xb7\1\xa0\x187\x003\x82\1A\22\x81\2\2c\283\18!\2#\2\xa1\2\x82\2\23\1\0\xc7\1\xb0\30G\1#\xf2\0\3\2a\22\x91\2\2\xd3\2\xb1\1\2A\x92\2#\1\xd7\1\xd0\30W#\x82\1\3\2\x91\4#\1S\xf1\1\2\21\x92\2#\1\xf7\1\xf0\30W\x013\xf2\0#\2\x91\1\2\xb1\2\23\xd1\1\2a\xb2\2#\1\0\xd7\1\xb0\31W\x013\xb2\1\xd1\3\23\x81\1\x021\2Q\xb2\2#\1\0\xe7\1\xc0\31g\x013\xb2\1\21\22Q\22\xf1\1\23A\x021\22A\xc2\x023\0\x87\2\xf0\31\xf7\0S\xb2\1\xd1\1\2\x81\1\23\xb1\1\xe2\x023g\0\xb7\1\xa0\32\x87\1\1S\xb2\1\xb1\2\23A\x92\3C\xb7\2\xe0\32\x97\1\1C\xe2\1\xf1\1\xf3\0\xd2\2S\xb7\2\x90\33\xa7\1\0\xf3\0\xb2\2\x83\1\xc2\2S\2\1 \xa7\2\xe0\33\xb7\1\1c\xe2\2#\xd2\1c\1\xa7\3\xa0\34\xd7\1\1c\x82\2#\0\23\x92\1#\2\xf7\3\xc0\34\xf7\1\1c\xe2\1#\a\1\23\xf2\0#\1\0\xd7\3\x80\35\xa7\2\1\xf3\0b3\1\'\x83\1\1\xd7\3\xf0\35\x97\2\0\27\xd3\1\1G\x001\20\xc7\3\xc0\36\x97\x031\xa7\5\x80\37\xc7\b\xd0\37\xc7\a\xc0 \xf7\6\x90!\x87\6\x80"\xb7\5\xa0\a5\xb0\25U`E\x80\2U \xb7\4\xf0\5\xb5\1 \25\26\25\xa0\25\x056\5`\5&\5\x80\2\x056\5`\xb7\3\xb0\6\5\x86\1\25\a\20\x056\5\xa0\25\x056\25@\x056\5\x80\2\x056\5\xb0\1\xc7\1\xd0\a\5\xa6\1\5\20\x056\5\xa0\25\5F\5@\x056\5@\a\0\5\0\5\xf0\x006\5\xe0\n\5\xa6\1\5\20\x056\5\xa0\b\a\xf0\f\x056\5@\x056\x050\x85\1\a0\5&\5 E U\x80\x015@%\x90\1\xf5\0\xe0\3\5\xb6\1\20\aE\xa0\1\xa5\1\x90\1\xa5\1\xd0\1\xb5\1\xe0\f\x056\25 \x056\x050\5\xf6\0\x150\5&\x050& \x156\5\a\x005\0\x156E\26%`\5\xf6\0\5\xc0\x015\xc0\1\x056%6\25\0U\x80\1\25\x96\1\5\x80\1\5\xa6\1\5\xa0\1\25V\x056\5\xf0\f\x056\5\20\x156\5 \5\xa6\1\5\20\25&\5\20\x056\5\20\a\x056\5\20\5\xb6\1\5V\x150\25\x96\1\25\x90\1\x056 \5\x80\1\x056%6\25\0\x056\5\x80\1\25\x96\1\5\x80\1\5\xa6\1\5\x80\1\a\25\xb6\1\5\xf0\f\x156\5\0\x156\5 \a\xa6\1\5 \5&\5 6\5 \x056\5\20\5\xb6\2\x050\5\a\xa6\1\5\x80\1\25f\25\xf0\0\x056%6\5\20\x056\5 \x150\25\x86\1\25\0\a%\a \5\x96\1\5 %0\25\xc6\1\5\xf0\f\x156\5\a\5F\5\0\25F%F\5\20\x056 6\5 \x056\5\20\5\xb6\2\x050\5F%F\5\xf0\0\25f\5\x80\1\5\xa6\1\5\0\a\x056\5\0\25\26\25\20\25\x86\1\5\20\25\26\5 \5\x86\1\25\0\a\5\26\a\5 \x1565F\5\x80\r\x056%6\5\20\x156E6\5\20\x056\5\x1060\x056\5\20\5F%V\25F \x056e&\5\xf0\0\a\5f\5\x80\1\5\x96\1\5 \x0565&\5@%F\5\20\x056\5@\25F\5\a\0\x056\5 \a6U6\5\x80\r\x156\x056\25\20\5F5\a\5&\5\20\x056\5\20\x056 \x056\x050&\25\20\x056\5\20\x056\5\20\5\xd6\1\5\x80\1\x95\1\xf0\0\5\xf6\x005\20\x056%6\5P\5F\5\a\20\x056\5P\x056\5 \x056\5\20\x056e6\5\x90\r\x056\x056\25\20\x1565\a\5&\5\20\x056\5\20\x056\5\20\x056\5 6\25\20\x056\5\20\x056\5\20\5\xd6\1\5\x80\1\5f\25\xf0\0\5V%\a\5 \x0565&\5@\5V\5 \5&\5P\5F\5 \25&\5\20\x056e6\5\x90\r\x056\x056\5 \x156U&\5\0\x156\5\20\x056\5\20\x056\5 6\5\a\20\x056\5 6\5\20\5\xd6\1\5\x80\1\5f\25\xf0\0\x056\25\xf0\0\x056\5\x105P\x056\25@5@\x156\5@5 \x056e6\5\x90\r\a\5f\x050\x156\25\a\x156\5\0\a\x056\5\20\x05656\5\20\x056\5 \5&\x050\5&\5\20\x056\xa5\1\x80\1\5f\25\xf0\0\x056\5\x80\1\5F0\a`\x056\25\xd0\1\5F\5\xb0\1\5FU6\5\xa0\r\5f\x050\25F%F\5\20\x056\5\20\5F\25F\5\20\x056\5 \5&\x050\5&\5\20\x056e\6\25\a\x80\1\x85\1\x80\1\x056\5\x80\1\5F\xa0\1\x056U\x90\1\x056U\x90\1V5F\5\xa0\r\5f\5@\5V\5V\5\20\x056\5\20\5\xa6\1\25\20\x056\5 \x0560\5&\25\0\x056U\26\25\xb0\1\25\xd0\1\x056\5\x80\1\5F\5\x90\1\x056U\x90\1\x056e\x80\1\5V%F\5\xa0\r\5f\5P\5\xa6\1\25\20\x056\5 \5\x96\1\5 \x056\5 \x0560\5&\25\0\a\5\xc6\1\5\xa0\3\x056\5\x80\1\5F\5\xf0\0\a\5\x96\1\5\x90\1\5\x96\1\5\x80\1\25\xc6\1\5\xa0\r\25F\5\a@\a\25\x96\1\5 \x056\5 \25\xf6\0\25 \x056\5 \x056\5\20\a\5&\25 \5\x96\1\25\xb0\3\x056\5\x80\1\5F\5\xf0\0\25\x96\1\5\x80\1\5\xa6\1\5\x80\1\a\25\xb6\1\5\xb0\r\x156\5\x80\1\25F%0\5&\x150%6%0\25&\5 \25\6\0\a0\5&\x150\25f\5\xd0\3\x056\5\x90\1\a6\5\xf0\0\5\xa6\1\25\xf0\0\5\xa6\1\5\xb0\1%&\x156\5\xb0\re\x90\1\xf5\0@EP\xf5\0PE050E@%\a6\25\xe0\3E\x90\1E\x80\1\xc5\1\x80\1\xc5\1\xc0\1\xb5\1\xe0\r\5\x90\2\a\x80\1\a\xf0\2\5\xe0\1\5\a\x80\1\a\x005\xf0\a\5`\a\xc0\1\27 \5\0\a\xc0Y'
)

15099L'écriture du
bytes
passe dans des proportions similaires de
32995
à seulement
24816
caractères, soit une économie de
24,79%
! :o

Victoire, ça rentre enfin sur
NumWorks
! :bj:

Voici donc dès aujourd'hui accessible le nouvel outil
img2calc
te permettant de faire rentrer beaucoup plus facilement tes scripts
Python
d'images sur les calculatrices les moins bien dotées en mémoire de stockage, et d'en faire rentrer beaucoup plus sur les autres ! :D

Liens
:


Bonne année 2022 sur TI-Planet !

New postby critor » 01 Jan 2022, 00:00

15064
A tous nos membres, partenaires, contacts, amis, et même lecteurs anonymes, et au nom de toute l'équipe, nous vous souhaitons une
B
o
n
n
e
A
n
n
é
e
2
0
2
2
. Qu'elle soit heureuse, pleine de joies et réussites, et surtout encore meilleure que
2021
! ;)




Code: Select all
#image converted on TI-Planet
#tiplanet.org/img2calc

from ti_draw import *
from ti_image import *
from ti_system import escape
from ti_innovator import send
from time import *
from math import pi, cos, sin, sqrt

#function to send the micro:bit Python code to run
def send_microbit(cmd):
  send("\x04")
  send(cmd)
  send("\x05")

#the image drawing function
#- rle : image RLE-compressed data
#- w : width of image
#- pal : palette of colors to use with image
#- zoomx : horizontal zoom
#- zoomy : vertical zoom
#- itransp : index of 1 transparent color in palette or -1 if none
def draw_image_offscreen(rle, x0, y0, w, h, pal, zoomx=1, zoomy=1, itransp=-1):
  WHITE = (255, 255, 255)
  canvas = new_image(w*zoomx, h*zoomy, WHITE)
  i, x = 0, 0
  w *= zoomx
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = (c + 1) * zoomx
    while c:
      cw = min(c, w - x)
      if mv != itransp and pal[mv] != WHITE:
        for dy in range(zoomy):
          for dx in range(cw * zoomx):
            canvas.set_pixel(x0 + x + dx, y0 + dy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1
  return canvas

def draw_clock(x, y, r, font_w, font_h):
  set_color(255, 255, 255)
  fill_circle(x, y, r)
  set_color(0, 0, 0)
  set_pen("medium","solid")
  draw_circle(x, y, r - 1)
  set_pen("thin","solid")
  r_t = r - 6
  r_d = r_t - 4
  for i in range(60):
    a = i * pi / 30
    rx, ry = int(r_t * cos(a)), int(r_t * sin(a))
    plot_xy(x0 + rx,y0 + ry, i % 5 and 4 or 1)
    if not i%5:
      rx, ry = int(r_d * cos(a)), int(r_d * sin(a))
      dx, dy = 0, 4
      d = (i//5 + 2)%12 + 1
      h = font_h
      w = font_w + (d >=10 and font_w + 1)
      if not i%30: dy  += h//2
      elif i>30: dy += h - 1
      if i%30 and not i%15: dx -= w // 2
      elif i<15 or i>45: dx -= w - 1
      set_color(0, 0, 255)
      draw_text(x0 + rx + dx, y0 + ry + dy, d)
      set_color(0, 0, 0)
  return r_d

def refresh_clock(h, m, s, r_h, r_m, r_s):
    k_h, k_m, k_s = h / 12, m / 60, s / 60
    a_h = k_h*2*pi + k_m*2*pi/12 +k_s*pi/360 - pi/2
    a_m = k_m*2*pi + k_s*pi/30- pi/2
    a_s = k_s*2*pi - pi/2
    set_color(255, 255, 255)
    fill_circle(x0, y0, r_s + 1)
    set_color(255, 0, 0)
    draw_line(x0, y0, x0 + r_s*cos(a_s), y0 + r_s*sin(a_s))
    set_color(0, 0, 0)
    set_pen("medium","solid")
    draw_line(x0, y0, x0 + r_h*cos(a_h), y0 + r_h*sin(a_h))
    draw_line(x0, y0, x0 + r_m*cos(a_m), y0 + r_m*sin(a_m))
    set_pen("thin","solid")
   
def melody_duration(melody):
  global lt
  t = 0
  for v in melody:
    try: lt = int(v[v.index(":") + 1:])
    except: pass
    t += lt
  return t  * .125

def melody_cut(melody, melody_parts, melody_part_start, melody_part_end):
  return melody[melody_parts[melody_part_start]:melody_parts[melody_part_end]]

def mb_play_melody(melody):
  send_microbit('music.play(' + str(melody) + ')')
 
def mb_show_icon(name):
  send_microbit("display.show(Image." + name + ")")

def mb_show_clock_icon(i):
  mb_show_icon("CLOCK" + str(i))

def mb_show_val(v):
  send_microbit('display.show(' + str(v) + ')')

#palette for your image
#256 RGB-888 colors
palette = (
(255,255,255),(231,231,240),(255,252,247),(220,231,235),(247,253,247),(247,253,255),(223,222,231),(219,217,221),(237,247,250),(201,220,233),(255,246,247),(236,237,247),(255,246,255),(204,214,221),(247,245,247),(238,246,237),(211,205,211),(180,209,181),(215,234,215),(177,183,206),(179,178,182),(207,212,231),(237,234,237),(182,206,214),(146,173,183),(215,220,231),(238,218,219),(215,215,231),(211,237,245),(168,204,221),(180,230,236),(114,171,187),(177,215,234),(247,247,255),(109,146,179),(152,203,220),(74,120,170),(143,203,217),(110,114,146),(77,112,150),(142,148,176),(142,183,209),(41,104,152),(111,180,208),(223,229,240),(14,54,110),(76,141,181),(13,100,168),(5,81,140),(93,161,157),(118,197,215),(157,155,147),(39,84,141),(104,159,205),(1,67,122),(41,116,172),(12,100,155),(40,76,120),(223,223,240),(247,238,240),(255,245,240),(252,235,235),(152,209,234),(12,74,122),(247,238,247),(247,230,231),(248,219,220),(250,233,220),(247,210,239),(236,186,203),(236,201,221),(237,219,234),(217,217,238),(82,153,200),(237,202,203),(236,184,172),(248,199,188),(249,216,204),(234,187,219),(237,231,221),(212,208,181),(49,139,180),(20,152,167),(251,247,236),(248,181,178),(248,203,202),(237,215,204),(248,218,236),(164,160,93),(213,179,108),(236,186,185),(236,172,169),(249,234,204),(237,199,188),(242,212,147),(242,213,78),(211,148,75),(252,234,248),(237,203,232),(215,177,149),(206,150,39),(79,179,206),(251,245,221),(248,203,221),(104,200,230),(248,220,170),(23,179,222),(218,176,180),(235,171,186),(181,144,181),(164,163,213),(238,212,176),(235,171,202),(213,188,231),(240,143,142),(217,179,209),(97,87,102),(242,176,146),(240,239,206),(218,146,148),(97,45,84),(235,154,153),(236,170,154),(248,219,185),(242,142,114),(236,153,137),(215,147,180),(241,178,215),(217,150,204),(173,92,97),(176,180,145),(51,51,139),(91,95,150),(217,140,116),(244,138,79),(247,206,134),(239,188,233),(236,148,178),(213,114,177),(164,101,153),(224,93,101),(251,106,6),(216,109,110),(180,114,178),(241,182,105),(245,107,43),(216,73,46),(242,207,115),(185,4,142),(215,112,145),(209,76,175),(237,76,9),(237,82,73),(213,79,79),(180,79,149),(235,119,175),(235,150,203),(190,105,198),(211,44,41),(239,117,108),(244,43,5),(244,113,78),(220,102,36),(211,42,114),(212,79,145),(181,42,146),(215,76,109),(184,44,115),(247,234,147),(237,185,85),(249,233,114),(216,210,237),(240,48,34),(243,79,40),(217,36,12),(183,5,116),(209,42,142),(226,105,202),(158,26,145),(235,114,146),(248,231,187),(244,12,10),(251,68,12),(201,7,145),(240,178,76),(237,2,0),(218,17,32),(253,85,13),(233,83,152),(215,46,82),(235,157,30),(183,22,22),(217,5,2),(250,33,1),(253,85,1),(209,18,117),(249,1,0),(252,69,1),(203,17,170),(237,13,0),(140,179,118),(236,183,71),(248,14,0),(217,173,73),(215,168,48),(184,134,16),(164,28,94),(183,140,37),(171,110,25),(241,209,39),(244,204,6),(250,236,19),(156,206,153),(245,235,178),(224,214,99),(86,87,35),(151,158,28),(173,212,121),(107,151,0),(88,155,91),(117,152,1),(140,199,85),(212,218,161),(150,202,109),(102,140,0),(105,151,3),(184,217,136),(94,197,171),(99,125,0),(99,133,0),(107,117,16),(176,213,144),(112,196,114),(114,183,113),(90,119,0),(82,104,0),(77,174,105),(103,184,106),(233,177,2),(86,173,101),(235,186,0),(239,201,0),(71,169,90),(75,154,105),(74,98,0),(47,154,108),(51,164,95),(69,79,1),(41,147,81),(32,151,83),(55,66,1),(8,139,75),(51,51,0),(16,118,83),(43,41,0),(27,21,0),
)

#your image data
#208x176 RLE-8 pixels
image_w, image_h = 208, 176
image = (
b"\x00\\\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x00\x00\a\x00\b\x00\x00\x00\a\x00\x05\x00\t\x00\n\x00\x05\x00\x01\x00\x02\x00\x0b\x00\x04\x00\x00\x00\x05\x01\x00\xb3\x0c\x01\x00\x00\x01\x00\x0c\x00\x00\x00\r\x00\x00\x00\a\x00\x01\x00\x05\x00\r\x00\x05\x00\r\x00\x0e\x01\r\x00\x05\x00\r\x00\x00\x00\a\x00\b\x00\x02\x00\r\x00\x00\x00\x0e\x00\x0f\x00\x00\x00\x05\x00\x00\xb3\x03\x00\x00\x00\x04\x00\x01\x00\x00\x00\x10\x00\x0e\x00\x05\x00\x10\x00\x05\x00\x11\x00\x05\x00\x10\x00\b\x00\x12\x00\r\x00\x00\x00\x13\x00\x05\x00\x14\x00\x04\x00\x0f\x00\x15\x00\x05\x00\a\x00\x05\x00\x00\x00\x01\x00\x00\xb0\x05\x00\b\x00\x00\x00\x01\x00\x16\x00\x0c\x00\x11\x00\x00\x00\x03\x01\x00\x00\x17\x00\x05\x00\x18\x00\x0c\x00\x17\x00\x0f\x00\r\x00\x19\x00\x0e\x00\x17\x00\x05\x00\x14\x00\x05\x00\r\x00\b\x01\x10\x00\x05\x00\x01\x00\x0f\x00\x05\x00\x0f\x00\x0e\x00\x00\xab\x0c\x00\x00\x01\a\x00\n\x00\x00\x00\x10\x00\x00\x00\x03\x00\x1a\x00\x04\x00\x14\x00\x05\x00\r\x00\b\x00\x14\x00\b\x00\x13\x00\x01\x00\x13\x00\t\x00\x1b\x00\r\x00\x01\x00\x17\x00\x04\x00\x14\x00\n\x00\x17\x00\x1c\x00\x05\x00\x10\x00\x05\x00\b\x00\a\x00\x00\x00\x04\x00\x0e\x00\x00\xa9\x02\x00\a\x00\x00\x01\x17\x00\x05\x00\x10\x00\x03\x00\x00\x00\x14\x00\x05\x00\x18\x00\x04\x00\x03\x00\b\x00\x13\x00\r\x00\x1d\x00\x12\x00\x18\x00\x1c\x00\x17\x00\r\x00\x17\x00\x19\x00\x03\x00\x13\x00\b\x00\x18\x00\b\x00\r\x00\x01\x00\x05\x00\x17\x00\x04\x00\x00\x00\x06\x00\x05\x00\x0c\x00\x00\xa6\x0e\x01\x00\x00\x0b\x00\a\x00\x00\x00\x06\x00\a\x00\x00\x00\x18\x00\x05\x00\x14\x00\x01\x00\x17\x01\x19\x00\x1e\x00\x13\x02\x1d\x00\x1f\x00\x20\x00\x18\x00\x20\x00\x18\x00\x1c\x00\x18\x00\t\x00\r\x00\x10\x00\x0e\x00\x18\x00\b\x00\x15\x00\a\x00\x05\x00\a\x00\x16\x00\b\x00\x1c\x00\x0b\x00\x05\x00\x02\x00\x00\xa4\a\x00\x0f\x00\x00\x00\a\x00\x03\x00\x05\x00\x18\x00!\x00\x10\x00\r\x00\t\x00\x18\x00\x01\x00\"\x00\x19\x00\x1d\x00\x11\x00\"\x00#\x00\x1d\x00$\x00%\x00&\x00\x1e\x00'\x00\x1c\x00(\x00\x1c\x00\"\x00\b\x00\x13\x00\x17\x00\b\x00\x14\x00\x00\x00\a\x00\r\x00\x1c\x00\t\x00)\x00\x1c\x00\a\x00\x05\x00\x00\x9a\x04\x00\x00\x00\x05\x00\x00\x00\b\x00\x05\x02\x06\x00\x05\x00\x00\x00\x10\x00\x16\x00\x00\x00\x14\x00\b\x00\x16\x00\x18\x00\x16\x00\"\x00\x1c\x00\"\x00\x17\x00\"\x00\x1d\x00)\x00\x1d\x00'\x00\x18\x00)\x00*\x00)\x00*\x00+\x00'\x00\x17\x00\"\x00\r\x00\x18\x00\t\x00'\x00\x1c\x00\"\x00\b\x00\x03\x00\x1d\x00\x16\x00\t\x00)\x00\x20\x00\x1d\x00\x17\x00\x1c\x00\x05\x00\x00\x9a\x01\x00\x0b\x01\t\x00\x0b\x00\b\x00\x01\x00,\x00\x10\x00\x00\x00\x05\x00\x14\x00\b\x00\x0f\x00(\x00\x03\x00\x14\x00\x1d\x00\x17\x00\x1f\x00\x13\x00\"\x00\x18\x00)\x00\x13\x00+\x00-\x00\x1f\x00.\x00/\x00)\x000\x00\"\x01(\x00\x1d\x001\x00\x1d\x00\"\x002\x00)\x00\x18\x00\x17\x00(\x00\b\x00\x03\x00)\x01\x1c\x00\t\x01\x05\x01\x00\x01\x02\x00\x00,\x02\x00\x00i\x05\x00\t\x00\x20\x00)\x00\x20\x00\x1d\x00\x17\x00\b\x01\x14\x00\x04\x00\x05\x003\x00\x1c\x00\x19\x00\x18\x00\x1c\x00'\x00\x20\x00'\x00)\x004\x005\x004\x00\x1d\x00\"\x006\x00.\x007\x008\x00*\x004\x00.\x014\x00)\x009\x00\x1d\x006\x00*\x00'\x00\x1e\x00(\x00\x1c\x00\x03\x00\x18\x00\b\x00\x1e\x005\x00\x17\x00\x1c\x00\b\x00\x01\x00\x00/\x0c\x00\x00\x01\x02\x00\x00\x01\x0c\x00\x00c\x0b\x00\x1c\x00#\x00\x1d\x00\x20\x00\x1d\x00\x20\x00\x17\x00\x1c\x00\x04\x00\x18\x00\b\x00\x0b\x00\"\x00\x1c\x00\x18\x00\"\x00\x17\x00'\x00+\x00'\x01.\x006\x00)\x00*\x004\x007\x00/\x010\x00/\x004\x00$\x009\x00.\x00\"\x00'\x005\x00*\x00\x1d\x00\x18\x00#\x00\x12\x00(\x00\x0e\x00\x01\x00(\x00\b\x00\x1c\x00\x19\x00\x03\x00\x05\x00\x00%\x02\x00\x0c\x00\x00\x01\x0e\x00\x00\x01\x16\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x0c\x00\x00\x01\x0c\x00\x00`\x0c\x00\b\x00\t\x00\x1e\x00)\x00:\x00\x0b\x00)\x002\x00\x20\x00\x18\x00\x01\x00\b\x003\x00\r\x00\x03\x00'\x00\x20\x00\"\x00\x1f\x00&\x00\"\x009\x007\x004\x00*\x00.\x007\x000\x008\x00/\x018\x016\x000\x00*\x006\x00.\x008\x00*\x00.\x00)\x00&\x00\x1c\x00\"\x00\r\x01\x18\x00\b\x00;\x00\x11\x00\x03\x00\b\x02\x05\x00\x0c\x00\x00\x1f\x0c\x00\x00\x01\x0c\x00\n\x00\x05\x00\x04\x00<\x00\x04\x00\n\x00\x16\x00\x00\x00\x02\x00=\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00b:\x00\x20\x00+\x00\x1c\x01\x1d\x00>\x00\x1c\x01(\x00\x03\x00\x1c\x00\"\x00)\x00\x1d\x009\x00#\x006\x00\"\x006\x00*\x004\x000\x00?\x00*\x00.\x00?\x007\x00/\x000\x006\x01?\x00-\x000\x008\x007\x00*\x006\x00\x1f\x009\x00\x20\x00\x18\x00\x1d\x00)\x001\x00;\x00\x03\x00)\x00@\x00\x05\x00\x0f\x00\x10\x00\b\x00\x00\x1e\x0e\x00\x00\x01\x02\x00\x0e\x00\n\x00\x04\x00=\x00\x05\x00\x04\x00=\x00\x04\x00\x0c\x00A\x00\x00\x00\x0c\x00;\x00\x00\x01A\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\n\x00\x00\x00\x02\x00\x00\x00\x02\x00\x007\x0c\x00\n\x00\x04\x00\x0e\x00\x00\x1f\x0c\x00\b\x00\x1c\x00\x13\x00#\x00+\x00\x1d\x00\x13\x00\x18\x00\x03\x00\x0b\x00\x18\x00\x1f\x00)\x00\"\x01)\x00?\x00\"\x000\x00*\x000\x03*\x00\x1f\x00>\x00%\x008\x010\x016\x000\x01>\x00.\x006\x00.\x009\x00\x1f\x00\x18\x00\x1f\x00\x18\x00\"\x00\x1c\x00\x13\x00\x14\x00\b\x01\x13\x00\x10\x00\x05\x02\x04\x00\x00\x1c\x0c\x00=\x00\x02\x00\n\x00B\x00=\x00<\x00C\x00\x00\x01A\x00\x02\x00\x00\x00\x1a\x00\x00\x00\n\x00A\x00\x02\x00\x0e\x00=\x00\x02\x01\x16\x00\x0c\x01;\x00\x0c\x00\x00\x00\x0e\x00\x008\x02\x00D\x00E\x00F\x00G\x00\n\x00\x00\x1f\x1c\x00H\x00\t\x005\x00>\x00\x1c\x01\x14\x00)\x00:\x00\x1d\x00$\x00I\x004\x007\x00$\x008\x00?\x016\x000\x016\x004\x00.\x00\x1c\x00>\x008\x010\x006\x010\x008\x00I\x008\x000\x00?\x00'\x00\x18\x00'\x02\x20\x00\"\x00#\x00\b\x00\x13\x00\x18\x00\x0b\x00\x05\x00\x0f\x00\a\x00\x01\x00\x0e\x00\x00\x16\x0c\x00\x00\x02\x0e\x00\x00\x01A\x00=\x00J\x00K\x00L\x00M\x00B\x00\n\x00\x00\x00\x1a\x00\x02\x00\x05\x00J\x00\x00\x01C\x00\x02\x00;\x00<\x00\x02\x00;\x00\n\x00\x00\x00\x0e\x00\n\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00,\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x02\x0c\x00;\x00N\x00J\x00E\x00F\x00@\x00\x00\x1e\x0b\x00\x16\x00O\x00P\x00\x12\x00\x17\x00\x18\x00\x15\x00\x0b\x00\t\x00\"\x00)\x00\x17\x00.\x00\"\x00Q\x008\x000\x008\x006\x01/\x000\x006\x004\x00I\x00Q\x007\x00R\x008\x000\x006\x010\x00Q\x008\x006\x00?\x01\x1f\x004\x00-\x001\x00)\x009\x00#\x00\x10\x00&\x00\x1d\x00\x0c\x00\x01\x00\x17\x00\x13\x00S\x00\x00\x01\x05\x00\x00\x15\x0c\x00\x02\x00\x00\x01\x04\x00\x0c\x00\x00\x00A\x00B\x00K\x01L\x00T\x00U\x00<\x00\x00\x00V\x00\x02\x00\x0c\x00V\x00\x00\x00\n\x00C\x00\n\x00A\x00\n\x00\x04\x00W\x00\x02\x01;\x00\x0c\x01\x16\x00\x02\x00\x00\x00\x02\x00@\x00\x00-\x04\x00\x00\x03\x16\x00\x00\x01W\x00E\x00M\x00A\x00E\x00@\x00\x00\x20P\x00X\x00Y\x00O\x00\x0c\x00\x17\x00\"\x00\x1d\x00\t\x00\"\x009\x00)\x00.\x01?\x000\x008\x00/\x020\x006\x000\x00.\x00Q\x00/\x007\x000\x006\x02Q\x00/\x000\x02+\x00*\x00-\x007\x00'\x009\x00)\x00\"\x001\x00\t\x00\x1c\x00\x18\x00\x11\x00\x0e\x00\x05\x01\x03\x00\a\x00\x0e\x00\x00\x13\x0c\x00\x00\x01\x0e\x00\x0c\x00\x00\x00\x0e\x00;\x00\x00\x00\n\x00Z\x00[\x00U\x00\\\x00]\x00U\x00A\x00\x00\x00\x1a\x00\x02\x01J\x00\x0c\x00@\x00=\x00\x02\x00\x1a\x00\n\x00\x04\x00B\x00\x02\x01A\x00\x0c\x01\x16\x00\x02\x00\x0c\x00;\x00\x0c\x00\x00\x00\x0c\x00\x0e\x00\x00$\n\x00\x00\x01\x0e\x00\x00\x01!\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00\x05\x00=\x00F\x00E\x01N\x00A\x00\x0c\x00\x00\x1e\x0f\x00^\x00_\x00`\x003\x00\x17\x00\x0f\x00\t\x00\x18\x00'\x00)\x01?\x00'\x01\"\x009\x006\x008\x00R\x007\x00/\x006\x00*\x00Q\x00.\x00/\x00Q\x000\x006\x017\x00Q\x000\x02*\x007\x000\x01?\x008\x00$\x00?\x00\x1f\x00\x1d\x00(\x00\"\x00\x03\x00\x0f\x00\x03\x00\x13\x00\x10\x00\b\x00\x05\x00\x00\x14;\x00\x00\x01\x02\x00A\x00\x0c\x00\x00\x00A\x00\x02\x00\x04\x00U\x00E\x00T\x00[\x00U\x00A\x00V\x00\x00\x00W\x00<\x00\x04\x00J\x00\x00\x00A\x00=\x00\x00\x00V\x00\x00\x00\x02\x00\x1a\x00\x04\x00;\x01\x02\x00A\x00;\x00\x04\x00<\x00;\x00\x04\x00\x00\x00=\x00\x00\x00\x05\x00\x0c\x00\x00#\x0e\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00@\x00\x00\x01\x16\x00\x00\x00@\x00a\x00W\x00b\x00F\x00D\x00\n\x00\x00\x00\x0c\x00\x00\x14\n\x00\x00\x04\x0c\x00\x00\x00\x16\x00\x12\x00c\x00d\x00`\x00S\x00\t\x00(\x00\x18\x00#\x00\x20\x00.\x004\x00.\x004\x006\x004\x005\x00$\x006\x00?\x00/\x00Q\x008\x004\x00.\x00I\x007\x010\x006\x01e\x007\x008\x01/\x000\x026\x00?\x006\x00*\x00\"\x00.\x009\x00#\x00\t\x00\x17\x00(\x00\x17\x00\b\x00\x05\x01\x0f\x00\x01\x00\x0e\x00\x00\x0f\x02\x00\x00\x01\x02\x00;\x00\x00\x00\x02\x00;\x01\x02\x00S\x00A\x00\x02\x00B\x00U\x00M\x00T\x00M\x00C\x00\x1a\x00\x02\x00=\x00\x1a\x00\x04\x00J\x00\x0c\x00A\x00f\x00\x0c\x00J\x00\x02\x00;\x01\x02\x00B\x00\x02\x01\x1a\x00\x02\x01\x1a\x00\x02\x00\x00\x00=\x00\x0e\x00\x05\x00\x00\x00\n\x00\x02\x00\x00\x1f\x0e\x00\x0c\x00\x00\x00\x16\x00\x00\x00;\x00\x00\x00;\x01\x00\x00\x16\x00\x0c\x00\x00\x00;\x00\x00\x00\x16\x00\x0c\x01\x16\x00\n\x00\x16\x00\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x10\x0e\x00\x00\x01=\x00\x00\x04;\x00\x05\x01\b\x00\x0f\x00\a\x00(\x00\x18\x00\x17\x00\x20\x00+\x00.\x00?\x00.\x00Q\x00/\x010\x016\x00e\x00.\x004\x000\x00Q\x00.\x00Q\x00.\x00\"\x00I\x007\x000\x006\x00.\x00I\x007\x00Q\x01*\x016\x020\x014\x00?\x00\"\x00)\x00'\x00\"\x00\x20\x00\b\x00\x0f\x00\x12\x00\x13\x00\x17\x00\x03\x00\x05\x01\x00\x0f\n\x01\x00\x01;\x01\x02\x01\x1a\x00\x02\x01V\x00\n\x00\x04\x00Z\x00S\x00B\x00G\x00<\x00\x1a\x00\n\x00B\x01\x02\x00J\x00\x0e\x00\x1a\x00\\\x00\x02\x00J\x00\x04\x00J\x00\x02\x00<\x00V\x00\x02\x00A\x01\x00\x00=\x00A\x00\x02\x00\n\x00A\x00\x05\x00\x00\x00\n\x01\x00\x1e@\x00\x00\x01\x0e\x00\x00\x00;\x00\x02\x00\x00\x00\x16\x00=\x00J\x00\x0c\x00\x16\x00;\x00\x00\x00G\x00\x0c\x00\x16\x00\x0c\x00\x16\x00a\x00\x0c\x00@\x00\x00\x00\x04\x00\x0e\x00\x00\x0b\x0c\x00\x00\x01\x0e\x00\x00\x01;\x00\x00\x01A\x00\x00\x01;\x00\x00\x01A\x00\b\x00\x1c\x00\a\x00\b\x00S\x00=\x00\x03\x00\x17\x00(\x00'\x00.\x00\"\x005\x004\x000\x008\x00/\x028\x00.\x00I\x00'\x00.\x01I\x00.\x005\x00I\x00*\x006\x000\x00I\x00$\x00*\x00Q\x00$\x006\x030\x028\x004\x00?\x00'\x00\x1d\x01\x13\x00(\x00\x18\x00\r\x00\x0e\x00\x02\x00\x00\x0f\x0c\x00\x00\x00\x0c\x00\x00\x00\x0e\x00S\x00\x02\x00\n\x00\x16\x00=\x00\x04\x00<\x00G\x00\n\x00;\x00W\x00\x02\x00V\x00A\x00<\x00J\x00S\x00g\x00<\x00=\x00g\x00=\x00]\x00;\x00M\x00\\\x00B\x00M\x00;\x00F\x00S\x00A\x01\x0c\x00J\x00S\x00\x02\x00g\x00\x02\x01\x1a\x00\x02\x00\x04\x00a\x00A\x00\x02\x02;\x00\x00\x19\x0e\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x16\x00\x00\x00\x0e\x00@\x00\x0c\x00\x16\x00A\x00Z\x00\x0c\x00a\x00\x16\x00!\x00\x16\x00\x0e\x00G\x00a\x00G\x00a\x00\x0e\x00@\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x01\x00\x00\x01\x0e\x00\x00\x06S\x00\x00\x01\x16\x00\x00\x01\x16\x00\x00\x01B\x00\x00\x01\x1a\x00\x00\x01\x1e\x00h\x00\x1e\x00\a\x00\x10\x00\x13\x00\x14\x00\x17\x00\a\x00\x1b\x00\x20\x00\x18\x00'\x006\x00*\x000\x006\x000\x008\x00/\x017\x00I\x02.\x00I\x00e\x002\x00+\x00*\x008\x00I\x00\x1f\x00*\x00$\x00.\x00*\x007\x048\x010\x008\x00$\x00\"\x00*\x001\x00\x1d\x00\x1c\x00\x05\x00\x03\x00\a\x00\r\x01\a\x00\x01\x00!\x00\x00\x0c\x0e\x00\x0c\x00\x00\x01;\x00\x0e\x00\x00\x00\n\x00\x1a\x00\x02\x01\x1a\x00;\x00\x02\x00V\x00S\x01B\x00=\x00J\x00C\x00V\x00=\x00A\x00J\x00C\x00Z\x00=\x00M\x00i\x00V\x00\x1a\x00=\x00\x1a\x00<\x00U\x00<\x00A\x00M\x00S\x00B\x00A\x00\n\x00A\x01\x02\x01W\x00\x02\x00\x04\x00\n\x00\x16\x00\x00\x1a\x0e\x00\x00\x01@\x00\x00\x00\x0e\x00\x16\x00\x0e\x00G\x00\x0e\x00G\x00A\x00[\x00a\x00;\x00G\x00@\x01\x0c\x00W\x01G\x00a\x00\x16\x00\x0c\x00@\x00G\x00;\x00G\x00\x00\x01\x0e\x00\x00\a;\x00\x00\x01;\x00\x0e\x00\x00\x00\x0f\x00\x00\x01A\x00\x00\x01F\x00\x00\x00\x05\x00e\x00j\x00e\x00\x1c\x00\x02\x00;\x00\x01\x00\x1c\x00\x13\x001\x00*\x00'\x00.\x005\x00/\x000\x008\x00/\x008\x00/\x027\x00I\x015\x00*\x00+\x00%\x00+\x007\x00+\x01.\x00$\x00.\x00\"\x005\x00.\x00Q\x00*\x000\x024\x01*\x00$\x00.\x00\"\x00(\x011\x00(\x00\x17\x00\x03\x00\x04\x00\x05\x00\x00\x00\x05\x00\x00\x01\x0c\x00\x00\t\x0c\x00\x00\x00;\x00\x04\x00\x00\x01G\x00\n\x00\x02\x00@\x00\x1a\x00\x02\x00\n\x00k\x00O\x00B\x01\n\x00Z\x00=\x00W\x00O\x00C\x00J\x00f\x00]\x00B\x00K\x00C\x00]\x00i\x00L\x00=\x00B\x00O\x00B\x00J\x00=\x00J\x00;\x00\x0e\x00U\x00\x04\x00=\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x02\x00\x04\x00\n\x00;\x00\x00\x00\x02\x00\x00\x00\n\x00\x00\x15@\x00\x00\x00\x0c\x00a\x00\x00\x00\x01\x00\x0e\x00\x0c\x00G\x00a\x00G\x00a\x01;\x00l\x00b\x00\x0b\x00G\x00D\x00\x0e\x00a\x00b\x00;\x00W\x00a\x00G\x00@\x00:\x00b\x00a\x00\x16\x00\x00\x00\x0e\x00@\x00\x00\x00\n\x00;\x00\x00\x01=\x00\n\x00\x00\x01;\x00\x00\x01W\x00\x00\x00\x0c\x00\x16\x00\x00\x00A\x00\x02\x00\x0c\x00M\x00\x00\x00\b\x00j\x01Q\x00\t\x00\x17\x00m\x00\x17\x00\r\x00\x17\x00\x13\x00\x1f\x00'\x004\x00*\x000\x00/\x008\x00/\x017\x00Q\x01I\x007\x005\x00)\x00$\x00I\x00n\x00>\x00)\x00>\x00\x1d\x00\"\x00n\x002\x00\"\x00*\x004\x00*\x01$\x01\"\x00$\x00'\x014\x006\x00'\x00.\x00#\x00\x1c\x00\x05\x01\x04\x00\x01\x00\x03\x00\x19\x00\a\x00\x0e\x00\x0c\x00\x0e\x00\x00\x04\x0c\x00\x00\x02\n\x00\x0c\x00\x00\x01B\x00\x0e\x00\x05\x00\n\x00\x1a\x00<\x00\x00\x00B\x00;\x00<\x00V\x00B\x00\x10\x00Z\x00;\x00M\x00V\x00B\x00M\x00C\x00K\x00A\x00]\x00B\x00c\x00C\x00o\x00^\x00K\x00A\x00J\x00M\x00\x1a\x00U\x00L\x00T\x00;\x00V\x00A\x00\x02\x00]\x00\n\x00\x00\x00B\x00=\x00\x02\x01\x1a\x00\x02\x02;\x00\x02\x00\x0c\x00\x00\x11\x0c\x00\x04\x00\x00\x00\x0e\x01\x0c\x00\x16\x00\x0e\x00@\x00p\x00q\x00N\x00a\x00G\x00b\x00;\x00=\x00r\x00b\x00D\x00\x10\x00b\x00\x0e\x00G\x00b\x00W\x00D\x00\x01\x01G\x00s\x00a\x00\x1a\x00\x0e\x00\x00\x00G\x00\x0c\x00\x00\x00\x16\x00\x0c\x00;\x00\x0e\x00\x00\x00=\x00\x00\x01W\x00\x00\x01W\x00\x00\x00\x0c\x00A\x00\x00\x00O\x00\n\x00\x00\x00U\x00\x00\x00\x0b\x00e\x00j\x002\x00\x0c\x00\x0e\x00\a\x00\x1d\x00\"\x00t\x00(\x00\"\x00t\x009\x004\x00t\x00-\x000\x00-\x006\x01?\x00#\x00+\x00I\x00e\x00+\x00#\x007\x00h\x00>\x00\x20\x00\x17\x00\x20\x00>\x00h\x00.\x007\x058\x006\x010\x006\x00*\x00$\x00\"\x00\x18\x00(\x00'\x00\"\x00(\x00\x13\x00\r\x00\a\x00\b\x00\x0e\x00\x02\x00\x0c\x00\n\x00\x00\x00\x0c\x00\x0e\x00\x0c\x01\x00\x01\x0c\x00\x00\x00\x0c\x00S\x00\x0c\x00\x00\x00\n\x00;\x00\x0f\x00\x04\x00\n\x00V\x00<\x00\x05\x00J\x00=\x00\n\x00Z\x00C\x00K\x00J\x00\\\x00E\x00B\x00]\x00B\x00Z\x00\x1a\x00T\x00B\x00[\x00M\x00u\x00i\x00T\x00B\x00T\x00M\x00K\x00[\x00K\x00l\x00B\x00J\x00=\x00v\x00C\x00a\x00W\x00A\x00\x02\x00\n\x00V\x00\x02\x01\n\x00A\x00\x02\x00\x05\x00\x00\x10\x02\x00\x00\x01\x16\x00\x00\x01\x16\x00\n\x00\x0e\x00G\x01p\x00F\x00N\x00p\x00b\x02F\x00w\x00F\x00U\x00N\x00b\x00A\x00F\x00D\x00b\x00D\x00\x01\x01s\x00b\x00A\x00\x1a\x00@\x00G\x00\n\x01\x1a\x00\x0e\x00\b\x00D\x00\n\x00\x00\x00;\x00\n\x00\x00\x00A\x00\n\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x0c\x00O\x00\n\x00\x00\x00U\x00\x00\x00@\x00\t\x00\x1e\x00\x17\x00\x10\x00\x13\x00\x14\x00\x17\x00\x13\x01)\x01&\x00m\x003\x00x\x00t\x00?\x000\x008\x01/\x007\x02Q\x00+\x00h\x00)\x00h\x00>\x00\x20\x00\x1e\x00>\x005\x00+\x005\x00.\x00Q\x007\x00/\x008\x00/\x020\x00/\x008\x00/\x000\x00/\x005\x00\x1d\x00\x1c\x01\x03\x00\b\x00\x0e\x00;\x00\x0e\x00a\x00!\x00\x00\x00=\x00\x00\x00\x0c\x00\x0e\x00\x0c\x00\x0e\x00\x0c\x01\x0e\x00\x00\x01\b\x00\x16\x00\n\x01\x02\x00B\x00=\x00\x0e\x00=\x00J\x00\n\x00S\x00J\x00A\x00C\x00V\x00A\x00y\x00K\x00Z\x00B\x00Z\x00B\x00]\x00M\x00T\x00B\x00z\x00{\x00|\x00o\x00Z\x00U\x00}\x00U\x00y\x00z\x00C\x00y\x00Z\x00C\x00\\\x00o\x00\x0e\x00A\x00\x1a\x00\x02\x00\x04\x00F\x00\n\x00\x04\x00;\x00B\x00\x02\x01\x00\x00\x04\x00\x02\x00\x00\x0f\x05\x00\x00\x01\x16\x00\x0c\x01J\x00=\x00\n\x00N\x00~\x00W\x00N\x00p\x00F\x00N\x00D\x00F\x00~\x00Z\x00l\x00\x7f\x00D\x00b\x00\x10\x00a\x00N\x00D\x00N\x00\x80\x00q\x00a\x00N\x00W\x00\x16\x00W\x00A\x00\x1a\x00W\x00=\x00;\x00=\x00W\x00\x00\x00\n\x00G\x00\x00\x00\x0c\x00\x1a\x00\x00\x00O\x00\n\x00\x00\x00\x1a\x00\x00\x00<\x00A\x00\x0c\x00M\x00\x00\x00W\x00=\x00\x16\x00J\x00\x0b\x00\x1a\x00\r\x00\t\x00s\x00\x17\x00\x1d\x00(\x00\x81\x00\x82\x00M\x00k\x004\x008\x017\x01Q\x01I\x00e\x005\x00>\x00h\x00>\x00\x1c\x00\x20\x00I\x00)\x00>\x01+\x005\x00I\x00.\x00/\x000\x02\x83\x01\x84\x004\x000\x028\x00*\x00.\x00\"\x00)\x01\x14\x00\x13\x01\x1b\x00\a\x00\x16\x00\x05\x00G\x00\x0c\x00;\x00\x0c\x00\x00\x00;\x00\x0c\x00\n\x00;\x00\x04\x00\x0e\x00\x0c\x01G\x00A\x00\x02\x00\n\x00\x1a\x00A\x00\x0f\x00B\x00Z\x00A\x00B\x00]\x00\\\x00z\x00B\x00M\x00c\x00w\x00Z\x00U\x00]\x01U\x00[\x00\\\x00\x85\x00u\x00\x86\x00\x87\x00z\x01K\x00Z\x00K\x00[\x00z\x01T\x00\\\x00^\x00A\x00;\x00o\x00<\x00S\x00J\x00;\x00\x04\x00;\x00\x1a\x00\x05\x00\x04\x00\n\x00\x0e\x00\x02\x00\x0c\x00\x00\x0f\x0e\x01\x00\x00\x0e\x00G\x00\x0c\x00\x0f\x00k\x00B\x00b\x00N\x00k\x00\x80\x00b\x00\x88\x00s\x00\x80\x01l\x00\x89\x00y\x00\x7f\x00g\x00b\x00F\x00D\x00N\x00s\x00\x8a\x00\x88\x00b\x00g\x00~\x00D\x00s\x00N\x00D\x00G\x00@\x00g\x00=\x00\n\x00A\x00\x16\x00\x00\x00O\x00\n\x00\x00\x00J\x00\x02\x00\x0c\x00J\x00\x05\x00J\x00\x02\x00<\x00M\x00\x05\x00U\x00\x00\x00U\x00S\x00\\\x00\x1a\x00\x16\x00k\x00\x03\x00\r\x00\x13\x01(\x00&\x00\x8b\x00k\x00O\x003\x00t\x00*\x007\x00.\x001\x00\x84\x00$\x007\x00.\x00+\x00h\x005\x00>\x00\x1c\x01>\x00\x20\x01>\x01)\x00+\x00I\x017\x00/\x000\x00\x84\x00~\x00b\x00\x83\x009\x004\x00&\x00\x1f\x00)\x00\x1d\x00\x20\x00\x01\x01\x0e\x00\x0c\x00\x16\x00!\x00\x01\x00\x0c\x01=\x00\x0c\x00\x16\x00\x0c\x01\x01\x00\n\x00@\x00\x0c\x00\x0e\x00G\x00\x0c\x01a\x00O\x00\x1a\x00\x0e\x00\x02\x00\x1a\x00A\x00;\x00B\x00k\x00P\x00z\x00M\x00o\x00K\x00o\x00T\x00y\x00\x8c\x00L\x00]\x00T\x01[\x00L\x00|\x00^\x00\x8d\x00u\x00\x8e\x00|\x00J\x00[\x00M\x00c\x00T\x00z\x00M\x00u\x00{\x00O\x00Z\x00B\x00C\x00Z\x00B\x00\x04\x00\x16\x00\x1a\x00\n\x00\x02\x00\x04\x00;\x00\n\x00\x0c\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00\n\x0e\x00\x05\x00\x00\x00\x0e\x00\x16\x00\x0c\x01G\x00@\x00B\x00[\x00D\x00\x7f\x00\x88\x00F\x00b\x00\x88\x00D\x00\x80\x00~\x01w\x00r\x00\x80\x00N\x00b\x00\x88\x00N\x00\x80\x00\x8f\x00s\x00q\x00F\x00l\x00\x89\x00\x8a\x00\x88\x00W\x00s\x00A\x00@\x00b\x00B\x00\x0e\x00A\x00g\x00\x00\x01\x1a\x00\x02\x00=\x00A\x00\x00\x00V\x00;\x00g\x00=\x00C\x00g\x00<\x00]\x00S\x00{\x00\x10\x00^\x00\x10\x01k\x00\r\x00k\x00\x10\x00\x17\x00m\x00\x18\x00\"\x00x\x00\x8b\x003\x00\x8b\x00(\x00\"\x01'\x00.\x02I\x005\x00h\x00+\x00>\x01e\x00>\x00\x20\x01)\x01+\x015\x00e\x00.\x007\x01\x84\x00s\x00W\x00s\x00\x83\x004\x00\x84\x004\x00\x84\x01&\x01\"\x00(\x00\x13\x00s\x00\r\x00\a\x00a\x00\x0c\x00G\x00\x0e\x00W\x00@\x02\x0c\x00@\x00\n\x00@\x00;\x00W\x00;\x00\x0e\x00\x02\x00;\x00\x1a\x00<\x01J\x00\x1a\x00A\x00U\x00F\x00Z\x00\x8c\x00|\x00\x90\x00o\x00E\x00T\x00\x85\x00\x8e\x00}\x00U\x00K\x01T\x00|\x00^\x00\x91\x00\x92\x00r\x00[\x00U\x00Z\x00T\x00K\x00o\x00T\x00\x93\x00u\x00U\x00K\x00w\x02J\x00\x1a\x00J\x00V\x00A\x00\x16\x00B\x00\x1a\x00;\x00\x00\x00\x0c\x00\n\x00S\x00\x0c\x00\x00\b\x04\x00\x00\x00\x0c\x00\a\x00s\x00k\x00\x13\x00s\x02m\x00F\x00A\x00l\x01D\x00p\x00N\x00b\x00s\x00D\x00N\x00\x80\x00\x94\x00\x95\x00}\x00\x80\x00\x88\x01q\x00~\x00\x96\x00\x80\x00D\x00s\x00\x80\x00\x8a\x00E\x00l\x00b\x00N\x00G\x00J\x00U\x00G\x01\a\x00\x0e\x00C\x00W\x00=\x00J\x00\n\x00\x0e\x00{\x00;\x00M\x00C\x00M\x00Z\x00U\x01!\x00K\x00A\x00U\x00C\x00\x93\x00A\x00=\x00J\x00\x16\x00E\x00\x17\x00\x14\x00&\x00*\x00t\x00\x8b\x00&\x00\x81\x009\x004\x009\x004\x007\x00Q\x01I\x015\x00$\x00I\x00)\x00h\x00)\x00>\x01.\x00>\x00%\x00+\x00.\x00>\x00+\x00I\x004\x000\x00\x83\x00(\x00m\x00\x84\x004\x01\x84\x00\"\x00n\x00\x20\x00\x1c\x00H\x00\x0b\x00D\x00M\x00D\x00@\x00a\x00A\x00;\x00b\x00A\x00N\x00@\x00\x16\x00\n\x00=\x00A\x00=\x00\x1a\x00\x0c\x00\x02\x00\x1a\x01\x02\x00@\x00a\x00J\x00C\x00O\x00]\x00O\x00\x1a\x00]\x00U\x00y\x00z\x00}\x00\x85\x00T\x00l\x00Z\x00\x92\x00\x8c\x00}\x01T\x00u\x00|\x00u\x00\x97\x00\x98\x00T\x00|\x00T\x00u\x00K\x00u\x00|\x00u\x00\x86\x00}\x00\x99\x00w\x00[\x01A\x00=\x00J\x00B\x00\n\x01A\x00\x0e\x00\x0c\x00\x00\x00\x02\x00\x16\x00;\x00\x00\n\b\x00\x04\x01\x00\x00\x05\x00\x0b\x00@\x00a\x00b\x00q\x00s\x00\x8f\x00\x9a\x00\x80\x00\x95\x00\x89\x01l\x00q\x00b\x00l\x00\x88\x01\x9b\x00\x9a\x00r\x00\x9c\x00b\x00N\x00\x8a\x00\x96\x00\x9d\x00\x88\x00\x80\x00\x8a\x00\x96\x00\x9a\x00N\x00J\x00~\x00g\x00G\x00\x89\x00k\x00F\x00E\x00Z\x00=\x00W\x00J\x00S\x00<\x00\x1a\x00=\x00{\x00v\x00\x1a\x00U\x00T\x00c\x00U\x00K\x00\x0e\x00T\x00=\x00E\x00\\\x00Y\x00c\x01k\x00\x82\x00\x14\x00s\x003\x00)\x01(\x00\"\x00&\x00-\x006\x00?\x004\x00*\x008\x01*\x00Q\x00*\x000\x005\x02>\x00h\x005\x00>\x00'\x004\x00\"\x00)\x00e\x00I\x017\x00.\x00*\x004\x009\x00\x83\x004\x000\x008\x01$\x00\"\x00&\x00(\x01\x14\x01w\x00\x10\x00G\x00a\x00G\x00\x01\x00N\x00s\x01b\x01\x0e\x00J\x00S\x00G\x00b\x00@\x00;\x01@\x00Z\x00A\x00;\x01k\x00{\x00\\\x00u\x00U\x01[\x00y\x00o\x00T\x00\x9e\x00\x98\x00\x9f\x00T\x00|\x00\x8c\x00\x99\x00\x9f\x00u\x00|\x01\x90\x00\xa0\x00\xa1\x00u\x01y\x00T\x00|\x00\xa2\x00\xa1\x00\x91\x00\x99\x00\x8e\x00r\x00K\x01F\x00M\x00]\x00C\x00=\x00A\x00\x1a\x00\x02\x02A\x00G\x00\x02\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\b\x0e\x00;\x00\x00\x00\n\x00\x01\x00G\x00W\x00a\x00b\x00\x7f\x00\x80\x00\x9d\x00\x9a\x00\xa3\x00~\x00\xa4\x00~\x00N\x00p\x01\x80\x00l\x00\xa5\x00\xa6\x00\x89\x00N\x00\x9c\x00\xa5\x00\x96\x00\x9c\x00\x80\x00\xa5\x00\xa7\x00\x89\x01s\x00p\x00N\x00p\x00w\x00D\x00g\x00\x7f\x00W\x00D\x00w\x00\x10\x00J\x00l\x00\x1a\x00Z\x00B\x00V\x00\xa8\x00B\x00[\x00y\x00\\\x00T\x00[\x00A\x00T\x00=\x00Z\x00^\x00\xa9\x00\xaa\x00u\x00W\x00J\x00O\x00\x14\x00\x8b\x00\"\x00t\x00&\x00(\x00\x84\x004\x008\x004\x00/\x008\x000\x004\x007\x000\x01.\x005\x00.\x01+\x00.\x00?\x00+\x00.\x000\x009\x00'\x00+\x00.\x00*\x00Q\x007\x00Q\x007\x00$\x004\x006\x004\x007\x00/\x00\x83\x005\x00n\x00\xab\x01\x0b\x00@\x00~\x00F\x00\x10\x00D\x00\xab\x00b\x00\x7f\x00Z\x00J\x00\x7f\x00b\x00a\x00p\x00;\x00G\x00a\x00F\x01G\x01a\x00F\x00J\x00C\x00=\x00J\x00M\x00U\x00\x90\x00Z\x00{\x00}\x00r\x01[\x00|\x00\xac\x00\x9e\x00|\x01\x99\x00\xac\x00|\x01\x86\x00\xad\x00\xac\x00\x86\x00r\x00u\x00r\x00\x8e\x00\xad\x00\x86\x01\xae\x00\x98\x00w\x00g\x00K\x00V\x00U\x00Z\x00A\x00C\x00V\x00O\x00\n\x00S\x00;\x00J\x00<\x00\x02\x00\n\x01;\x00\x0e\x00\x02\x00\x0c\x00\x00\x05\x0e\x01\x00\x01\x02\x00G\x00@\x00\x0e\x00a\x00F\x00:\x00D\x00N\x00\x88\x00\x80\x00\x96\x00\xaf\x00\xa6\x00\x80\x00\xa3\x00\x8a\x00\x80\x00\x7f\x00s\x00~\x00\xb0\x01\x89\x00p\x00\x9a\x00\x96\x00\x9c\x00\xb1\x00\xb2\x00\x96\x00\xb3\x00p\x00\x80\x00p\x00s\x00p\x00w\x00~\x00\x80\x00~\x00\x8b\x00~\x00\x10\x00W\x00J\x00G\x00w\x00c\x00[\x00U\x00B\x00u\x00\xb4\x00}\x00[\x00w\x00[\x01U\x00y\x00J\x00K\x00\x90\x01_\x00\x85\x00\x14\x003\x00m\x003\x00\x10\x01s\x00\"\x009\x00-\x008\x004\x016\x004\x00\x84\x007\x010\x00$\x00I\x00$\x00*\x005\x00.\x00*\x006\x005\x00I\x000\x01?\x00*\x005\x007\x000\x00/\x027\x000\x01\x83\x004\x00$\x005\x004\x00\"\x00\x83\x00\x8b\x00(\x00\x10\x00~\x00F\x00\x1a\x00D\x00b\x00q\x00\x7f\x00l\x00N\x01F\x00J\x00]\x00W\x00N\x00s\x00\x80\x00s\x00J\x00p\x00O\x00G\x00J\x00c\x00[\x00~\x00w\x00k\x00[\x00^\x00o\x00K\x00}\x00T\x00c\x00u\x00\x86\x00\x92\x00\xb5\x00\x9f\x00|\x00\xac\x00\x98\x00\x9f\x00\xa1\x00\xa0\x00\xb6\x00|\x00\x86\x00r\x00\xa1\x01\x91\x00r\x00\xae\x00\x9f\x00r\x00L\x00c\x00L\x00U\x00Z\x00\x1a\x00B\x00J\x00=\x00C\x00=\x00J\x00B\x00\x02\x01\n\x00A\x01\n\x00\x02\x00\x00\x01\x0c\x00\x00\x05\x04\x00\x16\x00\x0e\x00\x00\x00\x0c\x00;\x00G\x00@\x00W\x00F\x00b\x01F\x00\x88\x00s\x00\x9d\x00\x94\x00\x8a\x00\x95\x00\x9b\x00\xa5\x00\x8a\x00~\x00\x89\x00\xa3\x00\xb7\x00\x8a\x01\x94\x00\xb1\x00\xa4\x00\x94\x00\x8a\x00\x95\x00\x89\x00\x9c\x00\x88\x00\x9c\x00\x8a\x00\x95\x00\x9a\x02~\x00[\x00Z\x00\x1a\x00A\x00Z\x00W\x00B\x00~\x00y\x00\x81\x00T\x00u\x01K\x00}\x00r\x00p\x00y\x00F\x00r\x00L\x00K\x00\xb8\x01Y\x00K\x00M\x00]\x00B\x00l\x00\x13\x003\x00\x8b\x00)\x00(\x00\x84\x004\x009\x01?\x004\x00\x18\x00\x1c\x00\x1f\x007\x00Q\x00$\x007\x00.\x00I\x007\x000\x006\x00.\x005\x00*\x006\x027\x00.\x007\x000\x00/\x03\x83\x00\x84\x01\"\x00\x84\x01I\x00n\x00q\x00s\x01w\x00~\x00s\x00b\x00k\x00b\x00\x88\x00\x80\x00p\x00\x88\x00N\x00w\x00L\x00N\x00\x8f\x00~\x00F\x00@\x00G\x00W\x00U\x00F\x00@\x00\x0e\x00]\x00w\x00c\x00\xa6\x00\x99\x00\x8e\x00|\x00\x85\x00z\x00u\x00r\x00u\x00\x90\x00\x86\x00\xa1\x00\xb9\x00\x98\x00\x9f\x00\xba\x00\xad\x00\x98\x00\xb9\x00\xbb\x00\xa1\x00\x86\x00\x98\x00\xad\x00\x91\x00\xa1\x00\xa0\x00\x99\x00u\x00T\x00c\x00T\x00Z\x00K\x00M\x00F\x00V\x00C\x00@\x00J\x01=\x00\x02\x00<\x00\x1a\x01=\x00\n\x00\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x04\n\x00\x00\x02\x0e\x00G\x00\x0e\x00a\x00\x0e\x00\xab\x00G\x01F\x00b\x00F\x00N\x01s\x00\x8a\x00\x94\x00\xb0\x00\xa4\x00\xbc\x00\xa5\x00\x89\x00\x9b\x00\xbd\x00\x94\x00\x96\x00\xb0\x00\x96\x00\x8a\x00\xb7\x00\x8a\x00\xb3\x00\x8e\x00\x89\x00p\x00~\x00\x96\x00\xaf\x00\x9a\x00\x8a\x00\x7f\x00\x89\x00\xb3\x00D\x01l\x00B\x00W\x00Z\x00M\x00J\x00Z\x00y\x00\x9e\x00}\x00`\x00\x89\x00\x9f\x01\x89\x00y\x00U\x00|\x00r\x00T\x00\xbe\x00\x90\x00|\x00M\x00Z\x00l\x003\x01k\x00\x10\x00\x17\x00\x81\x004\x00'\x00&\x009\x01\x83\x008\x00+\x00\x15\x00\"\x007\x00*\x007\x00*\x00\"\x00.\x000\x016\x00.\x005\x007\x006\x000\x006\x018\x00$\x007\x00-\x000\x00/\x027\x00\x83\x00\x84\x00n\x02&\x00\"\x00\x13\x00s\x00N\x00~\x00\x7f\x00\x88\x00N\x00D\x00b\x00N\x00p\x00l\x00E\x00\xb3\x00~\x00\x9a\x00\x80\x00b\x00N\x00F\x01@\x00G\x00V\x00Z\x00\x1a\x01C\x00}\x00u\x00}\x00\x8e\x00\xbf\x00\xc0\x00\xae\x00\x98\x00|\x02\x86\x00\xa1\x00\x98\x00\xb9\x00\xa1\x00\xa0\x00\xb9\x00\xac\x00\xc1\x00\xc2\x00\xa1\x00\xad\x00\xb5\x00\xbb\x00\x91\x00\xb9\x00\xad\x00|\x00u\x00r\x00u\x00K\x00[\x00U\x00]\x00M\x01B\x00Z\x00B\x00;\x00<\x00M\x00E\x00U\x00B\x00W\x00=\x00S\x00;\x01\x0e\x00\x00\x03\x0c\x01a\x00G\x00\n\x00\x00\x00\x05\x00G\x00b\x00a\x00D\x00G\x00F\x00b\x01N\x00E\x00s\x00p\x00\x80\x00\x8a\x00\x94\x00\xa3\x00\xa4\x01\xb0\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x00\xa5\x00\x96\x00\xb7\x00\xbc\x00\xb3\x00\xa6\x00\x89\x00\x9b\x00\xb0\x00\x94\x00\xa4\x00\x9c\x00~\x00\x89\x01l\x00N\x00l\x00F\x00W\x00y\x00W\x00J\x00[\x00M\x00]\x00U\x00\x9f\x00\x99\x00\x91\x00\x9f\x00|\x00r\x00\xb3\x00w\x00T\x00u\x00r\x00|\x00\x91\x00u\x00|\x00[\x00k\x00J\x00[\x00U\x00\x14\x003\x00t\x00(\x00t\x009\x00x\x00$\x004\x02*\x004\x007\x024\x007\x00Q\x016\x00?\x000\x00*\x00e\x00Q\x00/\x006\x03/\x00$\x007\x000\x02/\x015\x00n\x00\x8b\x00\x84\x00\x13\x00s\x01q\x00\x8b\x00w\x00\x8e\x00s\x00\x80\x00\a\x00N\x00g\x00p\x00g\x00w\x00\xb3\x00\x95\x00\xa7\x00\x8a\x00E\x00N\x00W\x00F\x00b\x00J\x00b\x00\x1a\x00g\x00E\x00T\x00B\x00l\x00y\x00}\x00y\x00r\x00y\x00\x9f\x00\xae\x00\xc0\x00\xad\x00\x9f\x00\x86\x01\x91\x00\xad\x00\xb9\x00\xac\x00\xc1\x00\xc4\x00\xc5\x00\xc2\x00\xad\x00\xb5\x00\x97\x00\xbb\x00\xa0\x00\xac\x00|\x01r\x00|\x00u\x00K\x00T\x00r\x00\x85\x00\x81\x00\x99\x00\x8e\x00w\x00[\x00K\x00J\x00B\x00M\x00T\x01[\x00E\x00C\x00<\x00\x00\x05\n\x00W\x00b\x00D\x00G\x00\x16\x00@\x00\x03\x00s\x00\x9d\x00\x8a\x00\x8f\x00s\x00\x80\x00\x88\x00\x7f\x00~\x00\x9c\x02\x9b\x01\x94\x00\xa3\x00\xa6\x00\xb7\x00\xa5\x00\xa3\x00\xc3\x00\xb7\x00\x96\x00\xb7\x00\xc6\x00\x9b\x00\xbd\x00\xb3\x00\xa4\x00\x94\x01\xa4\x00\x95\x01\xa4\x00\xa6\x00\xa3\x00\x9b\x00~\x00\x8a\x00\x95\x00\x8b\x00\xa4\x00\x95\x00s\x00k\x00U\x00K\x00[\x00\x87\x00\x98\x00\xc0\x00\xbe\x00\xa1\x01\x9f\x00|\x00T\x00}\x01\xae\x00\x86\x00\x93\x00z\x00[\x00J\x00c\x00~\x00\x81\x00k\x00J\x00\x8b\x00t\x00\x8b\x00\x13\x00&\x00x\x008\x00?\x009\x016\x000\x00\x84\x010\x00Q\x007\x016\x000\x008\x01.\x007\x016\x00?\x006\x01-\x007\x00$\x00&\x00\x83\x00/\x00\x83\x00\"\x00$\x00\x84\x00(\x00\x15\x00s\x00(\x00\x8f\x00F\x00p\x01\xa6\x00\xa4\x00\x9c\x00F\x00E\x00p\x00T\x00y\x00|\x00\x85\x00\x8e\x00r\x00y\x00\x85\x00L\x00U\x00b\x00A\x00g\x00F\x00Z\x00p\x00g\x00L\x00w\x01l\x00\x95\x00\x8e\x00|\x03\xac\x00\xc7\x01\x91\x01\x8d\x00\xbb\x00\xa0\x00\xb5\x00\xac\x00\xc4\x00\xa0\x00\xc5\x00\xc1\x00\xa0\x00\xbb\x00\xa0\x00\xb5\x00\xa1\x00\x86\x01|\x00u\x00}\x00\x8c\x00\x98\x00\xae\x00\x98\x00r\x00K\x00]\x00z\x00k\x00U\x00]\x00[\x00w\x00T\x00o\x00L\x00T\x00\x1a\x00\x02\x00\x0c\x00\x02\x00\n\x00\x02\x00\x0c\x00a\x00N\x00k\x00F\x00E\x00b\x01\x10\x00N\x01\x80\x01m\x00\x96\x00\xa7\x00\xb2\x00\x8a\x01p\x00~\x00\x89\x01\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb3\x00\x94\x00\xa3\x01\xb7\x01\x94\x00\xa6\x00\xbd\x00\xa3\x00\xb0\x00\xb7\x01\xc3\x00\xa3\x00\xa4\x00\x89\x00y\x00w\x00\x8e\x00~\x00\x9a\x00~\x00\x8a\x00~\x00k\x00~\x00[\x00\x89\x00w\x00T\x00}\x00\xb8\x00\x86\x00\x97\x00\xad\x00\x86\x00\xad\x00\x8c\x00r\x00y\x00|\x00r\x00\x92\x00\x86\x00\x90\x00}\x00K\x00z\x00w\x00o\x00[\x01\x81\x013\x00s\x00t\x00\xc8\x00\"\x004\x00t\x004\x006\x004\x00t\x00$\x00*\x00/\x007\x000\x00*\x006\x000\x008\x00*\x00Q\x000\x00/\x000\x006\x04/\x00\x84\x00&\x004\x00\x83\x02$\x01&\x00s\x00q\x00\xab\x00\x8b\x00m\x00~\x01\xa5\x00\x9c\x00K\x00u\x00\x90\x01\xb8\x00\xc9\x00\xb8\x04\x90\x00\xa9\x00\x93\x00c\x00s\x01\x8a\x00\x89\x00\x81\x01\xa6\x01T\x00B\x00p\x00\xbd\x00\xba\x00\xc0\x00\xac\x02\xa0\x00\xb9\x00\xac\x00\xbb\x00\xc2\x01\xca\x01\xc4\x00\xa0\x01\xb5\x00\xbb\x00\xa0\x00\xca\x00\x91\x01\xa1\x02|\x00\x99\x00\x97\x00\x91\x00|\x00^\x00J\x00[\x00K\x00V\x00M\x00B\x00E\x00r\x00y\x00{\x00f\x00z\x00M\x00B\x00A\x01;\x00\x0e\x00\x00\x00\x0c\x00\x16\x00s\x00U\x00M\x00k\x00\x80\x00b\x00D\x00G\x00a\x00b\x01D\x00N\x00k\x00\x8e\x00\xa4\x00\xb2\x00\x9c\x00\xa4\x00\x9b\x00r\x00\x95\x00\x9b\x00\xb0\x00\xb7\x00\xa6\x00\xa3\x00\xb7\x01\xc6\x01\xc3\x00\xa6\x00\xbd\x00\xb0\x00\xb7\x01\x94\x01\xa3\x00\xa6\x00L\x00C\x00~\x00r\x00w\x00\x95\x01w\x00r\x00w\x00}\x00[\x00]\x00J\x00y\x00\x90\x00\xb8\x01\xa1\x00\xc0\x00\xa1\x00\xad\x01|\x00r\x00|\x01\xad\x00\xa1\x00\x86\x00K\x00}\x00z\x00y\x00|\x00\x8c\x01\x8b\x00]\x00k\x00t\x00\x85\x003\x009\x00\x84\x009\x01?\x00t\x00\"\x008\x000\x008\x00*\x000\x008\x006\x01*\x01Q\x00/\x010\x016\x00\x83\x00-\x000\x00/\x00\x83\x00\x8b\x00n\x00\x84\x01\x9d\x00\x84\x00\x83\x00n\x01\x8b\x00b\x00s\x00E\x00\x95\x00\x9b\x00\xbc\x00z\x00\xa9\x00_\x00\xb8\x00_\x00\xb8\x01\xa9\x00_\x00\xb8\x01_\x00\xb8\x00\xc9\x00\xb8\x00\xa9\x00\x90\x00\x8e\x00w\x00~\x00l\x00\x89\x01\x95\x00M\x00C\x00[\x00\x8e\x00y\x00\xa1\x00\x92\x00\xac\x00\xb9\x00\xc7\x00\xca\x00\xc4\x00\xc7\x00\xb6\x00\xc2\x00\xa0\x00\xc4\x01\xca\x01\xa0\x01\xc1\x00\xa0\x00\xbb\x01\xad\x01\xc7\x01\xbb\x00\x91\x00u\x00K\x01z\x00L\x00M\x00U\x00K\x00Z\x00U\x01T\x00y\x00L\x00c\x00l\x00B\x00<\x00\x02\x00\x00\x02\x05\x00@\x00J\x00E\x00C\x00\x1a\x00\x7f\x00\x88\x00b\x01\x16\x00G\x00b\x00g\x00N\x00b\x00p\x00w\x00\xa3\x00\xc3\x00\x94\x00\xa5\x00\xa4\x00\xbc\x00\x8c\x00\xa3\x00\xb0\x00\xaf\x00\xb0\x00\xb7\x00\xc6\x02\xb0\x00\xc3\x00\xc6\x00\xb7\x02\xb0\x00\xbc\x00\x8c\x01T\x00U\x00p\x00\x95\x00\x89\x00L\x00E\x00\xb3\x00z\x00\x8e\x00\x92\x00\x99\x00\x8e\x00z\x00y\x00|\x00\x90\x01}\x00\x98\x00\xba\x00\x91\x00\xad\x00\xac\x00r\x00\x86\x00|\x00\xbb\x00\xad\x00|\x00r\x00u\x00\x9f\x01\xc0\x00\x8e\x00c\x00\x14\x00\x81\x00\x85\x00`\x00\x8e\x00t\x00x\x01&\x00t\x009\x00\"\x00*\x00?\x004\x010\x026\x018\x00$\x007\x000\x03?\x00-\x000\x00-\x00\x83\x00/\x009\x00\x8f\x00\x13\x00\x83\x00n\x00m\x00\x9a\x00\xb2\x00\x9d\x00q\x00~\x00m\x00p\x00\x89\x00\xa4\x00\x81\x00\xb8\x00\xc9\x00_\x00\xb8\x00\xa9\x00\xc9\x00\xa9\x00\xb8\x01_\x00\xb8\x00_\x00\xb8\x01\x90\x00\xb8\x00\xa9\x00}\x00E\x00p\x00l\x00\x7f\x00l\x00\x89\x01w\x00l\x00\xb3\x00|\x02\xa1\x00\xad\x00\xa0\x00\xc1\x00\xca\x00\xc4\x01\xc1\x00\xa0\x00\xc4\x02\xb5\x00\xa0\x00\xc7\x00\xa0\x00\xbb\x01\xa0\x01\xb9\x00\xa0\x00\xad\x01\x9f\x00|\x01T\x00L\x00z\x00K\x00J\x00W\x00O\x00=\x00Z\x00[\x00Z\x00U\x01B\x00S\x00\x02\x00\x0c\x01\x02\x01\x00\x00;\x00N\x00p\x00\x80\x00~\x00g\x00W\x00a\x00\x0b\x00\x88\x00b\x01N\x00D\x00\x9c\x00p\x00\x80\x00\x8a\x00\xc3\x00\xb7\x01\x94\x00\xb0\x00\xa6\x01\xa3\x00\xa4\x00\xb7\x01\x94\x00\xb7\x02\xb0\x00\xc6\x01\xc3\x00\xa3\x00\x8c\x00\x9f\x00\xb3\x01\x9f\x00\x99\x00\x9f\x00r\x01\x95\x00\xa6\x00Z\x00\xb3\x00w\x01\x9f\x00\x92\x00\x99\x00u\x01r\x02\x9f\x00\xac\x00\xa0\x00\xa1\x00\xac\x00\x9f\x00\x86\x00\x9f\x00\x97\x00\xc7\x00\xa1\x00r\x00\xa1\x00\xac\x00\x99\x00r\x00\x8e\x00w\x00\x8e\x00\x99\x00\x92\x00\x8e\x00c\x00\x81\x00t\x00\x14\x00\x8b\x00\x84\x00(\x00&\x00\x84\x00*\x000\x008\x004\x00-\x000\x00?\x000\x00/\x00I\x00*\x004\x000\x026\x000\x00\x83\x004\x00\x84\x004\x01\x81\x00\x8b\x00q\x00&\x00q\x01\x9d\x00\xb2\x00\x8a\x00\x9d\x00\x7f\x00\x8a\x00~\x00\xa4\x00\xa6\x00`\x00\xb8\x00\xa9\x00\xb8\x00\xa9\x00\xc9\x00\xb8\x04\xa9\x00\xb8\x00\xc9\x00\xb8\x00_\x00`\x01E\x02[\x00}\x00z\x00\x89\x00w\x00y\x00\x85\x00|\x00\xa1\x01\x91\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xc4\x00\xb9\x00\xb5\x00\xc4\x03\xac\x00\xca\x01\xa0\x00\xac\x00\xc1\x00\xca\x00\xb5\x00\xca\x00\xa0\x00\xb5\x00\xba\x00\xa0\x00\xae\x00\xc7\x00\x92\x00\xba\x00y\x00]\x01L\x00Z\x00J\x00A\x01C\x00J\x00B\x00=\x00;\x00A\x01;\x01\x04\x00\x00\x00\x02\x00a\x00b\x00W\x00D\x00G\x00F\x00b\x00G\x01b\x00D\x00\x80\x00\x8f\x00\xb2\x00\xa5\x00\x94\x00\xa5\x02\xb0\x00\xb7\x00\xc3\x00\xc6\x00\xb7\x00\x96\x00\xb0\x00\xb7\x00\xa4\x00\x94\x00\xb7\x01\xc6\x02\xb7\x00\xc3\x02\xbd\x00\xa3\x01\xbd\x00\xba\x00\xbd\x00\xa6\x00\xb3\x00\x89\x02l\x00\x89\x00l\x00[\x00\x9f\x00\xad\x00\xae\x00\x9f\x00}\x00\x9f\x00|\x00\x9f\x00\xa1\x00\xc7\x00\x91\x00\xa0\x01\x86\x00\x91\x00\xc5\x00\xb5\x00\xa1\x00\xad\x00\xb9\x00\x98\x00|\x00\x9f\x00\x9e\x00\xba\x00\xae\x01\xbf\x00}\x00\x01\x00\x81\x00m\x00\x81\x00\x84\x00(\x00m\x00t\x000\x014\x01\x83\x00?\x000\x006\x00?\x008\x00\"\x008\x010\x006\x010\x00\x83\x006\x00\x84\x00\x83\x00&\x00\x83\x00\x8f\x00\x95\x00\xa4\x00\x9a\x00\x8f\x00\x9d\x00N\x00\x8f\x01\xa5\x00\xa4\x00\x89\x00\x9c\x00\x94\x00\xa7\x00\xcb\x00\xc9\x00\x93\x01\x87\x00\x90\x00\x93\x00\xb8\x01\xa9\x00\xb8\x00\xc9\x00\xb8\x00\xc9\x00\xcc\x00\xcd\x01X\x00k\x00w\x01u\x01w\x00|\x01\xa1\x01\xad\x00\x91\x00\x8d\x00\xb6\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xca\x01\xc4\x00\xac\x00\xb5\x00\xc4\x01\xb6\x00\xb5\x00\xac\x00\xad\x00\xb5\x00\xca\x00\xa0\x00\xc2\x00\x91\x01\xa1\x02|\x00r\x00y\x00\x8e\x00\x9f\x00\x8e\x00}\x00M\x00B\x00C\x00=\x00B\x00U\x00]\x00U\x00\x1a\x00=\x00\n\x00\x00\x05@\x00a\x01\x0c\x00a\x02b\x01s\x00\x8a\x01\xb1\x00\x80\x00\x9c\x01\x89\x00\x9b\x00r\x00\xbc\x00\xa6\x00\xa3\x00\xc3\x00\xc6\x01\xb1\x00\xc6\x00\xbc\x00\xa5\x00\x94\x00\x96\x00\xb1\x00\xb7\x06\xaf\x02\x94\x00\xaf\x02\xa7\x01\x8a\x00y\x00l\x00r\x01[\x00\x86\x00\x91\x00\xad\x00}\x00|\x01\x86\x00\xa1\x00\xc7\x00\xb6\x00\xbb\x00\xb5\x00\xad\x00\xbb\x00\xc5\x00\xb5\x00\xac\x00\xb9\x00\x98\x00\xa1\x00\x98\x00\xb9\x00\x98\x00\xa1\x00\xa2\x00\x81\x00\xa1\x00\x85\x00\x81\x01\x14\x003\x00k\x00X\x00\x11\x009\x004\x009\x00t\x004\x00-\x004\x000\x006\x00?\x008\x00$\x01)\x000\x00?\x004\x00\x83\x00-\x00$\x00\x84\x00n\x00\x84\x00n\x00k\x00=\x00\xa7\x00\xce\x00\xa5\x00\xb2\x00\x9a\x00\x96\x00\x9d\x00\xb1\x00\xa5\x00\xb0\x00\xb1\x00\x96\x00\xa6\x00\xcc\x00\xb8\x00\x93\x00{\x00C\x00f\x00\xb4\x00^\x00\x93\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xcd\x01\x8e\x00p\x00\x7f\x00E\x00\x89\x01r\x00\x8e\x00\x99\x00\x98\x00\xc7\x00\xa0\x00\xc7\x00\xca\x06\xc4\x01\xba\x00\x9f\x00\x98\x00\xc0\x00\xbe\x00\x8c\x00|\x00\xb5\x01\xa0\x00\xc2\x02\xbb\x00\x91\x00\x86\x01|\x01}\x00K\x00M\x00T\x00w\x00y\x00[\x00L\x00J\x00V\x00f\x00S\x01\x05\x00\x00\x01\x0c\x02\x00\x02\x0e\x00\x16\x00\x01\x00b\x00\x01\x00G\x02N\x00s\x00q\x00\x88\x00\x7f\x00p\x00\x9c\x00\x89\x00\x95\x00r\x00\x95\x00\x8e\x00\x98\x00\x99\x00\xa3\x00\xc3\x00\xb0\x00\xa5\x00\xb1\x00\x89\x00~\x00\x96\x01\xb7\b\xb0\x00\xbc\x00\xbd\x00\xbc\x00\xa4\x01\x9b\x00\x8c\x00\xbd\x00\xa7\x00\xce\x00\x9f\x00\x85\x00\x9f\x00|\x00\x91\x01\xc0\x00\xac\x00\xa1\x01\x91\x00\xad\x00\xca\x00\xbb\x00\xa0\x01\xc2\x00\xa0\x00\xca\x00\xb9\x00\xad\x00\xac\x00\xb5\x00\xae\x00\x91\x00\x86\x01Y\x00u\x00w\x00\x81\x003\x00~\x00t\x00c\x01k\x00&\x009\x01\"\x009\x00$\x004\x01\x84\x00-\x009\x008\x00'\x005\x00n\x00*\x000\x00.\x00\x84\x00$\x00&\x00\x84\x00n\x00\x8f\x00\x8b\x00m\x01\xa7\x01\xce\x00\x8a\x00\x96\x00\xb2\x00\x94\x00\x8a\x00\xb1\x00\x96\x00\xa5\x00\x94\x00\xa3\x00\xcb\x00\xa9\x00\x87\x00\xb4\x00S\x00<\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcf\x00\xcd\x00\xd0\x01r\x00~\x00w\x00\x8e\x00\x9e\x00\xbf\x00\x99\x01\x92\x00\xad\x00\xac\x00\x92\x00\xba\x00\xb5\x00\xc4\x05\xca\x00\xc7\x00\xac\x00i\x00_\x00\xd1\x00i\x00\xa1\x00\xb5\x00\xc1\x00\xc5\x00\xa0\x00\xc5\x01\xbb\x00\x91\x01\x86\x01|\x00u\x01\x85\x00[\x00L\x00U\x00Z\x00J\x00W\x00A\x02;\x00B\x02C\x00A\x01\x0e\x00\x00\x04\x02\x00a\x00W\x00D\x00\x88\x00N\x01\x7f\x00E\x00l\x01\x89\x00w\x00\xb3\x00\xa6\x01\xa3\x03\xb7\x00\x94\x00\xb0\x00\xa4\x00U\x00C\x00U\x00\x89\x00\xbc\x00\xb0\x00\xc6\x00\xc3\x00\xa6\x00\xbd\x00\xa3\x01\xc3\x00\xb7\x00\x94\x00\xaf\x00\xc3\x00\xa3\x00\x89\x01y\x00w\x00\x9e\x01\xbd\x00\xac\x00\xb9\x00\x9e\x00\xac\x00\xc5\x00\xad\x00\xc4\x00\xac\x00\x91\x00\xad\x00\xbb\x00\xca\x00\xa0\x00\xb6\x00\xca\x00\xa0\x01\xc4\x00\xb5\x00\xa0\x00\xca\x00\xa0\x00\xa1\x00\x86\x01|\x00w\x00\x85\x00\x81\x00}\x00\x85\x00`\x00u\x00o\x00k\x00\x82\x00t\x00$\x00&\x00\x18\x00\x84\x00&\x00\x8b\x009\x00$\x000\x018\x004\x00\"\x00/\x00*\x00$\x00\"\x009\x00\x18\x00\x84\x00(\x00t\x00\x88\x00$\x00&\x00\xce\x02\x89\x00\x81\x00\x95\x00\x9b\x00\x8a\x00\x94\x00\xa5\x00\x96\x00\xa5\x00\x94\x00\xa6\x00`\x00\xc9\x00\x87\x00i\x00S\x00f\x00\\\x00i\x00\x87\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x81\x01\xa7\x00\x99\x00\xce\x00\xa4\x00[\x00y\x00|\x00\x9f\x00\xa1\x00\xac\x00\xc1\x00\xb9\x00\xc7\x00\xc1\x00\xa0\x00\xc5\x01\xa0\x00\xc7\x00\xca\x00\xa0\x00\x91\x00_\x00\xd2\x00\xd3\x00_\x00\xa2\x00\xc7\x01\xc4\x00\xac\x00\xca\x00\xc7\x00\xc1\x00\xa0\x00\x91\x01\x86\x00\x90\x00u\x01^\x00u\x00o\x00Z\x00E\x00w\x00c\x00J\x00B\x00W\x00=\x00\n\x01\x02\x01\x00\x01\x0c\x00\x00\x00\x05\x00\x16\x00@\x00G\x00\x01\x00\x1b\x00\a\x00q\x00b\x00\x1a\x00\x16\x00g\x00N\x00E\x00p\x00\x89\x00\x9b\x00\xa4\x00\xb0\x00\xb7\x03\xc6\x00\xb7\x00\x94\x00\x95\x00K\x00\xb4\x00f\x00M\x00\xa4\x00\x94\x00\xb7\x01\xa3\x00\xa6\x01\x89\x00y\x00\xa6\x00\x8c\x00\xa3\x00\xb0\x00\xb7\x00\xaf\x01\x99\x00\x8e\x00\x89\x01\x9f\x01\xb3\x00\xa1\x00\x8c\x00\x98\x00\xae\x00\xb9\x02\xa0\x00\xbb\x00\xc5\x00\xc1\x00\xca\x00\xb6\x00\xca\x00\xc1\x01\xca\x00\xb5\x00\xc4\x00\xbb\x00\x8d\x01\x91\x00|\x00\xa1\x00\x98\x00\x9e\x00\x92\x00\xae\x00\x92\x00\x86\x00\x81\x01\xd0\x00\xce\x00t\x013\x00t\x00\x18\x009\x00%\x009\x00\"\x00?\x006\x00*\x00\x84\x00\"\x00)\x00-\x00)\x00'\x00n\x00(\x01m\x00\x13\x00\x81\x00\x9c\x00\x8b\x00\x8f\x00\x95\x00\x8b\x00\x80\x01\x81\x00\x99\x00\xb3\x00\xa4\x00\xa3\x00\xb7\x00\xc6\x00\xb7\x00\xa7\x00`\x00\xc9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xcc\x00d\x00\xcd\x01\xd0\x01\x8b\x00\x8e\x00\x95\x00\xb3\x00r\x00\x8a\x00y\x00\x8c\x00\xba\x00\xc0\x00\xba\x00\x98\x00\xad\x00\xc5\x00\xad\x00u\x00\x91\x00\xc2\x00\xbb\x00\xca\x00\xc4\x00\xb9\x01\xb8\x00\xd3\x01\xd1\x00\xbe\x00\x97\x00\xac\x00\xc1\x00\xc4\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xb9\x00\xc7\x00\xb6\x00\x86\x01\xb8\x00u\x00K\x00L\x00M\x01C\x00\x1a\x01a\x00\x0e\x00\x02\x00\n\x00\x00\x02\x0c\x00\x00\a\x0c\x00G\x01b\x00E\x00s\x00p\x00~\x00\xb3\x01\x8e\x00\xaf\x00\x94\x00\xc6\x00\x94\x00\xb7\x02\xc6\x00\xa3\x00\xa4\x01\x9b\x00E\x00W\x00\x80\x00\xa5\x00\x94\x00\xc6\x00\xb7\x00\xaf\x00\xb7\x00\x94\x00\xbc\x00\x95\x00\xa6\x00\x8c\x00\x95\x00\x9f\x00\x8e\x00\xa6\x01\xce\x00\xa7\x00\xa6\x00r\x00[\x00r\x00|\x01\xa1\x02\xad\x00\xa0\x01\xca\x00\xc1\x00\xc5\x00\xb6\x00\xb5\x00\xc1\x00\xa0\x00\xc4\x03\xb6\x00\xbb\x00\x8d\x00\xc2\x00\xad\x00\xa0\x00\xb9\x00\xc0\x00\xae\x00\x8e\x00\x99\x00\x85\x02u\x00w\x00\x81\x00\x8e\x003\x00\x14\x00\x8b\x00\x17\x00&\x00)\x00&\x001\x00'\x00?\x00.\x001\x00n\x01\x84\x00n\x004\x00)\x00\x84\x00\x80\x00\x84\x00m\x00\x8b\x00\x8f\x00\xa4\x00\xa7\x00\x8f\x00\xb2\x00\x8a\x01~\x00\xa4\x00\xa6\x01\x9f\x00\xb0\x00\xc6\x00\x94\x00\x9a\x00\xcc\x00\xa9\x00\x87\x00{\x00\n\x00=\x00\\\x00i\x00\x93\x00_\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x01\xcf\x00l\x00\x89\x00E\x00l\x00p\x00\x8e\x00\x9e\x00\xbf\x00\x98\x00\x9f\x01\xad\x00\x91\x00\xbb\x00\xa1\x00}\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x02\xae\x00T\x00_\x00\xd1\x00i\x00r\x00\xc7\x00\xc5\x00\xac\x00\xca\x00\xc1\x00\xa0\x00\xc7\x00\xb9\x00\xb5\x00\xac\x01\xae\x00\x99\x00|\x00\x90\x00}\x00K\x00]\x00J\x00{\x00J\x00]\x00V\x00\x1a\x00J\x00\x1a\x00V\x00\x1a\x00A\x01;\x00\x00\x04\x0c\x01@\x00a\x00W\x00A\x00b\x00l\x00\x89\x01\x9c\x00\xa3\x00\xb2\x00\x96\x01\x94\x01\xb0\x01\x94\x00\xb0\x00\xa4\x00\xb7\x00\xb0\x00\xb1\x00\xa5\x00~\x00\x95\x00\xb1\x00\xc6\x00\xb7\x02\xa3\x00\xb7\x01\xb0\x00\xb7\x00\xa3\x00\xa6\x00\xb3\x00w\x00\x89\x00\x9b\x00r\x00\x8e\x00\xce\x00\x8c\x01u\x00\x90\x00\x86\x00\xa1\x00\x86\x00\x91\x01\xbb\x01\xa0\x00\xca\x00\xb5\x01\xc1\x00\xb5\x02\xc4\x01\xa0\x00\xb6\x00\xc5\x00\xc1\x00\xc7\x01\xca\x00\xac\x01|\x00\x8c\x00\x9f\x00}\x00u\x00|\x00\x85\x01\xd4\x00\"\x00\a\x00m\x00\x14\x00(\x00\x14\x00\"\x00\x1d\x00.\x00Q\x004\x005\x00\"\x00)\x00n\x01(\x00\"\x00\x18\x00\x8f\x02\x8b\x00\x80\x00\x8b\x00\x9d\x00\x8b\x00\x9a\x01\x94\x02\xb0\x01\xa3\x00\xbd\x00\xa6\x00\xa3\x00\x94\x00\xa5\x00\xcb\x00_\x00\x93\x00i\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x01\xbe\x00d\x00\xcd\x01\xd0\x01~\x00\x95\x00~\x00\xa6\x01\x9e\x00\x9f\x03\xa1\x00\x91\x00\xad\x00\xca\x00\xb9\x02\xa0\x00\xb6\x00\xca\x00\xc4\x01\x98\x00\x9f\x00\xbe\x00\x97\x00\x9e\x00\x9f\x00\x98\x00\xca\x00\xc1\x00\xb6\x00\xca\x00\xc7\x00\x91\x00\xad\x00\xc1\x00\xb9\x00\x98\x00\x9f\x00\xa1\x00\x99\x00r\x00U\x01C\x00B\x01C\x00A\x00S\x00\x02\x01\x00\x01\x0c\x00\x00\x04\x0e\x01@\x01;\x00\x16\x00@\x00G\x00b\x01N\x01~\x00\x8f\x00\x9d\x00\xb1\x00\xb0\x00\x94\x00\xa4\x01\xb0\x00\x94\x00\xb0\x00\xa3\x00\x94\x00\xa4\x00\xb1\x00\x94\x00\xb0\x00\xa6\x01\xa4\x00\x96\x00\xb7\x02\xbd\x00\xa6\x00\xc3\x00\xb7\x00\xb0\x01\xc3\x00\xbc\x00\x8c\x00\xb3\x00\x89\x00E\x00|\x00\x9f\x00\x8e\x00\x9e\x00\x99\x00\xa1\x00\x91\x00\x86\x00\x8d\x01\xbb\x00\xc2\x01\xc5\x00\xa0\x00\xac\x00\x98\x00\xa0\x02\xc4\x02\xc1\x01\xc4\x01\xca\x00\xc4\x01\xc7\x00\xb9\x02\xc0\x01\x9e\x00\x8c\x00w\x00c\x00\x81\x00\xd0\x00u\x003\x00\x01\x00(\x00\a\x00\x18\x00\b\x00&\x005\x00\x84\x00n\x00&\x00\x18\x01\t\x00\"\x00\x15\x00m\x00\xab\x00&\x00q\x00\x8b\x00\x80\x00~\x00k\x00\x80\x00\x8a\x00\x80\x00\x9b\x00\xa3\x00\xb7\x02\xb0\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xa7\x00\x86\x00\xa9\x00\x87\x00{\x00<\x00\x0f\x00v\x00i\x00\x93\x01\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x01\x85\x00\x89\x00r\x00w\x00\x99\x00\xbd\x00\xb3\x02|\x00\x9f\x00\x98\x01\xc7\x00\xae\x00\xb5\x00\xb9\x00\xb6\x00\xbb\x00\xca\x00\xc4\x01\xac\x01\xc1\x00\xa0\x00\xc1\x00\xb5\x00\xc7\x00\xac\x00\xb5\x00\xc4\x00\xc7\x00\xc5\x00\xc1\x00\xac\x00\xad\x00\xa1\x00\x91\x00\xac\x00\xc0\x00\xad\x00r\x00\x9f\x00\x8e\x00K\x00T\x00[\x01T\x00Z\x00V\x00\x1a\x01B\x00=\x00\n\x00\x02\x01\x00\x00\x0c\x00\x00\x03\x02\x00\x0e\x01W\x00b\x00\xab\x00b\x00N\x00~\x00\x8a\x00\xb1\x00\x96\x00\x94\x00\x96\x00\xb1\x00\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xc6\x00\x96\x00\xb7\x00\xb0\x00\xb7\x01\xb0\x00\x94\x00\xb0\x00\x96\x00\xb7\x02\xc3\x00\xa6\x00\xbd\x00\xc3\x00\xa3\x00\xbc\x01\x8a\x01\xb3\x00\x9f\x00|\x00\x86\x00\x90\x00\x86\x01\x91\x00\xad\x00\xa0\x03\xc5\x00\xa0\x00\xc5\x00\xa0\x00\xb5\x00\xac\x00\xb3\x00\xa2\x00\xac\x00\xc4\x01\xae\x00\xac\x00\xb5\x00\xc4\x01\xca\x00\xa0\x00\xb6\x00\x91\x00\xa1\x01\x9f\x00|\x00\x85\x00\x8e\x00\x9e\x00\x99\x00\xbf\x00\xd0\x00\x85\x00u\x00\x10\x00\a\x00\"\x00\x1a\x00\x8b\x00V\x00\x81\x00)\x00t\x00)\x00\x8b\x00\x03\x00\x10\x00\x01\x00&\x00\xab\x00(\x00\xab\x00&\x00\xab\x00\x15\x00\x8f\x00\x8a\x00\xa5\x00\x94\x00\xb2\x00\x94\x01\xaf\x00\x94\x01\xc6\x04\x94\x01\x8e\x00d\x00Y\x00^\x00V\x00O\x00\xb4\x00i\x00\x87\x00\x90\x00\xb8\x01\xcc\x00d\x00\xcd\x01\xd0\x00\x92\x00\xa6\x00\xbd\x00\xce\x00r\x00|\x00y\x00T\x00z\x00|\x00\x98\x00\x8c\x00\xad\x01\xa0\x00\xc7\x00\xbb\x00\xb6\x00\xc1\x00\xc4\x01\xb5\x00\xa0\x00\xc1\x00\xc7\x00\xc1\x00\xca\x00\xc1\x00\xb5\x00\xa0\x00\xc1\x00\xc4\x02\xb6\x00\xac\x00\xc7\x00\x91\x00|\x01\x9f\x00\x99\x00\x9e\x00\x92\x00\x9f\x00r\x00U\x00A\x00\x01\x00@\x01;\x00=\x00;\x01\x0f\x00A\x00B\x00=\x00;\x00\x0e\x00\x00\x00\x0c\x00\x0e\x00\x16\x00A\x00G\x01D\x02G"
b"\x00N\x00\x80\x00\x9d\x00\xa5\x00\x9a\x00\x8f\x00\x8a\x00\x89\x00\xa4\x00\x94\x00\xbc\x00\xb0\x00\x94\x00\xb7\x00\xc6\x00\xc3\x00\xb7\x01\xaf\x00\xb7\x00\xb0\x00\xc6\x00\xc3\x00\xb7\x00\xb0\x00\xb7\x03\xa3\x00\xbc\x00\xbd\x00\xbc\x00\xb3\x02\x9f\x00\xb3\x01\xa6\x00\xba\x00\x9e\x00\xac\x00\xba\x01\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xca\x00\xc1\x01\xb9\x00\xc7\x00\xac\x00u\x00_\x00\xbe\x00\x8e\x00\x9f\x00\x98\x00\xc4\x01\xca\x00\xc1\x01\xb6\x00\xbb\x00\x91\x00\xa1\x00\x86\x00|\x02z\x00c\x00z\x00\x92\x00\xbf\x00\x9e\x00\x81\x00\x85\x00w\x00k\x00\x0f\x00\x14\x00\x04\x00\x13\x00)\x004\x00k\x003\x00W\x00s\x00;\x00\x14\x00\x03\x00n\x00q\x00n\x00\"\x00\x8f\x00\xb2\x01\x8f\x01\x8a\x03\xa4\x00\xb0\x01\xb7\x02\xbc\x00\x96\x00\xc6\x00\x8e\x00\xcb\x00d\x01\xcf\x00`\x03\xcc\x00`\x00d\x03\xcd\x00\xd0\x00\x9a\x00\xaf\x00\xa7\x00\xa6\x00\x89\x00~\x00\x95\x00\x8e\x00\xb3\x00\x89\x00y\x00\xa1\x01\xad\x00\xc7\x00\xad\x00\xa0\x00\xb9\x00\xc4\x00\xb9\x00\xc1\x03\xc4\x00\xc1\x00\xca\x01\xb5\x00\xca\x00\xa0\x00\xca\x00\xc7\x00\xc1\x00\xc7\x00\xa0\x00\xac\x00\xb9\x00\x98\x00|\x02u\x01\xbf\x00\x9f\x00c\x00L\x00J\x00B\x00C\x00<\x00\x00\t\x0c\x00\x00\x03\x0e\x00@\x00\x0e\x00G\x00\x10\x00\x80\x00\x9a\x00~\x00N\x00\x9c\x00\x80\x01\x8a\x00\x94\x00\x96\x00\xb0\x00\x94\x00\xb7\x01\xc3\x01\xb7\x00\xb0\x00\xb7\x03\x98\x00\xbd\x00\xa3\x00\xc3\x00\xb7\x00\xaf\x00\xb7\x00\xc3\x00\xb0\x00\xbc\x01\xa6\x00\xb3\x00\x89\x00w\x00\x8c\x00\xbd\x00\x9e\x00\x98\x00\xad\x00\x98\x00\xac\x00\xba\x00\xb9\x00\xc4\x00\xb9\x00\xa0\x00\xb5\x02\xa0\x01\x97\x00\xd1\x00\xd3\x01^\x00\x8c\x00\xc0\x00\xca\x00\xc4\x00\xca\x00\xc1\x01\xa0\x00\xc2\x00\xbb\x00\x91\x00\xa1\x00}\x00|\x00}\x00|\x00u\x00k\x00\x81\x00\xcf\x00L\x00s\x00Z\x00m\x00\a\x00s\x00\x10\x00\x1a\x00\x14\x00(\x00t\x00l\x00y\x01w\x00\x7f\x00~\x00q\x01&\x00\xb2\x01\x8f\x00n\x00s\x00q\x00~\x01l\x00\x89\x00\xb3\x00\xbc\x00\x8c\x00\xa3\x00\xc3\x00\xb7\x02\x94\x00\x96\x00\x9b\x00\xa9\x00\x87\x00{\x00\\\x00\xb4\x00o\x00Y\x00\x90\x00\xb8\x00\xcb\x00`\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x96\x00\xa7\x00\xb1\x00\x96\x00\x8a\x00\x95\x00\x89\x00T\x00w\x00\x9f\x02\x98\x00\xac\x00\xad\x00\xa0\x00\xc7\x00\xca\x00\xc4\x00\xc1\x02\xc5\x00\xbb\x00\xc4\x00\xca\x00\xa0\x00\xc5\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xc7\x00\xa0\x00\x97\x00\xc4\x00\xad\x00\xac\x00\xba\x00\x9f\x00}\x00u\x00}\x00|\x00\x8e\x00\x81\x00\x85\x00U\x00O\x00=\x00;\x00O\x00J\x00U\x00b\x00\x16\x00\n\x00\x00\a\x0c\x00\x16\x01G\x00b\x01q\x00\x8f\x01\x8a\x00p\x00\x80\x00\x7f\x00\x80\x00\xaf\x00\x96\x00\xc6\x00\xc3\x00\xa3\x00\xb7\x00\xb0\x00\xa6\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xc3\x03\xbd\x00\xaf\x00\xbd\x00\x8c\x00\xb3\x00\x95\x01\x8e\x00\x8c\x00\x98\x00\xbd\x00\xba\x00\xc0\x00\xae\x00\xac\x01\xad\x01\xa0\x00\xb5\x00\xb9\x00\xc1\x00\xb6\x00\xac\x00\x97\x00\xb8\x00\xd3\x02\xd1\x00\x91\x00\xa0\x00\xc1\x00\xca\x00\xc4\x03\xca\x00\xc1\x00\xa0\x00\xc5\x00\xc2\x00\xa1\x00Y\x00u\x01c\x00k\x00]\x00k\x00]\x00J\x00c\x00]\x00m\x00s\x00k\x00~\x01t\x00T\x00U\x01c\x00J\x00E\x00(\x00n\x00\x84\x00q\x00\x88\x00q\x00n\x00m\x00\x80\x01\x7f\x00\x89\x00\x8a\x00\xb3\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x04\xc3\x00\x8e\x00\xa9\x00\x87\x00\xb4\x00f\x00S\x00\\\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x00\xcd\x01\xd0\x00\xb2\x00\xaf\x00\xa5\x00\x8a\x00\x9a\x00\x8a\x00\x89\x01l\x00}\x00\x9f\x00\xa1\x00\x98\x00\xad\x01\xc7\x00\xc1\x01\xc7\x00\xa0\x00\xc1\x00\xc5\x00\x8d\x00\x97\x00\xca\x00\xc4\x00\xb6\x00\x8d\x00\xc2\x00\xca\x01\xb6\x01\xb9\x00\xb6\x00\xbb\x00\xc7\x00\xad\x00\x92\x00\xae\x00|\x00}\x00[\x00U\x00L\x00Z\x00\x8e\x00w\x00J\x00M\x00\n\x00\x00\x04A\x00;\x00=\x00\x0e\x00\x0c\x00\x00\x01@\x00\x0e\x00@\x00\x00\x00\x0c\x00a\x00G\x00\x88\x00\x8b\x00\x80\x00q\x00g\x00N\x00\x7f\x00\x80\x00\xb2\x00\xa4\x00\xb0\x00\xb7\x00\xbd\x00\xc3\x00\x94\x00\xa3\x01\x94\x00\xb7\x00\x98\x01\xa3\x00\xaf\x00\xb7\x01\x98\x00\x99\x00\xc3\x00\xbd\x00\xc3\x00\xb7\x00\xa4\x01\xa7\x01\x9b\x00\xb3\x00\x8e\x00\x8c\x00\xba\x00\x9f\x00[\x00\x9f\x01\xa1\x01\x98\x00\xad\x00\xa0\x00\xc7\x00\xa0\x00\xb6\x01\xca\x01\x98\x00T\x00\x87\x00\xd3\x00_\x00\x86\x00\xb9\x01\xc7\x00\xc1\x00\xb6\x00\xc1\x00\xca\x00\xc4\x01\xb5\x01\xc7\x00\xc0\x00\xa0\x00\xa1\x00\x86\x02^\x00\xb4\x00c\x00M\x00\a\x00\x10\x00G\x00~\x00b\x00~\x02\x8b\x00{\x00f\x00O\x00y\x00k\x00s\x00\x14\x00n\x005\x00q\x00\x88\x00n\x01N\x00p\x00\x89\x00\x95\x00\xa3\x01\xc3\x00\xb0\x00\xb7\x00\x94\x00\xb7\x00\xc6\x00\xb7\x00\xc6\x01\x96\x00\x8e\x00\xb8\x00\x93\x00{\x00f\x00S\x00C\x00i\x00\x87\x00\x93\x00\xcb\x00\xcc\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x80\x00\x89\x00\x8a\x00\x88\x00\x9a\x00\x81\x00\x8b\x00\x9a\x00\xb3\x00r\x02\xa1\x00\xb6\x00\xba\x00\xb6\x00\xc5\x00\xc7\x00\xa0\x00\xc5\x01\x8d\x01\xc7\x00\xa0\x00\xc4\x00\x97\x00\x8d\x01\xc5\x00\xca\x00\xa0\x00\xc2\x00\xc1\x00\xc7\x00\x91\x00\x8d\x00\xc7\x00\x98\x00\x92\x00\x9e\x00T\x00K\x00z\x00]\x00Z\x00U\x00K\x00w\x00]\x01J\x00W\x00\n\x00\x00\x0c\x16\x00G\x00q\x00m\x00\x80\x00D\x00b\x00s\x02\x9a\x00\xb2\x00\x96\x00\xaf\x00\xbd\x00\xb3\x00\xb7\x00\xa7\x00\x99\x00\xc3\x00\xb7\x00\x99\x00\x98\x01\xa3\x00\xaf\x00\xc3\x00\xb7\x00\xbd\x00\x98\x00\xbd\x02\xc3\x00\xa3\x00\x9f\x00\xbc\x00\xa6\x00\xbd\x00\x9e\x00\xbd\x00\x99\x00\x98\x00\x8c\x00|\x00\x8c\x00\x9f\x00|\x00\xa1\x00\xad\x00\xc7\x00\xa0\x00\xb6\x00\xa0\x00\xca\x00\xc4\x00\xb5\x00\xac\x00\xad\x00\xac\x00\x9e\x00\xbe\x00u\x00\x9f\x00\xb5\x00\xb9\x00\xc4\x00\xc1\x00\xbb\x00\x8d\x00\xb6\x01\xca\x00\xc7\x00\xa0\x00\xad\x01\x92\x00\xc0\x00\x9e\x00\x8e\x00|\x01}\x01u\x00c\x00K\x00U\x00\x89\x00w\x00z\x00w\x00\x8e\x00w\x00z\x00L\x00]\x00\x95\x00c\x00E\x00s\x00\xab\x00n\x00\x84\x01\x8f\x00\x95\x00\x8e\x00\xb3\x00\x95\x00\xc3\x00\xaf\x00\x94\x01\xb0\x00\xb7\x01\xc3\x00\xa6\x00\x8c\x00\xb0\x00\xc6\x00\x94\x00\x8e\x00\x90\x00\x93\x00\xb4\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xd0\x00~\x00\x9b\x00\x80\x00s\x00~\x00\x95\x00\x80\x00\x95\x00\xa6\x00\x81\x00y\x00\xa1\x00\xad\x00\x92\x00\x91\x00\xa1\x00\xac\x00\xa0\x00\xc5\x00\xc2\x03\xca\x00\xa0\x00\xc7\x00\xc2\x00\x8d\x01\xbb\x00\xc7\x00\xa0\x00\xbb\x00\xad\x00\xc0\x00\xad\x00\xbe\x01\xc7\x00\xbd\x00\x9e\x00\x99\x00u\x00J\x00L\x00E\x00T\x00K\x01J\x00=\x00\x00\x00<\x00A\x00G\x00\x1a\x00\x16\x00\x02\x00\x00\x05\x0e\x01\x16\x00\x0e\x01s\x00N\x00b\x00F\x00s\x00D\x00F\x00\x80\x00\xb2\x00\xa5\x00\x94\x00\xa6\x00\xb3\x00\xa4\x00\x94\x00\xb3\x00\xa6\x00\xc3\x00\x94\x00\x99\x00\x92\x00\x99\x00\xa6\x00\x94\x00\xc3\x02\x98\x01\xbd\x01\xa3\x01\xbc\x00\x89\x00\x8e\x00\x81\x00\x95\x00\x9f\x00w\x00T\x00\x89\x00r\x00y\x00r\x00\x98\x00\xc0\x00\x9e\x00\xad\x00\x97\x00\xb9\x00\xc4\x01\xb9\x00\xc7\x00\xa0\x00\xc1\x00\xca\x00\xa0\x00\x8d\x00\x9e\x00\x9f\x00\xb9\x00\xc4\x01\xca\x00\xb9\x00\xa0\x00|\x00u\x00\xbb\x00\xad\x00\xae\x00\xca\x00\xa1\x00|\x00\x98\x00\xa1\x00\x9e\x00\x99\x00z\x00J\x00A\x00\x1a\x00B\x00;\x00O\x00F\x00E\x00J\x00\\\x00L\x00\x81\x00\x89\x00[\x00K\x00]\x00b\x00=\x00b\x00s\x00m\x00\x84\x01(\x00~\x00\x80\x00\x8f\x00\xaf\x00\x9a\x00\xb0\x00\xa4\x00\xb0\x00\x94\x00\xb0\x00\xa6\x00\xa4\x00\x8c\x00\xa6\x00\x94\x01\xc6\x00\xa3\x00\x90\x00\x93\x00{\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xd0\x01\x96\x00\x80\x00~\x00\x95\x00~\x01\x89\x00\xb3\x00\x89\x00|\x00\x92\x00\x9f\x00\x98\x00\x9f\x00|\x00\x91\x00\xae\x00\xbb\x00\xc2\x03\xc1\x00\xa0\x00\xb6\x00\xc4\x00\xc2\x03\xa0\x00\xc1\x00\x97\x00\x91\x00\xac\x00\xc7\x00\x9f\x00\x86\x01\xae\x00\x92\x00\x9e\x00\x85\x00K\x01L\x00C\x00M\x00J\x00k\x00J\x00a\x00\x00\x03\x0e\x00;\x01\x02\x01\x00\x04\x0c\x01G\x00s\x00\x15\x00W\x00b\x00D\x00b\x00N\x00\xa5\x00\x96\x00\xb2\x00\xa6\x00\x95\x00\x9c\x00\xb2\x00\x9a\x00\x9b\x00\xa6\x00\xc3\x00\xc6\x00\xa6\x00\x98\x00\x99\x00\x98\x00\x94\x00\xa3\x01\xaf\x00\xb0\x00\x98\x00\xa6\x01\xa3\x01\xbc\x00\x95\x00\x8e\x00\xb3\x00\x89\x00r\x00\xb3\x00r\x01\x9f\x00r\x00\xae\x00\xba\x00\xad\x00\xac\x00\xb9\x00\xb5\x00\xa0\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xb5\x02\xc7\x00\xa0\x00\xb5\x00\xac\x01\xc4\x00\xca\x00\xb6\x00\xc1\x00\xb9\x00\xac\x00\xad\x00\xc5\x00\xbb\x00\x98\x00\xad\x00\xb9\x00\x92\x00|\x00u\x01\x85\x00\x92\x00\x81\x00[\x00J\x01U\x00M\x00U\x00l\x00~\x00V\x00s\x00n\x00\x80\x00Z\x00g\x00E\x00F\x00G\x01\x01\x00n\x00\x83\x01\x80\x00\x8a\x00\xb2\x00\xa5\x01\x9b\x00\x95\x00\x94\x00\xb7\x00\xa4\x00\xa6\x00k\x00\x89\x00\x94\x00\xb7\x00\xc6\x00\xb7\x01\xa7\x00\xa9\x00\x93\x00\xd5\x00<\x00S\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xaf\x00\xa5\x00\x7f\x00p\x00l\x00\x89\x01l\x00u\x00\x85\x00w\x00\x8e\x01|\x00\xa1\x00\x98\x00\xbb\x01\x8d\x00\xc2\x01\xa0\x00\xc7\x00\xa0\x00\xc5\x00\xb9\x00\xc5\x00\xc2\x00\x8d\x00\xc2\x00\xa0\x00\xb5\x00\xbb\x01\xa1\x00\xc0\x00\x92\x00|\x01\x91\x00\xad\x00\xbf\x00\x9e\x00]\x00J\x00U\x00E\x00B\x00A\x00=\x00C\x00V\x00J\x00A\x00\x02\x00\x00\n\x0e\x00\x10\x00\a\x00\x0b\x00A\x00@\x00F\x00:\x00D\x00\x8b\x00\xb2\x01\xa7\x00p\x00\x7f\x00\x96\x00\x94\x00\x9b\x00\xbc\x00\xa3\x00\xb0\x01\x9f\x00\xbc\x00\xa6\x00\x8c\x00\xb7\x00\xc3\x00\xa6\x00\xb7\x00\xa3\x00\x8c\x00\xb3\x00\x8c\x00\xbd\x00\xa3\x00\x81\x00\xa4\x00[\x00~\x00\x89\x01l\x00r\x00T\x00w\x00\xc0\x00\x9e\x00\xa2\x00\xa0\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xb9\x00\xac\x00\xb6\x00\xca\x00\xb5\x00\xca\x02\xc1\x00\xca\x00\xc1\x00\xa0\x00\xc4\x01\xc1\x00\xbb\x00\xc1\x00\xc4\x01\xc1\x00\xc2\x00\xbb\x00\x86\x00\xa1\x00\xae\x00\x9e\x00w\x00z\x00L\x00K\x00w\x00\x8e\x00Z\x00W\x00\n\x00A\x00G\x00b\x00\x9c\x00p\x00\x8a\x00\x84\x00N\x00E\x00D\x00A\x00a\x00;\x00a\x00\x16\x00\x10\x00\x83\x00x\x00\x8b\x00\xce\x00\x95\x00K\x00p\x00\x8a\x00\x94\x00\xa5\x00\x8a\x00\x95\x00\xa6\x01\xa5\x00\xb7\x00\xa3\x01\xb7\x01\xa6\x00\xa9\x00\x87\x00{\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x00\xbe\x01d\x01\xcd\x00\xd0\x00\xa4\x00\xa5\x00\xb2\x00\xb1\x00~\x00s\x00E\x00u\x00]\x00l\x00y\x00[\x00}\x00\x9f\x00\xa1\x00\x91\x00\xa2\x00\x97\x00\x91\x01\xbb\x00\xa0\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\xbb\x01\x91\x00\xc2\x00\xad\x00\xc0\x00\x91\x00\x8d\x00\x86\x00\xac\x00\x9e\x00|\x00K\x00[\x00\x85\x00\x8e\x00\x99\x01K\x00C\x00O\x00A\x00]\x00C\x00<\x00\x16\x00\x0e\x00\n\x00\x16\x00\x1a\x00\x0e\x00\x00\a@\x00a\x00G\x00a\x01G\x01\x01\x00b\x00s\x00\x8f\x00\x8b\x00~\x00N\x01\x80\x00\x9a\x00\xb2\x00\x89\x00\x8e\x00\xbc\x00\xa5\x00\xa4\x00\xb3\x01\x95\x00\x8e\x00\xaf\x00\xa4\x00\x99\x00\xa4\x00\xb0\x00\xb3\x01\x9b\x00\xa6\x00\xbd\x00\x9b\x00\x95\x00w\x00l\x00w\x00\x89\x00y\x00r\x00\x85\x00\xbf\x00\xbd\x00\xac\x00\xc0\x00\x97\x00\x86\x01\x97\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xc4\x00\xc1\x00\xc5\x00\xbb\x00\xc4\x01\xc1\x00\xa0\x00\xc1\x01\xc4\x01\xb6\x00\xbb\x00\xc7\x00\xb5\x00\xb9\x00\xad\x00\xa1\x01|\x00\x9f\x00\x9e\x00\xae\x00w\x00z\x00K\x01c\x00\x81\x00c\x00g\x00=\x00\x16\x00W\x00G\x00\x1a\x00\x17\x007\x00>\x00h\x00>\x00\x01\x00D\x00G\x01\x16\x00F\x00m\x00\x8b\x00m\x00\x88\x00b\x00\x80\x00\x9a\x00\xb2\x00\x8a\x00\x89\x00r\x00\xbc\x00\xb0\x00\xb7\x00\xc6\x00\xc3\x00\x8c\x00\xb7\x00\xc6\x01\xa4\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x00\xb8\x00\xcc\x00d\x00\xcd\x00\xa2\x01\xaf\x00\xa5\x00\x9a\x00\xb2\x00~\x00Z\x00c\x00E\x00\x89\x00~\x00l\x00y\x00r\x00}\x00\x91\x00\x86\x00\xa0\x00\x86\x00\xa1\x00\x91\x00\xa1\x00\xac\x00\xad\x00\x8d\x00\xc2\x00\xb5\x00\xbb\x00\x91\x00}\x00\xa1\x00\x98\x00\xc0\x00\xa1\x00\x91\x00|\x00\x8c\x00\xc0\x00\x85\x00z\x00K\x00]\x00[\x00\xbf\x00\x81\x00k\x00Z\x00V\x00=\x00;\x00\x16\x00\x1a\x00B\x00A\x00\x00\x02\x04\x00;\x00\x0e\x00\x00\x05\x0c\x00\x01\x00\x0c\x00\x16\x01\x0c\x00D\x00\x01\x00b\x00\x8b\x00\x9a\x00\x8f\x00\xab\x00N\x00s\x00\x7f\x00\xb2\x00\x9a\x00l\x00\xa6\x00\x89\x00\xa5\x00\xa4\x00\x9b\x00l\x00p\x00\x95\x00\xce\x00\xbc\x00\x99\x00\xbc\x00\x9a\x00\x9b\x01\x95\x00\x89\x00\xbd\x00\xa3\x00r\x00\xa6\x00w\x00\x7f\x00l\x00E\x00w\x00\xbf\x00\x9e\x00\xae\x00\xad\x00\x86\x01\x91\x00\xac\x00\xb9\x00\xb6\x00\xc2\x00\xc5\x00\xb5\x00\xa0\x00\x8d\x01\xc2\x00\xca\x01\xb6\x00\xc2\x00\xc1\x01\xc4\x02\x97\x01\xc1\x00\xad\x00\xae\x00\x92\x00\xa1\x00|\x00}\x00z\x00\x9f\x00\xbf\x00}\x00[\x00J\x00M\x00B\x00\x85\x00w\x00\x10\x00]\x00J\x00g\x01\x15\x007\x00j\x02\x1c\x00\x00\x00\x05\x00;\x00b\x00~\x00\xa7\x00s\x00\x88\x00q\x00s\x00\x96\x00\xb2\x00\x9c\x00\x89\x00\x9b\x01\xa4\x00\xa5\x00\xb7\x01\xbc\x00\xc3\x00\xb7\x01\xb0\x00\xa6\x00\x90\x00\x93\x00{\x00S\x00f\x00V\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x01\xcd\x00\xd0\x00\xbc\x00\xa5\x00\xb2\x01\x9a\x00\x8f\x00p\x00l\x00K\x00E\x00[\x00K\x00u\x00\xa1\x00|\x00\x92\x00\x8d\x00|\x00\x86\x00\xa1\x00\x98\x00\xac\x00\xa1\x00\x8d\x00\xbb\x00\xae\x00\x91\x00\x9f\x00}\x00\xa1\x01\xc7\x00\xa1\x00\x86\x01|\x00\x99\x00\x9e\x00z\x00K\x00z\x00o\x00r\x00\x81\x00\xd0\x00C\x00M\x00J\x00A\x00\x0c\x00\x00\x00;\x00\x1a\x01\x02\x00\x00\t\x16\x00\x0b\x00\x0e\x00\x0c\x00\x0e\x00a\x00G\x00\x16\x00\x10\x00\xb2\x00\x8f\x00N\x02\x88\x00\x9d\x00\xb2\x00\x80\x00\xb3\x01\x89\x00\x94\x00\x8a\x00\x89\x00~\x00\x95\x00\x89\x00\xa3\x00\xa4\x00\xbd\x00\xb3\x00\xa4\x01\x9b\x01l\x00\xb3\x00\xa7\x00\x9c\x00l\x00\x8c\x00\x89\x00w\x00\x8e\x00\x99\x00\x9e\x00\x8c\x00\x92\x00\x86\x01r\x00\xac\x00\xb9\x00\xad\x01\xc2\x00\xa0\x00\xca\x00\xc2\x00\x8d\x01\xc5\x00\xc7\x00\xca\x00\xc5\x00\x8d\x00\xc5\x00\xc1\x01\xc4\x00\xca\x00\xc7\x00\xb6\x00\xa0\x00\xb6\x00\xa1\x00\x86\x00\x99\x00|\x00}\x00|\x00u\x00\x85\x00\x92\x00w\x00K\x00z\x00Z\x00\x1a\x00J\x00Z\x00\x16\x00\n\x00a\x01\x17\x007\x00j\x02\x1e\x00\x0e\x00\x16\x00b\x00m\x00(\x00:\x00D\x00b\x01\x9d\x00\x9a\x00\x9c\x00p\x00\x9c\x00\x8a\x00\x96\x00\xa7\x00\xbc\x00\xa5\x00\xb0\x00\xa6\x00\x94\x01\xb7\x00\xb0\x00\xa6\x00\xb8\x00\x93\x00i\x00S\x01\\\x00i\x00\x93\x01\xc9\x01\xcc\x00d\x00\xcd\x01`\x00l\x01\xa4\x00\x9a\x02x\x00E\x00p\x00y\x00T\x01\x86\x00\x87\x00}\x00\xa0\x00\xa1\x00|\x01\x86\x00\x98\x00\x9e\x00\x86\x00\x8d\x00\xad\x00\xbb\x00\x86\x01|\x01\x9f\x00\xc7\x00\x9f\x00\x90\x00\x86\x00u\x00\x99\x00\xbf\x00|\x00Z\x00]\x00K\x00U\x00c\x00\xce\x00Z\x00=\x00\n\x00M\x00E\x00\n\x00\x00\x01\x0e\x00\x16\x01\x02\x00\x00\x06\x0e\x00\x04\x00\x00\x02\x16\x01\x0e\x00a\x00n\x00\x8b\x00q\x00F\x00b\x01N\x00\x9a\x00\xb2\x00\x89\x00\xa6\x00\x89\x00p\x00\xb2\x00\x8a\x00l\x00\x9c\x00\x89\x00w\x00\xb3\x00\x8a\x00\xa6\x00\x9f\x00\x89\x00\x9a\x01p\x01\x9c\x00\xa3\x00\xa6\x00~\x00[\x00\x8e\x00\x95\x00\xbf\x01\x8e\x00y\x00[\x00y\x00|\x00\x8c\x00\xc0\x00\x98\x00\xa1\x00\xad\x00\xc5\x00\xca\x00\xb6\x00\xc2\x00\x8d\x01\xa0\x00\xca\x00\xa0\x00\xc7\x00\x8d\x00\xc2\x00\xc5\x00\xa0\x00\xc7\x00\xca\x01\xa0\x00\xad\x00\xac\x00\xa1\x00\x81\x02\x9f\x00T\x00K\x00[\x00\x81\x00\x99\x00T\x00B\x00M\x00U\x01k\x00Z\x00=\x00\x00\x00\x04\x00\t\x00j\x03\x1c\x00a\x01N\x00q\x00@\x00G\x00b\x00\a\x00\x8f\x00\xb2\x00q\x00p\x01~\x00\x8a\x01\x9b\x00\xa4\x00\xa7\x00\xbc\x00\xb7\x01\x94\x00\xb7\x00\xa3\x00\x99\x00\x90\x00\x87\x00{\x00f\x00S\x00M\x00i\x00\x87\x00\x90\x00\xc9\x00\xcc\x01d\x01\xd0\x00`\x00\x9c\x00~\x00\x88\x00N\x00\x80\x00\x8b\x00\xb2\x00\x8b\x00p\x00Z\x01\x85\x00u\x00}\x00\x8e\x00\x91\x00r\x00}\x00|\x00\x9f\x00\x9e\x00|\x00\x9f\x00\x8d\x00\x91\x00\x8d\x00|\x03r\x00\x98\x00\x8c\x00r\x00u\x00|\x00\x85\x00\xae\x00\x8e\x00K\x00]\x00U\x00K\x00M\x00\x81\x003\x00Z\x00=\x00\x0c\x00\x02\x00B\x00G\x00\x00\x04\x04\x00\x00\t\x16\x00\x0c\x01\n\x00D\x00\x8b\x00m\x00b\x02q\x00\x7f\x00\xce\x00\x8f\x00~\x00w\x00p\x00\x7f\x00\xb2\x00\xb1\x00E\x00\x89\x00p\x00\x89\x00\xb3\x00~\x00\xa4\x00\xa6\x00\x7f\x00\x9c\x00\x8a\x00~\x00\x9c\x00~\x00\x89\x00\xa3\x00\x8a\x00E\x00[\x00\xbf\x00\x81\x00w\x00E\x00y\x00T\x00z\x00|\x00\xc0\x00\x9e\x00\x9f\x00\x91\x00\x8d\x00\xac\x00\xc7\x00\xbb\x00\xc2\x02\xca\x00\xa0\x01\xc1\x00\x8d\x01\xc5\x01\xc1\x01\xad\x00\xca\x00\xad\x00\xa1\x00\xad\x00\xbf\x00\xd0\x00\xce\x00\x89\x00z\x01]\x00V\x00\x8e\x00\x81\x00Z\x00\x1a\x00A\x00<\x00\n\x00=\x00k\x00B\x00F\x00\r\x007\x00\x1c\x00\x1e\x00\b\x00\x0c\x01\xab\x00\a\x00G\x00\a\x00b\x00W\x00s\x00\xb2\x00\x80\x00s\x00\x88\x00p\x00\x80\x00p\x00\x9c\x00\x9b\x00\xa4\x00\xbc\x00\xa3\x00\xaf\x00\xb7\x01\xc3\x00\xa3\x00\x8c\x00\x90\x00\x93\x00{\x00S\x01\\\x00i\x00\x87\x00\xd6\x00\xc9\x01\xcc\x00\xbe\x00\xcd\x01\xd0\x00\x8a\x00E\x01l\x00p\x00\x10\x00~\x00\xce\x00~\x00U\x00u\x00^\x00u\x01\x97\x00\x9f\x00[\x00u\x00}\x00\xa1\x00\x9f\x00u\x00\xa1\x00\x86\x00\xa1\x00\xbe\x00|\x00u\x00|\x01z\x00\x92\x00\x9f\x00[\x00u\x00\xb8\x00\x86\x00\x8c\x00\x81\x00U\x00Z\x00U\x00J\x00L\x00y\x00w\x00B\x00J\x00A\x00\x00\x01\n\x00\x1a\x00;\x00\x00\x0c\x0c\x00\x00\x01\x0e\x00G\x00\x0b\x00\x8b\x00s\x00\x0b\x00b\x01D\x00\x80\x00\x8b\x00m\x00\x99\x00p\x00N\x00s\x00\x9a\x00\x80\x00p\x02\x9c\x00w\x00p\x00\x89\x00\x8c\x00\x89\x00~\x00\x9c\x00~\x00p\x00b\x00N\x00\x8a\x00\xa7\x00~\x00\x81\x00\x99\x00r\x00Z\x00\x89\x00l\x00r\x00z\x00\x9e\x01\x98\x00\x86\x00\x91\x00\xa1\x00\xba\x00\xad\x00\xbb\x00\xc5\x00\xc2\x01\xc7\x00\xb6\x00\xc5\x00\xb9\x00\xbb\x00\xc2\x02\xa0\x00\xc1\x00\xad\x01\xae\x00\x91\x00|\x00\xce\x00\x81\x00\xd7\x00\x8e\x00u\x00T\x00L\x00z\x00M\x00\x8e\x00c\x00\x1a\x00]\x00J\x00=\x00\x02\x00A\x00O\x00\x04\x00\x03\x008\x00:\x00;\x00\x05\x00\n\x00\x1b\x00G\x00\x0e\x01a\x00\x0b\x00F\x00\x8b\x00\x80\x00b\x00g\x00p\x00N\x00\x7f\x00\x80\x00\x9c\x00\x8a\x00\x95\x00\xa4\x00\xaf\x00\xa3\x00\xa4\x00\xaf\x00\xbd\x01\x98\x00\xa9\x00\x93\x00{\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x00\xcd\x01\xd0\x00\xb2\x00~\x00l\x00N\x00b\x00E\x00l\x00]\x00G\x00=\x00\\\x00f\x01\x9f\x00\x92\x00u\x00K\x00[\x00|\x00}\x00y\x00z\x00\x86\x01}\x00\x86\x00|\x00u\x02T\x00\x8c\x00\xa1\x00T\x00z\x00^\x00`\x00\x8c\x00\x81\x00z\x00{\x00Z\x00T\x00M\x00U\x00\x8e\x00M\x00=\x00A\x00\x1a\x00\x0c\x00\x00\x01\x02\x00\x16\x00\x04\x00\x00\x0c\x0e\x01\n\x00\x15\x00m\x00a\x00b\x00\x88\x00:\x00b\x00\x8b\x00\x8f\x00\x9a\x00[\x00F\x00b\x00N\x00\xa5\x00\x80\x00p\x00D\x00\x9c\x00\x7f\x00y\x00p\x01\x95\x00l\x00N\x00b\x00p\x00\x80\x00p\x00~\x00l\x00\xc3\x00\xa5\x00w\x00y\x00[\x00}\x00l\x00T\x00z\x00\x99\x00\xbf\x00\x9f\x00|\x00\xbe\x00\x86\x00\xa1\x00\xba\x00\xa1\x00\xad\x00\x91\x00\xbb\x00\xb6\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\x97\x00\xc2\x02\xbb\x00\xae\x00\xb6\x00\xa1\x00\xad\x00\xb6\x00\x86\x00|\x00\x81\x01y\x00[\x00K\x00L\x00B\x00J\x00z\x00\x81\x00J\x00=\x00A\x00\x1a\x00V\x00O\x00=\x00\x0e\x00\x1c\x00*\x00\x1c\x00\x02\x00A\x00\x01\x00\x0e\x00\x00\x00\x04\x01F\x00b\x00\x80\x00(\x00b\x00N\x00b\x01\x80\x00p\x00N\x00~\x00\x89\x00\x9b\x00\xa7\x00\xb0\x00\xbc\x00\xb0\x00\xaf\x00\xa3\x00\xbd\x00\xa1\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x93\x01\xc9\x00\xb8\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xb2\x01\x88\x00s\x00M\x00{\x00\\\x00v\x00f\x01\x02\x00\n\x00\x00\x00=\x00K\x00[\x00L\x00\x9f\x00u\x00z\x00K\x00T\x00\x86\x00u\x01\x90\x00|\x00z\x00T\x00u\x00[\x00\x8c\x00\x85\x00z\x00U\x00k\x00u\x00\xa2\x00\x8e\x00w\x00K\x00U\x00T\x00L\x00Z\x00k\x00y\x00f\x00\x02\x00\x0c\x00B\x00=\x00\x00\x02\x0c\x01\x00\n\x0c\x01\x00\x00a\x00~\x00q\x00\x88\x01b\x01E\x00\x8b\x00~\x00\x81\x00\x88\x00F\x01\x88\x00\x9a\x00\x80\x00N\x00g\x00p\x01\x89\x00~\x00N\x00~\x00l\x00\x88\x00p\x01E\x00\x80\x00D\x00F\x00~\x00\xbf\x00\x8a\x00T\x02y\x00r\x00w\x00\xbf\x00\x99\x00\x86\x01|\x01\xae\x00\xac\x00\xa1\x01i\x00\xa1\x00\xb6\x00\xa0\x00\xc2\x00\xbb\x00\xc7\x00\xb6\x00\xbb\x01\x8d\x00\xbb\x00\x97\x00\x92\x00\xa1\x01\x92\x00\xa1\x00\x86\x00}\x00T\x00z\x00K\x00U\x00K\x00Z\x00M\x00C\x00\x1a\x00w\x00\x1a\x00=\x00\n\x00\x00\x00=\x00\x1a\x01\x19\x008\x00\x1c\x00\x02\x00\x0e\x00\x01\x00\x02\x00\x0e\x00G\x01\n\x00s\x00\x8b\x00\x88\x00b\x00D\x00N\x00s\x00b\x00\x7f\x00s\x00\x80\x00~\x00\x95\x00\xa7\x00\x8a\x00\x9b\x00\xa4\x00\xa3\x00\xa6\x00\x8c\x00\x8e\x00\xa9\x00\x87\x00i\x00<\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x8a\x00\xce\x00~\x00\\\x00i\x00\xd5\x00\\\x01f\x01S\x01\x00\x00\x05\x00B\x00L\x00z\x00K\x00z\x00U\x00K\x00L\x00\xbe\x00u\x00L\x00u\x00z\x00u\x00[\x00L\x00z\x00\x85\x00w\x00Z\x00U\x00K\x00}\x00\xb8\x00|\x00\x85\x00E\x00z\x00T\x00\x89\x00r\x00z\x01K\x00A\x00\n\x00\x00\x00;\x00A\x00\x00\x0f\x0c\x01b\x00~\x00Z\x00\x80\x00\x7f\x00E\x00s\x00D\x00\x8f\x00\x95\x00~\x00N\x00W\x00F\x00D\x00m\x00\x80\x00\x88\x00N\x00D\x00p\x00\x7f\x00k\x00F\x00l\x00\x89\x00N\x01g\x00b\x00D\x00p\x00s\x00\x81\x00\xa7\x00\xa4\x00\x7f\x00[\x00\xb3\x00y\x00i\x00\xce\x00\x92\x00\x9f\x00\x90\x01y\x00|\x00\xae\x00\xa1\x00|\x00\xa1\x01\x91\x00\x97\x00\xac\x00\x8d\x00\x91\x00\xa0\x00\xad\x00\x91\x02\xc5\x00\x91\x00\xa1\x00\x86\x00|\x02\x86\x00u\x00}\x00Z\x00L\x00z\x00M\x00g\x00E\x00F\x00\x16\x00P\x00J\x00F\x00\x1a\x00\n\x00\x02\x02\x03\x008\x00\t\x00a\x00\x16\x00\x0c\x00;\x00\x04\x00\x00\x00a\x00@\x00\x14\x00q\x00\x0b\x00G\x00s\x00b\x00g\x00q\x00N\x00\x7f\x00p\x00\x95\x00\x9b\x00\x8a\x00\x9c\x00w\x00\xa7\x00\xa4\x00\xbd\x00\xa6\x00`\x00\xa9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xcb\x00\xb8\x00\xcc\x00d\x01\xd0\x00\xcd\x00Y\x00o\x00i\x01\xd5\x00\xb4\x00\\\x02S\x02\x04\x00\x00\x00\n\x00J\x00l\x00L\x00K\x00V\x00[\x00u\x00\xb8\x00K\x00L\x00u\x00T\x01[\x00L\x00z\x00\x8e\x00[\x00]\x00T\x00B\x00[\x00J\x00Y\x00\x81\x00U\x00u\x00}\x00L\x00o\x00K\x00z\x00E\x01B\x00\x00\x02;\x00\x00\r\x02\x00;\x00b\x00N\x00s\x00l\x00k\x00M\x00k\x00E\x00\x88\x00\x8b\x00w\x00G\x00b\x01F\x00b\x00~\x00\x80\x00\xab\x00F\x00D\x00N\x00b\x00\x80\x00W\x00k\x00\x89\x00b\x00N\x00G\x00E\x00l\x00\x89\x01r\x00\xb3\x00\xaf\x00r\x00E\x00T\x00r\x00\xa6\x00\x99\x00\x8c\x00`\x00u\x00z\x00T\x00\x85\x00\x9e\x00\x9f\x00|\x02\x86\x00\x91\x00\x92\x00\x8d\x00\xa1\x00\xad\x00\x98\x00\xa1\x00\x86\x01\x97\x00\x91\x01r\x00\x9f\x00u\x01|\x00\x90\x00]\x00l\x00U\x01k\x00\x14\x00\x8b\x00t\x00~\x00\x1a\x00P\x00\x00\x00\n\x00B\x00\x1a\x00\x02\x00\b\x01*\x00\t\x00A\x00\n\x00\x00\x02\x0c\x00\x01\x00\x10\x00s\x00@\x00D\x00b\x00G\x00D\x00N\x00b\x00N\x00\x7f\x00\x89\x00w\x00\x9c\x01\x89\x01\xa6\x00\xa4\x00\xa3\x00\xb3\x00\x85\x00\x90\x00\x87\x00\xd5\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x00d\x02\x90\x00^\x01i\x02M\x00\xb4\x00\\\x00f\x01=\x00<\x00\x04\x00\x00\x00\n\x00M\x00Z\x00U\x00L\x00J\x00L\x00K\x00\x90\x00L\x00Z\x00o\x00U\x00[\x00Z\x00]\x00T\x00\x8e\x00V\x00M\x00L\x00g\x00J\x00]\x00u\x00\x85\x00J\x00z\x01M\x00f\x00M\x00[\x00U\x00A\x02\x00\x11\x0e\x00W\x00s\x00N\x00M\x00C\x00M\x00l\x00\x80\x00N\x00\x81\x00E\x00q\x00b\x01G\x00\x88\x01m\x00b\x01D\x00N\x00D\x00F\x00G\x00E\x00\x89\x00D\x00N\x00F\x01g\x00l\x00T\x00\x85\x00}\x00z\x00\x8e\x00T\x00z\x00Z\x00\x81\x00\x8e\x00\xa2\x00u\x01o\x00u\x00\x99\x00\x98\x00|\x00\x98\x00\xac\x00\x9f\x00\x86\x00\xa2\x00\x91\x00\x8d\x00\xa1\x00\xad\x00\x92\x00|\x01\x86\x00\x91\x00\xac\x00\x86\x00|\x00u\x00}\x00z\x01K\x00^\x00M\x00[\x00U\x00(\x00x\x00\x83\x00t\x00\x01\x00B\x00Z\x00\x1a\x00\x02\x00\x00\x01A\x00@\x00\x0b\x007\x00\x1d\x00\x0e\x00\x00\x02\x0e\x01\x00\x00s\x00@\x00F\x00G\x00\x01\x00G\x00b\x01F\x00E\x00J\x00k\x00N\x00\x80\x00\x7f\x00p\x00\xa4\x00\xb3\x00\xa3\x00\x8e\x00\xb3\x00`\x00_\x00\x87\x00\xd5\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x01\xcb\x00\x93\x01\x87\x00^\x00i\x01\xd5\x00{\x00\xb4\x00\\\x01f\x01S\x00<\x00\x02\x00\n\x00k\x00B\x00Z\x00V\x00Z\x00M\x00z\x00^\x00K\x00M\x00]\x00M\x00Z\x00M\x00K\x00Z\x00k\x00M\x00E\x00M\x00E\x00V\x00]\x01\x85\x00}\x00T\x00E\x00\\\x00C\x00K\x00w\x00Z\x00C\x00\x00\x00\x02\x00W\x00\x00\x10\x0c\x00A\x00\x88\x00\x80\x00Z\x00C\x00\\\x00W\x00\x88\x00s\x00~\x00b\x00a\x00b\x00D\x00G\x00b\x00\x16\x00\x80\x00G\x01W\x00b\x00D\x00F\x00G\x00D\x00z\x00F\x00b\x02g\x00l\x00\xb3\x00U\x00\\\x00\xb4\x00T\x00\x8e\x00T\x00}\x00\x8e\x00\xa9\x00c\x00[\x00T\x00L\x00K\x00\xbf\x00}\x00\x9e\x00\xa0\x00\xae\x00\x9f\x00\x86\x00\xa1\x01\xbe\x00|\x00\x9f\x00\xac\x00\x86\x00}\x00\x86\x00\x91\x00\x92\x00\xb8\x00\x91\x00^\x00u\x01Z\x00K\x00{\x01V\x00k\x00t\x000\x00&\x00K\x00=\x00\n\x01Z\x00O\x00\x0c\x00\x00\x02\b\x00$\x00#\x00\x00\x05\x01\x00\a\x00G\x00\x05\x00a\x00\x01\x00\x16\x02F\x00\x1a\x00k\x00E\x00N\x00g\x00p\x00\x7f\x00\xa6\x00\x95\x00\xa3\x00\x95\x00\x89\x00`\x00\xc9\x00\x87\x00o\x00S\x01\\\x00i\x00\x93\x01\xc9\x00\xcb\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x87\x01^\x02i\x00\xb4\x01\\\x02f\x01S\x00<\x00S\x00C\x00\\\x00Z\x00C\x00J\x00C\x00u\x00{\x00[\x00J\x00]\x00C\x00Z\x00B\x00K\x00k\x00Z\x00C\x00]\x00M\x01J\x00A\x00z\x00}\x00U\x00y\x00z\x01U\x00u\x00K\x00T\x00J\x00\x0e\x00\x00\x01;\x00\x00\x0e\x0c\x00\x05\x00\x16\x00D\x00s\x00T\x00W\x00k\x00p\x01N\x00s\x00b\x00\x16\x00\a\x00a\x00G\x00\x16\x00@\x00N\x00\xab\x00G\x00W\x00b\x00D\x00F\x00\x01\x00b\x00U\x00F\x00a\x00B\x00W\x00E\x00[\x00}\x00Z\x00C\x00=\x00[\x00\xa7\x00E\x00\x81\x00\x85\x00o\x00w\x00M\x00V\x00Z\x00L\x00\x8c\x00\x85\x00\xac\x00\xb5\x00\xae\x00|\x00\x90\x00|\x00\xa1\x00\x8d\x00u\x00|\x00\x98\x00|\x00r\x00}\x00\x86\x00\x97\x00w\x00\x85\x00\xa1\x00l\x00z\x00J\x00K\x00J\x00v\x00]\x00V\x00F\x00~\x00=\x00S\x00\x1a\x01\x05\x00O\x00\x16\x00A\x01\x00\x00\x0c\x00!\x00I\x00\x13\x00\x00\x04\x0c\x00\x10\x00@\x00\x00\x00\x0c\x00G\x00a\x01\x0c\x00\x00\x00\n\x00\\\x01M\x00E\x00L\x00\x7f\x00\x95\x00\xa6\x00\xa4\x00\xc3\x00\x89\x01`\x00\xb8\x00\x87\x00\xb4\x00S\x01\\\x00o\x00\x87\x00\x90\x00\xc9\x00\xcb\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x00\x87\x01^\x00i\x02{\x00\xb4\x00\\\x01C\x00f\x01;\x00S\x01J\x00\x1a\x00W\x00J\x00O\x00u\x00\\\x00[\x00C\x00J\x00W\x00Z\x00C\x00K\x00J\x00E\x00=\x00C\x00\x1a\x00f\x00k\x00S\x00\x1a\x00c\x00f\x00T\x00z\x00T\x00Z\x00[\x00L\x00\x1a\x00;\x00\x16\x00\x00\x02\x02\x00\x00\x0f;\x00A\x00E\x00p\x02\x80\x00\x88\x00D\x00\x10\x00a\x00\x0c\x00G\x00@\x00W\x00a\x00G\x00A\x00G\x00b\x00G\x01a\x00\x1a\x00\x16\x00G\x00W\x00b\x00a\x00\x1a\x00g\x00U\x01z\x00T\x00M\x00{\x00E\x00\xb3\x01\x85\x00o\x00Z\x00U\x00B\x00[\x00V\x00c\x00\x81\x00y\x00\xa1\x00\x98\x00w\x00u\x00\x86\x00u\x00|\x00\x86\x00u\x00|\x01u\x00|\x00u\x00|\x00\xa2\x00\x8e\x00t\x00`\x00x\x00L\x00K\x00U\x00K\x00M\x00V\x00]\x00O\x00A\x00Z\x00\n\x00\x02\x00;\x00V\x00;\x00O\x00\x00\x00\x02\x00A\x00\x02\x00\x00\x00\"\x00)\x00\x05\x00\x00\x03\x0e\x01\x00\x01G\x00\x0c\x00\x0e\x00\x16\x00\x00\x01\x02\x00v\x00\\\x00\xb4\x00i\x01K\x00\x99\x00\xbc\x01\xc3\x00\x9c\x00[\x00d\x00\xa9\x00\x87\x00i\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x01\xb8\x00\x93\x00\x90\x00\x93\x00\x90\x00\xa9\x00\xcb\x00Y\x00^\x00i\x01{\x01\\\x00\xb4\x00\\\x00C\x00f\x01=\x00f\x00J\x00<\x00B\x00O\x00=\x00L\x00v\x00T\x00A\x00J\x00=\x00Z\x00C\x00E\x00C\x00\\\x00\x1a\x00=\x00]\x00C\x00W\x00=\x00<\x00k\x00;\x00C\x00l\x00M\x00U\x00Z\x01<\x00;\x00S\x00\x0e\x00\x0c\x00\x00\x12;\x00G\x00\x88\x00s\x00D\x00F\x00W\x00a\x00F\x00\x00\x00\x0e\x01\x05\x00G\x00\x0c\x00G\x00a\x00\x0e\x00F\x00a\x00\x16\x00a\x00G\x00\x0e\x00G\x00a\x00W\x00G\x00\x1a\x00@\x00A\x00Z\x00[\x01y\x00}\x00z\x00\x95\x00\x81\x00w\x00Z\x00B\x00J\x00[\x00U\x00J\x00K\x00\x8e\x00[\x00L\x00[\x00z\x00^\x00|\x00L\x00}\x00\xbe\x00L\x00r\x00y\x00r\x00}\x00T\x00}\x00\x97\x00\xce\x01\xd8\x00\x81\x00L\x00]\x00J\x00M\x00T\x00\\\x00V\x00]\x00S\x00<\x00E\x00\n\x00\x00\x01\x1a\x01\x00\x02\n\x00\x02\x005\x00)\x00\x00\x05\x0c\x01\x16\x00\x00\x00\x0c\x00G\x00;\x00\x00\x01S\x00f\x00\\\x00{\x01i\x00\x93\x00\x90\x00y\x00\xa4\x00\xc3\x00\x7f\x00c\x00\xbe\x00\xc9\x00\x87\x00i\x00S\x01\xb4\x00i\x00\x93\x00\xb8\x03\xa9\x00\x90\x00\xcb\x00\xcf\x00\xcd\x00\xcf\x00d\x00\x87\x00i\x02{\x00\xb4\x00\xd5\x00\xb4\x00\\\x01v\x00\n\x01]\x00<\x00\x1a\x00A\x01C\x00=\x00U\x00\x0e\x00J\x00;\x00L\x00C\x00Z\x00B\x00\x0e\x00J\x00\x0e\x00M\x00;\x00\x02\x00V\x00\n\x00V\x00J\x00A\x00=\x00J\x00a\x00M\x00O\x00A\x00\x00\x01\x02\x00\x00\x14\x0e\x00\xab\x00@\x00a\x00@\x00\n\x00\x0e\x00@\x00\x0c\x00\x16\x00\x00\x00\x0c\x00\x01\x00\x02\x00\x16\x00\n\x00a\x00\x06\x00W\x00\x16\x00a\x00\x16\x00\x0e\x00G\x00=\x00;\x00@\x00\x00\x00\x1a\x00W\x00l\x00T\x00U\x01T\x00l\x00U\x00\xce\x00\x85\x00b\x00A\x00J\x00B\x00M\x00Z\x00]\x00\x8e\x00U\x00K\x00M\x00K\x00T\x00K\x00T\x00^\x00d\x00M\x00u\x00T\x00z\x01U\x00Z\x00\x98\x00\x92\x00m\x00\xd0\x00Y\x00o\x00M\x00[\x00V\x00A\x00J\x00A\x01V\x00\x04\x00\x00\x00F\x00;\x00\x00\x01;\x00O\x00\x00\x03)\x00.\x00\x00\x05\x0e\x00\x04\x00\x00\x01\x01\x00\x0e\x00@\x00\x00\x01S\x00\\\x01\xd5\x00^\x01\x87\x00\x90\x00\x93\x00\x85\x00\x95\x00N\x00Y\x00\xcc\x00\xa9\x00\x87\x00i\x00S\x01\\\x00\xa8\x00\xb8\x00\xcb\x00\xc9\x02\xcc\x00\xcd\x02\xcf\x00\xcb\x00\x90\x00\x87\x00^\x01i\x01\xd5\x00i\x00\\\x00C\x01J\x00\x00\x00;\x00O\x00\x00\x00J\x00<\x00B\x00;\x00A\x00g\x00A\x00V\x00;\x00\x1a\x01A\x00C\x00\x0e\x00\x1a\x00\x00\x00\n\x00\x1a\x00\x0c\x00A\x00\x1a\x00\x00\x00B\x00=\x00\x02\x00;\x00\x1a\x00=\x00\x02\x00\x0e\x00\x02\x00\x00\x17\x16\x00\x00\x00\x0c\x01\x00\x00\x0e\x00\x00\x00\x16\x00\x0e\x00\x00\x00\x16\x00\x02\x00\x0c\x00\x16\x00\x00\x00\x16\x00\x05\x00\x16\x01\x0c\x00G\x00\x00\x00\x16\x00\x05\x00\x02\x00;\x00\n\x00\x16\x01W\x00U\x00C\x00Z\x00J\x00A\x01\x95\x00\x9a\x00a\x00\x1a\x01C\x00Z\x00M\x00G\x00\x85\x00U\x00T\x00g\x00K\x00{\x00K\x00[\x00^\x00\x86\x00U\x00u\x00T\x00[\x00L\x00l\x00T\x00z\x00\xa0\x00l\x00c\x00o\x00u\x00B\x00\x1a\x00L\x00A\x00W\x00A\x00S\x00A\x00\x1a\x00\x00\x01G\x00;\x00\x00\x01\x02\x00;\x00\x02\x00\x00\x00S\x00\x17\x00$\x00\x05\x00\x00\a\x16\x00\x0c\x00\x02\x00;\x00\x0e\x00<\x00f\x00\\\x01i\x01\x87\x01\x93\x00\xa9\x00\xb8\x00\x90\x00P\x00`\x00\xcc\x00\xa9\x00\x87\x00\xb4\x00=\x00<\x00\\\x00Y\x00\xc9\x01\xb8\x00\xcc\x00\xcd\x02\xcc\x00\xcb\x00\x93\x00\x87\x02^\x01i\x02L\x00C\x00\x0f\x00\x1a\x00S\x00\x02\x00J\x00\x00\x00\n\x00B\x00\x05\x00J\x00\x0c\x00A\x01S\x00C\x00\x0c\x00B\x00O\x00\x00\x00J\x00\x0c\x00O\x00\x02\x00\x00\x00M\x00\x05\x00\x00\x00E\x00\x00\x01\x1a\x00\x00\x01;\x00\n\x00\x00!\x0f\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x16\x00\x00\x00\x0e\x00\x00\x00;\x00\x00\x01;\x00\x00\x00;\x00\n\x01W\x00B\x00W\x00A\x00\n\x00\x1a\x00N\x00\xce\x00p\x00U\x00C\x00J\x00M\x00=\x00Z\x00k\x00]\x00\x1a\x00Z\x00M\x00]\x00J\x00T\x00i\x00\x90\x00F\x00z\x00U\x00T\x00F\x00[\x00Z\x00T\x00\xb9\x00T\x00U\x00i\x01K\x00=\x00U\x00V\x00=\x00M\x00\xb4\x00f\x00@\x00\x1a\x00\x00\x01;\x00A\x00\x00\x02\x0c\x00S\x00\x87\x00\x81\x00/\x00\b\x00\x00\x06\x0e\x00\x0c\x00\x00\x00\x0e\x02=\x00\\\x01{\x01^\x00\x87\x01\xa9\x00\x90\x00\xb8\x00\xc9\x00\xa9\x00\xcd\x00\xcc\x00\xa9\x00\x93\x00\xd5\x00f\x00\\\x00\x90\x00\xcb\x00\xcc\x00\xcb\x00d\x00\xd0\x00\xcd\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x01\x87\x00^\x00i\x00M\x00z\x00\xbf\x00V\x00\x04\x00\x02\x00F\x00\x00\x00\\\x00M\x00\x0c\x00;\x00=\x00\x00\x00J\x00\x00\x00C\x00A\x00\x00\x00\x1a\x00\n\x00C\x00A\x00\x00\x00V\x00\x00\x00\n\x00\x1a\x00\x00\x00A\x00<\x00\x00\x00\a\x00\n\x00\x00\x00\x0e\x01\x00\x01\n\x00\x00!\x0e\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x01;\x00\x00\x00\x0e\x00\x0c\x00\x00\x00\b\x00\x00\x00\x0c\x00\x0e\x00\x00\x00\x0e\x00\x00\x01\n\x01\x16\x00S\x00\n\x01V\x00=\x00b\x00\xa6\x00\xbd\x00w\x00U\x00J\x00a\x00V\x00O\x00Z\x00E\x00B\x00]\x00C\x00[\x00O\x00L\x00K\x00[\x00A\x00z\x00B\x00K\x00U\x00L\x00g\x00y\x00\x9e\x00[\x00g\x00l\x00\xb4\x00o\x00M\x00C\x00Z\x00f\x00o\x00\x90\x00\xb4\x00\x00\x00;\x00\x1a\x00\x00\x01\x02\x00\x16\x00\x00\x02\\\x00\xcb\x00X\x008\x00\b\x00\x00\x04\b\x00\x0b\x00\x00\x01\n\x00=\x00\x00\x00\x05\x00A\x00\\\x00\xb4\x00i\x00^\x00\x87\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcc\x00\xbe\x00\xcc\x00\x90\x00\x93\x00\x87\x00\x93\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcb\x00\xc9\x01\xa9\x01\x90\x00\xd6\x00u\x00^\x00{\x00\\\x00M\x00a\x00\x99\x00\x8e\x00\x02\x00\x00\x00S\x00=\x00{\x00`\x00o\x00\x00\x00C\x00\n\x00\x00\x00V\x00\x00\x00A\x00\x16\x00\x00\x00O\x00\x0c\x00\n\x00C\x00\x00\x00\x1a\x00\x02\x00\x00\x00V\x00\x00\x01\x1a\x00\x00\x00A\x00\x16\x00\x00\x01;\x00\x00\x01\x0c\x00\x00&\x0e\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x02\x0e\x00\x0c\x00\x00\x01\x16\x00\x04\x00\n\x00\x81\x00\xba\x02\x8e\x00a\x00=\x00J\x00A\x00]\x00M\x00\x1a\x00]\x00C\x00Z\x00k\x00t\x00\x81\x00x\x00\x14\x00T\x00\x1a\x00Z\x00U\x00Z\x00A\x00K\x00\x8c\x01C\x00W\x00K\x00u\x00y\x00M\x00C\x00L\x00Y\x00\xb8\x00K\x00\x02\x00\x00\x00\x05\x00G\x00\x0c\x00\x00\x01\n\x00\x0c\x00\x00\x00\xb4\x00\x93\x00\xd9\x00*\x00\x0f\x00\x00\x04+\x00$\x00!\x00\x00\x00\xd5\x00\xa8\x00\xb4\x00O\x00\x02\x00C\x00{\x00i\x00\x87\x01\x93\x00\xa9\x00\xcb\x00d\x00\xcd\x01\xd0\x00\xcd\x00d\x00\x90\x00\x93\x00\x90\x01\xb8\x00`\x00d\x01\xc9\x03\xd1\x00\xc9\x00_\x00\xa9\x00\xcb\x00\x93\x00\\\x00\x04\x00S\x00@\x00T\x00\xc0\x00J\x00\x00\x01O\x00S\x00\xa9\x00\xcc\x00]\x00\x02\x00B\x00\x00\x00\x05\x00\x1a\x00\x00\x00;\x01\x00\x00A\x00\x00\x00\n\x00\x1a\x00\x00\x00;\x00\n\x00\x00\x00A\x00\x00\x01\x16\x00;\x00\x00\x00=\x00\x00\x02\x0e\x00\x000\x0c\x00\x00\x03\x04\x00\x00\x01\x0e\x00\x00\x02\x04\x00\x00\x00\x05\x00!\x00\x8c\x00\xba\x00\xbf\x00\xba\x00Z\x00\x04\x00U\x00=\x00\n\x00]\x00\a\x00J\x00B\x02'\x004\x00t\x00x\x00\x14\x00Z\x00;\x00J\x00W\x00P\x00;\x00V\x00r\x00\xb9\x00M\x00B\x00u\x00L\x00M\x00l\x00\n\x00]\x00\xbe\x00\xcb\x00C\x00\x1a\x00\x00\x01\x0e\x00\x16\x00\x00\x04S\x00\xb4\x00\\\x00Q\x00\x19\x00\x00\x03\x05\x000\x006\x00\x0b\x00S\x00\xa8\x00\xaa\x00\x87\x00<\x00\x00\x00=\x00C\x00L\x00^\x00\x93\x01\xa9\x01\xc9\x01\xcc\x00d\x00\xcd\x01\x90\x00_\x00\x90\x00\xb8\x01\xcc\x00\xbe\x00\xcc\x02\xc9\x00\xcb\x01\xcc\x00\xd8\x01\xda\x00X\x00O\x00\x0e\x00\x04\x00\x00\x00w\x00\x99\x00!\x00\x00\x00\x02\x00@\x00\\\x00\xd6\x00\xa9\x00=\x00\n\x00A\x00\x00\x00\x0e\x00;\x00\x00\x00A\x00\x00\x01\x1a\x00\x0c\x00\x00\x00O\x00\x00\x00\n\x00;\x00\x00\x00\n\x01\x00\x00\x0e\x00S\x00\x00\x01\x04\x00\x003\x0e\x00\x00\t\n\x00\x00\x02\x16\x00<\x00C\x00l\x00\xce\x00g\x00A\x00\x1a\x00!\x00\x1a\x00B\x00\x1a\x00T\x00=\x00U\x00<\x00m\x00\x84\x00\xdb\x00m\x00@\x00Z\x00\x16\x00L\x00=\x00J\x00A\x00\\\x00[\x00\xc0\x00[\x00A\x00T\x00[\x00Z\x00T\x00\n\x00f\x00\x85\x00{\x00\x05\x00\n\x00A\x00\x00\x01\n\x00;\x00\x00\x04\x02\x00\x0f\x00.\x00\t\x00\x00\x03\x05\x006\x01\x0b\x00\x02\x00\xa8\x00_\x00\xaa\x00\x02\x00\x00\x00\x16\x00\x00\x00V\x00Z\x00{\x00c\x00\x93\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x01d\x00\xcf\x00\xcb\x00\x90\x00\xa9\x00_\x00\xcc\x02\xd8\x00\xcc\x00d\x00\xd8\x02\xdc\x02\xda\x01\x16\x00\x0c\x00S\x00;\x00\xc0\x00Z\x00\x00\x01;\x00\x00\x00f\x00^\x00\\\x00\x00\x00\n\x00\x04\x00\x00\x00\x16\x00\x00\x01A\x00\x00\x01\x1a\x00\x00\x01C\x00\x00\x01;\x00\x00\x00\x0c\x00;\x00\x00\x01;\x00\x00DS\x00\x0e\x00\x02\x00\x00\x00D\x00\x8b\x00~\x00J\x00\x02\x00\x0c\x00V\x00\x05\x00C\x00\x1a\x00\x04\x00J\x00;\x00B\x00a\x00;\x00M\x00;\x00K\x00\x01\x00L\x00A\x00B\x00A\x00=\x00Z\x00\xae\x00\x9f\x00\x02\x00\n\x00K\x00A\x00=\x00V\x00\x00\x00\x02\x00\x1a\x00\x00\x01\x0e\x01\x00\b\x04\x00\"\x00\x20\x00\x00\x04$\x00\x84\x00\x05\x00\x00\x00f\x00\xaa\x00\xd5\x00\x02\x00!\x00\x0c\x01F\x00N\x00F\x00J\x00;\x00B\x00\x81\x00E\x00J\x00c\x00\x93\x00\xd6\x00\xa9\x02\xcc\x00\xd8\x02\xdd\x00\xd8\x01\xdc\x00\xda\x01\xdc\x01\xda\x00\xdc\x00\xda\x00\xde\x00\x00\x00S\x00k\x00\xbf\x00a\x00\x00\x04S\x00\x00\x01;\x00\x00\x01;\x00\x00\x01A\x00\x00\x01C\x00S\x00f\x01\x00\x01;\x00\x00\x01=\x00\x00F\x0c\x00;\x00\x00\x00\n\x00\x16\x00\x05\x00N\x00\xb2\x00G\x00\x0c\x00A\x01\x02\x00\x88\x00W\x00a\x00J\x00\x0c\x00]\x00a\x00S\x00g\x00\x02\x00J\x00\x0c\x00L\x00\x02\x00\x04\x00\x1a\x00\b\x00V\x00\x8e\x00\x9f\x00a\x00\n\x00A\x00\x04\x00\x05\x00\x1a\x00\x0c\x00\x00\x00\x04\x00;\x00\x00\x01\x04\x00\x0c\x00\x00\a\x0c\x00(\x00\x1d\x00\x00\x04G\x00\xab\x00\x00\x02\x02\x00\x00\x03\x04\x00@\x00a\x00G\x00@\x00\x00\x00q\x00\xb2\x00I\x00\x18\x00^\x01\x87\x00\xd6\x01\xd8\x01\xdc\x02\xd8\x00\xd6\x01\xdd\x00\xdc\x06\xdf\x00\x02\x00S\x00\x99\x00w\x00\x00\x05\x0e\x00\x00\x04@\x00\x00\x01=\x00\x00\x01i\x00\x90\x00\xcb\x00}\x00\x02\x00\x00\x00S\x00\x00\x01\n\x00\x00I;\x00S\x00\x00\x00a\x00\xce\x00q\x00\x05\x00g\x00E\x00\xa4\x01\xb0\x00\xa4\x00\xb3\x00N\x00g\x00a\x00;\x00W\x00S\x00U\x00a\x00M\x00\x0e\x00\x1e\x00\x1f\x002\x00\x12\x00r\x00\x8e\x00\x1a\x00\x00\x00\x05\x00J\x00\x00\x01\x1a\x00\x00\x01=\x00\n\x00\x00\x01\x02\x00\x00\a\x02\x00)\x01\x0c\x00\x00\x04\x0c\x00\x00\a\x02\x00\x00\x01\x0e\x00\x00\x01s\x00\xb2\x00\x18\x00V\x00\xa8\x00^\x00\x87\x00Y\x00\xd8\x00\xe0\x00\xda\x03\xdc\x01\xdf\x00\xa8\x01\xd9\x00\xdd\x00\xdc\x01\xe1\x00\xda\x00\xdc\x00\x0f\x00B\x00\xbf\x00\x1a\x00\x0c\x00\x00\x03\x0c\x01\x00\x01\x0c\x00\x00\x01\n\x00\x00\x01\n\x00\x00\x00S\x00\xa8\x00_\x00\xcc\x00\x85\x00S\x00\x00\x00\n\x00\x00L;\x00\x00\x01a\x00\x9d\x00\x8b\x00b\x00l\x00g\x01\x7f\x01~\x00\xb0\x00\xc3\x00\xb0\x00N\x00M\x00S\x00\x02\x00g\x00\x05\x00\x16\x00\t\x002\x01e\x00%\x00[\x00\x9e\x00B\x00\n\x00\x00\x00;\x00\n\x00\x00\x00\n\x00\x0e\x00\x00\x01\x0e\x00\x00\x05S\x01\x00\x03\x17\x00\x18\x00\x02\x00\x00\x10\x0c\x00\x00\x00\x0e\x00q\x00\x8b\x00\a\x00i\x00\x87\x00^\x00\xcb\x00\xdc\x00\xda\x01\xdc\x00\xda\x03\xdc\x01\xdd\x00\xa8\x00\xd5\x00\xa8\x00\xd9\x00\xdc\x01\xda\x00\xdc\x00\x12\x00[\x00\x9e\x00\n\x00\x00\x11v\x00{\x00o\x00C\x00\x02\x00\x00O\x0c\x00G\x00\a\x00D\x00\xce\x00N\x00\x00\x01G\x00\n\x00\x02\x00D\x00a\x00p\x00\xb7\x01\x89\x00;\x00\x05\x00B\x00\x12\x01\x17\x00\x1e\x00%\x00\x1e\x00\x11\x00Z\x00\xbf\x00M\x00@\x00\x00\x01A\x00\x00\x00\x05\x00;\x00\x00\bf\x00\xa8\x00^\x00S\x00\x00\x01\x1e\x00.\x00\x0e\x00\x00\x0f\x0c\x00\x00\x01\x0c\x00\x80\x00U\x00{\x00i\x00\xa8\x00\xdd\x00\xdc\x00\xda\x02\xdc\x01\xda\x05\xdc\x00\xd9\x00\xd5\x01\xa8\x00\xdd\x00\xdc\x00\xda\x00\xe2\x00\x9e\x00~\x00\x00g\x05\x00\x10\x00b\x01\x8b\x00~\x00\x05\x00\x0c\x00A\x00\b\x00\x02\x00G\x00S\x00\n\x00\x7f\x00\xb0\x00\xb7\x00N\x00\x04\x00C\x00S\x00\\\x00\xde\x00\xe3\x01\x1d\x00\x12\x00P\x00\x81\x00U\x00A\x00\x00\x01A\x00\x0c\x00\x00\x01\x0e\x00\x00\a\\\x00_\x00\xb8\x00{\x00\x00\x01\b\x00\"\x00\x1c\x00\x00\x13f\x00\\\x00\xb4\x00i\x00\xdd\x00\xd8\x00\xda\x02\xdc\x01\xda\x03\xdc\x00\xda\x00\xe1\x00\xda\x00\xdc\x00\xd8\x00o\x00\\\x00\xd5\x00X\x00\xda\x00\xd8\x00\xc0\x00B\x00\x00h\xab\x00\x88\x00~\x00\x80\x00\xb2\x00\x0b\x00\x0f\x00<\x00\x00\x00=\x01\x02\x00;\x00a\x00F\x00\xb7\x00\xb0\x00a\x00V\x00\xd5\x00\xaa\x00\xd3\x01\xd6\x00f\x00\x1c\x00\x11\x00w\x00c\x00S\x00\x05\x00\x00\x01\x0e\x00\x00\nf\x00\xb8\x00\xcc\x00c\x00\x00\x01\x05\x00\"\x00\r\x00\x00\x12S\x00f\x00\\\x00v\x00X\x00\xda\x0f\xe0\x00\xdd\x00\xd5\x00O\x00\xd5\x00X\x00\xe4\x00\x81\x00\n\x00\x00iN\x00p\x00W\x00\xb2\x00q\x00;\x00\x02\x01A\x00\x02\x00\x0e\x00W\x01b\x00\x9c\x00\xc3\x00~\x00{\x00f\x01\xd5\x00\xaa\x01v\x00\x02\x00\x12\x00\x11\x00w\x00\x00\x00@\x00\x00\x01\x0e\x00\x00\x0bC\x00c\x00C\x00\x00\x02\x18\x00\x20\x00\x00\x12S\x00f\x00\\\x00\xd9\x00\xdc\x01\xda\x01\xe0\x00\xdc\x01\xda\x01\xe0\x00\xdc\x00\xda\x06\xe1\x00\xd8\x00v\x00f\x00v\x00X\x00\x82\x00\x00jl\x00\x7f\x00\x0c\x00\x8f\x00m\x00S\x00\x05\x00\x02\x00A\x00\x0e\x00\x00\x00A\x00\x02\x00\x0c\x00D\x00\xa4\x00\xb3\x00C\x00\x04\x01A\x00S\x00f\x00\x16\x00\x00\x00\x12\x00k\x00\x81\x00\x00\x00\x0c\x00\x00\x14\x13\x01\x00\x12\x02\x00C\x00f\x00X\x00\xdc\x01\xe0\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x01\xe1\x01\xda\x00X\x00v\x00S\x00o\x00P\x00\x00i\x05\x00\x89\x01\x00\x00N\x00\x8b\x00\x0e\x00\x00\x00\x02\x00A\x00;\x00\x00\x00\x0e\x00\x0c\x00\x05\x00@\x00k\x01\n\x00\x0c\x00!\x00A\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x0f\x00c\x00\x9e\x00\n\x00\x00\x0e\x02\x00S\x00C\x00=\x00<\x00\x02\x00\x05\x00\t\x00)\x00\x0e\x00\x00\x11\n\x00\x1a\x00\\\x00\xdb\x00\xda\x00\xe0\x00\xdc\x00\xda\x00\xe0\x00\xdc\x01\xda\x00\xe0\x00\xda\x01\xdc\x00\xda\x01\xe0\x01\xda\x00\xe0\x01\xda\x00\xe0\x00\xe2\x00f\x01\x12\x00\x00jE\x00\x8a\x00a\x00\x01\x00\xce\x00b\x00\x02\x00\x04\x00;\x00W\x00a\x00\x05\x00\x0c\x00\x00\x00a\x00\x1c\x00\t\x00\x05\x01O\x00\x01\x00\x04\x02\x05\x00\x01\x00\x1a\x00\xbf\x00=\x00\x00\x0ef\x00^\x00_\x00\xcc\x00`\x00v\x00\x00\x00\b\x00\"\x00\b\x00\x00\nS\x01\x00\x03\x02\x00S\x00m\x00V\x00\xe0\x00\xda\x00\xdc\x00\xe0\x00\xda\x00\xdc\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\b\xe1\x00v\x00<\x00f\x00\x02\x00\x00iB\x00\x9b\x00\x7f\x00!\x00\x8b\x00s\x00\x04\x00\x02\x00!\x00=\x00W\x02A\x01\a\x00\r\x00@\x00;\x00\x12\x02\x03\x00\x12\x00\x01\x00\x02\x00B\x00\xbf\x00B\x00\x00\x0ef\x00^\x00\xa9\x00\xcb\x00`\x00A\x00\x00\x01\x1f\x00\x19\x00\x00\tS\x00\xa8\x00\xd5\x00S\x00\x00\x03A\x00\xb2\x00P\x00\xe5\x00\xe0\x00\xda\x01\xe0\x01\xda\x00\xe0\x06\xda\x01\xe0\x03\xda\x00\xe0\x00\xe1\x00\x82\x00S\x01<\x00\x00j\x89\x00\x96\x00\x88\x00s\x00\x9d\x00\x0b\x00\x02\x00!\x00\x0c\x00<\x00S\x00\x16\x00A\x00b\x00g\x01F\x00J\x01F\x00\a\x00\x16\x00\x04\x00\x05\x00\x00\x00=\x00\xbf\x00J\x00\x00\x0ff\x01\\\x00=\x00\x00\x02\x13\x00\x17\x00\x00\b\x02\x00\xd5\x00\xaa\x00\xa8\x00S\x00\x00\x03s\x00\xb2\x00\x82\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\x00\xe0\x00\xda\x00\xe0\x00\xdc\x00\xe0\x00\xdc\x00\xe0\x02\xda\x02\xe0\x01\xdc\x00\xe6\x00f\x00\x00\x00S\x00\x00jW\x00\x9b\x00\x96\x00\x8a\x005\x00b\x01~\x00N\x00\x02\x00\x05\x00\x0c\x00\x05\x00\r\x00l\x00\x13\x00\t\x00a\x00=\x00g\x00E\x01W\x00\x00\x01<\x00\x92\x00E\x00\x00\x0f\x05\x00\x00\x05\x03\x00)\x00\x02\x00\x00\aS\x00\xa8\x00\xaa\x00\xd5\x00\x00\x03\x05\x00s\x00\x8b\x00X\x00\xdc\x00\xe0\x12\xe5\x00\xe0\x02\xde\x00\x05\x00S\x00\x00\x15\x0c\x00\x00\x00\x0c\x00\x004\x02\x00f\x00\xd5\x00f\x00\x02\x00\x00\nf\x00M\x00L\x00{\x00M\x00C\x00\x02\x00\x00\x06)\x00\x8f\x00\x96\x01\x89\x00\xb1\x00\xb0\x00\x88\x00\x00\x02\b\x00\x1d\x00\r\x00#\x01\x04\x00\x05\x00\x0c\x00;\x00F\x00E\x00D\x00\x0c\x01\x81\x00z\x00\x00\x16\x04\x00#\x00\x01\x00\x00\aS\x00\xd5\x01S\x00\x00\x03\b\x00\x80\x00\x81\x00\xe1\x00\xe0\x0b\xe5\x00\xe0\x05\xe5\x01\xdc\x00\xe0\x00\xe5\x00\xe7\x00\x05\x00\x00\x15\x04\x00\x17\x00\x18\x00\x1a\x00\x004\\\x00\xaa\x01\xa8\x01\x00\x05\x05\x00\x00\x01<\x00]\x00\x85\x00|\x00\x86\x00\xa2\x01\x91\x00\x85\x00M\x00\x00\x04\x05\x00+\x00j\x00(\x00\x9a\x00\xc6\x00\x8a\x00W\x00\x00\x00\x05\x00\x00\x01\x12\x00\x17\x00\x1e\x00#\x01\b\x00\x0c\x00\x00\x01\n\x00F\x00N\x00@\x00\x05\x00\x8e\x00w\x00\x00\x17)\x00\x16\x00\x00\x01\b\x00\x1c\x00\x05\x00\x00\x04\x02\x00\x00\x04\x05\x00\x80\x00x\x00\xe5\x00\xe0\x01\xe1\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x00\xe5\x00\xe0\x04\xdf\x00\b\x00\x00\x00\x02\x00\x00\x12\x0b\x00$\x006\x00-\x00\x16\x00\x004\xb4\x00\xa8\x00\xaa\x02\x02\x00\x00\x06=\x00]\x00;\x00S\x00\x04\x00S\x00\x02\x00=\x00^\x00\x91\x00\xa2\x00z\x00<\x00\x00\x01\x02\x00\x12\x00\xdf\x00\xe8\x00\xe9\x00\xdd\x00\x82\x00V\x00S\x00\x02\x01\x00\x00\x05\x00\x1e\x01\x17\x00\x1e\x00%\x00\t\x00\x00\x00\x02\x00\x04\x01\n\x00E\x00A\x00\x04\x00w\x00\x8e\x00\x00\x17\x15\x00\x20\x00\x00\x00\x1c\x00j\x01\x1e\x00\x00\n\x05\x00~\x00\x81\x00\xe5\x00\xe0\x01\xe5\x00\xe0\x02\xe5\x01\xe0\x0b\xe5\x00\xe0\x01\xe5\x00\xd4\x00\b\x00\x00\x00\x02\x00\x00\x11\x05\x00)\x00/\x000\x00\x13\x00\x005\x02\x00f\x00\xa8\x01\\\x00\x00\x05\x0c\x00C\x01\x00\x06S\x00\x8c\x00\xad\x00\x8d\x00\x85\x00\x02\x00\x04\x00P\x00\x12\x00\xd5\x01P\x00\xe2\x00\xdd\x01v\x00\x00\x00\x02\x00\x00\x00\x1c\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01\x04\x00\x05\x00\n\x00\x0c\x01F\x00\x02\x00\x0c\x00k\x00\x99\x00\x00\x17\x0b\x00\x1d\x00\x1c\x00h\x00j\x01\x1e\x00\x05\x00\x00\n\x8f\x00\xd7\x00\xe5\x01\xe0\x01\xe5\x0c\xe0\x00\xe5\x02\xe0\x00\xe5\x02\x82\x00\x04\x00\x00\x01\x05\x01\x00\x10\x1d\x00\x13\x00\b\x00\x05\x00\x006\x02\x00S\x00\x00\a\x02\x00c\x00\x02\x00\x00\al\x00\xae\x00\xad\x00\x91\x00u\x00P\x00\x0f\x00f\x00\xa8\x00\xaa\x00\xa8\x00\xb4\x00\x82\x00\xdd\x01\x12\x00\x1c\x00\t\x00\x20\x00%\x01\x20\x00#\x00%\x01\b\x00B\x00F\x01G\x00\x0c\x00\x02\x00\x00\x00Z\x00\xbf\x00\x00\x18\x20\x00\x1e\x00j\x01h\x00\x1c\x00\b\x00\x00\bS\x00\x00\x00m\x00\xe6\x00\xe5\a\xe0\x00\xe5\x00\xe0\x00\xe5\x00\xe0\x00\xe5\n\xe6\x00\xe7\x00\x04\x00\x00\x01S\x00\x05\x00\x00\x10\x0c\x00\x02\x00\x00BK\x00i\x00\x00\x06\x04\x00J\x00\x8e\x00\xac\x00\xba\x00\x91\x00\xa2\x00\xa8\x00v\x00\xa8\x00\xaa\x01\xd3\x00\xaa\x00\x1b\x00\x11\x00\xdd\x00\xe7\x00\b\x01#\x00%\x00\x1d\x02%\x002\x00\x20\x00=\x00A\x00\x0c\x01\x00\x00\x04\x00\x0c\x00]\x00\xc0\x00\x00\x03\x05\x00\x00\x01\x0c\x00\x00\x10\x03\x00\x1e\x00\x20\x00\x1e\x00\b\x00\x00\nS\x00\x02\x00m\x00\xe1\x00\xdc"
b"\x00\xe6\x00\xe5\x16\x12\x00\x0c\x00\x00\x01\x05\x00\x1c\x00\x1e\x00\x1c\x00\x00R\n\x00\x85\x00{\x00\x00\x05\x02\x00E\x00T\x00E\x00\x89\x00\x98\x00\xa0\x00\xa2\x00\x87\x00S\x01\x04\x01\xa8\x00\xd5\x00@\x00\x8b\x00\xdd\x00\xe7\x00\x04\x00\b\x00\x18\x00#\x00\x17\x00\x20\x00\x1d\x00>\x01\x1d\x00\x14\x00S\x00\x00\x01\x02\x00\x05\x00\x00\x00Z\x00\xbf\x00\x02\x00\x00\x02\x05\x00,\x00\r\x00\x01\x00\x00\x06\x0b\x00(\x00t\x00\a\x00\x00\x05\b\x00\x06\x00\x0e\x00\x05\x00\x00\x0bf\x00S\x00\x8b\x00\xe6\x01\xe5\x04\xe4\x00\xe5\n\xea\x00\xe5\x02\xe4\x00\xe5\x00\xe4\x00f\x00\x00\x02\x1e\x00j\x02\b\x00\x00Q\x02\x00\x91\x00L\x00\x00\x05[\x00\x1a\x00\x05\x00\x02\x01;\x00T\x00\x86\x00^\x00\x05\x01\x00\x02\x0f\x00!\x00\x8f\x00\xe2\x00\x12\x00\x00\x00\x20\x002\x00%\x00>\x00\x1e\x00>\x00%\x00>\x01\x1d\x00\x03\x00\x05\x00\x00\x00\x0c\x00\x05\x00\x00\x00E\x00\xbf\x00\n\x00\x00\x02\x01\x00t\x00\x84\x00(\x00\x05\x00\x00\x02\x0c\x00\x04\x00\b\x00\x01\x00H\x00G\x00,\x00\x01\x00;\x00\x0b\x00\b\x00\x0e\x00\x04\x00\x0c\x00\x0e\x00\x00\x00\x05\x01\x00\nv\x00S\x003\x00\xe1\x00\xe5\x01\xe4\x00\xe5\x00\xe4\x00\xe5\x02\xe4\x00\xe5\r\xe4\x00\xc8\x00\x00\x02\x05\x00h\x00j\x02\b\x00\x00Q\x04\x00\x85\x00}\x00\x00\x04=\x00\x9e\x00\x89\x00\x0c\x00\n\x00\x02\x00\x05\x00<\x00\xdf\x00v\x00\x05\x00\x0f\x00\xde\x00S\x00\x05\x00\x03\x00\b\x00s\x00\x82\x00S\x00\x04\x00\x18\x00%\x01\x20\x01+\x00\x1f\x00%\x01>\x00#\x00\b\x00\x00\x03U\x00\xbf\x00=\x00\x00\x02\x04\x00,\x00\x03\x00,\x00:\x00\x03\x00\a\x00\x1b\x01\a\x00\x19\x00\r\x00\x1b\x01\x19\x00\x1b\x00\x19\x00\x1b\a\x03\x00\x01\x01\x0e\x00\x00\av\x00A\x003\x00\xe6\x00\xea\x00\xe5\x00\xe4\x00\xe5\x00\xe4\x06\xe5\x02\xea\x01\xe5\x00\xea\x00\xe5\x00\xe4\x01\xe5\x01\xea\x00P\x00\x00\x01\x05\x01h\x00j\x01h\x00\x05\x00\x00Rz\x00\x8d\x00f\x00\x00\x03S\x00\x99\x00\xae\x00\x8e\x00l\x00M\x00B\x00V\x00\xc8\x00P\x00\x04\x00\xe2\x00\xdd\x00\xe7\x00\x0f\x00\x12\x01\x17\x01\b\x00,\x00+\x00)\x00\x1d\x02>\x00%\x012\x00%\x00>\x00\b\x00\x02\x00\x00\x02M\x00\x92\x00=\x00\x00\x01\x05\x00\x06\x00\x03\x00G\x00\x03\x00,\x00:\x01,\x00:\x02,\x00\x03\x01:\x01,\x00\x06\x00:\x00,\x00:\x00,\x00:\x00,\x00\x06\x00:\x01,\x00\x03\x00\x01\x00\x00\x06v\x00C\x00\xc8\x00\xe4\x00\xea\x01\xe5\x00\xe4\b\xe5\x00\xe4\x04\xe5\x00\xe4\x00\xea\x00\xe5\x00\xea\x00\xdb\x00=\x00\x02\x02\a\x01\x1c\x01\x05\x00\x00SV\x00\xa2\x00\x85\x00S\x00\x00\x02\x05\x00;\x00\x89\x00\x8c\x00\x9e\x01\xbd\x00\x9e\x00\x92\x00\x99\x00\x8e\x00\x85\x00d\x00`\x00X\x00\xdf\x00\x11\x00\x12\x00\x03\x00\x0b\x00\x20\x00+\x00\x13\x00s\x00\x17\x00>\x01\x1d\x00#\x002\x00)\x00\b\x00\x02\x01\x05\x00\x00\x01L\x00\x81\x00A\x00\x00\x02\x0e\x00\x0b\x00\x01\a\x0b\x00\x01\x02\x0b\x00\x01\x0c\x0e\x00\x00\a\\\x00B\x00X\x00\xe4\x01\xea\x00\xe5\x00\xe4\x06\xe5\x00\xe4\x03\xe5\x00\xe4\x02\xea\x00\xe5\x00\xea\x01\xe7\x00\x00\x00\n\x00f\x00<\x00\xe7\x00P\x00\x05\x00\x00U\x02\x00u\x00\xa2\x00|\x00f\x00\x00\x01<\x00C\x00S\x00\x00\x00\n\x00A\x00\x1a\x00\x85\x00|\x00\x8e\x00c\x00\x95\x00\x9e\x00\xc0\x00\x98\x00K\x00@\x00\b\x00\x1e\x02>\x00\x1d\x00\x17\x00>\x00\x20\x01\x13\x00\x20\x00%\x00+\x00\t\x00\x00\x01\x05\x00\x00\x00\x05\x00U\x00\x81\x00\x1a\x00\x00\x06\x0c\x01\x05\x00!\x00\x05\x00\x0e\t\x04\x00\x05\x01\x0e\x00\x04\x01\x05\x00\x00\n\\\x00i\x00\xe1\x00\xe5\x00\xe6\x00\xe5\x00\xea\x01\xe4\x0c\xea\x00\xe4\x00\xe5\x00\xea\x00\xe5\x00\xe1\x00v\x00S\x02f\x00\xdb\x00P\x00\x05\x00\x00V<\x00\x90\x00\xa2\x00\x86\x00]\x00f\x00\x85\x00\xa2\x00{\x00\x00\x02\x12\x00\xe9\x00\x82\x00\xe9\x00\xde\x00\x0c\x00<\x00E\x00\x99\x00\xba\x00r\x00;\x00\x10\x00\x20\x00\x1e\x00>\x00\x20\x02>\x00\x20\x00>\x00%\x01+\x00%\x00\x05\x00\x0c\x00\x05\x00\x00\x01M\x00w\x00G\x00\x00\b\x05\x01\x00\x0b\x0c\x00\x00\a\x02\x00\x00\x01\x05\x00\x00\x03\\\x00\xb4\x00X\x00\xea\x06\xe4\x00\xea\t\xe5\x00\xea\x03\x14\x00S\x00f\x00S\x00f\x00\xde\x00\xe5\x00\x14\x00\x05\x00\x00W=\x00o\x00\x8e\x00\xa2\x00\x91\x00\x86\x00o\x00\x04\x00\x00\x02\x11\x001\x00\xdf\x00\xe9\x00\xd4\x00\b\x00\x04\x00\x00\x00=\x00\x85\x00\xba\x00y\x00\x01\x00\x18\x00+\x00\x1f\x00%\x01#\x00\x1e\x00#\x00>\x002\x01+\x01\b\x00\x05\x00\x00\x02W\x00w\x00\x1a\x00\x00\x05\x05\x00\x0e\x00\x0f\x00\x02\x00S\x00\x0f\x00f\x00C\x00O\x00=\x00S\x01\x02\x00=\x00S\x00C\x00;\x01\x02\x00\x05\x00\x00\b\x05\x00\b\x00\x00\x01\x02\x00\\\x00\xd5\x00X\x00\xe4\x00\xea\x02\xe4\x00\xea\x02\xe6\x00\xea\x06\xeb\x00\xea\x04\xe6\x00v\x01f\x00\x0f\x00v\x00X\x00\xeb\x003\x00\x00\x02\x0c\x00\x00Vf\x00C\x00\x1a\x00=\x00\x00\x03\x04\x00\xd4\x00v\x00\\\x00\xd4\x00\xe9\x00\x0f\x00\x05\x00\x0c\x01=\x00\xb3\x00\xbd\x00\x16\x00+\x00\x1f\x01.\x00+\x00\x1d\x00\x20\x00\x1d\x00#\x00%\x00)\x00h\x00\xe3\x00\t\x00\x00\x03B\x003\x00\x1a\x00\x00\x05\\\x00^\x02\x93\x00\x87\x00^\x01\xd5\x01\xb4\x01v\x00\\\x00v\x00\\\x01v\x02f\x00O\x00f\x00\x02\x00\x0c\x00\x00\x02\x05\x00\x1e\x00h\x00\x1c\x00\x00\x01v\x00o\x00Y\x00\xeb\x00\xea\x04\xeb\x00\xe4\x00\xeb\x00\xea\x0b\xe6\x00\xe2\x00f\x01A\x00f\x00P\x00\xeb\x00\xea\x00X\x00\x02\x00\x05\x00\x0b\x00\x06\x00\x0c\x00\x00P\x0c\x00J\x00k\x00[\x00J\x00\x00\x05\x02\x00\x00\x00\a\x00\xd4\x00v\x00f\x00\xe7\x00\xec\x00\x11\x00\x02\x01\x04\x00S\x00E\x00\x8e\x00\a\x00\r\x00)\x00+\x01%\x00\x1d\x00\x20\x00#\x00%\x02+\x002\x00#\x00\x05\x00\x00\x02B\x00c\x00\a\x00\x02\x00\x00\x03\x04\x00P\x00\xd6\x00_\x00\xaa\x00\xa8\x00^\x00i\x00^\x00i\x00\xd5\x00i\x00\xd5\x00v\x00\\\x00f\x00\\\x00f\x01\x0e\x00S\x00f\x00v\x00o\x00\x04\x00\n\x00\x00\x02\x1c\x00j\x01\x20\x00\x00\x01\\\x00^\x00i\x00\xde\x00\xc8\x00\xea\x01\xe6\x00\xeb\x00\xea\x03\xe4\x00\xea\x06\xeb\x00\xea\x01\xe6\x00v\x00\\\x00v\x00C\x00\xb4\x00\xe6\x00\xea\x01X\x00\x04\x00\x1d\x006\x00-\x00\x0b\x00\x00PE\x00\xbf\x00\xba\x00\xae\x00\xbf\x00A\x00\x00\x02\x05\x00\x1c\x00\t\x00\x10\x00\xe3\x00\xed\x00\xdf\x00\xd4\x00\xe9\x00\xed\x00\xd4\x00\n\x00]\x00[\x01y\x00=\x00\x14\x00b\x00\x10\x00\x1f\x00%\x01\x1d\x00\x20\x00#\x00\x1e\x00>\x00%\x00h\x00e\x00+\x00\b\x00\x0c\x00\x00\x01G\x00c\x00V\x00\x00\x04\x0c\x00\\\x00\xcb\x00\xee\x00\xbe\x00\xcc\x01\xd1\x00_\x00\xa9\x00\x93\x04\xd6\x01\x93\x00\xd6\x00\xb8\x00\xc9\x00\xcc\x00\xcb\x00v\x00\x05\x00\b\x00\x00\x00\x05\x00\b\x00h\x00j\x01\x1c\x00\x00\x01\xb4\x00^\x00o\x00=\x00\x0f\x00v\x00\x82\x00\xdb\x00\xe6\x00\xea\x01\xeb\x00\xea\x00\xeb\x00\xea\x02\xeb\x00\xea\x04\xeb\x00\x82\x00v\x00\\\x02\xd9\x00\xeb\x00\xea\x01\xdb\x00\x03\x008\x000\x00-\x00W\x00\x00PV\x00\xbf\x00\xba\x00\xc0\x00\x95\x00\x02\x00\x05\x00\b\x00)\x00R\x001\x00+\x00%\x00\xec\x00\xed\x00\xe8\x01\xe9\x00\xdb\x00\xef\x00c\x00\x8c\x00\x85\x00Z\x00\x04\x00\b\x00s\x00b\x00\xab\x00)\x01%\x00#\x00\x20\x00\x1d\x00%\x00#\x00%\x002\x00+\x00e\x00\x1c\x00\x04\x00\x00\x01B\x00c\x00\x1a\x00\x00\x05S\x00\xde\x00\xee\x00\xf0\x01\xee\x01\xf0\x02\xee\x00\xf0\x02\xee\x01\xf0\x01\xee\x00\xf0\x00\xee\x00\x87\x00S\x00\x0e\x00\x00\x02\b\x002\x00e\x00\x1c\x00\x05\x00\x00\x01i\x00\x87\x00^\x00C\x00\x00\x00\x04\x00\x0f\x00S\x00\x12\x00\x10\x00\xe7\x003\x00X\x00\xc8\x00X\x003\x00\x82\x00\x11\x00\x14\x00\x11\x01k\x00P\x01\xb4\x00v\x00\\\x01P\x00\xe6\x00\xea\x02\xdb\x00\x1d\x00/\x000\x00\x14\x00\x00R\x1a\x00E\x00U\x00\n\x00\x00\x00\x1c\x00\x20\x00\t\x00\x1c\x00\b\x01\x12\x00\xed\x02\xe8\x00\xed\x00\xec\x01\x12\x00S\x01\x00\x00\x05\x00\r\x00g\x01G\x00\x13\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x012\x00\xe3\x002\x00\x1f\x00#\x00\x05\x00\x00\x01\x1a\x00w\x00A\x00\x00\x05\x0e\x00C\x00\xcc\x00\xee\x00\xf0\x03\xf1\x00\xd2\x00\xf1\x00\xf0\x02\xf1\x00\xf0\x04\xcb\x00\xb4\x00\x04\x00\x0e\x00\x05\x00\x00\x02\b\x01!\x00\b\x00\x05\x01A\x00\\\x00v\x00;\x00\x00\x03\x0c\x00\x04\x00\x0f\x04\x01\x01\x16\x00\x01\x01G\x00\x03\x00\x01\x00O\x00\\\x00\xd5\x00\\\x00\xb4\x00\xc8\x00\xeb\x00\xea\x00\xeb\x01\xe6\x00\x01\x00n\x00\x13\x00\x05\x00\x00V\b\x001\x00\x1c\x00\x0c\x00\x00\x01\x04\x00\xd4\x00\xf2\x011\x01R\x03+\x00\x1c\x00\x00\x00\x05\x00\x13\x00g\x02\xab\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x01+\x00%\x00\x13\x01\x1f\x00\b\x00\x00\x01O\x00w\x00\x16\x00\x00\x05!\x00\x16\x00^\x00\xf0\x00\xf1\a\xf0\x00\xf1\x01\xd1\x00\xc9\x00\xd6\x00\xd5\x00\\\x00A\x00\x0b\x00,\x00G\x00,\x00\x03\x00\x19\x02\a\x00\x1b\x01\a\x01\r\x00\a\x02\x06\x02,\x00;\x00\x16\x00\x0e\x00\x00\x01\x0e\x00\x01\x00\x0f\x00\x01\x06{\x00\xb4\x01o\x00\xde\x00\xeb\x05\x0f\x00!\x00\x00X\t\x00R\x00\x1c\x00\x00\x00\x04\x00\x05\x00\x0f\x00\xec\x00\xed\x001\x00R\x00\xe8\x00R\x001\x00\xf3\x00R\x01%\x00\x04\x00\x01\x00F\x00g\x00F\x00g\x00G\x00\x13\x00%\x00\x1d\x00\x20\x00>\x00%\x02e\x00+\x00)\x00e\x00\t\x00\x04\x00\x00\x00O\x00w\x00;\x00\x00\x05!\x00\x03\x00\\\x00\xd1\x00\xf1\x01\xd2\x00\xf1\a\xaa\x00f\x00O\x00\x03\x00:\x00\x1c\x00H\x00\x06\x00\x1b\x00\x06\x03\x03\x00\x06\x02,\x00\x03\x00\x06\x01:\x05,\x00\x06\x02\x01\x00\x00\x01\b\x00\x01\x05\x12\x00\xb4\x00i\x00\xd5\x01\xd0\x00\xe6\x00\xea\x00\xeb\x00\xea\x00\xeb\x01\x0f\x00\x00Y\x03\x00R\x00Q\x00\x1c\x00\x05\x01\x17\x00\xef\x00\xed\x001\x00\xec\x00\xdf\x00\xed\x00\xec\x00\xf2\x00\xec\x00R\x00\x18\x00\x05\x00\a\x00F\x00g\x00b\x00g\x01\x10\x00)\x00%\x00\x1d\x01#\x00%\x002\x00h\x002\x00e\x01#\x00\x00\x01B\x00w\x00\x00\a\x01\x00\x0f\x00^\x00\xf1\x04_\x00\xaa\x00\xd1\x00\xf1\x00\xd2\x01\x93\x00\x04\x01\x0f\x00\x01\x00\x03\x00,\x00\x03\x00\x0b\x00\x01\x03\x06\x00,\x02\x03\x00,\x01\x01\x00\x03\x00\x01\x00,\x00:\x00,\x01\x01\x03\x0b\x00\x00\x01\x16\x00\x01\x02,\x01\x01\x00{\x00i\x02Y\x00\xeb\x02\xea\x01\xeb\x00\xf4\x00f\x00\x00Z#\x00R\x01\x1e\x01\xe8\x00\xf2\x00X\x00\xc8\x001\x00\xe8\x01\xe9\x00\xed\x00\xec\x00R\x00\x03\x00\x00\x00\x10\x00\x88\x00g\x04\x1b\x00\a\x00\r\x00\x1d\x00#\x002\x01+\x01e\x01\x1f\x00\b\x00\x00\x00D\x00\x82\x00\x00\a!\x00\x0b\x00o\x00\xd1\x00\xf1\x03^\x00\xd6\x00\xaa\x00\xd2\x01\xf1\x01\\\x00\x05\x00\x00\x01\x02\x00\x0e\x00\b\x00\x0b\x00\x0e\x00\b\x00\x0b\x00\x0e\x02\x0b\x00@\x00\x0b\x02\b\x00\x0b\x01\b\x00\x16\x00\x0e\x00\x04\x00\x0e\x01\x0c\x00\x00\x02\x05\x00\x01\x03,\x01\x03\x00\xd5\x00i\x01{\x00\xe7\x00\xeb\x05\xf4\x00\x12\x00\x00[\x1e\x00Q\x00R\x02\xf5\x003\x001\x00\xed\x00\xe8\x01\x18\x001\x00\xf5\x001\x00\b\x00=\x00g\x06B\x00W\x00D\x00A\x00\x01\x00\x15\x00%\x00+\x001\x00e\x02\x1c\x00\x05\x00J\x00k\x00\x00\a\x05\x00\x01\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xd1\x00_\x00\xd1\x01\xf1\x01\xd2\x00\x93\x00\x02\x00\x00\x0e\x05\x00\x00\r\x01\x02\x03\x00,\x01\x01\x00\x1a\x00o\x00i\x00\xa8\x00V\x00\x82\x00\xeb\x06\x12\x00\x00[\x05\x00\b\x00\x1d\x001\x00R\a\xf5\x00\xec\x00\xf6\x00\x12\x00\x1a\x00\x7f\x00g\x00E\x00g\x01W\x00B\x00g\x00W\x03\x0b\x00)\x00h\x00.\x00e\x02\x1d\x00\x05\x00J\x00k\x00\x00\b\x0b\x00\x03\x00\xd5\x00\xf1\x01\xd2\x01\xf1\x00\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x02\xb4\x00\x00\x01\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x01\x02\x01\x00\x01\x02\x02\x00\x04\x02\x00\x00\a\x05\x00\x01\x02\x03\x00,\x02V\x00^\x02V\x00\x14\x00\xeb\x00\xf4\x00\xeb\x04\x10\x00\x00]\x0f\x001\x00\xf5\x01\xec\x001\x00\xed\x00\xe8\x00\xed\x00\xec\x02\xf6\x00\xd4\x00g\x00\x88\x00g\x03D\x00g\x00B\x00W\x02\x01\x00\x1d\x00+\x01e\x04>\x00\x10\x00P\x00\x00\b\x04\x00,\x00O\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x01\xf1\x00^\x00\x00\x01\x02\x00v\x01{\x00\xde\x00^\x01\xde\x00o\x00\xd5\x00\xb4\x00\\\x02f\x00v\x00\\\x01v\x00A\x00;\x00\x0e\x00\x0f\x00\x02\x00\x00\x02\x01\x00\x03\x00,\x01:\x00,\x01\x06\x00V\x00^\x02\x10\x00\x11\x00\xf4\x00\xeb\x01\xf4\x00\xeb\x00\xf4\x00\xeb\x00P\x00!\x00\x0c\x00\x00[\x12\x00\xf2\x00\xec\x03\xe9\x01\xe8\x00\xed\x01\xf2\x00\xf6\x00\xef\x00J\x00N\x00E\x00g\x01\x88\x00g\x03D\x00G\x00\x20\x00%\x01h\x00e\x00h\x00e\x01j\x01#\x00]\x00\x00\t\x0b\x00G\x00^\x00\xd2\x03\xd1\x00\xd6\x00\xaa\x00\xd6\x00\xd3\x00\xd2\x00\xf1\x00\xd6\x00S\x00\x00\x00O\x00\x93\x00\x87\x00\x93\x00\x87\x00^\x01\xa8\x00\xd5\x00i\x00\xb4\x02\\\x00v\x01f\x00S\x01\x02\x01S\x00f\x00V\x00\x00\x00\x05\x00S\x00\x01\x00:\x00,\x04\x1c\x00{\x00^\x02V\x00\x14\x00\xeb\x01\xf4\x00\xeb\x02\xf4\x00P\x00\x00]\x11\x00\xd4\x00\xf2\x00\xec\x001\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xc8\x00\xef\x00\xf2\x00\xf6\x00k\x00g\x00U\x00\x7f\x00g\x03D\x00g\x00D\x00\x15\x00#\x00%\x01+\x002\x01e\x02j\x00#\x00M\x00\x00\t\x0e\x00:\x00{\x00\xd1\x00\xd3\x00\xd2\x02\xd1\x01\xd2\x00\xd1\x02\xde\x00@\x00\x00\x00\x0e\x00c\x00\xcc\x00\xd1\x00\xd6\x01\x93\x00\xd6\x00^\x01\xa8\x00\xd5\x00\xa8\x00\xd5\x02\xde\x00i\x00^\x00\xa8\x00^\x00\xd6\x00Y\x00f\x00\x05\x01O\x00\x01\x00,\x01:\x00,\x00:\x01\x1b\x00\x10\x00\x87\x02{\x00\x11\x00\xf7\x00\xeb\x01\xf4\x03P\x00\x00\\\x04\x00\xe8\x00\xe7\x00\xef\x00\xec\x00\xef\x00\xed\x00\xe8\x01\xc8\x00\xd5\x00v\x00\xe7\x00\xf3\x00\xf8\x00\x82\x00g\x00\x7f\x00g\x00\x88\x00g\x03W\x00G\x00\x1d\x00>\x00)\x002\x01e\x01\xe3\x00e\x00I\x00e\x00\r\x00O\x00\x00\n\x01\x00\a\x00\xd6\x00\xd1\x05\xd2\x01\xd1\x00_\x00V\x00G\x00\b\x00S\x00\xb4\x00\xbe\x00\xee\n\xf0\x00\xee\x06o\x00;\x00\x00\x00\x0e\x00\x01\x00,\x04:\x00\x06\x00\x03\x00\x10\x00^\x00\x93\x00u\x00o\x00\x14\x00\xeb\x00\xf4\x05\x82\x00\x00\\\x12\x00\xdf\x00\xd9\x00\xdf\x00\xf2\x00\xef\x00\xed\x00\xe8\x01\xc8\x00v\x01\x11\x00\xf6\x01\xf3\x00E\x00g\x01\x7f\x00g\x03G\x00\x15\x00#\x00%\x01+\x01\xe3\x002\x00h\x00e\x02\x12\x00O\x00\x00\n\x0f\x00\x06\x00^\x00\xd1\x04\xd3\x00\xd1\x00\xd3\x00\xd1\x00^\x00:\x00\x06\x00\x05\x00\b\x00\x0f\x00\x93\x00\xf0\r\xee\x00\xf0\x01\xee\x00\xc9\x00S\x00\x04\x00\x05\x00\x01\x00G\x00\x03\x00,\x02:\x01\x06\x00\x19\x00\x06\x00^\x00\x93\x00u\x00^\x00\x82\x00\xf7\x00\xf4\x05P\x00\x00\\\xd4\x00\xe2\x00\xd9\x00\xe7\x00\xdb\x00\xef\x00\xc8\x01\xe8\x00\xe9\x00\xe8\x00\xd4\x00\xf2\x01\xf9\x00\xf8\x00s\x00N\x00\x7f\x00g\x01\x88\x00F\x00g\x00G\x00\x1d\x01\x17\x00\x13\x01+\x00h\x01\xe3\x00e\x00j\x00Q\x00\x1d\x00\x01\x00\x00\n\x0c\x00\x1c\x00o\x00\xd1\x02_\x00\xd1\x02_\x00\xd1\x00\xde\x00\x06\x00\x03\x00\x00\x00\x0e\x00\x0f\x00\\\x00\xc9\x00\xf0\x01\xf1\x01\xf0\x01\xf1\a\xf0\x00\xf1\x00\xf0\x00o\x00\x16\x00\x0f\x00\b\x00\x01\x00G\x00\x01\x00,\x00:\x02\x06\x01\x19\x00\x06\x00^\x00\x93\x02c\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xeb\x00\xf7\x00\x82\x00\x00[\x02\x00\xc8\x00\xd9\x00\xe2\x00\xe7\x00\xdf\x00\xec\x00\x82\x01\xdf\x00\xe9\x00\xed\x00\xef\x00\xec\x00\xdb\x00\x82\x003\x01\x7f\x00g\x05G\x00\x20\x00\x1d\x00#\x00\x14\x00)\x002\x00h\x00\xe3\x00e\x03\x1f\x00\x0f\x00\x00\x0b\x01\x00\x06\x00\xaa\x00_\x00\xaa\x00\xd5\x00\xaa\x00\xd1\x02\xd6\x00O\x00\x03\x00\x0e\x00\x00\x01\x0f\x00;\x00\xd6\x00\xf0\x01\xf1\x06\xd2\x00\xf1\x00\xd2\x00\xf1\x03\xcb\x00C\x00\b\x01\x01\x00:\x00,\x03:\x01\x06\x00\x03\x00\x06\x00\t\x00V\x00\x93\x00\x90\x00\x93\x00Y\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00\xd7\x00X\x00\x00Z\x02\x00\x10\x00\xd4\x00\xd9\x01\xe7\x01\xef\x00\xe9\x01\xe8\x00\xe9\x00\xed\x00\xef\x00\xf3\x01\xe9\x01\xdb\x00g\x00\x7f\x00g\x00J\x00g\x00b\x00g\x00D\x00\x17\x00\x1d\x00#\x00%\x002\x00h\x01e\x03j\x00.\x00\x01\x00\x00\x04\x0c\x00a\x01\x00\x03\x04\x00\t\x00^\x00\xd3\x00\xaa\x00\xd5\x00\xa8\x00_\x02^\x00\x06\x00\x1b\x00\x00\x01\x0c\x00\b\x00\x0b\x00\xd5\x00\xd1\x00\xf1\x03\xf0\x00\xd1\x01\xd2\x00\xf1\x06\xa8\x00\x16\x00\b\x00\x01\x00:\x00,\x02:\x01\x06\x02G\x00\a\x00\x19\x00G\x00c\x00\x93\x00\x90\x00\x93\x00\xd0\x00\xf7\x01\xf4\x01\xf7\x00\xf4\x00\xc8\x00\x00[\xe2\x00\xd9\x02\xe2\x01\xed\x01\xe8\x00\xed\x03\xf2\x01\xf6\x00\xf9\x00\xf8\x00\x10\x00E\x00g\x01\x7f\x00g\x01D\x00\x15\x00>\x00#\x00%\x012\x00+\x00\xe3\x00e\x01j\x00e\x00R\x00\t\x00\x02\x00\x00\x02\x1a\x00\x9b\x00\xbc\x00\x95\x00p\x00\x00\x03\a\x00{\x00\xd6\x00_\x04\xd6\x00\xb4\x00\x06\x00\x01\x00\x00\x02\x0c\x00\x0b\x00O\x00\xd6\x00\xf1\x01\xd2\x00\xf1\x00\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x03\xd1\x00v\x00\x0b\x00\x01\x00\x03\x00,\x02:\x02\x06\x01\x19\x01H\x00\x19\x00H\x00\a\x00\x87\x00\xa9\x02\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00X\x00\x00Z\x0f\x00\xd9\x00\xdd\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xd9\x00\xdf\x01\xed\x01\xf2\x00\xec\x01\xf6\x00\xf8\x00\xf9\x00\x18\x00\x10\x00\x13\x00F\x00g\x02B\x00\xab\x00#\x012\x00+\x02e\x03R\x00j\x00)\x00\x00\x03E\x00\x8a\x00\xbc\x00\x9b\x00\x89\x00\x0c\x00\x00\x02\x01\x00\x1b\x00^\x00_\x00\xaa\x00_\x00\xaa\x00_\x00\xa8\x00\a\x00\x1b\x00\x05\x00\x00\x03\b\x00\x0b\x00^\x00\xd2\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xa8\x01\xd1\x00\xd2\x00\xf1\x03\xd2\x00\x93\x00\x16\x00\x01\x01,\x03:\x01\x06\x01\x1b\x00\x19\x01H\x00\a\x01:\x00P\x00\x90\x00\xa9\x00\x93\x00\xcf\x00\xf7\x00\xf4\x00\xf7\x01\xfa\x00X\x00\x00Z\x12\x00\xd9\x01\xdf\x00\xd9\x02\xe2\x03\xe7\x00\xd4\x00\xe9\x00\xf2\x00\xf5\x00\xf3\x00\xf5\x00\xf9\x00\xf3\x001\x00e\x00\x18\x00F\x00g\x00b\x00g\x00\a\x00#\x01%\x00.\x00e\x002\x00e\x02I\x00e\x00I\x00\x1d\x00\x00\x04=\x00B\x00W\x00\x0c\x00\x00\x03\x0e\x00\a\x00\xde\x00_\x00\x93\x00\xaa\x01\xd6\x00o\x00\x19\x00\a\x00\x00\x04\x05\x00\x03\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x01\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x00\xd2\x00{\x00\x01\x01,\x02:\x02\x03\x00\x06\x01\x1b\x00\x19\x00\x1b\x02\r\x00\x15\x00\a\x00K\x00_\x00\xa9\x00\x90\x00\xe6\x00\xf7\x01\xf4\x00\xf7\x00X\x00\x00Y\n\x00\xe2\x00\xdf\x01\xd9\x02\xe2\x03\xde\x00\xe2\x00\xde\x00\xd4\x00\xec\x01\xf5\x00\xf8\x00\xf9\x00\xf5\x00.\x00e\x00+\x00)\x00\x10\x00b\x00g\x00\x10\x00\x1d\x00#\x00%\x00+\x00e\x03j\x00e\x00Q\x00.\x00\xab\x00=\x00\x00\x0c\x1b\x00V\x00\xaa\x04V\x00\x1b\x00\x12\x00\x00\x04f\x00V\x00\x01\x00\xde\x00\xd2\x02\xf1\x01\xaa\x00\xd6\x01\xaa\x00\xd2\x01\xf1\x00\xd6\x00\x01\x02,\x02:\x01\x06\x00H\x00\x1b\x00\x19\x02\x1b\x01H\x00\x19\x00\x15\x00\r\x00\x10\x00c\x00\xb8\x01Y\x00\xf4\x01\xf7\x01t\x00\x00Y\x0f\x00\xdf\x01\xd9\x04\xe2\x01\xde\x00\xe2\x02\xe8\x00\xec\x00\xf2\x00\xf6\x00\xf9\x01\xfb\x001\x00\x1f\x01+\x00\x18\x00\x17\x00\xab\x00\x1b\x00\x1d\x00%\x012\x02e\x03j\x00)\x00g\x00W\x00\x00\x0c\x01\x00\x10\x00\xa8\x02\xaa\x00\xa8\x00\x10\x00\x15\x00\x0e\x00\x00\x03\x04\x00o\x00c\x00\x01\x00V\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01_\x03\xd2\x02\xde\x00,\x00\x01\x00,\x01:\x02\x06\x01\x19\x04\x1b\x03\x15\x01\r\x00P\x00\xcb\x00\xb8\x01\xcf\x00\xf7\x01\xf4\x00\xd7\x00\x00YP\x00\xdd\x00\xdf\x01\xd9\x03\xe2\x02\xde\x00\xe2\x00\xe8\x00\xef\x00\xec\x00\xf2\x00\xf6\x01\xf9\x00\xfb\x00\xf5\x001\x00.\x002\x01)\x00\x17\x00\x15\x00\x1d\x00#\x00%\x002\x00+\x002\x00e\x03.\x00\x15\x00g\x00V\x00\x00\x0c\x05\x00\x10\x00\xde\x00\xa8\x03\a\x00\x1b\x00\x00\x04\x02\x00Y\x00\xcc\x00\x10\x00\x16\x00\x93\x00\xd2\x02\xd1\x00\xd3\x00\xd1\x01\xd2\x01\xd1\x00_\x00v\x00,\x00G\x00:\x02,\x00\x06\x02\x19\x00\x1b\x00\x19\x00\x1b\x04\x15\x03\x13\x00\xeb\x00`\x00\xb8\x01\xe6\x00\xf7\x00\xf4\x00t\x00\x00W\x05\x00\x04\x00\xe7\x00\xdd\x01\xd9\x03\xe2\x00\xd9\x00\xe2\x02\xd4\x00\xf2\x00\xef\x00\xf2\x00\xf6\x01\xf9\x031\x00\x1f\x00+\x002\x00%\x00\x1d\x00\x20\x00#\x01)\x002\x01e\x02)\x00%\x00\x10\x00b\x00g\x01a\x00\x00\x0c\x1b\x00V\x00\xd5\x00\xa8\x00\xd5\x00V\x00\r\x00\x01\x00\x00\x04\x02\x00\xcc\x00d\x00P\x00O\x00\xde\x00\xd1\a\xd2\x00\xd1\x00\x93\x00\x16\x00\x01\x00\x03\x00:\x00,\x00:\x00\x06\x02\x19\x00\x1b\x00\x19\x01\x1b\x02\x15\x05\x13\x00\xfa\x00\xe6\x00\xcb\x00\xb8\x00\xcc\x00\xf7\x01\xd7\x00\x00Xv\x00\xdd\x00\xdf\x02\xd9\x03\xe2\x02\xd4\x00\xe8\x00\xed\x01\xf2\x00\xf6\x01\xf8\x01\xf9\x011\x00\x1f\x00+\x00)\x00%\x00\x1d\x00\x20\x00\x1d\x00>\x002\x02+\x00%\x00:\x00D\x00G\x00g\x01V\x00g\x00W\x00\x00\x0c,\x00\x06\x00\xb4\x00\xd5\x01\a\x00\r\x00\b\x00\x0c\x00\x00\x02\x0c\x00\x02\x00\xcd\x00d\x00\xde\x00\a\x00\xb4\x00_\x00\xd1\x03\xd3\x00\xd1\x03P\x00\x1c\x00\x01\x00\x03\x00\x06\x03\x19\x01H\x00\x1b\x00\x19\x00\x1b\x03\x15\x04\r\x00\x10\x00\xf7\x01\xe6\x00\xcb\x00\xc9\x00\xcf\x00\xf7\x00\xd7\x00\x00X\xd4\x00\xdd\x00\xdf\x00\xdd\x00\xdf\x00\xd9\x03\xe2\x01\xd9\x00\xe8\x01\xec\x00\xef\x00\xf2\x01\xef\x00P\x00\x12\x00\xf3\x00\xfb\x00\xf3\x00+\x00\x1f\x002\x00%\x00#\x00\x20\x00\x1d\x00%\x012\x01e\x00+\x00\x15\x00G\x00g\x00b\x00g\x00\x1a\x00W\x00\x1a\x00\x0c\x00\x00\x0b\x01\x00\a\x00v\x00\xb4\x01\a\x00\r\x00\x00\x05\x02\x00\xcf\x00d\x00O\x00\x0f\x00\x03\x00\x93\x00\xd1\x04_\x00\xd1\x00\xd3\x00_\x00\x19\x00\x03\x00G\x00,\x00\x06\x03\x19\x01\x1b\x06\x15\x05P\x00\xfa\x00\xf7\x01\xe6\x00\xcb\x01\xe6\x00\xd7\x00\x00W\x0e\x00\xdb\x00\xc8\x00\xdd\x00\xdf\x01\xdd\x00\xd9\x03\xe2\x00\xdf\x00\xe8\x01\xc8\x00\x82\x00\xdb\x00\xf2\x001\x00v\x01\xd4\x00\xf8\x00\xf9\x002\x00+\x002\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01%\x002\x01e\x00+\x00,\x00W\x00B\x01g\x02\n\x00\x00\x0b\x05\x00\a\x00v\x00f\x00v\x00\x1b\x00\x03\x00\x00\x05\x02\x00\xcc\x00`\x00S\x00\x05\x00H\x00P\x00_\x01\xaa\x00\xa8\x00_\x00\xd1\x00_\x00\xd1\x00^\x00\a\x00:\x01,\x00\x06\x00,\x00\x1b\x00\x19\x01\x1b\x00\x19\x00\x1b\x03\x15\a\x17\x00\xf7\x03\xe6\x00\xcb\x00`\x00\xd7\x00\x00W\x12\x00\xf2\x00\xdd\x02\xd9\x01\xdd\x00\xe2\x00\xd9\x01\xe2\x00\xd4\x00\xe8\x00\xed\x00\xc8\x00\x82\x00\xef\x00\xf2\x00\xdb\x00\xd4\x01\xf8\x00\xfb\x00\xf9\x00\x1f\x00\x18\x00+\x00%\x00\x1d\x00\x20\x00\x1d\x00\x1e\x00#\x00%\x002\x00+\x00e\x01\x13\x00D\x00g\x01D\x00g\x01W\x00\x00\x0c\x19\x00\x12\x00f\x00\x01\x00\x1b\x00\x0f\x00\x00\x05\x04\x00Y\x00`\x00\x04\x00\x00\x00\x06\x00V\x00\x93\x00\xd1\x00\xa8\x00\xd5\x00\xaa\x00_\x00\xd1\x00_\x00\xde\x00\a\x00:\x01\a\x00\x06\x00H\x00\x1b\x00\x19\x02\x1b\x03\x15\a\r\x00\x17\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xd7\x00\xcb\x00\xd0\x00\x02\x00\x00V\xdf\x00\xdb\x00\xdd\x03\xd9\x04\xe2\x00\xe7\x00\xdf\x00\xed\x02\xf2\x01\xf6\x00\xf8\x03\xfb\x00\xec\x00\xe3\x00\x18\x00%\x00\x1d\x00\x20\x00#\x00%\x012\x01e\x02I\x00\x15\x00W\x01D\x00g\x00B\x00g\x00\x00\x0c\x01\x00\x06\x00<\x00O\x00\x1b\x00\x0e\x00\x00\x06Y\x00d\x00\x04\x00\x00\x00\x0b\x00\x12\x00^\x00_\x00\xaa\x01_\x02\xd6\x00V\x00H\x00:\x00\x06\x01:\x00H\x00\x19\x01\x1b\x04\x15\ts\x00\xd7\x00\xfa\x01\xf7\x02\xe6\x00\xcb\x00v\x00\x00U\x0f\x00\xf8\x00\xed\x00\xdd\x02\xd9\x00\xdd\x00\xd9\x03\xe2\x00\xd9\x00\xe8\x00\xed\x01\xef\x00\xf2\x02\xf9\x01\xfb\x00\xf9\x00\xfb\x00\xf9\x00\x14\x00\x13\x00%\x00\x1d\x00\x20\x00\x1d\x00%\x002\x01%\x00\x18\x00+\x00e\x01\x10\x00b\x01g\x00W\x00g\x00F\x00\x04\x00\x00\x0b\x0b\x00\x06\x00\x01\x00\x06\x00\x1b\x00\x0c\x00\x00\x06\xde\x00\xcf\x00C\x00\x00\x00\x0c\x00\x06\x00P\x00\xaa\x00_\x02\xaa\x00_\x00o\x00\x03\x00H\x00:\x00\x06\x01:\x00\x1b\x00\x19\x01\x1b\x04\x15\t\x17\x00\xf7\x02\xfa\x00\xf7\x01\xfc\x00\xd0\x00Y\x00\x00U\x11\x00\xf8\x00\xed\x00\xdd\x01\xdf\x00\xdd\x00\xed\x00\xe8\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xed\x02\xef\x00\xf3\x00\xf5\x00\xf6\x01\xf8\x00\xf9\x01\xfb\x013\x00\x13\x00%\x00\x1d\x01#\x01%\x002\x00\x18\x00\x10\x00)\x00e\x01\x15\x00W\x00B\x00g\x00D\x00g\x00D\x00\x16\x00\x00\x0b\x05\x00:\x00\x06\x01\x03\x00\x00\ao\x00\xcd\x00v\x00\x00\x01,\x00V\x00\xaa\x00_\x00\xaa\x00_\x00\xaa\x00_\x00P\x00\x1b\x00\x19\x00\x06\x02\x1b\x00\x19\x01\x1b\x04\x15\ns\x00\xd7\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xfa\x01Y\x00\xd5\x00\x00T\x18\x00\xf8\x00\xdb\x00\xdd\x00\xf2\x00\xdb\x00\xf2\x00\xf8\x00\xf2\x00\xdd\x00\xd9\x02\xe2\x00\xdf\x00\xed\x01\xec\x001\x00\xf3\x00\xf6\x00\xf9\x04\xfb\x00\xd4\x002\x00#\x00\x1d\x00\x20\x00#\x01)\x002\x00+\x00)\x00+\x00e\x00Q\x00\xab\x00D\x00W\x00\x1b\x00\r\x00\xab\x00b\x00\x06\x00\x00\x0b\x05\x00G\x00:\x00\x06\x00\x01\x00\x02\x00\x00\x06O\x00\xcf\x00\xde\x00\x00\x01\x0f\x00\x10\x00^\x00\xaa\x02\xd6\x00\xa8\x00\x12\x00\r\x00\x03\x00\x19\x00:\x00\x06\x00\x19\x01\x1b\x03\x15\x0c\x17\x00\xfa\x01\xf7\x00\xfa\x03\xd7\x00\xb4\x00X\x00S\x00\x00R\x0f\x00\xfb\x04\xf8\x02\xf2\x01\xed\x00\xdf\x00\xd9\x00\xe7\x00\xdf\x00\xe9\x00\xed\x00\xec\x01\xf3\x01\xf9\x01\xf5\x01\xf8\x00\xef\x00\xd4\x00\x18\x00#\x01\x20\x00\x1d\x00%\x012\x01e\x02\xe3\x00:\x00W\x00\x17\x001\x00Q\x00I\x00.\x00Q\x00\x1c\x00\x00\n\x05\x00\x03\x00:\x00\x06\x00\b\x00\x00\aA\x00\xcf\x00Y\x00\x02\x00\x00\x01\a\x00P\x00\xa8\x01\xaa\x01o\x00\a\x00\x1b\x00\x19\x01\x1b\x00\x19\x01\x1b\x04\x15\x0cq\x00\xd7\x00\xfa\x00\xf7\x00\xfa\x02\xfc\x00\xd7\x00S\x00c\x00^\x00\x04\x00\x00P\x02\x00\x11\x00\xfb\x02\xf8\x003\x00\xe9\x00\xf8\x00\xf6\x00\xf5\x00\xf2\x01\xed\x00\xdf\x00\xd9\x00\xdf\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf2\x00\xf6\x00\xf9\x03\xfb\x00\xe8\x00\xe7\x00\x18\x00%\x00\x1d\x03%\x002\x00+\x01e\x01\x1f\x00\x01\x00\x17\x00.\x00j\x00R\x00j\x00R\x01\x1e\x00\x00\x0b\x01\x00,\x01\x0e\x00\x00\a\x02\x00X\x00\xcd\x00\xd5\x00\x05\x00\x00\x00\x06\x00\x10\x00\xa8\x01\xaa\x00\xa8\x00o\x00\x15\x00\x19\x00H\x00\x19\x00\x1b\x06\x15\r\x17\x00\xfa\x04\xfc\x00\xfa\x00\xd7\x00W\x00{\x00`\x00\x0f\x00\x00P\x02\x001\x00\xfd\x00\xf8\x00\xdb\x00\xfd\x00\xc8\x00\xdb\x00\xf9\x00\xf5\x00\xf3\x00\xf5\x00\xef\x01\xed\x00\xe8\x00\xdf\x00\xe8\x00\xed\x00\xef\x00\xf2\x01\xf6\x00\xf9\x03\xf3\x00\xe7\x00\xe2\x00\xd4\x00%\x00\x1d\x00\x20\x00\x1e\x01%\x012\x00e\x002\x00e\x00+\x002\x00j\x01Q\x00R\x01j\x00I\x00\b\x00\x00\n\x05\x00\x16\x00,\x01!\x00\x00\a\x02\x00c\x00\xcd\x00Y\x00\x04\x00\x00\x00\x01\x00\x10\x00\xd5\x00\xa8\x02\x10\x00\x15\x00\x19\x01H\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfe\x00\xfa\x03\xf7\x00\xfa\x00\x16\x00C\x00`\x00V\x00\x00P\x0f\x00\xfb\x00\xf8\x00c\x00\xde\x00\xe9\x00\xfb\x00\xf8\x00\xf9\x00\xf8\x00\xf3\x00\xec\x01\xef\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xef\x01\xf2\x00\xf6\x00\xf8\x01\xdb\x00\xef\x00\xdf\x00\xd9\x01\xe7\x00\x18\x00\x1d\x01\x20\x00%\x012\x00\xe3\x001\x00e\x02R\x00e\x00Q\x00j\x01R\x00Q\x00\x1e\x00\x00\x0c\x0e\x00\x01\x00\x06\x00\x00\to\x00\xcd\x01O\x00\x00\x00\x04\x00\r\x00v\x00\xd5\x02\r\x00\t\x003\x00\x06\x00\x19\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfc\x00\xf7\x00\xfc\x00\xfa\x00\xfc\x01\xfa\x00\x0f\x00S\x00`\x00\xe2\x00\x02\x00\x00N\x05\x00\x11\x00\xfd\x00\xdb\x00P\x00]\x003\x00\xf8\x00\xfb\x00\xf8\x00\xf6\x02\xef\x01\xed\x00\xe8\x01\xed\x01\xef\x01\xf6\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x03\xd9\x00\xe7\x00\x11\x00\x13\x00\x20\x00#\x00%\x012\x01e\x06R\x00j\x00e\x00\x1c\x00\x00\r\b\x00\x01\x01\x00\tf\x00\xd0\x00\xcd\x00\x12\x00\x00\x01\x19\x00v\x00\xb4\x00\xd5\x00v\x00H\x00\x14\x00\xfa\x003\x00\x06\x00\x19\x00\x1b\x02\x15\x10\x10\x00\xd7\x00\xfa\x01\xfc\x00\xfa\x01\xfc\x00\xd7\x00O\x00\x04\x00\xcb\x00Y\x00S\x00\x00N\x05\x00\xf3\x00\xfb\x01\xdb\x00\xe9\x00\xfd\x00\xf8\x01\xf9\x00\xe9\x003\x00\xf3\x00\xf2\x00\xef\x00\xed\x01\xe8\x00\xed\x01\xec\x01\xf2\x00\xf6\x00\xed\x00\xde\x00\xe2\x04\xe7\x01\x13\x00\x10\x00\x1d\x00%\x02+\x00e\x04j\x01\x1f\x00\x20\x00\x05\x00\x00\x0e\b\x00\x01\x01\x00\tS\x00X\x00`\x00S\x00\x00\x01\x01\x00\x12\x00v\x00\\\x00V\x00H\x003\x00\xfa\x00\xfc\x003\x00\r\x00\a\x00\t\x00\x15\x10\t\x00\r\x00\xd7\x00\xfc\x00\xfa\x00\xfc\x03\xfa\x00O\x00\x02\x00\xcb\x00\xcf\x00S\x00\x00N\x12\x00\xfd\x00\xfb\x03\xfd\x00\xf5\x00\xf9\x00\xf3\x00V\x01\xd4\x00\xf2\x00\xed\x01\xe9\x00\xe8\x00\xe9\x00P\x00V\x00\xd4\x00\xf2\x00\xf8\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x04\xd4\x00\x11\x00\x20\x00>\x00#\x00%\x002\x00+\x01\x1f\x00\xe3\x00e\x00\x1f\x00\x1d\x00\b\x00\x05\x00\x00\x10\x05\x00\x01\x00\x16\x00\x00\nc\x00\x82\x00\x04\x00\x00\x01\x0e\x00\x10\x00f\x01\a\x00\x1b\x00t\x00\xf7\x00\xfc\x01\xd7\x00\x14\x00\a\x00\x15\x03\r\x01\x15\t\r\x00\x10\x00\x81\x00\xfe\x01\xfa\x00\xfc\x00\xf7\x00\xfc\x01\xf7\x00\x0f\x00\x02\x00X\x00d\x00\\\x00\x00L\x02\x00\x00\x00\x18\x00\xfd\x00\xfb\x03\xf8\x00\xfb\x00\xf8\x00\xef\x00P\x00v\x00\xd4\x00\xf2\x00\xef\x00\xed\x00\xe8\x02v\x00\\\x00P\x00\xf6\x01\xf9\x01\xdf\x00\xe2\x03\xd9\x01\r\x00\x1c\x00\t\x00\x1e\x00\t\x00\x1e\x00\t\x00\x1c\x01\b\x01\x05\x00\x00\x13\x04\x00\x0b\x01\x00\nV\x00c\x00\x00\x03\a\x00\x0f\x01G\x00\x1b\x00\xfc\x00\xfa\x00\xfc\x03t\x003\x00P\x00\a\x00\r\x00\x10\x00\x15\x01\x10\x00\x15\x00\r\x00\x10\x00\x15\x00\r\x01\x12\x00\x11\x003\x00\xd7\x00\xfc\x04\xfa\x00\xfc\x01\xd7\x00\x05\x00\x02\x00X\x00\xcd\x00P\x00\x00L\x04\x00\x0f\x00\xf8\x00\xfb\x01\xfd\x00\xf9\x00\xfb\x01\xf9\x02\xf2\x00\xec\x00\xef\x02\xed\x00\xe9\x00\xe8\x00\xe9\x00\xe7\x00\x11\x00\xe9\x00\xf2\x00\xf6\x00\xf9\x01\xf2\x00\xe7\x00\xe2\x02\xd9\x01v\x00\x00\a\x05\x00\x00\x15\x05\x00\x0e\x00\x0b\x00\x00\n<\x00\x16\x00\x00\x03\x03\x00\x16\x01\x01\x00\x05\x00t\x00\xfc\x03\xfa\x00\xfc\x01\xfa\x00t\x003\x00\x14\x00\x17\x00\x10\x00\a\x00\x15\x02\r\x00P\x00\x18\x00t\x00\xfe\x00\xfc\x03\xf7\x00\xfc\x03\xfa\x00\x82\x00\x00\x01c\x00\xcd\x00c\x00\x00M\x12\x00\xfd\x00\xfb\x01\xf5\x01\xfb\x00\xf9\x00\xf8\x00\xf9\x01\xf2\x01\xdb\x00\x82\x01\xec\x00\xed\x00\xe8\x00\xed\x01\xef\x00\xf2\x00\xef\x00\xdb\x00\xf6\x00\xf9\x00\xf8\x00\xe7\x00\xd9\x00\xe2\x00\xd9\x00\xe2\x00\xd9\x00\xde\x00\x00\x1f\x0e\x00\x0b\x00\x00\x10\x01\x00\x1b\x00\x03\x00\x1b\x00\x16\x00\x10\x00\xfc\a\xfa\x00\xfe\x01\xfa\x00\xd7\x019\x00\xd7\x02\xfe\x01\xfc\n\xd7\x00=\x00\x00\x01P\x00\xcd\x00Y\x00\x05\x00\x00K\x04\x00\x1f\x00\xfb\x01\xfd\x01\xf8\x00\xfb\x01\xf9\x03\xf6\x00\xf3\x00\xc8\x01\xed\x00\xe8\x00\xc8\x00\xed\x01\xef\x00\xec\x003\x00c\x00\xf2\x00\xf9\x00\xf2\x00\xde\x00\xe2\x00\xde\x00\xe2\x02\xd9\x00S\x00\x00\x1e!\x00\x0e\x00\x00\x10\x0e\x00G\x00\x06\x01\x0e\x00\x02\x00t\x00\xfa\x00\xfe\x00\xfc\x06\xfe\x01\xfc\x00\xfe\x03\xfc\x00\xfa\x00\xfc\x0bk\x00\x0c\x00\x00\x01v\x00\xcd\x00\xcf\x00\x00L\x0f\x00\xf9\x00\xfb\x01\xf8\x00\xf3\x00\xf8\x00\xfb\x01\xf8\x01\xf9\x00\xf8\x00\xf6\x01\xef\x01\xed\x00\xe9\x00\xe8\x00\xed\x02\xf2\x00\xdb\x01\xf8\x01\xf2\x00\xe2\x02\xe7\x00\xd9\x02\x12\x00\x00\x1e\x0c\x00\x00\x11\x0b\x00\x06\x01,\x00\x0e\x00\x00\x00\x0f\x00t\x00\xfc\x06\xfe\x00\xfa\x00\xfc\x06\xfe\x00\xfc\t\xfe\x003\x00\x05\x01\x00\x01\x0f\x00`\x00\xcf\x00S\x00\x00\b\x05\x00\x00@\x05\x00\x17\x00\xfd\x00\xfb\x00\xfd\x00\xdb\x00\x82\x00\xfd\x00\xfb\x00\xf8\x00\xfb\x00\xf8\x02\xf2\x01\xec\x00\xef\x00\xed\x01\xdd\x00\xe3\x00\xe9\x00\xec\x01\xf2\x00\xf6\x00\xf9\x01\xed\x00\xd9\x00\xe2\x00\xe9\x00\xfb\x01\xf8\x00\xf2\x001\x00\x05\x00\x000\x0e\x00\x03\x02\x00\x02\x0b\x00\xd7\x00\xfe\x00\xfc\x06\xfe\x00\xfc\x01\xfe\x00\xfc\x02\xfe\x01\xfc\a\xfe\x00\xc8\x00\x02\x00\x00\x04c\x00\xd0\x00f\x00\x00\b\x05\x00\x00A\x03\x00\xfb\x04\xf9\x00\xf5\x00\xe3\x00R\x00\xf8\x00\xf9\x00\xf8\x00\xf2\x02\xed\x00\xef\x00\xe8\x01\x11\x00%\x00\xe3\x00\xef\x00\xf2\x00\xf6\x00\xf9\x00\xf8\x00\xe9\x00\xe2\x00\xe9\x00\xfb\x04\xf8\x00\x04\x00\x001\x01\x00\x03\x00\x01\x00\x00\x03\x0f\x003\x00\xff\x00\xfe\x01\xfc\x01\xfe\x00\xfc\x00\xfe\x02\xfc\x00\xfe\x00\xfc\x00\xfe\x05\xfc\x01\xfe\x02\x11\x00a\x00\x0c\x00\x00\x04v\x00\xd0\x00o\x00\x00\x05\x02\x00\x00\x01\x05\x00\x00A\x05\x00\x11\x00\xfd\x00\xfb\x02\xfd\x00\xe3\x00e\x00\xe3\x00\xf9\x01\xf8\x00\xf6\x00\xf2\x01\xef\x00\xe9\x01\xd4\x00\x11\x00\x1e\x00\xe3\x00\xec\x00\xf2\x00\xf8\x00\xf9\x00\xf8\x00\xec\x00\xf2\x00\xfb\x04\xfd\x00\x11\x00\b\x00\x00\x18\x0c\x00\x00\a\x0c\x00\x05\x00\x04\x00\x0e\x00\x02\x00\x00\n\x03\x00\x01\x01\x00\x04\x05\x00V\x003\x00\xff\x00\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xfc\x00\xfe\x03\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xff\x00\xd7\x00\x82\x00\x16\x00\x00\b\xde\x00X\x00\x02\x00\x00\x04S\x00\xe2\x00c\x00\xd5\x00<\x00\x00A\x05\x00\xd4\x00\xfd\x00\xfb\x02\xf6\x00\xe3\x00R\x00\xf9\x00\xf8\x01\xf3\x00\xec\x00\xef\x01\xe9\x00\xe8\x01\xe3\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf5\x01\xf9\x00\xf8\x00\xfb\x00\xf9\x00\xfb\x031\x00\x04\x00\x00\x15\x0f\x00\x01\x00,\x00\x01\x01\x0e\x00\x00\a\x04\x00\x01\x00\x16\x00\x03\x00\x01\x00\x0e\x00\x0c\x00\x00\a\x01\x00,\x00\x01\x00\x00\x06\x0c\x00\x16\x00\x14\x00t\x00\xd7\x00\xff\x00\xfe\x00\xfc\x00\xfe\x06\xff\x00\xfe\x00\xd7\x003\x00\x10\x00\x0b\x00\x00\nS\x00X\x00\xb4\x00\x02\x00\x00\x00\x0c\x00\x00\x00f\x00X\x00\xd0\x03P\x00\x00A\x0f\x00\x11\x00\xf3\x00\xfb\x01\xf9\x00\xfb\x00\xf9\x02\xf6\x00R\x00\xf3\x01\xef\x00\xe9\x00\xe2\x00\xe8\x00\xed\x00\xe8\x00\xf2\x00\xf6\x001\x00\xf5\x00\xf9\x01\xfb\x00\xf8\x02\xfb\x00\xfd\x00\x11\x00\x04\x00\x00\x14\x01\x00\a\x00\x1b\x00\a\x00,\x00\x01\x00\b\x00\x05\x00\x00\a\x0e\x00\x0b\x00\x01\x00,\x00\x19\x00\x1b\x00\x06\x00\x0e\x00\x00\x06\x01\x02\x00\x06\x0c\x01\x00\x01@\x00O\x00\x10\x00\x14\x00\x11\x00\x14\x00k\x00\x11\x00\x14\x00P\x01\x10\x00\x16\x00\x05\x00!\x01\x05\x00\x0c\x00\x00\n<\x00\x82\x00P\x00\\\x01\x82\x00\xcf\x00\xd0\x02X\x00P\x00\x04\x00\x00A\x05\x01\x04\x00\x17\x00\xe9\x00\xfb\x01\xf8\x00\xf9\x01\xf8\x00\xf6\x00\xf3\x00\xf2\x00\xef\x00\xc8\x00\x82\x00\xd4\x00\xed\x00\xef\x00\xec\x01\xf2\x00\xf6\x00\xf8\x01\xf9\x00\xfb\x01\xf6\x00\xd4\x00\x1c\x00\x00\x15\x01\x00\x10\x00\a\x00\xab\x00\x06\x00,\x00\x01\x00\x16\x00\x05\x00\x0c\x00\x00\x06\x04\x00\x0b\x00\x01\x00,\x00\x03\x00\x1b\x00\r\x00\x14\x00\x04\x00\x00\x05\x01\x02\x00(=\x00c\x00\xd8\x00\xd0\x02\xcf\x00X\x00V\x00\x02\x00\x00D\x05\x00\x00\x02\x0f\x00\x17\x00\x18\x00\xef\x00\xf3\x00\xf8\x00\xf2\x01\xec\x00\xed\x01\xe8\x01\xed\x01\xf2\x01\xf6\x01\xf8\x00\xf3\x00\xed\x00\x18\x00\x12\x00\x0f\x00\x00\x17\x01\x003\x00\x10\x00\x15\x00\x1b\x00G\x00\x03\x00\x01\x00\b\x00\x05\x00\x00\x06\x0e\x00\b\x00\x01\x00,\x00\r\x00\a\x00s\x00\x14\x00\x00\x06\b\x00\x16\x00\b\x00\x00*;\x00O\x00v\x00\x12\x00S\x00\x00L\x04\x00\x02\x00\x04\x00\x0f\x00\x03\x00\x12\x00\r\x00\x11\x02\x12\x00\x11\x03\x12\x02\x0f\x01\b\x00\x00\x1a\x04\x00\x01\x00\x14\x01\x10\x01\x01\x00\x0e\x01\x04\x00\x00\x05\x0f\x00\x01\x00\x0b\x00\x01\x00\x10\x00s\x00\x14\x01;\x00\x00\x06\x0e\x00\b\x00@\x00\x00,\x02\x00\x00T\x04\x00\x00\a\x05\x00\x04\x00\x00\x1f\x02\x00\x00\x00O\x00\x10\x01\x14\x02k\x00\x10\x01\a\x00O\x00\x06\x00\x10\x02P\x00s\x00\x10\x00\a\x00\x0f\x00\x00\b\x0e\x01\x0b\x00\x00\xb5\x0e\x00O\x00\a\x00\x1a\x00\a\x01\x0e\x00\x0c\x00\x00\x00\x05\x00\x00\x0c\x05\x02\x00\xb6\x05\x00\x00\x06\x05\x00\x00\xfe\x00\xfe\x00\xfe\x00G\b\x00\x16\x00;\x00\x0b\x00@\x00\x04\x00\x00\x06\x0c\x00\x04\x00\x16\x00\x0b\x01!\x00\x00\xba\x0b\x00\a\x00\x19\x00,\x00\x01\x01\x0b\x00\x05\x00\x00\a\b\x00\x01\x01:\x00\x06\x01\x0e\x00\x00\xb7\x10\x00\a\x01\x19\x00:\x00,\x00\x01\x00\x0b\x00\x05\x00\x00\x06\x0c\x00\x0b\x00\x01\x01:\x00\x19\x00\x1b\x00\x10\x00\x16\x00\x00\xb6\x14\x00\r\x00\x15\x00\x19\x00\x03\x00,\x00\x01\x01\x0e\x00\x00\a\x0b\x00\x01\x00,\x00\x03\x00\x15\x01\x17\x00\x10\x00\x00\xb6\x01\x003\x00k\x00\a\x00\x03\x00\x01\x02\b\x00\x0c\x00\x00\x05\x0e\x00\x01\x02\x03\x00\x15\x00k\x00\x82\x00;\x00\x00\xb8\a\x00\x14\x00m\x00\x14\x01\x10\x01\x01\x00\x0f\x00\x0c\x00\x00\x00\x04\x00\b\x00\x16\x00\x10\x01\x14\x01m\x00\x14\x00\x16\x00\x00\xbc\x0c\x00\x0e\x00@\x00O\x00\x10\x01s\x00\x14\x02k\x00\x10\x00\a\x00\x01\x00;\x00\x0e\x00\x00\x01\x0c\x00\x00M"
)

melody = (
"G4:6","C5:9","C5:3","C5:6","E5:5","D5:9","C5:3","D5:6","E5:5","C5:9","C5:3","E5:6","G5","A5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:5","C5:9","A5:3","A5:6","G:5","C5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","A5","G5:9","E4:3","E5:6","G5","A5:18","C5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:3","D5:5","C5:9","A5:3","A5:6","G:5","C5:18",
)
melody_parts=(0,8,14,22,28,36,42,50,57)

refrain_de = (
  "Der Himmel wölbt sich übers Land",
  "Ade, Auf Wiedersehn",
  "Wir ruhen all in Gottes Hand",
  "Lebt wohl, Auf Wiedersehn",
)

lyrics_de = (
  (
    "Nehmt Abschied Brüder ungewiss",
    "Ist alle Wiederkehr",
    "Die Zukunft liegt in Finsternis",
    "Und macht das Herz uns schwer",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Die Sonne sinkt, es steigt die Nacht",
    "Vergangen ist der Tag",
    "Die Welt schläft ein und leis erwacht",
    "Der Nachtigallenschlag",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "So ist in jedem Anbeginn",
    "Das Ende nicht mehr weit",
    "Wir kommen her und gehen hin",
    "Und mit uns geht die Zeit",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Nehmt Abschied Brüder schließt den Kreis",
    "Das Leben ist ein Spiel",
    "Und wer es recht zu spielen weiß",
    "Gelangt ans große Ziel",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
)

refrain_en = (
  "For auld lang syne, my dear",
  "For auld lang syne",
  "We'll take a cup of kindness yet",
  "For auld lang syne.",
)

lyrics_en = (
  (
    "Should auld acquaintance be forgot",
    "And never brought to mind?",
    "Should auld acquaintance be forgot",
    "And days of auld lang syne?",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And surely you'll buy your pint cup",
    "And surely I'll buy mine",
    "And we'll take a cup o' kindness yet",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have run about the hills",
    "And picked the daisies fine",
    "But we've wandered many a weary foot",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have paddled in the stream",
    "From morning sun till dine",
    "But seas between us broad have roared",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And there's a hand my trusty friend",
    "And give me a hand o' thine",
    "And we'll take a right good-will draught",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
)

refrain_fr = (
  "Ce n'est qu'un au revoir, mes frères",
  "Ce n'est qu'un au revoir",
  "Oui nous nous reverrons, mes frères",
  "Ce n'est qu'un au revoir",
)

lyrics_fr = (
  (
    "Faut-il nous quitter sans espoir",
    "Sans espoir de retour",
    "Faut-il nous quitter sans espoir",
    "De nous revoir un jour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Formons de nos mains qui s'enlacent",
    "Au déclin de ce jour",
    "Formons de nos mains qui s'enlacent",
    "Une chaîne d'amour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Unis par cette douce chaîne",
    "Autour d'un même feu",
    "Unis par cette douce chaîne",
    "Ne faisons point d'adieu",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Car Dieu qui nous voit tous ensemble",
    "Et qui va nous bénir",
    "Car Dieu qui nous voit tous ensemble",
    "Saura nous réunir",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
)

use_buffer()
font_h_full = 12
header_h = 3 * font_h_full
screen_w, screen_h = get_screen_dim()
r0 = (screen_h - header_h) // 2
y0 = screen_h - r0
x0 = screen_w - r0

font_w, font_h = 6, 9
r_d = draw_clock(x0, y0, r0, font_w, font_h)
r_s = r_d - sqrt((2*font_w + 1)**2 + font_h**2)
r_m = r_s * .9
r_h = r_m * .8

newyear = False

tm = int(time())
tm0 = 1640995200 - localtime(0)[3]*3600
d_tm = .005
tm = tm0 - 3*60


lt = 0
back = draw_image_offscreen(image, 0, 0, image_w, image_h, palette, zoomx=1, zoomy=1, itransp=0)

o_h, o_m, o_s = -1, -1, -1
i_clk = 0
while not newyear and not escape():
  tm1 = time()
  tm = tm + 1
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if m == 59 and s // 5 != i_clk:
    i_clk = s // 5
    mb_show_clock_icon(i_clk)
  if ltm[0] == 2022:
    newyear = True
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s
  if not newyear:
    sleep(max(0, d_tm - time() + tm1))
    d_tm = min(1, d_tm * 1.03)

send_microbit("import music")
mb_show_clock_icon(12)
back.show_image(0, screen_h - image_h)
draw_clock(x0, y0, r0, font_w, font_h)
refresh_clock(h, m, s, r_h, r_m, r_s)
paint_buffer()

i = -1
d_tm = tm - time()
i_melody_part = 0
t_melody_part = time() + d_tm
end_fr, end_de, end_en = False, False, False
while not escape() and (not end_fr or not end_de or not end_en):
  tm = time() + d_tm
  if tm >= t_melody_part:
    if not i_melody_part:
      i += 1
      mb_show_val(i + 1)
    set_color(255, 255, 255)
    fill_rect(0, 0, screen_w, header_h)
    if i < len(lyrics_fr):
      set_color(0, 0, 255)
      draw_text(0, font_h_full, lyrics_fr[i][i_melody_part])
    else: end_fr = True
    if i < len(lyrics_de):
      set_color(0,  127, 0)
      draw_text(0, 2*font_h_full, lyrics_de[i][i_melody_part])
    else: end_de = True
    if i < len(lyrics_en):
      set_color(255, 0, 0)
      draw_text(0, header_h, lyrics_en[i][i_melody_part])
    else: end_en = True
    melody_part = melody_cut(melody, melody_parts, i_melody_part, i_melody_part + 1)
    mb_play_melody(melody_part)
    d_melody_part = melody_duration(melody_part)
    t_melody_part += d_melody_part
    i_melody_part = (i_melody_part + 1) % (len(melody_parts) - 1)
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s


Téléchargement
:
archives_voir.php?id=2833547
Link to topic: Bonne année 2022 sur TI-Planet ! (Comments: 10)

Unboxing week 2021 : carte calculatrice ZB762702 cent20

New postby critor » 27 Dec 2021, 17:05

En
1983
Casio
sortit la calculatrice la plus fine au monde, la
SL-800
. Elle adoptait le format carte de crédit avec moins d'un millimètre d'épaisseur
(officiellement
0,8 mm
)
! :bj:
Une innovation formidable pour l'époque car afin de minimiser l'épaisseur, les différents composants ont dû être directement gravés sur la carte électronique plutôt que d'y être soudés. Pas question d'utiliser ici de pile même bouton, l'alimentation provenait intégralement de la cellule solaire.
Il est hélas peu probable que l'on t'en teste une un jour ; à la revente les modèles encore fonctionnels se négocient au minimum à des prix à 3 chiffres. :'(

15020Pour nous consoler, nous avait déjà offert pour ce Noël 2021 une calculatrice solaire
XZT002440
faisant mine d'adopter le même format, mais avec en réalité
4,3 mm
d'épaisseur.

1503015034Nouvelle tentative aujourd'hui de avec cette nouvelle carte calculatrice
ZB762702
.

Cette fois-ci nous disposons d'un clavier correct avec 24 touches réparties sur 4 lignes et 6 colonnes :
  • 10 touches numériques
    0
    à
    9
  • la touche séparateur décimal
    .
  • 4 touches d'opérations infixées
    +
    -
    ×
    ÷
  • la touche de pourcentage
    %
  • la touche pour prendre la racine carrée
  • la touche de résultat
    =
  • 2 touches de réinitialisation
    C
    et
    CE
  • 3 touches relatives à la mémoire
    M+
    M-
    MRC

1503215033La calculatrice fait
8,6 cm
de longueur,
5,5 cm
de hauteur.

1502915031Quant à l'épaisseur, elle est de
2,8 mm
. Pour une machine ici encore dépourvue de pile et près de 40 ans après les
0,8 mm
de
Casio
, c'est encore beaucoup trop. Mais cela reste malgré tout beaucoup moins ridicule que les
4,3 mm
de la
XZT002440
.

Le tout pèse
14 grammes
. C'est magique, juste à coller un timbre dessus et tu peux directement l'expédier par la poste ! :favorite:

15035Venons-en aux capacités. L'écran comprend 8 cellules permettant chacune d'afficher un chiffre sur 7 segments accompagné de son éventuel séparateur décimal en bas à droite.

3 drapeaux sont également présents à droite de l'écran :
  • M
    : pour indiquer la mise en mémoire d'une valeur
  • -
    : le signe négatif
  • E
    : pour indiquer une erreur de dépassement de capacité

La mémoire semble se réduire à une simple case permettant de stocker un nombre. En effet en cas d'enregistrement d'une valeur nulle, le drapeau
M
s'éteint.

Les capacités calculatoires correspondent exactement à ce que permet l'écran : la calculatrice semble travailler sur 8 chiffres significatifs. En effet, en valeur absolue :
  • tout résultat strictement inférieur à 10-7 est remplacé par 0
  • tout résultat supérieur à 108 n'affiche que les 8 premiers chiffres significatifs de la mantisse et active le drapeau d'erreur
    E
    , bloquant alors la calculatrice jusqu'à réinitialisation avec la touche
    C

Notons que la calculatrice fonctionne uniquement en notation infixée et postfixée, pas en préfixée. Par exemple pour prendre la racine carrée d'un nombre, la touche
devra être tapée après la saisie du nombre en question et non pas avant, contrairement donc à l'écriture naturelle.

La machine n'est pas une calculatrice scientifique. En effet elle ne respecte pas les priorités opératoires :
$mathjax$1+2×3=9$mathjax$
.

Nous irions volontiers plus loin en te démontant la calculatrice, mais hélas aucune vis ne semble visible. Nous doutons donc de pouvoir la démonter de façon non destructrice, et ce serait dommage vu qu'elle marche encore.


Merci , tu as su prouver que tu étais capable de bien te rattraper. ;)



Crédits images
:

Concours de l'Avent 2021 "l'énigme des 3 portes" : jour 27

New postby critor » 27 Dec 2021, 12:02

Concours
TI-Planet
de l'
Avent 2021

L'énigme des 3 portes
:
jour n°27



Viens rassembler les indices et bouts de code
Python
chaque jour de l'Avent ; sois parmi les premiers à passer l'une des portes pour gagner de superbes cadeaux de Noël ! :favorite:

Dernier indice
Casio
ce
28 décembre
. Rendez-vous à partir de
14 heures
.
15028
Code: Select all
from math import ceil

platform = ''
try: from sys import platform
except: pass

def nop(*argv): pass
show, wait = nop, nop
neg_fill_rect = False
has_color = True

try: # NumWorks, NumWorks + KhiCAS, TI-Nspire CX + KhiCAS
  import kandinsky
  fill_rect = kandinsky.fill_rect
  screen_w, screen_h = 320, 222
  neg_fill_rect = platform!='nspire' and platform!='numworks'
except:
  try: # TI
    import ti_draw
    try: # TI-Nspire CX II
      ti_draw.use_buffer()
      show = ti_draw.paint_buffer
    except: # TI-83PCE/84+CE Python
      wait = ti_draw.show_draw
    screen_w, screen_h = ti_draw.get_screen_dim()
    try: # check TI-83PCE/84+CE ti_draw 1.0 fill_rect bug
      ti_draw.fill_rect(0,0,1,1)
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x, y, w, h)
    except: # workaround
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x - 1, y - 1, w + 2, h + 2)
  except:
    try: # Casio Graph 90/35+E II, fx-9750/9860GIII, fx-CG50
      import casioplot
      casioplot.set_pixel(0, 0, (0, 0, 255))
      col = casioplot.get_pixel(0, 0)
      has_color = col[0] != col[2]
      screen_w, screen_h = has_color and (384, 192) or (128, 64)
      show = casioplot.show_screen
      def fill_rect(x, y, w, h, c):
        for dy in range(h):
          for dx in range(w):
            casioplot.set_pixel(x + dx, y + dy, c)
    except:
      try: # HP Prime
        import hpprime
        screen_w, screen_h = hpprime.grobw(0), hpprime.grobh(0)
        hpprime.dimgrob(1, screen_w, screen_h, 0)
        def col3_2_rgb(c, bits=(8,8,8), bgr=1):
          return c[2*bgr]//2**(8 - bits[0]) + c[1]//2**(8 - bits[1])*2**bits[0] + c[2*(not(bgr))]//2**(8-bits[2])*2**(bits[0] + bits[1])
        def fill_rect(x, y, w, h, c):
          hpprime.fillrect(1, x, y, w, h, col3_2_rgb(c), col3_2_rgb(c))
        def show():
          hpprime.strblit(0, 0, 0, screen_w, screen_h, 1)
        def wait():
          while hpprime.keyboard(): pass
          while not(hpprime.keyboard()): pass
      except:
        pass
if not neg_fill_rect:
  _fill_rect = fill_rect
  def fill_rect(x, y, w, h, c):
    if w < 0:
      x += w
      w = -w
    if h < 0:
      y += h
      h = -h
    _fill_rect(x, y, w, h, c)

def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1, itransp=-1):
  if not has_color:
    pal = list(pal)
    g_min, g_max = 255, 0
    for k in range(len(pal)):
      c = pal[k]
      g = 0.299*c[0] + 0.587*c[1] + 0.114*c[2]
      g_min = min(g_min, g)
      g_max = max(g_max, g)
      pal[k] = g
    for k in range(len(pal)):
      pal[k] = pal[k]<(g_min + g_max) / 2 and (0,0,0) or (255,255,255)
  i, x = 0, 0
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = (c + 1)
    while c:
      cw = min(c, w - x)
      if mv != itransp:
        fill_rect(x0 + x*zoomx, y0, cw*zoomx, zoomy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1

palettes = (
  (
    (247,176,36),(247,207,73),(231,89,0),(247,131,8),
  ),
)
images = (
  (
    b"\b\x05\n?\n\x05\x18\x05\n7\n\x05\x20\x05\n/\n\x05(\x05\n'\n\x050\x05\n\x1f\n\x058\x05\n\x17\n\x05@\x05\n\x0f\n\x05H\x05\n\a\n\x05P\x05\x16\x05X\x05\x0e\x05`\x05\x06\x05d\a\x06\a`\a\x02\x04\x02\aX\a\x02\x0c\x02\aP\a\x02\x04\a\x04\x02\aH\a\x02\x04"
    b"\x0f\x04\x02\a@\a\x02\x04\x17\x04\x02\a8\a\x02\x04\x1f\x04\x02\a0\a\x02\x04'\x04\x02\a(\a\x02\x04/\x04\x02\a\x20\a\x02\x047\x04\x02\a\x18\a\x02\x04?\x04\x02\a\x10\a\x02\x04G\x04\x02\a\b\a\x02\x04O\x04\x02\a\x00\a\x02\x04W\x04\x02\x0b\x02\x04_\x04"
    b"\x02\x03\x02\x04g\x04\x0eg\n\x01\n_\n\t\nW\n\x05\x00\x05\nO\n\x05\b\x05\nG\n\x05\x04"
  ),
)
for y in range(ceil(screen_h / 32)):
  for x in range(ceil(screen_w / 32)):
    draw_image(images[0], x*32, y*32, 32, palettes[0])
show()

palettes = (
  (
    (7,97,182),(55,139,223),(99,176,247),(141,216,247),
  ),
)
images = (
  (
    b"\x80\x01!\x14!\x18\x1e\x19\x1e\x19\x06\x17\x1a\x1f\x1a\x1f\x1a\x1f\x1a\x17\x06\x19\x1e\x19\x1e\x18!\x14!\x80\x01"
  ),
)
for x in range(ceil(screen_w / 16)):
  draw_image(images[0], x*16, screen_h-16, 16, palettes[0])
show()

palettes = (
  (
    (239,89,107),(247,207,81),(0,0,0),(182,26,36),(239,97,0),(0,0,0),
  ),
)
images = (
  (
    b"\xc0\x011\xc0\x01\x02)\xc0\x01\x03\x02!\xc0\x01\x0b\x02!\xc0\x01\x0b!\xc8\x011\xc0\x011\xb8\x01!\x021\x90\x01\x11\n\x03)\x02\x88\x01\t\n\x13!\x02\x03\x88\x01\n#\x19\x02\x0b\x88\x01+\x00\x19\x0b\x90\x01\x1b\x10!\x98\x01\x0b\x20!\xd0\x01\x02!\xc8\x01"
    b"\x03\n\x11\xc8\x01\x13\n\t\xc0\x01#\n\xe8\x01\x0b\xb8\x02\tX\x13p\t@+h\x19\x18Kh\x19[Pi#\x18C\x02Y\x02\x0b0K\x02I\x02\x03@S\x029\x02\x03(\xfb\x009\x03\x20\x1b\b3\x18I\x18\x13pI\b\x1b\x18\x03H!\n!\x1b\x18\x0bH\x11\n\x0b\n\x11\x13\x20\x03\x04@\t\n+\n"
    b"\t\x03\x20\x0b\x04@\nK\n(\x0b\x04@c(\x13\x04\x018[0\x0b\x0c\x01(c0\x13\x0c\t\x83\x010\x1b\x0c\ts@\x13\x141;H\x1b\x14)\x02+P\x1b\x1c!\x02\x1b`#\x1c\x19\x02\x0bp#\x1c\x05\x19\x80\x01+\x14\r!p+\x1c\r!h+\x1c\x15\x02!X+$\x15\x03\n\x11P+$\x1d\x13\n\t83,"
    b"\x1d#\n(;,%\x00+\x10K,-\x10\xfb\x00,5\x8b\x01,=\xfb\x004Ek<M[DUCT]#dm\xfc\x00\xfd\x00\x01d\x8d\x01\tL\x9d\x01\x04\t,\xb5\x01\x0c\t\x14\xc5\x01"
  ),
)
for x in range(ceil(screen_w / 64)):
  draw_image(images[0], x*64, 0, 32, palettes[0], 1, 1, 5)
  draw_image(images[0], (x+1)*64, 0, 32, palettes[0], -1, 1, 5)
show()

def draw_rect_z(x, y, w, h, c, z=1):
  for dy in (0, h - 1):
    fill_rect(x, y + dy*z, w*z, z, c)
  for dx in (0, w - 1):
    fill_rect(x + dx*z, y, z, h*z, c)

def qr_mark(x, y, s, c, z=1):
  draw_rect_z(x, y, s, s, c, z)
  fill_rect(x + 2*z, y + 2*z, (s - 4)*z, (s - 4)*z, c)

palettes = (
  (
    (0,0,0),(247,172,107),(133,71,73),(157,114,18),(207,147,55),(247,247,247),
  ),
  (
    (0,0,0),(36,35,36),(198,0,18),(247,26,55),(157,0,0),(231,97,81),(239,147,90),(247,183,133),(55,114,167),(247,247,247),(72,155,207),(36,71,133),(166,80,0),(239,199,45),(223,131,45),
  ),
  (
    (0,0,0),(0,0,0),(255,183,45),(255,255,247),(255,216,141),
  ),
  (
    (0,0,0),(0,0,0),(27,58,157),(157,172,215),(247,251,247),
  ),
  (
    (0,0,0),(223,41,45),
  ),
)
images = (
  (
    b"\x80\x01a\x02\b\x01[\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01\x03\x01\x0b\x01\x0b\x01\x0b\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03"
    b"\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01[\x02\b\x05Y\x02\b\x01\\\x02\b\x01\r\x03\x14\x01$\x02\b\x01\r\x02\x0c\x01\x0c\x01\x14\x02\b\x01\x03\n\x04\x01\x0c\x01\x1c\x02\b"
    b"\x01\x13\x04\x0b\x04#\x02\bj\b\x01[\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01\x03\x01\x0b\x01\x0b\x01\x0b\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01"
    b"\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01[\x02\bj\x80\x01"
  ),
  (
    b"\xe0\n1\x90\x01\x11\x02#\x01\xf0\x00\x01\x04\"\x13\x01`\x01\x04\"Q0\x01$\x81\x01\x20\x01\x14\x11E\x11\x20A\x05\x16\x01\x06\x110\x01\x16\x11\x05\x16\x01\x06!\x20\x01\x16!\x056\x17\x01\x10\x01\x05\x06\x05\x01\x05\x06\x01\x15&\x01\x20\x01%\x061\x15!"
    b"\x20\x11\x15\x16A0\x11\b\x01E\x01@\x01\x04\x02\x01\bAP\x01\x12\x03!\x04\x03\x11\x00\x01\x10\x01\x04\x02\x03\x01&\x01\x04\x03\x11\x06\x01\x00\x01\x04\x02\x01\x05\x06\x17\x06\x01\x04\x02\x01\x05\x01\x00\x01\x14\x01\x15&A\x10\x11\x14\x01%\x01\t\x1a\t"
    b"\x01\x20!\x0b!\x19\x1a\t\x01\x20\x01+\x18\n\b*\b\x010\x01\x0b\x18\n\b\x0b8\x11\x10\x01\x0c\x01\x0b\x18\x0b\x01\x1b\b\x01\r\x0e\x01\x00\x01\x0c\x01+\x01\x00\x01\x0b\x01\r\x0e\x0c\x01\x00\x01\x0c\x0e!\x20\x01\x1e\x0c\x01\x20\x01\x0c\x1e\x0c\x01\x10"
    b"\x01\x1c\x01@A\x20\x11\x20"
  ),
  (
    b"\x80\x01i\x00\x01j\tj\t\x12\x03\x04\x1a\x04\x03\x12\t\x12\x0b\x04\x12\x04\x03\x12\t\x12\x13\x12\x04\x03\x12\t\x12\x03\x04\x0b\n\x04\x03\x12\t\x12\x03\x0c\x03\x04\x02\x04\x03\x12\t\x12\x03\x04\x02\x04\x03\x0c\x03\x12\t\x12\x03\x04\n\x0b\x04\x03\x12"
    b"\t\x12\x03\x04\x12\x13\x12\t\x12\x03\x04\x12\x04\x0b\x12\t\x12\x03\x04\x1a\x04\x03\x12\tj\tj\x01"
  ),
  (
    b"\x80\x01i\x00\x01j\t\n\x0b,\x0b\n\t\x02\x03T\x02\t\x02\\\x03\t\x03\x14\x03\"\x14\x03\t\x03\x14J\t\x03\x14J\t\x03\x14J\t\x03\x14*\x14\x03\t\x02\x14+\x14\x03\t\x02\x03T\x03\t\n\x03D\x03\x02\t\x1a3\x12\tj\x01"
  ),
  (
    b"\x06\a\x16\a\x02\x03\x0e\a\x16\t\x00\x01\x00\x05\b\t\x00\x01\x00\x05\b\a\x00\x03\x02\x03\x00\r\x02\x03\x00\a\x00\r\x00\x01\x00\t\x02\x0b\x00\x01\x00\t\x02\x0b\x00\x01\x00\t\x04\x03\x00\x03\x06\x05\x0e\x01\x04\x03\x12\t\x16\a\x16\x05\x1a\x05\x06"
  ),
)
for j in range(-1, 2, 2):
  for i in range(1, 3):
    x = screen_w//2 - j*(screen_w * i // 6)
    if i+j != 3:
      qr_mark(x - 7, screen_h - 15, 7, [(k + 2) % 3 == i + j and 255 or 0 for k in range(3)], 2)
      show()
      draw_image(images[2 + i + j], x - 8, screen_h - 64, 16, palettes[2 + i + j], itransp=0)
      show()
    draw_image(images[i+j == 3], x - 8, screen_h - 48, 16, palettes[i+j == 3], itransp= i+j!=3 and -1)
    show()

palettes = (
  (
    (0,0,0),(0,0,0),(190,232,247),(190,97,0),(231,139,18),(157,199,239),(247,247,247),(247,176,64),(149,54,0),(133,172,207),
  ),
)
images = (
  (
    b"Q\x061\x05\xc1\x02\x19\x01\t\x01\x16\x11\x02\x05\x01\t\x01\x19\x01\t\x01\x89\x01\x01\t\x11\x15\x01\x05\x01\x16\x11\x02\x05\x01\x05\x01\x15\x01\x05\x01\x85\x01\x01\x05\x11\x12!\x16\x11\x02\x05!\x12\x01\x05\xa1\x01\x05\x11\x12\x01\b\x01B\x05\x01\b\x01\x12"
    b"\x01\x05\x01\x88\x01\x01\x05\x11\x16\x01\x18Q\x18\x01\x16\x01\x05\x01\x88\x01\x01\x05\x11\x12\x01\b\x03h\x04\x01\x12\x01\x05\x01\x88\x01\x01\x05\x11\x16\x01\bc\x14\x01\x16\x01\x05\x01h\x03\b\x01\x05\x11\x16\x01\bS$\x01\x16\x01\x05\x01X\x13\b\x01\x05\x11"
    b"\x12\x01\bC$\x03\x01\x12\x01\x05\x01H#\b\x01\x05\x11\x16\x01\b3$\x13\x01\x16\x01\x05\x018#\x18\x01\x05\x11\x12\x01\x98\x01\x01\x12\x01\x05\x01\x88\x01\x01\x05\x11\x12\xb1\x01\x12\x01\x05\xa1\x01\x05\x11\x12\x01\x19\x05b\x01\x12\x01\x05\x01e\x19\x01\x05"
    b"\x11\x12\x01\x19\x05b\x01\x12\x01\x05\x01e\x19\x01\x05\x81\x04"
  ),
  (
    b"P\xb1\x02\x90\x01\x11\x12\x11\xf4\x00\x01\x12\x11%\x11`\x01\x16\x11\x04\xf7\x00\x01\x16\x01\x15!\x15\x01@\x01\x16\x01\x04\x87\x01\x01\x16\x01\x05\x11(\x11\x05\x010\x01\x16\x01\x04\x87\x01\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x16\x01\x03\x84\x01\x01"
    b"\x16\x01\x05\x01h\x01\x05\x01\x10\x01\x16\x01\x03\x84\x01\x01\x16\x01\x05\x01h\x01\x05\x01\x10\x01\x16\x01\x03\x84\x01\x01\x16\x01\x05\x01h\x01\x05\x01\x00\x01\x12\x01\b\x83\x01\x01\x12\x01\x05\x01h\x03\b\x01\x05\x11\x16\x01\b\x83\x01\x01\x16\x01\x05"
    b"\x01X\x13\b\x01\x05\x11\x16\x01\b\x83\x01\x01\x16\x01\x05\x01H#\b\x01\x05\x11\x12\x01\b\x83\x01\x01\x12\x01\x05\x018#\x18\x01\x05\x11\x16\x01\b\x03Q\b\x03\x01\x16\x01\x05\x01(#(\x01\x05\x11\x12\x01\b\x01&\x12\x05\x01\b\x01\x12\x01\x05\x01\x18#8\x01\x05"
    b"\x11\x12\x01\b\x01\x16\x11\x02\x05\x01\b\x01\x12\x01\x05\x01\b#(\x03\b\x01\x05\x11\x15\x01\b\x01\x061\x05\x01\b\x01\x15\x01\x05\x01\x88\x01\x01\x05\x01"
  ),
  (
    b"P\xc1\x02\x80\x01\x11\x12\x01\x03\x84\x01\x01\x12\x11%\x11P\x01\x16\x01\x14\x87\x01\x01\x16\x01\x15!\x15\x01@\x01\x16\x01\x04\x97\x01\x01\x16\x01\x05\x01(\x01\x05\x010\x01\x16\x01\x04\x97\x01\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x16\x01\x03\x94\x01"
    b"\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x12\x01\x03\x94\x01\x01\x12\x01\x05\x01H\x01\x05\x01\x20\xa1\x02\x05\x01X\x01\x05\x01\x20\x01\x89\x02\x11X\x01\x05\x010\x01\t\xe1\x01\t\x11H\x01\x05\x01@\x01\t\xe1\x01\t\x118\x01\x05\x01P\x01\t\xe1\x01\t\x11("
    b"\x01\x05\x01P\x91\x02\t\x11\x18\x01\x05\x01@\x01&\x12\x05\xc1\x01\t\x11\b\x01\x05\x01@\x01\x16\x11\x02\x05\xd1\x01\t!\x05\x01@\x01\x061\x05\xe1\x01\t\x11\x05\x01"
  ),
)
for i in range(2):
  draw_image(images[-i], screen_w//2-16, screen_h-32-16*i, 32, palettes[0], itransp=0)
show()

def qr_size(v):
  return 17 + 4*v

qr_ver = 3
qr_margin = 4
qr_size_code = qr_size(qr_ver)
qr_size_code_margin = qr_size_code + 2*qr_margin + 4
qr_zoom = max(1, min(screen_w // qr_size_code_margin, (screen_h - 128) // qr_size_code_margin))
qr_size_code_margin -= 4
qr_width = qr_size_code_margin * qr_zoom
x_qr = (screen_w - qr_width) // 2
y_qr = (screen_h - qr_width) // 2
for k in range(1, 3):
  draw_rect_z(x_qr - k*qr_zoom, y_qr - k*qr_zoom, qr_size_code_margin + 2*k, qr_size_code_margin + 2*k, k > 1 and (0, 0, 0) or (255, 255, 255), qr_zoom)
qr_margin *= qr_zoom
fill_rect(x_qr, y_qr, qr_width, qr_width, (0,64,64))

def qr_alignments(v):
  s = qr_size(v)
  positions = []
  n = v // 7 + 2
  first = 4
  positions.append(first)
  last = s - 5 - first
  step = last - ((first + last*(n - 2) + (n - 1)//2) // (n - 1) & -2)
  second = last - (n - 2) * step
  positions.extend(range(second, last + 1, step))
  return positions

def qr_frame(v, x, y, c, z=1):
  s = qr_size(v)
  l = (0, s - 7)
  for dy in l:
    for dx in l:
      if not dx or not dy:
        qr_mark(x + dx*z, y + dy*z, 7, c, z)
  for i in range(8, s-8, 2):
    fill_rect(x + i*z, y + 6*z, z, z, c)
    fill_rect(x + 6*z, y + i*z, z, z, c)
  l = qr_alignments(v)
  for dy in l:
    for dx in l:
      if not (dy < 8 and (dx < 8  or dx > s - 10) or dx < 8 and dy > s - 10):
        qr_mark(x + (dx - 0)*z, y + (dy - 0)*z, 5, c, z)

qr_frame(qr_ver, x_qr + qr_margin, y_qr + qr_margin, (255,255,255), qr_zoom)

palettes = (
  (
    (0,0,0),(255,255,255),
  ),
  (
    (0,0,0),(255,255,255),
  ),
)
images = (
  (
    b"\x1e\x01\x02\x03,\x05\x02\x012\x014\x014\x01\x00\x056\x01n\x030\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x20\a\x00\a\x04\x01\x1a\a\x02\x03\x02\x01\"\x01\x00\x01\x00\x05\x02\x01\x00\x01\x00\x01\x1c\x01\x00\x03\x0c\x03\x1e\x05\x02\x0b\x04\x01\x1c"
    b"\x01\n\x01\x00\x05&\x03\x00\x03\x00\x01\x02\x01$\x01\x00\x01\x02\x01\x00\x03\"\x01\x02\x0b\x00\x01\x00\x01\x1c\x03\x00\x01\x00\x01\x02\x03\x00\x01\"\x01\x00\x05\n\x01\x1c\x01\x00\x01\x00\x03\n\x05\x1c\x03\x0e\a\x1c\x01\x02\x03\b\x03$\x05\x0c\x032"
    b"\x05\x1c\x01\x00\x03\x00\x01\x06\x03\x20\x01\x00\a\x00\x0b\x1e\x03\x00\x01\x00\x01\x04\x03\x00\x01\x1e\x03\x00\x01\x02\x01\x00\a\x02"
  ),
  (
    b"\x16\x01\x00\x01*\x01\x04\x038\x01*\x01\x06\x01f\x01\n\x01n\x01\x1a\t\x02\x03\b\x01$\x01\x02\x01:\x01^\x01\x0c\x01(\x01<\x01\x00\x01\b\x01\"\x01\x0c\x01:\x01\x00\x01\x18\x01\x02\x01\x00\x01\x04\x01\x02\x01\x1e\x01\x14\x01\x1e\x016\x01\n\x018\x01"
    b"\x02\x01\x00\x01,\x03\x02\x016\x01.\x01\x06\x03*\x01\x06\x01,\x016\x016\x01\x00\x01\""
  ),
)

for k in range(len(images)):
  draw_image(images[k], x_qr + qr_margin, y_qr + qr_margin, qr_size_code, palettes[k], zoomx=qr_zoom, zoomy=qr_zoom, itransp=0)
show()
wait()

Lien
:
lots et ressources

Unboxing week 2021 : carte calculatrice XZT002440 cent20

New postby critor » 26 Dec 2021, 15:22

Dans la seconde moitié des années 1960, nombre de marques se sont mises à fabriquer des calculatrices électroniques. On a pu compter jusqu'à plus de 50 fabricants différents en compétition les uns avec les autres, de quoi parler d'une véritable
"guerre des calculatrices"
. Cependant, la compétition se limitait essentiellement au marché des calculatrices du bureau, encombrantes et chères.

En
août 1972
,
Casio
sortit la
Casio Mini
, calculatrice électronique de poche qui était enfin abordable pour le grand public, ouvrant ainsi la voie à la compétition pour la miniaturisation. Elle pourra te paraître encombrante aujourd'hui avec une épaisseur digne d'un vieux poste de radio, mais pour l'époque c'était bel et bien une révolution : un formidable succès avec 1 million d'unités vendues en dix mois.

Les ventes cumulées de calculatrices
Casio
atteignirent pour leur part également le million en 1972, avec une montée en flèche à 2 millions dès Noël 1972, et 10 millions en 1974. Ce fut le tournant, à partir de là nombre de compétiteurs se mirent à se retirer du marché, tendance qui se poursuit encore en ce siècle avec respectivement à compter de 2015 et 2021, les branches calculatrices de
Sharp
et
HP
entièrement sous-traitées en externe chez
Moravia
, et pour le pire à ce que nous avons vu jusqu'à ce jour.

Mais revenons à nos moutons. Fort de ce succès,
Casio
poussa encore plus loin ses efforts de miniaturisation et te sortit en
1983
la calculatrice la plus fine au monde, la
SL-800
. Elle adoptait le format carte de crédit avec moins d'un millimètre d'épaisseur
(officiellement
0,8 mm
)
! :bj:
Une innovation formidable pour l'époque car afin de minimiser l'épaisseur, les différents composants ont dû être directement gravés sur la carte électronique plutôt que d'y être soudés. Pas question d'utiliser ici de pile même bouton, l'alimentation provenait intégralement de la cellule solaire.
Nous aimerions beaucoup t'en tester une, mais hélas elle souffre d'une spéculation absolument irraisonnée par rapport à ses capacités. À la revente les modèles encore fonctionnels se négocient au minimum à des prix à 3 chiffres. :'(

150221502315021Pour nous consoler, nous offre pour ce Noël 2021 une calculatrice solaire sans marque semblant adopter ce même format. Elle est joliment décorée de dessins de poissons et de chats pour charmer les enfants. :favorite:

Effectivement a priori nous avons du
8,6 cm
en longueur et
5,4 cm
en hauteur :
1502615025


1502715024Mais en fait non, la machine faisait illusion. Rien à voir avec le record de miniaturisation de
Casio
de
1983
, nous avons ici plus de
4 mm
d'épaisseur.

Faire 5 fois plus épais pour une machine toujours dépourvue de la moindre pile alors qu'il s'est écoulé près de 40 ans depuis, c'est assez ridicule ! :mj:

Pour une machine dépourvue de pile faisant semblant d'adopter le format carte de crédit de
Casio
, le poids est également décevant. Près de
20 grammes
, c'est ben lourd, à peu de chose près elle aurait nécessité 2 timbres pour une expédition postale. :mj:

15023Le clavier présente 19 touches réparties sur seulement 2 lignes :
  • 10 touches numériques
    0
    à
    9
  • la touche séparateur décimal
    .
  • 4 touches opératoires
    +
    -
    ×
    ÷
  • la touche de signe
    +/-
    , remarquable pour une calculatrice basique
  • la touche de pourcentage
    %
  • la touche de résultat
    =
  • la touche de réinitialisation
    C

C'est à se demander si la calculatrice n'a pas étgalement été conçue par un enfant, parce que l'ergonomie de ce clavier est des plus déplorables. :mj:

La touche
=
qui est pourtant une des plus importantes n'est pas mise en évidence mais noyée bien au milieu d'autres touches de même dimension.

A noter que cette calculatrice semble ne pas être conçue pour être utilisée avec les doigts, mais uniquement avec le bout des ongles, ce qui pourra rebuter l'utilisateur habitué aux smartphones ou tablettes. En effet avec le doigt, activer une touche nécessite de beaucoup appuyer, ce qui active alors facilement des touches voisines parasites.

Mais ce n'est pas tout, les touches opératoires sont également fort bizarrement disposées, avec en début de 2ème ligne
÷
×
-
+
. Même genre de problème donc, le
+
qui dans nombre de situations est beaucoup plus utilisé que les autres touches n'est pas le plus accessible, à aller chercher ici encore bien au milieu.

1501915020Venons-en aux capacités. L'écran comprend 8 cellules permettant chacune d'afficher un chiffre sur 7 segments accompagné de son éventuel séparateur décimal en bas à droite.

3 drapeaux sont également présents à la droite de l'écran :
  • -
    : le signe négatif
  • E
    : pour indiquer une erreur de dépassement de capacité
  • M
    : pour indiquer la mise en mémoire d'une valeur, drapeau inutilisé qui ne s'allume jamais ici, aucune touche mémoire n'étant présente au clavier

Les capacités calculatoires correspondent exactement à ce que permet l'écran : la calculatrice semble travailler sur 8 chiffres significatifs.

En effet, en valeur absolue :
  • tout résultat strictement inférieur à 10-7 est remplacé par 0
  • tout résultat supérieur à 108 n'affiche que les 8 premiers chiffres significatifs de la mantisse et active le drapeau d'erreur
    E
    , bloquant alors la calculatrice jusqu'à réinitialisation avec la touche
    C

Enfin, problème d'interface par rapport à la saisie clavier, le manque de retour visuel. Si l'appui sur un touche opérateur
+
-
×
÷
déclenche un léger clignotement de l'affichage confirmant la prise en compte correcte de la touche, ce n'est pas le cas pour les appuis sur les touches numériques. Pour le calcul de 1+1 ou 2×2 par exemple, rien ne t'indiquera visuellement que la saisie de la 2ème opérande a correctement été effectuée.



Nous irions volontiers plus loin en te démontant la calculatrice, mais hélas aucune vis ne semble visible. Nous doutons donc de pouvoir la démonter de façon non destructrice, et ce serait incorrect vu qu'elle marche encore.



Merci pour nous avoir démontré une fois de plus à quel point il était possible de rater une calculatrice lorsque l'on quitte les grands constructeurs historiques, un vrai délice ! :D



Crédits images
:


-
Search
-
Social
-
Featured topics
Concours de dessin de Noël 2021 Jusqu'au 31 janvier 2022 inclus par Casio. Dessine ta liste au Père Noël sur calculatrice/émulateur Graph 90/35+E II en Python ou fx-92+ Spéciale Collège. Ouvert aux élèves et enseignants, classement séparé. À gagner 2 consoles Nintendo Switch pour les élèves, 2 trottinettes électriques pour les enseignants, 10 calculatrices Graph 90/35+E II au choix, 72 montres Casio G-Shock ou Vintage. Pas de perdant, goodies Casio pour tous les autres !
Coque NumWorks édition limitée Janvier 2022 à gagner.
Comparaisons des meilleurs prix pour acheter sa calculatrice !
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
470 utilisateurs:
>439 invités
>25 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)