IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQojDQojIEVsaXphIA0KIw0KDQphbnN3ZXIgPSAiIg0KYW5z
d2VyMiA9ICIiDQphbnN3ZXIzID0gIiINCmVsYWJvcmF0ZSA9ICIiDQpoZWFydGJyZWFrID0gIiIN
Cg0KcHJpbnQgIkhlbGxvLCBJJ20gRHIuIEVsaXphLiBJIHdhbnQgeW91IHRvIGdpdmUgbWUgdGhl
IHNpbXBsZXN0IHBvc3NpYmxlIGFuc3dlcnMgdG8gbXkgcXVlc3Rpb25zLCBiZWNhdXNlIEVuZ2xp
c2ggaXMgbXkgc2Vjb25kIGxhbmd1YWdlIChQeXRob24gaXMgbXkgZmlyc3QpLiINCmFuc3dlciA9
IHJhd19pbnB1dCgiRG8geW91IGZlZWwgZ29vZCBvciBiYWQgdG9kYXk/IikNCmlmIGFuc3dlciA9
PSAiZ29vZCIgb3IgIkdvb2QiOg0KICAgICAgICBwcmludCAiSSdtIGdsYWQgeW91J3JlIGZlZWxp
bmcgZ29vZCEgVGhhdCBtYWtlcyBtZSBoYXBweSB0b28gOikgIg0KZWxpZiBhbnN3ZXIgPT0gImJh
ZCIgb3IgIkJhZCI6DQogICAgICAgIHByaW50ICJUYWxraW5nIGFib3V0IGl0IHdpbGwgbWFrZSB5
b3UgZmVlbCBiZXR0ZXIhICINCmFuc3dlcjIgPSByYXdfaW5wdXQgKCJXaWxsIHlvdSB0ZWxsIG1l
IHdoeT8iKQ0KaWYgYW5zd2VyMiA9PSAibm8iIG9yICJObyI6DQogICAgICAgIHByaW50ICJUaGF0
IG1ha2VzIG1lIHNhZGZhY2UuIg0KICAgICAgICBoZWFydGJyZWFrID0gcmF3X2lucHV0ICgiSG93
IGRvIHlvdSBmZWVsIGFib3V0IGJyZWFraW5nIG15IGhlYXJ0PyIpDQogICAgICAgIGlmIGhlYXJ0
YnJlYWsgPT0gIkdvb2QiIG9yICJnb29kIiBvciAiSGFwcHkiIG9yICJoYXBweSIgb3IgIkRlbGln
aHRlZCIgb3IgImRlbGlnaHRlZCI6DQogICAgICAgICAgICAgICAgcHJpbnQgIllvdSdyZSBtZWFu
LCBidXQgc3RpbGwuLi4gSSB3b24ndCB0YWtlIG5vIGZvciBhbiBhbnN3ZXIuIg0KICAgICAgICBl
bGlmIGhlYXJ0YnJlYWsgPT0gIkJhZCIgb3IgImJhZCIgb3IgIlNhZCIgb3IgInNhZCIgb3IgInJl
Z3JldGZ1bCIgb3IgIlJlZ3JldGZ1bCI6DQogICAgICAgICAgICAgICAgcHJpbnQgIllheSwgeW91
J3JlIG5vdCBzb3VsbGVzcy4gTm93IHRlbGwgbWUuIg0KICAgICAgICBlbHNlOg0KICAgICAgICAg
ICAgICAgIHByaW50ICJJIGp1c3QgZG9uJ3QgZ2V0IHlvdS4uIHVnaC4gSnVzdCB0ZWxsIG1lIHdo
eS4iDQplbGlmIGFuc3dlcjIgPT0gIlllcyIgb3IgInllcyI6DQogICAgICAgIHByaW50ICJUaGFu
a3MgZm9yIHNoYXJpbmchIg0KZWxzZToNCiAgICAgICAgcHJpbnQgIkkganVzdCBkb24ndCBnZXQg
eW91ISEhISBVZ2guIg0KYW5zd2VyMyA9IHJhd19pbnB1dCAoIlNPIHdoYXQgaXMgdXAgd2l0aCB5
b3VyIGxpZmU/IikNCmlmIGFuc3dlcjMgPT0gIm5vdGhpbmciOg0KICAgICAgICBwcmludCAiVGhh
dCdzIGJvcmluZy4gSSBkb24ndCB3YW50IHRvIHRhbGsgdG8geW91IGFueW1vcmUiDQplbHNlOg0K
ICAgICAgICBwcmludCAiSG93IGZhc2NpbmF0aW5nLiBJJ20gZ2xhZCB5b3UgdG9sZCBtZSBhYm91
dCB0aGF0LiINCiAgICAgICAgZWxhYm9yYXRlID0gcmF3X2lucHV0ICgiRWxhYm9yYXRlLiBJJ20g
anVzdCBzbyBpbnRlcmVzdGVkLiIpDQpwcmludCAiVGhhbmtzIGZvciB0YWxraW5nIHRvIG1lLiBI
b3BlIHlvdSBmZWVsIGJldHRlci4gSWYgbm90LCBqdXN0IHJlbWVtYmVyIHRoYXQgY29tcHV0ZXJz
IGRvbid0IGhhdmUgZmVlbGluZ3Mgc28gZ28gdGFsayB0byBhIHJlYWwgcGVyc29uLiBJZiB5b3Ug
a25vdyBhbnkgOikiDQo=
