Supplemental Figure 4.

Sunburst diagrams of longitudinal patterns of within-person antibiotic treatment for otitis media by agent and age group, among commercially-insured children, 30 days of follow-up. Other agents included cefixime, cefpodoxime, ciprofloxacin, clindamycin, and levofloxacin, as well as multiple prescriptions for different agents on the same date.

(A) Commercial insurance

1. Less than 2 years

Legend

2. 2 to 5 years

Legend

3. Greater than or equal to 6 years

Legend

(B) Medicaid insurance

1. Less than 2 years

Legend

2. 2 to 5 years

Legend

3. Greater than or equal to 6 years

Legend

Supplemental Figure 8.

Sunburst diagrams of longitudinal patterns of within-person antibiotic treatment for otitis media by treatment duration and age group, 30 days of follow-up, for children with commercial insurance (A) and Medicaid insurance (B). Children prescribed azithromycin were excluded from this analysis.

(A) Commercial insurance

1. Less than 2 years

Legend

2. 2 to 5 years

Legend

3. Greater than or equal to 6 years

Legend

(B) Medicaid insurance

1. Less than 2 years

Legend

2. 2 to 5 years

Legend

3. Greater than or equal to 6 years

Legend

Supplemental Figure 10.

Sunburst diagrams of longitudinal patterns of within-person antibiotic treatment for otitis media by treatment duration and rural/urban status, among commercially-insured children, 30 days of follow-up. Children prescribed azithromycin were excluded from this analysis.

1. Urban

Legend

2. Rural

