Nombre de personnes incluses par sexe et par association

Au 09/06/2020, 824 personnes ont été incluses dans l’étude. Parmi elles, 613 sont des adultes et 211 sont des enfants. Parmi les adultes, 36.4% sont des hommes et 63.6% des femmes. Parmi les enfants, 42.7% sont des filles et 57.3% sont des garçons.

Table 1 : Nombre de personnes incluses dans l'étude par association et par du sexe au 09/06/2020- Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
Adultes
Enfants
Associations Femmes Hommes Sous-total Filles Garçons Sous-total TOTAL
AAISC 6 4 10 2 0 2 12
ALQR 59 36 95 18 21 39 134
Chemin du hérisson 105 31 136 22 37 59 195
CS Les Alliers 24 18 42 9 11 20 62
AAPIQ 17 7 24 3 2 5 29
CSC Royan 16 4 20 2 4 6 26
CAC de Surgères 2 9 11 1 1 2 13
La mission Fraternité 7 11 18 1 0 1 19
CS Tsigane UDAF 8 11 19 4 3 7 26
ADAV 146 92 238 28 42 70 308
Total 390 223 613 90 121 211 824

Âge moyen des adultes et des enfants inclus

En moyenne, les adultes sont âgés de 42.2 ans (sd = 15.2 ans) et les enfants de 10.3 ans (sd = 1.9 ans). L’âge moyen des femmes est de 41.5 ans (sd = 15.5 ans) et des hommes de 43.4 ans (sd = 14.6 ans).
L’âge moyen des filles est de 10.1 ans (sd = 2 ans) et des garçons de 10.4 ans (sd = 1.9 ans).

Ratio selon le sexe des personnes

Le ratio femmes / hommes est de 1.7. Le ratio filles / garçons est de 0.7. La ratio adultes / enfants est de 2.9. Ces ratios sont présentés par association dans la table ci-dessous (Table 2).

Table 2 : Ratios en fonction du sexe des personnes incluses au 09/06/2020 Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
Ratio
Associations Femmes/Hommes Filles/Garçons Adultes/Enfants Nombre de personnes incluses
AAISC 1.5 NA NA 12
ALQR 1.6 0.9 0.4 134
Chemin du hérisson 3.4 0.6 0.4 195
CS Les Alliers 1.3 0.8 0.5 62
AAPIQ 2.4 1.5 0.2 29
CSC Royan 4.0 0.5 0.3 26
CAC de Surgères 0.2 1 0.2 13
La mission Fraternité 0.6 NA NA 19
CS Tsigane UDAF 0.7 1.3 0.4 26
ADAV 1.6 0.7 0.3 308
Total 1.7 0.7 0.3 824

Nombre de personnes incluses en fonction des semaines

Questionnaires transmis vs questionnaires attendus selon les territoires

Questionnaires transmis Vs questionnaires attendus selon les associations

Table : Questionnaires transmis et attendus par association au 09/06/2020 - Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
Nb de questionnaires
Pourcentages
Associations à transmettre attendus transmis réalisé vs attendu réalisé vs à transmettre attendu vs à transmettre
AAISC 49 48 12 25% 24% 98%
ALQR 162 144 134 93% 83% 89%
Chemin du hérisson 245 184 195 100% 80% 75%
CS Les Alliers 183 144 62 43% 34% 79%
AAPIQ 44 44 29 66% 66% 100%
CSC Royan 117 97 26 27% 22% 83%
CAC de Surgères 49 48 13 27% 27% 98%
La mission Fraternité 109 83 19 23% 17% 76%
CS Tsigane UDAF 83 79 26 33% 31% 95%
ADAV 1008 700 308 44% 31% 69%
TOTAL 2033 1571 824 52% 41% 77%

Sur les 2033 questionnaires nécessaires pour cette étude, 824 ont été collectés et transmis à ce jour, ce qui veut dire que le niveau global de réalisation au 09/06/2020 est de 41%.

Table 4 : Questionnaires transmis par semaine et par association au 09/06/2020 - Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
Associations Semaine 48 Semaine 49 Semaine 50 Semaine 51 Semaine 52 Semaine 1 Semaine 2 Semaine 3 Semaine 4 Semaine 5 Semaine 6 Semaine 7 Semaine 8 Semaine 9 Semaine 10 Semaine 11 Semaine 12 TOTAL
AAISC 0 0 0 0 0 0 3 0 0 0 0 0 4 0 5 0 0 12
ALQR 1 8 7 9 0 1 18 6 18 9 15 11 7 6 8 10 0 134
Chemin du hérisson 0 0 0 11 12 10 12 15 20 19 13 3 23 20 22 15 0 195
CS Les Alliers 0 1 5 7 2 0 8 3 7 2 8 11 8 0 0 0 0 62
AAPIQ 0 0 0 2 0 9 0 4 3 3 1 2 0 3 0 2 0 29
CSC Royan 0 0 0 0 0 0 0 0 4 7 4 4 2 2 0 3 0 26
CAC de Surgères 0 0 0 0 0 0 0 0 2 0 0 3 4 1 0 3 0 13
La mission Fraternité 0 0 0 1 0 0 0 0 0 1 7 6 0 0 0 3 1 19
CS Tsigane UDAF 0 0 0 0 0 0 0 0 5 0 2 5 13 0 1 0 0 26
ADAV 0 11 16 13 0 0 9 26 7 26 34 26 38 27 46 29 0 308
TOTAL 1 20 28 43 14 20 50 54 66 67 84 71 99 59 82 65 1 824

