Descriptives
Full neuroimaging sample
================================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
--------------------------------------------------------------------------------
CAPS5_PM_total 66 8.818 13.814 0 0 11.8 46
CTQ_emoNeglect 65 8.246 4.035 5.000 5.000 10.000 25.000
CTQ_physNeglect 66 6.455 2.941 5 5 7 24
CTQ_emoAbuse 65 6.877 3.516 5.000 5.000 7.000 25.000
CTQ_physAbuse 66 6.258 1.809 5 5 7 13
CTQ_sexAbuse 66 6.333 4.337 5 5 5 24
TLEQ_totalExclCT_nonW 65 9.615 17.623 0.000 5.000 9.000 107.000
TLEQ_sexualViolencePost18_nonW 65 0.031 0.174 0.000 0.000 0.000 1.000
WTCexposure_score 60 4.567 2.158 0.000 3.000 6.000 10.000
--------------------------------------------------------------------------------
Low-exposed controls (n = 16)
==============================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
------------------------------------------------------------------------------
CAPS5_PM_total 16 1.312 1.740 0 0 2.2 5
CTQ_emoNeglect 16 6.688 2.213 5 5 7.2 13
CTQ_physNeglect 16 5.562 1.365 5 5 5 9
CTQ_emoAbuse 16 5.875 1.857 5 5 6 12
CTQ_physAbuse 16 5.688 1.078 5 5 6 9
CTQ_sexAbuse 16 5.000 0.000 5 5 5 5
TLEQ_totalExclCT_nonW 16 5.188 2.167 0 4 6.2 8
TLEQ_sexualViolencePost18_nonW 16 0.000 0.000 0 0 0 0
WTCexposure_score 15 1.867 0.915 0.000 1.000 2.500 3.000
------------------------------------------------------------------------------
Resilient (n = 31)
=================================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
---------------------------------------------------------------------------------
CAPS5_PM_total 31 0.968 1.169 0 0 2 4
CTQ_emoNeglect 31 7.290 3.079 5 5 8.5 16
CTQ_physNeglect 31 5.484 1.235 5 5 5 10
CTQ_emoAbuse 31 5.774 1.802 5 5 6 14
CTQ_physAbuse 31 5.613 0.955 5 5 6 9
CTQ_sexAbuse 31 5.935 3.540 5 5 5 24
TLEQ_totalExclCT_nonW 30 12.767 25.605 1.000 4.250 9.000 107.000
TLEQ_sexualViolencePost18_nonW 30 0.000 0.000 0.000 0.000 0.000 0.000
WTCexposure_score 30 5.500 1.225 4.000 5.000 6.000 9.000
---------------------------------------------------------------------------------
PTSD (n = 19)
================================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
--------------------------------------------------------------------------------
CAPS5_PM_total 19 27.947 11.909 10 18.5 37 46
CTQ_emoNeglect 18 11.278 5.154 5.000 7.250 14.000 25.000
CTQ_physNeglect 19 8.789 4.366 5 6.5 10 24
CTQ_emoAbuse 18 9.667 5.134 5.000 6.250 11.000 25.000
CTQ_physAbuse 19 7.789 2.417 5 5.5 9 13
CTQ_sexAbuse 19 8.105 6.471 5 5 5 23
TLEQ_totalExclCT_nonW 19 8.368 2.891 3 6 10.5 15
TLEQ_sexualViolencePost18_nonW 19 0.105 0.315 0 0 0 1
WTCexposure_score 15 5.400 2.293 2.000 3.500 7.000 10.000
--------------------------------------------------------------------------------
Data visualization
n WTC exposures
Full neuroimaging sample
Warning: Removed 6 rows containing non-finite values (stat_bin).

By group
Warning: Removed 6 rows containing non-finite values (stat_bin).

Warning: Removed 6 rows containing non-finite values (stat_boxplot).
Warning: Removed 6 rows containing missing values (geom_point).
Warning: Removed 6 rows containing missing values (geom_point).

CAPS-5 PM
Full neuroimaging sample

By group


CTQ emotional neglect
Full neuroimaging sample
Warning: Removed 1 rows containing non-finite values (stat_bin).

By group
Warning: Removed 1 rows containing non-finite values (stat_bin).

Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing missing values (geom_point).
Warning: Removed 1 rows containing missing values (geom_point).

CTQ physical neglect
Full neuroimaging sample

By group


CTQ emotional abuse
Full neuroimaging sample
Warning: Removed 1 rows containing non-finite values (stat_bin).

By group
Warning: Removed 1 rows containing non-finite values (stat_bin).

Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing missing values (geom_point).
Warning: Removed 1 rows containing missing values (geom_point).

CTQ physical abuse
Full neuroimaging sample

By group


CTQ sexual abuse
Full neuroimaging sample

By group


TLEQ total excluding childhood trauma (non-weighted)
Full neuroimaging sample
Warning: Removed 1 rows containing non-finite values (stat_bin).

By group
Warning: Removed 1 rows containing non-finite values (stat_bin).

Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing missing values (geom_point).
Warning: Removed 1 rows containing missing values (geom_point).

TLEQ sexual violence >18 yrs (non-weighted)
Full neuroimaging sample
Warning: Removed 1 rows containing non-finite values (stat_bin).

By group
Warning: Removed 1 rows containing non-finite values (stat_bin).

Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing missing values (geom_point).
Warning: Removed 1 rows containing missing values (geom_point).