Legend
LS0tDQp0aXRsZTogIlV0aWxpemF0aW9uIG9mIE5vbi1HdWlkZWxpbmUgQ29uY29yZGFudCBBbnRpYmlvdGljIFRyZWF0bWVudCBGb2xsb3dpbmcgQWN1dGUgT3RpdGlzIE1lZGlhIGluIENoaWxkcmVuIGluIHRoZSBVbml0ZWQgU3RhdGVzOiBTdXBwbGVtZW50YWwgU3VuYnVyc3QgRGlhZ3JhbXMiDQphdXRob3I6ICANCiAgLSBuYW1lOiAiTGVhaCBKLiBNY0dyYXRoLCBQaEQiDQogICAgYWZmaWxpYXRpb246IEluZmVyZW50aWFsIERlc2lnbiwgTExDLCBEdXJoYW0sIE5DLCBVU0ENCiAgLSBuYW1lOiAiSG9sbHkgTS4gRnJvc3QsIE1EIg0KICAgIGFmZmlsaWF0aW9uOiBEZXBhcnRtZW50IG9mIFBlZGlhdHJpY3MsIERlbnZlciBIZWFsdGggTWVkaWNhbCBDZW50ZXIsIERlbnZlciwgQ29sb3JhZG8uPGJyPk9mZmljZSBvZiBSZXNlYXJjaCwgRGVudmVyIEhlYWx0aCBNZWRpY2FsIENlbnRlciwgRGVudmVyLCBDb2xvcmFkby48YnI+RGVwYXJ0bWVudCBvZiBQZWRpYXRyaWNzLCBTY2hvb2wgb2YgTWVkaWNpbmUsIFVuaXZlcnNpdHkgb2YgQ29sb3JhZG8sIEF1cm9yYSwgQ29sb3JhZG8uDQogIC0gbmFtZTogIkphc29uIEcuIE5ld2xhbmQsIE1ELCBNRWQiDQogICAgYWZmaWxpYXRpb246IERlcGFydG1lbnQgb2YgUGVkaWF0cmljcywgU2Nob29sIG9mIE1lZGljaW5lLCBXYXNoaW5ndG9uIFVuaXZlcnNpdHksIFN0LiBMb3VpcywgTU8sIFVTQQ0KICAtIG5hbWU6IENhcm9saW5lIEEuIE8nTmVpbCwgTUEsIE1QSA0KICAgIGFmZmlsaWF0aW9uOiBEZXBhcnRtZW50IG9mIE1lZGljaW5lLCBTY2hvb2wgb2YgTWVkaWNpbmUsIFdhc2hpbmd0b24gVW5pdmVyc2l0eSwgU3QuIExvdWlzLCBNTywgVVNBDQogIC0gbmFtZTogIkpvaG4gTS4gU2Focm1hbm4sIE1BIg0KICAgIGFmZmlsaWF0aW9uOiBEZXBhcnRtZW50IG9mIE1lZGljaW5lLCBTY2hvb2wgb2YgTWVkaWNpbmUsIFdhc2hpbmd0b24gVW5pdmVyc2l0eSwgU3QuIExvdWlzLCBNTywgVVNBDQogIC0gbmFtZTogIllpbmppYW8gTWEsIE1QSCINCiAgICBhZmZpbGlhdGlvbjogRGVwYXJ0bWVudCBvZiBNZWRpY2luZSwgU2Nob29sIG9mIE1lZGljaW5lLCBXYXNoaW5ndG9uIFVuaXZlcnNpdHksIFN0LiBMb3VpcywgTU8sIFVTQQ0KICAtIG5hbWU6ICJBbm5lIE0uIEJ1dGxlciwgUGhEIg0KICAgIGFmZmlsaWF0aW9uOiBEZXBhcnRtZW50IG9mIE1lZGljaW5lLCBTY2hvb2wgb2YgTWVkaWNpbmUsIFdhc2hpbmd0b24gVW5pdmVyc2l0eSwgU3QuIExvdWlzLCBNTywgVVNBPGJyPkRlcGFydG1lbnQgb2YgU3VyZ2VyeSwgU2Nob29sIG9mIE1lZGljaW5lLCBXYXNoaW5ndG9uIFVuaXZlcnNpdHksIFN0LiBMb3VpcywgTU8sIFVTQQ0KZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50OiANCiAgICB0b2M6IHllcw0KICAgIHRvY19mbG9hdDogeWVzDQogICAgdG9jX2RlcHRoOiA0DQogICAgdGhlbWU6IHNpbXBsZXgNCiAgICBwYWdlZF9kZjogeWVzDQogICAgY29kZV9mb2xkaW5nOiBzaG93DQogICAgY29kZV9kb3dubG9hZDogeWVzDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFLA0KICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBGQUxTRSwNCiAgICAgICAgICAgICAgICAgICAgICBjYWNoZSA9IFRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBGQUxTRSwgDQogICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZSA9IEZBTFNFKQ0KYGBgDQoNCmBgYHtyIHBhY2thZ2VzLCBjYWNoZT1GQUxTRSwgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeSh0cmVlbWFwKQ0KbGlicmFyeShzdW5idXJzdFIpDQpsaWJyYXJ5KHJlYWR4bCkNCmBgYA0KDQojIyAqKlN1cHBsZW1lbnRhbCBGaWd1cmUgNC4qKg0KDQogU3VuYnVyc3QgZGlhZ3JhbXMgb2YgbG9uZ2l0dWRpbmFsIHBhdHRlcm5zIG9mIHdpdGhpbi1wZXJzb24gYW50aWJpb3RpYyB0cmVhdG1lbnQgZm9yIG90aXRpcyBtZWRpYSBieSBhZ2VudCBhbmQgYWdlIGdyb3VwLCBhbW9uZyBjb21tZXJjaWFsbHktaW5zdXJlZCBjaGlsZHJlbiwgMzAgZGF5cyBvZiBmb2xsb3ctdXAuIE90aGVyIGFnZW50cyBpbmNsdWRlZCBjZWZpeGltZSwgY2VmcG9kb3hpbWUsIGNpcHJvZmxveGFjaW4sIGNsaW5kYW15Y2luLCBhbmQgbGV2b2Zsb3hhY2luLCBhcyB3ZWxsIGFzIG11bHRpcGxlIHByZXNjcmlwdGlvbnMgZm9yIGRpZmZlcmVudCBhZ2VudHMgb24gdGhlIHNhbWUgZGF0ZS4NCg0KIyMjICoqKEEpKiogQ29tbWVyY2lhbCBpbnN1cmFuY2UNCg0KIyMjIyAxLiBMZXNzIHRoYW4gMiB5ZWFycw0KDQpgYGB7ciBzdW5idXJzdDE3LCBlY2hvPUZBTFNFfQ0KDQojRmlndXJlOiBhZ2UgbHQyDQoNCmRhdGEgPC0gcmVhZF9leGNlbCgiLi9GVV8zMGRheXMvc3VuYnVyc3RfaW5wdXQvT01fbWt0X2x0Ml9GVTMwLnhsc3giLCBzaGVldCA9IDEpDQpkYXRhIDwtIGRhdGEgJT4lDQogIG11dGF0ZSgNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgIm90aGVyIiwgIk90aGVyIikNCiAgKQ0KDQojIFJlZm9ybWF0IGRhdGEgZm9yIHRoZSBzdW5idXJzdFIgcGFja2FnZQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBkcGx5cjo6c2VsZWN0KHBhdGgsIENPVU5UKQ0KDQojIFBsb3QNCnN1bmJ1cnN0KGRhdGEsDQogICAgICAgICAgICAgICBjb3VudCA9IFQsDQogICAgICAgICAgICAgICBsZWdlbmQgPSBsaXN0KHc9MTgwKSwNCiAgICAgICAgICAgICAgIGxlZ2VuZE9yZGVyID0gYygiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQW1veGljaWxsaW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXppdGhyb215Y2luIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNlZmRpbmlyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIiksDQogICAgICAgICAgICAgICAgY29sb3JzID0gYygiIzk5OTk5OSIsICIjRTY5RjAwIiwgIiM1NkI0RTkiLCAiIzAwOUU3MyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIiNGMEU0NDIiLCAiI0NDNzlBNyIpKQ0KDQpgYGANCg0KIyMjIyAyLiAyIHRvIDUgeWVhcnMNCg0KYGBge3Igc3VuYnVyc3QxOCwgZWNobz1GQUxTRX0NCg0KZGF0YSA8LSByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9PTV9ta3RfYWdlMl81X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xODApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFtb3hpY2lsbGluIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXppdGhyb215Y2luIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2VmZGluaXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiIzk5OTk5OSIsICIjRTY5RjAwIiwgIiM1NkI0RTkiLCAiIzAwOUU3MyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiI0YwRTQ0MiIsICIjQ0M3OUE3IikpDQoNCmBgYA0KDQojIyMjIDMuIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA2IHllYXJzDQpgYGB7ciBzdW5idXJzdDE5LCBlY2hvPUZBTFNFfQ0KDQpkYXRhIDwtIHJlYWRfZXhjZWwoIi4vRlVfMzBkYXlzL3N1bmJ1cnN0X2lucHV0L09NX21rdF9hZ2VHRTZfRlUzMC54bHN4Iiwgc2hlZXQgPSAxKQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBtdXRhdGUoDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJvdGhlciIsICJPdGhlciIpDQogICkNCg0KIyBSZWZvcm1hdCBkYXRhIGZvciB0aGUgc3VuYnVyc3RSIHBhY2thZ2UNCmRhdGEgPC0gZGF0YSAlPiUNCiAgZHBseXI6OnNlbGVjdChwYXRoLCBDT1VOVCkNCg0KIyBQbG90DQpzdW5idXJzdChkYXRhLA0KICAgICAgICAgICAgICAgY291bnQgPSBULA0KICAgICAgICAgICAgICAgbGVnZW5kID0gbGlzdCh3PTE4MCksDQogICAgICAgICAgICAgICBsZWdlbmRPcmRlciA9IGMoIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQW1veGljaWxsaW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBeml0aHJvbXljaW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDZWZkaW5pciIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIiksDQogICAgICAgICAgICAgICBjb2xvcnMgPSBjKCIjOTk5OTk5IiwgIiNFNjlGMDAiLCAiIzU2QjRFOSIsICIjMDA5RTczIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICIjRjBFNDQyIiwgIiNDQzc5QTciKSkNCg0KYGBgDQoNCiMjIyAqKihCKSoqIE1lZGljYWlkIGluc3VyYW5jZQ0KDQojIyMjIDEuIExlc3MgdGhhbiAyIHllYXJzDQoNCmBgYHtyIHN1bmJ1cnN0MjAsIGVjaG89RkFMU0V9DQoNCiNGaWd1cmU6IGFnZSBsdDINCg0KZGF0YSA8LSByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9PTV9tc21fbHQyX0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xODApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFtb3hpY2lsbGluIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXppdGhyb215Y2luIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2VmZGluaXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiIzk5OTk5OSIsICIjRTY5RjAwIiwgIiM1NkI0RTkiLCAiIzAwOUU3MyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiI0YwRTQ0MiIsICIjQ0M3OUE3IiApKQ0KDQpgYGANCg0KIyMjIyAyLiAyIHRvIDUgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjEsIGVjaG89RkFMU0V9DQoNCmRhdGEgPC0gcmVhZF9leGNlbCgiLi9GVV8zMGRheXMvc3VuYnVyc3RfaW5wdXQvT01fbXNtX2FnZTJfNV9GVTMwLnhsc3giLCBzaGVldCA9IDEpDQpkYXRhIDwtIGRhdGEgJT4lDQogIG11dGF0ZSgNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgIm90aGVyIiwgIk90aGVyIikNCiAgKQ0KDQojIFJlZm9ybWF0IGRhdGEgZm9yIHRoZSBzdW5idXJzdFIgcGFja2FnZQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBkcGx5cjo6c2VsZWN0KHBhdGgsIENPVU5UKQ0KDQojIFBsb3QNCnN1bmJ1cnN0KGRhdGEsDQogICAgICAgICAgICAgICBjb3VudCA9IFQsDQogICAgICAgICAgICAgICBsZWdlbmQgPSBsaXN0KHc9MTgwKSwNCiAgICAgICAgICAgICAgIGxlZ2VuZE9yZGVyID0gYygiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbW94aWNpbGxpbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF6aXRocm9teWNpbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNlZmRpbmlyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSwNCiAgICAgICAgICAgICAgIGNvbG9ycyA9IGMoIiM5OTk5OTkiLCAiI0U2OUYwMCIsICIjNTZCNEU5IiwgIiMwMDlFNzMiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiNGMEU0NDIiLCAiI0NDNzlBNyIpKQ0KDQpgYGANCg0KIyMjIyAzLiBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gNiB5ZWFycw0KYGBge3Igc3VuYnVyc3QyMiwgZWNobz1GQUxTRX0NCg0KZGF0YSA8LSByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9PTV9tc21fYWdlR0U2X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xODApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFtb3hpY2lsbGluIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXppdGhyb215Y2luIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2VmZGluaXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiIzk5OTk5OSIsICIjRTY5RjAwIiwgIiM1NkI0RTkiLCAiIzAwOUU3MyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiI0YwRTQ0MiIsICIjQ0M3OUE3IikpDQoNCmBgYA0KDQojIyAqKlN1cHBsZW1lbnRhbCBGaWd1cmUgOC4qKiANCg0KU3VuYnVyc3QgZGlhZ3JhbXMgb2YgbG9uZ2l0dWRpbmFsIHBhdHRlcm5zIG9mIHdpdGhpbi1wZXJzb24gYW50aWJpb3RpYyB0cmVhdG1lbnQgZm9yIG90aXRpcyBtZWRpYSBieSB0cmVhdG1lbnQgZHVyYXRpb24gYW5kIGFnZSBncm91cCwgMzAgZGF5cyBvZiBmb2xsb3ctdXAsIGZvciBjaGlsZHJlbiB3aXRoIGNvbW1lcmNpYWwgaW5zdXJhbmNlIChBKSBhbmQgTWVkaWNhaWQgaW5zdXJhbmNlIChCKS4gQ2hpbGRyZW4gcHJlc2NyaWJlZCBheml0aHJvbXljaW4gd2VyZSBleGNsdWRlZCBmcm9tIHRoaXMgYW5hbHlzaXMuDQoNCiMjIyAqKihBKSoqIENvbW1lcmNpYWwgaW5zdXJhbmNlDQoNCiMjIyMgMS4gTGVzcyB0aGFuIDIgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjMsIGVjaG89RkFMU0V9DQoNCiNEdXJhdGlvbiBzdHJhdGlmaWVkIGJ5IGFnZTogbHQyDQpkYXRhIDwtICByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9NT19zdW5idXJzdF9ta3RfbHQyX2FsbGFnZW50X2R1cmF0aW9uX2lucHV0X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xNTApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCI8PTUgZGF5cyIsICI3IGRheXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMCBkYXlzIiwgIj49MTQgZGF5cyIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiI0YwRTQ0MiIsICIjRTY5RjAwIiwgIiMwMDlFNzMiLCAiIzU2QjRFOSIpKQ0KDQpgYGANCg0KIyMjIyAyLiAyIHRvIDUgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjQsIGVjaG89RkFMU0V9DQoNCmRhdGEgPC0gIHJlYWRfZXhjZWwoIi4vRlVfMzBkYXlzL3N1bmJ1cnN0X2lucHV0L01PX3N1bmJ1cnN0X21rdF9hZ2UyXzVfYWxsYWdlbnRfZHVyYXRpb25faW5wdXRfRlUzMC54bHN4Iiwgc2hlZXQgPSAxKQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBtdXRhdGUoDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJvdGhlciIsICJPdGhlciIpDQogICkNCg0KIyBSZWZvcm1hdCBkYXRhIGZvciB0aGUgc3VuYnVyc3RSIHBhY2thZ2UNCmRhdGEgPC0gZGF0YSAlPiUNCiAgZHBseXI6OnNlbGVjdChwYXRoLCBDT1VOVCkNCg0KIyBQbG90DQpzdW5idXJzdChkYXRhLA0KICAgICAgICAgICAgICAgY291bnQgPSBULA0KICAgICAgICAgICAgICAgbGVnZW5kID0gbGlzdCh3PTE1MCksDQogICAgICAgICAgICAgICBsZWdlbmRPcmRlciA9IGMoIjw9NSBkYXlzIiwgIjcgZGF5cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEwIGRheXMiLCAiPj0xNCBkYXlzIiksDQogICAgICAgICAgICAgICBjb2xvcnMgPSBjKCIjRjBFNDQyIiwgIiNFNjlGMDAiLCAiIzAwOUU3MyIsICIjNTZCNEU5IikpDQoNCmBgYA0KDQojIyMjIDMuIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA2IHllYXJzDQpgYGB7ciBzdW5idXJzdDI1LCBlY2hvPUZBTFNFfQ0KDQpkYXRhIDwtICByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9NT19zdW5idXJzdF9ta3RfYWdlR0U2X2FsbGFnZW50X2R1cmF0aW9uX2lucHV0X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xNTApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCI8PTUgZGF5cyIsICI3IGRheXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMCBkYXlzIiwgIj49MTQgZGF5cyIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiI0YwRTQ0MiIsICIjRTY5RjAwIiwgIiMwMDlFNzMiLCAiIzU2QjRFOSIpKQ0KDQpgYGANCg0KIyMjICoqKEIpKiogTWVkaWNhaWQgaW5zdXJhbmNlDQoNCiMjIyMgMS4gTGVzcyB0aGFuIDIgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjYsIGVjaG89RkFMU0V9DQoNCiNEdXJhdGlvbiBzdHJhdGlmaWVkIGJ5IGFnZTogbHQyDQpkYXRhIDwtICByZWFkX2V4Y2VsKCIuL0ZVXzMwZGF5cy9zdW5idXJzdF9pbnB1dC9NT19zdW5idXJzdF9tc21fbHQyX2FsbGFnZW50X2R1cmF0aW9uX2lucHV0X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xNTApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCI8PTUgZGF5cyIsICI3IGRheXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMCBkYXlzIiwgIj49MTQgZGF5cyIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiI0YwRTQ0MiIsICIjRTY5RjAwIiwgIiMwMDlFNzMiLCAiIzU2QjRFOSIpKQ0KDQpgYGANCg0KIyMjIyAyLiAyIHRvIDUgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjcsIGVjaG89RkFMU0V9DQoNCiNEdXJhdGlvbiBzdHJhdGlmaWVkIGJ5IGFnZTogYWdlIDItNQ0KZGF0YSA8LSAgcmVhZF9leGNlbCgiLi9GVV8zMGRheXMvc3VuYnVyc3RfaW5wdXQvTU9fc3VuYnVyc3RfbXNtX2FnZTJfNV9hbGxhZ2VudF9kdXJhdGlvbl9pbnB1dF9GVTMwLnhsc3giLCBzaGVldCA9IDEpDQpkYXRhIDwtIGRhdGEgJT4lDQogIG11dGF0ZSgNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgIm90aGVyIiwgIk90aGVyIikNCiAgKQ0KDQojIFJlZm9ybWF0IGRhdGEgZm9yIHRoZSBzdW5idXJzdFIgcGFja2FnZQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBkcGx5cjo6c2VsZWN0KHBhdGgsIENPVU5UKQ0KDQojIFBsb3QNCnN1bmJ1cnN0KGRhdGEsDQogICAgICAgICAgICAgICBjb3VudCA9IFQsDQogICAgICAgICAgICAgICBsZWdlbmQgPSBsaXN0KHc9MTUwKSwNCiAgICAgICAgICAgICAgIGxlZ2VuZE9yZGVyID0gYygiPD01IGRheXMiLCAiNyBkYXlzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTAgZGF5cyIsICI+PTE0IGRheXMiKSwNCiAgICAgICAgICAgICAgIGNvbG9ycyA9IGMoIiNGMEU0NDIiLCAiI0U2OUYwMCIsICIjMDA5RTczIiwgIiM1NkI0RTkiKSkNCg0KYGBgDQoNCiMjIyMgMy4gR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDYgeWVhcnMNCmBgYHtyIHN1bmJ1cnN0MjgsIGVjaG89RkFMU0V9DQoNCiNEdXJhdGlvbiBzdHJhdGlmaWVkIGJ5IGFnZTogYWdlIDYgb3Igb2xkZXINCmRhdGEgPC0gIHJlYWRfZXhjZWwoIi4vRlVfMzBkYXlzL3N1bmJ1cnN0X2lucHV0L01PX3N1bmJ1cnN0X21zbV9hZ2VHRTZfYWxsYWdlbnRfZHVyYXRpb25faW5wdXRfRlUzMC54bHN4Iiwgc2hlZXQgPSAxKQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBtdXRhdGUoDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJvdGhlciIsICJPdGhlciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGljaWxsaW4iLCAiQW1veGljaWxsaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJvdGhlciIsICJPdGhlciIpDQogICkNCg0KIyBSZWZvcm1hdCBkYXRhIGZvciB0aGUgc3VuYnVyc3RSIHBhY2thZ2UNCmRhdGEgPC0gZGF0YSAlPiUNCiAgZHBseXI6OnNlbGVjdChwYXRoLCBDT1VOVCkNCg0KIyBQbG90DQpzdW5idXJzdChkYXRhLA0KICAgICAgICAgICAgICAgY291bnQgPSBULA0KICAgICAgICAgICAgICAgbGVnZW5kID0gbGlzdCh3PTE1MCksDQogICAgICAgICAgICAgICBsZWdlbmRPcmRlciA9IGMoIjw9NSBkYXlzIiwgIjcgZGF5cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEwIGRheXMiLCAiPj0xNCBkYXlzIiksDQogICAgICAgICAgICAgICBjb2xvcnMgPSBjKCIjRjBFNDQyIiwgIiNFNjlGMDAiLCAiIzAwOUU3MyIsICIjNTZCNEU5IikpDQoNCmBgYA0KDQoNCiMjICoqU3VwcGxlbWVudGFsIEZpZ3VyZSAxMC4qKg0KDQpTdW5idXJzdCBkaWFncmFtcyBvZiBsb25naXR1ZGluYWwgcGF0dGVybnMgb2Ygd2l0aGluLXBlcnNvbiBhbnRpYmlvdGljIHRyZWF0bWVudCBmb3Igb3RpdGlzIG1lZGlhIGJ5IHRyZWF0bWVudCBkdXJhdGlvbiBhbmQgcnVyYWwvdXJiYW4gc3RhdHVzLCBhbW9uZyBjb21tZXJjaWFsbHktaW5zdXJlZCBjaGlsZHJlbiwgMzAgZGF5cyBvZiBmb2xsb3ctdXAuIENoaWxkcmVuIHByZXNjcmliZWQgYXppdGhyb215Y2luIHdlcmUgZXhjbHVkZWQgZnJvbSB0aGlzIGFuYWx5c2lzLg0KDQojIyMjIDEuIFVyYmFuDQpgYGB7ciwgZWNobz1GQUxTRX0NCg0KI0R1cmF0aW9uIHN0cmF0aWZpZWQgYnkgb3RoZXINCmRhdGEgPC0gIHJlYWRfZXhjZWwoIi4vRlVfMzBkYXlzL3N1bmJ1cnN0X2lucHV0L01PX3N1bmJ1cnN0X21rdF9VcmJhbl9hbGxhZ2VudF9kdXJhdGlvbl9pbnB1dF9GVTMwLnhsc3giLCBzaGVldCA9IDEpDQpkYXRhIDwtIGRhdGEgJT4lDQogIG11dGF0ZSgNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94Y2xhdnVsYW5hdGUiLCAiQW1veGljaWxsaW4gY2xhdnVsYW5hdGUiKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBwYXRoID0gc3RyX3JlcGxhY2VfYWxsKHBhdGgsICJjZWZkaW5pciIsICJDZWZkaW5pciIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjEsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjIsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyMyA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjMsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjQsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgIm90aGVyIiwgIk90aGVyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJhbW94aWNpbGxpbiIsICJBbW94aWNpbGxpbiIpLA0KICAgIG9yZGVyNSA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcjUsICJheml0aHJvbXljaW4iLCAiQXppdGhyb215Y2luIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgIm90aGVyIiwgIk90aGVyIikNCiAgKQ0KDQojIFJlZm9ybWF0IGRhdGEgZm9yIHRoZSBzdW5idXJzdFIgcGFja2FnZQ0KZGF0YSA8LSBkYXRhICU+JQ0KICBkcGx5cjo6c2VsZWN0KHBhdGgsIENPVU5UKQ0KDQojIFBsb3QNCnN1bmJ1cnN0KGRhdGEsDQogICAgICAgICAgICAgICBjb3VudCA9IFQsDQogICAgICAgICAgICAgICBsZWdlbmQgPSBsaXN0KHc9MTUwKSwNCiAgICAgICAgICAgICAgIGxlZ2VuZE9yZGVyID0gYygiPD01IGRheXMiLCAiNyBkYXlzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTAgZGF5cyIsICI+PTE0IGRheXMiKSwNCiAgICAgICAgICAgICAgIGNvbG9ycyA9IGMoIiNGMEU0NDIiLCAiI0U2OUYwMCIsICIjMDA5RTczIiwgIiM1NkI0RTkiKSkNCg0KYGBgDQoNCiMjIyMgMi4gUnVyYWwNCmBgYHtyLCBlY2hvPUZBTFNFfQ0KDQojRHVyYXRpb24gc3RyYXRpZmllZCBieSBvdGhlcg0KZGF0YSA8LSAgcmVhZF9leGNlbCgiLi9GVV8zMGRheXMvc3VuYnVyc3RfaW5wdXQvTU9fc3VuYnVyc3RfbWt0X1J1cmFsX2FsbGFnZW50X2R1cmF0aW9uX2lucHV0X0ZVMzAueGxzeCIsIHNoZWV0ID0gMSkNCmRhdGEgPC0gZGF0YSAlPiUNCiAgbXV0YXRlKA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hjbGF2dWxhbmF0ZSIsICJBbW94aWNpbGxpbiBjbGF2dWxhbmF0ZSIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAiYXppdGhyb215Y2luIiwgIkF6aXRocm9teWNpbiIpLA0KICAgIHBhdGggPSBzdHJfcmVwbGFjZV9hbGwocGF0aCwgImNlZmRpbmlyIiwgIkNlZmRpbmlyIiksDQogICAgcGF0aCA9IHN0cl9yZXBsYWNlX2FsbChwYXRoLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIxID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjEgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIxLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIyID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMiwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjIgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIyLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXIzID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyMywgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjMgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXIzLCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI0ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNCwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjQgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI0LCAib3RoZXIiLCAiT3RoZXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiYW1veGNsYXZ1bGFuYXRlIiwgIkFtb3hpY2lsbGluIGNsYXZ1bGFuYXRlIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImFtb3hpY2lsbGluIiwgIkFtb3hpY2lsbGluIiksDQogICAgb3JkZXI1ID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyNSwgImF6aXRocm9teWNpbiIsICJBeml0aHJvbXljaW4iKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAiY2VmZGluaXIiLCAiQ2VmZGluaXIiKSwNCiAgICBvcmRlcjUgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXI1LCAib3RoZXIiLCAiT3RoZXIiKQ0KICApDQoNCiMgUmVmb3JtYXQgZGF0YSBmb3IgdGhlIHN1bmJ1cnN0UiBwYWNrYWdlDQpkYXRhIDwtIGRhdGEgJT4lDQogIGRwbHlyOjpzZWxlY3QocGF0aCwgQ09VTlQpDQoNCiMgUGxvdA0Kc3VuYnVyc3QoZGF0YSwNCiAgICAgICAgICAgICAgIGNvdW50ID0gVCwNCiAgICAgICAgICAgICAgIGxlZ2VuZCA9IGxpc3Qodz0xNTApLA0KICAgICAgICAgICAgICAgbGVnZW5kT3JkZXIgPSBjKCI8PTUgZGF5cyIsICI3IGRheXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMCBkYXlzIiwgIj49MTQgZGF5cyIpLA0KICAgICAgICAgICAgICAgY29sb3JzID0gYygiI0YwRTQ0MiIsICIjRTY5RjAwIiwgIiMwMDlFNzMiLCAiIzU2QjRFOSIpKQ0KDQpgYGANCg==