Effectifs actualisés recensement, tirage au sort et population cible

Table 5 : effectifs ménages et personnes tirages au sort 09/06/2020 Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
Ménages recensés
Ménages à tirer au sort
Personnes cible
Associations Initial Actualisé Initial Actualisé Initial Actualisé
AAISC 78 73 38 39 49 49
ALQR 185 185 152 160 164 173
Chemin du hérisson 296 264 251 220 280 245
CS Les Alliers 230 211 173 143 192 175
AAPIQ 70 68 36 36 44 44
CSC Royan 201 112 111 72 128 101
CAC de Surgères 70 69 44 44 49 49
La mission Fraternité 163 85 86 80 109 92
CS Tsigane UDAF 102 106 76 76 84 84
ADAV 1718 1435 801 755 1015 971
TOTAL 3113 2608 1768 1625 2114 1983

Refus

Les associations ont réporté que 45 personnes n’ont pas répondu ou répondu partiellement aux questionnaires, ce qui représente un taux de non-participation de 5.5%.

Données Manquantes

Lieux de vie

LS0tCnRpdGxlOiA8aW1nIHNyYz0nL1VzZXJzL0VsaXNlZS9TUEYvR0RWL2xvZ29fU1BGLnBuZycgd2lkdGg9JzE1MCc+IFRBQkxFQVUKICBERSBCT1JEIC0gU3VpdmkgZGVzIGluY2x1c2lvbnMKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IG5vbmUKICAgIHRoZW1lOiB5ZXRpCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKZGF0ZTogJ0RhdGUgZCcnYWN0dWFsaXNhdGlvbiA6IGByIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKWAnCnN1YnRpdGxlOiBFdHVkZSBzdXIgbGUgc2FudMOpIGRlcyBHZW5zIGR1IHZveWFnZSBlbiBOb3V2ZWxsZSBBcXVpdGFpbmUKLS0tCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmJvZHkgICAgICAgIHsvKiBOb3JtYWwgKi8gICAgIGZvbnQtZmFtaWx5OiJDYWxpYnJpIjsgZm9udC1zaXplOjE2cHg7IGZvbnQtc3R5bGU6Ym9sZDsgY29sb3I6YmxhY2sgIH0KdGQgICAgICAgICAgey8qIFRhYmxlICovICAgICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MTJweDsgfQpoMS50aXRsZSAgICB7LyogVGl0bGUgKi8gICAgICBmb250LWZhbWlseToiQ2FsaWJyaSI7IGZvbnQtc2l6ZTozMHB4OyBmb250LXN0eWxlOmJvbGQ7IGNvbG9yOnJlZCB9CmgxLnN1YnRpdGxlIHsvKiBTdWJ0aXRsZSAqLyAgIGZvbnQtZmFtaWx5OiJDYWxpYnJpIjsgZm9udC1zaXplOjUwcHg7IGZvbnQtc3R5bGU6Ym9sZDsgY29sb3I6cmVkIH0KaDEgICAgICAgICAgey8qIEhlYWRlciAxICovICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MjJweDsgZm9udC1zdHlsZTpib2xkOyBjb2xvcjpibHVlOyAgfQpoMiAgICAgICAgICB7LyogSGVhZGVyIDIgKi8gICBmb250LWZhbWlseToiQ2FsaWJyaSI7IGZvbnQtc2l6ZToxOHB4OyBmb250LXN0eWxlczpib2xkOyBjb2xvcjpncmVlbjsgIH0KaDMgICAgICAgICAgey8qIEhlYWRlciAzICovICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MzBweDsgZm9udC1zdHlsZXM6Ym9sZDsgY29sb3I6cmVkIH0KY29kZS5yICAgICAgey8qIENvZGUgYmxvY2sgKi8gZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MTJweDsgfQpwcmUgICAgICAgICB7LyogQ29kZSBibG9jayAtICBkZXRlcm1pbmVzIGNvZGUgc3BhY2luZyBiZXR3ZWVuIGxpbmVzICovIGZvbnQtc2l6ZTogOHB4OyB9Cjwvc3R5bGU+CgotLS0KYGBge3Igc2V0dXAgY2h1bmssIGNoYXJnZW1lbnQgZGVzIHBhY2thZ2VzLCBlY2hvPUYsIGluY2x1ZGU9RiwgbWVzc2FnZT1GLCB3YXJuaW5nPUZ9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBlY2hvID0gRiwKICBpbmNsdWRlID0gRiwKICBmaWcuYWxpZ24gPSAiY2VudGVyIiwKICBmaWcud2lkdGggPSAyMCwKICBkcGkgPSA1MDAKKQpwYXRoIDwtICIvVXNlcnMvRWxpc2VlL1NQRi9HRFYvUi1HRFYvc3JjIgpzb3VyY2UoZmlsZS5wYXRoKHBhdGgsICIwX3NldHVwLlIiKSkKc291cmNlKCIuLzFfREZTdWl2aS5SIikKYGBgCgoKIyBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIHBhciBzZXhlIGV0IHBhciBhc3NvY2lhdGlvbgpBdSBgciBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLyVtLyVZIilgLCAqKmByIG5yb3coREZTdWl2aSlgIHBlcnNvbm5lcyoqIG9udCDDqXTDqSBpbmNsdXNlcyBkYW5zIGwnw6l0dWRlLiBQYXJtaSBlbGxlcywgYHIgc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkFkdWx0ZSIpYCBzb250IGRlcyBhZHVsdGVzIGV0IGByIHN1bShERlN1aXZpJFBlcnNvbm5lID09ICJFbmZhbnQiKWAgc29udCBkZXMgZW5mYW50cy4gUGFybWkgbGVzIGFkdWx0ZXMsIGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkhvbW1lIikvc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkFkdWx0ZSIpLCAzKSoxMDBgJSBzb250IGRlcyBob21tZXMgZXQgYHIgcm91bmQoc3VtKERGU3VpdmkkU2V4ZSA9PSAiRmVtbWUiKS9zdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIiksIDMpKjEwMGAlIGRlcyBmZW1tZXMuIFBhcm1pIGxlcyBlbmZhbnRzLCBgciByb3VuZChzdW0oREZTdWl2aSRTZXhlID09ICJGaWxsZSIpL3N1bShERlN1aXZpJFBlcnNvbm5lID09ICJFbmZhbnQiKSwgMykqMTAwYCUgc29udCBkZXMgZmlsbGVzIGV0IGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkdhcsOnb24iKS9zdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiRW5mYW50IiksIDMpKjEwMGAlIHNvbnQgZGVzIGdhcsOnb25zLgoKCgpgYGB7ciBpbmNsdWRlID0gVH0KIyBQbG90IHRhYmxlYXUgMSAtIG5vbWJyZSBkZSBwZXJzb25uZXMgaW5jbHVzZXMgcGFyIHNleGUgZXQgcGFyIGFzc29jaWF0aW9uCnRhYjEgICU+JQogIG11dGF0ZShgU291cy10b3RhbCBgID0gY2VsbF9zcGVjKGBTb3VzLXRvdGFsIGAsIGJvbGQgPSBUKSkgJT4lCiAgbXV0YXRlKGBTb3VzLXRvdGFsYCA9IGNlbGxfc3BlYyhgU291cy10b3RhbGAsIGJvbGQgPSBUKSkgJT4lCiAgbXV0YXRlKFRPVEFMID0gY2VsbF9zcGVjKFRPVEFMLCBib2xkID0gVCkpICU+JQogIGthYmxlKAogICAgY2FwdGlvbiA9IHBhc3RlMCgKICAgICAgIlRhYmxlIDEgOiBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGRhbnMgbCfDqXR1ZGUgcGFyIGFzc29jaWF0aW9uIGV0IHBhciBkdSBzZXhlIGF1ICIsCiAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwKICAgICAgIi0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIgogICAgKSwKICAgIGZvcm1hdCA9ICJodG1sIiwKICAgIHBvc2l0aW9uID0gImNlbnRlciIsCiAgICBlc2NhcGUgPSBGLAogICAgYWxpZ24gPSBjKCJsIiwgImMiLCAiYyIsICJjIiwgImMiLCAiYyIsICJjIiwgImMiLCAiYyIpCiAgKSAlPiUKICBrYWJsZV9zdHlsaW5nKAogICAgYm9vdHN0cmFwX29wdGlvbnMgPSAic3RyaXBlZCIsCiAgICBmdWxsX3dpZHRoID0gRiwKICAgIGZvbnRfc2l6ZSA9IDEyCiAgKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpICU+JQogIGFkZF9oZWFkZXJfYWJvdmUoYygKICAgICIgIiA9IDEsCiAgICAiQWR1bHRlcyIgPSAzLAogICAgIkVuZmFudHMiID0gMywKICAgICIgIiA9IDEKICApKQpgYGAKCiMgw4JnZSBtb3llbiBkZXMgYWR1bHRlcyBldCBkZXMgZW5mYW50cyBpbmNsdXMKRW4gbW95ZW5uZSwgbGVzIGFkdWx0ZXMgc29udCDDomfDqXMgZGUKYHIgcm91bmQod2l0aChERlN1aXZpLCB0YXBwbHkoQWdlLCBQZXJzb25uZSwgbWVhbiwgbmEucm09VCkpWzFdLDEpYCBhbnMgKHNkID0gYHIgcm91bmQod2l0aChERlN1aXZpLCB0YXBwbHkoQWdlLCBQZXJzb25uZSwgc2QsIG5hLnJtPVQpKVsxXSwxKWAgYW5zKQpldCBsZXMgZW5mYW50cyBkZSBgciByb3VuZCh3aXRoKERGU3VpdmksIHRhcHBseShBZ2UsIFBlcnNvbm5lLCBtZWFuLCBuYS5ybT1UKSlbMl0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKERGU3VpdmksIHRhcHBseShBZ2UsIFBlcnNvbm5lLCBzZCwgbmEucm09VCkpWzJdLDEpYCBhbnMpLgpMJ8OiZ2UgbW95ZW4gZGVzIGZlbW1lcyBlc3QgZGUgYHIgcm91bmQod2l0aChkZkFfc3VpdmksIHRhcHBseShBZ2UsIFNleGUsIG1lYW4sIG5hLnJtPVQpKVsxXSwxKWAKIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmQV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpWzFdKSwxKWAgYW5zKSBldCBkZXMgaG9tbWVzIGRlIGByIHJvdW5kKHdpdGgoZGZBX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBtZWFuLCBuYS5ybT1UKSlbMl0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmQV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpKVsyXSwxKWAgYW5zKS4gIAogTCfDomdlIG1veWVuIGRlcyBmaWxsZXMgZXN0IGRlIGByIHJvdW5kKHdpdGgoZGZFX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBtZWFuLCBuYS5ybT1UKSlbMV0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmRV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpWzFdKSwxKWAgYW5zKSBldCBkZXMgZ2Fyw6dvbnMgZGUgYHIgcm91bmQod2l0aChkZkVfc3VpdmksIHRhcHBseShBZ2UsIFNleGUsIG1lYW4sIG5hLnJtPVQpKVsyXSwxKWAgYW5zIChzZCA9IGByIHJvdW5kKHdpdGgoZGZFX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBzZCwgbmEucm09VCkpWzJdLDEpYCBhbnMpLgoKPGNlbnRlcj4gICAgCmBgYHtyIGluY2x1ZGUgPSBULCBmaWcud2lkdGg9OCwgZGV2PSJzdmciLCBkcGk9MzAwfQojIFBsb3QgZmlndXJlIDEgLSBib3hwbG90IMOiZ2UgZGVzIGFkdWx0ZXMKZ2dwbG90KERGU3Vpdmlbd2hpY2goREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIiksIF0pICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIGFlcyh4ID0gU2V4ZSwgeSA9IEFnZSwgY29sb3IgPSBTZXhlKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGxhYnModGl0bGUgPSAiRmlndXJlIDEgOiBCb8OudGUgw6AgbW91c3RhY2hlIGRlIGxhIHZhcmlhYmxlIMOiZ2UgXG5lbiBmb25jdGlvbiBkdSBzZXhlIGNoZXMgbGVzIGFkdWx0ZXMiLAogICAgICAgeSA9ICLDgmdlIChlbiBhbm7DqWVzKSIsCiAgICAgICB4ID0gIiIpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KAogICAgICBhbmdsZSA9IDQ1LAogICAgICBoanVzdCA9IDEsCiAgICAgIGNvbG9yID0gImdyZXk1MCIKICAgICksCiAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIiksCiAgICBheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleTUwIiksCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KAogICAgICBjb2xvciA9ICJncmV5NTAiLAogICAgICBzaXplID0gMTAsCiAgICAgIGhqdXN0ID0gMC41CiAgICApCiAgKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJGZW1tZXMiLCAiSG9tbWVzIikpICsKICBzY2FsZV95X2NvbnRpbnVvdXMobGltaXRzID0gYygxOCwgOTUpLCBicmVha3MgPSBzZXEoMCwgMTAwLCAxMCkpIC0+IHAxCgojIFBsb3QgZmlndXJlIDIgLSBib3hwbG90IMOiZ2UgZGVzIGVuZmFudHMKZ2dwbG90KERGU3Vpdmlbd2hpY2goREZTdWl2aSRQZXJzb25uZSA9PSAiRW5mYW50IiksIF0pICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIGFlcyh4ID0gU2V4ZSwgeSA9IEFnZSwgY29sb3IgPSBTZXhlKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGxhYnModGl0bGUgPSAiRmlndXJlIDIgOiBCb8OudGUgw6AgbW91c3RhY2hlIGRlIGxhIHZhcmlhYmxlIMOiZ2UgXG5lbiBmb25jdGlvbiBkdSBzZXhlIGNoZXogbGVzIGVuZmFudHMiLAogICAgICAgeSA9ICLDgmdlIChlbiBhbm7DqWVzKSIsCiAgICAgICB4ID0gIiIpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KAogICAgICBhbmdsZSA9IDQ1LAogICAgICBoanVzdCA9IDEsCiAgICAgIGNvbG9yID0gImdyZXk1MCIKICAgICksCiAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIiksCiAgICBheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleTUwIiksCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KAogICAgICBjb2xvciA9ICJncmV5NTAiLAogICAgICBzaXplID0gMTAsCiAgICAgIGhqdXN0ID0gMC41CiAgICApCiAgKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJGaWxsZXMiLCAiR2Fyw6dvbnMiKSkgKwogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDYsIDE0KSwgYnJlYWtzID0gc2VxKDYsIDE0LCAxKSkgLT4gcDIKCmdyaWQuYXJyYW5nZShwMSwgcDIsIG5yb3cgPSAxLCBuY29sID0gMikKcm0ocDEsIHAyKQpgYGAKPGNlbnRlcj4gCgojIFJhdGlvIHNlbG9uIGxlIHNleGUgZGVzIHBlcnNvbm5lcwpMZSByYXRpbyBmZW1tZXMgLyBob21tZXMgZXN0IGRlIGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkZlbW1lIikvc3VtKERGU3VpdmkkU2V4ZSA9PSAiSG9tbWUiKSwxKWAuCkxlIHJhdGlvIGZpbGxlcyAvIGdhcsOnb25zIGVzdCBkZSBgciByb3VuZChzdW0oREZTdWl2aSRTZXhlID09ICJGaWxsZSIpL3N1bShERlN1aXZpJFNleGUgPT0gIkdhcsOnb24iKSwxKWAuCkxhIHJhdGlvIGFkdWx0ZXMgLyBlbmZhbnRzIGVzdCBkZSBgciByb3VuZChzdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIikvc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkVuZmFudCIpLDEpYC4KQ2VzIHJhdGlvcyBzb250IHByw6lzZW50w6lzIHBhciBhc3NvY2lhdGlvbiBkYW5zIGxhIHRhYmxlIGNpLWRlc3NvdXMgKFRhYmxlIDIpLgoKCmBgYHtyIGluY2x1ZGUgPSBUfQojIFBsb3QgdGFibGVhdSAyIC0gUmF0aW9zIGVuIGZvbmN0aW9uIGR1IHNleGUgZXQgZGUgbCfDomdlIGRlcyBwZXJzb25uZXMgaW5jbHVzZXMKdGFiMiAlPiUgCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgMiA6IFJhdGlvcyBlbiBmb25jdGlvbiBkdSBzZXhlIGRlcyBwZXJzb25uZXMgaW5jbHVzZXMgYXUgIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwKICAgICAgICAgICAgICAgICAgICAgICAgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGVzY2FwZSA9IEYsIGFsaWduID0gYygibCIsIHJlcCgiYyIsbmNvbCh0YWIyKSkpKSAlPiUKICBrYWJsZV9zdHlsaW5nKGJvb3RzdHJhcF9vcHRpb25zID0gInN0cmlwZWQiLCBmdWxsX3dpZHRoID0gRiwgZm9udF9zaXplID0gMTIpICU+JQogIGNvbGxhcHNlX3Jvd3MoY29sdW1ucyA9IDEsIHZhbGlnbiA9ICJtaWRkbGUiKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpICU+JQogIGFkZF9oZWFkZXJfYWJvdmUoYygiICIgPSAxLCAiUmF0aW8iID0gMywgIiAiID0gMSkpCmBgYAoKCi0tLQoKIyBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGVuIGZvbmN0aW9uIGRlcyBzZW1haW5lcwo8Y2VudGVyPgpgYGB7ciBQbG90IEZpZ3VyZSAzLCBkZXY9InN2ZyIsIGRwaT0zMDAsIGluY2x1ZGU9VH0KZ2dwbG90KERGU3VpdmkpICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKyBhZXMoeCA9IFNlbWFpbmUsIGJpbndpZHRoID0gMCkgKwogIGdlb21fYmFyKGNvbG91ciA9ICJ3aGl0ZSIsIGZpbGwgPSAiIzc1OGJkMSIsIHdpZHRoID0gMC44LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2RvZGdlKDUpKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gOSwgaGp1c3QgPSAwLjUpKSArCiAgeWxpbShjKDAsMTAwKSkgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSwgY29sb3IgPSAiZ3JleTUwIiksCiAgICAgICAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICB0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoc2l6ZSA9IDAuOCwgY29sb3VyID0gImdyZXk4MCIpKSArCiAgbGFicyh5ID0gIk5iIGRlIHF1ZXN0aW9ubmFpcmVzIiwgeCA9ICIiKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gMTAsIGhqdXN0ID0gMC41KSkgKwogIGxhYnModGl0bGUgPSBwYXN0ZTAoIkZpZ3VyZSAxIDogTm9tYnJlIGQnaW5jbHVzaW9ucyBzZWxvbiBsZXMgc2VtYWluZXMgYXUgMTYvMDMvMjAyMC5cbiBFdHVkZSBzdXIgbGEgc2FudMOpIGRlcyBHZW5zIGR1IHZveWFnZSBlbiBOb3V2ZWxsZSBBcXVpdGFpbmUgMjAxOS0yMDIwIikpCmBgYAo8Y2VudGVyPgoKIyBRdWVzdGlvbm5haXJlcyB0cmFuc21pcyB2cyBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyBzZWxvbiBsZXMgdGVycml0b2lyZXMKCmBgYHtyIFBsb3QgdGFiNC5iaXMsIGluY2x1ZGU9Rn0KdGFiNC5iaXMgJT4lIAogIGthYmxlKGNhcHRpb24gPSBwYXN0ZTAoIlRhYmxlIDMgOiBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGRhbnMgbCfDqXR1ZGUgcGFyIGFzc29jaWF0aW9uIGV0IHRlcnJpdG9pcmVzIGV0IHBhciBzZXhlIGF1ICIsIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGVzY2FwZSA9IEYsIGFsaWduID0gYygibCIsIHJlcCgiYyIsbmNvbCh0YWI0LmJpcykpKSkgJT4lCiAga2FibGVfc3R5bGluZyhib290c3RyYXBfb3B0aW9ucyA9ICJzdHJpcGVkIiwgZnVsbF93aWR0aCA9IEYsCiAgICAgICAgZm9udF9zaXplID0gMTIpICU+JQogIGNvbGxhcHNlX3Jvd3MoY29sdW1ucyA9IDEsIHZhbGlnbiA9ICJtaWRkbGUiKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpCmBgYAoKPGNlbnRlcj4KYGBge3IgaW5jbHVkZSA9IFQsIGRwaT00MDB9CiMgUGxvdCBGaWd1cmUgNCA6IHBvdXJjZW50YWdlcyByw6lhbGlzw6lzIHNlbG9uIGxlcyB0ZXJyaXRvaXJlcywgCmdncGxvdCh0YWI0KSArIHRoZW1lX21pbmltYWwoKSArCiAgZ2VvbV9iYXIoYWVzKHkgPSBjKHJlcCgxMDAsMTgpKSwgeCA9IFRlcnJpdG9pcmVzKSwgc3RhdD0iaWRlbnRpdHkiLCBmaWxsID0gImRhcmtzZWFncmVlbjIiKSArICNncmF5OTAKICBnZW9tX2JhcihhZXMoeSA9IGBQb3VyY2VudGFnZSByw6lhbGlzw6kgdnMgYXR0ZW5kdWAsIHggPSBUZXJyaXRvaXJlcyksIHN0YXQ9ImlkZW50aXR5IiwgZmlsbCA9ICJkYXJrc2VhZ3JlZW40IikgKyAjbWVkaXVtc3ByaW5nZ3JlZW4KICBnZW9tX3RleHQoZGF0YSA9IHRhYjQsIGFlcyh4ID0gVGVycml0b2lyZXMsIHkgPSByZXAoMTAzLDE4KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBwYXN0ZTAoYFF1ZXN0aW9ubmFpcmVzIGF0dGVuZHVzYCkpLCBzaXplID0gMy41LCBjb2xvciA9ICJibGFjayIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGRvbGxhcl9mb3JtYXQoc3VmZml4ID0gIiUiLCBwcmVmaXggPSAiIikpICsKICAKICBsYWJzKHRpdGxlID0gcGFzdGUwKCJGaWd1cmUgNCA6IE5pdmVhdSBkZSByw6lhbGlzYXRpb24gZGVzIHF1ZXN0aW9ubmFpcmVzIChlbiAlKSBzZWxvbiBsZXMgdGVycml0b2lyZXMgYXUgIiwKICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gMTAsIGhqdXN0ID0gMC41KSkgKwogIGxhYnMoeCA9ICIiLCB5ID0gIlBvdXJjZW50YWdlIikgIysKICAjYW5ub3RhdGUoInRleHQiLCA4LCA5NywgbGFiZWw9Ik5vbWJyZSBkZSBxdWVzdGlvbm5haXJlcyDDoCByw6lhbGlzZXIiLCBjb2xvciA9ICJibGFjayIsIGhqdXN0ID0gMSwgc2l6ZSA9IDQpCmBgYAo8Y2VudGVyPgogCgoKIyBRdWVzdGlvbm5haXJlcyB0cmFuc21pcyBWcyBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyBzZWxvbiBsZXMgYXNzb2NpYXRpb25zCmBgYHtyIFBsb3QgdGFiNS5iaXMsIGluY2x1ZGUgPSBUfQp0YWI1LmJpcyAlPiUKICBrYWJsZShjYXB0aW9uID0gcGFzdGUwKCJUYWJsZSA6IFF1ZXN0aW9ubmFpcmVzIHRyYW5zbWlzIGV0IGF0dGVuZHVzIHBhciBhc3NvY2lhdGlvbiBhdSAiLAogICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KFN5cy5EYXRlKCksICIlZC8lbS8lWSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIlxuIC0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIiksCiAgICAgICAgZm9ybWF0ID0gImh0bWwiLCBwb3NpdGlvbiA9ICJjZW50ZXIiLCBlc2NhcGUgPSBGLCBhbGlnbiA9IGMoImwiLCByZXAoImMiLG5jb2woZGYpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgInJlc3BvbnNpdmUiKSwKICAgICAgICAgICAgICAgIGZ1bGxfd2lkdGggPSBGLAogICAgICAgIGZvbnRfc2l6ZSA9IDEyKSAlPiUKICBjb2xsYXBzZV9yb3dzKGNvbHVtbnMgPSAxLCB2YWxpZ24gPSAibWlkZGxlIikgJT4lCiAgcm93X3NwZWMoMTEsIGJvbGQgPSBUKSAlPiUKICBjb2x1bW5fc3BlYyhjKDMsNSw2LDcpLCB3aWR0aCA9ICI4ZW0iKSAlPiUKICBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiID0gMSwgIk5iIGRlIHF1ZXN0aW9ubmFpcmVzIiA9IDMsICJQb3VyY2VudGFnZXMiID0gMykpCiAgCmBgYApTdXIgbGVzIDIwMzMgcXVlc3Rpb25uYWlyZXMgbsOpY2Vzc2FpcmVzIHBvdXIgY2V0dGUgw6l0dWRlLCBgciBucm93KERGU3VpdmkpYCBvbnQgw6l0w6kgY29sbGVjdMOpcyBldCB0cmFuc21pcyDDoCBjZSBqb3VyLCBjZSBxdWkgdmV1dCBkaXJlIHF1ZSBsZSAqKm5pdmVhdSBnbG9iYWwgZGUgcsOpYWxpc2F0aW9uIGF1IGByIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKWAgZXN0IGRlIGByIHJvdW5kKG5yb3coREZTdWl2aSkvMjAzMywyKSoxMDBgJSoqLiAgIAoKCjxjZW50ZXI+CmBgYHtyIFBsb3QgRmlndXJlIDUgOiBiYXJwbG90IHBvdXJjZW50YWdlIHLDqWFsaXPDqSBzZWxvbiBsZXMgYWFzb2NpYXRpb25zLCBpbmNsdWRlID0gVCwgZHBpPTQwMH0KZ2dwbG90KHRhYjUpICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIAogIGdlb21fYmFyKGFlcyh5ID0gYyhyZXAoMTAwLDExKSksIHggPSBBc3NvY2lhdGlvbnMpLCBzdGF0PSJpZGVudGl0eSIsIGZpbGwgPSAiZ3JleTgwIikgKwogIGdlb21fYmFyKGFlcyh5ID0gYFBvdXJjZW50YWdlIHLDqWFsaXPDqSB2cyBhdHRlbmR1YCwgeCA9IEFzc29jaWF0aW9ucyksIHN0YXQ9ImlkZW50aXR5IiwKICAgICAgICAgICBmaWxsID0gIiM2OWIzYTIiKSArCiAgCiAgZ2VvbV90ZXh0KGRhdGEgPSB0YWI1LCBhZXMoeCA9IEFzc29jaWF0aW9ucywgeSA9IHJlcCgxMDMsMTEpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHBhc3RlMChgUXVlc3Rpb25uYWlyZXMgYXR0ZW5kdXNgKSksIHNpemUgPSAzLjUsIGNvbG9yID0gImdyZXkyMCIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGRvbGxhcl9mb3JtYXQoc3VmZml4ID0gIiUiLCBwcmVmaXggPSAiIikpICsKICB0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoc2l6ZSA9IDAuOCwgY29sb3VyID0gImdyZXk4MCIpKSArCiAgCiAgbGFicyh0aXRsZSA9IHBhc3RlMCgiRmlndXJlIDIgOiBOaXZlYXUgZGUgcsOpYWxpc2F0aW9uIGRlcyBlbnRyZXRpZW5zIChlbiAlKSBzZWxvbiBsZXMgYXNzb2NpYXRpb25zIGF1IDE2LzAzLzIwMjAuXG4gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIikpICsKICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIkdSRVk1MCIsIHNpemUgPSAxMCwgaGp1c3QgPSAwLjUpKSArCiMgIHRoZW1lKHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9IE5BLCBjb2xvdXIgPSAibGlnaHRncmV5IiksCiMgICAgICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfbGluZShsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvdXIgPSAiZ3JleTUwIiwgc2l6ZSA9IDAuMSkpICsKICBsYWJzKHggPSAiIiwgeSA9ICJQb3VyY2VudGFnZSIsIGNvbG9yID0gInJlZCIpICsKICB0aGVtZShheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICBhbm5vdGF0ZSgidGV4dCIsIDgsIDExMCwgbGFiZWw9Ik5vbWJyZSBkZSBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyIsIGNvbG9yID0gImdyZXkyMCIsIGhqdXN0ID0gMSwgc2l6ZSA9IDQpCmBgYAoKPGNlbnRlcj4KYGBge3IgdGFiNS5zY3JvbGwsIGluY2x1ZGU9VH0KdGFiNS5zY3JvbGwgJT4lCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgNCA6IFF1ZXN0aW9ubmFpcmVzIHRyYW5zbWlzIHBhciBzZW1haW5lIGV0IHBhciBhc3NvY2lhdGlvbiBhdSAiLAogICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KFN5cy5EYXRlKCksICIlZC8lbS8lWSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIlxuIC0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIiksCiAgICAgICAgZm9ybWF0ID0gImh0bWwiLCBwb3NpdGlvbiA9ICJjZW50ZXIiLCBlc2NhcGUgPSBGLCBhbGlnbiA9IGMoImwiLCByZXAoImMiLG5jb2wodGFiNS5zY3JvbGwpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgInJlc3BvbnNpdmUiKSwKICAgICAgICAgICAgICAgIGZ1bGxfd2lkdGggPSBGLCBmb250X3NpemUgPSAxMikgJT4lCiAgY29sbGFwc2Vfcm93cyhjb2x1bW5zID0gMSwgdmFsaWduID0gIm1pZGRsZSIpICU+JQogIHJvd19zcGVjKDExLCBib2xkID0gVCkgJT4lCiAgc2Nyb2xsX2JveCh3aWR0aCA9ICIxMDAlIiwgaGVpZ2h0ID0gIjUxMHB4IikKYGBgCgojIEVmZmVjdGlmcyBhY3R1YWxpc8OpcyByZWNlbnNlbWVudCwgdGlyYWdlIGF1IHNvcnQgZXQgcG9wdWxhdGlvbiBjaWJsZQpgYGB7ciBwbG90IHRhYjYsIGluY2x1ZGU9VH0KdGFiNiAlPiUgCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgNSA6IGVmZmVjdGlmcyBtw6luYWdlcyBldCBwZXJzb25uZXMgdGlyYWdlcyBhdSBzb3J0ICIsIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGNvbC5uYW1lcyA9IGMoIkFzc29jaWF0aW9ucyIsIHJlcChjKCJJbml0aWFsIiwiQWN0dWFsaXPDqSIpLDMpKSwgZXNjYXBlID0gRiwgYWxpZ24gPSBjKCJsIiwgcmVwKCJjIixuY29sKHRhYjYpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSAic3RyaXBlZCIsIGZ1bGxfd2lkdGggPSBGLAogICAgICAgIGZvbnRfc2l6ZSA9IDEyKSAlPiUKICBjb2xsYXBzZV9yb3dzKGNvbHVtbnMgPSAxLCB2YWxpZ24gPSAibWlkZGxlIikgJT4lCiAgcm93X3NwZWMoMTEsIGJvbGQgPSBUKSAlPiUKICBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiID0gMSwgIk3DqW5hZ2VzIHJlY2Vuc8OpcyIgPSAyLCAiTcOpbmFnZXMgw6AgdGlyZXIgYXUgc29ydCIgPSAyLAogICAgICAgICAgICAgICAgICAgICAiUGVyc29ubmVzIGNpYmxlIiA9IDIpKQpgYGAKCiMgUmVmdXMKTGVzIGFzc29jaWF0aW9ucyBvbnQgcsOpcG9ydMOpIHF1ZSBgciBucm93KHRhYjcpYCBwZXJzb25uZXMgbidvbnQgcGFzIHLDqXBvbmR1IG91IHLDqXBvbmR1IHBhcnRpZWxsZW1lbnQgYXV4IHF1ZXN0aW9ubmFpcmVzLCBjZSBxdWkgcmVwcsOpc2VudGUgdW4gdGF1eCBkZSBub24tcGFydGljaXBhdGlvbiBkZSBgciByb3VuZChucm93KHRhYjcpL25yb3coREZTdWl2aSkqMTAwLDEpYCUuCgojIERvbm7DqWVzIE1hbnF1YW50ZXMKIyMgTGlldXggZGUgdmllCmBgYHtyIGVjaG89RiwgZXZhbD1GLCBpbmNsdWRlPUZ9CiMgQ2hhcmdlbWVudCBkZXMgZG9ubsOpZXMKZGZfbGR2IDwtIHJlYWRfZGVsaW0oImRhdGEvR0RWX2V4cG9ydF9sZHYuY3N2IiwgIjsiLCBlc2NhcGVfZG91YmxlID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZShkYXRlX25hbWVzID0gImZyIiwgZGF0ZV9mb3JtYXQgPSAiJWQlbSVZIiwgZGVjaW1hbF9tYXJrID0gIiwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdfbWFyayA9ICI7IiksCiAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSAiIyIsIHRyaW1fd3MgPSBUUlVFKQoKIyBTdXBwcmVzc2lvbiBkZXMgcXVlc3Rpb25uYWlyZXMgbGlldSBkZSB2aWUgdmlkZXMKZGZfbGR2IDwtIGRmX2xkdlthcHBseShkZl9sZHZbLC1jKDEsMiw3OTo4MildLCAxLCBmdW5jdGlvbih5KSAhYWxsKGlzLm5hKHkpKSksXQoKIyBTw6lsZWN0aW9uIGRlcyB2YXJpYWJsZXMgc3VpdmllcyBwb3VyIGxlcyBkb25uw6llcyBtYW5xdWFudGVzCnZhcnNfbGR2IDwtIGMoImNvZGVfbGlldWRldmllIiwiZTAxIiwiZTAzIiwiZTA2XzEiLCJlMDgiLCJlMDkiLCJlMTAiLCJlMTQiLCJlMTUiLCJlMTYiLCJlMTciLCJlMTgiLCJlMTkiLCJlMjAiLCJlMjEiLAogICAgICAgICAgImUyMyIsImUyNCIsImUyNSIsImUyNiIsImUyNyIsImUyOSIsImUzMCIsImUzMSIsImUzMiIpCmRmX2xkdl9uYSA8LSBkZl9sZHZbLHZhcnNfbGR2XQoKIyBWw6lyaWZpY2F0aW9uIGRlcyBkb3VibG9ucyBkZSBsYSB2YXJpYWJsZSBjb2RlIGxpZXUgZGUgdmllCmRmX2xkdl9uYTJbd2hpY2goZHVwbGljYXRlZChkZl9sZHZfbmEyJGNvZGVfbGlldWRldmllKSksYygiY29kZV9saWV1ZGV2aWUiKV0KCiMgRMOpZG91Ymxvbm5lbWVudCBkdSBkYXRhIGZyYW1lCmRmX2xkdl9uYTIgPC0gZGlzdGluY3QoZGZfbGR2X25hMikKCiMgQ29uc3RydWN0aW9uIGR1IHRhYmxlYXUgZGVzIGRvbm7DqWVzIG1hbnF1YW50ZXMKdGFiX25hX2xkdjIgPC0gZGF0YS5mcmFtZShuYl9uYSA9IHNvcnQoc2FwcGx5KGRmX2xkdl9uYTIsIGZ1bmN0aW9uKHgpIHsgc3VtKGlzLm5hKHgpKSB9KSwgZGVjcmVhc2luZyA9IFRSVUUpKQp0YWJfbmFfbGR2MiR2YXJzX25hIDwtIHJvd25hbWVzKHRhYl9uYV9sZHYyKSA7IHRhYl9uYV9sZHYyIDwtIHRhYl9uYV9sZHYyWyxjKDIsMSldCnJvd25hbWVzKHRhYl9uYV9sZHYyKSA8LSAxOm5yb3codGFiX25hX2xkdjIpCnJvdW5kKHNvcnQoc2FwcGx5KGRmX2xkdl9uYTIsIGZ1bmN0aW9uKHgpIHsgc3VtKGlzLm5hKHgpKSB9KSwgZGVjcmVhc2luZyA9IFRSVUUpL25yb3coZGZfbGR2X25hMikqMTAwLDMpCgojIFBsb3QgZG9ubsOpZXMgbWFucXVhbnRlcyBxdWVzdGlvbm5haXJlcyBsaWV1eCBkZSB2aWUKZ2dwbG90KHRhYl9uYV9sZHYyKSArIHRoZW1lX2J3KCkgKyB0aGVtZShwYW5lbC5ncmlkLm1ham9yID0gZWxlbWVudF9ibGFuaygpLCBwYW5lbC5ib3JkZXIgPSBlbGVtZW50X2JsYW5rKCkpICsKICBjb29yZF9mbGlwKCkgKwogIGdlb21fYmFyKGFlcyh5ID0gbmJfbmEsIHggPSByZW9yZGVyKHZhcnNfbmEsIC1uYl9uYSkpLCBzdGF0PSJpZGVudGl0eSIsIGZpbGwgPSAiZ3JleTgwIikgKwogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSAwOm1heCh0YWJfbmFfbGR2MiRuYl9uYSkpCmBgYAoKCgoKCgpgYGB7ciBlbnJlZ2lzdHJlbWVudCBkZXMgdGFibGVzIGVuIHRhbnQgcXVvYmpldHMgUiwgZXZhbD1UfQoKCmBgYAoK