LS0tCnRpdGxlOiAiTWVldGluZyAwMS0yNC0yMiIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSkKCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CiNzZXR1cApsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KG1pY2UpCmxpYnJhcnkoZ2xtbmV0KQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoZ2djb3JycGxvdCkKbGlicmFyeShzdHJpbmdyKQpsaWJyYXJ5KGZvcmVpZ24pCmxpYnJhcnkoc3RhcmdhemVyKQoKcm0obGlzdCA9IGxzKCkpCnNldHdkKCIvVm9sdW1lcy9FeHRlcm5hbC9XVENfcmVzaWxpZW5jZV9pbWFnaW5nIikKCgojbG9hZCBkZW1vZ3JhcGhpYyBhbmQgc2VsZi1yZXBvcnQgZGF0YSBmb3IgTldUQyBwYXJ0aWNpcGFudHMgc28gZmFyIApkc0RhdGE8LXJlYWQuY3N2KCJkYXRhL2NsaW5pY2FsX2RhdGEvcmVmX2RhdGEvU3R1ZHlNZWFzdXJlcy1BZ25lc05XVENpbml0aWFsYW5hbF9EQVRBXzIwMjItMDEtMjRfMTAzNS5jc3YiLCBzdHJpcC53aGl0ZT1UUlVFLCBuYS5zdHJpbmdzPSIiKQojbG9hZCBjbGluaWNpYW4tZGV0ZXJtaW5lZCBkYXRhIGZvciBOV1RDIHBhcnRpY2lwYW50cyBzbyBmYXIKY2xEYXRhPC1yZWFkLmNzdigiZGF0YS9jbGluaWNhbF9kYXRhL3JlZl9kYXRhL0NsaW5pY2lhbk1lYXN1cmVzLUFnbmVzTldUQ2NsaW5pY2FsaW5pX0RBVEFfMjAyMi0wMS0yNF8xMDM0LmNzdiIsIHN0cmlwLndoaXRlPVRSVUUsIG5hLnN0cmluZ3M9IiIpCnYyRGF0YTwtcmVhZC5jc3YoImRhdGEvY2xpbmljYWxfZGF0YS9yZWZfZGF0YS9DVVJSRU5UU3ViamVjdEVucm9sbC1WaXNpdDJDb21wbGV0ZXJzRm9yU19EQVRBXzIwMjItMDEtMjRfMTAzNi5jc3YiLCBzdHJpcC53aGl0ZT1UUlVFLCBuYS5zdHJpbmdzPSIiKQpiaWRzX2lkPC1yZWFkLmNzdigiL1ZvbHVtZXMvRXh0ZXJuYWwvV1RDX3Jlc2lsaWVuY2VfaW1hZ2luZy9wcHRfY29kaW5nX2N1cnJlbnRfbm9QSEkuY3N2Iiwgc3RyaXAud2hpdGU9VFJVRSwgbmEuc3RyaW5ncz0iIikKCiAKI3JlbmFtZSBJRCB2YXJpYWJsZSB0byBtYXRjaCB2YXJpYWJsZSBpbiBjbGluaWNpYW4gJiBzdHVkeSBtZWFzdXJlcyAmIGRyb3AgdmFycyBhcyBuZWVkZWQKdjJEYXRhIDwtIGRwbHlyOjpyZW5hbWUodjJEYXRhLCByZWNvcmRfaWQgPSBud3RjX2lkLCBiaW9tYXJrZXJzX2lkID0gYmlvbV9pZCwgZXh0cmFjdF9pZCA9IGRjX2V4dHJhY3RpZCkgCmJpZHNfaWQgPC0gZHBseXI6OnJlbmFtZShiaWRzX2lkLCByZWNvcmRfaWQgPSBOV1RDX0lELCBiaWRzX2lkID0gQklEU19JRCkgCmJpZHNfaWQgPC0gZHBseXI6OnNlbGVjdChiaWRzX2lkLCBjKHJlY29yZF9pZCwgYmlkc19pZCwgdHJhZGl0aW9uYWxfcmVzcG9uZGVyLCBoYW5kZWRfTCwgbWVkX3BzeWNob2FjdGl2ZV9jdXJyKSkKCiMgcmVtb3ZlIHN1YmplY3RzICJURVNUIiBmcm9tIHYyRGF0YSwgYW5kICJOV1RDLTA1MyBJbnRlcnZhbCIgZnJvbSBkc0RhdGEKZHNEYXRhIDwtIGRwbHlyOjpmaWx0ZXIoZHNEYXRhLCAhZ3JlcGwoIk5XVEMtMDUzIEludGVydmFsIERhdGEgcHJlIFYzIixyZWNvcmRfaWQpKQp2MkRhdGEgPC0gZHBseXI6OmZpbHRlcih2MkRhdGEsICFncmVwbCgiVEVTVCIscmVjb3JkX2lkKSkKCiNtZXJnZSB0b2dldGhlcgpkYXRhMTwtbWVyZ2UoY2xEYXRhLGRzRGF0YSxieT0icmVjb3JkX2lkIikKZGF0YTwtbWVyZ2UoZGF0YTEsdjJEYXRhLGJ5PSJyZWNvcmRfaWQiKSAlPiUgZHBseXI6OmZpbHRlcihmbXJpX3NjYW4gPT0gMSkgI3NlbGVjdCBvbmx5IHBhcnRpY2lwYW50cyB3aG8gKHNvIGZhcikgY29tcGxldGVkIHRoZSBzY2FuICh2aXNpdCAyKQpkYXRhPC1tZXJnZShkYXRhLGJpZHNfaWQsIGJ5PSJyZWNvcmRfaWQiKQoKIyByZWNvZGUgNS1jYXRlZ29yeSBgZ3JvdXBgIHZhcmlhYmxlIGludG8gMyBncm91cHMKIyAxID0gSGlnaGx5IFJlc2lsaWVudCAoMSkKIyAyID0gU3ltcHRvbWF0aWMgKFBUU0QpICgyKQojIDMgPSBMb3ctRXhwb3NlZCBDb250cm9sICgzKQojIDQgPSBJbnRlcm1lZGlhdGUtTG93IChSZXNpbGllbnQpICg0KQojIDUgPSBJbnRlcm1lZGlhdGUtSGlnaCAoUmVzaWxpZW50KQpkYXRhIDwtIGRhdGEgJT4lIGRwbHlyOjptdXRhdGUoZ3JvdXAgPSByZWNvZGVfZmFjdG9yKGdyb3VwLCBgM2AgPSAwLCBgMWAgPSAxLCBgMmAgPSAyLCBgNGAgPSAxLCBgNWA9MSkpCiMgbm93IDAgPSBsb3ctZXhwb3NlZCBjb250cm9sLCAxID0gcmVzaWxpZW50LCAyID0gUFRTRAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojLVNFTEYgUkVQT1JURUQgVFJBVU1BIEhJU1RPUlkKI2NhbGN1bGF0ZSBzZWxmLXJlcG9ydGVkIGNoaWxkaG9vZCB0cmF1bWEgZXhwb3N1cmUgKENUUSkKY3RxPC1kYXRhWywgZ3JlcChwYXR0ZXJuID0nXmN0cV8uKicsIG5hbWVzKGRhdGEpKV0KY3RxW2MoMiw1LDcsMTMsMTksMjYsMjgpXTwtbGFwcGx5KGN0cVtjKDIsNSw3LDEzLDE5LDI2LDI4KV0sIEZVTj1mdW5jdGlvbih4KSAjcmV2ZXJzZSBjb2RlZCBpdGVtcwogICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvZGUoeCwnMSc9NSwnMic9NCwnMyc9MywnMy41Jz0zLCc0Jz0yLCc1Jz0xKSkKZGF0YSRDVFFfZW1vQWJ1c2U8LXJvd1N1bXMoY3RxW2MoMyw4LDE0LDE4LDI1KV0pCmRhdGEkQ1RRX3BoeXNBYnVzZTwtcm93U3VtcyhjdHFbYyg5LDExLDEyLDE1LDE3KV0pCmRhdGEkQ1RRX3NleEFidXNlPC1yb3dTdW1zKGN0cVtjKDIwLDIxLDIzLDI0LDI3KV0pCmRhdGEkQ1RRX2Vtb05lZ2xlY3Q8LXJvd1N1bXMoY3RxW2MoNSw3LDEzLDE5LDI4KV0pICAKZGF0YSRDVFFfcGh5c05lZ2xlY3Q8LXJvd1N1bXMoY3RxW2MoMSwyLDQsNiwyNildKQpjb2xuYW1lcyhjdHEpPC1wYXN0ZTAoJ3VzZS4nLCBuYW1lcyhjdHEpKQpkYXRhPC1jYmluZChkYXRhLCBjdHEpCgojY2FsY3VsYXRlIHNlbGYtcmVwb3J0ZWQgbGlmZXRpbWUgdHJhdW1hdGljIGV2ZW50cyAoVExFUSkKIzEuIEZvciBwYXJ0aWNpcGFudHMgd2hvIGFyZW4ndCBmcm9tIHRoZSBiaW9tYXJrZXJzIHNvIGhhdmUgZnVsbCBUTEVROgojZnJlcXVlbmN5IHdlaWdodGVkIHNjb3JlczoKdGxlcTwtZGF0YVtkYXRhJGJpb21hcmtlcnNfY29tcGxldGVyPT0wLCBncmVwKHBhdHRlcm4gPSdedGxlcV8uKicsIG5hbWVzKGRhdGEpKV0KdGxlcTwtdGxlcVtjKDE6MjMpXSAjdHJpbSArM20gZGF0YQpkYXRhJFRMRVFfdG90YWxbZGF0YSRiaW9tYXJrZXJzX2NvbXBsZXRlcj09MF08LXJvd1N1bXModGxlcVsxOjIzXSkKI2V4Y2x1ZGluZyBjaGlsZGhvb2QgYWdlZCB0cmF1bWEgaXRlbXMgKGZvciBjb21iaW5hdGlvbiB3aXRoIENUUSBzY29yZXMpCnRsZXFbYygxMiwxMywxNSwxNiwxNyldPC0wICN0aGVzZSBpdGVtcyBvbiB0aGUgdGxlcSBhc2sgYWJvdXQgcGh5c2ljYWwvc2V4dWFsIGFidXNlIDwxOHllYXJzIG9mIGFnZQpkYXRhJFRMRVFfdG90YWxFeGNsQ1RbZGF0YSRiaW9tYXJrZXJzX2NvbXBsZXRlcj09MF08LXJvd1N1bXModGxlcVsxOjIzXSkKI25vbi1mcmVxdWVuY3kgd2VpZ2h0ZWQgc2NvcmVzOgp0bGVxPC1kYXRhW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTAsIGdyZXAocGF0dGVybiA9J150bGVxXy4qJywgbmFtZXMoZGF0YSkpXQp0bGVxPC10bGVxW2MoMToyMyldICN0cmltICszbSBkYXRhCnRsZXFbLF08LWxhcHBseSh0bGVxWyxdLCBGVU49ZnVuY3Rpb24oeCkgCiAgICAgICAgIHJlY29kZSh4LCcwJz0wLCcxJz0xLCcyJz0xLCczJz0xKSkgI2JpbmFyaXNlCmRhdGEkVExFUV90b3RhbF9ub25XW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTBdPC1yb3dTdW1zKHRsZXFbMToyM10pCmRhdGEkVExFUV9zZXh1YWxWaW9sZW5jZVBvc3QxOF9ub25XW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTBdPC10bGVxJHRsZXFfMTgKdGxlcVtjKDEyLDEzLDE1LDE2LDE3KV08LTAgI3RoZXNlIGl0ZW1zIG9uIHRoZSB0bGVxIGFzayBhYm91dCBwaHlzaWNhbC9zZXh1YWwgYWJ1c2UgPDE4eWVhcnMgb2YgYWdlCmRhdGEkVExFUV90b3RhbEV4Y2xDVF9ub25XW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTBdPC1yb3dTdW1zKHRsZXFbMToyM10pCgojMi4gRm9yIHBhcnRpY2lwYW50cyB3aG8gd2VyZSBmcm9tIHRoZSBiaW9tYXJrZXJzIHN0dWR5IG5lZWQgdG8gZmlyc3QgZXh0cmFjdCB0bwojb2xkIFRMRVEgdmFsdWVzIGZyb20gYmlvbWFya2VycyBkYXRhYmFzZSBmaWxlOgpiaW9NZGF0YTwtcmVhZC5zcHNzKCIvVm9sdW1lcy9FeHRlcm5hbC9XVENfcmVzaWxpZW5jZV9pbWFnaW5nL2RhdGEvY2xpbmljYWxfZGF0YS9yZWZfZGF0YS9tZXJnZWRfYmlvbWFya2Vyc182bm92MjAxOV9DTEVBTl8xLnNhdiIsIHRvLmRhdGEuZnJhbWU9VFJVRSwgbWF4LnZhbHVlLmxhYmVscz0xKQp0bGVxQmlvPC1iaW9NZGF0YVssZ3JlcChwYXR0ZXJuID0nXnRsZXEuKicsIG5hbWVzKGJpb01kYXRhKSldCnRsZXFCaW88LXRsZXFCaW9bYyg4LDExLDE0LDE4LDIxLDI0LDI3LDMwLDMzLDM2LDM5LDQyLDQ1LDQ4LDUxLDU0LDU3LDYwLDYzLDY2LDY5LDcyLDc1KV0gI29ubHkgZnJlcSBpdGVtcwojbm93IG1lcmdlIHRoZXNlIHZhbHVlcyBpbnRvIHRoZSBOV1RDIGRhdGFzZXQgdXNpbmcgV1RDIGRhdGFjZW50ZXIgJ2V4dHJhY3RJRHMnCmNvbG5hbWVzKHRsZXFCaW8pPC1wYXN0ZSgiYmlvTWRhdGEiLCBjb2xuYW1lcyh0bGVxQmlvKSwgc2VwID0gIl8iKSAjY2hhbmdlIGNvbHVtbiBuYW1lcyB0byBhbGxvdyBkaXN0aW5jdGlvbiBmcm9tIGV4aXN0aW5nIFRMRVFzCnRsZXFCaW8kYmlvbWFya2Vyc19pZDwtYmlvTWRhdGEkc3ViamVjdGlkICNhZGQgTldUQyBzdWIgbnVtYmVycyB0byBhbGxvdyBtZXJnaW5nCmRhdGE8LW1lcmdlKGRhdGEsIHRsZXFCaW8sIGJ5PSJiaW9tYXJrZXJzX2lkIiwgYWxsLng9VFJVRSkKI3RoZW4gYXR0ZW1wdCB0byBhZGQgbmV3IChzaW5jZSBiaW9tYXJrZXJzKSBzY29yZXMgdG8gYmlvbWFya2VycyBzY29yZXM6CnRsZXFCaW88LWRhdGFbZGF0YSRiaW9tYXJrZXJzX2NvbXBsZXRlcj09MSwgZ3JlcChwYXR0ZXJuID0nXmJpb01kYXRhX3RsZXEuKicsIG5hbWVzKGRhdGEpKV0KdGxlcVNpbmNlQmlvPC1kYXRhW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTEsIGdyZXAocGF0dGVybiA9J150bGVxX2Jpb18uKicsIG5hbWVzKGRhdGEpKV0KdGxlcUJpb1RvdGFsPC10bGVxQmlvICsgdGxlcVNpbmNlQmlvCiNmb3IgZnJlcXVlbmN5IHdlaWdodGVkIHNjb3JlczoKdGxlcUJpb1RvdGFsWyxdPC1sYXBwbHkodGxlcUJpb1RvdGFsWyxdLCBGVU49ZnVuY3Rpb24oeCkgCiAgICAgICAgICAgICAgICAgcmVjb2RlKHgsJzAnPTAsJzEnPTEsJzInPTIsJzMnPTMsJzQnPTMsJzUnPTMsJzYnPTMpKSAjc3RvcCBhbnkgaW5kaXZpZHVhbCBpdGVtIG1heGluZyBvdXQgKD4zKQpkYXRhJFRMRVFfdG90YWxbZGF0YSRiaW9tYXJrZXJzX2NvbXBsZXRlcj09MV08LXJvd1N1bXModGxlcUJpb1RvdGFsWzE6MjNdKSAjTkIgY2FuJ3QgY29tcGxldGVseSBhY2N1cmF0ZWx5IG1lcmdlIGNhdGVnb3JpZXMgc28gdGhlc2Ugc2NvcmVzIG1heSByZXByZXNlbnQgYW4gb3ZlcmVzdGltYXRlIGluIGJpb21hcmtlcnMgcHB0cwp0bGVxQmlvVG90YWxbYygxMiwxMywxNSwxNiwxNyldPC0wICN0aGVzZSBpdGVtcyBvbiB0aGUgdGxlcSBhc2sgYWJvdXQgcGh5c2ljYWwvc2V4dWFsIGFidXNlIDwxOHllYXJzIG9mIGFnZQpkYXRhJFRMRVFfdG90YWxFeGNsQ1RbZGF0YSRiaW9tYXJrZXJzX2NvbXBsZXRlcj09MV08LXJvd1N1bXModGxlcUJpb1RvdGFsWzE6MjNdKQojZm9yIG5vbiBmcmVxdWVuY3kgd2VpZ2h0ZWQgc2NvcmVzOgp0bGVxQmlvVG90YWw8LXRsZXFCaW8gKyB0bGVxU2luY2VCaW8KdGxlcUJpb1RvdGFsWyxdPC1sYXBwbHkodGxlcUJpb1RvdGFsWyxdLCBGVU49ZnVuY3Rpb24oeCkgCiAgICAgICAgICAgICAgICAgIHJlY29kZSh4LCcwJz0wLCcxJz0xLCcyJz0xLCczJz0xLCc0Jz0xLCc1Jz0xLCc2Jz0xKSkgI2JpbmFyaXNlCmRhdGEkVExFUV90b3RhbF9ub25XW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTFdPC1yb3dTdW1zKHRsZXFCaW9Ub3RhbFsxOjIzXSkgI25vbldlaWdodGVkIHNjb3JlcyBzaG91bGQgYmUgYWNjdXJhdGUgdGhvdWdoIDotKQpkYXRhJFRMRVFfc2V4dWFsVmlvbGVuY2VQb3N0MThfbm9uV1tkYXRhJGJpb21hcmtlcnNfY29tcGxldGVyPT0xXTwtdGxlcUJpb1RvdGFsJGJpb01kYXRhX3RsZXExOF90b3VjaDE4bm9jb25zZW50CnRsZXFCaW9Ub3RhbFtjKDEyLDEzLDE1LDE2LDE3KV08LTAgI3RoZXNlIGl0ZW1zIG9uIHRoZSB0bGVxIGFzayBhYm91dCBwaHlzaWNhbC9zZXh1YWwgYWJ1c2UgPDE4eWVhcnMgb2YgYWdlCmRhdGEkVExFUV90b3RhbEV4Y2xDVF9ub25XW2RhdGEkYmlvbWFya2Vyc19jb21wbGV0ZXI9PTFdPC1yb3dTdW1zKHRsZXFCaW9Ub3RhbFsxOjIzXSkKCgojcmV0cmlldmUgbnVtYmVyIG9mIFdUQy1zcGVjaWZpYyB0cmF1bWF0aWMgZXhwb3N1cmVzIChmcm9tIFdUQyBkYXRhY2VudGVyIGRhdGEpCmRhdGFDZGF0YTwtcmVhZC5zcHNzKCIvVm9sdW1lcy9FeHRlcm5hbC9XVENfcmVzaWxpZW5jZV9pbWFnaW5nL2RhdGEvY2xpbmljYWxfZGF0YS9yZWZfZGF0YS9tZXJnZWRfc2NyZWVuaW5nX2RhdGFfZm9yX05JLnNhdiIsIHRvLmRhdGEuZnJhbWU9VFJVRSkKdG1wPC1kYXRhLmZyYW1lKG1hdHJpeChuY29sPTIsbnJvdz1ucm93KGRhdGFDZGF0YSkpKQpjb2xuYW1lcyh0bXApPC1jKCJleHRyYWN0X2lkIiwiV1RDZXhwb3N1cmVfc2NvcmUiKQp0bXAkZXh0cmFjdF9pZDwtZGF0YUNkYXRhJGV4dHJhY3RpZAp0bXAkV1RDZXhwb3N1cmVfc2NvcmU8LWRhdGFDZGF0YSR0cmF1bWF0aWNfZXhwb3N1cmVfaW5kZXgKZGF0YTwtbWVyZ2UoZGF0YSwgdG1wLCBieT0iZXh0cmFjdF9pZCIsIGFsbC54PVRSVUUpCgojIyBtYW51YWxseSBpbnB1dCB0aGUgZXhwb3N1cmUgc2NvcmVzIGZvciBwZW9wbGUgd2hvIGRpZG4ndCBoYXZlIHRoZW0gaW4gdGhlIGZpbGUKI2RhdGEkV1RDZXhwb3N1cmVfc2NvcmVbZGF0YSRyZWNvcmRfaWQ9PSJOV1RDLTAzNCJdPC0yICN0aGlzIHN1YiBub3QgaW4gZHMsIG5vIGZtcmkKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDY4Il08LTQKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDczIl08LTUKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDc0Il08LTQKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDc2Il08LTMKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDc4Il08LTQKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDgzIl08LTIKI2hhY2sgZm9yIHBwdCB3aG8gc2VlbXMgdW5kZXItc2NvcmVkIGJhc2VkIG9uIHRoZWlyIGludGVydmlldyBmb3IgdGhpcyBzdHVkeToKZGF0YSRXVENleHBvc3VyZV9zY29yZVtkYXRhJHJlY29yZF9pZD09J05XVEMtMDMxJ108LTMKCiMgZG9uJ3QgaGF2ZSB0aGVzZToKI05XVEMtMDg0CiNOV1RDLTA5NAojTldUQy0wOTMKI05XVEMtMDkxCgoKIyMgbWFudWFsbHkgaW5wdXQgdHJhZGl0aW9uYWwgcmVzcG9uZGVyIHN0YXR1cyBmb3IgcGVvcGxlIG1pc3NpbmcKZGF0YSR0cmFkaXRpb25hbF9yZXNwb25kZXJbZGF0YSRyZWNvcmRfaWQ9PSJOV1RDLTA5MyJdPC0xCmRhdGEkdHJhZGl0aW9uYWxfcmVzcG9uZGVyW2RhdGEkcmVjb3JkX2lkPT0iTldUQy0wOTQiXTwtMApkYXRhJHRyYWRpdGlvbmFsX3Jlc3BvbmRlcltkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDYwIl08LTAKIyBkb24ndCBoYXZlIE5XVEMtMDkxCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojLUNMSU5JQ0FOLVJBVEVEIFBTWUNIT1BBVEhPTE9HWQojY2FsY3VsYXRlIGNsaW5pY2lhbi1yYXRlZCBQVFNEIHN5bXB0b20gc2V2ZXJpdHkgKENBUFMtNSBwYXN0IG1vbnRoIGludGVydmlldykKI3Njb3JlIGFjY29yZGluZyB0byBSb2IgUGlldHJ6Y2sncyA3IHN5bXB0b20gZGltZW5zaW9ucywgd2hpY2ggcHJvdmlkZWQgdGhlCiNiZXN0IGZpdCB0byB0aGUgZGF0YSBpbiB0d28gaW5kZXBlZGVudCBzYW1wbGVzIG9mIGRpdmVyc2UgdHJhdW1hLWV4cG9zZWQgaW5kaXZpZHVhbHMsCiNzZWUgQXJtb3VyIGV0IGFsLiAyMDE1OgojaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAyMjM5NTYxNDAwMzE4NSkKZGF0YSRDQVBTNV9QTV90b3RhbDwtZGF0YSRwdHNkX3RvdF9zZXZfcGFzdF9tb250aAojQi4gaW50cnVzaW9uIChyZS1leHBlcmllbmNpbmcpIHN5bXB0b21zCmNhcHNfYjwtZGF0YVssIGdyZXAocGF0dGVybiA9J15iLiouX3Bhc3RfbW9udGgnLCBuYW1lcyhkYXRhKSldCmRhdGEkQ0FQUzVfUE1fcmVFeHA8LXJvd1N1bXMoY2Fwc19iKQojQy4gYXZvaWRhbmNlIHN5bXB0b21zCmNhcHNfYzwtZGF0YVssIGdyZXAocGF0dGVybiA9J15jLiouX3Bhc3RfbW9udGgnLCBuYW1lcyhkYXRhKSldCmRhdGEkQ0FQUzVfUE1fYXZvaWQ8LXJvd1N1bXMoY2Fwc19jKQojRC4gY29nbml0aW9uIGFuZCBtb29kIHN5bXB0b21zIFtSb2Igc3ViZGl2aWRlcyBpbnRvIG5lZ2F0aXZlIGFmZmVjdCBhbmQgYW5oZWRvbmlhXQpjYXBzX2Q8LWRhdGFbLCBncmVwKHBhdHRlcm4gPSdeZC4qLl9wYXN0X21vbnRoJywgbmFtZXMoZGF0YSkpXQpkYXRhJENBUFM1X1BNX25lZ0FmZjwtcm93U3VtcyhjYXBzX2RbMTo0XSkKZGF0YSRDQVBTNV9QTV9hbmhlZDwtcm93U3VtcyhjYXBzX2RbNTo3XSkKI0UuIGFyb3VzYWwgYW5kIHJlYWN0aXZpdHkgc3ltcHRvbXMgW1JvYiBzdWJkaXZpZGVzIGludG8gZXh0ZXJuYWxpemluZwojYmVoYXZpb3VyLCBhbnhpb3VzIGFyb3VzYWwsIGFuZCBkeXNwaG9yaWMgYXJvdXNhbF0KY2Fwc19lPC1kYXRhWywgZ3JlcChwYXR0ZXJuID0nXmUuKi5fcGFzdF9tb250aCcsIG5hbWVzKGRhdGEpKV0KZGF0YSRDQVBTNV9QTV9leHRCZWg8LXJvd1N1bXMoY2Fwc19lWzE6Ml0pCmRhdGEkQ0FQUzVfUE1fYW54QXJvdTwtcm93U3VtcyhjYXBzX2VbMzo0XSkKZGF0YSRDQVBTNV9QTV9keXNBcm91PC1yb3dTdW1zKGNhcHNfZVs1OjZdKQoKI2N1cnJlbnRvdGhlciBwc3ljaGlhdHJpYyBkaWFnbm9zZXMgZW5kb3JzZWQgKGFjY29yZGluZyB0byBTQ0lELVYgaW50ZXJ2aWV3KQpkYXRhJG1kZF9jdXJyZW50W2lzLm5hKGRhdGEkbWRkX2N1cnJlbnQpXTwtMCAjbWFqb3IgZGVwcmVzc2l2ZSBkaXNvcmRlcgpkYXRhJHBkZF9jdXJyZW50W2lzLm5hKGRhdGEkcGRkX2N1cnJlbnQpXTwtMCAjcGVyc2lzdGVudCBkeXN0aHltaWMgZGlzb3JkZXIKZGF0YSRwYW5pY19jdXJyZW50W2lzLm5hKGRhdGEkcGFuaWNfY3VycmVudCldPC0wICNwYW5pYyBkaXNvcmRlcgpkYXRhJGdhZF9jdXJyZW50W2lzLm5hKGRhdGEkZ2FkX2N1cnJlbnQpXTwtMCAjZ2VuZXJhbGl6ZWQgYW54aWV0eSBkaXNvcmRlcgoKIyMgbWFudWFsbHkgaW5wdXQgdHJhZGl0aW9uYWwgcmVzcG9uZGVyIHN0YXR1cyBmb3IgcGVvcGxlIG1pc3NpbmcKZGF0YSR0cmFkaXRpb25hbF9yZXNwb25kZXJbZGF0YSRyZWNvcmRfaWQ9PSJOV1RDLTA5MyJdPC0xCmRhdGEkdHJhZGl0aW9uYWxfcmVzcG9uZGVyW2RhdGEkcmVjb3JkX2lkPT0iTldUQy0wOTQiXTwtMApkYXRhJHRyYWRpdGlvbmFsX3Jlc3BvbmRlcltkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDYwIl08LTAKIyBkb24ndCBoYXZlIE5XVEMtMDkxCgojIyBGSVggR1JPVVAKZGF0YSRncm91cFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDcyIl08LTAKZGF0YSRncm91cFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDc2Il08LTAKZGF0YSRncm91cFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDMyIl08LTAKZGF0YSRncm91cFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDY5Il08LTAKCiMgc3Vic2V0IGRhdGEgZm9yIGN1cnJlbnQgYW5hbHlzZXMKaGlzdF9kYXRhIDwtIGRhdGEgJT4lIGRwbHlyOjpzZWxlY3QoCiAgcmVjb3JkX2lkLAogIGdyb3VwLAogIGJpZHNfaWQsCiAgbWRkX2N1cnJlbnQsCiAgcGRkX2N1cnJlbnQsCiAgZ2FkX2N1cnJlbnQsCiAgcGFuaWNfY3VycmVudCwKICBDQVBTNV9QTV90b3RhbCwKICBDVFFfZW1vTmVnbGVjdCwKICBDVFFfcGh5c05lZ2xlY3QsCiAgQ1RRX2Vtb0FidXNlLAogIENUUV9waHlzQWJ1c2UsCiAgQ1RRX3NleEFidXNlLAogIFRMRVFfdG90YWxFeGNsQ1Rfbm9uVywKICBUTEVRX3NleHVhbFZpb2xlbmNlUG9zdDE4X25vblcsCiAgV1RDZXhwb3N1cmVfc2NvcmUsCiAgdHJhZGl0aW9uYWxfcmVzcG9uZGVyKSAlPiUgZHBseXI6Om11dGF0ZShtZGRfY3VycmVudCA9IGFzLmZhY3RvcihtZGRfY3VycmVudCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGRfY3VycmVudCA9IGFzLmZhY3RvcihwZGRfY3VycmVudCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWRfY3VycmVudCA9IGFzLmZhY3RvcihnYWRfY3VycmVudCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYW5pY19jdXJyZW50ID0gYXMuZmFjdG9yKHBhbmljX2N1cnJlbnQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhZGl0aW9uYWxfcmVzcG9uZGVyID0gYXMuZmFjdG9yKHRyYWRpdGlvbmFsX3Jlc3BvbmRlciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9IHJlY29kZV9mYWN0b3IoZ3JvdXAsICIwIiA9ICJMb3ctZXhwb3NlZCIsICIxIiA9ICJSZXNpbGllbnQiLCAiMiIgPSAiUFRTRCIpKQoKCgoKYGBgCgojIyMgRGVzY3JpcHRpdmVzCgojIyMjIEZ1bGwgbmV1cm9pbWFnaW5nIHNhbXBsZQpgYGB7ciwgcmVzdWx0cz0nbWFya3VwJ30Kc3RhcmdhemVyKGhpc3RfZGF0YSwgdHlwZT0idGV4dCIpCmBgYAoKCiMjIyMgTG93LWV4cG9zZWQgY29udHJvbHMgKG4gPSAxNikKYGBge3IsIHJlc3VsdHM9J21hcmt1cCd9CgpkYXQ8LSBoaXN0X2RhdGEgJT4lIGZpbHRlcihncm91cD09Ikxvdy1leHBvc2VkIikKc3RhcmdhemVyKGRhdCwgdHlwZT0idGV4dCIpCmBgYAoKIyMjIyBSZXNpbGllbnQgKG4gPSAzMSkKYGBge3IsIHJlc3VsdHM9J21hcmt1cCd9CgpkYXQ8LSBoaXN0X2RhdGEgJT4lIGZpbHRlcihncm91cD09IlJlc2lsaWVudCIpCnN0YXJnYXplcihkYXQsIHR5cGU9InRleHQiKQpgYGAKCiMjIyMgUFRTRCAobiA9IDE5KQpgYGB7ciwgcmVzdWx0cz0nbWFya3VwJ30KCmRhdDwtIGhpc3RfZGF0YSAlPiUgZmlsdGVyKGdyb3VwPT0iUFRTRCIpCnN0YXJnYXplcihkYXQsIHR5cGU9InRleHQiKQpgYGAKCgoKCgoKIyMgRGF0YSB2aXN1YWxpemF0aW9uCgojIyMgX25fIFdUQyBleHBvc3VyZXMKCiMjIyMgRnVsbCBuZXVyb2ltYWdpbmcgc2FtcGxlCmBgYHtyfQoKcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKFdUQ2V4cG9zdXJlX3Njb3JlKSkgKyAKICAgICAgIGdlb21faGlzdG9ncmFtKGJpbnM9MjAsIGNvbG91cj0nYmxhY2snLHNpemU9LjUsIGZpbGw9ImRhcmt2aW9sZXQiKSArCiAgICB4bGFiKCJXVEMgZXhwb3N1cmVzIikgKyB0aGVtZV9idygpICsgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgwLCAxMCwgYnkgPSAxKSkKIHAxCmBgYAoKIyMjIyBCeSBncm91cApgYGB7cn0KCiAgcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKFdUQ2V4cG9zdXJlX3Njb3JlLCBjb2xvcj1ncm91cCwgZmlsbD1ncm91cCkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41KSArCiAgeGxhYigiV1RDIGV4cG9zdXJlcyIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKGNvbG9yPWdyb3VwLCB5PVdUQ2V4cG9zdXJlX3Njb3JlLCB4PWdyb3VwKSkgKyAKICAgICAgIGdlb21fYm94cGxvdCgpICsgZ2VvbV9wb2ludCgpICsgIGdlb21faml0dGVyKHdpZHRoID0gMC4wNSwgaGVpZ2h0PS4wNSkgKwogIHlsYWIoIldUQyBleHBvc3VyZXMiKSArIHhsYWIoIkdyb3VwIikKIHAxCiAKYGBgCgoKCgoKIyMjIENBUFMtNSBQTQoKIyMjIyBGdWxsIG5ldXJvaW1hZ2luZyBzYW1wbGUKYGBge3J9CgpwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoQ0FQUzVfUE1fdG90YWwpKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCxjb2xvdXI9J2JsYWNrJyxzaXplPS41LCBmaWxsPSJkYXJrdmlvbGV0IikgKwogICAgeGxhYigiQ0FQUy01IFBNIFRvdGFsIikgKyB0aGVtZV9idygpICsgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgwLCA1MCwgYnkgPSA1KSkKIHAxCmBgYAoKIyMjIyBCeSBncm91cApgYGB7cn0KCiAgcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKENBUFM1X1BNX3RvdGFsLCBjb2xvcj1ncm91cCwgZmlsbD1ncm91cCkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLGNvbG91cj0nYmxhY2snLHNpemU9LjUpICsKICAgIHhsYWIoIkNBUFMtNSBQTSBUb3RhbCIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhjb2xvcj1ncm91cCwgeT1DQVBTNV9QTV90b3RhbCwgeD1ncm91cCxsYWJlbD1iaWRzX2lkKSkgKyAKICAgICAgIGdlb21fYm94cGxvdCgpICsgZ2VvbV9wb2ludCgpICsgIGdlb21faml0dGVyKHdpZHRoID0gMC4wNSwgaGVpZ2h0PS4wNSkgKwogIHlsYWIoIkNBUFMtNSBQTSBUb3RhbCIpICsgeGxhYigiR3JvdXAiKQogcDEKCmBgYAoKIyMjIENUUSBlbW90aW9uYWwgbmVnbGVjdAoKIyMjIyBGdWxsIG5ldXJvaW1hZ2luZyBzYW1wbGUKYGBge3J9CgpwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoQ1RRX2Vtb05lZ2xlY3QpKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCxjb2xvdXI9J2JsYWNrJyxzaXplPS41LCBmaWxsPSJkYXJrdmlvbGV0IikgKwogICAgeGxhYigiQ1RRIGVtbyBuZWdsZWN0IikgKyB0aGVtZV9idygpICsgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgwLCAzMCwgYnkgPSA1KSkKIHAxCmBgYAoKIyMjIyBCeSBncm91cApgYGB7cn0KICAKICBwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoQ1RRX2Vtb05lZ2xlY3QsIGNvbG9yPWdyb3VwLCBmaWxsPWdyb3VwKSkgKyAKICAgICAgIGdlb21faGlzdG9ncmFtKGJpbnM9MjAsY29sb3VyPSdibGFjaycsc2l6ZT0uNSkgKwogIHhsYWIoIkNUUSBlbW8gbmVnbGVjdCIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKGNvbG9yPWdyb3VwLCB5PUNUUV9lbW9OZWdsZWN0LCB4PWdyb3VwKSkgKyAKICAgICAgIGdlb21fYm94cGxvdCgpICsgZ2VvbV9wb2ludCgpICsgIGdlb21faml0dGVyKHdpZHRoID0gMC4wNSwgaGVpZ2h0PS4wNSkgKwogIHlsYWIoIkNUUSBlbW8gbmVnbGVjdCIpICsgeGxhYigiR3JvdXAiKQogcDEKYGBgCgoKIyMjIENUUSBwaHlzaWNhbCBuZWdsZWN0CgojIyMjIEZ1bGwgbmV1cm9pbWFnaW5nIHNhbXBsZQpgYGB7cn0KCnAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhDVFFfcGh5c05lZ2xlY3QpKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCwgY29sb3VyPSdibGFjaycsc2l6ZT0uNSwgZmlsbD0iZGFya3Zpb2xldCIpICsKICAgIHhsYWIoIkNUUSBwaHlzaWNhbCBuZWdsZWN0IikgKyB0aGVtZV9idygpICsgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgwLCAzMCwgYnkgPSA1KSkKIHAxCmBgYAoKIyMjIyBCeSBncm91cApgYGB7cn0KIAogIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhDVFFfcGh5c05lZ2xlY3QsIGNvbG9yPWdyb3VwLCBmaWxsPWdyb3VwKSkgKyAKICAgICAgIGdlb21faGlzdG9ncmFtKGJpbnM9MjAsIGNvbG91cj0nYmxhY2snLHNpemU9LjUpICsKICB4bGFiKCJDVFEgcGh5c2ljYWwgbmVnbGVjdCIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogIAogcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKGNvbG9yPWdyb3VwLCB5PUNUUV9waHlzTmVnbGVjdCwgeD1ncm91cCkpICsgCiAgICAgICBnZW9tX2JveHBsb3QoKSArIGdlb21fcG9pbnQoKSArICBnZW9tX2ppdHRlcih3aWR0aCA9IDAuMDUsIGhlaWdodD0uMDUpICsKICB5bGFiKCJDVFEgcGh5c2ljYWwgbmVnbGVjdCIpICsgeGxhYigiR3JvdXAiKQogcDEKCmBgYAogCiAKIyMjIENUUSBlbW90aW9uYWwgYWJ1c2UKCiMjIyMgRnVsbCBuZXVyb2ltYWdpbmcgc2FtcGxlCmBgYHtyfQoKcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKENUUV9lbW9BYnVzZSkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41LCBmaWxsPSJkYXJrdmlvbGV0IikgKwogICAgeGxhYigiQ1RRIGVtbyBhYnVzZSIpICsgdGhlbWVfYncoKSArIHNjYWxlX3hfY29udGludW91cyhicmVha3MgPSBzZXEoMCwgMzAsIGJ5ID0gNSkpCgogcDEKYGBgCgojIyMjIEJ5IGdyb3VwCmBgYHtyfQogIAogIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhDVFFfZW1vQWJ1c2UsIGNvbG9yPWdyb3VwLCBmaWxsPWdyb3VwKSkgKyAKICAgICAgIGdlb21faGlzdG9ncmFtKGJpbnM9MjAsIGNvbG91cj0nYmxhY2snLHNpemU9LjUpICsKICB4bGFiKCJDVFEgZW1vIGFidXNlIikgKyBmYWNldF93cmFwKH5ncm91cCkgKyB0aGVtZV9idygpCiBwMQogCiBwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoY29sb3I9Z3JvdXAsIHk9Q1RRX2Vtb0FidXNlLCB4PWdyb3VwKSkgKyAKICAgICAgIGdlb21fYm94cGxvdCgpICsgZ2VvbV9wb2ludCgpICsgIGdlb21faml0dGVyKHdpZHRoID0gMC4wNSwgaGVpZ2h0PS4wNSkgKwogIHlsYWIoIkNUUSBlbW8gYWJ1c2UiKSArIHhsYWIoIkdyb3VwIikKIHAxCiAKYGBgCiAKIyMjIENUUSBwaHlzaWNhbCBhYnVzZQoKIyMjIyBGdWxsIG5ldXJvaW1hZ2luZyBzYW1wbGUKYGBge3J9CgpwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoQ1RRX3BoeXNBYnVzZSkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41LCBmaWxsPSJkYXJrdmlvbGV0IikgKwogICAgeGxhYigiQ1RRIHBoeXMgYWJ1c2UiKSArIHRoZW1lX2J3KCkgKyBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDMwLCBieSA9IDEpKQogcDEKYGBgCgojIyMjIEJ5IGdyb3VwCmBgYHtyfQogIAogIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhDVFFfcGh5c0FidXNlLCBjb2xvcj1ncm91cCwgZmlsbD1ncm91cCkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41KSArCiAgeGxhYigiQ1RRIHBoeXMgYWJ1c2UiKSArIGZhY2V0X3dyYXAofmdyb3VwKSArIHRoZW1lX2J3KCkKIHAxCiAKIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhjb2xvcj1ncm91cCwgeT1DVFFfcGh5c0FidXNlLCB4PWdyb3VwKSkgKyAKICAgICAgIGdlb21fYm94cGxvdCgpICsgZ2VvbV9wb2ludCgpICsgIGdlb21faml0dGVyKHdpZHRoID0gMC4wNSwgaGVpZ2h0PS4wNSkgKwogIHlsYWIoIkNUUSBwaHlzIGFidXNlIikgKyB4bGFiKCJHcm91cCIpCiBwMQogCmBgYAoKIyMjIENUUSBzZXh1YWwgYWJ1c2UKCiMjIyMgRnVsbCBuZXVyb2ltYWdpbmcgc2FtcGxlCmBgYHtyfQoKcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKENUUV9zZXhBYnVzZSkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41LCBmaWxsPSJkYXJrdmlvbGV0IikgKwogICAgeGxhYigiQ1RRIHNleCBhYnVzZSIpICsgdGhlbWVfYncoKSArIHNjYWxlX3hfY29udGludW91cyhicmVha3MgPSBzZXEoMCwgMzAsIGJ5ID0gNSkpCiBwMQpgYGAKCiMjIyMgQnkgZ3JvdXAKYGBge3J9CiAgCiAgcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKENUUV9zZXhBYnVzZSwgY29sb3I9Z3JvdXAsIGZpbGw9Z3JvdXApKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCwgY29sb3VyPSdibGFjaycsc2l6ZT0uNSkgKwogIHhsYWIoIkNUUSBzZXggYWJ1c2UiKSArIGZhY2V0X3dyYXAofmdyb3VwKSArIHRoZW1lX2J3KCkKIHAxCiAKIHAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhjb2xvcj1ncm91cCwgeT1DVFFfc2V4QWJ1c2UsIHg9Z3JvdXApKSArIAogICAgICAgZ2VvbV9ib3hwbG90KCkgKyBnZW9tX3BvaW50KCkgKyAgZ2VvbV9qaXR0ZXIod2lkdGggPSAwLjA1LCBoZWlnaHQ9LjA1KSArCiAgeWxhYigiQ1RRIHNleCBhYnVzZSIpICsgeGxhYigiR3JvdXAiKQogcDEKIApgYGAKCgoKCiMjIyBUTEVRIHRvdGFsIGV4Y2x1ZGluZyBjaGlsZGhvb2QgdHJhdW1hIChub24td2VpZ2h0ZWQpCgojIyMjIEZ1bGwgbmV1cm9pbWFnaW5nIHNhbXBsZQpgYGB7cn0KCnAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhUTEVRX3RvdGFsRXhjbENUX25vblcpKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCwgY29sb3VyPSdibGFjaycsc2l6ZT0uNSwgZmlsbD0iZGFya3Zpb2xldCIpICsKICAgIHhsYWIoIlRMRVEgZXhjbC5DVCIpICArIHNjYWxlX3hfY29udGludW91cyhicmVha3MgPSBzZXEoMCwgMTMwLCBieSA9IDEwKSkgKyB0aGVtZV9idygpCiBwMQpgYGAKCiMjIyMgQnkgZ3JvdXAKYGBge3J9CiAgCiAgcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKFRMRVFfdG90YWxFeGNsQ1Rfbm9uVywgY29sb3I9Z3JvdXAsIGZpbGw9Z3JvdXApKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCwgY29sb3VyPSdibGFjaycsc2l6ZT0uNSkgKwogIHhsYWIoIlRMRVEgZXhjbC5DVCIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKGNvbG9yPWdyb3VwLCB5PVRMRVFfdG90YWxFeGNsQ1Rfbm9uVywgeD1ncm91cCkpICsgCiAgICAgICBnZW9tX2JveHBsb3QoKSArIGdlb21fcG9pbnQoKSArICBnZW9tX2ppdHRlcih3aWR0aCA9IDAuMDUsIGhlaWdodD0uMDUpICsKICB5bGFiKCJUTEVRIGV4Y2wuQ1QiKSArIHhsYWIoIkdyb3VwIikKIHAxCiAKYGBgCgoKCiMjIyBUTEVRIHNleHVhbCB2aW9sZW5jZSA+MTggeXJzIChub24td2VpZ2h0ZWQpCgojIyMjIEZ1bGwgbmV1cm9pbWFnaW5nIHNhbXBsZQpgYGB7cn0KCnAxIDwtIGdncGxvdChoaXN0X2RhdGEsIGFlcyhUTEVRX3NleHVhbFZpb2xlbmNlUG9zdDE4X25vblcpKSArIAogICAgICAgZ2VvbV9oaXN0b2dyYW0oYmlucz0yMCwgY29sb3VyPSdibGFjaycsc2l6ZT0uNSwgZmlsbD0iZGFya3Zpb2xldCIpICsKICAgIHhsYWIoIlRMRVEgc2V4dWFsIHZpb2xlbmNlID4xOCB5cnMiKSArIHRoZW1lX2J3KCkgKyBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDEsIGJ5ID0gMSkpICsKICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDcwLCBieSA9IDEwKSkKIHAxCmBgYAoKIyMjIyBCeSBncm91cApgYGB7cn0KICAKICBwMSA8LSBnZ3Bsb3QoaGlzdF9kYXRhLCBhZXMoVExFUV9zZXh1YWxWaW9sZW5jZVBvc3QxOF9ub25XLCBjb2xvcj1ncm91cCwgZmlsbD1ncm91cCkpICsgCiAgICAgICBnZW9tX2hpc3RvZ3JhbShiaW5zPTIwLCBjb2xvdXI9J2JsYWNrJyxzaXplPS41KSArCiAgeGxhYigiVExFUSBzZXh1YWwgdmlvbGVuY2UgPjE4IHlycyIpICsgZmFjZXRfd3JhcCh+Z3JvdXApICsgdGhlbWVfYncoKQogcDEKIAogcDEgPC0gZ2dwbG90KGhpc3RfZGF0YSwgYWVzKGNvbG9yPWdyb3VwLCB5PVRMRVFfc2V4dWFsVmlvbGVuY2VQb3N0MThfbm9uVywgeD1ncm91cCkpICsgCiAgICAgICBnZW9tX2JveHBsb3QoKSArIGdlb21fcG9pbnQoKSArICBnZW9tX2ppdHRlcih3aWR0aCA9IDAuMDUsIGhlaWdodD0uMDUpICsKICB5bGFiKCJUTEVRIHNleHVhbCB2aW9sZW5jZSA+MTggeXJzIikgKyB4bGFiKCJHcm91cCIpCiBwMQogCmBgYA==