📱
Việt Quest is on the App Store
The same game, on your phone: the tone check that listens to your voice, Family Voice, Linh the AI cousin, and the Tết event. Free, no account. A save code carries your progress between this page and the app.
Download on the App StoreFree to download. Nothing to buy in the app or here.
PHN0eWxlPgogIDpyb290IHsKICAgIC0tYmc6dHJhbnNwYXJlbnQ7IC0tY2FyZDojRkJGNkVBOyAtLWNhcmQyOiNFQ0UzQ0I7IC0tYWNjZW50OiNCMDNBMkU7
IC0tYWNjZW50MjojMUU3QTVGOwogICAgLS1nb2xkOiNCMDdEMjg7IC0tZ3JlZW46IzJGN0Q0RjsgLS1yZWQ6I0NGMkUyRTsgLS10ZXh0OiMyQTJBMkE7IC0t
bXV0ZWQ6Izc1NjY0RDsKICB9CiAgKiB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgLXdlYmtpdC10YXAtaGlnaGxpZ2h0
LWNvbG9yOnRyYW5zcGFyZW50OyB9CiAgI2txLWFwcCB7CiAgICB3aWR0aDoxMDB2dzsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgbGVmdDo1MCU7CiAg
ICBtYXJnaW4tbGVmdDotNTB2dzsKICAgIHBhZGRpbmc6MThweCAwIDUwcHg7CiAgICBmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVt
Rm9udCwiU2Vnb2UgVUkiLCJBcHBsZSBTRCBHb3RoaWMgTmVvIixzYW5zLXNlcmlmOwogICAgYmFja2dyb3VuZDp2YXIoLS1iZyk7IGNvbG9yOnZhcigtLXRl
eHQpOyBtaW4taGVpZ2h0OjEwMHZoOwogICAgYmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAxMCUsICNCMDNBMkUxOCAw
JSwgdHJhbnNwYXJlbnQgNTAlKSwKICAgICAgICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MCUgOTAlLCAjMUU3QTVGMTAgMCUs
IHRyYW5zcGFyZW50IDUwJSk7CiAgfQogIC53cmFwIHsgbWF4LXdpZHRoOjY0MHB4OyBtYXJnaW46MCBhdXRvOyBwYWRkaW5nOjE2cHggMTRweCA3MHB4OyB9
CiAgLyogZGVza3RvcDogdXNlIHRoZSByb29tIOKAlCBtYXAgc2NyZWVucyBnbyB3aWRlLCBmb2N1c2VkIHNjcmVlbnMgc3RheSByZWFkYWJsZSAqLwogIEBt
ZWRpYSAobWluLXdpZHRoOjkwMHB4KSB7CiAgICAud3JhcCB7IG1heC13aWR0aDoxMDgwcHg7IH0KICAgIC53cmFwIC5tYXAtZ3JpZCB7IGdyaWQtdGVtcGxh
dGUtY29sdW1uczpyZXBlYXQoNCwgMWZyKTsgfQogICAgI2xlc3NvbiwgI2ZyZWUsICNxdWl6LCAjbWF0Y2gsICNidWlsZGVyLCAjYm9zcywgI3Jlc3VsdCB7
IG1heC13aWR0aDo3MjBweDsgbWFyZ2luOjAgYXV0bzsgfQogIH0KCiAgLyogSFVEICovCiAgLmh1ZCB7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2Vu
dGVyOyBnYXA6MTJweDsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgYm9yZGVyLXJhZGl1czoxNnB4OyBwYWRkaW5nOjEwcHggMTRweDsgbWFyZ2luLWJvdHRv
bToxNHB4OyBib3gtc2hhZG93OjAgNHB4IDIwcHggcmdiYSgwLDAsMCwuMDgpOyB9CiAgLmF2YXRhciB7IHdpZHRoOjQ2cHg7IGhlaWdodDo0NnB4OyBib3Jk
ZXItcmFkaXVzOjEycHg7IGZvbnQtc2l6ZToyNnB4OyBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0IwM0EyRTMzLCMxRTdBNUYzMyk7IGRp
c3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBib3JkZXI6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7IGZs
ZXg6bm9uZTsgfQogIC5odWQtbWlkIHsgZmxleDoxOyBtaW4td2lkdGg6MDsgfQogIC5odWQtdGl0bGUgeyBmb250LXdlaWdodDo4MDA7IGZvbnQtc2l6ZTox
NHB4OyB3aGl0ZS1zcGFjZTpub3dyYXA7IG92ZXJmbG93OmhpZGRlbjsgdGV4dC1vdmVyZmxvdzplbGxpcHNpczsgfQogIC54cGJhciB7IGhlaWdodDo5cHg7
IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTApOyBib3JkZXItcmFkaXVzOjZweDsgbWFyZ2luLXRvcDo1cHg7IG92ZXJmbG93OmhpZGRlbjsgfQogIC54cGZp
bGwgeyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYWNjZW50KSx2YXIoLS1nb2xkKSk7IGJvcmRlci1yYWRp
dXM6NnB4OyB0cmFuc2l0aW9uOndpZHRoIC41czsgfQogIC5odWQtc3ViIHsgZm9udC1zaXplOjEwLjVweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBtYXJnaW4t
dG9wOjNweDsgfQogIC5zdHJlYWsgeyB0ZXh0LWFsaWduOmNlbnRlcjsgZm9udC1zaXplOjExcHg7IGNvbG9yOnZhcigtLW11dGVkKTsgZmxleDpub25lOyB9
CiAgLnNwZGJ0biB7IGJvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1hY2NlbnQpOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBjb2xvcjp2YXIoLS1hY2NlbnQp
OyBib3JkZXItcmFkaXVzOjk5OXB4OyBwYWRkaW5nOjNweCAxMHB4OyBmb250LXNpemU6MTFweDsgZm9udC13ZWlnaHQ6NzAwOyBjdXJzb3I6cG9pbnRlcjsg
Zm9udC1mYW1pbHk6aW5oZXJpdDsgd2hpdGUtc3BhY2U6bm93cmFwOyB9CiAgLnN0cmVhayBiIHsgZGlzcGxheTpibG9jazsgZm9udC1zaXplOjE4cHg7IGNv
bG9yOnZhcigtLWdvbGQpOyB9CgogIC5zY3JlZW4geyBkaXNwbGF5Om5vbmU7IGFuaW1hdGlvbjpwb3AgLjI1cyBlYXNlOyB9CiAgLnNjcmVlbi5hY3RpdmUg
eyBkaXNwbGF5OmJsb2NrOyB9CiAgQGtleWZyYW1lcyBwb3AgeyBmcm9tIHsgb3BhY2l0eTowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KSBzY2FsZSgu
OTgpO30gdG8geyBvcGFjaXR5OjE7IHRyYW5zZm9ybTpub25lOyB9IH0KICBoMSB7IGZvbnQtc2l6ZToyM3B4OyBtYXJnaW4tYm90dG9tOjJweDsgfQogIC5z
dWJ0aXRsZSB7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjEzcHg7IG1hcmdpbi1ib3R0b206MTRweDsgfQoKICAvKiBNQVAgKi8KICAubWFwLWdy
aWQgeyBkaXNwbGF5OmdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyOyBnYXA6MTBweDsgfQogIEBtZWRpYSAobWluLXdpZHRoOjUyMHB4KSB7
IC5tYXAtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyIDFmcjsgfSB9CiAgLmxjYXJkIHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgYm9y
ZGVyLXJhZGl1czoxNnB4OyBwYWRkaW5nOjE0cHggMTJweDsgY3Vyc29yOnBvaW50ZXI7IGJvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zaXRp
b246YWxsIC4xNXM7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CiAgLmxjYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOnZhcigtLWFjY2VudDIpOyB0cmFuc2Zvcm06
dHJhbnNsYXRlWSgtMnB4KTsgfQogIC5sY2FyZCAubG51bSB7IGZvbnQtc2l6ZToxMHB4OyBmb250LXdlaWdodDo4MDA7IGNvbG9yOnZhcigtLW11dGVkKTsg
bGV0dGVyLXNwYWNpbmc6MXB4OyB9CiAgLmxjYXJkIC5sZW1vamkgeyBmb250LXNpemU6MzBweDsgbWFyZ2luOjRweCAwOyB9CiAgLmxjYXJkIC5sa3IgeyBm
b250LXNpemU6MTdweDsgZm9udC13ZWlnaHQ6ODAwOyB9CiAgLmxjYXJkIC5sZW4geyBmb250LXNpemU6MTFweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyB9CiAg
LmxjYXJkIC5sc3RhcnMgeyBtYXJnaW4tdG9wOjZweDsgZm9udC1zaXplOjEycHg7IGxldHRlci1zcGFjaW5nOjFweDsgfQogIC5sY2FyZCAubHByb2cgeyBo
ZWlnaHQ6NXB4OyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEwKTsgYm9yZGVyLXJhZGl1czo0cHg7IG1hcmdpbi10b3A6NnB4OyBvdmVyZmxvdzpoaWRkZW47
IH0KICAubGNhcmQgLmxwcm9nIGkgeyBkaXNwbGF5OmJsb2NrOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZDp2YXIoLS1ncmVlbik7IGJvcmRlci1yYWRpdXM6
NHB4OyB9CgogIC8qIExFU1NPTiBoZWFkZXIgKyB0YWJzICovCiAgLmxoZWFkIHsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGdhcDoxMHB4
OyBtYXJnaW4tYm90dG9tOjEycHg7IH0KICAuYmFjayB7IGN1cnNvcjpwb2ludGVyOyBjb2xvcjp2YXIoLS1nb2xkKTsgZm9udC1zaXplOjE1cHg7IGJhY2tn
cm91bmQ6dmFyKC0tY2FyZCk7IGJvcmRlcjoycHggc29saWQgdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OjgwMDsgcGFkZGluZzoxMHB4IDE1cHg7IGJvcmRl
ci1yYWRpdXM6MTJweDsgbWluLWhlaWdodDo0NHB4OyBkaXNwbGF5OmlubGluZS1mbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpj
ZW50ZXI7IGdhcDo2cHg7IHdoaXRlLXNwYWNlOm5vd3JhcDsgZmxleDpub25lOyB9CiAgLmxoZWFkIC50IHsgZmxleDoxOyB9CiAgLmxoZWFkIC50IGIgeyBm
b250LXNpemU6MThweDsgZGlzcGxheTpibG9jazsgfQogIC5saGVhZCAudCBzcGFuIHsgZm9udC1zaXplOjExLjVweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyB9
CiAgLnRhYnMgeyBkaXNwbGF5OmZsZXg7IGdhcDo2cHg7IG1hcmdpbi1ib3R0b206MTRweDsgb3ZlcmZsb3cteDphdXRvOyBwYWRkaW5nLWJvdHRvbToycHg7
IH0KICAudGFiIHsgZmxleDoxOyBtaW4td2lkdGg6NzBweDsgcGFkZGluZzo5cHggNHB4OyBib3JkZXItcmFkaXVzOjEycHg7IGJvcmRlcjoycHggc29saWQg
I0Q5QzlBODsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgY29sb3I6dmFyKC0tbXV0ZWQpOyBmb250LXdlaWdodDo4MDA7IGZvbnQtc2l6ZToxMnB4OyBjdXJz
b3I6cG9pbnRlcjsgdGV4dC1hbGlnbjpjZW50ZXI7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfQogIC50YWIub24geyBib3JkZXItY29sb3I6dmFyKC0tYWNjZW50
KTsgY29sb3I6dmFyKC0tdGV4dCk7IGJhY2tncm91bmQ6I0IwM0EyRTFhOyB9CgogIC8qIExFQVJOIGNhcmQgKi8KICAud2NhcmQgeyBiYWNrZ3JvdW5kOnZh
cigtLWNhcmQpOyBib3JkZXItcmFkaXVzOjIycHg7IHBhZGRpbmc6MjRweCAxOHB4IDE4cHg7IHRleHQtYWxpZ246Y2VudGVyOyBib3gtc2hhZG93OjAgNHB4
IDI0cHggcmdiYSgwLDAsMCwuMTApOyB9CiAgLndjYXJkIC53ZW1vamkgeyBmb250LXNpemU6NjRweDsgbGluZS1oZWlnaHQ6MS4xOyBmaWx0ZXI6ZHJvcC1z
aGFkb3coMCA2cHggMTRweCAjMDAwMDAwNjYpOyB9CiAgLndjYXJkIC53a3IgeyBmb250LXNpemU6MzJweDsgZm9udC13ZWlnaHQ6ODAwOyBtYXJnaW4tdG9w
OjhweDsgY3Vyc29yOnBvaW50ZXI7IH0KICAud2NhcmQgLndybyB7IGZvbnQtc2l6ZToxM3B4OyBjb2xvcjp2YXIoLS1hY2NlbnQyKTsgbWFyZ2luLXRvcDoy
cHg7IH0KICAud2NhcmQgLndtZWFuIHsgZm9udC1zaXplOjE4cHg7IGZvbnQtd2VpZ2h0OjcwMDsgY29sb3I6dmFyKC0tZ29sZCk7IG1hcmdpbi10b3A6MTBw
eDsgfQogIC53Y2FyZCAud3ZpIHsgZm9udC1zaXplOjEzcHg7IGNvbG9yOnZhcigtLW11dGVkKTsgbWFyZ2luLXRvcDoycHg7IH0KICAud2NhcmQgLndleCB7
IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDYpOyBib3JkZXItcmFkaXVzOjE0cHg7IHBhZGRpbmc6MTJweDsgbWFyZ2luLXRvcDoxNHB4OyBmb250LXNpemU6
MTVweDsgY3Vyc29yOnBvaW50ZXI7IH0KICAud2NhcmQgLndleCAuZXhlbiB7IGZvbnQtc2l6ZToxMnB4OyBjb2xvcjp2YXIoLS1tdXRlZCk7IGZvbnQtc3R5
bGU6aXRhbGljOyBtYXJnaW4tdG9wOjRweDsgfQogIC5sZWFybi1uYXYgeyBkaXNwbGF5OmZsZXg7IGdhcDo4cHg7IG1hcmdpbi10b3A6MTJweDsgfQogIC5s
ZWFybi1uYXYgLmJ0biB7IGZsZXg6MTsgfQogIC5rbm93IHsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWdyZWVuKSwjMUY1QTM4
KSAhaW1wb3J0YW50OyB9CiAgLmxlYXJuLWNvdW50IHsgdGV4dC1hbGlnbjpjZW50ZXI7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjEycHg7IG1h
cmdpbi10b3A6MTBweDsgfQogIC5zbmRidG4geyBkaXNwbGF5OmlubGluZS1ibG9jazsgYmFja2dyb3VuZDp2YXIoLS1jYXJkMik7IGJvcmRlcjoycHggc29s
aWQgI0Q5QzlBODsgY29sb3I6dmFyKC0tdGV4dCk7IGJvcmRlci1yYWRpdXM6MTJweDsgcGFkZGluZzo3cHggMTRweDsgZm9udC1zaXplOjE0cHg7IGN1cnNv
cjpwb2ludGVyOyBmb250LXdlaWdodDo3MDA7IG1hcmdpbjoxMHB4IDNweCAwOyB9CiAgLnNuZGJ0bjphY3RpdmUgeyB0cmFuc2Zvcm06c2NhbGUoLjk1KTsg
fQoKICAvKiBTVE9SWSAqLwogIC5zdGFnZSB7IGJvcmRlci1yYWRpdXM6MjBweDsgbWluLWhlaWdodDoxNTBweDsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVt
czpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGdhcDoxNHB4OyBwYWRkaW5nOjE4cHg7IG1hcmdpbi1ib3R0b206MTJweDsgYm94LXNoYWRvdzpp
bnNldCAwIC0zMHB4IDQwcHggcmdiYSgwLDAsMCwuMDYpLCAwIDRweCAyMHB4IHJnYmEoMCwwLDAsLjA4KTsgcG9zaXRpb246cmVsYXRpdmU7IG92ZXJmbG93
OmhpZGRlbjsgfQogIC5zdGFnZSAuYWN0b3IgeyBmb250LXNpemU6NDZweDsgYW5pbWF0aW9uOmJvYiAyLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlOyBmaWx0
ZXI6ZHJvcC1zaGFkb3coMCA2cHggMTBweCByZ2JhKDAsMCwwLC4xMCkpOyB9CiAgLnN0YWdlIC5hY3RvcjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVs
YXk6LjRzOyBmb250LXNpemU6NTJweDsgfQogIC5zdGFnZSAuYWN0b3I6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5Oi44czsgfQogIEBrZXlmcmFt
ZXMgYm9iIHsgNTAlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTlweCk7IH0gfQogIC5zdGFnZS5meC1zaGFrZSAuYWN0b3IgeyBhbmltYXRpb246c3RzaGFr
ZSAuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KICBAa2V5ZnJhbWVzIHN0c2hha2UgeyAyNSUgeyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KSByb3Rh
dGUoLTRkZWcpO30gNzUlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KSByb3RhdGUoNGRlZyk7fSB9CiAgLnN0YWdlLmZ4LXJ1biAuYWN0b3I6Zmlyc3Qt
Y2hpbGQgeyBhbmltYXRpb246cnVuYnkgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcnVuYnkgeyAwJSwxMDAlIHsgdHJhbnNm
b3JtOnRyYW5zbGF0ZVgoLTE0cHgpO30gNTAlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTRweCkgcm90YXRlKDZkZWcpO30gfQogIEBtZWRpYSAocHJlZmVy
cy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7IC5zdGFnZSAuYWN0b3IgeyBhbmltYXRpb246bm9uZSAhaW1wb3J0YW50OyB9IH0KICAuYmctZGF3biB7IGJh
Y2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMmIxYTRhLCNiODVjN2EpOyB9CiAgLmJnLWRheSB7IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50
KDE4MGRlZywjMWQzNTU3LCM0NTdiOWQpOyB9CiAgLmJnLW5pZ2h0IHsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMwYjBkMmEsIzJiMmQ2
ZSk7IH0KICAuYmctaW5kb29yIHsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMzYTJlMmEsIzZiNGYzYSk7IH0KICAuYmctZmVzdGl2ZSB7
IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjNGExOTQyLCM4ZjJkNTYpOyB9CiAgLmJnLW5hdHVyZSB7IGJhY2tncm91bmQ6bGluZWFyLWdy
YWRpZW50KDE4MGRlZywjMTQ0MzJhLCMzYTdkNDQpOyB9CiAgLmJnLWNpdHkgeyBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzIzMjk0Niwj
NWY2YzhhKTsgfQogIC5iZy1zaG9wIHsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCM0MDM1NmIsIzdhNWNhMyk7IH0KICAuc3QtbmFyIHsg
YmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgYm9yZGVyLXJhZGl1czoxNHB4OyBwYWRkaW5nOjEycHggMTRweDsgZm9udC1zaXplOjEzLjVweDsgbGluZS1oZWln
aHQ6MS41OyBjb2xvcjp2YXIoLS10ZXh0KTsgbWFyZ2luLWJvdHRvbToxMHB4OyBib3JkZXItbGVmdDozcHggc29saWQgdmFyKC0tZ29sZCk7IH0KICAuYnVi
YmxlIHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkMik7IGJvcmRlci1yYWRpdXM6MTZweCAxNnB4IDE2cHggNHB4OyBwYWRkaW5nOjEycHggMTRweDsgbWFyZ2lu
LWJvdHRvbToxMnB4OyBjdXJzb3I6cG9pbnRlcjsgfQogIC5idWJibGUgLndobyB7IGZvbnQtc2l6ZToxMnB4OyBjb2xvcjp2YXIoLS1hY2NlbnQyKTsgZm9u
dC13ZWlnaHQ6ODAwOyB9CiAgLmJ1YmJsZSAuYmtyIHsgZm9udC1zaXplOjE4cHg7IGZvbnQtd2VpZ2h0OjcwMDsgbWFyZ2luLXRvcDozcHg7IH0KICAuYnVi
YmxlIC5iZW4geyBmb250LXNpemU6MTJweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOml0YWxpYzsgbWFyZ2luLXRvcDozcHg7IH0KICAuc3Qt
ZG90cyB7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOjEycHg7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjEzcHg7IGxldHRlci1zcGFj
aW5nOjNweDsgfQogIC5hbnMgLmFlbiB7IGZvbnQtc2l6ZToxMS41cHg7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC13ZWlnaHQ6NDAwOyBtYXJnaW4tdG9w
OjJweDsgfQoKICAvKiBUQUxLIChjb252ZXJzYXRpb24pICovCiAgLmNoYXQgeyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOjhw
eDsgbWluLWhlaWdodDoxNDBweDsgbWFyZ2luLWJvdHRvbToxMHB4OyB9CiAgLm1zZyB7IG1heC13aWR0aDo4NiU7IHBhZGRpbmc6MTBweCAxM3B4OyBib3Jk
ZXItcmFkaXVzOjE2cHg7IGZvbnQtc2l6ZToxNS41cHg7IGxpbmUtaGVpZ2h0OjEuNDU7IGFuaW1hdGlvbjpwb3AgLjI1cyBlYXNlOyB9CiAgLm1zZyAubWVu
IHsgZm9udC1zaXplOjExLjVweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOml0YWxpYzsgbWFyZ2luLXRvcDozcHg7IH0KICAubXNnLm5wYyB7
IGJhY2tncm91bmQ6dmFyKC0tY2FyZDIpOyBhbGlnbi1zZWxmOmZsZXgtc3RhcnQ7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4OyBjdXJzb3I6cG9p
bnRlcjsgfQogIC5tc2cubnBjIC53aG8geyBmb250LXNpemU6MTFweDsgY29sb3I6dmFyKC0tYWNjZW50Mik7IGZvbnQtd2VpZ2h0OjgwMDsgbWFyZ2luLWJv
dHRvbToycHg7IH0KICAubXNnLm1lIHsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNCMDNBMkUyZSwjOEMyQjIxM2QpOyBib3JkZXI6MXB4
IHNvbGlkICNCMDNBMkU1NTsgYWxpZ24tc2VsZjpmbGV4LWVuZDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4OyB9CiAgLm1zZy5tZSAuc2NvcmUg
eyBmb250LXNpemU6MTEuNXB4OyBjb2xvcjp2YXIoLS1ncmVlbik7IGZvbnQtd2VpZ2h0OjgwMDsgbWFyZ2luLXRvcDozcHg7IH0KICAubXNnLnN5cyB7IGFs
aWduLXNlbGY6Y2VudGVyOyBiYWNrZ3JvdW5kOm5vbmU7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjEycHg7IH0KICAubXNnLnR5cGluZyBzcGFu
IHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGFuaW1hdGlvbjpibGluayAxcyBpbmZpbml0ZTsgfQogIC5tc2cudHlwaW5nIHNwYW46bnRoLWNoaWxkKDIpIHsg
YW5pbWF0aW9uLWRlbGF5Oi4yczsgfSAubXNnLnR5cGluZyBzcGFuOm50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTouNHM7IH0KICBAa2V5ZnJhbWVz
IGJsaW5rIHsgNTAlIHsgb3BhY2l0eTouMjsgfSB9CiAgLm1hc2tlZCB7IGNvbG9yOnZhcigtLWFjY2VudDIpOyBmb250LXdlaWdodDo3MDA7IH0KICAudGst
dGFzayB7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDYpOyBib3JkZXI6MXB4IGRhc2hlZCAjRDlDOUE4OyBib3JkZXItcmFkaXVzOjEycHg7IHBhZGRpbmc6
MTBweCAxMnB4OyBmb250LXNpemU6MTMuNXB4OyBtYXJnaW4tYm90dG9tOjEwcHg7IGxpbmUtaGVpZ2h0OjEuNTsgfQogIC50ay10YXNrIC5oaW50bGluZSB7
IG1hcmdpbi10b3A6NnB4OyBmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6NzAwOyB9CiAgLnRrLWNvbnRyb2xzIHsgZGlzcGxheTpmbGV4OyBhbGlnbi1p
dGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGdhcDoxNHB4OyBtYXJnaW4tdG9wOjJweDsgfQogIC50ay1taWMgeyB3aWR0aDo2NHB4OyBo
ZWlnaHQ6NjRweDsgZm9udC1zaXplOjI2cHg7IG1hcmdpbi10b3A6MDsgfQoKICAvKiBHUkFNTUFSICovCiAgLmdjYXJkIHsgYmFja2dyb3VuZDp2YXIoLS1j
YXJkKTsgYm9yZGVyLXJhZGl1czoxOHB4OyBwYWRkaW5nOjE4cHg7IG1hcmdpbi1ib3R0b206MTJweDsgfQogIC5ncGF0IHsgZm9udC1zaXplOjIycHg7IGZv
bnQtd2VpZ2h0OjgwMDsgY29sb3I6dmFyKC0tYWNjZW50Mik7IH0KICAuZ21lYW4geyBmb250LXNpemU6MTRweDsgY29sb3I6dmFyKC0tZ29sZCk7IGZvbnQt
d2VpZ2h0OjcwMDsgbWFyZ2luLXRvcDozcHg7IH0KICAuZ3ZpIHsgZm9udC1zaXplOjEycHg7IGNvbG9yOnZhcigtLW11dGVkKTsgfQogIC5nbm90ZSB7IGZv
bnQtc2l6ZToxM3B4OyBjb2xvcjp2YXIoLS10ZXh0KTsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNik7IGJvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1h
Y2NlbnQpOyBib3JkZXItcmFkaXVzOjhweDsgcGFkZGluZzoxMHB4IDEycHg7IG1hcmdpbi10b3A6MTBweDsgbGluZS1oZWlnaHQ6MS41OyB9CiAgLmdleCB7
IG1hcmdpbi10b3A6MTBweDsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCk7IGJvcmRlci1yYWRpdXM6MTJweDsgcGFkZGluZzoxMHB4IDEycHg7IGN1cnNv
cjpwb2ludGVyOyB9CiAgLmdleCAuayB7IGZvbnQtc2l6ZToxNS41cHg7IGZvbnQtd2VpZ2h0OjYwMDsgfQogIC5nZXggLmUgeyBmb250LXNpemU6MTJweDsg
Y29sb3I6dmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOml0YWxpYzsgbWFyZ2luLXRvcDoycHg7IH0KICAuZ2V4IC5zcGsgeyBjb2xvcjp2YXIoLS1hY2NlbnQy
KTsgZm9udC1zaXplOjEycHg7IH0KCiAgLyogU1BFQUsgKi8KICAuc2NhcmQgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQpOyBib3JkZXItcmFkaXVzOjIwcHg7
IHBhZGRpbmc6MjJweCAxOHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgfQogIC5zY2FyZCAuc2tyIHsgZm9udC1zaXplOjI0cHg7IGZvbnQtd2VpZ2h0OjgwMDsg
bGluZS1oZWlnaHQ6MS40OyB9CiAgLnNjYXJkIC5zZW4geyBmb250LXNpemU6MTNweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOml0YWxpYzsg
bWFyZ2luLXRvcDo2cHg7IH0KICAubWljIHsgd2lkdGg6ODRweDsgaGVpZ2h0Ojg0cHg7IGJvcmRlci1yYWRpdXM6NTAlOyBib3JkZXI6bm9uZTsgZm9udC1z
aXplOjM2cHg7IG1hcmdpbi10b3A6MTZweDsgY3Vyc29yOnBvaW50ZXI7IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQp
LCM4QzJCMjEpOyBjb2xvcjojZmZmOyBib3gtc2hhZG93OjAgNnB4IDI0cHggI0IwM0EyRTU1OyB0cmFuc2l0aW9uOmFsbCAuMnM7IH0KICAubWljLmxpc3Rl
bmluZyB7IGFuaW1hdGlvbjpwdWxzZTIgMXMgaW5maW5pdGU7IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1yZWQpLCM4RjFGMUYp
OyB9CiAgQGtleWZyYW1lcyBwdWxzZTIgeyA1MCUgeyB0cmFuc2Zvcm06c2NhbGUoMS4xKTsgYm94LXNoYWRvdzowIDAgMCAxOHB4ICNDRjJFMkUyMjsgfSB9
CiAgLnNyZXN1bHQgeyBtaW4taGVpZ2h0OjQ0cHg7IG1hcmdpbi10b3A6MTJweDsgZm9udC1zaXplOjE1cHg7IGZvbnQtd2VpZ2h0OjcwMDsgfQogIC5zcmVz
dWx0IC5oZWFyZCB7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjQwMDsgbWFyZ2luLXRvcDozcHg7IH0KICAuc2Vs
ZmdyYWRlIHsgZGlzcGxheTpub25lOyBnYXA6OHB4OyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBtYXJnaW4tdG9wOjEwcHg7IH0KICAuc3BrLWRpZmYgeyBm
b250LXNpemU6MjRweDsgZm9udC13ZWlnaHQ6ODAwOyBsaW5lLWhlaWdodDoxLjY7IG1hcmdpbi10b3A6OHB4OyBsZXR0ZXItc3BhY2luZzoxcHg7IH0KICAu
c3lsLW9rIHsgY29sb3I6dmFyKC0tZ3JlZW4pOyB9CiAgLnN5bC1iYWQgeyBjb2xvcjp2YXIoLS1yZWQpOyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRv
dHRlZDsgY3Vyc29yOnBvaW50ZXI7IH0KICAubWljLWhpbnQgeyBmb250LXNpemU6MTFweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBtYXJnaW4tdG9wOjZweDsg
fQogIC5maXhsaW5lIHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkMik7IGJvcmRlcjoxcHggc29saWQgI0Q5QzlBODsgYm9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZh
cigtLXJlZCk7IGJvcmRlci1yYWRpdXM6MTBweDsgcGFkZGluZzo5cHggMTFweDsgbWFyZ2luLXRvcDo3cHg7IGZvbnQtc2l6ZToxM3B4OyBsaW5lLWhlaWdo
dDoxLjU7IGN1cnNvcjpwb2ludGVyOyB0ZXh0LWFsaWduOmxlZnQ7IH0KICAuZml4bGluZSBiIHsgZm9udC1zaXplOjE2cHg7IH0KICAuc2F5cm93IHsgZGlz
cGxheTpmbGV4OyBnYXA6OHB4OyBtYXJnaW4tdG9wOjEycHg7IGFsaWduLWl0ZW1zOnN0cmV0Y2g7IH0KICAuc2F5YnRuIHsgZmxleDoxOyBtYXJnaW46MDsg
cGFkZGluZzoxNHB4IDE2cHg7IGZvbnQtc2l6ZToxNS41cHg7IGJvcmRlci1yYWRpdXM6MTRweDsgfQogIC5zYXlyb3cgLnNuZGJ0biB7IG1hcmdpbjowOyB9
CiAgLnNheWJ0bi5zdG9wbW9kZSB7IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1yZWQpLCM4RjFGMUYpOyBhbmltYXRpb246cHVs
c2UyIDFzIGluZmluaXRlOyB9CgogIC8qIERBSUxZIEdPQUxTICYgQUNISUVWRU1FTlRTICovCiAgLmRhaWx5IHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsg
Ym9yZGVyOjJweCBzb2xpZCAjQjA3RDI4NDQ7IGJvcmRlci1yYWRpdXM6MTZweDsgcGFkZGluZzoxNHB4IDE2cHg7IG1hcmdpbi1ib3R0b206MTRweDsgfQog
IC5kYWlseSBoMyB7IGZvbnQtc2l6ZToxMy41cHg7IGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGZsZXgtd3JhcDp3cmFw
OyBnYXA6NHB4OyB9CiAgLmRhaWx5IGgzIC5zdHJlYWtsYmwgeyBjb2xvcjp2YXIoLS1nb2xkKTsgZm9udC1zaXplOjEycHg7IH0KICAuZ29hbCB7IGRpc3Bs
YXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6OHB4OyBmb250LXNpemU6MTNweDsgbWFyZ2luLXRvcDo5cHg7IGNvbG9yOnZhcigtLW11dGVkKTsg
fQogIC5nb2FsLmRvbmUgeyBjb2xvcjp2YXIoLS1ncmVlbik7IH0KICAuZ29hbCAuZ2xhYmVsIHsgZmxleDoxOyB9CiAgLmdvYWwgLmJhciB7IHdpZHRoOjcw
cHg7IGhlaWdodDo2cHg7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDYpOyBib3JkZXItcmFkaXVzOjRweDsgb3ZlcmZsb3c6aGlkZGVuOyBmbGV4Om5vbmU7
IH0KICAuZ29hbCAuYmFyIGkgeyBkaXNwbGF5OmJsb2NrOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZDp2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czo0cHg7
IH0KICAuZ29hbC5kb25lIC5iYXIgaSB7IGJhY2tncm91bmQ6dmFyKC0tZ3JlZW4pOyB9CiAgLmNsYWltYnRuIHsgbWFyZ2luOjEycHggMCAwOyB3aWR0aDox
MDAlOyBwYWRkaW5nOjExcHg7IGZvbnQtc2l6ZToxNHB4OyB9CiAgLmFjaHJvdyB7IGZvbnQtc2l6ZToxOXB4OyBsZXR0ZXItc3BhY2luZzozcHg7IG1hcmdp
bi10b3A6MTBweDsgfQogIC5hY2hyb3cgLmFjaGNvdW50IHsgZm9udC1zaXplOjEycHg7IGNvbG9yOnZhcigtLW11dGVkKTsgbGV0dGVyLXNwYWNpbmc6MDsg
bWFyZ2luLXJpZ2h0OjRweDsgfQogIC5wcm9nbGluZSB7IGZvbnQtc2l6ZToxMS41cHg7IGNvbG9yOnZhcigtLW11dGVkKTsgbWFyZ2luLXRvcDo3cHg7IH0K
ICAjc3BrUGxheWJhY2sgeyBkaXNwbGF5Om5vbmU7IG1hcmdpbi10b3A6MTBweDsgfQoKICAvKiBQTEFZIHRhYiAqLwogIC5tb2RlcyB7IGRpc3BsYXk6Z3Jp
ZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7IGdhcDoxMHB4OyB9CiAgLm1vZGUgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQpOyBib3JkZXItcmFk
aXVzOjE2cHg7IHBhZGRpbmc6MTZweCAxNHB4OyBjdXJzb3I6cG9pbnRlcjsgYm9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNpdGlvbjphbGwg
LjE1czsgcG9zaXRpb246cmVsYXRpdmU7IH0KICAubW9kZTpob3ZlciB7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpOyBib3JkZXItY29sb3I6dmFyKC0t
YWNjZW50KTsgfQogIC5tb2RlIC5lbW9qaSB7IGZvbnQtc2l6ZTozMHB4OyB9CiAgLm1vZGUgaDMgeyBmb250LXNpemU6MTRweDsgbWFyZ2luOjZweCAwIDNw
eDsgfQogIC5tb2RlIHAgeyBmb250LXNpemU6MTFweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBsaW5lLWhlaWdodDoxLjQ7IH0KCiAgLyogR0FNRVMgc2hhcmVk
ICovCiAgLmdhbWViYXIgeyBkaXNwbGF5OmZsZXg7IGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczpjZW50ZXI7IG1hcmdpbi1i
b3R0b206MTRweDsgZm9udC13ZWlnaHQ6NzAwOyBnYXA6OHB4OyB9CiAgLnRpbWVyIHsgZm9udC1zaXplOjE4cHg7IGNvbG9yOnZhcigtLWFjY2VudDIpOyBm
b250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7IH0KICAudGltZXIubG93IHsgY29sb3I6dmFyKC0tcmVkKTsgYW5pbWF0aW9uOnB1bHNlIC41cyBp
bmZpbml0ZSBhbHRlcm5hdGU7IH0KICBAa2V5ZnJhbWVzIHB1bHNlIHsgdG8geyB0cmFuc2Zvcm06c2NhbGUoMS4xNSk7IH0gfQogIC5zY29yZS1waWxsIHsg
YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7IHBhZGRpbmc6NnB4IDEzcHg7IGJvcmRlci1yYWRpdXM6MjBweDsgZm9udC1zaXplOjEzcHg7IHdoaXRlLXNwYWNl
Om5vd3JhcDsgfQogIC5jb21ibyB7IGNvbG9yOnZhcigtLWdvbGQpOyBmb250LXNpemU6MTJweDsgbWFyZ2luLWxlZnQ6NXB4OyB9CiAgLnF1ZXN0aW9uLWNh
cmQgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQpOyBib3JkZXItcmFkaXVzOjE4cHg7IHBhZGRpbmc6MjJweCAxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgbWFy
Z2luLWJvdHRvbToxNHB4OyBib3gtc2hhZG93OjAgNHB4IDIwcHggcmdiYSgwLDAsMCwuMDgpOyB9CiAgLnEtbGFiZWwgeyBmb250LXNpemU6MTAuNXB4OyBj
b2xvcjp2YXIoLS1tdXRlZCk7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6MXB4OyBtYXJnaW4tYm90dG9tOjhweDsgfQogIC5x
LXdvcmQgeyBmb250LXNpemU6MjhweDsgZm9udC13ZWlnaHQ6ODAwOyBsaW5lLWhlaWdodDoxLjM7IH0KICAucS1oaW50IHsgZm9udC1zaXplOjEycHg7IGNv
bG9yOnZhcigtLW11dGVkKTsgbWFyZ2luLXRvcDo2cHg7IH0KICAuYW5zd2VycyB7IGRpc3BsYXk6Z3JpZDsgZ2FwOjlweDsgfQogIC5hbnMgeyBiYWNrZ3Jv
dW5kOnZhcigtLWNhcmQyKTsgYm9yZGVyOjJweCBzb2xpZCAjRDlDOUE4OyBib3JkZXItcmFkaXVzOjEzcHg7IHBhZGRpbmc6MTNweCAxNXB4OyBmb250LXNp
emU6MTZweDsgZm9udC13ZWlnaHQ6NjAwOyBjb2xvcjp2YXIoLS10ZXh0KTsgY3Vyc29yOnBvaW50ZXI7IHRleHQtYWxpZ246bGVmdDsgdHJhbnNpdGlvbjph
bGwgLjEyczsgd2lkdGg6MTAwJTsgfQogIC5hbnMuY29ycmVjdCB7IGJhY2tncm91bmQ6IzJGN0Q0RjMzOyBib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pOyB9
CiAgLmFucy53cm9uZyB7IGJhY2tncm91bmQ6I0NGMkUyRTMzOyBib3JkZXItY29sb3I6dmFyKC0tcmVkKTsgYW5pbWF0aW9uOnNoYWtlIC4zczsgfQogIEBr
ZXlmcmFtZXMgc2hha2UgeyAyNSUgeyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KTt9IDc1JSB7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCk7fSB9Cgog
IC5tYXRjaC1ncmlkIHsgZGlzcGxheTpncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjsgZ2FwOjlweDsgfQogIC50aWxlIHsgYmFja2dyb3Vu
ZDp2YXIoLS1jYXJkMik7IGJvcmRlcjoycHggc29saWQgI0Q5QzlBODsgYm9yZGVyLXJhZGl1czoxM3B4OyBwYWRkaW5nOjE0cHggOHB4OyBmb250LXNpemU6
MTVweDsgZm9udC13ZWlnaHQ6NzAwOyBjdXJzb3I6cG9pbnRlcjsgdGV4dC1hbGlnbjpjZW50ZXI7IHRyYW5zaXRpb246YWxsIC4xNXM7IG1pbi1oZWlnaHQ6
NThweDsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IH0KICAudGlsZS5zZWwgeyBib3JkZXItY29s
b3I6dmFyKC0tZ29sZCk7IGJhY2tncm91bmQ6I0IwN0QyODIyOyB0cmFuc2Zvcm06c2NhbGUoMS4wNCk7IH0KICAudGlsZS5kb25lIHsgb3BhY2l0eTowOyBw
b2ludGVyLWV2ZW50czpub25lOyB0cmFuc2Zvcm06c2NhbGUoLjgpOyB9CiAgLnRpbGUuYmFkIHsgYm9yZGVyLWNvbG9yOnZhcigtLXJlZCk7IGJhY2tncm91
bmQ6I0NGMkUyRTMzOyBhbmltYXRpb246c2hha2UgLjNzOyB9CgogIC5idWlsZC10YXJnZXQgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQpOyBib3JkZXItcmFk
aXVzOjE1cHg7IHBhZGRpbmc6MTZweDsgdGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbi1ib3R0b206MTJweDsgfQogIC5idWlsZC1lbiB7IGZvbnQtc2l6ZTox
N3B4OyBmb250LXdlaWdodDo3MDA7IH0KICAuYnVpbGQtc2xvdCB7IG1pbi1oZWlnaHQ6NjBweDsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNik7IGJvcmRl
cjoycHggZGFzaGVkICNEOUM5QTg7IGJvcmRlci1yYWRpdXM6MTNweDsgcGFkZGluZzo5cHg7IGRpc3BsYXk6ZmxleDsgZmxleC13cmFwOndyYXA7IGdhcDo3
cHg7IG1hcmdpbi1ib3R0b206MTJweDsgYWxpZ24taXRlbXM6Y2VudGVyOyB9CiAgLmJ1aWxkLXBvb2wgeyBkaXNwbGF5OmZsZXg7IGZsZXgtd3JhcDp3cmFw
OyBnYXA6N3B4OyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyB9CiAgLndvcmRjaGlwIHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkMik7IGJvcmRlcjoycHggc29s
aWQgI0Q5QzlBODsgYm9yZGVyLXJhZGl1czoxMXB4OyBwYWRkaW5nOjlweCAxM3B4OyBmb250LXNpemU6MTdweDsgZm9udC13ZWlnaHQ6NzAwOyBjdXJzb3I6
cG9pbnRlcjsgdHJhbnNpdGlvbjphbGwgLjEyczsgfQogIC53b3JkY2hpcC5wbGFjZWQgeyBiYWNrZ3JvdW5kOiMxRTdBNUYyMjsgYm9yZGVyLWNvbG9yOnZh
cigtLWFjY2VudDIpOyBvcGFjaXR5Oi40OyB9CgogIC5ib3NzLWFyZW5hIHsgdGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbi1ib3R0b206MTJweDsgfQogIC5i
b3NzLXNwcml0ZSB7IGZvbnQtc2l6ZTo1NnB4OyBkaXNwbGF5OmlubGluZS1ibG9jazsgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE1czsgfQogIC5ib3NzLXNw
cml0ZS5oaXQgeyBhbmltYXRpb246Ym9zc2hpdCAuMzVzOyB9CiAgQGtleWZyYW1lcyBib3NzaGl0IHsgMzAlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEw
cHgpIHJvdGF0ZSgtOGRlZyk7IGZpbHRlcjpicmlnaHRuZXNzKDIpO30gNjAlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoOHB4KTt9IH0KICAuaHBiYXIgeyBo
ZWlnaHQ6MTRweDsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMCk7IGJvcmRlci1yYWRpdXM6OHB4OyBvdmVyZmxvdzpoaWRkZW47IG1hcmdpbjo3cHggYXV0
bzsgbWF4LXdpZHRoOjMwMHB4OyBib3JkZXI6MXB4IHNvbGlkICNEOUM5QTg7IH0KICAuaHBmaWxsIHsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQ6bGluZWFy
LWdyYWRpZW50KDkwZGVnLHZhcigtLXJlZCksI0QwNkE1MCk7IHRyYW5zaXRpb246d2lkdGggLjRzOyB9CiAgLmJvc3MtbmFtZSB7IGZvbnQtc2l6ZToxMnB4
OyBjb2xvcjp2YXIoLS1tdXRlZCk7IGZvbnQtd2VpZ2h0OjcwMDsgfQogIC5oZWFydHMgeyBmb250LXNpemU6MjBweDsgbGV0dGVyLXNwYWNpbmc6M3B4OyBt
YXJnaW4tdG9wOjRweDsgfQoKICAucmVzdWx0LWNhcmQgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQpOyBib3JkZXItcmFkaXVzOjIycHg7IHBhZGRpbmc6MzJw
eCAyMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgfQogIC5yZXN1bHQtZW1vamkgeyBmb250LXNpemU6NTZweDsgfQogIC5yZXN1bHQtdGl0bGUgeyBmb250LXNp
emU6MjRweDsgZm9udC13ZWlnaHQ6ODAwOyBtYXJnaW46OHB4IDAgNHB4OyB9CiAgLnJlc3VsdC1zdGF0cyB7IGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250
ZW50OmNlbnRlcjsgZ2FwOjIycHg7IG1hcmdpbjoxOHB4IDA7IH0KICAucnN0YXQgYiB7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToyNHB4OyBjb2xvcjp2
YXIoLS1nb2xkKTsgfQogIC5yc3RhdCBzcGFuIHsgZm9udC1zaXplOjEwLjVweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNh
c2U7IGxldHRlci1zcGFjaW5nOjFweDsgfQogIC5idG4geyBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSwjOEMyQjIx
KTsgY29sb3I6I2ZmZjsgYm9yZGVyOm5vbmU7IHBhZGRpbmc6MTNweCAyNHB4OyBib3JkZXItcmFkaXVzOjEzcHg7IGZvbnQtc2l6ZToxNXB4OyBmb250LXdl
aWdodDo4MDA7IGN1cnNvcjpwb2ludGVyOyB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzOyBtYXJnaW46M3B4OyB9CiAgLmJ0bjphY3RpdmUgeyB0cmFuc2Zv
cm06c2NhbGUoLjk2KTsgfQogIC5idG4uZ2hvc3QgeyBiYWNrZ3JvdW5kOnZhcigtLWNhcmQyKTsgYm9yZGVyOjJweCBzb2xpZCAjRDlDOUE4OyB9CgogIC5m
eC1mbG9hdCB7IHBvc2l0aW9uOmZpeGVkOyBmb250LXdlaWdodDo4MDA7IGZvbnQtc2l6ZToyMXB4OyBwb2ludGVyLWV2ZW50czpub25lOyB6LWluZGV4Ojk5
OyBhbmltYXRpb246ZmxvYXR1cCAxcyBlYXNlIGZvcndhcmRzOyB9CiAgQGtleWZyYW1lcyBmbG9hdHVwIHsgdG8geyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgt
NzBweCk7IG9wYWNpdHk6MDsgfSB9CiAgLmxldmVsdXAtYmFubmVyIHsgcG9zaXRpb246Zml4ZWQ7IHRvcDozMCU7IGxlZnQ6NTAlOyB0cmFuc2Zvcm06dHJh
bnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMCk7IGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1nb2xkKSwjRDA2QTUwKTsgY29sb3I6
IzNhMjAwMDsgcGFkZGluZzoxOHB4IDM0cHg7IGJvcmRlci1yYWRpdXM6MThweDsgZm9udC1zaXplOjIycHg7IGZvbnQtd2VpZ2h0OjgwMDsgei1pbmRleDox
MDA7IGFuaW1hdGlvbjpiYW5uZXIgMnMgZWFzZSBmb3J3YXJkczsgYm94LXNoYWRvdzowIDEwcHggNTBweCAjQjA3RDI4ODg7IHdoaXRlLXNwYWNlOm5vd3Jh
cDsgfQogIEBrZXlmcmFtZXMgYmFubmVyIHsgMTUlIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEuMSk7fSAyNSUgeyB0cmFuc2Zv
cm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMSk7fSA4NSUgeyB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMSk7IG9wYWNpdHk6
MTt9IDEwMCUgeyBvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtODAlKSBzY2FsZSgxKTt9IH0KICAuY29uZmV0dGkgeyBwb3NpdGlvbjpm
aXhlZDsgd2lkdGg6MTBweDsgaGVpZ2h0OjEwcHg7IHotaW5kZXg6OTg7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGFuaW1hdGlvbjpmYWxsIGxpbmVhciBmb3J3
YXJkczsgfQogIEBrZXlmcmFtZXMgZmFsbCB7IHRvIHsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTEwdmgpIHJvdGF0ZSg3MjBkZWcpOyB9IH0KCiAgYm9keSB7
IG92ZXJmbG93LXg6IGNsaXA7IH0KICAuaHVkLWhpbnQgeyBkaXNwbGF5OmZsZXg7IGdhcDoxMHB4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBmb250LXNp
emU6MTIuNXB4OyBsaW5lLWhlaWdodDoxLjU7IGNvbG9yOnZhcigtLW11dGVkKTsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgYm9yZGVyLXJhZGl1czoxMnB4
OyBwYWRkaW5nOjlweCAxMnB4OyBtYXJnaW46LTZweCAwIDE0cHg7IH0KICAuaHVkLWhpbnQgYiB7IGNvbG9yOnZhcigtLXRleHQpOyB9CiAgLmh1ZC1oaW50
IGJ1dHRvbiB7IGJhY2tncm91bmQ6bm9uZTsgYm9yZGVyOjA7IGNvbG9yOnZhcigtLW11dGVkKTsgZm9udC1zaXplOjE1cHg7IGN1cnNvcjpwb2ludGVyOyBm
b250LWZhbWlseTppbmhlcml0OyBwYWRkaW5nOjAgMnB4OyBmbGV4Om5vbmU7IH0KICAuYmFjazpub3QoLmJhY2stbGFiZWxsZWQpOjphZnRlciB7IGNvbnRl
bnQ6IkJhY2siOyB9CiAgLmJhY2s6YWN0aXZlIHsgb3BhY2l0eTouNjU7IH0KICAubGVhcm4tbmF2IC5idG4ua25vdyB7IGZsZXg6Mi40OyB3aGl0ZS1zcGFj
ZTpub3dyYXA7IH0KICAgIC5odWQgLmF2YXRhciwgLmh1ZCAuYXZhIHsgd2lkdGg6NDZweDsgaGVpZ2h0OjQ2cHg7IGZvbnQtc2l6ZToyNnB4OyB9CiAgLnNh
eWJ0bi5jaGVja2luZyB7IGJhY2tncm91bmQ6dmFyKC0tbXV0ZWQpOyBhbmltYXRpb246bm9uZTsgb3BhY2l0eTouOTsgfQogIC5zcmVzdWx0Lm1pY0NvYWNo
IHsgZm9udC1zaXplOjE3cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6NzAwOyBjb2xvcjp2YXIoLS10ZXh0KTsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsg
Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czoxNHB4OyBwYWRkaW5nOjEycHggMTRweDsgbWFyZ2luLXRvcDoxMHB4OyBsaW5l
LWhlaWdodDoxLjQ1OyB0ZXh0LWFsaWduOmNlbnRlcjsgfQogIC5zcmVzdWx0Lm1pY0NvYWNoIHNtYWxsIHsgZGlzcGxheTpibG9jazsgZm9udC13ZWlnaHQ6
NTAwOyBmb250LXNpemU6MTNweDsgY29sb3I6dmFyKC0tbXV0ZWQpOyBtYXJnaW4tdG9wOjVweDsgfQogIC5taWNNaXNzIHsgZm9udC1zaXplOjE0LjVweDsg
Zm9udC13ZWlnaHQ6NjAwOyBjb2xvcjp2YXIoLS10ZXh0KTsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKTsgYm9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWNhcmQy
KTsgYm9yZGVyLXJhZGl1czoxMnB4OyBwYWRkaW5nOjExcHggMTNweDsgbWFyZ2luLXRvcDo4cHg7IGxpbmUtaGVpZ2h0OjEuNTsgdGV4dC1hbGlnbjpjZW50
ZXI7IH0KICAubWljVHJ5IHsgZGlzcGxheTpmbGV4OyBnYXA6OHB4OyBmbGV4LXdyYXA6d3JhcDsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgbWFyZ2luLXRv
cDo5cHg7IH0KICAubWljVHJ5IC5zbmRidG4geyBtYXJnaW46MDsgZm9udC1zaXplOjEzLjVweDsgcGFkZGluZzo5cHggMTNweDsgfQogIC5taWNNZXRlciB7
IGhlaWdodDo3cHg7IGJhY2tncm91bmQ6dmFyKC0tY2FyZDIpOyBib3JkZXItcmFkaXVzOjRweDsgb3ZlcmZsb3c6aGlkZGVuOyBtYXJnaW46OHB4IGF1dG8g
MnB4OyBtYXgtd2lkdGg6MjQwcHg7IH0KICAja3FNaWNTaGVldCB7IHBvc2l0aW9uOmZpeGVkOyBpbnNldDowOyB6LWluZGV4OjEwMDAwMjsgYmFja2dyb3Vu
ZDpyZ2JhKDIwLDE0LDQsLjU1KTsgYmFja2Ryb3AtZmlsdGVyOmJsdXIoM3B4KTsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnkt
Y29udGVudDpjZW50ZXI7IHBhZGRpbmc6MjBweDsgfQogIC5rcW1zIHsgd2lkdGg6MTAwJTsgbWF4LXdpZHRoOjUyMHB4OyBiYWNrZ3JvdW5kOiNGNEU5RDU7
IGNvbG9yOiMyQTJBMkE7IGJvcmRlci1yYWRpdXM6MjRweDsgcGFkZGluZzoyNHB4IDIycHggMjZweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGJveC1zaGFkb3c6
MCAxOHB4IDUwcHggcmdiYSgwLDAsMCwuMzIpOyBhbmltYXRpb246a3Ftc1VwIC4yMnMgZWFzZTsgZm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01h
Y1N5c3RlbUZvbnQsIlNlZ29lIFVJIixzYW5zLXNlcmlmOyB9CiAgLmtxbXMtdGFnIHsgZm9udC1zaXplOjEycHg7IGxldHRlci1zcGFjaW5nOjJweDsgZm9u
dC13ZWlnaHQ6ODAwOyBjb2xvcjp2YXIoLS1yZWQpOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAua3Ftcy10YXJnZXQgeyBmb250LXNpemU6NDBw
eDsgZm9udC13ZWlnaHQ6ODAwOyBtYXJnaW4tdG9wOjhweDsgbGluZS1oZWlnaHQ6MS4xNTsgY29sb3I6IzJBMkEyQTsgd29yZC1icmVhazprZWVwLWFsbDsg
fQogIC5rcW1zLXRhcmdldC5zbWFsbCB7IGZvbnQtc2l6ZToyMnB4OyBsaW5lLWhlaWdodDoxLjM7IH0KICAua3Ftcy1oaW50IHsgZm9udC1zaXplOjE0cHg7
IGNvbG9yOiM2YjVkNDM7IG1hcmdpbi10b3A6NnB4OyBsaW5lLWhlaWdodDoxLjQ1OyB9CiAgLmtxbXMgLm1pY01ldGVyIHsgbWF4LXdpZHRoOjMwMHB4OyBo
ZWlnaHQ6MTBweDsgbWFyZ2luOjE2cHggYXV0byAxNHB4OyB9CiAgLmtxbXMtaGVhcmQgeyBtaW4taGVpZ2h0OjU2cHg7IGZvbnQtc2l6ZToyNnB4OyBmb250
LXdlaWdodDo4MDA7IGNvbG9yOiM4NTdhNjM7IGJhY2tncm91bmQ6I0ZCRjZFQTsgYm9yZGVyOjJweCBkYXNoZWQgI0UzRDVCODsgYm9yZGVyLXJhZGl1czox
NnB4OyBwYWRkaW5nOjEycHggMTRweDsgbGluZS1oZWlnaHQ6MS4zOyB3b3JkLWJyZWFrOmtlZXAtYWxsOyB9CiAgLmtxbXMtaGVhcmQub24geyBjb2xvcjoj
MkEyQTJBOyBib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci1jb2xvcjojQzY4RjNFOyB9CiAgLmtxbXMtZm9vdCB7IGZvbnQtc2l6ZToxM3B4OyBjb2xvcjoj
NmI1ZDQzOyBtYXJnaW4tdG9wOjE0cHg7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBnYXA6MTJw
eDsgZmxleC13cmFwOndyYXA7IH0KICAua3Ftcy1zdG9wIHsgYmFja2dyb3VuZDpub25lOyBib3JkZXI6MS41cHggc29saWQgI0UzRDVCODsgYm9yZGVyLXJh
ZGl1czo5OTlweDsgcGFkZGluZzo3cHggMTRweDsgZm9udC1zaXplOjEzcHg7IGNvbG9yOiM2YjVkNDM7IGN1cnNvcjpwb2ludGVyOyBmb250LWZhbWlseTpp
bmhlcml0OyB9CiAgLmtxbXMtcmVzLWVtb2ppIHsgZm9udC1zaXplOjU0cHg7IGxpbmUtaGVpZ2h0OjE7IH0KICAua3Ftcy1yZXMtdGl0bGUgeyBmb250LXNp
emU6MjZweDsgZm9udC13ZWlnaHQ6ODAwOyBtYXJnaW4tdG9wOjhweDsgbGluZS1oZWlnaHQ6MS4yOyB9CiAgLmtxbXMtcmVzLXN1YiB7IGZvbnQtc2l6ZTox
NS41cHg7IGNvbG9yOiM2YjVkNDM7IG1hcmdpbi10b3A6OHB4OyBsaW5lLWhlaWdodDoxLjU7IH0KICAua3Ftcy1yZXMtaGVhcmQgeyBmb250LXNpemU6MjJw
eDsgZm9udC13ZWlnaHQ6ODAwOyBjb2xvcjojMkEyQTJBOyBtYXJnaW4tdG9wOjEwcHg7IHdvcmQtYnJlYWs6a2VlcC1hbGw7IH0KICAua3Ftcy1yZXMtZGlm
ZiB7IGZvbnQtc2l6ZToyNnB4OyBtYXJnaW4tdG9wOjhweDsgfQogIC5rcW1zLWJ0bnMgeyBkaXNwbGF5OmZsZXg7IGdhcDoxMHB4OyBqdXN0aWZ5LWNvbnRl
bnQ6Y2VudGVyOyBtYXJnaW4tdG9wOjE4cHg7IGZsZXgtd3JhcDp3cmFwOyB9CiAgLmtxbXMtYnRucyAuYnRuIHsgbWFyZ2luOjA7IHBhZGRpbmc6MTNweCAy
MHB4OyBmb250LXNpemU6MTVweDsgfQogIC5rcW1zLWJ0bnMgLnNuZGJ0biB7IG1hcmdpbjowOyBmb250LXNpemU6MTRweDsgcGFkZGluZzoxMXB4IDE2cHg7
IH0KICAubWljTWV0ZXIgaSB7IGRpc3BsYXk6YmxvY2s7IGhlaWdodDoxMDAlOyB3aWR0aDowOyBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2
YXIoLS1ncmVlbiksdmFyKC0tZ29sZCkpOyBib3JkZXItcmFkaXVzOjRweDsgdHJhbnNpdGlvbjp3aWR0aCAuMDdzIGxpbmVhcjsgfQogICNrcU1pY0NvYWNo
V3JhcCB7IHBvc2l0aW9uOmZpeGVkOyBpbnNldDowOyB6LWluZGV4OjEwMDAwMDsgYmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEwLC41NSk7IGRpc3BsYXk6Zmxl
eDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBwYWRkaW5nOjIwcHg7IH0KICAua3FNaWNDb2FjaCB7IGJhY2tncm91bmQ6
I0Y0RTlENTsgY29sb3I6IzJBMkEyQTsgYm9yZGVyLXJhZGl1czoyMHB4OyBwYWRkaW5nOjI0cHggMjJweDsgbWF4LXdpZHRoOjQwMHB4OyB3aWR0aDoxMDAl
OyB0ZXh0LWFsaWduOmNlbnRlcjsgYm94LXNoYWRvdzowIDE4cHggNTBweCByZ2JhKDAsMCwwLC4zNSk7IGZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxp
bmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsc2Fucy1zZXJpZjsgfQogIC5rcU1pY0NvYWNoIG9sIHsgdGV4dC1hbGlnbjpsZWZ0OyBmb250LXNpemU6MTUu
NXB4OyBsaW5lLWhlaWdodDoxLjU1OyBtYXJnaW46MTRweCAwIDEwcHg7IHBhZGRpbmctbGVmdDoyMnB4OyB9CiAgLmtxTWljQ29hY2ggbGkgeyBtYXJnaW4t
Ym90dG9tOjhweDsgfQogIC5yZXMtbmV4dCB7IGZvbnQtc2l6ZToxM3B4OyBjb2xvcjp2YXIoLS1tdXRlZCk7IGxpbmUtaGVpZ2h0OjEuNjsgbWFyZ2luOi02
cHggMCAxNHB4OyB9Cgpib2R5LnBhZ2UtaWQtNDUxIGgxLndwLWJsb2NrLXBvc3QtdGl0bGV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDox
cHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwIDAgMCAwKTttYXJnaW46MH0KYm9keS5wYWdlLWlkLTQ1MSBtYWlue21hcmdpbi1ibG9jay1zdGFydDow
ICFpbXBvcnRhbnQ7cGFkZGluZy10b3A6MCAhaW1wb3J0YW50fQpib2R5LnBhZ2UtaWQtNDUxIC5lbnRyeS1jb250ZW50e21hcmdpbi1ibG9jay1zdGFydDow
ICFpbXBvcnRhbnR9CmJvZHkucGFnZS1pZC00NTEgbWFpbj4ud3AtYmxvY2stZ3JvdXAuYWxpZ25mdWxse3BhZGRpbmctdG9wOjEycHggIWltcG9ydGFudDtw
YWRkaW5nLWJvdHRvbTozNnB4ICFpbXBvcnRhbnR9Cgo8L3N0eWxlPgo8ZGl2IGlkPSJrcS1hcHAiPgo8ZGl2IGNsYXNzPSJ3cmFwIj4KCiAgPGRpdiBjbGFz
cz0iaHVkIj4KICAgIDxkaXYgY2xhc3M9ImF2YXRhciI+8J+QgzwvZGl2PgogICAgPGRpdiBjbGFzcz0iaHVkLW1pZCI+CiAgICAgIDxkaXYgY2xhc3M9Imh1
ZC10aXRsZSI+THYgPHNwYW4gaWQ9Imh1ZExldmVsIj4xPC9zcGFuPiDCtyA8c3BhbiBpZD0iaHVkUmFuayI+UGjhu58gRmxlZGdsaW5nPC9zcGFuPjwvZGl2
PgogICAgICA8ZGl2IGNsYXNzPSJ4cGJhciI+PGRpdiBjbGFzcz0ieHBmaWxsIiBpZD0ieHBGaWxsIiBzdHlsZT0id2lkdGg6MCUiPjwvZGl2PjwvZGl2Pgog
ICAgICA8ZGl2IGNsYXNzPSJodWQtc3ViIj48c3BhbiBpZD0iaHVkWHAiPjA8L3NwYW4+IFhQIMK3IDxzcGFuIGlkPSJodWROZXh0Ij4xMDA8L3NwYW4+IHRv
IG5leHQgwrcg8J+TmiA8c3BhbiBpZD0iaHVkV29yZHMiPjA8L3NwYW4+IHdvcmRzPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6
ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjVweDsiPgogICAgICA8ZGl2IGNsYXNzPSJzdHJlYWsiPvCflKU8
YiBpZD0iaHVkU3RyZWFrIj4wPC9iPmRheSBzdHJlYWs8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic3BkYnRuIiBpZD0ic3BkQnRuIiBvbmNsaWNrPSJv
cGVuVm9pY2VTZXQoKSIgdGl0bGU9IkNob29zZSB0aGUgVmlldG5hbWVzZSB2b2ljZSBhbmQgaG93IGZhc3QgaXQgc3BlYWtzIj7wn46ZIFZvaWNlIMK3IOKW
tiBOb3JtYWw8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIE1BUCAtLT4KICA8ZGl2IGNsYXNzPSJodWQtaGludCIgaWQ9Imh1ZEhpbnQi
IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzY3JlZW4gYWN0aXZlIiBpZD0ibWFwIj4KICAgIDxoMT5Ub20ncyBWaWV0bmFt
ZXNlIFF1ZXN0IPCfh7vwn4ezPC9oMT4KICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5SZWFsLWxpZmUgVmlldG5hbWVzZSwgb25lIHF1ZXN0IGF0IGEgdGlt
ZSDigJQgMjQgcXVlc3RzOiB5b3VyIGZpcnN0IFThur90IGluIEjDoCBO4buZaSB3aXRoIHlvdXIgZ3JhbmRtb3RoZXIsIHRoZW4gU8OgaSBHw7JuIHdpdGgg
eW91ciBtb3RoZXIuPC9kaXY+CiAgICA8ZGl2IGlkPSJkYWlseUJveCI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtYXAtZ3JpZCIgaWQ9Im1hcEdyaWQiPjwv
ZGl2PgogIDwvZGl2PgoKICA8IS0tIExFU1NPTiAtLT4KICA8ZGl2IGNsYXNzPSJzY3JlZW4iIGlkPSJsZXNzb24iPgogICAgPGRpdiBjbGFzcz0ibGhlYWQi
PgogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrIiBvbmNsaWNrPSJnb01hcCgpIj7ihpA8L2J1dHRvbj4KICAgICAgPGRpdiBjbGFzcz0idCI+PGIgaWQ9ImxU
aXRsZSI+PC9iPjxzcGFuIGlkPSJsU3ViIj48L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgaWQ9ImxTdGFycyIgc3R5bGU9ImZvbnQtc2l6ZToxNXB4OyI+PC9k
aXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InRhYnMiPgogICAgICA8ZGl2IGNsYXNzPSJ0YWIgb24iIGRhdGEtdGFiPSJsZWFybiIgb25jbGljaz0i
c2V0VGFiKCdsZWFybicpIj7wn5OWIExlYXJuPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRhYiIgZGF0YS10YWI9InN0b3J5IiBvbmNsaWNrPSJzZXRUYWIo
J3N0b3J5JykiPvCfjq0gU3Rvcnk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGFiIiBkYXRhLXRhYj0idGFsayIgb25jbGljaz0ic2V0VGFiKCd0YWxrJyki
PvCfkqwgVGFsazwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0YWIiIGRhdGEtdGFiPSJncmFtbWFyIiBvbmNsaWNrPSJzZXRUYWIoJ2dyYW1tYXInKSI+8J+n
qSBQYXR0ZXJuczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0YWIiIGRhdGEtdGFiPSJzcGVhayIgb25jbGljaz0ic2V0VGFiKCdzcGVhaycpIj7wn5ej77iP
IFNwZWFrPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRhYiIgZGF0YS10YWI9InBsYXkiIG9uY2xpY2s9InNldFRhYigncGxheScpIj7wn46uIFBsYXk8L2Rp
dj4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9InRhYi1sZWFybiI+CiAgICAgIDxkaXYgY2xhc3M9IndjYXJkIiBpZD0id2NhcmQiPjwvZGl2PgogICAgICA8
ZGl2IGNsYXNzPSJsZWFybi1uYXYiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBnaG9zdCIgb25jbGljaz0ibGVhcm5Nb3ZlKC0xKSI+4oaQPC9idXR0
b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGtub3ciIGlkPSJrbm93QnRuIiBvbmNsaWNrPSJsZWFybktub3coKSI+4pyTIEdvdCBpdCEgKCszIFhQ
KTwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBnaG9zdCIgb25jbGljaz0ibGVhcm5Nb3ZlKDEpIj7ihpI8L2J1dHRvbj4KICAgICAgPC9k
aXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlYXJuLWNvdW50IiBpZD0ibGVhcm5Db3VudCI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJ0YWItc3Rv
cnkiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6ODAwO21hcmdpbi1ib3R0b206
MTBweDsiIGlkPSJzdFRpdGxlIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UiIGlkPSJzdFN0YWdlIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0i
c3QtbmFyIiBpZD0ic3ROYXIiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJidWJibGUiIGlkPSJzdEJ1YmJsZSIgb25jbGljaz0ic2F5U3RvcnkoKSI+CiAg
ICAgICAgPGRpdiBjbGFzcz0id2hvIiBpZD0ic3RXaG8iPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJrciIgaWQ9InN0S3IiPjwvZGl2PgogICAgICAg
IDxkaXYgY2xhc3M9ImJlbiIgaWQ9InN0RW4iPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icS1sYWJlbCIgaWQ9InN0UHJvbXB0IiBz
dHlsZT0ibWFyZ2luLWJvdHRvbTo4cHg7Ij5XaGF0IGRvIHlvdSBzYXk/PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFuc3dlcnMiIGlkPSJzdENob2ljZXMi
PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdC1kb3RzIiBpZD0ic3REb3RzIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9InRhYi10YWxrIiBz
dHlsZT0iZGlzcGxheTpub25lOyI+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1p
dGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHg7Z2FwOjhweDsiPgogICAgICAgIDxkaXYgaWQ9InRrVGl0bGUiIHN0eWxlPSJmb250LXdlaWdodDo4MDA7
Zm9udC1zaXplOjE0cHg7Ij48L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBpZD0idGtFYXIiIG9uY2xpY2s9
InRvZ2dsZUVhcigpIiBzdHlsZT0ibWFyZ2luOjA7Zm9udC1zaXplOjEycHg7Ij7wn46nIExpc3RlbmluZyBtb2RlPC9idXR0b24+CiAgICAgICAgICA8YnV0
dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InRrUmVzdGFydCgpIiBzdHlsZT0ibWFyZ2luOjA7Zm9udC1zaXplOjEycHg7Ij7ihro8L2J1dHRvbj4KICAg
ICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoYXQiIGlkPSJ0a0NoYXQiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0ay10
YXNrIiBpZD0idGtUYXNrIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGstY29udHJvbHMiPgogICAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgb25j
bGljaz0idGtIaW50KCkiIHN0eWxlPSJtYXJnaW46MDsiPvCfkqEgSGludDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9Im1pYyB0ay1taWMiIGlk
PSJ0a01pYyIgb25jbGljaz0idGtNaWNUYXAoKSI+8J+OpDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgb25jbGljaz0idGtTa2lw
KCkiIHN0eWxlPSJtYXJnaW46MDsiPuKPrSBTa2lwPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzcmVzdWx0IiBpZD0idGtSZXN1
bHQiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzcGstZGlmZiIgaWQ9InRrRGlmZiIgc3R5bGU9ImZvbnQt
c2l6ZToyMHB4O3RleHQtYWxpZ246Y2VudGVyOyI+PC9kaXY+CiAgICAgIDxkaXYgaWQ9InRrRml4ZXMiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWxm
Z3JhZGUiIGlkPSJ0a1NlbGZHcmFkZSI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGdob3N0IiBvbmNsaWNrPSJ0a0dyYWRlKGZhbHNlKSI+8J+YhSBU
cnkgYWdhaW48L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4iIG9uY2xpY2s9InRrR3JhZGUodHJ1ZSkiPvCfmI4gSSBzYWlkIGl0PC9idXR0
b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0idGFiLWdyYW1tYXIiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KCiAgICA8
ZGl2IGlkPSJ0YWItc3BlYWsiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgPGRpdiBjbGFzcz0ic2NhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InEt
bGFiZWwiPkxpc3RlbiwgdGhlbiBzYXkgaXQgb3V0IGxvdWQ8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJza3IiIGlkPSJzcGtLciI+PC9kaXY+CiAgICAg
ICAgPGRpdiBjbGFzcz0ic2VuIiBpZD0ic3BrRW4iPjwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xp
Y2s9InNheUN1cigpIj7ilrbvuI8gTGlzdGVuPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InNheUN1cigwLjYp
Ij7wn5CiIFNsb3c8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJtaWMiIGlkPSJtaWNCdG4iIG9uY2xpY2s9Im1pY1Rh
cCgpIj7wn46kPC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0ibWljLWhpbnQiIGlkPSJtaWNIaW50Ij5UYXAg8J+OpCBhbmQgcmVhZCB0aGUgc2VudGVu
Y2Ug4oCUIGl0IGNoZWNrcyB3aGVuIHlvdSBwYXVzZSAob3IgdGFwIOKPuSk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcmVzdWx0IiBpZD0ic3BrUmVz
dWx0Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGstZGlmZiIgaWQ9InNwa0RpZmYiPjwvZGl2PgogICAgICAgIDxkaXYgaWQ9InNwa0ZpeGVzIj48
L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzcGtQbGF5YmFjayI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InBsYXlNeVJlYygp
Ij7ilrbvuI8gTXkgdm9pY2U8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgb25jbGljaz0ic2F5Q3VyKCkiPvCflIogTmF0aXZl
PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InNheUN1cigwLjYpIj7wn5CiIFNsb3c8L2J1dHRvbj4KICAgICAg
ICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWxmZ3JhZGUiIGlkPSJzZWxmR3JhZGUiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGdob3N0
IiBvbmNsaWNrPSJzcGVha0dyYWRlKGZhbHNlKSI+8J+YhSBBbG1vc3Q8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgb25jbGljaz0i
c3BlYWtHcmFkZSh0cnVlKSI+8J+YjiBOYWlsZWQgaXQ8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imxl
YXJuLW5hdiI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGdob3N0IiBvbmNsaWNrPSJzcGVha01vdmUoLTEpIj7ihpA8L2J1dHRvbj4KICAgICAgICA8
YnV0dG9uIGNsYXNzPSJidG4gZ2hvc3QiIG9uY2xpY2s9InNwZWFrTW92ZSgxKSI+4oaSPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNz
PSJsZWFybi1jb3VudCIgaWQ9InNwZWFrQ291bnQiPjwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0idGFiLXBsYXkiIHN0eWxlPSJkaXNwbGF5Om5v
bmU7Ij4KICAgICAgPGRpdiBjbGFzcz0ibW9kZXMiPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGUiIG9uY2xpY2s9InN0YXJ0UXVpeigpIj48ZGl2IGNsYXNz
PSJlbW9qaSI+4pqhPC9kaXY+PGgzPlNwZWVkIFF1aXo8L2gzPjxwPjYwcywgY29tYm8gbXVsdGlwbGllcnM8L3A+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFz
cz0ibW9kZSIgb25jbGljaz0ic3RhcnRNYXRjaCgpIj48ZGl2IGNsYXNzPSJlbW9qaSI+8J+nqTwvZGl2PjxoMz5Xb3JkIE1hdGNoPC9oMz48cD5QYWlyIFZO
IOKGlCBFTiBmYXN0PC9wPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGUiIG9uY2xpY2s9InN0YXJ0QnVpbGRlcigpIj48ZGl2IGNsYXNzPSJlbW9q
aSI+8J+UqDwvZGl2PjxoMz5TZW50ZW5jZSBCdWlsZGVyPC9oMz48cD5SZWJ1aWxkIHJlYWwgc2VudGVuY2VzPC9wPjwvZGl2PgogICAgICAgIDxkaXYgY2xh
c3M9Im1vZGUiIG9uY2xpY2s9InN0YXJ0Qm9zcygpIj48ZGl2IGNsYXNzPSJlbW9qaSI+8J+RuTwvZGl2PjxoMz5Cb3NzIEJhdHRsZTwvaDM+PHA+QmVhdCB0
aGUgbGVzc29uIGd1YXJkaWFuIOKtkDwvcD48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPCEtLSBGUkVFIFRBTEsgLS0+CiAg
PGRpdiBjbGFzcz0ic2NyZWVuIiBpZD0iZnJlZSI+CiAgICA8ZGl2IGNsYXNzPSJnYW1lYmFyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjayIgb25jbGlj
az0iZ29NYXAoKSI+4oaQPC9idXR0b24+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OjgwMDsiIGlkPSJmdFRpdGxlIj7wn46ZIEZyZWUgVGFsazwv
ZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIGlkPSJmdEVuZ2luZSIgb25jbGljaz0iZnRFbmdpbmVUYXAoKSIgc3R5bGU9Im1hcmdpbjowO2Zv
bnQtc2l6ZToxMnB4OyI+8J+kliBCdWlsdC1pbjwvYnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjaGF0IiBpZD0iZnRDaGF0Ij48L2Rpdj4K
ICAgIDxkaXYgY2xhc3M9InRrLWNvbnRyb2xzIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyI+CiAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgaWQ9
ImZ0QXV0byIgb25jbGljaz0iZnRUb2dnbGVBdXRvKCkiIHN0eWxlPSJtYXJnaW46MDsiPvCflIEgQXV0bzogb2ZmPC9idXR0b24+CiAgICAgIDxidXR0b24g
Y2xhc3M9Im1pYyB0ay1taWMiIGlkPSJmdE1pYyIgb25jbGljaz0iZnRNaWNUYXAoKSI+8J+OpDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJzbmRi
dG4iIG9uY2xpY2s9ImZ0TnVkZ2UoKSIgc3R5bGU9Im1hcmdpbjowOyI+4p2TIE5ldyB0b3BpYzwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJzbmRi
dG4iIGlkPSJmdFN0dWNrQnRuIiBvbmNsaWNrPSJmdFN0dWNrKCkiIHN0eWxlPSJtYXJnaW46MDtkaXNwbGF5Om5vbmU7Ij7wn4aYIFN0dWNrPzwvYnV0dG9u
PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJmdFN0dWNrQm94IiBzdHlsZT0iZGlzcGxheTpub25lOyI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcmVzdWx0
IiBpZD0iZnRTdGF0dXMiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttaW4taGVpZ2h0OjIwcHg7Ij48L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6
ZmxleDtnYXA6OHB4O21hcmdpbi10b3A6NnB4OyI+CiAgICAgIDxpbnB1dCBpZD0iZnRUZXh0IiBwbGFjZWhvbGRlcj0i4oCmb3IgdHlwZSBpbiBWaWV0bmFt
ZXNlIGFuZCBwcmVzcyBFbnRlciIKICAgICAgICBzdHlsZT0iZmxleDoxO2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2JvcmRlcjoycHggc29saWQgI0Q5QzlB
ODtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMXB4IDEzcHg7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1zaXplOjE1cHg7b3V0bGluZTpub25lOyI+CiAg
ICAgIDxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9InBhZGRpbmc6MTFweCAxNnB4OyIgb25jbGljaz0iZnRTZW5kVGV4dCgpIj7inqQ8L2J1dHRvbj4KICAg
IDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIFFVSVogLS0+CiAgPGRpdiBjbGFzcz0ic2NyZWVuIiBpZD0icXVpeiI+CiAgICA8ZGl2IGNsYXNzPSJnYW1lYmFy
Ij4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjayIgb25jbGljaz0iYmFja1RvTGVzc29uKCkiPuKGkDwvYnV0dG9uPgogICAgICA8ZGl2IGNsYXNzPSJ0aW1l
ciIgaWQ9InF1aXpUaW1lciI+NjA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2NvcmUtcGlsbCI+4q2QIDxzcGFuIGlkPSJxdWl6U2NvcmUiPjA8L3NwYW4+
PHNwYW4gY2xhc3M9ImNvbWJvIiBpZD0icXVpekNvbWJvIj48L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InF1ZXN0aW9uLWNhcmQi
PgogICAgICA8ZGl2IGNsYXNzPSJxLWxhYmVsIiBpZD0icXVpekxhYmVsIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icS13b3JkIiBpZD0icXVpeldvcmQi
PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJxLWhpbnQiIGlkPSJxdWl6SGludCI+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImFuc3dlcnMi
IGlkPSJxdWl6QW5zd2VycyI+PC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gTUFUQ0ggLS0+CiAgPGRpdiBjbGFzcz0ic2NyZWVuIiBpZD0ibWF0Y2giPgogICAg
PGRpdiBjbGFzcz0iZ2FtZWJhciI+CiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2siIG9uY2xpY2s9ImJhY2tUb0xlc3NvbigpIj7ihpA8L2J1dHRvbj4KICAg
ICAgPGRpdiBjbGFzcz0idGltZXIiIGlkPSJtYXRjaFRpbWVyIj45MDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzY29yZS1waWxsIj7wn6epIDxzcGFuIGlk
PSJtYXRjaExlZnQiPjg8L3NwYW4+IGxlZnQ8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibWF0Y2gtZ3JpZCIgaWQ9Im1hdGNoR3JpZCI+PC9k
aXY+CiAgPC9kaXY+CgogIDwhLS0gQlVJTERFUiAtLT4KICA8ZGl2IGNsYXNzPSJzY3JlZW4iIGlkPSJidWlsZGVyIj4KICAgIDxkaXYgY2xhc3M9ImdhbWVi
YXIiPgogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrIiBvbmNsaWNrPSJiYWNrVG9MZXNzb24oKSI+4oaQPC9idXR0b24+CiAgICAgIDxkaXYgaWQ9ImJ1aWxk
UHJvZ3Jlc3MiIHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE0cHg7Ij4xIC8gNTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzY29yZS1w
aWxsIj7irZAgPHNwYW4gaWQ9ImJ1aWxkU2NvcmUiPjA8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImJ1aWxkLXRhcmdldCI+CiAg
ICAgIDxkaXYgY2xhc3M9InEtbGFiZWwiPkJ1aWxkIHRoaXMgc2VudGVuY2UgaW4gVmlldG5hbWVzZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJidWlsZC1l
biIgaWQ9ImJ1aWxkRW4iPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJidWlsZC1zbG90IiBpZD0iYnVpbGRTbG90Ij48L2Rpdj4KICAgIDxk
aXYgY2xhc3M9ImJ1aWxkLXBvb2wiIGlkPSJidWlsZFBvb2wiPjwvZGl2PgogICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDox
NHB4OyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBnaG9zdCIgb25jbGljaz0iYnVpbGRlclJlc2V0KCkiPuKGujwvYnV0dG9uPgogICAgICA8YnV0dG9u
IGNsYXNzPSJidG4iIG9uY2xpY2s9ImJ1aWxkZXJDaGVjaygpIj5DaGVjayDinJM8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIEJPU1Mg
LS0+CiAgPGRpdiBjbGFzcz0ic2NyZWVuIiBpZD0iYm9zcyI+CiAgICA8ZGl2IGNsYXNzPSJnYW1lYmFyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjayIg
b25jbGljaz0iYmFja1RvTGVzc29uKCkiPuKGkCBGbGVlPC9idXR0b24+CiAgICAgIDxkaXYgY2xhc3M9ImJvc3MtbmFtZSIgaWQ9ImJvc3NUaXRsZSI+8J+R
uSBHdWFyZGlhbjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzY29yZS1waWxsIj7impTvuI8gPHNwYW4gaWQ9ImJvc3NEbWciPjA8L3NwYW4+PC9kaXY+CiAg
ICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImJvc3MtYXJlbmEiPgogICAgICA8ZGl2IGNsYXNzPSJib3NzLXNwcml0ZSIgaWQ9ImJvc3NTcHJpdGUiPvCfkbk8
L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaHBiYXIiPjxkaXYgY2xhc3M9ImhwZmlsbCIgaWQ9ImJvc3NIcCIgc3R5bGU9IndpZHRoOjEwMCUiPjwvZGl2Pjwv
ZGl2PgogICAgICA8ZGl2IGNsYXNzPSJoZWFydHMiIGlkPSJib3NzSGVhcnRzIj7inaTvuI/inaTvuI/inaTvuI88L2Rpdj4KICAgIDwvZGl2PgogICAgPGRp
diBjbGFzcz0icXVlc3Rpb24tY2FyZCIgc3R5bGU9InBhZGRpbmc6MTZweDsiPgogICAgICA8ZGl2IGNsYXNzPSJxLWxhYmVsIiBpZD0iYm9zc0xhYmVsIj48
L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icS13b3JkIiBpZD0iYm9zc1dvcmQiIHN0eWxlPSJmb250LXNpemU6MjJweDsiPjwvZGl2PgogICAgPC9kaXY+CiAg
ICA8ZGl2IGNsYXNzPSJhbnN3ZXJzIiBpZD0iYm9zc0Fuc3dlcnMiPjwvZGl2PgogIDwvZGl2PgoKICA8IS0tIFJFU1VMVCAtLT4KICA8ZGl2IGNsYXNzPSJz
Y3JlZW4iIGlkPSJyZXN1bHQiPgogICAgPGRpdiBjbGFzcz0icmVzdWx0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtZW1vamkiIGlkPSJyZXNF
bW9qaSI+8J+OiTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiIGlkPSJyZXNUaXRsZSI+PC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImNv
bG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDsiIGlkPSJyZXNTdWIiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtc3RhdHMiPgogICAg
ICAgIDxkaXYgY2xhc3M9InJzdGF0Ij48YiBpZD0icmVzU2NvcmUiPjA8L2I+PHNwYW4+c2NvcmU8L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0i
cnN0YXQiPjxiIGlkPSJyZXNYcCI+KzA8L2I+PHNwYW4+eHA8L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icnN0YXQiPjxiIGlkPSJyZXNDb21i
byI+MDwvYj48c3Bhbj5jb21ibzwvc3Bhbj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InJlcy1uZXh0IiBpZD0icmVzTmV4dCI+PC9k
aXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgaWQ9InJlc1JlcGxheSI+UGxheSBhZ2FpbiDwn5SBPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9
ImJ0biBnaG9zdCIgb25jbGljaz0iYmFja1RvTGVzc29uKCkiPkxlc3NvbiDwn5OaPC9idXR0b24+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCjwvZGl2PgoKPHNj
cmlwdD4KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBEQVRBIOKAlCBUb20n
cyBWaWV0bmFtZXNlIFF1ZXN0OiAxMiBvcmlnaW5hbCBkYWlseS1saWZlIHF1ZXN0cy4KICAgTm9ydGhlcm4gKEhhbm9pKSBWaWV0bmFtZXNlIGZvciBoZXJp
dGFnZSBsZWFybmVycy4KICAgV29yZDogW3ZuLCBwcm9udW5jaWF0aW9uK3RvbmUsIGVuLCB0aXAsIGVtb2ppLCBleGFtcGxlVm4sIGV4YW1wbGVFbl0KICAg
R3JhbW1hcjogW3BhdHRlcm4sIG1lYW5pbmctZW4sIHdoZW4tdG8tdXNlLCB1c2FnZSBub3RlLCBleDF2biwgZXgxZW4sIGV4MnZuLCBleDJlbl0KICAgVG9u
ZXM6IOKGkiBuZ2FuZyAoZmxhdCkgwrcg4oaYIGh1eeG7gW4gKGZhbGxpbmcpIMK3IOKGlyBz4bqvYyAocmlzaW5nKSDCtyDipLUgaOG7j2kgKGRpcHBpbmcp
IMK3IH7ihpcgbmfDoyAoYnJva2VuKSDCtyDihpMgbuG6t25nIChoZWF2eSkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSAqLwpjb25zdCBMRVNTT05TID0gWwp7bjoxLCBrcjoiQ2jDoG8gaOG7j2kgJiBYxrBuZyBow7QiLCBlbjoiSGVsbG8s
IEZhbWlseSEiLCB2aToiR3JlZXQgZXZlcnkgcmVsYXRpdmUgd2l0aCBjb25maWRlbmNlIiwgZW1vamk6IvCfpJ0iLCBib3NzOiLwn5G6IiwgYm9zc05hbWU6
IlByb25vdW4gUHV6emxlciIsCiB3b3JkczpbCiAgWyJjaMOgbyIsImNob3cg4oaYIiwiaGVsbG8gLyBnb29kYnllIiwiTmV2ZXIgc2F5IGp1c3QgY2jDoG8g
dG8gYW4gZWxkZXIg4oCUIGFsd2F5cyBhZGQgdGhlaXIgdGl0bGU6IENow6BvIGLDoCEiLCLwn5GLIiwiQ2jDoXUgY2jDoG8gw7RuZyDhuqEhIiwiSGVsbG8s
IGdyYW5kZmF0aGVyISJdLAogIFsi4bqhIiwiYWgg4oaTIiwiKHBvbGl0ZW5lc3Mgd29yZCkiLCJFbmQgc2VudGVuY2VzIHRvIGVsZGVycyB3aXRoIOG6oSDi
gJQgaXQgaXMgdGhlIHNvdW5kIG9mIHJlc3BlY3QgaW4gdGhlIE5vcnRoIiwi8J+ZjyIsIlbDom5nIOG6oSEiLCJZZXMgKHBvbGl0ZWx5KSEiXSwKICBbImNv
biIsImtvbiDihpIiLCJJIC8gY2hpbGQgKHRvIHlvdXIgcGFyZW50cykiLCJDYWxsIHlvdXJzZWxmIGNvbiB3aXRoIHlvdXIgcGFyZW50cyDigJQgbWFueSBm
YW1pbGllcyB1c2UgaXQgd2l0aCBncmFuZHBhcmVudHMgdG9vIiwi8J+nkiIsIkNvbiBjaMOgbyBt4bq5IOG6oS4iLCJIZWxsbywgTW9tLiJdLAogIFsiY2jD
oXUiLCJjaG93IOKGlyIsIkkgLyBncmFuZGNoaWxkLCBuaWVjZSwgbmVwaGV3IiwiVGhlIHNhZmUgJ0knIHdpdGggZ3JhbmRwYXJlbnRzLCBhdW50cyBhbmQg
dW5jbGVzIOKAlCB3aGVuIHVuc3VyZSwgdXNlIGNow6F1Iiwi8J+ZiyIsIkNow6F1IGzDoCBjaMOhdSBj4bunYSBiw6AuIiwiSSBhbSB5b3VyIGdyYW5kY2hp
bGQuIl0sCiAgWyLDtG5nIiwib2htIOKGkiIsImdyYW5kZmF0aGVyIiwiw5RuZyBu4buZaSA9IGRhZCdzIGZhdGhlciwgw7RuZyBuZ2/huqFpID0gbW9tJ3Mg
ZmF0aGVyIiwi8J+RtCIsIsOUbmcgY8OzIGto4buPZSBraMO0bmcg4bqhPyIsIkFyZSB5b3Ugd2VsbCwgR3JhbmRwYT8iXSwKICBbImLDoCIsImJhaCDihpgi
LCJncmFuZG1vdGhlciIsIkLDoCBu4buZaSA9IGRhZCdzIG1vdGhlciwgYsOgIG5nb+G6oWkgPSBtb20ncyBtb3RoZXIiLCLwn5G1IiwiQsOgIMahaSwgY2jD
oXUgduG7gSBy4buTaSEiLCJHcmFuZG1hLCBJIGFtIGJhY2shIl0sCiAgWyJi4buRIiwiYm9oIOKGlyIsImRhZCIsIk5vcnRoZXJuIHdvcmQg4oCUIFNvdXRo
ZXJuIGZhbWlsaWVzIHNheSBiYSIsIvCfkagiLCJC4buRIGPhu6dhIGNow6F1IOG7nyBDYW5hZGEuIiwiTXkgZGFkIGlzIGluIENhbmFkYS4iXSwKICBbIm3h
urkiLCJtZWgg4oaTIiwibW9tIiwiTm9ydGhlcm4gd29yZCDigJQgU291dGhlcm4gZmFtaWxpZXMgc2F5IG3DoSIsIvCfkakiLCJN4bq5IGNow6F1IG7huqV1
IMSDbiBy4bqldCBuZ29uLiIsIk15IG1vbSBjb29rcyB2ZXJ5IHdlbGwuIl0sCiAgWyJiw6FjIiwiYmFoayDihpciLCJvbGRlciB1bmNsZSAvIGF1bnQiLCJB
IHBhcmVudCdzIE9MREVSIHNpYmxpbmcg4oCUIGd1ZXNzaW5nIGLDoWMgZmxhdHRlcnMsIHNvIGl0IGlzIHRoZSBzYWZlIGd1ZXNzIiwi8J+nkyIsIkNow6F1
IGNow6BvIGLDoWMg4bqhISIsIkhlbGxvLCBVbmNsZSEiXSwKICBbImPDtCIsImtvaCDihpIiLCJhdW50IChkYWQncyB5b3VuZ2VyIHNpc3RlcikiLCJBbHNv
ICdNaXNzJyBmb3IgYW55IHdvbWFuIGFyb3VuZCB5b3VyIHBhcmVudHMnIGFnZSDigJQgYW5kICd0ZWFjaGVyJyIsIvCfkanigI3wn4+rIiwiQ8O0IGzDoCBl
bSBj4bunYSBi4buRIGNow6F1LiIsIlNoZSBpcyBteSBkYWQncyB5b3VuZ2VyIHNpc3Rlci4iXSwKICBbImNow7oiLCJjaG9vIOKGlyIsInVuY2xlIChkYWQn
cyB5b3VuZ2VyIGJyb3RoZXIpIiwiQWxzbyBhbnkgbWFuIGEgYml0IHlvdW5nZXIgdGhhbiB5b3VyIHBhcmVudHMiLCLwn5Go4oCN8J+msSIsIkNow7ogTmFt
IMahaSEiLCJVbmNsZSBOYW0hIl0sCiAgWyJhbmgiLCJhbmcg4oaSIiwib2xkZXIgYnJvdGhlciIsIkFsc28gJ3lvdScgZm9yIGEgc2xpZ2h0bHkgb2xkZXIg
bWFuIOKAlCB3YWl0ZXJzIGNhbGwgbWFsZSBjdXN0b21lcnMgYW5oIiwi8J+RpiIsIkFuaCBNaW5oIGzDoCBhbmggaOG7jSBj4bunYSBjaMOhdS4iLCJNaW5o
IGlzIG15IG9sZGVyIGNvdXNpbi4iXSwKICBbImNo4buLIiwiY2hlZSDihpMiLCJvbGRlciBzaXN0ZXIiLCJBbHNvICd5b3UnIGZvciBhIHNsaWdodGx5IG9s
ZGVyIHdvbWFuIiwi8J+RpyIsIkNo4buLIMahaSwgY2hvIGVtIGjhu49pISIsIkV4Y3VzZSBtZSAodG8gYW4gb2xkZXIgd29tYW4pISJdLAogIFsiZW0iLCJl
bSDihpIiLCJ5b3VuZ2VyIHNpYmxpbmcgLyB5b3VuZ2VyIHlvdSIsIkhvdyBZT1UgcmVmZXIgdG8geW91cnNlbGYgd2hlbiB0YWxraW5nIHRvIGFuaCBvciBj
aOG7iyIsIvCfp5IiLCJFbSBsw6AgZW0gY+G7p2EgYW5oIE1pbmguIiwiSSBhbSBNaW5oJ3MgeW91bmdlciBzaWJsaW5nLiJdLAogIFsidMOqbiIsInRlaG4g
4oaSIiwibmFtZSIsIlTDqm4gY2jDoXUgbMOg4oCmID0gbXkgbmFtZSBpc+KApiIsIvCfk5siLCJUw6puIGNow6F1IGzDoCBUb20uIiwiTXkgbmFtZSBpcyBU
b20uIl0sCiAgWyJnaWEgxJHDrG5oIiwiemFoIOKGkiBkaW5nIOKGmCIsImZhbWlseSIsIkdpYSDEkcOsbmggaXMgdGhlIGNlbnRlciBvZiBWaWV0bmFtZXNl
IGxpZmUg4oCUIHRoaXMgd29yZCBvcGVucyBldmVyeSB2aXNpdCIsIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCJHaWEgxJHDrG5oIGNow6F1IOG7nyBU
b3JvbnRvLiIsIk15IGZhbWlseSBpcyBpbiBUb3JvbnRvLiJdLAogIFsiY+G6o20gxqFuIiwia2FobSDipLUgdWhuIOKGkiIsInRoYW5rIHlvdSIsIkFkZCB0
aGUgcGVyc29uOiBD4bqjbSDGoW4gYsOgIOG6oSDigJQgaXQgd2FybXMgdGhlIHRoYW5rLXlvdSIsIvCfmY8iLCJDaMOhdSBj4bqjbSDGoW4gYsOhYyDhuqEu
IiwiVGhhbmsgeW91LCBVbmNsZS4iXSwKICBbInhpbiBs4buXaSIsInNlZW4g4oaSIGxveSB+4oaXIiwic29ycnkgLyBleGN1c2UgbWUiLCJVc2UgaXQgdG8g
YXBvbG9naXplIEFORCB0byBnZXQgc29tZW9uZSdzIGF0dGVudGlvbiIsIvCfmYciLCJYaW4gbOG7l2ksIGNow6F1IMSR4bq/biBtdeG7mW4uIiwiU29ycnks
IEkgYXJyaXZlZCBsYXRlLiJdLAogIFsidsOibmciLCJ2dWhuZyDihpIiLCJ5ZXMgKHBvbGl0ZSkiLCJOb3J0aGVybiBwb2xpdGUgeWVzIOKAlCBTb3V0aGVy
biBmYW1pbGllcyBzYXkgZOG6oS4gQm90aCBtZWx0IGVsZGVycycgaGVhcnRzIiwi4pyFIiwiVsOibmcsIGNow6F1IGhp4buDdSDhuqEuIiwiWWVzLCBJIHVu
ZGVyc3RhbmQuIl0sCiAgWyJraMO0bmciLCJraG9obmcg4oaSIiwibm8gLyBub3QiLCJEb3VibGVzIGFzIHRoZSBxdWVzdGlvbiB3b3JkIGF0IHRoZSBlbmQ6
IOKApmtow7RuZz8gPSByaWdodD8vb3Igbm90PyIsIuKdjCIsIktow7RuZyDhuqEsIGNow6F1IGtow7RuZyBt4buHdC4iLCJObywgSSBhbSBub3QgdGlyZWQu
Il0sCiAgWyJraOG7j2UiLCJraHdlaCDipLUiLCJoZWFsdGh5IC8gd2VsbCIsIkPDsyBraOG7j2Uga2jDtG5nPyA9IGhvdyBhcmUgeW91IOKAlCBUSEUgZ3Jl
ZXRpbmcgYWZ0ZXIgY2jDoG8iLCLwn5KqIiwiQ2jDoXUga2jhu49lLCBj4bqjbSDGoW4gYsOgLiIsIkkgYW0gd2VsbCwgdGhhbmsgeW91LCBHcmFuZG1hLiJd
LAogIFsibMOidSBxdcOhIGtow7RuZyBn4bq3cCIsImxvaCDihpIga3dhaCDihpcga2hvaG5nIOKGkiBnYXAg4oaTIiwibG9uZyB0aW1lIG5vIHNlZSIsIlNh
eSBpdCB3aGVuIHlvdSBmaW5hbGx5IG1lZXQgcmVsYXRpdmVzIGFnYWluIOKAlCBleHBlY3QgaGFwcHkgdGVhcnMiLCLwn5Ww77iPIiwiQsOhYyDGoWksIGzD
onUgcXXDoSBraMO0bmcgZ+G6t3AhIiwiVW5jbGUsIGxvbmcgdGltZSBubyBzZWUhIl0sCiAgWyJ04bqhbSBiaeG7h3QiLCJ0YWhtIOKGkyBieWV0IOKGkyIs
Imdvb2RieWUiLCJXaXRoIGVsZGVycywgc29mdGVyIGlzIGJldHRlcjogQ2jDoXUgY2jDoG8gw7RuZyDhuqEgYWxzbyB3b3JrcyBhcyBnb29kYnllIiwi8J+R
iyIsIlThuqFtIGJp4buHdCwgaOG6uW4gZ+G6t3AgbOG6oWkhIiwiR29vZGJ5ZSwgc2VlIHlvdSBhZ2FpbiEiXSwKICBbImfhu5FjIFZp4buHdCIsImdvaHAg
4oaXIHZ5ZXQg4oaTIiwib2YgVmlldG5hbWVzZSBvcmlnaW4iLCJZb3VyIGlkZW50aXR5IGNhcmQ6IG5nxrDhu51pIENhbmFkYSBn4buRYyBWaeG7h3QgPSBW
aWV0bmFtZXNlLUNhbmFkaWFuIiwi8J+MsSIsIkNow6F1IGzDoCBuZ8aw4budaSBDYW5hZGEgZ+G7kWMgVmnhu4d0LiIsIkkgYW0gVmlldG5hbWVzZS1DYW5h
ZGlhbi4iXV0sCiBncmFtbWFyOlsKICBbIkEgbMOgIEIiLCJBIGlzIEIiLCJJbnRyb2R1Y2luZyB5b3Vyc2VsZiDigJQgbmFtZSwgcm9sZSBpbiB0aGUgZmFt
aWx5LCBuYXRpb25hbGl0eSIsImzDoCBsaW5rcyB0d28gbm91bnMuIE5vICdhbS9pcy9hcmUnIGNoYW5nZXMg4oCUIGzDoCBuZXZlciBjaGFuZ2VzIGZvcm0u
IiwiQ2jDoXUgbMOgIGNow6F1IGPhu6dhIGLDoC4iLCJJIGFtIHlvdXIgZ3JhbmRjaGlsZC4iLCJUw6puIGNow6F1IGzDoCBUb20uIiwiTXkgbmFtZSBpcyBU
b20uIl0sCiAgWyLigKYg4bqhIiwiKHJlc3BlY3QgYXQgdGhlIGVuZCkiLCJFdmVyeSBzZW50ZW5jZSB5b3Ugc2F5IHRvIHNvbWVvbmUgb2xkZXIiLCJBZGQg
4bqhIHRvIHRoZSBFTkQgb2YgYSBzZW50ZW5jZSB0byBtYWtlIGl0IHJlc3BlY3RmdWwuIEtow7RuZyDhuqEsIHbDom5nIOG6oSwgY2jDoG8gYsOhYyDhuqEu
IiwiQ2jDoXUgY2jDoG8gw7RuZyDhuqEuIiwiSGVsbG8sIEdyYW5kZmF0aGVyIChyZXNwZWN0ZnVsKS4iLCJWw6JuZyDhuqEsIGNow6F1IGJp4bq/dCBy4buT
aSDhuqEuIiwiWWVzLCBJIGtub3cgKHJlc3BlY3RmdWwpLiJdLAogIFsi4oCmIMahaSIsImhleSDigKYgKGNhbGxpbmcgc29tZW9uZSkiLCJHZXR0aW5nIHNv
bWVvbmUncyBhdHRlbnRpb24g4oCUIGZhbWlseSwgd2FpdGVycywgZnJpZW5kcyIsIk5hbWUgb3IgdGl0bGUgKyDGoWkuIEl0IGlzIHdhcm0sIG5vdCBydWRl
OiBCw6AgxqFpISBN4bq5IMahaSEgRW0gxqFpICh0byBhIHdhaXRlcikhIiwiQsOgIMahaSwgYsOgIOG7nyDEkcOidT8iLCJHcmFuZG1hLCB3aGVyZSBhcmUg
eW91PyIsIkxpbmggxqFpLCDEkeG7o2kgY2jDoXUgduG7m2khIiwiTGluaCwgd2FpdCBmb3IgbWUhIl1dfSwKCntuOjIsIGtyOiJC4buvYSBjxqFtIGdpYSDE
kcOsbmgiLCBlbjoiVGhlIEZhbWlseSBNZWFsIiwgdmk6IkVhcm4geW91ciBzZWF0IGF0IGdyYW5kbWEncyB0YWJsZSIsIGVtb2ppOiLwn42aIiwgYm9zczoi
8J+QtyIsIGJvc3NOYW1lOiJIYW5ncnkgSG9nIiwKIHdvcmRzOlsKICBbImPGoW0iLCJrdWhtIOKGkiIsInJpY2UgLyBhIG1lYWwiLCJDxqFtIG1lYW5zIGNv
b2tlZCByaWNlIEFORCB0aGUgd2hvbGUgbWVhbCDigJQgxINuIGPGoW0gPSB0byBlYXQgKGFueXRoaW5nKSIsIvCfjZoiLCJD4bqjIG5ow6AgxINuIGPGoW0h
IiwiRXZlcnlvbmUsIGxldCB1cyBlYXQhIl0sCiAgWyLEg24iLCJhbiDihpIiLCJ0byBlYXQiLCLEgm4gY8ahbSBjaMawYT8gKEhhdmUgeW91IGVhdGVuPykg
aXMgaG93IFZpZXRuYW1lc2UgcGVvcGxlIHNheSAnSSBjYXJlIGFib3V0IHlvdSciLCLwn5iLIiwiQ2jDoXUgxINuIHBo4bufIGJ14buVaSBzw6FuZy4iLCJJ
IGVhdCBwaOG7nyBpbiB0aGUgbW9ybmluZy4iXSwKICBbInXhu5FuZyIsIm9vLXVobmcg4oaXIiwidG8gZHJpbmsiLCJV4buRbmcgbsaw4bubYyA9IGRyaW5r
IHdhdGVyOyB14buRbmcgdHLDoCA9IGRyaW5rIHRlYSIsIvCfpaQiLCLDlG5nIHXhu5FuZyB0csOgIGJ14buVaSBzw6FuZy4iLCJHcmFuZHBhIGRyaW5rcyB0
ZWEgaW4gdGhlIG1vcm5pbmcuIl0sCiAgWyJt4budaSIsIm11aC1lZSDihpgiLCJ0byBpbnZpdGUgKHRvIGVhdCkiLCJCZWZvcmUgZWF0aW5nLCBpbnZpdGUg
ZWFjaCBlbGRlcjogQ29uIG3hu51pIGLhu5EgbeG6uSDEg24gY8ahbSDigJQgc2FjcmVkIHRhYmxlIG1hbm5lcnMiLCLwn5mPIiwiQ2jDoXUgbeG7nWkgw7Ru
ZyBiw6AgxINuIGPGoW0g4bqhISIsIkdyYW5kcGEsIEdyYW5kbWEsIHBsZWFzZSBlYXQhIl0sCiAgWyJuZ29uIiwibmdvbiDihpIiLCJkZWxpY2lvdXMiLCJU
aGUgIzEgY29tcGxpbWVudCB0byB0aGUgY29vazogTmdvbiBxdcOhISBHcmFuZG1hIHdpbGwgcmVmaWxsIHlvdXIgYm93bCBmb3JldmVyIiwi8J+YiyIsIkNh
bmggY+G7p2EgYsOgIG5nb24gcXXDoSEiLCJHcmFuZG1hJ3Mgc291cCBpcyBzbyBkZWxpY2lvdXMhIl0sCiAgWyLEkcOzaSIsImRveSDihpciLCJodW5ncnki
LCLEkMOzaSBi4bulbmcgcuG7k2khID0gSSBhbSBodW5ncnkhIE11c2ljIHRvIGEgVmlldG5hbWVzZSBncmFuZG1vdGhlcidzIGVhcnMiLCLwn6SkIiwiQ2jD
oXUgxJHDs2kgcXXDoSEiLCJJIGFtIHNvIGh1bmdyeSEiXSwKICBbIm5vIiwibmF3IOKGkiIsImZ1bGwgKGZyb20gZWF0aW5nKSIsIk5vIHLhu5NpIOG6oSA9
IEkgYW0gZnVsbCDigJQgdGhlIE9OTFkgYWNjZXB0YWJsZSBleGN1c2UgdG8gc3RvcCBlYXRpbmcsIGFuZCBpdCByYXJlbHkgd29ya3MiLCLwn5iFIiwiQ2jD
oXUgbm8gcuG7k2kg4bqhLCBj4bqjbSDGoW4gYsOgISIsIkkgYW0gZnVsbCwgdGhhbmsgeW91LCBHcmFuZG1hISJdLAogIFsibsaw4bubYyIsIm5vby11aGsg
4oaXIiwid2F0ZXIgLyBsaXF1aWQiLCJBbHNvIG1lYW5zICdjb3VudHJ5JyDigJQgbsaw4bubYyBWaeG7h3QgTmFtLiBPbmUgd29yZCwgdHdvIGxvdmVzIiwi
8J+SpyIsIkNobyBjaMOhdSB4aW4gY+G7kWMgbsaw4bubYyDhuqEuIiwiTWF5IEkgaGF2ZSBhIGdsYXNzIG9mIHdhdGVyPyJdLAogIFsiY2FuaCIsImthbmcg
4oaSIiwic291cCAod2l0aCByaWNlKSIsIkV2ZXJ5IGZhbWlseSBtZWFsIGhhcyBhIGNhbmgg4oCUIHNpcHBlZCB0aHJvdWdob3V0LCBub3QgZmlyc3QiLCLw
n42yIiwiTeG6uSBu4bqldSBjYW5oIGNodWEuIiwiTW9tIGNvb2tzIHNvdXIgc291cC4iXSwKICBbInRo4buLdCIsInRlZXQg4oaTIiwibWVhdCIsIlRo4buL
dCBnw6AgPSBjaGlja2VuLCB0aOG7i3QgYsOyID0gYmVlZiwgdGjhu4t0IGzhu6NuID0gcG9yayAoU291dGhlcm46IHRo4buLdCBoZW8pIiwi8J+NliIsIkNo
w6F1IHRow61jaCB0aOG7i3QgZ8OgLiIsIkkgbGlrZSBjaGlja2VuLiJdLAogIFsiY8OhIiwia2FoIOKGlyIsImZpc2giLCJDw6Ega2hvIOKAlCBicmFpc2Vk
IGZpc2gg4oCUIGlzIHRoZSB0YXN0ZSBvZiBhIFZpZXRuYW1lc2UgY2hpbGRob29kIiwi8J+QnyIsIkLDoCBraG8gY8OhIHLhuqV0IG5nb24uIiwiR3JhbmRt
YSBicmFpc2VzIGZpc2ggZGVsaWNpb3VzbHkuIl0sCiAgWyJyYXUiLCJ6b3cg4oaSIiwidmVnZXRhYmxlcyIsIkluIHRoZSBOb3J0aCwgcmF1IG114buRbmcg
KHdhdGVyIHNwaW5hY2gpIGlzIG9uIHRoZSB0YWJsZSBhbG1vc3QgZGFpbHkiLCLwn6WsIiwixIJuIG5oaeG7gXUgcmF1IMSRaSEiLCJFYXQgbW9yZSB2ZWdl
dGFibGVzISJdLAogIFsidHLhu6luZyIsImNodWhuZyDihpciLCJlZ2ciLCJUcuG7qW5nIHLDoW4gPSBmcmllZCBlZ2cg4oCUIGV2ZXJ5b25lJ3MgZmlyc3Qg
ZGlzaCB0byBsZWFybiIsIvCfpZoiLCJDaMOhdSBiaeG6v3QgcsOhbiB0cuG7qW5nLiIsIkkga25vdyBob3cgdG8gZnJ5IGFuIGVnZy4iXSwKICBbInBo4buf
IiwiZnVoIOKktSIsInBo4bufIG5vb2RsZSBzb3VwIiwiSMOgIE7hu5lpIGlzIHRoZSBiaXJ0aHBsYWNlIG9mIHBo4bufIOKAlCBicmVha2Zhc3Qgb2YgY2hh
bXBpb25zIiwi8J+NnCIsIlPDoW5nIG1haSBtw6xuaCDEg24gcGjhu58gbmjDqSEiLCJMZXQgdXMgaGF2ZSBwaOG7nyB0b21vcnJvdyBtb3JuaW5nISJdLAog
IFsibmVtIHLDoW4iLCJuZW0g4oaSIHphaG4g4oaXIiwiZnJpZWQgc3ByaW5nIHJvbGxzIiwiTm9ydGhlcm4gbmFtZSDigJQgU291dGhlcm4gZmFtaWxpZXMg
c2F5IGNo4bqjIGdpw7IuIFThur90IGVzc2VudGlhbCEiLCLwn6WfIiwiTmVtIHLDoW4gY+G7p2EgbeG6uSBsw6Agc+G7kSBt4buZdC4iLCJNb20ncyBzcHJp
bmcgcm9sbHMgYXJlIG51bWJlciBvbmUuIl0sCiAgWyJ4w7RpIiwic295IOKGkiIsInN0aWNreSByaWNlIiwiR3JhYmJlZCBob3QgZnJvbSBzdHJlZXQgdmVu
ZG9ycyBmb3IgYnJlYWtmYXN0IOKAlCB4w7RpIHjDqW8gaXMgYSBIw6AgTuG7mWkgY2xhc3NpYyIsIvCfjZkiLCJDaMOhdSBtdeG7kW4gxINuIHjDtGkuIiwi
SSB3YW50IHRvIGVhdCBzdGlja3kgcmljZS4iXSwKICBbIsSRxalhIiwiZG9vLWFoIH7ihpciLCJjaG9wc3RpY2tzIiwiTmV2ZXIgc3RhbmQgY2hvcHN0aWNr
cyB1cHJpZ2h0IGluIHJpY2Ug4oCUIGl0IHJlc2VtYmxlcyBpbmNlbnNlIGZvciB0aGUgZGVhZCIsIvCfpaIiLCJDaMOhdSBkw7luZyDEkcWpYSDEkcaw4buj
Yy4iLCJJIGNhbiB1c2UgY2hvcHN0aWNrcy4iXSwKICBbImLDoXQiLCJiYWh0IOKGlyIsImJvd2wiLCJOb3J0aGVybiB3b3JkIOKAlCBTb3V0aGVybiBmYW1p
bGllcyBzYXkgY2jDqW4iLCLwn6WjIiwiQ2hvIGNow6F1IG3hu5l0IGLDoXQgY8ahbS4iLCJPbmUgYm93bCBvZiByaWNlIGZvciBtZS4iXSwKICBbInRow6pt
IiwidGVobSDihpIiLCJtb3JlIC8gdG8gYWRkIiwiVGjDqm0gY8ahbSBraMO0bmc/IOKAlCBncmFuZG1hIGFza3MgdGhpcyBiZWZvcmUgeW91ciBib3dsIGlz
IGV2ZW4gZW1wdHkiLCLinpUiLCJDaG8gY2jDoXUgdGjDqm0gbeG7mXQgYsOhdCDhuqEuIiwiT25lIG1vcmUgYm93bCBmb3IgbWUsIHBsZWFzZS4iXSwKICBb
Im3Ds24iLCJtb24g4oaXIiwiZGlzaCAob2YgZm9vZCkiLCJNw7NuIMSDbiA9IGEgZGlzaDsgbcOzbiBuw6B5ID0gdGhpcyBkaXNoIiwi8J+Nve+4jyIsIk3D
s24gbsOgeSB0w6puIGzDoCBnw6wg4bqhPyIsIldoYXQgaXMgdGhpcyBkaXNoIGNhbGxlZD8iXSwKICBbIm7huqV1Iiwibm9oIOKGlyIsInRvIGNvb2siLCJO
4bqldSDEg24gPSB0byBjb29rIChpbiBnZW5lcmFsKS4gSOG7jWMgbuG6pXUgxINuIHbhu5tpIGLDoCA9IHByaWNlbGVzcyIsIvCfkanigI3wn42zIiwiQsOg
IGThuqF5IGNow6F1IG7huqV1IHBo4bufIG5ow6k/IiwiR3JhbmRtYSwgdGVhY2ggbWUgdG8gY29vayBwaOG7nz8iXSwKICBbIm5n4buNdCIsIm5nb3Qg4oaT
Iiwic3dlZXQiLCJOb3J0aGVybiBmb29kIGlzIGxlc3Mgc3dlZXQgdGhhbiBTb3V0aGVybiDigJQgYSByZWFsIGZhbWlseSBkZWJhdGUgdG9waWMiLCLwn42v
IiwiQ2jDqCBuw6B5IG5n4buNdCBxdcOhISIsIlRoaXMgZGVzc2VydCBpcyB0b28gc3dlZXQhIl0sCiAgWyJt4bq3biIsIm1hbiDihpMiLCJzYWx0eSIsIkjG
oWkgbeG6t24gPSBhIGxpdHRsZSBzYWx0eSDigJQgc2F5IGl0IGNhcmVmdWxseSBhYm91dCBhbnlvbmUncyBjb29raW5nISIsIvCfp4IiLCJDYW5oIGjGoWkg
beG6t24gbeG7mXQgY2jDunQuIiwiVGhlIHNvdXAgaXMgYSBsaXR0bGUgc2FsdHkuIl0sCiAgWyJjYXkiLCJraWdoIOKGkiIsInNwaWN5Iiwi4buadCA9IGNo
aWxpLiBLaMO0bmcgY2F5IOG6oSA9IG5vdCBzcGljeSBwbGVhc2UiLCLwn4y277iPIiwiQ2jDoXUga2jDtG5nIMSDbiDEkcaw4bujYyBjYXkuIiwiSSBjYW5u
b3QgZWF0IHNwaWN5IGZvb2QuIl1dLAogZ3JhbW1hcjpbCiAgWyJt4budaSArIHBlcnNvbiArIMSDbiBjxqFtIiwicGxlYXNlIGVhdCAoaW52aXRpbmcpIiwi
QmVmb3JlIGV2ZXJ5IG1lYWwg4oCUIGludml0aW5nIGVsZGVycyB0byBlYXQgZmlyc3QiLCJUaGUgZ29sZGVuIHJ1bGUgb2YgdGhlIFZpZXRuYW1lc2UgdGFi
bGU6IHlvdW5nZXN0IGludml0ZXMgZXZlcnlvbmUsIG9sZGVzdCBmaXJzdC4iLCJDb24gbeG7nWkgYuG7kSBt4bq5IMSDbiBjxqFtIOG6oS4iLCJNb20gYW5k
IERhZCwgcGxlYXNlIGVhdC4iLCJDaMOhdSBt4budaSBj4bqjIG5ow6AgxINuIGPGoW0hIiwiRXZlcnlvbmUsIHBsZWFzZSBlYXQhIl0sCiAgWyLigKYgcXXD
oSAvIOKApiBs4bqvbSIsInNvIOKApiAvIHZlcnkg4oCmIiwiUmVhY3Rpbmcgd2l0aCBmZWVsaW5nIOKAlCBjb21wbGltZW50cywgc3VycHJpc2UiLCJBZGpl
Y3RpdmUgKyBxdcOhID0gd293LWxldmVsIChOZ29uIHF1w6EhKS4gQWRqZWN0aXZlICsgbOG6r20gPSB2ZXJ5IChOZ29uIGzhuq9tKS4iLCJOZ29uIHF1w6Eh
IiwiU28gZGVsaWNpb3VzISIsIkNow6F1IHRow61jaCBtw7NuIG7DoHkgbOG6r20uIiwiSSBsaWtlIHRoaXMgZGlzaCB2ZXJ5IG11Y2guIl0sCiAgWyLigKYg
buG7r2EgLyB0aMOqbSDigKYiLCJtb3JlIOKApiIsIkFza2luZyBmb3Igc2Vjb25kcywgYWRkaW5nIG9uZSBtb3JlIHRoaW5nIiwibuG7r2EgYWZ0ZXIgdGhl
IHZlcmIgcGhyYXNlICjEg24gbuG7r2EgPSBlYXQgbW9yZSk7IHRow6ptIGJlZm9yZSB0aGUgbm91biAodGjDqm0gY8ahbSkuIiwiQ2jDoXUgxINuIG7hu69h
IMSRxrDhu6NjIGtow7RuZyDhuqE/IiwiTWF5IEkgZWF0IG1vcmU/IiwiQ2hvIGNow6F1IHRow6ptIG7GsOG7m2Mg4bqhLiIsIk1vcmUgd2F0ZXIgZm9yIG1l
LCBwbGVhc2UuIl1dfSwKCntuOjMsIGtyOiJRdcOhbiBjw6AgcGjDqiIsIGVuOiJDYWbDqSBMaWZlIiwgdmk6Ik9yZGVyIGPDoCBwaMOqIGxpa2UgYSBIYW5v
aWFuIiwgZW1vamk6IuKYlSIsIGJvc3M6IvCfkLIiLCBib3NzTmFtZToiRGVjYWYgRHJhZ29uIiwKIHdvcmRzOlsKICBbImPDoCBwaMOqIiwia2FoIOKGmCBm
ZWgg4oaSIiwiY29mZmVlIiwiVmlldG5hbSBpcyB0aGUgd29ybGQncyAjMiBjb2ZmZWUgY291bnRyeSDigJQgY2Fmw6kgY3VsdHVyZSBydW5zIGRlZXAiLCLi
mJUiLCJDaG8gY2jDoXUgbeG7mXQgY8OgIHBow6ogc+G7r2EuIiwiT25lIG1pbGsgY29mZmVlIGZvciBtZS4iXSwKICBbInPhu69hIiwic29vLWFoIH7ihpci
LCJtaWxrIiwiQ8OgIHBow6ogc+G7r2EgdXNlcyBzd2VldCBjb25kZW5zZWQgbWlsayDigJQgdGhlIGNsYXNzaWMiLCLwn6WbIiwiQ8OgIHBow6ogc+G7r2Eg
xJHDoSwgbeG7mXQgY+G7kWMg4bqhLiIsIk9uZSBpY2VkIG1pbGsgY29mZmVlLCBwbGVhc2UuIl0sCiAgWyLEkcOhIiwiZGFoIOKGlyIsImljZSIsIuKApsSR
w6EgPSBpY2VkOyDDrXQgxJHDoSA9IGxpdHRsZSBpY2UiLCLwn6eKIiwiVHLDoCDEkcOhIGzDoCBtaeG7hW4gcGjDrS4iLCJJY2VkIHRlYSBpcyBmcmVlLiJd
LAogIFsibsOzbmciLCJub20g4oaXIiwiaG90IiwiQ8OgIHBow6ogbsOzbmcgZm9yIEjDoCBO4buZaSB3aW50ZXJzIiwi4pmo77iPIiwiQ2hvIGNow6F1IGPD
oCBwaMOqIG7Ds25nLiIsIkEgaG90IGNvZmZlZSBmb3IgbWUuIl0sCiAgWyJs4bqhbmgiLCJsYW5nIOKGkyIsImNvbGQiLCJUcuG7nWkgbOG6oW5oID0gY29s
ZCB3ZWF0aGVyOyDEkeG7kyB14buRbmcgbOG6oW5oID0gY29sZCBkcmlua3MiLCLwn6W2IiwiSMO0bSBuYXkgdHLhu51pIGzhuqFuaCBxdcOhISIsIkl0IGlz
IHNvIGNvbGQgdG9kYXkhIl0sCiAgWyJ0csOgIiwiY2hhaCDihpgiLCJ0ZWEiLCJUcsOgIMSRw6EgKGljZWQgdGVhKSBjb21lcyBmcmVlIGF0IG1vc3QgZWF0
ZXJpZXMgaW4gdGhlIE5vcnRoIiwi8J+NtSIsIsOUbmcgdGjDrWNoIHXhu5FuZyB0csOgLiIsIkdyYW5kcGEgbGlrZXMgZHJpbmtpbmcgdGVhLiJdLAogIFsi
bsaw4bubYyBjYW0iLCJub28tdWhrIOKGlyBrYWhtIOKGkiIsIm9yYW5nZSBqdWljZSIsIk7GsOG7m2MgKyBmcnVpdCA9IGZyZXNoIGp1aWNlOiBuxrDhu5tj
IGNhbSwgbsaw4bubYyBk4burYSAoY29jb251dCkiLCLwn42KIiwiQ2hvIGNow6F1IG3hu5l0IG7GsOG7m2MgY2FtLiIsIk9uZSBvcmFuZ2UganVpY2UgZm9y
IG1lLiJdLAogIFsic2luaCB04buRIiwic2luZyDihpIgdG9oIOKGlyIsInNtb290aGllIiwiU2luaCB04buRIGLGoSAoYXZvY2FkbyBzbW9vdGhpZSkgd2ls
bCBjaGFuZ2UgeW91ciBsaWZlIiwi8J+lkSIsIlNpbmggdOG7kSBixqEg4bufIMSRw6J5IG5nb24gbOG6r20uIiwiVGhlIGF2b2NhZG8gc21vb3RoaWUgaGVy
ZSBpcyBncmVhdC4iXSwKICBbImLDoW5oIiwiYmFuZyDihpciLCJjYWtlIC8gcGFzdHJ5IC8gYnJlYWQiLCJUaGUgbWFnaWMgc3lsbGFibGU6IGLDoW5oIG3D
rCwgYsOhbmggbmfhu410LCBiw6FuaCBjaMawbmcg4oCUIGh1bmRyZWRzIG9mIGLDoW5oIiwi8J+NsCIsIkNow6F1IG114buRbiB0aOG7rSBiw6FuaCBuw6B5
LiIsIkkgd2FudCB0byB0cnkgdGhpcyBjYWtlLiJdLAogIFsiY+G7kWMiLCJrb2hwIOKGlyIsImdsYXNzIC8gY3VwIiwiTm9ydGhlcm4gd29yZCDigJQgU291
dGhlcm4gZmFtaWxpZXMgc2F5IGx5Iiwi8J+lpCIsIkhhaSBj4buRYyB0csOgIMSRw6Eg4bqhISIsIlR3byBpY2VkIHRlYXMsIHBsZWFzZSEiXSwKICBbInRo
4buxYyDEkcahbiIsInR1aGsg4oaTIGR1aG4g4oaSIiwibWVudSIsIk9yIGp1c3QgcG9pbnQgYW5kIHNtaWxlIOKAlCBhbHNvIHZlcnkgZWZmZWN0aXZlIiwi
8J+TiyIsIkNobyBjaMOhdSB4ZW0gdGjhu7FjIMSRxqFuIOG6oS4iLCJUaGUgbWVudSwgcGxlYXNlLiJdLAogIFsiZ+G7jWkiLCJnb3kg4oaTIiwidG8gb3Jk
ZXIgLyB0byBjYWxsIiwiR+G7jWkgbcOzbiA9IHRvIG9yZGVyOyBn4buNaSDEkWnhu4duID0gdG8gcGhvbmUiLCLwn5mLIiwiTcOsbmggZ+G7jWkgbcOzbiBu
aMOpPyIsIlNoYWxsIHdlIG9yZGVyPyJdLAogIFsidGnhu4FuIiwidHllbiDihpgiLCJtb25leSIsIlRp4buBbiBWaeG7h3QgaGFzIG1hbnkgemVyb3Mg4oCU
IDI1LDAwMMSRIGlzIGFib3V0IG9uZSBkb2xsYXIiLCLwn5KwIiwiQ2jDoXUgY8OzIHRp4buBbiBWaeG7h3QgcuG7k2kuIiwiSSBhbHJlYWR5IGhhdmUgVmll
dG5hbWVzZSBtb25leS4iXSwKICBbInRy4bqjIHRp4buBbiIsImNoYWgg4qS1IHR5ZW4g4oaYIiwidG8gcGF5IiwiSW4gVmlldG5hbSwgZmlnaHRpbmcgb3Zl
ciB0aGUgYmlsbCBpcyBhIGNvbXBldGl0aXZlIHNwb3J0LiBMZXQgeW91ciB1bmNsZSB3aW4gc29tZXRpbWVzIiwi8J+SuCIsIkjDtG0gbmF5IGNow6F1IHRy
4bqjIHRp4buBbiEiLCJUb2RheSBJIGFtIHBheWluZyEiXSwKICBbInRo4bq7IiwidGVoIOKktSIsImNhcmQiLCJDYXJkcyB3b3JrIGluIGNpdGllcywgYnV0
IHNtYWxsIHNob3BzIHdhbnQgY2FzaCIsIvCfkrMiLCJRdcOhbiBjw7Mgbmjhuq1uIHRo4bq7IGtow7RuZyDhuqE/IiwiRG8geW91IHRha2UgY2FyZHM/Il0s
CiAgWyJ0aeG7gW4gbeG6t3QiLCJ0eWVuIOKGmCBtYXQg4oaTIiwiY2FzaCIsIk1hcmtldHMgYW5kIHN0cmVldCBmb29kID0gY2FzaCBvbmx5Iiwi8J+StSIs
IkNow6F1IGNo4buJIGPDsyB0aeG7gW4gbeG6t3QuIiwiSSBvbmx5IGhhdmUgY2FzaC4iXSwKICBbImNo4buXIiwiY2hvaCB+4oaXIiwicGxhY2UgLyBzZWF0
IiwiQ2jhu5cgbsOgeSA9IHRoaXMgc3BvdDsgY8OybiBjaOG7lyBraMO0bmc/ID0gYW55IHNlYXRzIGxlZnQ/Iiwi8J+qkSIsIkNo4buXIG7DoHkgxJHhurlw
IHF1w6EhIiwiVGhpcyBzcG90IGlzIGJlYXV0aWZ1bCEiXSwKICBbIm1hbmcgduG7gSIsIm1haG5nIOKGkiB2ZWgg4oaYIiwidGFrZWF3YXkiLCJNYW5nIHbh
u4EgPSB0YWtlIGhvbWU7IMSDbiDhu58gxJHDonkgPSBlYXQgaGVyZSIsIvCfpaEiLCJDaG8gY2jDoXUgbWFuZyB24buBIOG6oS4iLCJUbyBnbywgcGxlYXNl
LiJdLAogIFsi4bufIMSRw6J5IiwidWgg4qS1IGRheSDihpIiLCJoZXJlIiwixIJuIOG7nyDEkcOieSA9IGZvciBoZXJlOyDhu58gxJHDonkgY8OzIHdpZmkg
a2jDtG5nPyIsIvCfk40iLCJDaMOhdSBuZ+G7k2kg4bufIMSRw6J5IG5ow6k/IiwiU2hhbGwgSSBzaXQgaGVyZT8iXSwKICBbIsSRxrDhu51uZyIsImRvby11
aG5nIOKGmCIsInN1Z2FyIiwiw410IMSRxrDhu51uZyA9IGxlc3Mgc3VnYXIg4oCUIHlvdXIgZGVudGlzdCB0aGFua3MgeW91Iiwi8J+NrCIsIsONdCDEkcaw
4budbmcgdGjDtGkg4bqhLiIsIkp1c3QgYSBsaXR0bGUgc3VnYXIsIHBsZWFzZS4iXSwKICBbIsOtdCIsImVldCDihpciLCJhIGxpdHRsZSAvIGZldyIsIsON
dCDEkcOhLCDDrXQgxJHGsOG7nW5nLCDDrXQgY2F5IOKAlCB0aGUgY3VzdG9taXplciB3b3JkIiwi8J+kjyIsIkNobyBjaMOhdSDDrXQgxJHDoSB0aMO0aS4i
LCJPbmx5IGEgbGl0dGxlIGljZSBmb3IgbWUuIl0sCiAgWyJuaGnhu4F1IiwibnlldyDihpgiLCJhIGxvdCAvIG1hbnkiLCJOaGnhu4F1IHF1w6EhID0gdGhh
dCBpcyBhIGxvdCEiLCLwn5e7IiwixJDDoSBuaGnhu4F1IHF1w6EhIiwiVGhhdCBpcyB0b28gbXVjaCBpY2UhIl0sCiAgWyJuZ+G7k2kiLCJuZ295IOKGmCIs
InRvIHNpdCIsIlZpZXRuYW1lc2UgY2Fmw6lzIGFyZSBmb3Igc2l0dGluZyBsb25nIOKAlCBubyBvbmUgcnVzaGVzIHlvdSIsIvCfp5giLCJNw6xuaCBuZ+G7
k2kgdOG6p25nIGhhaSDEkWkuIiwiTGV0IHVzIHNpdCBvbiB0aGUgc2Vjb25kIGZsb29yLiJdLAogIFsid2lmaSIsIndlZS1mZWUiLCJ3aWZpIiwiUHJvbm91
bmNlZCAnd2VlLWZlZScg4oCUIGFzayBmb3IgbeG6rXQga2jhuql1IChwYXNzd29yZCkiLCLwn5O2IiwiTeG6rXQga2jhuql1IHdpZmkgbMOgIGfDrCDhuqE/
IiwiV2hhdCBpcyB0aGUgd2lmaSBwYXNzd29yZD8iXV0sCiBncmFtbWFyOlsKICBbImNobyArIHBlcnNvbiArIG5vdW4iLCJnaXZlIOKApiAvIEkgd2lsbCBo
YXZlIOKApiIsIk9yZGVyaW5nIGFueXRoaW5nIOKAlCBkcmlua3MsIGZvb2QsIHRoZSBiaWxsIiwiY2hvIGNow6F1L2Nvbi9tw6xuaCArIGl0ZW0gPSBwbGVh
c2UgZ2l2ZSBtZS4gVEhFIG9yZGVyaW5nIHBhdHRlcm4uIiwiQ2hvIGNow6F1IG3hu5l0IGPDoCBwaMOqIHPhu69hIMSRw6EuIiwiT25lIGljZWQgbWlsayBj
b2ZmZWUgZm9yIG1lLiIsIkNobyBjaMOhdSBjw6FpIG7DoHkuIiwiSSB3aWxsIGhhdmUgdGhpcyBvbmUuIl0sCiAgWyJjw7Mg4oCmIGtow7RuZz8iLCJ5ZXMv
bm8gcXVlc3Rpb24iLCJBc2tpbmcgaWYgc29tZXRoaW5nIGV4aXN0cyBvciBpcyB0cnVlIiwiY8OzICsgdGhpbmcvYWRqZWN0aXZlICsga2jDtG5nPyBBbnN3
ZXJzOiBjw7MgKHllcykgLyBraMO0bmcgKG5vKS4iLCJRdcOhbiBjw7Mgc2luaCB04buRIGLGoSBraMO0bmc/IiwiRG8geW91IGhhdmUgYXZvY2FkbyBzbW9v
dGhpZXM/IiwiQ8OgIHBow6ogbsOgeSBjw7Mgbmfhu410IGtow7RuZz8iLCJJcyB0aGlzIGNvZmZlZSBzd2VldD8iXSwKICBbIuKApiBuaMOpIiwib2theT8g
LyBzaGFsbCB3ZT8iLCJTb2Z0ZW5pbmcgc3VnZ2VzdGlvbnMgYW5kIGdlbnRsZSByZXF1ZXN0cyIsIkVuZCBhIHNlbnRlbmNlIHdpdGggbmjDqSB0byBtYWtl
IGl0IHdhcm0gYW5kIGZyaWVuZGx5LiBHcmVhdCB3aXRoIGZhbWlseS4iLCJNw6xuaCBuZ+G7k2kgxJHDonkgbmjDqT8iLCJMZXQgdXMgc2l0IGhlcmUsIG9r
YXk/IiwiQ2jDoXUgZ+G7jWkgdHLGsOG7m2MgbmjDqS4iLCJJIHdpbGwgb3JkZXIgZmlyc3QsIG9rYXk/Il1dfSwKCntuOjQsIGtyOiJI4buPaSDEkcaw4bud
bmciLCBlbjoiRmluZGluZyBZb3VyIFdheSIsIHZpOiJOZXZlciBsb3N0IGluIHRoZSBPbGQgUXVhcnRlciIsIGVtb2ppOiLwn5e677iPIiwgYm9zczoi8J+X
vyIsIGJvc3NOYW1lOiJMb3N0LUFsbGV5IEdvbGVtIiwKIHdvcmRzOlsKICBbIuG7nyDEkcOidSIsInVoIOKktSBkb2gg4oaSIiwid2hlcmUiLCJQbGFjZSAr
IOG7nyDEkcOidT8gPSB3aGVyZSBpc+KApj8gVGhlIHRyYXZlbGVyJ3MgYmVzdCBmcmllbmQiLCLinZMiLCJOaMOgIGLDoCDhu58gxJHDonUg4bqhPyIsIldo
ZXJlIGlzIEdyYW5kbWEncyBob3VzZT8iXSwKICBbIsSRw6J5IiwiZGF5IOKGkiIsImhlcmUgLyB0aGlzIiwi4bueIMSRw6J5ID0gaGVyZTsgxJHDonkgbMOg
4oCmID0gdGhpcyBpc+KApiIsIvCfk40iLCLEkMOieSBsw6AgcGjhu5EgSMOgbmcgQuG6oWMuIiwiVGhpcyBpcyBIw6BuZyBC4bqhYyBzdHJlZXQuIl0sCiAg
WyJraWEiLCJrZWUtYWgg4oaSIiwidGhlcmUgLyB0aGF0IChvdmVyIHRoZXJlKSIsIlBvaW50cyBhdCB0aGluZ3MgeW91IGNhbiBzZWU6IGLDqm4ga2lhID0g
b3ZlciB0aGVyZSIsIvCfkYkiLCJRdcOhbiBwaOG7nyDhu58gYsOqbiBraWEuIiwiVGhlIHBo4bufIHNob3AgaXMgb3ZlciB0aGVyZS4iXSwKICBbInBo4buR
IiwiZm9oIOKGlyIsInN0cmVldCAoTm9ydGhlcm4pIiwiSMOgIE7hu5lpJ3MgT2xkIFF1YXJ0ZXIgPSAzNiBwaOG7kSBwaMaw4budbmcsIGVhY2ggbmFtZWQg
Zm9yIGl0cyBvbGQgdHJhZGUiLCLwn4+Y77iPIiwiUGjhu5EgbsOgeSBiw6FuIGhvYS4iLCJUaGlzIHN0cmVldCBzZWxscyBmbG93ZXJzLiJdLAogIFsiZ+G6
p24iLCJndWhuIOKGmCIsIm5lYXIiLCJH4bqnbiDEkcOieSA9IG5lYXIgaGVyZSIsIvCfk48iLCJDaOG7oyBjw7MgZ+G6p24gxJHDonkga2jDtG5nIOG6oT8i
LCJJcyB0aGUgbWFya2V0IG5lYXIgaGVyZT8iXSwKICBbInhhIiwic2FoIOKGkiIsImZhciIsIkPDsyB4YSBraMO0bmc/ID0gaXMgaXQgZmFyPyDigJQgYXNr
IEJFRk9SRSB3YWxraW5nIiwi8J+bo++4jyIsIktow7RuZyB4YSDEkcOidSwgxJFpIGLhu5kgxJHGsOG7o2MuIiwiTm90IGZhciDigJQgeW91IGNhbiB3YWxr
LiJdLAogIFsidHLDoWkiLCJjaGlnaCDihpciLCJsZWZ0IiwiQsOqbiB0csOhaSA9IGxlZnQgc2lkZTsgcuG6vSB0csOhaSA9IHR1cm4gbGVmdCIsIuKshe+4
jyIsIk5ow6AgduG7hyBzaW5oIGLDqm4gdHLDoWkg4bqhLiIsIlRoZSBiYXRocm9vbSBpcyBvbiB0aGUgbGVmdC4iXSwKICBbInBo4bqjaSIsImZpZ2gg4qS1
IiwicmlnaHQiLCJBbHNvIG1lYW5zICdtdXN0JyDigJQgY29udGV4dCB0ZWxscyB5b3Ugd2hpY2guIELDqm4gcGjhuqNpID0gcmlnaHQgc2lkZSIsIuKeoe+4
jyIsIlLhur0gcGjhuqNpIOG7nyBuZ8OjIHTGsCBuaMOpLiIsIlR1cm4gcmlnaHQgYXQgdGhlIGludGVyc2VjdGlvbi4iXSwKICBbInRo4bqzbmciLCJ0YW5n
IOKktSIsInN0cmFpZ2h0IiwixJBpIHRo4bqzbmcgPSBnbyBzdHJhaWdodCDigJQgdGhlIGFuc3dlciB5b3UgaG9wZSBmb3IiLCLirIbvuI8iLCLEkGkgdGjh
urNuZyBraG/huqNuZyBuxINtIHBow7p0LiIsIkdvIHN0cmFpZ2h0IGFib3V0IGZpdmUgbWludXRlcy4iXSwKICBbInLhur0iLCJ6ZWggfuKGlyIsInRvIHR1
cm4iLCJOb3J0aGVybiB3b3JkIOKAlCBTb3V0aGVybiBmYW1pbGllcyBzYXkgcXXhurlvIiwi4oap77iPIiwiUuG6vSB0csOhaSDhu58gxJHDqG4gxJHhu48u
IiwiVHVybiBsZWZ0IGF0IHRoZSByZWQgbGlnaHQuIl0sCiAgWyJuZ8OjIHTGsCIsIm5nYWggfuKGlyB0b28g4oaSIiwiaW50ZXJzZWN0aW9uIiwiTmfDoyBi
YSA9IDMtd2F5LCBuZ8OjIHTGsCA9IDQtd2F5LCBuZ8OjIG7Eg23igKYgSMOgIE7hu5lpIGhhcyB0aGVtIGFsbCIsIuKelSIsIsSQ4bq/biBuZ8OjIHTGsCB0
aMOsIHLhur0gcGjhuqNpLiIsIkF0IHRoZSBpbnRlcnNlY3Rpb24sIHR1cm4gcmlnaHQuIl0sCiAgWyLEkcOobiDEkeG7jyIsImRlbiDihpggZGF3IOKktSIs
InRyYWZmaWMgbGlnaHQiLCJMaXRlcmFsbHkgJ3JlZCBsaWdodCcg4oCUIHRyZWF0IGFzIGEgc3VnZ2VzdGlvbiBhdCB5b3VyIG93biByaXNrIChraWRkaW5n
OiBzdG9wISkiLCLwn5qmIiwiROG7q25nIGzhuqFpISDEkMOobiDEkeG7jyEiLCJTdG9wISBSZWQgbGlnaHQhIl0sCiAgWyJi4bqjbiDEkeG7kyIsImJhaG4g
4qS1IGRvaCDihpgiLCJtYXAiLCJHb29nbGUgTWFwcyB3b3JrcyBncmVhdCBpbiBWaWV0bmFtIOKAlCBidXQgYXNraW5nIHBlb3BsZSB3b3JrcyBiZXR0ZXIi
LCLwn5e677iPIiwiQ2jDoXUgeGVtIGLhuqNuIMSR4buTIMSRw6MuIiwiTGV0IG1lIGNoZWNrIHRoZSBtYXAgZmlyc3QuIl0sCiAgWyJ0w6xtIiwidGVlbSDi
hpgiLCJ0byBsb29rIGZvciIsIkNow6F1IMSRYW5nIHTDrG3igKYgPSBJIGFtIGxvb2tpbmcgZm9y4oCmIiwi8J+UjSIsIkNow6F1IMSRYW5nIHTDrG0gcGjh
u5EgSMOgbmcgR2FpLiIsIkkgYW0gbG9va2luZyBmb3IgSMOgbmcgR2FpIHN0cmVldC4iXSwKICBbIsSRaSBi4buZIiwiZGVlIOKGkiBib2gg4oaTIiwidG8g
d2FsayIsIsSQaSBi4buZIMSRxrDhu6NjIGtow7RuZz8gPSBpcyBpdCB3YWxrYWJsZT8iLCLwn5q2IiwiTcOsbmggxJFpIGLhu5kgY2hvIGto4buPZS4iLCJM
ZXQgdXMgd2FsayDigJQgaXQgaXMgaGVhbHRoeS4iXSwKICBbInBow7p0IiwiZm9vdCDihpciLCJtaW51dGUiLCJOxINtIHBow7p0ID0gNSBtaW51dGVzIChW
aWV0bmFtZXNlIG1pbnV0ZXMgbWF5IGJlIGxvbmdlcikiLCLij7HvuI8iLCLEkGkgYuG7mSBt4bqldCBtxrDhu51pIHBow7p0LiIsIkl0IHRha2VzIHRlbiBt
aW51dGVzIG9uIGZvb3QuIl0sCiAgWyLEkeG7kWkgZGnhu4duIiwiZG95IOKGlyB6eWVuIOKGkyIsImFjcm9zcyBmcm9tIiwixJDhu5FpIGRp4buHbiArIHBs
YWNlID0gb3Bwb3NpdGUgb2YgaXQiLCLihpTvuI8iLCJRdcOhbiDEkeG7kWkgZGnhu4duIG5nw6JuIGjDoG5nLiIsIlRoZSBzaG9wIGlzIGFjcm9zcyBmcm9t
IHRoZSBiYW5rLiJdLAogIFsiYsOqbiBj4bqhbmgiLCJiZWhuIOKGkiBrYW5nIOKGkyIsIm5leHQgdG8iLCJCw6puIGPhuqFuaCArIHBsYWNlID0gcmlnaHQg
YmVzaWRlIGl0Iiwi8J+knSIsIkhp4buHdSB0aHXhu5FjIGLDqm4gY+G6oW5oIGNo4bujLiIsIlRoZSBwaGFybWFjeSBpcyBuZXh0IHRvIHRoZSBtYXJrZXQu
Il0sCiAgWyJ0csaw4bubYyIsImNob28tdWhrIOKGlyIsImluIGZyb250IG9mIC8gYmVmb3JlIiwiVHLGsOG7m2MgY+G7rWEgPSBpbiBmcm9udCBvZiB0aGUg
ZG9vciIsIvCflJwiLCLEkOG7o2kgY2jDoXUgdHLGsOG7m2MgY+G7lW5nIGNo4bujIG5ow6kuIiwiV2FpdCBmb3IgbWUgaW4gZnJvbnQgb2YgdGhlIG1hcmtl
dCBnYXRlLiJdLAogIFsic2F1Iiwic293IOKGkiIsImJlaGluZCAvIGFmdGVyIiwiU2F1IG5ow6AgPSBiZWhpbmQgdGhlIGhvdXNlOyBzYXUgxJHDsyA9IGFm
dGVyIHRoYXQiLCLwn5SZIiwiTmfDtSBuaOG7jyDhu58gc2F1IG5ow6AgdGjhu50uIiwiVGhlIGxpdHRsZSBhbGxleSBpcyBiZWhpbmQgdGhlIGNodXJjaC4i
XSwKICBbImjhu49pIiwiaG95IOKktSIsInRvIGFzayIsIk114buRbiBiaeG6v3QgdGjDrCBo4buPaSDigJQgaWYgeW91IHdhbnQgdG8ga25vdywgYXNrISIs
IvCfmYsiLCJDaMOhdSBo4buPaSBt4buZdCBjaMO6dCDhuqEuIiwiTWF5IEkgYXNrIHNvbWV0aGluZz8iXSwKICBbImNo4buJIiwiY2hlZSDipLUiLCJ0byBw
b2ludCAvIHNob3cgdGhlIHdheSIsIkNo4buJIMSRxrDhu51uZyA9IGdpdmUgZGlyZWN0aW9ucy4gQ2jhu4kgZ2nDunAgY2jDoXUgduG7m2kg4bqhISIsIvCf
kYYiLCJCw6FjIGNo4buJIMSRxrDhu51uZyBnacO6cCBjaMOhdSDhuqE/IiwiQ291bGQgeW91IHNob3cgbWUgdGhlIHdheT8iXSwKICBbImzhuqFjIiwibGFo
ayDihpMiLCJsb3N0IiwiQ2jDoXUgYuG7iyBs4bqhYyA9IEkgYW0gbG9zdCDigJQgc2F5IGl0IGFuZCB3YXRjaCBzdHJhbmdlcnMgYmVjb21lIGd1aWRlcyIs
IvCfmLUiLCJDaMOhdSBi4buLIGzhuqFjIHLhu5NpIOG6oSEiLCJJIGFtIGxvc3QhIl0sCiAgWyJj4bqndSIsImtvaCDihpgiLCJicmlkZ2UiLCJD4bqndSBM
b25nIEJpw6puIOKAlCBIw6AgTuG7mWkncyBjZW50dXJ5LW9sZCBpcm9uIGJyaWRnZSDigJQgaXMgd29ydGggdGhlIGRldG91ciIsIvCfjIkiLCJD4bqndSBM
b25nIEJpw6puIMSR4bq5cCBs4bqvbS4iLCJMb25nIEJpw6puIEJyaWRnZSBpcyBiZWF1dGlmdWwuIl1dLAogZ3JhbW1hcjpbCiAgWyLigKYg4bufIMSRw6J1
PyIsIndoZXJlIGlzIOKApj8iLCJGaW5kaW5nIGFueSBwbGFjZSDigJQgc3RyZWV0cywgc2hvcHMsIGJhdGhyb29tcyIsIlRoaW5nICsg4bufIMSRw6J1IOG6
oT8gUG9saXRlIHZlcnNpb24gZW5kcyB3aXRoIOG6oS4gQW5zd2VyIHVzZXMg4bufICsgbG9jYXRpb24uIiwiUGjhu5EgSMOgbmcgR2FpIOG7nyDEkcOidSDh
uqE/IiwiV2hlcmUgaXMgSMOgbmcgR2FpIHN0cmVldD8iLCJOaMOgIHbhu4cgc2luaCDhu58gxJHDonUg4bqhPyIsIldoZXJlIGlzIHRoZSBiYXRocm9vbT8i
XSwKICBbInLhur0gdHLDoWkgLyBy4bq9IHBo4bqjaSAvIMSRaSB0aOG6s25nIiwidHVybiBsZWZ0IC8gcmlnaHQgLyBnbyBzdHJhaWdodCIsIlVuZGVyc3Rh
bmRpbmcgdGhlIGRpcmVjdGlvbnMgcGVvcGxlIGdpdmUgeW91IiwicuG6vSA9IHR1cm4gKE4pLCDEkWkgdGjhurNuZyA9IGdvIHN0cmFpZ2h0LiBMaXN0ZW4g
Zm9yIMSR4bq/biAoYXJyaXZlL3JlYWNoKSArIGxhbmRtYXJrLiIsIsSQaSB0aOG6s25nLCBy4buTaSBy4bq9IHRyw6FpLiIsIkdvIHN0cmFpZ2h0LCB0aGVu
IHR1cm4gbGVmdC4iLCJS4bq9IHBo4bqjaSDhu58gbmfDoyB0xrAgdGjhu6kgaGFpLiIsIlR1cm4gcmlnaHQgYXQgdGhlIHNlY29uZCBpbnRlcnNlY3Rpb24u
Il0sCiAgWyJjw7MgeGEga2jDtG5nPyAvIGPDsyBn4bqnbiBraMO0bmc/IiwiaXMgaXQgZmFyIC8gbmVhcj8iLCJEZWNpZGluZyB3aGV0aGVyIHRvIHdhbGsg
b3IgcmlkZSIsImPDsyArIGFkamVjdGl2ZSArIGtow7RuZz8gYXNrcyBhYm91dCB0aGUgcXVhbGl0eS4gxJDDoXA6IGfhuqduIGzhuq9tIC8gaMahaSB4YS4i
LCJU4burIMSRw6J5IGPDsyB4YSBraMO0bmcg4bqhPyIsIklzIGl0IGZhciBmcm9tIGhlcmU/IiwiR+G6p24gbOG6r20sIMSRaSBi4buZIGhhaSBwaMO6dC4i
LCJWZXJ5IG5lYXIg4oCUIGEgdHdvLW1pbnV0ZSB3YWxrLiJdXX0sCgp7bjo1LCBrcjoiWGUgY+G7mSIsIGVuOiJXaGVlbHMgb2YgSMOgIE7hu5lpIiwgdmk6
IlJpZGUgdGhlIG1vdG9yYmlrZSByaXZlciIsIGVtb2ppOiLwn5u1IiwgYm9zczoi8J+mgiIsIGJvc3NOYW1lOiJUcmFmZmljLUphbSBTY29ycGlvbiIsCiB3
b3JkczpbCiAgWyJ4ZSIsInNlaCDihpIiLCJ2ZWhpY2xlIiwiVGhlIHJvb3Qgb2YgYWxsIHJpZGVzOiB4ZSBtw6F5LCB4ZSBidcO9dCwgeGUgxJHhuqFwIChi
aWN5Y2xlKSIsIvCfmpciLCJYZSDEkeG6v24gcuG7k2khIiwiVGhlIGNhciBpcyBoZXJlISJdLAogIFsieGUgbcOheSIsInNlaCDihpIgbWlnaCDihpciLCJt
b3RvcmJpa2UiLCJWaWV0bmFtIGhhcyA3MCsgbWlsbGlvbiBtb3RvcmJpa2VzIOKAlCB0aGUgdHJ1ZSBuYXRpb25hbCB2ZWhpY2xlIiwi8J+btSIsIkPhuqMg
bmjDoCDEkWkgbeG7mXQgeGUgbcOheT8hIiwiVGhlIHdob2xlIGZhbWlseSBvbiBvbmUgbW90b3JiaWtlPyEiXSwKICBbIsO0IHTDtCIsIm9oIOKGkiB0b2gg
4oaSIiwiY2FyIChOb3J0aGVybikiLCJOb3J0aGVybiB3b3JkIOKAlCBTb3V0aGVybiBmYW1pbGllcyBzYXkgeGUgaMahaSIsIvCfmpkiLCJDaMO6IOG6pXkg
bMOhaSDDtCB0w7QuIiwiSGUgZHJpdmVzIGEgY2FyLiJdLAogIFsieGUgYnXDvXQiLCJzZWgg4oaSIGJlZXQg4oaXIiwiYnVzIiwiQ2hlYXAgYW5kIGFpci1j
b25kaXRpb25lZCDigJQgdGhlIGxvY2FsIGV4cGVyaWVuY2UiLCLwn5qMIiwiWGUgYnXDvXQgc+G7kSB0w6FtIMSR4bq/biBjaOG7oy4iLCJCdXMgbnVtYmVy
IGVpZ2h0IGdvZXMgdG8gdGhlIG1hcmtldC4iXSwKICBbInRheGkiLCJ0YWstc2VlIiwidGF4aSIsIlVzZSBNYWkgTGluaCBvciBHNywgb3IganVzdCBHcmFi
IOKAlCBhc2sgZm9yIMSR4buTbmcgaOG7kyAodGhlIG1ldGVyKSIsIvCfmpUiLCJNw6xuaCBn4buNaSB0YXhpIGNobyBuaGFuaC4iLCJMZXQgdXMgY2FsbCBh
IHRheGkg4oCUIGl0IGlzIGZhc3Rlci4iXSwKICBbInhlIMO0bSIsInNlaCDihpIgb2htIOKGkiIsIm1vdG9yYmlrZSB0YXhpIiwiTGl0ZXJhbGx5ICdodWcg
dmVoaWNsZScg4oCUIHlvdSByaWRlIGJlaGluZCBhbmQgaG9sZCBvbiEiLCLwn4+N77iPIiwixJBpIHhlIMO0bSB2dWkgbOG6r20hIiwiUmlkaW5nIGEgbW90
b3JiaWtlIHRheGkgaXMgZnVuISJdLAogIFsic8OibiBiYXkiLCJzdWhuIOKGkiBiaWdoIOKGkiIsImFpcnBvcnQiLCJO4buZaSBCw6BpIGlzIEjDoCBO4buZ
aSdzIGFpcnBvcnQg4oCUIDQ1IG1pbnV0ZXMgZnJvbSB0aGUgY2VudGVyIiwi4pyI77iPIiwiTeG6pXkgZ2nhu50gcmEgc8OibiBiYXkg4bqhPyIsIldoYXQg
dGltZSBkbyB3ZSBsZWF2ZSBmb3IgdGhlIGFpcnBvcnQ/Il0sCiAgWyJnYSIsImdhaCDihpIiLCJ0cmFpbiBzdGF0aW9uIiwiR2EgSMOgIE7hu5lpIOKAlCBn
YXRld2F5IHRvIHRoZSBub3J0aOKAk3NvdXRoIHJhaWx3YXkiLCLwn5qJIiwiR2EgSMOgIE7hu5lpIOG7nyDEkcOidSDhuqE/IiwiV2hlcmUgaXMgSMOgIE7h
u5lpIFN0YXRpb24/Il0sCiAgWyJi4bq/biB4ZSIsImJlaG4g4oaXIHNlaCDihpIiLCJidXMgc3RhdGlvbiIsIkLhur9uIHhlIE3hu7kgxJDDrG5oIHNlcnZl
cyByb3V0ZXMgdG8gdGhlIG1vdW50YWlucyIsIvCfmo8iLCJC4bq/biB4ZSBjw7MgeGEga2jDtG5nIOG6oT8iLCJJcyB0aGUgYnVzIHN0YXRpb24gZmFyPyJd
LAogIFsidsOpIiwidmVoIOKGlyIsInRpY2tldCIsIk11YSB2w6kgPSBidXkgYSB0aWNrZXQ7IHbDqSBraOG7qSBo4buTaSA9IHJvdW5kIHRyaXAiLCLwn46r
IiwiQ2hvIGNow6F1IGhhaSB2w6kg4bqhLiIsIlR3byB0aWNrZXRzLCBwbGVhc2UuIl0sCiAgWyLEkWkiLCJkZWUg4oaSIiwidG8gZ28iLCJUaGUgYnVzaWVz
dCB2ZXJiIGluIFZpZXRuYW1lc2Ug4oCUIMSRaSDEg24sIMSRaSBjaMahaSwgxJFpIG5n4bunIiwi8J+PgyIsIk3DrG5oIMSRaSB0aMO0aSEiLCJMZXQgdXMg
Z28hIl0sCiAgWyLEkeG6v24iLCJkZWhuIOKGlyIsInRvIGFycml2ZSAvIHRvIChhIHBsYWNlKSIsIsSQ4bq/biBuxqFpIHLhu5NpID0gd2UgaGF2ZSBhcnJp
dmVkIiwi8J+OryIsIkNobyBjaMOhdSDEkeG6v24gcGjhu5EgY+G7lSDhuqEuIiwiVGFrZSBtZSB0byB0aGUgT2xkIFF1YXJ0ZXIsIHBsZWFzZS4iXSwKICBb
ImThu6tuZyIsInp1aG5nIOKGmCIsInRvIHN0b3AiLCJE4burbmcg4bufIMSRw6J5IOG6oSA9IHN0b3AgaGVyZSBwbGVhc2Ug4oCUIHNheSBpdCBhIGJpdCBl
YXJseSEiLCLwn5uRIiwiQsOhYyDGoWksIGThu6tuZyDhu58gxJHDonkg4bqhISIsIlNpciwgc3RvcCBoZXJlIHBsZWFzZSEiXSwKICBbIsSR4bujaSIsImR1
aC1lZSDihpMiLCJ0byB3YWl0IiwixJDhu6NpIG3hu5l0IGNow7p0ID0gd2FpdCBhIG1vbWVudCIsIuKPsyIsIsSQ4bujaSBjaMOhdSBuxINtIHBow7p0IG5o
w6khIiwiV2FpdCBmb3IgbWUgZml2ZSBtaW51dGVzISJdLAogIFsibmhhbmgiLCJueWFuZyDihpIiLCJmYXN0IiwiTmhhbmggbMOqbiEgPSBodXJyeSB1cCEg
4oCUIGhlYXJkIG9mdGVuIGluIFZpZXRuYW1lc2UgZmFtaWxpZXMiLCLwn5KoIiwiR3JhYiDEkeG6v24gbmhhbmggbOG6r20uIiwiVGhlIEdyYWIgYXJyaXZl
cyB2ZXJ5IGZhc3QuIl0sCiAgWyJjaOG6rW0iLCJjaHVobSDihpMiLCJzbG93IiwiQ2jhuq1tIHRow7RpISA9IHNsb3cgZG93biEg4oCUIHVzZWZ1bCBvbiB0
aGUgYmFjayBvZiBhIHhlIMO0bSIsIvCfkKIiLCJCw6FjIMahaSwgxJFpIGNo4bqtbSB0aMO0aSDhuqEhIiwiU2lyLCBwbGVhc2UgcmlkZSBzbG93bHkhIl0s
CiAgWyJtxakgYuG6o28gaGnhu4NtIiwibW9vIH7ihpcgYm93IOKktSBoeWVtIOKktSIsImhlbG1ldCIsIlJlcXVpcmVkIGJ5IGxhdyDigJQgR3JhYiBkcml2
ZXJzIGNhcnJ5IGEgc3BhcmUgZm9yIHlvdSIsIuKbke+4jyIsIsSQ4buZaSBtxakgYuG6o28gaGnhu4NtIHbDoG8gbmjDqSEiLCJQdXQgeW91ciBoZWxtZXQg
b24hIl0sCiAgWyJ04bqvYyDEkcaw4budbmciLCJ0YWsg4oaXIGRvby11aG5nIOKGmCIsInRyYWZmaWMgamFtIiwiTm9ydGhlcm4gd29yZCDigJQgU291dGhl
cm4gZmFtaWxpZXMgc2F5IGvhurl0IHhlLiBSdXNoIGhvdXIgaXMgN+KAkzkgYW5kIDE34oCTMTkiLCLwn5qnIiwiVOG6r2MgxJHGsOG7nW5nIHF1w6EsIG3D
rG5oIMSRaSBtdeG7mW4gcuG7k2kuIiwiVGVycmlibGUgdHJhZmZpYyDigJQgd2UgYXJlIGxhdGUuIl0sCiAgWyJiYW8gbMOidSIsImJvdyDihpIgbG9oIOKG
kiIsImhvdyBsb25nIiwiTeG6pXQgYmFvIGzDonU/ID0gaG93IGxvbmcgZG9lcyBpdCB0YWtlPyIsIuKPsCIsIsSQaSB0YXhpIG3huqV0IGJhbyBsw6J1IOG6
oT8iLCJIb3cgbG9uZyBieSB0YXhpPyJdLAogIFsiZ2nhu50iLCJ6dWgg4oaYIiwiaG91ciAvIG8nY2xvY2siLCJN4bqleSBnaeG7nT8gPSB3aGF0IHRpbWU/
IEJhIGdp4budID0gMyBvJ2Nsb2NrIiwi8J+VkiIsIkLDonkgZ2nhu50gbMOgIG3huqV5IGdp4budIOG6oT8iLCJXaGF0IHRpbWUgaXMgaXQgbm93PyJdLAog
IFsixJHhurd0IiwiZGF0IOKGkyIsInRvIGJvb2sgLyBvcmRlciIsIsSQ4bq3dCB4ZSA9IGJvb2sgYSByaWRlOyDEkeG6t3QgYsOgbiA9IHJlc2VydmUgYSB0
YWJsZSIsIvCfk7IiLCJDaMOhdSDEkeG6t3QgR3JhYiBy4buTaS4iLCJJIGFscmVhZHkgYm9va2VkIGEgR3JhYi4iXSwKICBbInh14buRbmciLCJzb28tdWhu
ZyDihpciLCJ0byBnZXQgb2ZmIC8gZ28gZG93biIsIkNobyBjaMOhdSB4deG7kW5nIMSRw6J5ID0gbGV0IG1lIG9mZiBoZXJlIiwi4qyH77iPIiwiQ2jDoXUg
eHXhu5FuZyDhu58gbmfDoyB0xrAgbmjDqS4iLCJJIHdpbGwgZ2V0IG9mZiBhdCB0aGUgaW50ZXJzZWN0aW9uLiJdLAogIFsibMOqbiIsImxlaG4g4oaSIiwi
dG8gZ2V0IG9uIC8gZ28gdXAiLCJMw6puIHhlIMSRaSEgPSBob3Agb24hIiwi4qyG77iPIiwiTMOqbiB4ZSBuaGFuaCBsw6puISIsIkdldCBvbiwgcXVpY2ts
eSEiXSwKICBbInjEg25nIiwic2FuZyDihpIiLCJnYXNvbGluZSIsIsSQ4buVIHjEg25nID0gZmlsbCB1cCDigJQgbW90b3JiaWtlIGxpZmUgZXNzZW50aWFs
Iiwi4pu9IiwiWGUgc+G6r3AgaOG6v3QgeMSDbmcgcuG7k2kuIiwiVGhlIGJpa2UgaXMgYWxtb3N0IG91dCBvZiBnYXMuIl1dLAogZ3JhbW1hcjpbCiAgWyLE
kWkgYuG6sW5nICsgdmVoaWNsZSIsImdvIGJ5IOKApiIsIlNheWluZyBob3cgeW91IHRyYXZlbCIsImLhurFuZyBtYXJrcyB0aGUgbWVhbnM6IMSRaSBi4bqx
bmcgeGUgbcOheSwgYuG6sW5nIHRheGksIGLhurFuZyB4ZSBidcO9dC4iLCJNw6xuaCDEkWkgYuG6sW5nIEdyYWIgbmjDqS4iLCJMZXQgdXMgZ28gYnkgR3Jh
Yi4iLCJDaMOhdSDEkeG6v24gYuG6sW5nIG3DoXkgYmF5LiIsIkkgY2FtZSBieSBwbGFuZS4iXSwKICBbImNobyBjaMOhdSDEkeG6v24gKyBwbGFjZSIsInRh
a2UgbWUgdG8g4oCmIiwiVGVsbGluZyBhbnkgZHJpdmVyIHlvdXIgZGVzdGluYXRpb24iLCJjaG8gKyBtZSArIMSR4bq/biArIHBsYWNlLiBBZGQg4bqhIGZv
ciBvbGRlciBkcml2ZXJzLiBTaG93IHRoZSBhZGRyZXNzIG9uIHlvdXIgcGhvbmUgdG9vISIsIkNobyBjaMOhdSDEkeG6v24gSOG7kyBHxrDGoW0g4bqhLiIs
IlRha2UgbWUgdG8gSG/DoG4gS2nhur9tIExha2UsIHBsZWFzZS4iLCJDaG8gY2jDoXUgxJHhur9uIG5ow6AgYsOgIOG7nyBwaOG7kSBIdeG6vy4iLCJUYWtl
IG1lIHRvIEdyYW5kbWEncyBvbiBIdeG6vyBzdHJlZXQuIl0sCiAgWyJt4bqldCBiYW8gbMOidT8iLCJob3cgbG9uZyBkb2VzIGl0IHRha2U/IiwiUGxhbm5p
bmcgeW91ciB0cmlwIHRpbWUiLCJt4bqldCA9IHRvIHRha2UvY29zdCAodGltZSkuIEFuc3dlcjogbeG6pXQgKyBkdXJhdGlvbi4iLCJU4burIMSRw6J5IMSR
4bq/biBzw6JuIGJheSBt4bqldCBiYW8gbMOidT8iLCJIb3cgbG9uZyBmcm9tIGhlcmUgdG8gdGhlIGFpcnBvcnQ/IiwiTeG6pXQga2hv4bqjbmcgbeG7mXQg
Z2nhu50uIiwiSXQgdGFrZXMgYWJvdXQgYW4gaG91ci4iXV19LAoKe246Niwga3I6IsSQaSBjaOG7oyIsIGVuOiJNYXJrZXQgRGF5Iiwgdmk6IlNob3AgYW5k
IGJhcmdhaW4gd2l0aCBoZWFydCIsIGVtb2ppOiLwn6WtIiwgYm9zczoi8J+miiIsIGJvc3NOYW1lOiJPdmVycHJpY2UgRm94IiwKIHdvcmRzOlsKICBbImNo
4bujIiwiY2h1aCDihpMiLCJtYXJrZXQiLCJUaGUgd2V0IG1hcmtldCBpcyBncmFuZG1hJ3Mga2luZ2RvbSDigJQgZ28gd2l0aCBoZXIgb25jZSwgcmVtZW1i
ZXIgaXQgZm9yZXZlciIsIvCfj6oiLCJTw6FuZyBuw6BvIGLDoCBjxaluZyDEkWkgY2jhu6MuIiwiR3JhbmRtYSBnb2VzIHRvIHRoZSBtYXJrZXQgZXZlcnkg
bW9ybmluZy4iXSwKICBbIm11YSIsIm1vby1haCDihpIiLCJ0byBidXkiLCJNdWEgZ8OsIMSR4bqleT8gPSB3aGF0IGFyZSB5b3UgYnV5aW5nPyDigJQgbWFy
a2V0IHNtYWxsIHRhbGsiLCLwn5uSIiwiQ2jDoXUgbXXhu5FuIG11YSBob2EgcXXhuqMuIiwiSSB3YW50IHRvIGJ1eSBmcnVpdC4iXSwKICBbImLDoW4iLCJi
YWhuIOKGlyIsInRvIHNlbGwiLCJOZ8aw4budaSBiw6FuID0gc2VsbGVyOyBiw6FuIGNobyBjaMOhdeKApiA9IHNlbGwgbWXigKYiLCLwn4+377iPIiwiQ8O0
IMahaSwgY8O0IGLDoW4geG/DoGkga2jDtG5nPyIsIk1hJ2FtLCBkbyB5b3Ugc2VsbCBtYW5nb2VzPyJdLAogIFsiYmFvIG5oacOqdSIsImJvdyDihpIgbnll
dyDihpIiLCJob3cgbXVjaCAvIGhvdyBtYW55IiwiQmFvIG5oacOqdSB0aeG7gW4/ID0gaG93IG11Y2ggbW9uZXk/IOKAlCBUSEUgbWFya2V0IHF1ZXN0aW9u
Iiwi8J+UoiIsIkPDoWkgbsOgeSBiYW8gbmhpw6p1IOG6oT8iLCJIb3cgbXVjaCBpcyB0aGlzPyJdLAogIFsiZ2nDoSIsInphaCDihpciLCJwcmljZSIsIkdp
w6EgYmFvIG5oacOqdT8gPSB3aGF0IGlzIHRoZSBwcmljZT8iLCLwn5KyIiwiR2nDoSBuw6B5IHThu5F0IHLhu5NpLiIsIlRoaXMgcHJpY2UgaXMgZ29vZC4i
XSwKICBbIsSR4bqvdCIsImRhdCDihpciLCJleHBlbnNpdmUiLCJOb3J0aGVybiB3b3JkIOKAlCBTb3V0aGVybiBmYW1pbGllcyBzYXkgbeG6r2MuIMSQ4bqv
dCBxdcOhISBzdGFydHMgdGhlIGJhcmdhaW4iLCLwn5KOIiwiw5RpLCDEkeG6r3QgcXXDoSBjw7QgxqFpISIsIk9oLCB0aGF0IGlzIHRvbyBleHBlbnNpdmUh
Il0sCiAgWyJy4bq7IiwiemVoIOKktSIsImNoZWFwIiwiUuG6uyBoxqFuID0gY2hlYXBlcjsgcuG6uyB0aMO0aSBtw6AhID0gaXQgaXMgY2hlYXAsIGNvbWUg
b24hIChzZWxsZXIncyBhbnN3ZXIpIiwi8J+qmSIsIuG7niBjaOG7oyBy4bq7IGjGoW4gc2nDqnUgdGjhu4suIiwiVGhlIG1hcmtldCBpcyBjaGVhcGVyIHRo
YW4gdGhlIHN1cGVybWFya2V0LiJdLAogIFsiYuG7m3QiLCJidWh0IOKGlyIsInRvIHJlZHVjZSAocHJpY2UpIiwiQuG7m3QgY2hvIGNow6F1IMSRaSEgPSBn
aXZlIG1lIGEgZGlzY291bnQhIFNtaWxlIHdoaWxlIHNheWluZyBpdCDigJQgYWx3YXlzIiwi4pyC77iPIiwiQ8O0IGLhu5t0IGNobyBjaMOhdSBtxrDhu51p
IG5naMOsbiBuaMOpPyIsIlRha2UgdGVuIHRob3VzYW5kIG9mZiBmb3IgbWU/Il0sCiAgWyJuZ2jDrG4iLCJuZ2VlbiDihpgiLCJ0aG91c2FuZCIsIk5vcnRo
ZXJuIHdvcmQg4oCUIFNvdXRoZXJuIHNheXMgbmfDoG4uIFByaWNlcyBkcm9wIHRoZSDEkeG7k25nOiAnYmEgbcawxqFpJyA9IDMwLDAwMCIsIvCfkrUiLCJY
b8OgaSBiYSBtxrDGoWkgbmdow6xuIG3hu5l0IGPDom4uIiwiTWFuZ29lcyBhcmUgdGhpcnR5IHRob3VzYW5kIGEga2lsby4iXSwKICBbImhvYSBxdeG6oyIs
Imh3YWgg4oaSIGt3YWgg4qS1IiwiZnJ1aXQiLCJOb3J0aGVybiB3b3JkIOKAlCBTb3V0aGVybiBmYW1pbGllcyBzYXkgdHLDoWkgY8OieSIsIvCfjY4iLCJI
b2EgcXXhuqMg4bufIMSRw6J5IHTGsMahaSBs4bqvbS4iLCJUaGUgZnJ1aXQgaGVyZSBpcyB2ZXJ5IGZyZXNoLiJdLAogIFsieG/DoGkiLCJzd2lnaCDihpgi
LCJtYW5nbyIsIlhvw6BpIHhhbmggd2l0aCBjaGlsaSBzYWx0ID0gbGlmZS1jaGFuZ2luZyBzbmFjayIsIvCfpa0iLCJYb8OgaSBuw6B5IG5n4buNdCBraMO0
bmcgY8O0PyIsIkFyZSB0aGVzZSBtYW5nb2VzIHN3ZWV0PyJdLAogIFsiY2h14buRaSIsImNob28tb3kg4oaXIiwiYmFuYW5hIiwiQWxzbyB0aGUgc3RhciBv
ZiBjaMOoIGNodeG7kWkg4oCUIGJhbmFuYSBpbiBjb2NvbnV0IG1pbGsiLCLwn42MIiwiQ2hvIGNow6F1IG3hu5l0IG7huqNpIGNodeG7kWkuIiwiT25lIGJ1
bmNoIG9mIGJhbmFuYXMsIHBsZWFzZS4iXSwKICBbImNhbSIsImthaG0g4oaSIiwib3JhbmdlIiwiTsaw4bubYyBjYW0gYXQgdGhlIG1hcmtldCBpcyBzcXVl
ZXplZCB3aGlsZSB5b3Ugd2F0Y2giLCLwn42KIiwiQ2FtIGjDtG0gbmF5IG5nb24ga2jDtG5nIOG6oT8iLCJBcmUgdGhlIG9yYW5nZXMgZ29vZCB0b2RheT8i
XSwKICBbImTGsGEgaOG6pXUiLCJ6b28tYWgg4oaSIGhvaCDihpciLCJ3YXRlcm1lbG9uIiwiVGhlIFThur90IGZydWl0IOKAlCByZWQgaW5zaWRlIG1lYW5z
IGdvb2QgbHVjayIsIvCfjYkiLCJNdWEgbeG7mXQgcXXhuqMgZMawYSBo4bqldSB24buBIMSDbiBU4bq/dC4iLCJCdXkgYSB3YXRlcm1lbG9uIGZvciBU4bq/
dC4iXSwKICBbIsSRdSDEkeG7pyIsImRvbyDihpIgZG9vIOKktSIsInBhcGF5YSIsIkdyZWVuIHBhcGF5YSBzYWxhZCAobuG7mW0gxJF1IMSR4bunKSBpcyBh
IEjDoCBO4buZaSBzdHJlZXQgY2xhc3NpYyIsIvCfp6EiLCJO4buZbSDEkXUgxJHhu6cgY2F5IG3hu5l0IGNow7p0LiIsIlRoZSBwYXBheWEgc2FsYWQgaXMg
YSBiaXQgc3BpY3kuIl0sCiAgWyJjw6JuIiwia3VobiDihpIiLCJraWxvZ3JhbSAvIHRvIHdlaWdoIiwiTeG7mXQgY8OibiA9IDEga2cuIE7hu61hIGPDom4g
PSBoYWxmIiwi4pqW77iPIiwiQ2hvIGNow6F1IG7hu61hIGPDom4gY2FtIOG6oS4iLCJIYWxmIGEga2lsbyBvZiBvcmFuZ2VzLCBwbGVhc2UuIl0sCiAgWyJx
deG6oyIsImt3YWgg4qS1IiwiKGZydWl0IGNvdW50ZXIgd29yZCkiLCJOb3J0aGVybiBjb3VudGVyIGZvciBmcnVpdDogbeG7mXQgcXXhuqMgeG/DoGkuIFNv
dXRoZXJuIHNheXMgdHLDoWkiLCLwn5SiIiwiQ2hvIGNow6F1IGJhIHF14bqjIGNhbS4iLCJUaHJlZSBvcmFuZ2VzIGZvciBtZS4iXSwKICBbIm7DoHkiLCJu
aWdoIOKGmCIsInRoaXMiLCJDw6FpIG7DoHkgPSB0aGlzIG9uZS4gUG9pbnQgcG9saXRlbHkgd2l0aCB5b3VyIHdob2xlIGhhbmQsIG5vdCBvbmUgZmluZ2Vy
Iiwi8J+RhyIsIkNow6F1IGzhuqV5IHF14bqjIG7DoHkg4bqhLiIsIkkgd2lsbCB0YWtlIHRoaXMgb25lLiJdLAogIFsidMO6aSIsInRvby1lZSDihpciLCJi
YWciLCJDaG8gY2jDoXUgY8OhaSB0w7ppID0gYSBiYWcgcGxlYXNlOyBraMO0bmcgY+G6p24gdMO6aSA9IG5vIGJhZyBuZWVkZWQiLCLwn5uN77iPIiwiQ2jD
oXUga2jDtG5nIGPhuqduIHTDumkgxJHDonUg4bqhLiIsIkkgZG8gbm90IG5lZWQgYSBiYWcuIl0sCiAgWyJjaOG7jW4iLCJjaG9uIOKktSIsInRvIGNob29z
ZSIsIkNo4buNbiDEkWkhID0gcGljayBvbmUhIFNlbGxlcnMgbGV0IHlvdSBjaG9vc2UgeW91ciBvd24gZnJ1aXQiLCLwn6SUIiwiQsOgIGNo4buNbiBnacO6
cCBjaMOhdSBxdeG6oyBuZ29uIG5ow6kuIiwiR3JhbmRtYSwgcGljayBhIGdvb2Qgb25lIGZvciBtZS4iXSwKICBbInTGsMahaSIsInRvby11aC1lZSDihpIi
LCJmcmVzaCIsIlTGsMahaSBraMO0bmc/ID0gaXMgaXQgZnJlc2g/IOKAlCBleHBlY3QgYW4gb2ZmZW5kZWQgJ09GIENPVVJTRSciLCLinKgiLCJDw6EgbsOg
eSB0xrDGoWkgbOG6r20sIG3hu5tpIHbhu4Egc8OhbmcgbmF5LiIsIlRoaXMgZmlzaCBpcyBmcmVzaCDigJQgYXJyaXZlZCB0aGlzIG1vcm5pbmcuIl0sCiAg
WyJ0aOG7rSIsInRvbyDipLUiLCJ0byB0cnkgLyB0YXN0ZSIsIlNlbGxlcnMgb2ZmZXIgdGFzdGVzOiB0aOG7rSDEkWkhID0gdHJ5IGl0ISBGcmVlIHNhbXBs
ZXMsIG1hcmtldCBzdHlsZSIsIvCfmIsiLCJDaMOhdSB0aOG7rSBt4buZdCBtaeG6v25nIMSRxrDhu6NjIGtow7RuZz8iLCJNYXkgSSB0cnkgYSBwaWVjZT8i
XSwKICBbImhvYSIsImh3YWgg4oaSIiwiZmxvd2VyIiwiSMOgIE7hu5lpJ3MgZmxvd2VyIG1hcmtldCBhdCBkYXduIGlzIHB1cmUgbWFnaWMg4oCUIHRha2Ug
YsOgIiwi8J+SkCIsIk11YSBob2EgduG7gSBj4bqvbSBU4bq/dC4iLCJCdXkgZmxvd2VycyB0byBhcnJhbmdlIGZvciBU4bq/dC4iXSwKICBbImjhur90Iiwi
aGVodCDihpciLCJzb2xkIG91dCAvIGZpbmlzaGVkIiwiSOG6v3QgcuG7k2kgPSBhbGwgZ29uZS4gQWxzbzogxINuIGjhur90IHLhu5NpID0gYXRlIGl0IGFs
bCAoZ3JhbmRtYSdzIGRyZWFtKSIsIvCfiLMiLCJYw7RpIHjDqW8gaOG6v3QgcuG7k2kg4bqhLiIsIlRoZSBzdGlja3kgcmljZSBpcyBzb2xkIG91dC4iXV0s
CiBncmFtbWFyOlsKICBbIuKApiBiYW8gbmhpw6p1IHRp4buBbj8iLCJob3cgbXVjaCBkb2VzIOKApiBjb3N0PyIsIkFza2luZyBwcmljZXMgYW55d2hlcmUi
LCJJdGVtICsgYmFvIG5oacOqdSB0aeG7gW4g4bqhPyBBdCBtYXJrZXRzIHlvdSBjYW4gZHJvcCB0aeG7gW46IEPDoWkgbsOgeSBiYW8gbmhpw6p1IOG6oT8i
LCJN4buZdCBjw6JuIHhvw6BpIGJhbyBuaGnDqnUgdGnhu4FuIOG6oT8iLCJIb3cgbXVjaCBpcyBhIGtpbG8gb2YgbWFuZ29lcz8iLCJDw6FpIHTDumkgbsOg
eSBiYW8gbmhpw6p1IOG6oT8iLCJIb3cgbXVjaCBpcyB0aGlzIGJhZz8iXSwKICBbIsSR4bqvdCBxdcOhISBi4bubdCDigKYgxJFpISIsInRvbyBleHBlbnNp
dmUhIGxvd2VyIGl0ISIsIkZyaWVuZGx5IGJhcmdhaW5pbmcg4oCUIGV4cGVjdGVkIGF0IG1hcmtldHMsIG5ldmVyIGF0IHN1cGVybWFya2V0cyIsIsSRaSBh
dCB0aGUgZW5kID0gZ2VudGxlIGNvbW1hbmQuIEJhcmdhaW4gd2l0aCBhIHNtaWxlOyB3YWxraW5nIGF3YXkgc2xvd2x5IGFsc28gd29ya3MuIiwixJDhuq90
IHF1w6EgY8O0IMahaSwgYuG7m3QgxJFpIOG6oSEiLCJUb28gZXhwZW5zaXZlLCBtYSdhbSDigJQgbG93ZXIgaXQgcGxlYXNlISIsIkLhu5t0IGNobyBjaMOh
dSBuxINtIG5naMOsbiBuaMOpPyIsIkZpdmUgdGhvdXNhbmQgb2ZmIGZvciBtZSwgb2theT8iXSwKICBbImPDoWkgbsOgeSAvIGPDoWkga2lhIiwidGhpcyBv
bmUgLyB0aGF0IG9uZSIsIkNob29zaW5nIGJldHdlZW4gdGhpbmdzIHdoaWxlIHNob3BwaW5nIiwiY8OhaSA9IGdlbmVyYWwgY291bnRlciB3b3JkLiBjw6Fp
IG7DoHkgKHRoaXMpLCBjw6FpIGtpYSAodGhhdCkuIEZvciBmcnVpdCB1c2UgcXXhuqMuIiwiQ2hvIGNow6F1IGPDoWkgbsOgeSDhuqEuIiwiVGhpcyBvbmUg
Zm9yIG1lLCBwbGVhc2UuIiwiQ8OhaSBraWEgxJHhurlwIGjGoW4uIiwiVGhhdCBvbmUgaXMgcHJldHRpZXIuIl1dfSwKe246Nywga3I6IkNodXnhu4duIHRy
w7IiLCBlbjoiVGhlIFF1ZXN0aW9ucyBSZWxhdGl2ZXMgQXNrIiwgdmk6IlN1cnZpdmUgdGhlIGZhbWlseSBpbnRlcnZpZXcgd2l0aCBhIHNtaWxlIiwgZW1v
amk6IvCfkqwiLCBib3NzOiLwn5CNIiwgYm9zc05hbWU6IlNtYWxsLVRhbGsgU2VycGVudCIsCiB3b3JkczpbCiAgWyJz4buRbmciLCJzaG9obmcg4oaXIiwi
dG8gbGl2ZSIsIlPhu5FuZyDhu58gxJHDonU/ID0gd2hlcmUgZG8geW91IGxpdmU/IOKAlCBxdWVzdGlvbiAjMSBmcm9tIGV2ZXJ5IHJlbGF0aXZlIiwi8J+P
oCIsIkNow6F1IHPhu5FuZyDhu58gVG9yb250byDhuqEuIiwiSSBsaXZlIGluIFRvcm9udG8uIl0sCiAgWyJsw6BtIHZp4buHYyIsImxhaG0g4oaYIHZ5ZWsg
4oaTIiwidG8gd29yayIsIkzDoG0gdmnhu4djIGfDrD8gPSB3aGF0IHdvcmsgZG8geW91IGRvPyDigJQgcXVlc3Rpb24gIzIiLCLwn5K8IiwiQ2jDoXUgbMOg
bSB2aeG7h2Mg4bufIG5nw6JuIGjDoG5nLiIsIkkgd29yayBhdCBhIGJhbmsuIl0sCiAgWyJo4buNYyIsImhvcCDihpMiLCJ0byBzdHVkeSIsIkjhu41jIHRp
4bq/bmcgVmnhu4d0ID0gc3R1ZHlpbmcgVmlldG5hbWVzZSDigJQgc2F5IGl0IGFuZCB3YXRjaCB0aGUgd2hvbGUgcm9vbSBsaWdodCB1cCIsIvCfk5YiLCJD
aMOhdSDEkWFuZyBo4buNYyB0aeG6v25nIFZp4buHdC4iLCJJIGFtIHN0dWR5aW5nIFZpZXRuYW1lc2UuIl0sCiAgWyJ0csaw4budbmciLCJjaG9vLXVobmcg
4oaYIiwic2Nob29sIiwiVHLGsOG7nW5nIMSR4bqhaSBo4buNYyA9IHVuaXZlcnNpdHkiLCLwn4+rIiwiVHLGsOG7nW5nIGPhu6dhIGNow6F1IOG7nyBDYW5h
ZGEuIiwiTXkgc2Nob29sIGlzIGluIENhbmFkYS4iXSwKICBbImPDtG5nIHR5Iiwia29obmcg4oaSIHRlZSDihpIiLCJjb21wYW55IiwiTMOgbSDhu58gY8O0
bmcgdHkgbsOgbz8gPSB3aGljaCBjb21wYW55PyAodGhleSBXSUxMIGFzaykiLCLwn4+iIiwiQ8O0bmcgdHkgY2jDoXUga2jDtG5nIGzhu5tuIGzhuq9tLiIs
Ik15IGNvbXBhbnkgaXMgbm90IHZlcnkgYmlnLiJdLAogIFsidHXhu5VpIiwidG9vLW95IOKktSIsImFnZSIsIkJhbyBuaGnDqnUgdHXhu5VpPyDigJQgYXNr
ZWQgaW5zdGFudGx5LCBzbyB0aGV5IGtub3cgaG93IHRvIGFkZHJlc3MgeW91LiBOb3QgcnVkZSEiLCLwn46CIiwiQ2jDoXUgaGFpIG3GsMahaSB0w6FtIHR1
4buVaSDhuqEuIiwiSSBhbSB0d2VudHktZWlnaHQgeWVhcnMgb2xkLiJdLAogIFsicXXDqiIsImt3ZWgg4oaSIiwiaG9tZXRvd24iLCJRdcOqIOG7nyDEkcOi
dT8gRm9yIHlvdTogcXXDqiBi4buRIG3hurkgPSB5b3VyIHBhcmVudHMnIGhvbWV0b3duIOKAlCBhIHBvd2VyZnVsIGFuc3dlciIsIvCfjL4iLCJRdcOqIG3h
urkgY2jDoXUg4bufIEjDoCBO4buZaS4iLCJNeSBtb20ncyBob21ldG93biBpcyBIw6AgTuG7mWkuIl0sCiAgWyJuxrDhu5tjIG5nb8OgaSIsIm5vby11aGsg
4oaXIG5nd2lnaCDihpgiLCJhYnJvYWQgLyBmb3JlaWduIGNvdW50cnkiLCLhu54gbsaw4bubYyBuZ2/DoGkgPSBvdmVyc2VhcyDigJQgd2hlcmUgdGhlIHJl
bGF0aXZlcyB0aGluayBtb25leSBncm93cyBvbiB0cmVlcyIsIvCfjI0iLCJT4buRbmcg4bufIG7GsOG7m2Mgbmdvw6BpIGPFqW5nIHbhuqV0IHbhuqMg4bqh
LiIsIkxpdmluZyBhYnJvYWQgaXMgaGFyZCB3b3JrIHRvby4iXSwKICBbInRp4bq/bmcgVmnhu4d0IiwidHllbmcg4oaXIHZ5ZXQg4oaTIiwiVmlldG5hbWVz
ZSAobGFuZ3VhZ2UpIiwiQ2jDoXUgxJFhbmcgaOG7jWMgdGnhur9uZyBWaeG7h3Qg4oCUIHRoZSBzZW50ZW5jZSB0aGF0IGVhcm5zIHlvdSBlbmRsZXNzIGVu
Y291cmFnZW1lbnQiLCLwn4e78J+HsyIsIlRp4bq/bmcgVmnhu4d0IGtow7MgbmjGsG5nIGhheS4iLCJWaWV0bmFtZXNlIGlzIGhhcmQgYnV0IGJlYXV0aWZ1
bC4iXSwKICBbInRp4bq/bmcgQW5oIiwidHllbmcg4oaXIGFuZyDihpIiLCJFbmdsaXNoIChsYW5ndWFnZSkiLCJDb3VzaW5zIHdpbGwgd2FudCB0byBwcmFj
dGljZSB0aGVpciB0aeG6v25nIEFuaCB3aXRoIHlvdSDigJQgdHJhZGUgbGVzc29ucyEiLCLwn5SkIiwiTGluaCBuw7NpIHRp4bq/bmcgQW5oIGdp4buPaSBs
4bqvbS4iLCJMaW5oIHNwZWFrcyBFbmdsaXNoIHZlcnkgd2VsbC4iXSwKICBbIm7Ds2kiLCJub3kg4oaXIiwidG8gc3BlYWsiLCJOw7NpIMSRxrDhu6NjIG3h
u5l0IGNow7p0ID0gY2FuIHNwZWFrIGEgbGl0dGxlIOKAlCB5b3VyIGhvbmVzdCBzdXBlcnBvd2VyIiwi8J+Xo++4jyIsIkNow6F1IG7Ds2kgxJHGsOG7o2Mg
beG7mXQgY2jDunQgdGnhur9uZyBWaeG7h3QuIiwiSSBjYW4gc3BlYWsgYSBsaXR0bGUgVmlldG5hbWVzZS4iXSwKICBbImhp4buDdSIsImh5ZXcg4qS1Iiwi
dG8gdW5kZXJzdGFuZCIsIkhp4buDdSBy4buTaSEgPSBnb3QgaXQhIEtow7RuZyBoaeG7g3UgPSBJIGRvIG5vdCB1bmRlcnN0YW5kIiwi8J+SoSIsIkNow6F1
IGhp4buDdSBraG/huqNuZyBt4buZdCBu4butYSDhuqEuIiwiSSB1bmRlcnN0YW5kIGFib3V0IGhhbGYuIl0sCiAgWyJ0aMOtY2giLCJ0ZWVrIOKGlyIsInRv
IGxpa2UiLCJUaMOtY2ggZ8OsPyB3b3JrcyBmb3IgZm9vZCwgbXVzaWMsIGFueXRoaW5nIiwi4p2k77iPIiwiQ2jDoXUgdGjDrWNoIHBo4bufIG5o4bqldC4i
LCJJIGxpa2UgcGjhu58gdGhlIG1vc3QuIl0sCiAgWyJz4bufIHRow61jaCIsInN1aCDipLUgdGVlayDihpciLCJob2JieSIsIlPhu58gdGjDrWNoIGPhu6dh
IGNow6F1IGzDoOKApiA9IG15IGhvYmJ5IGlz4oCmIiwi8J+OqCIsIlPhu58gdGjDrWNoIGPhu6dhIGNow6F1IGzDoCBu4bqldSDEg24uIiwiTXkgaG9iYnkg
aXMgY29va2luZy4iXSwKICBbInNpbmggdmnDqm4iLCJzaW5nIOKGkiB2eWVuIOKGkiIsInVuaXZlcnNpdHkgc3R1ZGVudCIsIkjhu41jIHNpbmggPSBzY2hv
b2wgc3R1ZGVudCwgc2luaCB2acOqbiA9IHVuaXZlcnNpdHkgc3R1ZGVudCIsIvCfjpMiLCJFbSBo4buNIGNow6F1IGzDoCBzaW5oIHZpw6puLiIsIk15IGNv
dXNpbiBpcyBhIHVuaXZlcnNpdHkgc3R1ZGVudC4iXSwKICBbImvhu7kgc8awIiwia2VlIH7ihpcgc29vIOKGkiIsImVuZ2luZWVyIiwiT25lIG9mIHRoZSAn
YmlnIHRocmVlJyBwcm91ZC1wYXJlbnQgam9iczogYsOhYyBzxKksIGvhu7kgc8awLCBnacOhbyB2acOqbiIsIvCfkbciLCJC4buRIGNow6F1IGzDoCBr4bu5
IHPGsC4iLCJNeSBkYWQgaXMgYW4gZW5naW5lZXIuIl0sCiAgWyJs4bubbiBsw6puIiwibHVobiDihpcgbGVobiDihpIiLCJ0byBncm93IHVwIiwiTOG7m24g
bMOqbiDhu58gQ2FuYWRhID0gZ3JldyB1cCBpbiBDYW5hZGEg4oCUIHlvdXIgc3RvcnkgaW4gdGhyZWUgd29yZHMiLCLwn4yxIiwiQ2jDoXUgbOG7m24gbMOq
biDhu58gbsaw4bubYyBuZ2/DoGkuIiwiSSBncmV3IHVwIGFicm9hZC4iXSwKICBbInNpbmggcmEiLCJzaW5nIOKGkiB6YWgg4oaSIiwidG8gYmUgYm9ybiIs
IlNpbmggcmEg4bufIMSRw6J1PyDigJQgdGhlIGZvbGxvdy11cCB0byBldmVyeSBoZXJpdGFnZSBzdG9yeSIsIvCfkbYiLCJDaMOhdSBzaW5oIHJhIOG7nyBU
b3JvbnRvLiIsIkkgd2FzIGJvcm4gaW4gVG9yb250by4iXSwKICBbImLDonkgZ2nhu50iLCJiYXkg4oaSIHp1aCDihpgiLCJub3ciLCJCw6J5IGdp4budIGNo
w6F1IGhp4buDdSBy4buTaSA9IE5PVyBJIHVuZGVyc3RhbmQiLCLij7AiLCJCw6J5IGdp4budIGNow6F1IG114buRbiBo4buNYyB0aMOqbS4iLCJOb3cgSSB3
YW50IHRvIGxlYXJuIG1vcmUuIl0sCiAgWyJo4buTaSBuaOG7jyIsImhveSDihpggbnlhdyDipLUiLCJpbiBjaGlsZGhvb2QiLCJI4buTaSBuaOG7jyA9IHdo
ZW4gKEkgd2FzKSBsaXR0bGUg4oCUIG9wZW5zIGV2ZXJ5IGZhbWlseSBtZW1vcnkiLCLwn6e4IiwiSOG7k2kgbmjhu48gbeG6uSBoYXkgbuG6pXUgcGjhu58g
Y2hvIGNow6F1LiIsIldoZW4gSSB3YXMgbGl0dGxlLCBNb20gb2Z0ZW4gbWFkZSBtZSBwaOG7ny4iXSwKICBbImvhu4MiLCJrZWgg4qS1IiwidG8gdGVsbCAo
YSBzdG9yeSkiLCJL4buDIGNobyBjaMOhdSBuZ2hlIMSRaSEgPSB0ZWxsIG1lISDigJQgc2F5IGl0IHRvIGdyYW5kbWEgYW5kIGNsZWFyIHlvdXIgYWZ0ZXJu
b29uIiwi8J+TliIsIkLDoCBr4buDIGNodXnhu4duIGjhu5NpIHjGsGEgxJFpIOG6oSEiLCJHcmFuZG1hLCB0ZWxsIHN0b3JpZXMgYWJvdXQgdGhlIG9sZCBk
YXlzISJdLAogIFsibmdo4buBIiwibmdlaCDihpgiLCJwcm9mZXNzaW9uIiwiTMOgbSBuZ2jhu4EgZ8OsPyA9IHdoYXQgaXMgeW91ciBwcm9mZXNzaW9uPyIs
IvCfm6DvuI8iLCJOZ2jhu4EgY+G7p2EgY2jDuiBsw6AgdGjhu6Mg4bqjbmguIiwiSGlzIHByb2Zlc3Npb24gaXMgcGhvdG9ncmFwaGVyLiJdLAogIFsibeG7
mXQgbcOsbmgiLCJtb2h0IOKGkyBtaW5nIOKGmCIsImFsb25lIiwixJBpIG3hu5l0IG3DrG5oIMOgPyDigJQgcmVsYXRpdmVzIHdvcnJ5IHdoZW4geW91IHRy
YXZlbCBhbG9uZS4gSXQgaXMgbG92ZSIsIvCfmrYiLCJDaMOhdSDEkeG6v24gVmnhu4d0IE5hbSBt4buZdCBtw6xuaC4iLCJJIGNhbWUgdG8gVmlldG5hbSBh
bG9uZS4iXSwKICBbImvhur90IGjDtG4iLCJrZWh0IOKGlyBob2huIOKGkiIsInRvIG1hcnJ5IiwiS+G6v3QgaMO0biBjaMawYT8gPSBtYXJyaWVkIHlldD8g
4oCUIGFza2VkIGJ5IG1pbnV0ZSB0aHJlZS4gTGF1Z2gsIGFuc3dlciwgZGVmbGVjdCIsIvCfko0iLCJDaMOhdSBjaMawYSBr4bq/dCBow7RuIOG6oSEiLCJJ
IGFtIG5vdCBtYXJyaWVkIHlldCEiXV0sCiBncmFtbWFyOlsKICBbIm5nxrDhu51pICsgY291bnRyeSArIGfhu5FjIFZp4buHdCIsImhlcml0YWdlIGlkZW50
aXR5IiwiRXhwbGFpbmluZyB3aG8geW91IGFyZSDigJQgdGhlIHNlbnRlbmNlIGV2ZXJ5IG92ZXJzZWFzIFZpZXRuYW1lc2UgbmVlZHMiLCJuZ8aw4budaSBN
4bu5L0NhbmFkYS/DmmMgKyBn4buRYyBWaeG7h3QgPSBjaXRpemVuIG9mIFggd2l0aCBWaWV0bmFtZXNlIHJvb3RzLiIsIkNow6F1IGzDoCBuZ8aw4budaSBD
YW5hZGEgZ+G7kWMgVmnhu4d0LiIsIkkgYW0gVmlldG5hbWVzZS1DYW5hZGlhbi4iLCJC4bqhbiBjaMOhdSBsw6AgbmfGsOG7nWkgTeG7uSBn4buRYyBWaeG7
h3QuIiwiTXkgZnJpZW5kIGlzIFZpZXRuYW1lc2UtQW1lcmljYW4uIl0sCiAgWyLEkWFuZyArIHZlcmIiLCJpcy9hbSDigKYtaW5nIiwiV2hhdCBpcyBoYXBw
ZW5pbmcgcmlnaHQgbm93IiwixJFhbmcgYmVmb3JlIHRoZSB2ZXJiID0gaW4gcHJvZ3Jlc3MuIENow6F1IMSRYW5nIGjhu41jID0gSSBhbSBzdHVkeWluZy4i
LCJDaMOhdSDEkWFuZyBo4buNYyB0aeG6v25nIFZp4buHdC4iLCJJIGFtIGxlYXJuaW5nIFZpZXRuYW1lc2UuIiwiQsOgIMSRYW5nIG7huqV1IGPGoW0uIiwi
R3JhbmRtYSBpcyBjb29raW5nLiJdLAogIFsi4oCmIGNoxrBhPyAvIHLhu5NpIC8gY2jGsGEiLCJ5ZXQ/IC8gYWxyZWFkeSAvIG5vdCB5ZXQiLCJUaGUgcGFz
dC10ZW5zZSBxdWVzdGlvbiBkYW5jZTogxIJuIGPGoW0gY2jGsGE/IiwiUXVlc3Rpb24gZW5kcyBpbiBjaMawYT8gQW5zd2Vyczog4oCmIHLhu5NpIChhbHJl
YWR5KSBvciBjaMawYSAobm90IHlldCkuIiwiQ2jDoXUgxINuIGPGoW0gY2jGsGE/IiwiSGF2ZSB5b3UgZWF0ZW4geWV0PyIsIlLhu5NpIOG6oSwgY2jDoXUg
xINuIHLhu5NpLiIsIlllcywgSSBhbHJlYWR5IGF0ZS4iXV19LAoKe246OCwga3I6Ikfhu41pIMSRaeG7h24gduG7gSBuaMOgIiwgZW46IkNhbGxpbmcgSG9t
ZSIsIHZpOiJCZSB0aGUgZ3JhbmRjaGlsZCB3aG8gY2FsbHMiLCBlbW9qaToi8J+TniIsIGJvc3M6IvCfkbsiLCBib3NzTmFtZToiRHJvcHBlZC1DYWxsIEdo
b3N0IiwKIHdvcmRzOlsKICBbImfhu41pIMSRaeG7h24iLCJnb3kg4oaTIGR5ZW4g4oaTIiwidG8gcGhvbmUiLCJH4buNaSDEkWnhu4duIGNobyBiw6AgbeG7
l2kgdHXhuqduIOKAlCB0aGUgaGFiaXQgdGhhdCBtZWFucyBldmVyeXRoaW5nIiwi8J+TniIsIkNow6F1IGfhu41pIMSRaeG7h24gY2hvIGLDoCBt4buXaSBj
aOG7pyBuaOG6rXQuIiwiSSBjYWxsIEdyYW5kbWEgZXZlcnkgU3VuZGF5LiJdLAogIFsixJFp4buHbiB0aG/huqFpIiwiZHllbiDihpMgdHdpZ2gg4oaTIiwi
dGVsZXBob25lIiwixJBp4buHbiB0aG/huqFpIGPhu6dhIGNow6F1ID0gbXkgcGhvbmUiLCLwn5OxIiwixJBp4buHbiB0aG/huqFpIGPhu6dhIGLDoCDEkcOi
dSBy4buTaSDhuqE/IiwiV2hlcmUgaXMgeW91ciBwaG9uZSwgR3JhbmRtYT8iXSwKICBbImFsw7QiLCJhaC1sb2gg4oaSIiwiaGVsbG8gKG9uIHRoZSBwaG9u
ZSkiLCJWaWV0bmFtZXNlIHBob25lIGNhbGxzIHN0YXJ0IHdpdGggYWzDtCDigJQgbmV2ZXIgY2jDoG8iLCLimI7vuI8iLCJBbMO0LCBiw6AgbmdoZSBraMO0
bmcg4bqhPyIsIkhlbGxvLCBjYW4geW91IGhlYXIgbWUsIEdyYW5kbWE/Il0sCiAgWyJuZ2hlIiwibmdlaCDihpIiLCJ0byBoZWFyIC8gbGlzdGVuIiwiTmdo
ZSByw7Uga2jDtG5nPyA9IGNhbiB5b3UgaGVhciBjbGVhcmx5PyDigJQgdGhlIHZpZGVvIGNhbGwgc3RydWdnbGUiLCLwn5GCIiwiQ2jDoXUgbmdoZSByw7Ug
4bqhISIsIkkgaGVhciB5b3UgY2xlYXJseSEiXSwKICBbInPhu5EiLCJzaG9oIOKGlyIsIm51bWJlciIsIlPhu5EgxJFp4buHbiB0aG/huqFpID0gcGhvbmUg
bnVtYmVyLiBWaWV0bmFtZXNlIG51bWJlcnMgYXJlIHJlYWQgZGlnaXQgYnkgZGlnaXQiLCLwn5SiIiwiQ2hvIGNow6F1IHhpbiBz4buRIGPhu6dhIGNow7og
4bqhLiIsIk1heSBJIGhhdmUgeW91ciBudW1iZXI/Il0sCiAgWyJuaOG6r24gdGluIiwibnlhbiDihpcgdGVlbiDihpIiLCJ0byB0ZXh0IiwiWmFsbyBpcyBW
aWV0bmFtJ3MgbWVzc2FnaW5nIGFwcCDigJQgZXZlcnkgcmVsYXRpdmUgaXMgb24gaXQiLCLwn5KsIiwiTmjhuq9uIHRpbiBjaG8gY2jDoXUgdHLDqm4gWmFs
byBuaMOpISIsIlRleHQgbWUgb24gWmFsbyEiXSwKICBbImfhurdwIiwiZ2FwIOKGkyIsInRvIG1lZXQiLCJH4bq3cCBuaGF1ID0gbWVldCBlYWNoIG90aGVy
OyBo4bq5biBn4bq3cCBs4bqhaSA9IHNlZSB5b3UgYWdhaW4iLCLwn6SdIiwiQ3Xhu5FpIHR14bqnbiBtw6xuaCBn4bq3cCBuaGF1IG5ow6kuIiwiTGV0IHVz
IG1lZXQgdGhpcyB3ZWVrZW5kLiJdLAogIFsiaOG6uW4iLCJoZW4g4oaTIiwidG8gbWFrZSBhbiBhcHBvaW50bWVudCIsIkjhurluIG3huqV5IGdp4budPyA9
IHdoYXQgdGltZSBzaGFsbCB3ZSBtZWV0PyIsIvCfk4UiLCJNw6xuaCBo4bq5biBi4bqjeSBnaeG7nSB04buRaSBuaMOpLiIsIkxldCB1cyBzYXkgNyBwbS4i
XSwKICBbInLhuqNuaCIsInphbmcg4qS1IiwiZnJlZSAodGltZSkiLCJS4bqjbmgga2jDtG5nPyA9IGFyZSB5b3UgZnJlZT8g4oCUIHRoZSBpbnZpdGF0aW9u
IG9wZW5lciIsIvCfhpMiLCJNYWkgY2jDoXUgcuG6o25oIGPhuqMgbmfDoHkuIiwiVG9tb3Jyb3cgSSBhbSBmcmVlIGFsbCBkYXkuIl0sCiAgWyJi4bqtbiIs
ImJ1aG4g4oaTIiwiYnVzeSIsIkLhuq1uIGzhuq9tID0gdmVyeSBidXN5IOKAlCB0aGUgbW9kZXJuIGV4Y3VzZSBncmFuZG1hIG5ldmVyIGFjY2VwdHMiLCLw
n5iFIiwiVHXhuqduIG7DoHkgY2jDoXUgaMahaSBi4bqtbi4iLCJUaGlzIHdlZWsgSSBhbSBhIGJpdCBidXN5LiJdLAogIFsiY3Xhu5FpIHR14bqnbiIsImtv
by1veSDihpcgdG9vLXVobiDihpgiLCJ3ZWVrZW5kIiwiQ3Xhu5FpIHR14bqnbiBuw6B5ID0gdGhpcyB3ZWVrZW5kIiwi8J+ThiIsIkN14buRaSB0deG6p24g
bsOgeSB24buBIHF1w6ogbmjDqSEiLCJMZXQgdXMgdmlzaXQgdGhlIGhvbWV0b3duIHRoaXMgd2Vla2VuZCEiXSwKICBbInRo4bupIGLhuqN5IiwidG9vIOKG
lyBiaWdoIOKktSIsIlNhdHVyZGF5IiwiRGF5cyBjb3VudCBmcm9tIE1vbmRheSA9IHRo4bupIGhhaSAoZGF5IDIp4oCmIFNhdHVyZGF5ID0gdGjhu6kgYuG6
o3kgKGRheSA3KSIsIjbvuI/ig6MiLCJUaOG7qSBi4bqjeSBjaMOhdSDEkeG6v24gbmjDoCBiw6FjIG5ow6kuIiwiU2F0dXJkYXkgSSB3aWxsIGNvbWUgdG8g
VW5jbGUncyBob3VzZS4iXSwKICBbImNo4bunIG5o4bqtdCIsImNob28g4qS1IG55dWh0IOKGkyIsIlN1bmRheSIsIlRoZSBvbmUgZGF5IE5PVCBudW1iZXJl
ZCDigJQgY2jhu6cgbmjhuq10LCB0aGUgJ21haW4gZGF5JyIsIuKYgO+4jyIsIkNo4bunIG5o4bqtdCBj4bqjIG5ow6AgxINuIGPGoW0gduG7m2kgbmhhdS4i
LCJPbiBTdW5kYXkgdGhlIHdob2xlIGZhbWlseSBlYXRzIHRvZ2V0aGVyLiJdLAogIFsiaMO0bSBuYXkiLCJob2htIOKGkiBuaWdoIOKGkiIsInRvZGF5Iiwi
SMO0bSBuYXkgbMOgIHRo4bupIG3huqV5PyA9IHdoYXQgZGF5IGlzIGl0IHRvZGF5PyIsIvCfk40iLCJIw7RtIG5heSBjaMOhdSB2dWkgbOG6r20uIiwiVG9k
YXkgSSBhbSB2ZXJ5IGhhcHB5LiJdLAogIFsibmfDoHkgbWFpIiwibmdpZ2gg4oaYIG1pZ2gg4oaSIiwidG9tb3Jyb3ciLCJPZnRlbiBqdXN0IG1haTogTWFp
IGfhurdwIG5ow6khID0gc2VlIHlvdSB0b21vcnJvdyEiLCLwn4yFIiwiTmfDoHkgbWFpIGNow6F1IMSRaSB0aMSDbSDDtG5nLiIsIlRvbW9ycm93IEkgd2ls
bCB2aXNpdCBHcmFuZHBhLiJdLAogIFsidOG7kWkiLCJ0b3kg4oaXIiwiZXZlbmluZyIsIkJ14buVaSB04buRaSA9IHRoZSBldmVuaW5nOyB04buRaSBuYXkg
PSB0b25pZ2h0Iiwi8J+MmSIsIlThu5FpIG5heSBn4buNaSB2aWRlbyBuaMOpISIsIlZpZGVvIGNhbGwgdG9uaWdodCEiXSwKICBbInPDoW5nIiwic2hhaG5n
IOKGlyIsIm1vcm5pbmciLCJCdeG7lWkgc8OhbmcgPSBtb3JuaW5nOyBzw6FuZyBtYWkgPSB0b21vcnJvdyBtb3JuaW5nIiwi8J+MhCIsIlPDoW5nIG1haSBt
w6xuaCDEkWkgxINuIHBo4bufLiIsIlRvbW9ycm93IG1vcm5pbmcgd2UgZ2V0IHBo4bufLiJdLAogIFsiY2hp4buBdSIsImNoeWV3IOKGmCIsImFmdGVybm9v
biIsIkJ14buVaSBjaGnhu4F1ID0gMTItaXNoIHRvIDYg4oCUIGZsZXhpYmxlLCBsaWtlIGFsbCBWaWV0bmFtZXNlIHRpbWUiLCLwn4yHIiwiQ2hp4buBdSBu
YXkgYsOgIGPDsyBuaMOgIGtow7RuZyDhuqE/IiwiQXJlIHlvdSBob21lIHRoaXMgYWZ0ZXJub29uLCBHcmFuZG1hPyJdLAogIFsibeG6pXkgZ2nhu50iLCJt
YXkg4oaXIHp1aCDihpgiLCJ3aGF0IHRpbWUiLCJN4bqleSBnaeG7nSBy4buTaT8gPSB3aGF0IHRpbWUgaXMgaXQ/IE3huqV5IGFza3MgbnVtYmVycyB1bmRl
ciB+MTAiLCLwn5WQIiwiTeG6pXkgZ2nhu50gbcOsbmggZ+G6t3AgbmhhdSDhuqE/IiwiV2hhdCB0aW1lIHNoYWxsIHdlIG1lZXQ/Il0sCiAgWyLEkcO6bmcg
Z2nhu50iLCJkb29uZyDihpcgenVoIOKGmCIsIm9uIHRpbWUiLCJHaeG7nSBjYW8gc3UgKCdydWJiZXIgdGltZScpID0gdGhlIGFmZmVjdGlvbmF0ZSBuYW1l
IGZvciBydW5uaW5nIGxhdGUiLCLij7HvuI8iLCJM4bqnbiBuw6B5IGNow6F1IMSR4bq/biDEkcO6bmcgZ2nhu50hIiwiVGhpcyB0aW1lIEkgYXJyaXZlZCBv
biB0aW1lISJdLAogIFsibXXhu5luIiwibW9vLXVobiDihpMiLCJsYXRlIiwiTm9ydGhlcm4gd29yZCDigJQgU291dGhlcm4gZmFtaWxpZXMgc2F5IHRy4buF
Iiwi8J+PgyIsIlhpbiBs4buXaSwgY2jDoXUgxJHhur9uIG114buZbiBtxrDhu51pIHBow7p0LiIsIlNvcnJ5LCBJIGFtIHRlbiBtaW51dGVzIGxhdGUuIl0s
CiAgWyJo4buneSIsImh3ZWUg4qS1IiwidG8gY2FuY2VsIiwiSOG7p3kgaOG6uW4gPSBjYW5jZWwgcGxhbnMg4oCUIGRvIGl0IGJ5IHBob25lLCBub3QgYnkg
c2lsZW5jZSIsIvCfmqsiLCJDaMOhdSBwaOG6o2kgaOG7p3kgaOG6uW4gY2hp4buBdSBuYXkuIiwiSSBoYXZlIHRvIGNhbmNlbCB0aGlzIGFmdGVybm9vbi4i
XSwKICBbImfhu41pIGzhuqFpIiwiZ295IOKGkyBsaWdoIOKGkyIsInRvIGNhbGwgYmFjayIsIkNow6F1IGfhu41pIGzhuqFpIHNhdSBuaMOpID0gSSB3aWxs
IGNhbGwgYmFjayBsYXRlciIsIvCflIEiLCJCw6AgYuG6rW4gw6A/IENow6F1IGfhu41pIGzhuqFpIHNhdSDhuqEuIiwiQXJlIHlvdSBidXN5PyBJIHdpbGwg
Y2FsbCBiYWNrIGxhdGVyLiJdLAogIFsibMOhdCBu4buvYSIsImxhaHQg4oaXIG5vby1haCB+4oaXIiwiaW4gYSBiaXQiLCJMw6F0IG7hu69hIGfhurdwIG5o
w6kgPSBzZWUgeW91IGluIGEgYml0Iiwi4o+zIiwiTMOhdCBu4buvYSBjaMOhdSDEkeG6v24gbmjDqSEiLCJJIHdpbGwgYmUgdGhlcmUgaW4gYSBiaXQhIl1d
LAogZ3JhbW1hcjpbCiAgWyLigKYgxJHGsOG7o2Mga2jDtG5nPyIsImNhbiDigKY/IC8gaXMgaXQgb2theT8iLCJBc2tpbmcgcGVybWlzc2lvbiBvciBwb3Nz
aWJpbGl0eSwgc29mdGx5IiwiU3RhdGVtZW50ICsgxJHGsOG7o2Mga2jDtG5nPyBZZXMgPSDEkcaw4bujYyEgTm8gPSBraMO0bmcgxJHGsOG7o2MgKHJhcmUg
aW4gZmFtaWxpZXMg4oCUIHRoZXkgd2lsbCBzYXkgbWF5YmUpLiIsIkN14buRaSB0deG6p24gY2jDoXUgduG7gSDEkcaw4bujYyBraMO0bmcg4bqhPyIsIk1h
eSBJIHZpc2l0IHRoaXMgd2Vla2VuZD8iLCJU4buRaSBuYXkgZ+G7jWkgdmlkZW8gxJHGsOG7o2Mga2jDtG5nPyIsIkNhbiB3ZSB2aWRlbyBjYWxsIHRvbmln
aHQ/Il0sCiAgWyJz4bq9ICsgdmVyYiIsIndpbGwg4oCmIiwiUHJvbWlzZXMgYW5kIHBsYW5zIOKAlCB0aGUgZnV0dXJlIG1hcmtlciIsInPhur0gYmVmb3Jl
IHRoZSB2ZXJiLiBQcm9taXNlcyB0byBncmFuZHBhcmVudHMgYXJlIHNhY3JlZDogdXNlIGl0IGNhcmVmdWxseSEiLCJDaMOhdSBz4bq9IGfhu41pIMSRaeG7
h24gbeG7l2kgdHXhuqduLiIsIkkgd2lsbCBjYWxsIGV2ZXJ5IHdlZWsuIiwiU2FuZyBuxINtIGNow6F1IHPhur0gduG7gSBu4buvYS4iLCJOZXh0IHllYXIg
SSB3aWxsIGNvbWUgYmFjayBhZ2Fpbi4iXSwKICBbIm5o4bubICsgdmVyYiArIG5ow6kiLCJyZW1lbWJlciB0byDigKYiLCJHZW50bGUgcmVtaW5kZXJzIOKA
lCB0aGUgbG92ZSBsYW5ndWFnZSBvZiBWaWV0bmFtZXNlIHBhcmVudHMiLCJuaOG7myArIGFjdGlvbiArIG5ow6kuIFlvdSB3aWxsIEhFQVIgdGhpcyBjb25z
dGFudGx5OiBOaOG7myDEg24gY8ahbSBuaMOpISBOaOG7myBt4bq3YyDhuqVtIG5ow6khIiwiTmjhu5sgZ2nhu68gc+G7qWMga2jhu49lIG5ow6khIiwiUmVt
ZW1iZXIgdG8gc3RheSBoZWFsdGh5ISIsIk5o4bubIGfhu41pIGNobyBt4bq5IG5ow6khIiwiUmVtZW1iZXIgdG8gY2FsbCB5b3VyIG1vbSEiXV19LAoKe246
OSwga3I6IkPhuqNtIHjDumMiLCBlbjoiRmVlbGluZ3MgJiBSZWFjdGlvbnMiLCB2aToiU2F5IHdoYXQgeW91ciBoZWFydCBzYXlzIiwgZW1vamk6IvCfkpsi
LCBib3NzOiLwn46tIiwgYm9zc05hbWU6Ik1vb2QgUGhhbnRvbSIsCiB3b3JkczpbCiAgWyJ2dWkiLCJ2b28tZWUg4oaSIiwiaGFwcHkgLyBmdW4iLCJWdWkg
cXXDoSEgPSBzbyBoYXBweS9mdW4hIFRoZSBhbGwtcHVycG9zZSBqb3kgd29yZCIsIvCfmIQiLCLEkMaw4bujYyBn4bq3cCBiw6AsIGNow6F1IHZ1aSBs4bqv
bS4iLCJNZWV0aW5nIHlvdSwgR3JhbmRtYSwgbWFrZXMgbWUgc28gaGFwcHkuIl0sCiAgWyJideG7k24iLCJib28tdWhuIOKGmCIsInNhZCIsIkJ14buTbiBu
Z+G7pyA9IHNsZWVweSAobGl0ZXJhbGx5ICdzYWQgZm9yIHNsZWVwJykg4oCUIGRvIG5vdCBtaXggdGhlbSB1cCEiLCLwn5iiIiwiTmdoZSBiw6BpIGjDoXQg
bsOgeSBjaMOhdSB0aOG6pXkgYnXhu5NuLiIsIlRoaXMgc29uZyBtYWtlcyBtZSBmZWVsIHNhZC4iXSwKICBbIm3hu4d0IiwibWVodCDihpMiLCJ0aXJlZCIs
Ik3hu4d0IHF1w6EhIGFmdGVyIHRoZSAxNC1ob3VyIGZsaWdodCDigJQgZXZlcnlvbmUgdW5kZXJzdGFuZHMiLCLwn5iu4oCN8J+SqCIsIkNow6F1IGjGoWkg
beG7h3QgdsOsIGzhu4djaCBnaeG7nS4iLCJJIGFtIGEgYml0IHRpcmVkIGZyb20gamV0IGxhZy4iXSwKICBbImNow6FuIiwiY2hhaG4g4oaXIiwiYm9yZWQi
LCJDaMOhbiBxdcOhID0gc28gYm9yaW5nOyBhbHNvICdmZWQgdXAnIiwi8J+lsSIsIktow7RuZyBjw7Mgd2lmaSwgY2jDoW4gcXXDoSEiLCJObyB3aWZpIOKA
lCBzbyBib3JpbmchIl0sCiAgWyJz4bujIiwic2h1aCDihpMiLCJzY2FyZWQiLCJT4bujIHF1w6EhID0gc28gc2NhcnkhIChjcm9zc2luZyBIw6AgTuG7mWkg
dHJhZmZpYyB0aGUgZmlyc3QgdGltZSkiLCLwn5ixIiwiTMO6YyDEkeG6p3UgY2jDoXUgc+G7oyB4ZSBtw6F5IGzhuq9tLiIsIkF0IGZpcnN0IEkgd2FzIHNj
YXJlZCBvZiB0aGUgbW90b3JiaWtlcy4iXSwKICBbIm5n4bqhYyBuaGnDqm4iLCJuZ2FoayDihpMgbnllbiDihpIiLCJzdXJwcmlzZWQiLCJOZ+G6oWMgbmhp
w6puIGNoxrBhISA9IHN1cnByaXNlISDigJQgc2FpZCB3aGVuIHJldmVhbGluZyBzb21ldGhpbmciLCLwn5iyIiwiQ+G6oyBuaMOgIG5n4bqhYyBuaGnDqm4g
a2hpIGNow6F1IG7Ds2kgdGnhur9uZyBWaeG7h3QuIiwiVGhlIGZhbWlseSB3YXMgc3VycHJpc2VkIHdoZW4gSSBzcG9rZSBWaWV0bmFtZXNlLiJdLAogIFsi
ecOqdSIsInlldyDihpIiLCJ0byBsb3ZlIiwiWcOqdSBpcyBzdHJvbmcg4oCUIGZvciBmYW1pbHksIGRhdGluZywgYW5kIHBo4bufLiBDaMOhdSB5w6p1IGLD
oCA9IEkgbG92ZSB5b3UsIEdyYW5kbWEiLCLinaTvuI8iLCJDaMOhdSB5w6p1IGLDoCBuaGnhu4F1IGzhuq9tLiIsIkkgbG92ZSB5b3Ugc28gbXVjaCwgR3Jh
bmRtYS4iXSwKICBbImdow6l0IiwiZ2VodCDihpciLCJ0byBoYXRlIiwiU29mdGVyIGluIFZpZXRuYW1lc2UgdGhhbiBFbmdsaXNoIOKAlCBraWRzIHNheSBp
dCBwbGF5ZnVsbHkiLCLwn5KiIiwiQ2jDoXUgZ2jDqXQgZOG6rXkgc+G7m20hIiwiSSBoYXRlIHdha2luZyB1cCBlYXJseSEiXSwKICBbIm5o4bubIiwibnl1
aCDihpciLCJ0byBtaXNzIC8gcmVtZW1iZXIiLCJPbmUgd29yZCwgdHdvIG1lYW5pbmdzOiBuaOG7myBiw6AgPSBtaXNzIGdyYW5kbWE7IG5o4bubIHPhu5Eg
PSByZW1lbWJlciB0aGUgbnVtYmVyIiwi8J+luiIsIkNow6F1IG5o4bubIGLDoCBuaGnhu4F1IGzhuq9tLiIsIkkgbWlzcyB5b3Ugc28gbXVjaCwgR3JhbmRt
YS4iXSwKICBbImPGsOG7nWkiLCJrb28tdWgtZWUg4oaYIiwidG8gbGF1Z2ggLyBzbWlsZSIsIkPGsOG7nWkgbMOqbiEgPSBzbWlsZSEgVmlldG5hbWVzZSBz
bWlsZSB0aHJvdWdoIGV2ZXJ5dGhpbmciLCLwn5iBIiwiQsOgIGPGsOG7nWkgZ2nhu5FuZyBt4bq5IGNow6F1LiIsIkdyYW5kbWEgbGF1Z2hzIGxpa2UgbXkg
bW9tLiJdLAogIFsia2jDs2MiLCJraG9wIOKGlyIsInRvIGNyeSIsIsSQ4burbmcga2jDs2MgPSBkbyBub3QgY3J5LiBBaXJwb3J0IGdvb2RieWVzOiBldmVy
eW9uZSBraMOzYyIsIvCfmK0iLCJN4bq5IGNow6F1IGtow7NjIGtoaSBuZ2hlIGdp4buNbmcgYsOgLiIsIk1vbSBjcmllZCBoZWFyaW5nIEdyYW5kbWEncyB2
b2ljZS4iXSwKICBbImjhuqFuaCBwaMO6YyIsImhhbmcg4oaTIGZvb2sg4oaXIiwiaGFwcGluZXNzIC8gaGFwcHkgKGRlZXBseSkiLCJCaWdnZXIgdGhhbiB2
dWkg4oCUIHRoZSB3ZWRkaW5nLXRvYXN0LCB3aG9sZS1saWZlIGtpbmQgb2YgaGFwcHkiLCLwn4yIIiwiQ2jDumMgZ2lhIMSRw6xuaCBtw6xuaCBsdcO0biBo
4bqhbmggcGjDumMhIiwiV2lzaGluZyBvdXIgZmFtaWx5IGxhc3RpbmcgaGFwcGluZXNzISJdLAogIFsibG8iLCJsYXcg4oaSIiwidG8gd29ycnkiLCLEkOG7
q25nIGxvISA9IGRvIG5vdCB3b3JyeSEgTeG6uSBsbyBs4bqvbSA9IG1vbSB3b3JyaWVzIGEgbG90IChzaGUgZG9lcykiLCLwn5ifIiwiQsOgIMSR4burbmcg
bG8sIGNow6F1IMSDbiDEkeG7pyBtw6AhIiwiRG8gbm90IHdvcnJ5LCBHcmFuZG1hIOKAlCBJIGVhdCBlbm91Z2ghIl0sCiAgWyJ04bupYyBnaeG6rW4iLCJ0
dWhrIOKGlyB6dWhuIOKGkyIsImFuZ3J5IiwiT2Z0ZW4gc2hvcnRlbmVkIHRvIHThu6ljOiBU4bupYyBxdcOhISA9IHNvIGFubm95aW5nISIsIvCfmKQiLCLE
kOG7q25nIHThu6ljIGdp4bqtbiwgdOG7qyB04burIG7Ds2kuIiwiRG8gbm90IGJlIGFuZ3J5IOKAlCBzcGVhayBzbG93bHkuIl0sCiAgWyJ4w7pjIMSR4buZ
bmciLCJzb29rIOKGlyBkb2huZyDihpMiLCJtb3ZlZCAvIHRvdWNoZWQiLCJXaGVuIGdyYW5kbWEgc2hvd3MgeW91IHlvdXIgYmFieSBwaG90b3Mg4oCUIHjD
umMgxJHhu5luZyIsIvCfpbkiLCJDaMOhdSB4w7pjIMSR4buZbmcgcXXDoSwga2jDtG5nIG7Ds2kgxJHGsOG7o2MuIiwiSSBhbSB0b28gbW92ZWQgdG8gc3Bl
YWsuIl0sCiAgWyJ0dXnhu4d0IHbhu51pIiwidHd5ZXQg4oaTIHZ1aC1lZSDihpgiLCJ3b25kZXJmdWwiLCJUdXnhu4d0IHbhu51pISA9IGFtYXppbmchIFN0
cm9uZywgd2FybSBwcmFpc2UiLCLwn4yfIiwiQ2h1eeG6v24gxJFpIG7DoHkgdGjhuq10IHR1eeG7h3QgduG7nWkuIiwiVGhpcyB0cmlwIGlzIHRydWx5IHdv
bmRlcmZ1bC4iXSwKICBbInRy4budaSDGoWkiLCJjaHVoLWVlIOKGmCB1aC1lZSDihpIiLCJvaCBteSBnb29kbmVzcyIsIlRIRSBWaWV0bmFtZXNlIGV4Y2xh
bWF0aW9uIOKAlCBzdXJwcmlzZSwgam95LCBob3Jyb3IsIGFsbCBvZiBpdCIsIvCfmYAiLCJUcuG7nWkgxqFpLCBjaMOhdSBs4bubbiBxdcOhIHLhu5NpISIs
Ik9oIG15IOKAlCB5b3UgaGF2ZSBncm93biBzbyBtdWNoISJdLAogIFsidGjhuq10IMOhIiwidHVodCDihpMgYWgg4oaXIiwicmVhbGx5PyEiLCJDYXN1YWwg
ZGlzYmVsaWVmIHdpdGggZnJpZW5kcyDigJQgd2l0aCBlbGRlcnMgc2F5IHRo4bqtdCDhuqE/Iiwi8J+kqCIsIlRo4bqtdCDDoT8gS+G7gyB0aeG6v3AgxJFp
ISIsIlJlYWxseT8hIEtlZXAgdGVsbGluZyEiXSwKICBbImtow7RuZyBzYW8iLCJraG9obmcg4oaSIHNob3cg4oaSIiwiaXQgaXMgb2theSAvIG5vIHByb2Js
ZW0iLCJUaGUgdW5pdmVyc2FsIHNvb3RoZXI6IGJ1bXBlZCBlbGJvd3MsIHNtYWxsIG1pc3Rha2VzLCBiaWcgd29ycmllcyIsIvCfmYYiLCJLaMO0bmcgc2Fv
IMSRw6J1IOG6oSwgY2jDoXUg4buVbi4iLCJJdCBpcyBmaW5lIOKAlCBJIGFtIG9rYXkuIl0sCiAgWyJ0aOG6pXkiLCJ0YXkg4oaXIiwidG8gZmVlbCAvIHNl
ZSIsIlRo4bqleSB0aOG6vyBuw6BvPyA9IGhvdyBkbyB5b3UgZmVlbC9maW5kIGl0PyIsIvCfqp4iLCJDaMOhdSB0aOG6pXkgSMOgIE7hu5lpIHLhuqV0IMSR
4bq5cC4iLCJJIGZpbmQgSMOgIE7hu5lpIHZlcnkgYmVhdXRpZnVsLiJdLAogIFsiaMahaSIsImh1aC1lZSDihpIiLCJhIGxpdHRsZSAvIHNsaWdodGx5Iiwi
SMahaSBt4buHdCwgaMahaSBideG7k24g4oCUIHNvZnRlbnMgYW55IGZlZWxpbmciLCLwn6SPIiwiQ2jDoXUgaMahaSBuaOG7myBuaMOgLiIsIkkgYW0gYSBs
aXR0bGUgaG9tZXNpY2suIl0sCiAgWyJy4bqldCIsInp1aHQg4oaXIiwidmVyeSIsIlLhuqV0IHZ1aSDEkcaw4bujYyBn4bq3cCBiw6FjISA9IHZlcnkgZ2xh
ZCB0byBtZWV0IHlvdSEgKGZvcm1hbC13YXJtKSIsIvCfkq8iLCJDaMOhdSBy4bqldCB2dWkgxJHGsOG7o2Mg4bufIMSRw6J5LiIsIkkgYW0gdmVyeSBoYXBw
eSB0byBiZSBoZXJlLiJdLAogIFsiY8WpbmciLCJrb29uZyB+4oaXIiwiYWxzbyAvIHRvbyIsIkNow6F1IGPFqW5nIHbhuq15ID0gbWUgdG9vIOKAlCBpbnN0
YW50IGFncmVlbWVudCIsIvCfkaUiLCJDaMOhdSBjxaluZyBuaOG7myBt4buNaSBuZ8aw4budaS4iLCJJIG1pc3MgZXZlcnlvbmUgdG9vLiJdLAogIFsiYsOs
bmggdGjGsOG7nW5nIiwiYmluZyDihpggdG9vLXVobmcg4oaYIiwibm9ybWFsIC8gc28tc28iLCJLaOG7j2Uga2jDtG5nPyDigJQgQsOsbmggdGjGsOG7nW5n
ID0gSSBhbSBva2F5LCBub3RoaW5nIHNwZWNpYWwiLCLwn5iQIiwiSMO0bSBuYXkgY2jDoXUgdGjhuqV5IGLDrG5oIHRoxrDhu51uZy4iLCJUb2RheSBJIGZl
ZWwgc28tc28uIl1dLAogZ3JhbW1hcjpbCiAgWyJ0aOG6pXkgKyBhZGplY3RpdmUiLCJ0byBmZWVsIOKApiIsIkV4cHJlc3NpbmcgaG93IHlvdSBmZWVsIHJp
Z2h0IG5vdyIsIihwZXJzb24pICsgdGjhuqV5ICsgZmVlbGluZy4gQ2jDoXUgdGjhuqV5IHZ1aSA9IEkgZmVlbCBoYXBweS4gQWRkIGjGoWkvcuG6pXQgdG8g
dHVuZSBpdC4iLCJDaMOhdSB0aOG6pXkgcuG6pXQgaOG6oW5oIHBow7pjLiIsIkkgZmVlbCB2ZXJ5IGhhcHB5LiIsIkLDoCB0aOG6pXkgbeG7h3Qga2jDtG5n
IOG6oT8iLCJEbyB5b3UgZmVlbCB0aXJlZCwgR3JhbmRtYT8iXSwKICBbIm5o4bubICsgcGVyc29uIiwidG8gbWlzcyBzb21lb25lIiwiVGhlIGhlcml0YWdl
IGxlYXJuZXIncyBtb3N0IGltcG9ydGFudCB2ZXJiIiwibmjhu5sgKyBwZXJzb24gPSBtaXNzIHRoZW0uIENow6F1IG5o4bubIGLDoCDigJQgc2F5IGl0IG9u
IGV2ZXJ5IGNhbGwuIEl0IGlzIHdoeSB5b3UgYXJlIGxlYXJuaW5nLiIsIkNow6F1IG5o4bubIMO0bmcgYsOgIGzhuq9tLiIsIkkgbWlzcyB5b3Ugc28gbXVj
aCwgR3JhbmRwYSBhbmQgR3JhbmRtYS4iLCJN4bq5IGNow6F1IGPFqW5nIG5o4bubIG3hu41pIG5nxrDhu51pLiIsIk15IG1vbSBtaXNzZXMgZXZlcnlvbmUg
dG9vLiJdLAogIFsiVHLhu51pIMahaSEgLyBUaOG6rXQg4bqhPyAvIEtow7RuZyBzYW8hIiwicmVhY3Rpb25zIiwiU291bmRpbmcgYWxpdmUgaW4gYSBjb252
ZXJzYXRpb24g4oCUIHJlYWN0LCBkbyBub3QganVzdCBhbnN3ZXIiLCJTcHJpbmtsZSByZWFjdGlvbnMgd2hpbGUgbGlzdGVuaW5nOiBUcuG7nWkgxqFpICh3
b3cpLCBUaOG6rXQg4bqhPyAocmVhbGx5PyksIEtow7RuZyBzYW8gKG5vIHdvcnJpZXMpLiIsIlRy4budaSDGoWksIHRo4bqtdCDhuqE/IiwiT2ggbXksIHJl
YWxseT8iLCJLaMO0bmcgc2FvIMSRw6J1IOG6oSEiLCJJdCBpcyByZWFsbHkgb2theSEiXV19LAoKe246MTAsIGtyOiJLaGkgYuG7iyDhu5FtIiwgZW46IlNp
Y2sgRGF5Iiwgdmk6IkdldCBiZXR0ZXIsIGdyYW5kbWEtc3R5bGUiLCBlbW9qaToi8J+kkiIsIGJvc3M6IvCfpqAiLCBib3NzTmFtZToiU25pZmZsZSBHb2Js
aW4iLAogd29yZHM6WwogIFsi4buRbSIsIm9obSDihpciLCJzaWNrIiwiTm9ydGhlcm4gd29yZCDigJQgaW4gdGhlIFNvdXRoIOG7kW0gbWVhbnMgdGhpbiwg
YW5kIGLhu4duaCBtZWFucyBzaWNrISIsIvCfpJIiLCJDaMOhdSBi4buLIOG7kW0gdOG7qyBow7RtIHF1YS4iLCJJIGhhdmUgYmVlbiBzaWNrIHNpbmNlIHll
c3RlcmRheS4iXSwKICBbIsSRYXUiLCJkb3cg4oaSIiwidG8gaHVydCIsIsSQYXUgKyBib2R5IHBhcnQgPSBpdCBodXJ0czogxJFhdSDEkeG6p3UsIMSRYXUg
YuG7pW5nIiwi8J+klSIsIkNow6F1IGLhu4sgxJFhdSDEkeG6p3UuIiwiSSBoYXZlIGEgaGVhZGFjaGUuIl0sCiAgWyLEkeG6p3UiLCJkb2gg4oaYIiwiaGVh
ZCIsIsSQYXUgxJHhuqd1ID0gaGVhZGFjaGUgKGFsc28gd2hhdCBwYXBlcndvcmsgZ2l2ZXMgeW91KSIsIvCfl6PvuI8iLCLEkOG6p3UgY2jDoXUgaMahaSDE
kWF1LiIsIk15IGhlYWQgaHVydHMgYSBsaXR0bGUuIl0sCiAgWyJi4bulbmciLCJib29uZyDihpMiLCJzdG9tYWNoIC8gYmVsbHkiLCLEkGF1IGLhu6VuZyBh
ZnRlciBzdHJlZXQgZm9vZCBhZHZlbnR1cmVzIOKAlCBpdCBoYXBwZW5zIHRvIGV2ZXJ5b25lIiwi8J+rgyIsIkLhu6VuZyBjaMOhdSBraMO0bmcg4buVbiBs
4bqvbS4iLCJNeSBzdG9tYWNoIGlzIG5vdCBkb2luZyBncmVhdC4iXSwKICBbImjhu41uZyIsImhvbmcg4qS1IiwidGhyb2F0IiwixJBhdSBo4buNbmcgPSBz
b3JlIHRocm9hdCIsIvCfmLciLCJDaMOhdSBi4buLIMSRYXUgaOG7jW5nLCBuw7NpIGtow7MuIiwiTXkgdGhyb2F0IGh1cnRzIOKAlCB0YWxraW5nIGlzIGhh
cmQuIl0sCiAgWyJyxINuZyIsInphbmcg4oaSIiwidG9vdGgiLCLEkGF1IHLEg25nID0gdG9vdGhhY2hlIOKAlCB0aGUgd29yc3Qgb25lIiwi8J+mtyIsIkNo
w6F1IGLhu4sgxJFhdSByxINuZyBy4buTaS4iLCJJIGhhdmUgYSB0b290aGFjaGUuIl0sCiAgWyJjaMOibiIsImNodWhuIOKGkiIsImxlZyAvIGZvb3QiLCJP
bmUgd29yZCBjb3ZlcnMgYm90aCBsZWcgYW5kIGZvb3QiLCLwn6a1IiwixJBpIGLhu5kgbmhp4buBdSwgY2jDom4gY2jDoXUgxJFhdS4iLCJTbyBtdWNoIHdh
bGtpbmcg4oCUIG15IGxlZ3MgaHVydC4iXSwKICBbInRheSIsInRpZ2gg4oaSIiwiYXJtIC8gaGFuZCIsIk9uZSB3b3JkIGNvdmVycyBib3RoIGFybSBhbmQg
aGFuZCIsIuKciyIsIlLhu61hIHRheSB0csaw4bubYyBraGkgxINuIG5ow6khIiwiV2FzaCB5b3VyIGhhbmRzIGJlZm9yZSBlYXRpbmchIl0sCiAgWyJt4bqv
dCIsIm1haHQg4oaXIiwiZXllIiwiTeG7j2kgbeG6r3QgPSB0aXJlZCBleWVzICh0b28gbXVjaCBwaG9uZSkiLCLwn5GB77iPIiwiTeG6r3QgY2jDoXUgaMah
aSBt4buPaS4iLCJNeSBleWVzIGFyZSBhIGJpdCB0aXJlZC4iXSwKICBbInPhu5F0Iiwic2hvaHQg4oaXIiwiZmV2ZXIiLCJC4buLIHPhu5F0ID0gaGF2ZSBh
IGZldmVyOyBz4buRdCBjYW8gPSBoaWdoIGZldmVyIiwi8J+Moe+4jyIsIkNow6F1IGLhu4sgc+G7kXQgbmjhurkg4bqhLiIsIkkgaGF2ZSBhIHNsaWdodCBm
ZXZlci4iXSwKICBbImhvIiwiaGF3IOKGkiIsInRvIGNvdWdoIiwiSG8gbmhp4buBdSA9IGNvdWdoaW5nIGEgbG90Iiwi8J+kpyIsIkNow6F1IGhvIHThu6sg
dOG7kWkgcXVhLiIsIkkgaGF2ZSBiZWVuIGNvdWdoaW5nIHNpbmNlIGxhc3QgbmlnaHQuIl0sCiAgWyJj4bqjbSIsImthaG0g4qS1IiwiYSBjb2xkIiwiQuG7
iyBj4bqjbSA9IGNhdGNoIGEgY29sZC4gR3JhbmRtYSdzIGRpYWdub3NpczogeW91IGRpZCBub3QgZHJlc3Mgd2FybWx5Iiwi8J+ltiIsIkNo4bqvYyBjaMOh
dSBi4buLIGPhuqNtIHLhu5NpLiIsIkkgdGhpbmsgSSBjYXVnaHQgYSBjb2xkLiJdLAogIFsidGh14buRYyIsInRvby11aGsg4oaXIiwibWVkaWNpbmUiLCJV
4buRbmcgdGh14buRYyA9IHRha2UgbWVkaWNpbmUgKGxpdGVyYWxseSAnZHJpbmsnIGl0KSIsIvCfkooiLCJDaMOhdSB14buRbmcgdGh14buRYyBjaMawYT8i
LCJIYXZlIHlvdSB0YWtlbiB5b3VyIG1lZGljaW5lPyJdLAogIFsiaGnhu4d1IHRodeG7kWMiLCJoeWV3IOKGkyB0b28tdWhrIOKGlyIsInBoYXJtYWN5Iiwi
Tm9ydGhlcm4gd29yZCDigJQgU291dGhlcm4gc2F5cyBuaMOgIHRodeG7kWMuIFBoYXJtYWNpc3RzIGdpdmUgcXVpY2sgYWR2aWNlIGZyZWUiLCLwn4+qIiwi
SGnhu4d1IHRodeG7kWMg4bufIGfhuqduIMSRw6J5IGtow7RuZyDhuqE/IiwiSXMgdGhlcmUgYSBwaGFybWFjeSBuZWFyIGhlcmU/Il0sCiAgWyJi4buHbmgg
dmnhu4duIiwiYmVuZyDihpMgdnllbiDihpMiLCJob3NwaXRhbCIsIkZvciByZWFsIGVtZXJnZW5jaWVzIGluIEjDoCBO4buZaTogQuG7h25oIHZp4buHbiBW
aeG7h3QgxJDhu6ljLCBC4bqhY2ggTWFpIiwi8J+PpSIsIktow7RuZyBj4bqnbiDEkWkgYuG7h25oIHZp4buHbiDEkcOidSDhuqEuIiwiTm8gbmVlZCB0byBn
byB0byB0aGUgaG9zcGl0YWwuIl0sCiAgWyJiw6FjIHPEqSIsImJhaGsg4oaXIHNoZWUgfuKGlyIsImRvY3RvciIsIsSQaSBraMOhbSBiw6FjIHPEqSA9IGdv
IHNlZSBhIGRvY3RvciIsIvCfp5HigI3impXvuI8iLCJCw6FjIHPEqSBuw7NpIGNow6F1IGNo4buJIGLhu4sgY+G6o20uIiwiVGhlIGRvY3RvciBzYXlzIGl0
IGlzIGp1c3QgYSBjb2xkLiJdLAogIFsibmdo4buJIiwibmdlZSDipLUiLCJ0byByZXN0IiwiTmdo4buJIG5nxqFpID0gcmVzdCB1cDsgbmdo4buJIG3hu5l0
IGNow7p0ID0gdGFrZSBhIGJyZWFrIiwi8J+bjCIsIkjDtG0gbmF5IGNow6F1IG5naOG7iSDhu58gbmjDoC4iLCJUb2RheSBJIGFtIHJlc3RpbmcgYXQgaG9t
ZS4iXSwKICBbIm5n4bunIiwibmdvbyDipLUiLCJ0byBzbGVlcCIsIk5n4bunIG5nb24hID0gc2xlZXAgd2VsbCEg4oCUIHNheSBpdCBldmVyeSBuaWdodCBh
dCBncmFuZG1hJ3MiLCLwn5i0IiwiQ2jDoXUgbmfhu6cgc+G7m20gY2hvIGto4buPZS4iLCJJIHdpbGwgc2xlZXAgZWFybHkgdG8gZ2V0IGJldHRlci4iXSwK
ICBbImtow6FtIiwia2hhaG0g4oaXIiwidG8gZXhhbWluZSAobWVkaWNhbGx5KSIsIsSQaSBraMOhbSA9IGdldCBjaGVja2VkLiBLaMOhbSByxINuZyA9IGRl
bnRhbCBjaGVjayIsIvCfqboiLCJNYWkgY2jDoXUgxJFpIGtow6FtIG5ow6kuIiwiVG9tb3Jyb3cgSSB3aWxsIGdldCBjaGVja2VkLiJdLAogIFsixJHhu6Ei
LCJkdWggfuKGlyIsInRvIGZlZWwgYmV0dGVyIiwixJDhu6EgY2jGsGE/ID0gZmVlbGluZyBiZXR0ZXIgeWV0PyDigJQgZ3JhbmRtYSBhc2tzIGhvdXJseSIs
IvCfk4giLCJDaMOhdSDEkeG7oSBuaGnhu4F1IHLhu5NpIOG6oS4iLCJJIGZlZWwgbXVjaCBiZXR0ZXIuIl0sCiAgWyJraOG7j2kiLCJraG95IOKktSIsInJl
Y292ZXJlZCIsIkto4buPaSBy4buTaSEgPSBhbGwgYmV0dGVyISBUaGUgdmljdG9yeSB3b3JkIiwi8J+OiSIsIkNow6F1IGto4buPaSDhu5FtIHLhu5NpLCBi
w6AgxqFpISIsIkkgYW0gYWxsIGJldHRlciwgR3JhbmRtYSEiXSwKICBbImPhuqluIHRo4bqtbiIsImt1aG4g4qS1IHR1aG4g4oaTIiwiY2FyZWZ1bCIsIkPh
uqluIHRo4bqtbiBuaMOpISA9IGJlIGNhcmVmdWwhIOKAlCB0aGUgZmFtaWx5IGdvb2RieWUgYmxlc3NpbmciLCLimqDvuI8iLCLEkGkgeGUgY+G6qW4gdGjh
uq1uIG5ow6khIiwiUmlkZSBjYXJlZnVsbHkhIl0sCiAgWyJz4bupYyBraOG7j2UiLCJzaHVoayDihpcga2h3ZWgg4qS1IiwiaGVhbHRoIiwiQ2jDumMgc+G7
qWMga2jhu49lID0gd2lzaGluZyB5b3UgaGVhbHRoIOKAlCBpbiBldmVyeSB0b2FzdCBhbmQgVOG6v3Qgd2lzaCIsIvCfkqoiLCJDaMO6YyDDtG5nIGLDoCBu
aGnhu4F1IHPhu6ljIGto4buPZSDhuqEhIiwiV2lzaGluZyB5b3UgZ3JlYXQgaGVhbHRoLCBHcmFuZHBhIGFuZCBHcmFuZG1hISJdLAogIFsiY2jDoW8iLCJj
aG93IOKGlyIsInJpY2UgcG9ycmlkZ2UiLCJWaWV0bmFtZXNlIGNoaWNrZW4gc291cCBmb3IgdGhlIHNvdWwg4oCUIGdyYW5kbWEncyBjdXJlIGZvciBldmVy
eXRoaW5nIiwi8J+loyIsIkLDoCBu4bqldSBjaMOhbyBnw6AgY2hvIGNow6F1LiIsIkdyYW5kbWEgbWFkZSBtZSBjaGlja2VuIHBvcnJpZGdlLiJdXSwKIGdy
YW1tYXI6WwogIFsiYuG7iyArIGJhZCB0aGluZyIsInRvIHN1ZmZlciAvIGJlIChzb21ldGhpbmcgYmFkKSIsIkJlaW5nIHNpY2ssIGh1cnQsIHN0dWNrIOKA
lCBi4buLIG1hcmtzIHRoZSBiYWQgc3R1ZmYiLCJi4buLICsgc2lja25lc3MvbWlzZm9ydHVuZTogYuG7iyDhu5FtLCBi4buLIMSRYXUgxJHhuqd1LCBi4buL
IGzhuqFjLCBi4buLIHThuq9jIMSRxrDhu51uZy4iLCJDaMOhdSBi4buLIGPhuqNtIHLhu5NpLiIsIkkgY2F1Z2h0IGEgY29sZC4iLCJDaMOhdSBi4buLIMSR
YXUgYuG7pW5nIHThu6sgc8OhbmcuIiwiTXkgc3RvbWFjaCBoYXMgaHVydCBzaW5jZSBtb3JuaW5nLiJdLAogIFsibsOqbiArIHZlcmIiLCJzaG91bGQg4oCm
IiwiR2l2aW5nIGFuZCByZWNlaXZpbmcgZ2VudGxlIGFkdmljZSIsIm7Dqm4gYmVmb3JlIGEgdmVyYiA9IHNob3VsZC4gS2jDtG5nIG7Dqm4gPSBzaG91bGQg
bm90LiIsIkNow6F1IG7Dqm4gbmdo4buJIG5nxqFpLiIsIllvdSBzaG91bGQgcmVzdC4iLCJDaMOhdSBuw6puIHXhu5FuZyBuaGnhu4F1IG7GsOG7m2MuIiwi
WW91IHNob3VsZCBkcmluayBsb3RzIG9mIHdhdGVyLiJdLAogIFsixJFhdSArIGJvZHkgcGFydCIsIm15IOKApiBodXJ0cyIsIlRlbGxpbmcgYSBwaGFybWFj
aXN0IGV4YWN0bHkgd2hlcmUgaXQgaHVydHMiLCLEkWF1ICsgcGFydDogxJFhdSDEkeG6p3UsIMSRYXUgaOG7jW5nLCDEkWF1IGLhu6VuZywgxJFhdSByxINu
Zy4gQWRkIGLhu4sgZm9yIGZ1bGwgcGF0dGVybi4iLCJDaMOhdSBi4buLIMSRYXUgaOG7jW5nIOG6oS4iLCJNeSB0aHJvYXQgaHVydHMuIiwiw5RuZyBjw7Mg
YuG7iyDEkWF1IGNow6JuIGtow7RuZyDhuqE/IiwiRG8geW91ciBsZWdzIGh1cnQsIEdyYW5kcGE/Il1dfSwKCntuOjExLCBrcjoiVuG7gSBxdcOqIMSDbiBU
4bq/dCIsIGVuOiJU4bq/dCBpbiB0aGUgSG9tZWxhbmQiLCB2aToiVGhlIGJpZ2dlc3QgY2VsZWJyYXRpb24gb2YgdGhlIHllYXIiLCBlbW9qaToi8J+npyIs
IGJvc3M6IvCfkIkiLCBib3NzTmFtZToiVOG6v3QgRHJhZ29uIiwKIHdvcmRzOlsKICBbIlThur90IiwidGVodCDihpciLCJMdW5hciBOZXcgWWVhciIsIkNo
cmlzdG1hcyArIE5ldyBZZWFyICsgZXZlcnlvbmUncyBiaXJ0aGRheSwgYWxsIGF0IG9uY2UiLCLwn46KIiwiVOG6v3QgbsOgeSBjaMOhdSDEg24gVOG6v3Qg
4bufIFZp4buHdCBOYW0hIiwiVGhpcyBU4bq/dCBJIGNlbGVicmF0ZSBpbiBWaWV0bmFtISJdLAogIFsibsSDbSBt4bubaSIsIm5haG0g4oaSIG11aC1lZSDi
hpciLCJuZXcgeWVhciIsIkNow7pjIG3hu6tuZyBuxINtIG3hu5tpID0gSGFwcHkgTmV3IFllYXIg4oCUIGxlYXJuIGl0IGJlZm9yZSBhbnl0aGluZyBlbHNl
Iiwi8J+OhiIsIk7Eg20gbeG7m2kgxJHhur9uIHLhu5NpISIsIlRoZSBuZXcgeWVhciBpcyBoZXJlISJdLAogIFsiY2jDumMgbeG7q25nIiwiY2hvb2sg4oaX
IG11aG5nIOKGmCIsInRvIGNvbmdyYXR1bGF0ZSIsIkNow7pjIG3hu6tuZyArIG9jY2FzaW9uOiBjaMO6YyBt4burbmcgbsSDbSBt4bubaSwgY2jDumMgbeG7
q25nIHNpbmggbmjhuq10Iiwi8J+lgiIsIkNow7pjIG3hu6tuZyBuxINtIG3hu5tpIGPhuqMgbmjDoCEiLCJIYXBweSBOZXcgWWVhciwgZXZlcnlvbmUhIl0s
CiAgWyJsw6wgeMOsIiwibGVlIOKGmCBzZWUg4oaYIiwibHVja3kgbW9uZXkiLCJSZWQgZW52ZWxvcGVzIGZyb20gZWxkZXJzIOKAlCBzYXkgeW91ciBjaMO6
YyBmaXJzdCwgcmVjZWl2ZSB3aXRoIHR3byBoYW5kcyEiLCLwn6enIiwiQ2jDoXUgbOG7m24gcuG7k2kgbcOgIHbhuqtuIMSRxrDhu6NjIGzDrCB4w6whIiwi
SSBhbSBncm93biBhbmQgc3RpbGwgZ2V0IGx1Y2t5IG1vbmV5ISJdLAogIFsiYsOhbmggY2jGsG5nIiwiYmFuZyDihpcgY2h1aG5nIOKGkiIsInNxdWFyZSBz
dGlja3kgcmljZSBjYWtlIiwiVGhlIE5vcnRoZXJuIFThur90IGNha2UgKFNvdXRoOiByb3VuZCBiw6FuaCB0w6l0KSDigJQgd3JhcHBpbmcgaXQgdG9nZXRo
ZXIgaXMgdGhlIHRyYWRpdGlvbiIsIvCfjbEiLCJD4bqjIG5ow6AgZ8OzaSBiw6FuaCBjaMawbmcgxJHDqm0gbmF5LiIsIlRoZSBmYW1pbHkgd3JhcHMgYsOh
bmggY2jGsG5nIHRvbmlnaHQuIl0sCiAgWyJob2EgxJHDoG8iLCJod2FoIOKGkiBkb3cg4oaYIiwicGVhY2ggYmxvc3NvbSIsIlRoZSBOb3J0aCdzIFThur90
IGZsb3dlciDigJQgcGluayBicmFuY2hlcyBpbiBldmVyeSBob21lIChTb3V0aDogeWVsbG93IGhvYSBtYWkpIiwi8J+MuCIsIk5ow6AgbsOgbyBjxaluZyBj
w7MgaG9hIMSRw6BvLiIsIkV2ZXJ5IGhvdXNlIGhhcyBwZWFjaCBibG9zc29tcy4iXSwKICBbInbhu4EgcXXDqiIsInZlaCDihpgga3dlaCDihpIiLCJ0byBy
ZXR1cm4gdG8gdGhlIGhvbWV0b3duIiwiVEhFIFThur90IHBpbGdyaW1hZ2Ug4oCUIHRoZSB3aG9sZSBjb3VudHJ5IHRyYXZlbHMgaG9tZSBhdCBvbmNlIiwi
8J+PoSIsIlThur90IGzDoCBwaOG6o2kgduG7gSBxdcOqISIsIkF0IFThur90LCB5b3UgbXVzdCBnbyBob21lISJdLAogIFsibcOheSBiYXkiLCJtaWdoIOKG
lyBiaWdoIOKGkiIsImFpcnBsYW5lIiwiVsOpIG3DoXkgYmF5IFThur90IHNlbGxzIG91dCBtb250aHMgZWFybHkg4oCUIGJvb2sgYWhlYWQhIiwi4pyI77iP
IiwiTcOheSBiYXkgY+G7p2EgY2jDoXUgYmF5IMSRw6ptLiIsIk15IGZsaWdodCBpcyBhIG5pZ2h0IGZsaWdodC4iXSwKICBbImtow6FjaCBz4bqhbiIsImto
YWNrIOKGlyBzaGFobiDihpMiLCJob3RlbCIsIkJ1dCBmYW1pbHkgd2lsbCBpbnNpc3QgeW91IHN0YXkgd2l0aCB0aGVtIOKAlCByZXNpc3RhbmNlIGlzIGZ1
dGlsZSIsIvCfj6giLCJLaMO0bmcgY+G6p24ga2jDoWNoIHPhuqFuLCDhu58gbmjDoCBiw6AhIiwiTm8gaG90ZWwgbmVlZGVkIOKAlCBzdGF5IGF0IEdyYW5k
bWEncyEiXSwKICBbInBow7JuZyIsImZvbmcg4oaYIiwicm9vbSIsIlBow7JuZyBj4bunYSBjaMOhdSA9IG15IHJvb20gKHRoZSBvbmUgZ3JhbmRtYSBrZXB0
IHJlYWR5KSIsIvCfmqoiLCJQaMOybmcgbsOgeSBsw6AgcGjDsm5nIGPhu6dhIG3hurkgY2jDoXUgaOG7k2kgbmjhu48uIiwiVGhpcyB3YXMgbXkgbW9tJ3Mg
cm9vbSBhcyBhIGNoaWxkLiJdLAogIFsiaMOgbmggbMO9IiwiaGFuZyDihpggbGVlIOKGlyIsImx1Z2dhZ2UiLCJIYWxmIHlvdXIgaMOgbmggbMO9IGhvbWUg
d2lsbCBiZSBmb29kIGZyb20gZ3JhbmRtYS4gQWNjZXB0IGl0Iiwi8J+nsyIsIkjDoG5oIGzDvSBj4bunYSBjaMOhdSBu4bq3bmcgcXXDoSEiLCJNeSBsdWdn
YWdlIGlzIHNvIGhlYXZ5ISJdLAogIFsiaOG7mSBjaGnhur91IiwiaG9oIOKGkyBjaHlldyDihpciLCJwYXNzcG9ydCIsIkd1YXJkIGl0IGxpa2UgdHJlYXN1
cmUg4oCUIHBob3RvY29weSBpdCB0b28iLCLwn5uCIiwiSOG7mSBjaGnhur91IGPhu6dhIGNow6F1IMSRw6J5IOG6oS4iLCJIZXJlIGlzIG15IHBhc3Nwb3J0
LiJdLAogIFsiZHUgbOG7i2NoIiwiem9vIOKGkiBsaWNrIOKGkyIsInRvIHRyYXZlbCAvIHRvdXJpc20iLCLEkGkgZHUgbOG7i2NoID0gZ28gdHJhdmVsaW5n
Iiwi8J+Pne+4jyIsIk5ow6AgbcOsbmggxJFpIGR1IGzhu4tjaCBI4bqhIExvbmcgbmjDqSEiLCJMZXQgdXMgdGFrZSBhIHRyaXAgdG8gSOG6oSBMb25nISJd
LAogIFsiY2jhu6VwIOG6o25oIiwiY2hvb3Ag4oaTIGFuZyDipLUiLCJ0byB0YWtlIHBob3RvcyIsIk5vcnRoZXJuIHdvcmQg4oCUIFNvdXRoZXJuIHNheXMg
Y2jhu6VwIGjDrG5oLiBHcmFuZG1hIHdhbnRzIEFMTCB0aGUgcGhvdG9zIiwi8J+TuCIsIkNo4bulcCDhuqNuaCBj4bqjIG5ow6AgbsOgbyEiLCJGYW1pbHkg
cGhvdG8sIGV2ZXJ5b25lISJdLAogIFsixJHhurlwIiwiZGVwIOKGkyIsImJlYXV0aWZ1bCIsIsSQ4bq5cCBxdcOhISB3b3JrcyBmb3Igc2NlbmVyeSwgw6Fv
IGTDoGksIGFuZCBncmFuZG1hJ3MgZmxvd2VycyIsIvCfjLoiLCJIb2EgxJHDoG8gbsSDbSBuYXkgxJHhurlwIHF1w6EhIiwiVGhlIHBlYWNoIGJsb3Nzb21z
IGFyZSBzbyBiZWF1dGlmdWwgdGhpcyB5ZWFyISJdLAogIFsiYmnhu4NuIiwiYnllbiDipLUiLCJzZWEgLyBiZWFjaCIsIlZpZXRuYW0gaGFzIDMsMDAwKyBr
bSBvZiBjb2FzdCDigJQgSOG6oSBMb25nLCDEkMOgIE7hurVuZywgTmhhIFRyYW5nIiwi8J+Plu+4jyIsIkjDqCBuw6B5IG3DrG5oIMSRaSBiaeG7g24gbmjD
qS4iLCJUaGlzIHN1bW1lciBsZXQgdXMgZ28gdG8gdGhlIGJlYWNoLiJdLAogIFsibsO6aSIsIm5vby1lZSDihpciLCJtb3VudGFpbiIsIlNhIFBhJ3Mgcmlj
ZSB0ZXJyYWNlcyBpbiB0aGUgbm9ydGhlcm4gbsO6aSBhcmUgdW5mb3JnZXR0YWJsZSIsIuKbsO+4jyIsIlF1w6ogw7RuZyBjw7MgbsO6aSBjw7Mgc8O0bmcu
IiwiR3JhbmRwYSdzIGhvbWV0b3duIGhhcyBtb3VudGFpbnMgYW5kIHJpdmVycy4iXSwKICBbInRoxINtIiwidGFobSDihpIiLCJ0byB2aXNpdCAocGVvcGxl
KSIsIlRoxINtIGlzIGZvciBwZW9wbGUsIGR1IGzhu4tjaCBpcyBmb3IgcGxhY2VzIOKAlCB0aMSDbSBiw6AgPSB2aXNpdCBncmFuZG1hIiwi8J+PoCIsIlTh
ur90IG3DrG5oIMSRaSB0aMSDbSBo4buNIGjDoG5nLiIsIkF0IFThur90IHdlIHZpc2l0IHRoZSByZWxhdGl2ZXMuIl0sCiAgWyJo4buNIGjDoG5nIiwiaGF3
IOKGkyBoYWhuZyDihpgiLCJyZWxhdGl2ZXMiLCJQcmVwYXJlIHRvIG1lZXQgQUxMIG9mIHRoZW0g4oCUIGV2ZXJ5IGF1bnQgcmVtZW1iZXJzIHlvdSBhcyBh
IGJhYnkiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5GmIiwiSOG7jSBow6BuZyBjaMOhdSDEkcO0bmcgbOG6r20hIiwiSSBoYXZlIFNPIG1hbnkgcmVsYXRp
dmVzISJdLAogIFsic3VtIGjhu41wIiwic2hvb20g4oaSIGhvcCDihpMiLCJ0byByZXVuaXRlIChmYW1pbHkpIiwiU3VtIGjhu41wIGdpYSDEkcOsbmgg4oCU
IHRoZSB3aG9sZSBwb2ludCBvZiBU4bq/dCBpbiBvbmUgd29yZCIsIvCfq4IiLCJU4bq/dCBsw6AgZOG7i3AgZ2lhIMSRw6xuaCBzdW0gaOG7jXAuIiwiVOG6
v3QgaXMgd2hlbiB0aGUgZmFtaWx5IHJldW5pdGVzLiJdLAogIFsibWF5IG3huq9uIiwibWlnaCDihpIgbWFuIOKGlyIsImx1Y2t5IiwiQ2jDumMgbWF5IG3h
uq9uID0gZ29vZCBsdWNrISBFdmVyeXRoaW5nIGF0IFThur90IGlzIGFib3V0IGludml0aW5nIGx1Y2siLCLwn42AIiwiTsSDbSBt4bubaSBuaGnhu4F1IG1h
eSBt4bqvbiBuaMOpISIsIkxvdHMgb2YgbHVjayBpbiB0aGUgbmV3IHllYXIhIl0sCiAgWyJnaWFvIHRo4burYSIsInpvdyDihpIgdG9vLWFoIOKGmCIsIk5l
dyBZZWFyJ3MgRXZlIG1pZG5pZ2h0IiwiVGhlIHNhY3JlZCBtb21lbnQg4oCUIGluY2Vuc2UsIGZpcmV3b3JrcywgZmlyc3QgZm9vdHN0ZXBzIG9mIHRoZSB5
ZWFyIiwi8J+VmyIsIkdpYW8gdGjhu6thIGPhuqMgbmjDoCB0aOG7qWMgxJHDs24gbsSDbSBt4bubaS4iLCJBdCBtaWRuaWdodCB0aGUgd2hvbGUgZmFtaWx5
IHdlbGNvbWVzIHRoZSB5ZWFyLiJdLAogIFsicGjDoW8gaG9hIiwiZm93IOKGlyBod2FoIOKGkiIsImZpcmV3b3JrcyIsIldhdGNoZWQgb3ZlciBIb8OgbiBL
aeG6v20gTGFrZSBhdCBnaWFvIHRo4burYSDigJQgYXJyaXZlIGVhcmx5ISIsIvCfjociLCJQaMOhbyBob2Eg4bufIEjhu5MgR8awxqFtIMSR4bq5cCBs4bqv
bS4iLCJUaGUgZmlyZXdvcmtzIGF0IHRoZSBsYWtlIGFyZSBiZWF1dGlmdWwuIl0sCiAgWyJxdcOgIiwia3dhaCDihpgiLCJnaWZ0IiwiQnJpbmcgcXXDoCBm
cm9tIGFicm9hZDogY2hvY29sYXRlLCB2aXRhbWlucywgbWFwbGUgc3lydXAg4oCUIHNtYWxsIGJ1dCB0aG91Z2h0ZnVsIiwi8J+OgSIsIkNow6F1IGPDsyBx
dcOgIGNobyBj4bqjIG5ow6AhIiwiSSBoYXZlIGdpZnRzIGZvciBldmVyeW9uZSEiXV0sCiBncmFtbWFyOlsKICBbIkNow7pjICsgcGVyc29uICsgd2lzaCIs
Indpc2hpbmcgc29tZW9uZSDigKYiLCJU4bq/dCBncmVldGluZ3MsIGJpcnRoZGF5cywgdG9hc3RzIOKAlCB0aGUgYmxlc3NpbmcgcGF0dGVybiIsIkNow7pj
ICsgcGVyc29uICsgZ29vZCB0aGluZy4gU3RhY2sgdGhlbSBhdCBU4bq/dDogc+G7qWMga2jhu49lLCBtYXkgbeG6r24sIGjhuqFuaCBwaMO6YyEiLCJDaMO6
YyBiw6AgbsSDbSBt4bubaSBuaGnhu4F1IHPhu6ljIGto4buPZSEiLCJXaXNoaW5nIHlvdSBoZWFsdGggaW4gdGhlIG5ldyB5ZWFyLCBHcmFuZG1hISIsIkNo
w7pjIGPhuqMgbmjDoCBhbiBraGFuZyB0aOG7i25oIHbGsOG7o25nISIsIldpc2hpbmcgdGhlIGZhbWlseSBwZWFjZSBhbmQgcHJvc3Blcml0eSEiXSwKICBb
Im114buRbiArIHZlcmIiLCJ3YW50IHRvIOKApiIsIlNheWluZyB3aGF0IHlvdSB3YW50IHRvIGRvIiwibXXhu5FuIGJlZm9yZSB0aGUgdmVyYi4gUG9saXRl
IHdpc2g6IGNow6F1IG114buRbuKApiDhuqEuIiwiQ2jDoXUgbXXhu5FuIGjhu41jIGfDs2kgYsOhbmggY2jGsG5nLiIsIkkgd2FudCB0byBsZWFybiB0byB3
cmFwIGLDoW5oIGNoxrBuZy4iLCJDaMOhdSBtdeG7kW4g4bufIGzhuqFpIHRow6ptIG3hu5l0IHR14bqnbi4iLCJJIHdhbnQgdG8gc3RheSBvbmUgbW9yZSB3
ZWVrLiJdLAogIFsixJHDoyArIHZlcmIgKyBy4buTaSIsImFscmVhZHkgZGlkIOKApiIsIlNheWluZyBzb21ldGhpbmcgaXMgZG9uZSIsIsSRw6MgYmVmb3Jl
IHRoZSB2ZXJiIChvZnRlbiBkcm9wcGVkKSwgcuG7k2kgYXQgdGhlIGVuZCAobmV2ZXIgZHJvcHBlZCk6IMSCbiBy4buTaSEiLCJDaMOhdSDEkcOjIMSR4bq3
dCB2w6kgcuG7k2kuIiwiSSBhbHJlYWR5IGJvb2tlZCB0aGUgdGlja2V0LiIsIkLDoCDEkcOjIGfDs2kgbcaw4budaSBjw6FpIGLDoW5oIHLhu5NpISIsIkdy
YW5kbWEgYWxyZWFkeSB3cmFwcGVkIHRlbiBjYWtlcyEiXV19LAoKe246MTIsIGtyOiJOaOG7nSBnacO6cCDEkeG7oSIsIGVuOiJTT1MgVmlldG5hbWVzZSIs
IHZpOiJBc2sgZm9yIGhlbHAgbGlrZSBhIHBybyIsIGVtb2ppOiLwn4aYIiwgYm9zczoi8J+mliIsIGJvc3NOYW1lOiJQYW5pYyBSZXgiLAogd29yZHM6Wwog
IFsiZ2nDunAiLCJ6b29wIOKGlyIsInRvIGhlbHAiLCJHacO6cCBjaMOhdSB24bubaSEgPSBoZWxwIG1lISDigJQgduG7m2kgbWFrZXMgaXQgYSBwbGVhIiwi
8J+knSIsIkLDoWMgZ2nDunAgY2jDoXUgbeG7mXQgY2jDunQgxJHGsOG7o2Mga2jDtG5nIOG6oT8iLCJDb3VsZCB5b3UgaGVscCBtZSBhIG1vbWVudD8iXSwK
ICBbImzDoG0gxqFuIiwibGFobSDihpggdWhuIOKGkiIsInBsZWFzZSAoYmVnZ2luZykiLCJTdHJvbmdlciB0aGFuIOG6oSDigJQgZm9yIHdoZW4geW91IHJl
YWxseSBuZWVkIGhlbHAiLCLwn5mPIiwiTMOgbSDGoW4gZ2nDunAgY2jDoXUgduG7m2kg4bqhISIsIlBsZWFzZSBoZWxwIG1lISJdLAogIFsibmjhu50iLCJu
eXVoIOKGmCIsInRvIGFzayBhIGZhdm9yIiwiTmjhu50gYsOhYyBt4buZdCB2aeG7h2MgPSBtYXkgSSBhc2sgeW91IGEgZmF2b3IiLCLwn6SyIiwiQ2jDoXUg
bmjhu50gY2jDuiBt4buZdCB2aeG7h2Mg4bqhLiIsIkkgaGF2ZSBhIGZhdm9yIHRvIGFzay4iXSwKICBbIm3huqV0IiwibXVodCDihpciLCJ0byBsb3NlIiwi
TeG6pXQgdsOtIHLhu5NpISA9IGxvc3QgbXkgd2FsbGV0ISBBbHNvICd0byB0YWtlICh0aW1lKScgYW5kICd0byBkaWUnIOKAlCBjb250ZXh0ISIsIvCfmLEi
LCJDaMOhdSBi4buLIG3huqV0IMSRaeG7h24gdGhv4bqhaSBy4buTaSEiLCJJIGxvc3QgbXkgcGhvbmUhIl0sCiAgWyJ0w6xtIHRo4bqleSIsInRlZW0g4oaY
IHRheSDihpciLCJ0byBmaW5kIiwiVMOsbSA9IHNlYXJjaCwgdMOsbSB0aOG6pXkgPSBhY3R1YWxseSBmb3VuZCBpdCIsIvCflI4iLCJDaMOhdSB0w6xtIHRo
4bqleSB2w60gcuG7k2khIiwiSSBmb3VuZCBteSB3YWxsZXQhIl0sCiAgWyJ2w60iLCJ2ZWUg4oaXIiwid2FsbGV0IiwiS2VlcCBpdCBpbiB5b3VyIEZST05U
IHBvY2tldCBpbiBjcm93ZGVkIG1hcmtldHMiLCLwn5GbIiwiVsOtIGPhu6dhIGNow6F1IG3DoHUgxJFlbi4iLCJNeSB3YWxsZXQgaXMgYmxhY2suIl0sCiAg
WyJjaMOsYSBraMOzYSIsImNoZWUtYWgg4oaYIGtod2FoIOKGlyIsImtleSIsIkNow6xhIGtow7NhIG5ow6AsIGNow6xhIGtow7NhIHhlIOKAlCBkbyBub3Qg
bG9zZSBncmFuZG1hJ3Mgc3BhcmUhIiwi8J+UkSIsIkNow6xhIGtow7NhIG5ow6AgYsOgIMSRw6J1IHLhu5NpPyIsIldoZXJlIGlzIEdyYW5kbWEncyBob3Vz
ZSBrZXk/Il0sCiAgWyJjw7RuZyBhbiIsImtvaG5nIOKGkiBhaG4g4oaSIiwicG9saWNlIiwiVmlldG5hbSdzIHBvbGljZSDigJQgcmVwb3J0IGxvc3QgaXRl
bXMgYXQgdGhlIHBoxrDhu51uZyAod2FyZCkgc3RhdGlvbiIsIvCfka4iLCJNw6xuaCBiw6FvIGPDtG5nIGFuIG5ow6kuIiwiTGV0IHVzIHJlcG9ydCBpdCB0
byB0aGUgcG9saWNlLiJdLAogIFsiY2jhuq1tIGzhuqFpIiwiY2h1aG0g4oaTIGxpZ2gg4oaTIiwic2xvd2VyIiwiTsOzaSBjaOG6rW0gbOG6oWkgPSBzcGVh
ayBzbG93ZXIg4oCUIHlvdXIgIzEgcmVzY3VlIHBocmFzZSIsIvCfkKIiLCJCw6FjIG7Ds2kgY2jhuq1tIGzhuqFpIMSRxrDhu6NjIGtow7RuZyDhuqE/Iiwi
Q291bGQgeW91IHNwZWFrIG1vcmUgc2xvd2x5PyJdLAogIFsibmjhuq9jIGzhuqFpIiwibnlhayDihpcgbGlnaCDihpMiLCJ0byByZXBlYXQiLCJOaOG6r2Mg
bOG6oWkgZ2nDunAgY2jDoXUg4bqhID0gcGxlYXNlIHNheSBpdCBhZ2FpbiIsIvCflIEiLCJCw6FjIG5o4bqvYyBs4bqhaSDEkcaw4bujYyBraMO0bmcg4bqh
PyIsIkNvdWxkIHlvdSByZXBlYXQgdGhhdD8iXSwKICBbIm5naMSpYSBsw6AgZ8OsIiwibmdlZS1haCB+4oaXIGxhaCDihpggemVlIOKGmCIsIndoYXQgZG9l
cyBpdCBtZWFuIiwiV29yZCArIG5naMSpYSBsw6AgZ8OsPyDigJQgdHVybnMgZXZlcnkgc3RyYW5nZXIgaW50byBhIHRlYWNoZXIiLCLinZMiLCJU4burIG7D
oHkgbmdoxKlhIGzDoCBnw6wg4bqhPyIsIldoYXQgZG9lcyB0aGlzIHdvcmQgbWVhbj8iXSwKICBbImJp4bq/dCIsImJ5ZXQg4oaXIiwidG8ga25vdyIsIkNo
w6F1IGtow7RuZyBiaeG6v3QgPSBJIGRvIG5vdCBrbm93IOKAlCBob25lc3QgYW5kIHVzZWZ1bCIsIvCfp6AiLCJDaMOhdSBiaeG6v3QgxJHGsOG7nW5nIHbh
u4EgbmjDoCBy4buTaS4iLCJJIGtub3cgdGhlIHdheSBob21lIG5vdy4iXSwKICBbImPDsyB0aOG7gyIsImthdyDihpcgdGVoIOKktSIsImNhbiAvIHBvc3Np
Ymx5IiwiQ8OzIHRo4buDIGdpw7pwIGNow6F1IGtow7RuZz8gPSBjYW4geW91IGhlbHAgbWU/Iiwi8J+SqyIsIkNow7ogY8OzIHRo4buDIGNo4buJIMSRxrDh
u51uZyBraMO0bmcg4bqhPyIsIkNvdWxkIHlvdSBzaG93IG1lIHRoZSB3YXk/Il0sCiAgWyJk4buLY2giLCJ6aWNrIOKGkyIsInRvIHRyYW5zbGF0ZSIsIkTh
u4tjaCBnacO6cCBjaMOhdSA9IHRyYW5zbGF0ZSBmb3IgbWUuIEdvb2dsZSBE4buLY2ggaXMgeW91ciBiYWNrdXAgZnJpZW5kIiwi8J+UhCIsIkxpbmggxqFp
LCBk4buLY2ggZ2nDunAgYW5oIGPDonUgbsOgeSEiLCJMaW5oLCB0cmFuc2xhdGUgdGhpcyBzZW50ZW5jZSBmb3IgbWUhIl0sCiAgWyJ2aeG6v3QiLCJ2eWV0
IOKGlyIsInRvIHdyaXRlIiwiVmnhur90IHJhIGdpw7pwIGNow6F1IOG6oSA9IHBsZWFzZSB3cml0ZSBpdCBkb3duIOKAlCBhZGRyZXNzZXMgZXNwZWNpYWxs
eSIsIuKcje+4jyIsIkLDoWMgdmnhur90IMSR4buLYSBjaOG7iSByYSBnacO6cCBjaMOhdSDhuqEuIiwiUGxlYXNlIHdyaXRlIHRoZSBhZGRyZXNzIGRvd24g
Zm9yIG1lLiJdLAogIFsixJHhu41jIiwiZG9wIOKGkyIsInRvIHJlYWQiLCLEkOG7jWMgxJHGsOG7o2MgPSBjYW4gcmVhZCDigJQgVmlldG5hbWVzZSB1c2Vz
IHRoZSBhbHBoYWJldCwgeW91IGhhdmUgYSBoZWFkIHN0YXJ0ISIsIvCfkZMiLCJDaMOhdSDEkeG7jWMgxJHGsOG7o2MgbWVudSBuw6B5ISIsIkkgY2FuIHJl
YWQgdGhpcyBtZW51ISJdLAogIFsidOG7qyIsInRvbyDihpgiLCJ3b3JkIiwiVOG7qyBt4bubaSA9IG5ldyB3b3JkIOKAlCB5b3UgYXJlIGNvbGxlY3Rpbmcg
Mjg4IG9mIHRoZW0iLCLwn5OdIiwiSMO0bSBuYXkgY2jDoXUgaOG7jWMgbcaw4budaSB04burIG3hu5tpLiIsIlRvZGF5IEkgbGVhcm5lZCB0ZW4gbmV3IHdv
cmRzLiJdLAogIFsiY8OidSIsImtvaCDihpIiLCJzZW50ZW5jZSIsIkPDonUgbsOgeSBraMOzIHF1w6EgPSB0aGlzIHNlbnRlbmNlIGlzIGhhcmQiLCLwn5Ks
IiwiQ8OidSBuw6B5IG7Ds2kgdGjhur8gbsOgbyDhuqE/IiwiSG93IGRvIHlvdSBzYXkgdGhpcyBzZW50ZW5jZT8iXSwKICBbInRy4bqjIGzhu51pIiwiY2hh
aCDipLUgbHVoLWVlIOKGmCIsInRvIGFuc3dlciIsIlRy4bqjIGzhu51pIMSRaSEgPSBhbnN3ZXIhIChjb3VzaW5zIGR1cmluZyBjYXJkIGdhbWVzKSIsIvCf
l6jvuI8iLCJDaMOhdSBraMO0bmcgYmnhur90IHRy4bqjIGzhu51pIHRo4bq/IG7DoG8uIiwiSSBkbyBub3Qga25vdyBob3cgdG8gYW5zd2VyLiJdLAogIFsi
xJHhu6tuZyBsbyIsImR1aG5nIOKGmCBsYXcg4oaSIiwiZG8gbm90IHdvcnJ5IiwiVGhlIHBocmFzZSB5b3Ugd2lsbCBoZWFyIG1vc3Qgd2hlbiB5b3UgcGFu
aWMg4oCUIMSR4burbmcgbG8sIGPDsyBiw6FjIMSRw6J5Iiwi8J+MpO+4jyIsIsSQ4burbmcgbG8sIG3DrG5oIHPhur0gdMOsbSB0aOG6pXkuIiwiRG8gbm90
IHdvcnJ5IOKAlCB3ZSB3aWxsIGZpbmQgaXQuIl0sCiAgWyJiw6xuaCB0xKluaCIsImJpbmcg4oaYIHRpbmcgfuKGlyIsImNhbG0iLCJCw6xuaCB0xKluaCEg
PSBzdGF5IGNhbG0hIEZpcnN0IGFpZCBmb3IgZXZlcnkgY3Jpc2lzIiwi8J+nmCIsIkLDrG5oIHTEqW5oLCB04burIHThu6sga+G7gyBs4bqhaSBuw6BvLiIs
IkNhbG0gZG93biDigJQgdGVsbCBtZSBzbG93bHkuIl0sCiAgWyJn4bqlcCIsImd1aHAg4oaXIiwidXJnZW50IiwiVmnhu4djIGfhuqVwID0gdXJnZW50IG1h
dHRlcjsgZ+G6pXAgbOG6r20hID0gdmVyeSB1cmdlbnQhIiwi8J+aqCIsIkNow6F1IGPDsyB2aeG7h2MgZ+G6pXAg4bqhISIsIkkgaGF2ZSBzb21ldGhpbmcg
dXJnZW50ISJdLAogIFsicXVhbiB0cuG7jW5nIiwia3dhaG4g4oaSIGNob25nIOKGkyIsImltcG9ydGFudCIsIlLhuqV0IHF1YW4gdHLhu41uZyA9IHZlcnkg
aW1wb3J0YW50Iiwi4q2QIiwiSOG7mSBjaGnhur91IHF1YW4gdHLhu41uZyBs4bqvbSDEkeG6pXkhIiwiQSBwYXNzcG9ydCBpcyB2ZXJ5IGltcG9ydGFudCEi
XSwKICBbImN14buRaSBjw7luZyIsImtvby1veSDihpcga29vbmcg4oaYIiwiZmluYWxseSAvIGxhc3QiLCJDdeG7kWkgY8O5bmcgY8WpbmcgdMOsbSB0aOG6
pXkhID0gZmluYWxseSBmb3VuZCBpdCEiLCLwn4+BIiwiQ3Xhu5FpIGPDuW5nIG3hu41pIHZp4buHYyDEkeG7gXUg4buVbi4iLCJJbiB0aGUgZW5kIGV2ZXJ5
dGhpbmcgd2FzIGZpbmUuIl1dLAogZ3JhbW1hcjpbCiAgWyLigKYgZ2nDunAgKyBwZXJzb24gKyB24bubaSEiLCJwbGVhc2UgaGVscCAobWUpIOKApiEiLCJF
bWVyZ2VuY3kgcmVxdWVzdHMg4oCUIHdpdGggZmVlbGluZyIsInZlcmIgKyBnacO6cCBjaMOhdSB24bubaSA9IGRvIGl0IEZPUiBtZSwgcGxlYXNlISB24bub
aSBhZGRzIHVyZ2VuY3kgYW5kIHdhcm10aC4iLCJDaOG7iSDEkcaw4budbmcgZ2nDunAgY2jDoXUgduG7m2kg4bqhISIsIlBsZWFzZSBzaG93IG1lIHRoZSB3
YXkhIiwiVMOsbSBnacO6cCBjaMOhdSB24bubaSEiLCJQbGVhc2UgaGVscCBtZSBmaW5kIGl0ISJdLAogIFsia2jDtG5nIGhp4buDdSAvIG7Ds2kgY2jhuq1t
IGzhuqFpIiwiSSBkbyBub3QgdW5kZXJzdGFuZCAvIHNwZWFrIHNsb3dlciIsIlJlc2N1aW5nIGFueSBjb252ZXJzYXRpb24gdGhhdCBydW5zIGF3YXkgZnJv
bSB5b3UiLCJZb3VyIHN1cnZpdmFsIGNvbWJvLiBDaMOhdSBraMO0bmcgaGnhu4N1IOG6oSArIELDoWMgbsOzaSBjaOG6rW0gbOG6oWkgxJHGsOG7o2Mga2jD
tG5nIOG6oT8iLCJYaW4gbOG7l2ksIGNow6F1IGtow7RuZyBoaeG7g3Ug4bqhLiIsIlNvcnJ5LCBJIGRvIG5vdCB1bmRlcnN0YW5kLiIsIkLDoWMgbsOzaSBj
aOG6rW0gbOG6oWkgbeG7mXQgY2jDunQgxJHGsOG7o2Mga2jDtG5nIOG6oT8iLCJDb3VsZCB5b3Ugc3BlYWsgYSBsaXR0bGUgc2xvd2VyPyJdLAogIFsi4oCm
IG5naMSpYSBsw6AgZ8OsPyIsIndoYXQgZG9lcyDigKYgbWVhbj8iLCJUdXJuaW5nIGNvbmZ1c2lvbiBpbnRvIHZvY2FidWxhcnkg4oCUIHRoZSBsZWFybmVy
J3Mgc3VwZXJwb3dlciIsIldvcmQvcGhyYXNlICsgbmdoxKlhIGzDoCBnw6wg4bqhPyBQZW9wbGUgTE9WRSBiZWluZyBhc2tlZCDigJQgZXhwZWN0IGEgbWlu
aSBsZXNzb24uIiwiVOG7qyBuw6B5IG5naMSpYSBsw6AgZ8OsIOG6oT8iLCJXaGF0IGRvZXMgdGhpcyB3b3JkIG1lYW4/IiwixIJuIFThur90IG5naMSpYSBs
w6AgZ8OsIOG6oT8iLCJXaGF0IGRvZXMgJ8SDbiBU4bq/dCcgbWVhbj8iXV19Cl07CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNUT1JJRVMg4oCUIG9uZSBjb250aW51b3VzIGFyYzogeW91ciBmaXJzdCB0cmlwIGhvbWUuCiAgIFlv
dSBmbHkgdG8gSMOgIE7hu5lpIHRvIHNwZW5kIFThur90IHdpdGggeW91ciBncmFuZG1vdGhlci4KICAgRGlzdHJhY3RvcnMgYXJlIGRlbGliZXJhdGVseSBQ
TEFVU0lCTEU6IHNhbWUgc2NlbmUsIHdyb25nIHJlZ2lzdGVyCiAgIChtaXNzaW5nIOG6oSwgd3JvbmcgcHJvbm91bi90aXRsZSkgb3IgdGhlIHdyb25nIGNv
bnZlcnNhdGlvbmFsIG1vdmUg4oCUCiAgIHRoZSBwcmFnbWF0aWNzIGhlcml0YWdlIGxlYXJuZXJzIGFjdHVhbGx5IG5lZWQgdG8gbWFzdGVyLgogICA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmNvbnN0IFNUT1JJRVMgPSB7CjE6e3Q6IuKc
iO+4jyBMYW5kaW5nIGluIEjDoCBO4buZaSIsIHN0ZXBzOlsKIHtiZzoiZGF5IixzYzoi4pyI77iP8J+brPCfh7vwn4ezIixuYXI6Ik7hu5lpIELDoGkgQWly
cG9ydC4gRm91cnRlZW4gaG91cnMgb2YgZmx5aW5nLCBhbmQgc3VkZGVubHkg4oCUIGV2ZXJ5dGhpbmcgaXMgaW4gVmlldG5hbWVzZS4gQSB5b3VuZyB3b21h
biB3YXZlcyBhIHNpZ24gd2l0aCBZT1VSIG5hbWU6IHlvdXIgY291c2luIExpbmguIix3aG86IvCfmYIgTGluaCIsa3I6IlRvbSBwaOG6o2kga2jDtG5nPyBF
bSBsw6AgTGluaCDEkcOieSEgQ2jDoG8gYW5oISIsZW46IllvdSBtdXN0IGJlIFRvbT8gSSBhbSBMaW5oISBIZWxsbyEiLGNoOltbIkNow6BvIGVtISBBbmgg
bMOgIFRvbS4gTMOidSBxdcOhIGtow7RuZyBn4bq3cCEiLCJIaSEgSSBhbSBUb20uIExvbmcgdGltZSBubyBzZWUhIiwxXSxbIkNow6BvIGLDoCDhuqEhIENo
w6F1IGzDoCBUb20uIiwiSGVsbG8sIEdyYW5kbW90aGVyISBJIGFtIFRvbS4gKHNoZSBpcyB5b3VyIFlPVU5HIGNvdXNpbiEpIiwwXSxbIuG7qi4gxJBpIHRo
w7RpLiIsIlllYWguIExldCB1cyBnby4iLDBdXX0sCiB7Ymc6ImRheSIsc2M6IvCfmpfwn4+Z77iP8J+btSIsbmFyOiJUaGUgdGF4aSBkaXZlcyBpbnRvIGEg
cml2ZXIgb2YgbW90b3JiaWtlcy4gTGluaCBncmlucyBhdCB5b3VyIHdpZGUgZXllcy4gVGhpcnR5IG1pbnV0ZXMgbGF0ZXIg4oCUIGEgc21hbGwgaG91c2Ug
d2l0aCBhIGdyZWVuIGdhdGUuIFlvdXIgZ3JhbmRtb3RoZXIgaXMgc3RhbmRpbmcgaW4gdGhlIGRvb3J3YXkuIix3aG86IvCfkbUgQsOgIixrcjoiVHLhu51p
IMahaSEgQ2jDoXUgY+G7p2EgYsOgISBDaMOhdSB24buBIHLhu5NpISIsZW46Ik9oIG15IGdvb2RuZXNzISBNeSBncmFuZGNoaWxkISBZb3UgY2FtZSBiYWNr
ISIsY2g6W1siQ2jDoXUgY2jDoG8gYsOgIOG6oSEgQ2jDoXUgbmjhu5sgYsOgIGzhuq9tISIsIkhlbGxvLCBHcmFuZG1hISBJIG1pc3NlZCB5b3Ugc28gbXVj
aCEiLDFdLFsiQ2jDoG8gZW0hIEto4buPZSBraMO0bmc/IiwiSGkgdGhlcmUsIGxpdHRsZSBvbmUhIEhvdyBhcmUgeW91PyIsMF0sWyJDaMOgbyBiw6AuIE5o
w6AgY8OzIHdpZmkga2jDtG5nIOG6oT8iLCJIaSBHcmFuZG1hLiBJcyB0aGVyZSB3aWZpIGluIHRoZSBob3VzZT8iLDBdXX0sCiB7Ymc6ImluZG9vciIsc2M6
IvCfj6Dwn5G08J+NtSIsbmFyOiJJbnNpZGUsIHlvdXIgZ3JhbmRmYXRoZXIgbG9va3MgdXAgZnJvbSBoaXMgdGVhLiBIZSBzdHVkaWVzIHlvdXIgZmFjZSBm
b3IgYSBsb25nIG1vbWVudCDigJQgYW5kIHNtaWxlcyBsaWtlIHRoZSBzdW4gY29taW5nIG91dC4iLHdobzoi8J+RtCDDlG5nIixrcjoiQ2jDoXUgZ2nhu5Fu
ZyBt4bq5IGNow6F1IHF1w6EhIENow6F1IGPDsyBraOG7j2Uga2jDtG5nPyIsZW46IllvdSBsb29rIGp1c3QgbGlrZSB5b3VyIG1vdGhlciEgQXJlIHlvdSB3
ZWxsPyIsY2g6W1siQ2jDoXUga2jhu49lIOG6oS4gw5RuZyBjw7Mga2jhu49lIGtow7RuZyDhuqE/IiwiSSBhbSB3ZWxsLiBBcmUgeW91IHdlbGwsIEdyYW5k
cGE/IiwxXSxbIkto4buPZS4iLCJGaW5lLiIsMF0sWyJUw7RpIGto4buPZS4gQ8OybiDDtG5nPyIsIkkgKGZvcm1hbCBzdHJhbmdlci10YWxrKSBhbSBmaW5l
LiBBbmQgeW91PyIsMF1dfSwKIHtiZzoiZGF3biIsc2M6IvCfm4vvuI/wn5Go4oCN8J+RqeKAjfCfkafigI3wn5Gm8J+YiiIsbmFyOiJCeSBldmVuaW5nIHRo
ZSBob3VzZSBmaWxscyB3aXRoIHJlbGF0aXZlcyB5b3UgaGF2ZSBvbmx5IHNlZW4gaW4gcGhvdG9zLiBMaW5oIHdoaXNwZXJzOiAnSGUgaXMgeW91ciBtb20n
cyBPTERFUiBicm90aGVyIOKAlCByZW1lbWJlciB0aGUgdGl0bGUhJyBBbiBvbGRlciBtYW4gc3RlcHMgZm9yd2FyZC4iLHdobzoi8J+nkyBCw6FjIFR14bql
biIsa3I6IsSQw6J5IGzDoCBjb24gY+G7p2EgZW0gZ8OhaSB0w7RpIMOgPyBDaMOgbyBjaMOhdSEiLGVuOiJTbyB0aGlzIGlzIG15IGxpdHRsZSBzaXN0ZXIn
cyBzb24/IEhlbGxvISIsY2g6W1siQ2jDoXUgY2jDoG8gYsOhYyDhuqEhIENow6F1IGzDoCBUb20sIGNvbiBj4bunYSBt4bq5IEjGsMahbmcg4bqhLiIsIkhl
bGxvLCBVbmNsZSAoYsOhYykhIEkgYW0gVG9tLCBIxrDGoW5nJ3Mgc29uLiIsMV0sWyJDaMOhdSBjaMOgbyBjaMO6IOG6oSEgQ2jDoXUgbMOgIFRvbSDhuqEu
IiwiSGVsbG8sICh5b3VuZ2VyKSBVbmNsZSAoY2jDuikhIEkgYW0gVG9tLiAoaGUgaXMgT0xERVIgdGhhbiB5b3VyIG1vbSEpIiwwXSxbIkNow6BvIGFuaCEg
QW5oIGzDoCBhaT8iLCJIaSAnYW5oJyEgV2hvIGFyZSB5b3U/IiwwXV19XX0sCjI6e3Q6IvCfjZogR3JhbmRtYSdzIFdlbGNvbWUgRmVhc3QiLCBzdGVwczpb
CiB7Ymc6ImluZG9vciIsc2M6IvCfjbLwn42a8J+loiIsbmFyOiJUaGUgdGFibGUgaXMgSU5WSVNJQkxFIHVuZGVyIHRoZSBmb29kOiBzcHJpbmcgcm9sbHMs
IGJyYWlzZWQgZmlzaCwgc291cCwgaGVyYnMuIEdyYW5kbWEgaGFzIGJlZW4gY29va2luZyBzaW5jZSA1IGFtLiBFdmVyeW9uZSBsb29rcyBhdCB5b3Ug4oCU
IHRoZSBtZWFsIGNhbm5vdCBzdGFydCB5ZXQuIExpbmggbnVkZ2VzIHlvdTogJ1RoZSBpbnZpdGF0aW9uISciLHdobzoi8J+ZgiBMaW5oIixrcjoiQW5oIG7D
s2kgxJFpOiBt4budaSBj4bqjIG5ow6AgxINuIGPGoW0hIixlbjoiU2F5IGl0OiBpbnZpdGUgZXZlcnlvbmUgdG8gZWF0ISIsY2g6W1siQ2jDoXUgbeG7nWkg
w7RuZyBiw6AsIG3hu51pIGPhuqMgbmjDoCDEg24gY8ahbSDhuqEhIiwiR3JhbmRwYSwgR3JhbmRtYSwgZXZlcnlvbmUg4oCUIHBsZWFzZSBlYXQhIiwxXSxb
IsSCbiB0aMO0aSEgxJDDs2kgcXXDoSEiLCJMZXQgdXMgZWF0ISBJIGFtIHN0YXJ2aW5nISIsMF0sWyJDaMOhdSBt4budaSBlbSDEg24gY8ahbSDhuqEuIiwi
TGl0dGxlIG9uZSwgcGxlYXNlIGVhdC4gKGludml0aW5nIHRoZSBZT1VOR0VTVCBmaXJzdD8hKSIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi8J+ln/CfmIvw
n5G1IixuYXI6IkdyYW5kbWEgd2F0Y2hlcyB5b3UgdGFrZSB0aGUgZmlyc3QgYml0ZSBvZiBoZXIgbmVtIHLDoW4uIFRoZSB3aG9sZSB0YWJsZSBob2xkcyBp
dHMgYnJlYXRoLiBJdCBpcywgaG9uZXN0bHksIHRoZSBiZXN0IHRoaW5nIHlvdSBoYXZlIGV2ZXIgZWF0ZW4uIix3aG86IvCfkbUgQsOgIixrcjoiQ2jDoXUg
xINuIHRo4butIG5lbSBj4bunYSBiw6AgxJFpLiDEkMaw4bujYyBraMO0bmc/IixlbjoiVHJ5IG15IHNwcmluZyByb2xscy4gQXJlIHRoZXkgb2theT8iLGNo
OltbIk5nb24gcXXDoSBiw6AgxqFpISBOZ29uIG5o4bqldCB0aOG6vyBnaeG7m2khIiwiU28gZGVsaWNpb3VzLCBHcmFuZG1hISBCZXN0IGluIHRoZSB3b3Js
ZCEiLDFdLFsiQ8WpbmcgxJHGsOG7o2Mg4bqhLiIsIlRoZXkgYXJlIG9rYXksIEkgZ3Vlc3MuIiwwXSxbIk5nb24gcXXDoSBhbmggxqFpISIsIlNvIGRlbGlj
aW91cywgJ2FuaCchIChjYWxsaW5nIGdyYW5kbWEgQU5IPyEpIiwwXV19LAoge2JnOiJpbmRvb3IiLHNjOiLwn42a4p6V8J+YhSIsbmFyOiJZb3VyIGJvd2wg
aXMgZW1wdHkgZm9yIGV4YWN0bHkgMS41IHNlY29uZHMgYmVmb3JlIGdyYW5kbWEgcmVhY2hlcyBmb3IgdGhlIHJpY2UgcGFkZGxlLiBSZXNpc3RhbmNlIGlz
IGZ1dGlsZSDigJQgYnV0IHlvdSBhcmUgZ2VudWluZWx5IHN0aWxsIGh1bmdyeS4iLHdobzoi8J+RtSBCw6AiLGtyOiLEgm4gdGjDqm0gYsOhdCBu4buvYSBu
aMOpPyBDaMOhdSBn4bqneSBxdcOhISIsZW46Ik9uZSBtb3JlIGJvd2w/IFlvdSBhcmUgdG9vIHNraW5ueSEiLGNoOltbIlbDom5nIOG6oSEgQ2hvIGNow6F1
IHRow6ptIG3hu5l0IGLDoXQg4bqhLiIsIlllcyEgT25lIG1vcmUgYm93bCBmb3IgbWUsIHBsZWFzZS4iLDFdLFsiS2jDtG5nLiIsIk5vLiIsMF0sWyLhu6os
IGNobyB0w7RpIHRow6ptIMSRaS4iLCJZZWFoLCBnaXZlIG1lIG1vcmUuICh0w7RpICsgYSBiYXJlIGNvbW1hbmQsIHRvIHlvdXIgZ3JhbmRtb3RoZXIpIiww
XV19LAoge2JnOiJuaWdodCIsc2M6IvCfjbXwn4yZ8J+YiiIsbmFyOiJEaXNoZXMgZG9uZSwgdGVhIHBvdXJlZC4gR3JhbmRwYSBhc2tzIHdoYXQgeW91IHdh
bnQgdG8gZG8gd2hpbGUgeW91IGFyZSBoZXJlLiBUaGUgdHJ1dGggY29tZXMgb3V0IGJlZm9yZSB5b3UgY2FuIHN0b3AgaXQg4oCUIGFuZCB0aGUgcm9vbSBn
b2VzIHdhcm0gYW5kIHF1aWV0LiIsd2hvOiLwn5G0IMOUbmciLGtyOiJDaMOhdSBtdeG7kW4gbMOgbSBnw6wg4bufIFZp4buHdCBOYW0/IixlbjoiV2hhdCBk
byB5b3Ugd2FudCB0byBkbyBpbiBWaWV0bmFtPyIsY2g6W1siQ2jDoXUgbXXhu5FuIGjhu41jIHRp4bq/bmcgVmnhu4d0IHbDoCBuZ2hlIGNodXnhu4duIGPh
u6dhIMO0bmcgYsOgIOG6oS4iLCJJIHdhbnQgdG8gbGVhcm4gVmlldG5hbWVzZSBhbmQgaGVhciB5b3VyIHN0b3JpZXMuIiwxXSxbIkNow6F1IG114buRbiBu
Z+G7pyB0aMO0aSDhuqEuIiwiSSBqdXN0IHdhbnQgdG8gc2xlZXAuIiwwXSxbIkNow6F1IG114buRbiB24buBIENhbmFkYSBz4bubbSDhuqEuIiwiSSB3YW50
IHRvIGdvIGJhY2sgdG8gQ2FuYWRhIHNvb24uIiwwXV19XX0sCjM6e3Q6IvCfp4sgQ29mZmVlIHdpdGggQ291c2luIExpbmgiLCBzdGVwczpbCiB7Ymc6ImNp
dHkiLHNjOiLwn4+N77iP4piV8J+Pme+4jyIsbmFyOiJNb3JuaW5nIHR3by4gTGluaCB0YWtlcyB5b3UgdG8gYSBoaWRkZW4gY2Fmw6kgYWJvdmUgYSBzaWxr
IHNob3Ag4oCUIHRpbnkgc3Rvb2xzLCBhIGJhbGNvbnkgb3ZlciB0aGUgc3RyZWV0LiBTaGUgaGFuZHMgeW91IHRoZSBtZW51IGFuZCByYWlzZXMgYW4gZXll
YnJvdzogeW91ciBmaXJzdCBzb2xvIG9yZGVyLiIsd2hvOiLwn6eR4oCN8J+NsyBOaMOibiB2acOqbiIsa3I6IkNow6BvIGFuaCEgQW5oIHXhu5FuZyBnw6wg
4bqhPyIsZW46IkhlbGxvISBXaGF0IHdpbGwgeW91IGRyaW5rPyIsY2g6W1siQ2hvIGFuaCBt4buZdCBjw6AgcGjDqiBz4buvYSDEkcOhIOG6oS4iLCJPbmUg
aWNlZCBtaWxrIGNvZmZlZSBmb3IgbWUsIHBsZWFzZS4iLDFdLFsiw4osIG3hu5l0IGPDoCBwaMOqISIsIkhleSEgT25lIGNvZmZlZSEiLDBdLFsiQ2hvIMO0
bmcgbeG7mXQgY8OgIHBow6ogc+G7r2EgxJHDoS4iLCJHaXZlIHRoaXMgJ8O0bmcnIGFuIGljZWQgbWlsayBjb2ZmZWUuICh5b3UgYXJlIG5vdCBhIGdyYW5k
cGEhKSIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi4piV8J+lmuKcqCIsbmFyOiJMaW5oIGluc2lzdHMgeW91IGFsc28gdHJ5IEjDoCBO4buZaSdzIGxlZ2Vu
ZDogY8OgIHBow6ogdHLhu6luZyDigJQgZWdnIGNvZmZlZS4gSXQgc291bmRzIHdyb25nLiBJdCBzbWVsbHMgaW5jcmVkaWJsZS4iLHdobzoi8J+ZgiBMaW5o
IixrcjoiQW5oIHRo4butIGPDoCBwaMOqIHRy4bupbmcgbmjDqT8gxJDhurdjIHPhuqNuIEjDoCBO4buZaSDEkeG6pXkhIixlbjoiVHJ5IGVnZyBjb2ZmZWU/
IEl0IGlzIGEgSMOgIE7hu5lpIHNwZWNpYWx0eSEiLGNoOltbIsSQxrDhu6NjISBDaG8gYW5oIHRo4butIG3hu5l0IGPhu5FjIG5ow6kuIiwiT2theSEgTGV0
IG1lIHRyeSBvbmUuIiwxXSxbIktow7RuZyBiYW8gZ2nhu50hIFRy4bupbmcgw6A/IEdow6ogcXXDoSEiLCJOZXZlciEgRWdnPyBHcm9zcyEiLDBdLFsixJDG
sOG7o2MsIG5oxrBuZyBlbSB0cuG6oyB0aeG7gW4gbmjDqS4iLCJPa2F5IOKAlCBidXQgWU9VIGFyZSBwYXlpbmcuIiwwXV19LAoge2JnOiJpbmRvb3IiLHNj
OiLwn5iN4piV8J+Xo++4jyIsbmFyOiJJdCB0YXN0ZXMgbGlrZSBjb2ZmZWUgY3Jvc3NlZCB3aXRoIHRpcmFtaXN1LiBMaW5oIGxhdWdocyBhdCB5b3VyIGZh
Y2UgYW5kIHF1aXp6ZXMgeW91IG9uIHRoZSBtZW51IHdvcmRzLiBUaGUgYmlsbCBhcnJpdmVzOiA5MCwwMDAgxJHhu5NuZy4iLHdobzoi8J+ZgiBMaW5oIixr
cjoiVGjhur8gbsOgbz8gTmdvbiBraMO0bmcgYW5oPyIsZW46IldlbGw/IElzIGl0IGdvb2Q/IixjaDpbWyJOZ29uIHF1w6EhIEFuaCB0aMOtY2ggY8OgIHBo
w6ogbsOgeSBs4bqvbS4iLCJTbyBnb29kISBJIGxvdmUgdGhpcyBjb2ZmZWUuIiwxXSxbIkLDrG5oIHRoxrDhu51uZy4iLCJJdCBpcyBhdmVyYWdlLiIsMF0s
WyJOZ29uIHF1w6EhIENobyBhbmggbcaw4budaSBj4buRYyBu4buvYSEiLCJTbyBnb29kISBUZW4gbW9yZSBjdXBzIGZvciBtZSEiLDBdXX0sCiB7Ymc6ImNp
dHkiLHNjOiLwn5Kz8J+nvvCfmI4iLG5hcjoiWW91IHJlYWNoIGZvciB0aGUgYmlsbC4gTGluaCByZWFjaGVzIHRvby4gVGhpcyBpcyB5b3VyIG1vbWVudCDi
gJQgdGhlIHNhY3JlZCBWaWV0bmFtZXNlIGJpbGwgYmF0dGxlLiBZb3Ugc3Bva2UgdGhlIGxhbmd1YWdlOyB5b3UgaGF2ZSBlYXJuZWQgdGhpcy4iLHdobzoi
8J+ZgiBMaW5oIixrcjoixJDhu4MgZW0gdHLhuqMgY2hvISBBbmggbMOgIGtow6FjaCBtw6AhIixlbjoiTGV0IG1lIHBheSEgWW91IGFyZSB0aGUgZ3Vlc3Qh
IixjaDpbWyJLaMO0bmchIEjDtG0gbmF5IGFuaCB0cuG6oy4gQ2hvIGFuaCB0cuG6oyB0aeG7gW4g4bqhISIsIk5vISBUb2RheSBJIHBheS4gVGhlIGJpbGwg
Zm9yIG1lLCBwbGVhc2UhIiwxXSxbIuG7qiwgZW0gdHLhuqMgxJFpLiIsIlN1cmUsIHlvdSBwYXkuIChzdXJyZW5kZXJpbmcgdGhlIGJpbGwgYmF0dGxlIGlu
c3RhbnRseT8hKSIsMF0sWyJNw6xuaCBraMO0bmcgdHLhuqMgxJHDonUuIiwiSSBhbSBkZWZpbml0ZWx5IG5vdCBwYXlpbmcuIiwwXV19XX0sCjQ6e3Q6IvCf
l7rvuI8gTG9zdCBpbiB0aGUgT2xkIFF1YXJ0ZXIiLCBzdGVwczpbCiB7Ymc6ImNpdHkiLHNjOiLwn4+u8J+btfCfmLUiLG5hcjoiWW91IHdlbnQgb3V0IGFs
b25lIGZvciBiw6FuaCBtw6wg4oCUIGJyYXZlLiBUaGlydHktc2l4IGFuY2llbnQgc3RyZWV0cyBsYXRlciwgZXZlcnkgY29ybmVyIGxvb2tzIHRoZSBzYW1l
IGFuZCB5b3VyIHBob25lIGlzIGF0IDMlLiBBIHdvbWFuIHN3ZWVwcyBoZXIgZG9vcnN0ZXAgbmVhcmJ5LiIsd2hvOiLwn6eTIEPDtCBiw6FuIGjDoG5nIixr
cjoiQ2jDoXUgdMOsbSBnw6wgxJHhuqV5PyBUcsO0bmcgY2jDoXUgbOG6oWMgxJHGsOG7nW5nIHLhu5NpISIsZW46IldoYXQgYXJlIHlvdSBsb29raW5nIGZv
cj8gWW91IGxvb2sgbG9zdCEiLGNoOltbIlbDom5nIOG6oSEgQ2jDoXUgYuG7iyBs4bqhYyBy4buTaS4gUGjhu5EgSMOgbmcgR2FpIOG7nyDEkcOidSDhuqE/
IiwiWWVzISBJIGFtIGxvc3QuIFdoZXJlIGlzIEjDoG5nIEdhaSBzdHJlZXQ/IiwxXSxbIktow7RuZyEgQ2jDoXUgYmnhur90IMSRxrDhu51uZyBtw6AhIiwi
Tm8hIEkga25vdyB0aGUgd2F5ISAoeW91IHZlcnkgbXVjaCBkbyBub3QpIiwwXSxbIkNow6BvIGPDtC4gQ8O0IGLDoW4gZ8OsIMSR4bqleSDhuqE/IiwiSGVs
bG8uIFdoYXQgYXJlIHlvdSBzZWxsaW5nPyIsMF1dfSwKIHtiZzoiY2l0eSIsc2M6IvCfkYnwn5qm4p6VIixuYXI6IlNoZSBzZXRzIGRvd24gdGhlIGJyb29t
IGFuZCBwb2ludHMgd2l0aCBoZXIgd2hvbGUgaGFuZCBkb3duIHRoZSBzdHJlZXQsIHBhc3QgdGhlIHNpbGsgc2hvcHMuIExpc3RlbiBjYXJlZnVsbHnigKYi
LHdobzoi8J+nkyBDw7QgYsOhbiBow6BuZyIsa3I6IsSQaSB0aOG6s25nIHBo4buRIG7DoHksIMSR4bq/biBuZ8OjIHTGsCB0aMOsIHLhur0gdHLDoWkgbmjD
qS4iLGVuOiJHbyBzdHJhaWdodCBkb3duIHRoaXMgc3RyZWV0LCB0aGVuIHR1cm4gbGVmdCBhdCB0aGUgaW50ZXJzZWN0aW9uLiIsY2g6W1sixJBpIHRo4bqz
bmcsIHLhu5NpIHLhur0gdHLDoWkg4bufIG5nw6MgdMawIOG6oT8gQ8OzIHhhIGtow7RuZyDhuqE/IiwiU3RyYWlnaHQsIHRoZW4gbGVmdCBhdCB0aGUgaW50
ZXJzZWN0aW9uPyBJcyBpdCBmYXI/IiwxXSxbIlLhur0gcGjhuqNpIOG7nyDEkcOobiDEkeG7jyDhuqE/IENow6F1IGhp4buDdSBy4buTaSEiLCJSaWdodCBh
dCB0aGUgdHJhZmZpYyBsaWdodD8gR290IGl0ISAodGhhdCBpcyBOT1Qgd2hhdCBzaGUgc2FpZCkiLDBdLFsiQ8O0IG7Ds2kgZ8OsIOG6oT8gVGjDtGksIGto
w7RuZyBzYW8g4bqhLiIsIldoYXQgZGlkIHlvdSBzYXk/IE5ldmVyIG1pbmQuIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+atuKshe+4j/CfpZYiLG5hcjoi
Tm90IGZhciDigJQgZml2ZSBtaW51dGVzIG9uIGZvb3QuIFlvdSBmb2xsb3cgaGVyIGRpcmVjdGlvbnMgYW5kIHRoZXJlIGl0IGlzOiB0aGUgYsOhbmggbcOs
IGNhcnQgd2l0aCB0aGUgbG9uZ2VzdCBsaW5lIGluIHRoZSBxdWFydGVyLiBUaGUgdmVuZG9yIHdvcmtzIGxpa2UgbGlnaHRuaW5nLiIsd2hvOiLwn6eR4oCN
8J+NsyBDaMO6IGLDoW4gYsOhbmggbcOsIixrcjoiQ2jDoXUgxINuIGfDrD8gQsOhbmggbcOsIHRy4bupbmcgaGF5IGLDoW5oIG3DrCB0aOG7i3Q/Iixlbjoi
V2hhdCB3aWxsIHlvdSBoYXZlPyBFZ2cgYsOhbmggbcOsIG9yIG1lYXQgYsOhbmggbcOsPyIsY2g6W1siQ2hvIGNow6F1IG3hu5l0IGLDoW5oIG3DrCB0aOG7
i3Qg4bqhLiBLaMO0bmcgY2F5IG5ow6khIiwiT25lIG1lYXQgYsOhbmggbcOsIGZvciBtZS4gTm90IHNwaWN5LCBwbGVhc2UhIiwxXSxbIk3hu5l0IGPDoWku
IE5oYW5oIGzDqm4hIiwiT25lLiBIdXJyeSB1cCEiLDBdLFsiQ2hvIGNow6F1IG3hu5l0IHBo4bufIGLDsiDhuqEuIiwiT25lIGJlZWYgcGjhu58gZm9yIG1l
LCBwbGVhc2UuIChhdCBhIGLDoW5oIG3DrCBjYXJ04oCmKSIsMF1dfSwKIHtiZzoiZGF3biIsc2M6IvCfpZbwn5iL8J+Xuu+4jyIsbmFyOiJGaXJzdCBiaXRl
OiBjcmFja2xpbmcgYnJlYWQsIHdhcm0gbWVhdCwgaGVyYnMuIFdvcnRoIGdldHRpbmcgbG9zdCBmb3IuIE9uIHRoZSB3YXkgaG9tZSB5b3UgcGFzcyB0aGUg
c3dlZXBpbmcgd29tYW4gYWdhaW4g4oCUIHNoZSB3YXZlcyBsaWtlIGFuIG9sZCBmcmllbmQuIix3aG86IvCfp5MgQ8O0IGLDoW4gaMOgbmciLGtyOiJUw6xt
IHRo4bqleSBjaMawYSBjaMOhdT8iLGVuOiJEaWQgeW91IGZpbmQgaXQ/IixjaDpbWyJUw6xtIHRo4bqleSBy4buTaSDhuqEhIENow6F1IGPhuqNtIMahbiBj
w7Qgbmhp4buBdSDhuqEhIiwiRm91bmQgaXQhIFRoYW5rIHlvdSBzbyBtdWNoISIsMV0sWyJWw6JuZy4iLCJZZXAuIiwwXSxbIlTDrG0gdGjhuqV5IHLhu5Np
LCBuaMawbmcgYsOhbmggbcOsIGLDrG5oIHRoxrDhu51uZyDhuqEuIiwiRm91bmQgaXQg4oCUIHRoZSBiw6FuaCBtw6wgd2FzIG1lZGlvY3JlIHRob3VnaC4i
LDBdXX1dfSwKNTp7dDoi8J+btSBUaGUgR3JhYiBBZHZlbnR1cmUiLCBzdGVwczpbCiB7Ymc6ImRheSIsc2M6IvCfk7Hwn5u18J+Pme+4jyIsbmFyOiJUb2Rh
eSB5b3UgdmlzaXQgVW5jbGUgVHXhuqVuIGFjcm9zcyB0b3duIOKAlCBhbG9uZSwgYnkgR3JhYiBiaWtlLiBUaGUgYXBwIHNheXMgZHJpdmVyIMSQ4bupYywg
NC45IHN0YXJzLCBpcyBhcnJpdmluZy4gQSBncmVlbi1qYWNrZXRlZCByaWRlciBwdWxscyB1cCBhbmQgaG9sZHMgb3V0IGEgaGVsbWV0LiIsd2hvOiLwn5u1
IENow7ogxJDhu6ljIixrcjoiVG9tIHBo4bqjaSBraMO0bmc/IEzDqm4geGUgxJFpIGNow6F1ISDEkOG7mWkgbcWpIGLhuqNvIGhp4buDbSB2w6BvIG5ow6ku
IixlbjoiVG9tLCByaWdodD8gSG9wIG9uISBQdXQgdGhlIGhlbG1ldCBvbi4iLGNoOltbIlbDom5nIOG6oSEgQ2jDoXUgxJHhur9uIG5ow6Ag4bufIHBo4buR
IFRy4bqnbiBIxrBuZyDEkOG6oW8g4bqhLiIsIlllcyEgSSBhbSBnb2luZyB0byB0aGUgaG91c2Ugb24gVHLhuqduIEjGsG5nIMSQ4bqhbyBzdHJlZXQuIiwx
XSxbIkNow6BvIGVtISDEkOG6v24gcGjhu5EgVHLhuqduIEjGsG5nIMSQ4bqhby4iLCJIaSAnZW0nISBUbyBUcuG6p24gSMawbmcgxJDhuqFvIHN0cmVldC4g
KGhlIGlzIGNsZWFybHkgb2xkZXIgdGhhbiB5b3UhKSIsMF0sWyLEkGkgbmhhbmggbMOqbiBuaMOpIGNow7ohIiwiUGxlYXNlIHJpZGUgRkFTVCEiLDBdXX0s
CiB7Ymc6ImNpdHkiLHNjOiLwn5u18J+SqPCfmLEiLG5hcjoiWW91IG1lcmdlIGludG8gdGhlIG1vdG9yYmlrZSByaXZlci4gSXQgaXMgdGVycmlmeWluZy4g
SXQgaXMgQU1BWklORy4gQ2jDuiDEkOG7qWMgd2VhdmVzIGxpa2Ugd2F0ZXIgYW5kIHNob3V0cyBmcmllbmRseSBxdWVzdGlvbnMgb3ZlciBoaXMgc2hvdWxk
ZXIuIix3aG86IvCfm7UgQ2jDuiDEkOG7qWMiLGtyOiJDaMOhdSBsw6AgbmfGsOG7nWkgbsaw4bubYyBuZ2/DoGkgw6A/IE7Ds2kgdGnhur9uZyBWaeG7h3Qg
Z2nhu49pIHRo4bq/ISIsZW46IllvdSBhcmUgYSBmb3JlaWduZXI/IFlvdXIgVmlldG5hbWVzZSBpcyBzbyBnb29kISIsY2g6W1siQ2jDoXUgbMOgIG5nxrDh
u51pIENhbmFkYSBn4buRYyBWaeG7h3Qg4bqhLiBDaMOhdSDEkWFuZyBo4buNYyDhuqEhIiwiSSBhbSBWaWV0bmFtZXNlLUNhbmFkaWFuLiBJIGFtIGxlYXJu
aW5nISIsMV0sWyJWw6JuZywgY2jDoXUgbMOgIG5nxrDhu51pIEjDoCBO4buZaSDhuqEuIiwiWWVzLCBJIGFtIGEgSGFub2lhbi4gKGZvdXJ0ZWVuIGhvdXJz
IG9mIGZsaWdodCBzYXkgb3RoZXJ3aXNlKSIsMF0sWyJDaMO6IGjhu49pIG5oaeG7gXUgcXXDoSDhuqEuIiwiWW91IGFzayB0b28gbWFueSBxdWVzdGlvbnMu
IiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+ap/Cfm7Xij7AiLG5hcjoiU3VkZGVubHkg4oCUIGEgd2FsbCBvZiB1bm1vdmluZyB0cmFmZmljLiBDaMO6IMSQ
4bupYyB0YXBzIGhpcyB3YXRjaCBhbmQgZ2VzdHVyZXMgYXQgYSB0aW55IGFsbGV5IG9uIHRoZSByaWdodCwgZXllYnJvd3MgcmFpc2VkOiBzaG9ydGN1dD8i
LHdobzoi8J+btSBDaMO6IMSQ4bupYyIsa3I6IlThuq9jIMSRxrDhu51uZyBy4buTaSEgxJBpIG5nw7Ugbmjhu48gbmhhbmggaMahbi4gQ2jDoXUgc+G7oyBr
aMO0bmc/IixlbjoiVHJhZmZpYyBqYW0hIFRoZSBsaXR0bGUgYWxsZXkgaXMgZmFzdGVyLiBBcmUgeW91IHNjYXJlZD8iLGNoOltbIktow7RuZyBzYW8g4bqh
ISBOaMawbmcgY2jDuiDEkWkgY2jhuq1tIHRow7RpIG5ow6khIiwiSXQgaXMgb2theSEgQnV0IHBsZWFzZSByaWRlIHNsb3dseSEiLDFdLFsiU+G7oyBs4bqv
bSEgQ2hvIGNow6F1IHh14buRbmcgxJHDonkg4bqhISIsIlRvbyBzY2FyeSEgTGV0IG1lIG9mZiByaWdodCBoZXJlISAoYWxvbmUsIGxvc3QsIHBob25lIGF0
IDMl4oCmKSIsMF0sWyLEkGkgbmhhbmggxJFpIGNow7osIGNow6F1IG114buZbiBy4buTaSEiLCJHbyBmYXN0LCBJIGFtIGxhdGUhIiwwXV19LAoge2JnOiJk
YXkiLHNjOiLwn4+g8J+kneKtkCIsbmFyOiJUaGUgYWxsZXkgb3BlbnMgb250byBUcuG6p24gSMawbmcgxJDhuqFvIHN0cmVldCDigJQgVW5jbGUgVHXhuqVu
IGlzIGFscmVhZHkgd2F2aW5nIGZyb20gaGlzIGdhdGUuIENow7ogxJDhu6ljIHB1bGxzIG92ZXIgc21vb3RoIGFzIHNpbGsuIix3aG86IvCfm7UgQ2jDuiDE
kOG7qWMiLGtyOiLEkOG6v24gbsahaSBy4buTaSEgQ2jDumMgY2jDoXUgY2jGoWkgdnVpIG5ow6khIixlbjoiV2UgaGF2ZSBhcnJpdmVkISBIYXZlIGEgZ3Jl
YXQgdmlzaXQhIixjaDpbWyJDaMOhdSBj4bqjbSDGoW4gY2jDuiDhuqEhIENow7ogxJFpIGPhuqluIHRo4bqtbiBuaMOpISIsIlRoYW5rIHlvdSEgUmlkZSBz
YWZlbHkhIiwxXSxbIuG7qi4iLCJNbS4iLDBdLFsiQ2jDuiDGoWksIGLhu5t0IHRp4buBbiDEkWkg4bqhISIsIlNpciwgbG93ZXIgdGhlIHByaWNlISAoaXQg
aXMgYSBmaXhlZCBHcmFiIGZhcmXigKYpIiwwXV19XX0sCjY6e3Q6IvCfpa0gTWFya2V0IFJ1biB3aXRoIELDoCIsIHN0ZXBzOlsKIHtiZzoic2hvcCIsc2M6
IvCfj6rwn5G18J+MhSIsbmFyOiI1OjMwIEFNLiBHcmFuZG1hIHdha2VzIHlvdSB3aXRoIHRlYTogdG9kYXkgWU9VIGNhcnJ5IHRoZSBiYXNrZXQuIFRoZSBt
YXJrZXQgaXMgcm9hcmluZyDigJQgVOG6v3QgaXMgY29taW5nIGFuZCBldmVyeW9uZSBuZWVkcyBmcnVpdCBmb3IgdGhlIGFsdGFyLiBHcmFuZG1hIG1hcmNo
ZXMgdG8gaGVyIGZhdm9yaXRlIHN0YWxsLCBydW4gYnkgYSB3b21hbiBhYm91dCB5b3VyIG1vbSdzIGFnZS4iLHdobzoi8J+RtSBCw6AiLGtyOiJIw7RtIG5h
eSBjaMOhdSBtdWEgbmjDqS4gQsOgIHhlbSBjaMOhdSBuw7NpIHRp4bq/bmcgVmnhu4d0ISIsZW46IlRvZGF5IFlPVSBkbyB0aGUgYnV5aW5nLiBMZXQgbWUg
aGVhciB5b3VyIFZpZXRuYW1lc2UhIixjaDpbWyJWw6JuZyDhuqEhIEPDtCDGoWksIHhvw6BpIG7DoHkgYmFvIG5oacOqdSB0aeG7gW4gbeG7mXQgY8OibiDh
uqE/IiwiWWVzISBNYSdhbSAoY8O0KSwgaG93IG11Y2ggYXJlIHRoZXNlIG1hbmdvZXMgcGVyIGtpbG8/IiwxXSxbIlbDom5nIOG6oSEgQsOgIMahaSwgeG/D
oGkgYmFvIG5oacOqdSB0aeG7gW4g4bqhPyIsIlllcyEgR3JhbmRtYSAoYsOgKSwgaG93IG11Y2ggYXJlIHRoZSBtYW5nb2VzPyAodGhlIHNlbGxlciBpcyB5
b3VyIG1vbSdzIGFnZSDigJQgc2hlIGlzIGEgQ8OUISkiLDBdLFsiQsOgIG11YSDEkWksIGNow6F1IHPhu6MgbOG6r20g4bqhLiIsIllvdSBidXksIEdyYW5k
bWEg4oCUIEkgYW0gdG9vIHNjYXJlZC4iLDBdXX0sCiB7Ymc6InNob3AiLHNjOiLwn6Wt8J+SsPCfmLIiLG5hcjoiJ1PDoXUgbcawxqFpIG5naMOsbiEnIOKA
lCA2MCwwMDAgYSBraWxvLiBCZWhpbmQgeW91LCBncmFuZG1hIGNvdWdocyBtZWFuaW5nZnVsbHkuIFRoYXQgaXMgdGhlIHRvdXJpc3QgcHJpY2UsIGFuZCBl
dmVyeW9uZSBrbm93cyBpdC4iLHdobzoi8J+nkeKAjfCfjL4gQ8O0IGLDoW4geG/DoGkiLGtyOiJTw6F1IG3GsMahaSBuZ2jDrG4gbeG7mXQgY8OibiwgY2jD
oXUgxqFpISIsZW46IlNpeHR5IHRob3VzYW5kIGEga2lsbywgZGVhciEiLGNoOltbIsOUaSwgxJHhuq90IHF1w6EgY8O0IMahaSEgQuG7m3QgY2hvIGNow6F1
IMSRaSDhuqEhIiwiT2gsIHRvbyBleHBlbnNpdmUhIExvd2VyIGl0IGZvciBtZSwgcGxlYXNlISIsMV0sWyJWw6JuZywgc8OhdSBtxrDGoWkgbmdow6xuIMSR
w6J5IOG6oS4iLCJPa2F5LCBoZXJlIGlzIHNpeHR5IHRob3VzYW5kLiAoZ3JhbmRtYSBjb3VnaHMgTE9VREVSKSIsMF0sWyLEkOG6r3QgcXXDoSEgQ2jDoXUg
a2jDtG5nIG11YSBu4buvYSEiLCJUb28gZXhwZW5zaXZlISBJIGFtIG5vdCBidXlpbmcgYW55bW9yZSEgKHRoZSBkYW5jZSBoYXMgYmFyZWx5IHN0YXJ0ZWQp
IiwwXV19LAoge2JnOiJzaG9wIixzYzoi8J+YhOKcgu+4j/CfpJ0iLG5hcjoiVGhlIHNlbGxlciBHUklOUyDigJQgYSBmb3JlaWduZXIgd2hvIGJhcmdhaW5z
IGluIFZpZXRuYW1lc2UhIFNoZSBkcm9wcyB0byBmb3J0eS1maXZlLiBHcmFuZG1hIHN0ZXBzIGluIHdpdGggb25lIGV5ZWJyb3cgYW5kIGdldHMgaXQgdG8g
Zm9ydHkuIE1hc3RlcmNsYXNzLiBZb3UgbmVlZCB0d28ga2lsb3MgZm9yIHRoZSBhbHRhci4iLHdobzoi8J+nkeKAjfCfjL4gQ8O0IGLDoW4geG/DoGkiLGty
OiJUaMO0aSDEkcaw4bujYywgYuG7kW4gbcawxqFpIG5naMOsbiEgQ2jDoXUgY2jhu41uIMSRaSEiLGVuOiJGaW5lLCBmb3J0eSB0aG91c2FuZCEgUGljayB5
b3VyIGZydWl0ISIsY2g6W1siQ+G6o20gxqFuIGPDtCEgQ2hvIGNow6F1IGhhaSBjw6JuIOG6oS4gUXXhuqMgbsOgeSB0xrDGoWkga2jDtG5nIOG6oT8iLCJU
aGFuayB5b3UhIFR3byBraWxvcy4gSXMgdGhpcyBvbmUgZnJlc2g/IiwxXSxbIkLhu5FuIG3GsMahaSB24bqrbiDEkeG6r3QhIEhhaSBtxrDGoWkgdGjDtGkh
IiwiRm9ydHkgaXMgc3RpbGwgdG9vIG11Y2ghIFR3ZW50eSwgZmluYWwgb2ZmZXIhIChub3cgeW91IGFyZSBqdXN0IGJlaW5nIGluc3VsdGluZykiLDBdLFsi
Q2hvIGNow6F1IG3hu5l0IHF14bqjIHRow7RpIOG6oS4iLCJKdXN0IE9ORSBtYW5nbywgcGxlYXNlLiAodGhlIGFsdGFyIG5lZWRzIHR3byBraWxvcyEpIiww
XV19LAoge2JnOiJzaG9wIixzYzoi8J+SkPCfjYnwn6e6IixuYXI6IkJhc2tldCBmdWxsOiBtYW5nb2VzLCB3YXRlcm1lbG9uLCBhIGJ1bmRsZSBvZiBwZWFj
aC1ibG9zc29tIGJyYW5jaGVzLiBPbiB0aGUgd2FsayBob21lLCBncmFuZG1hIGlzIHF1aWV0IGZvciBhIG1vbWVudCDigJQgdGhlbiBzcXVlZXplcyB5b3Vy
IGFybS4iLHdobzoi8J+RtSBCw6AiLGtyOiJOZ8OgeSB4xrBhIGLDoCDEkWkgY2jhu6MgbsOgeSB24bubaSBt4bq5IGNow6F1IMSR4bqleS4iLGVuOiJMb25n
IGFnbywgSSBjYW1lIHRvIHRoaXMgbWFya2V0IHdpdGggeW91ciBtb3RoZXIuIixjaDpbWyJUaOG6rXQg4bqhPyBCw6Aga+G7gyBjaG8gY2jDoXUgbmdoZSDE
kWkg4bqhISIsIlJlYWxseT8gVGVsbCBtZSBhYm91dCBpdCwgR3JhbmRtYSEiLDFdLFsiVsOibmcuIE3DrG5oIHbhu4EgbmhhbmggxJFpIGLDoCwgbsOzbmcg
cXXDoSDhuqEuIiwiT2theS4gTGV0IHVzIGh1cnJ5IGhvbWUsIGl0IGlzIGhvdC4iLDBdLFsiQ2jhu6MgbsOgeSBjxakgcXXDoSBiw6Agbmjhu4k/IiwiVGhp
cyBtYXJrZXQgaXMgcmVhbGx5IG9sZCwgaHVoPyIsMF1dfV19LAo3Ont0OiLwn5KsIFRoZSBGYW1pbHkgSW50ZXJ2aWV3Iiwgc3RlcHM6Wwoge2JnOiJpbmRv
b3IiLHNjOiLwn4218J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpvCfjq8iLG5hcjoiU3VuZGF5LiBUaGUgV0hPTEUgZXh0ZW5kZWQgZmFtaWx5IGdhdGhlcnMg
YXQgVW5jbGUgVHXhuqVuJ3MuIFlvdSBhcmUgdGhlIG1haW4gZXZlbnQuIFRoZSBhdW50cyBjaXJjbGUgd2l0aCB0ZWEgYW5kIHF1ZXN0aW9ucyDigJQgdGhl
IGxlZ2VuZGFyeSBWaWV0bmFtZXNlIEZhbWlseSBJbnRlcnZpZXcgYmVnaW5zLiIsd2hvOiLwn5GpIEPDtCBNYWkiLGtyOiJDaMOhdSBuxINtIG5heSBiYW8g
bmhpw6p1IHR14buVaSBy4buTaT8gTMOgbSBuZ2jhu4EgZ8OsPyIsZW46IkhvdyBvbGQgYXJlIHlvdSBub3c/IFdoYXQgaXMgeW91ciBqb2I/IixjaDpbWyJD
aMOhdSBoYWkgbcawxqFpIHTDoW0gdHXhu5VpIOG6oS4gQ2jDoXUgbMOgbSB2aeG7h2Mg4bufIG5nw6JuIGjDoG5nIOG6oS4iLCJJIGFtIHR3ZW50eS1laWdo
dC4gSSB3b3JrIGF0IGEgYmFuay4iLDFdLFsiSGFpIG3GsMahaSB0w6FtLiBMw6BtIG5nw6JuIGjDoG5nLiIsIlR3ZW50eS1laWdodC4gQmFuay4gKHRlbGVn
cmFtLXN0eWxlLCBubyDhuqEsIHRvIGFuIGF1bnQpIiwwXSxbIkPDtCBo4buPaSBsw6BtIGfDrCDhuqE/IiwiV2h5IGRvIHlvdSBhc2s/IChoZXJlLCBhZ2Ug
cXVlc3Rpb25zIGFyZSBDQVJFLCBub3QgcnVkZW5lc3MpIiwwXV19LAoge2JnOiJpbmRvb3IiLHNjOiLwn5KN8J+YhfCfjbUiLG5hcjoiQSBiZWF0IG9mIHNp
bGVuY2UuIFRoZW4gQ8O0IE1haSBsZWFucyBpbiB3aXRoIHRoZSBxdWVzdGlvbiB5b3Ugd2VyZSB3YXJuZWQgYWJvdXQuIFRoZSB3aG9sZSByb29tIHByZXRl
bmRzIG5vdCB0byBsaXN0ZW4uIExpbmggaXMgZHlpbmcgb2YgbGF1Z2h0ZXIgYmVoaW5kIGhlciB0ZWFjdXAuIix3aG86IvCfkakgQ8O0IE1haSIsa3I6IlRo
4bq/IGNow6F1IGvhur90IGjDtG4gY2jGsGE/IEPDsyBuZ8aw4budaSB5w6p1IGNoxrBhPyIsZW46IlNvIOKAlCBtYXJyaWVkIHlldD8gRG8geW91IGhhdmUg
YSBzd2VldGhlYXJ0PyIsY2g6W1siROG6oSBjaMawYSDhuqEhIENow6F1IMSRYW5nIGLhuq1uIGjhu41jIHRp4bq/bmcgVmnhu4d0IG3DoCBjw7QhIiwiTm90
IHlldCEgSSBhbSBidXN5IGxlYXJuaW5nIFZpZXRuYW1lc2UsIEF1bnRpZSEiLDFdLFsixJDDsyBsw6Agdmnhu4djIGPhu6dhIGNow6F1IOG6oSEiLCJUaGF0
IGlzIG15IHByaXZhdGUgYnVzaW5lc3MhIChjb3JyZWN0IGluIENhbmFkYSwgYSBzY2FuZGFsIGF0IHRoaXMgdGFibGUpIiwwXSxbIlLhu5NpIOG6oSEgw4Ag
bmjhuqdt4oCmIGNoxrBhIOG6oSEiLCJZZXMhIFdhaXTigJQgbm8sIG5vdCB5ZXQhICh0aGUgYXVudHMgd2lsbCBpbnZlc3RpZ2F0ZSkiLDBdXX0sCiB7Ymc6
ImluZG9vciIsc2M6IvCfjI3wn5G08J+SrCIsbmFyOiJFdmVyeW9uZSBST0FSUyB3aXRoIGxhdWdodGVyIOKAlCBwZXJmZWN0IGFuc3dlci4gVW5jbGUgVHXh
uqVuIHJlc2N1ZXMgeW91IHdpdGggYSByZWFsIHF1ZXN0aW9uLCBhbmQgdGhlIHJvb20gZ29lcyBnZW50bHkgcXVpZXQsIGJlY2F1c2UgZXZlcnlvbmUgd2Fu
dHMgdG8ga25vdy4iLHdobzoi8J+nkyBCw6FjIFR14bqlbiIsa3I6IlPhu5FuZyDhu58gbsaw4bubYyBuZ2/DoGkgdGjhur8gbsOgbyBjaMOhdT8gQ8OzIG5o
4bubIFZp4buHdCBOYW0ga2jDtG5nPyIsZW46IldoYXQgaXMgbGlmZSBhYnJvYWQgbGlrZT8gRG8geW91IG1pc3MgVmlldG5hbT8iLGNoOltbIkN14buZYyBz
4buRbmcgdOG7kXQg4bqhLCBuaMawbmcgaOG7k2kgbmjhu48gY2jDoXUga2jDtG5nIGJp4bq/dCBuaGnhu4F1IHbhu4EgVmnhu4d0IE5hbS4gQsOieSBnaeG7
nSBjaMOhdSBtdeG7kW4gaGnhu4N1IOG6oS4iLCJMaWZlIGlzIGdvb2QsIGJ1dCBncm93aW5nIHVwIEkgZGlkIG5vdCBrbm93IG11Y2ggYWJvdXQgVmlldG5h
bS4gTm93IEkgd2FudCB0byB1bmRlcnN0YW5kLiIsMV0sWyLhu54gQ2FuYWRhIHThu5F0IGjGoW4g4bufIMSRw6J5IG5oaeG7gXUg4bqhLiIsIkNhbmFkYSBp
cyBtdWNoIGJldHRlciB0aGFuIGhlcmUuIiwwXSxbIkNow6F1IGtow7RuZyBuaOG7myBnw6wgxJHDonUg4bqhLiIsIkkgZG8gbm90IG1pc3MgYW55dGhpbmcu
IiwwXV19LAoge2JnOiJkYXduIixzYzoi8J+TuPCfp5Lwn5G1IixuYXI6IkPDtCBNYWkgZGlzYXBwZWFycyBhbmQgcmV0dXJucyB3aXRoIGEgZHVzdHkgYWxi
dW06IHlvdXIgbW90aGVyLCBhZ2Ugc2l4LCBhdCB0aGlzIHZlcnkgaG91c2UuIFNtYWxsLCBmaWVyY2UsIGhvbGRpbmcgYSBtYW5nby4gVGhlIGludGVydmll
dyBpcyBvdmVyLiBZb3UgYXJlIGZhbWlseS4iLHdobzoi8J+RqSBDw7QgTWFpIixrcjoiTeG6uSBjaMOhdSBo4buTaSBuaOG7jyDEkeG6pXkuIEdp4buRbmcg
Y2jDoXUga2jDtG5nPyIsZW46IlRoYXQgaXMgeW91ciBtb3RoZXIgYXMgYSBsaXR0bGUgZ2lybC4gRG9lcyBzaGUgbG9vayBsaWtlIHlvdT8iLGNoOltbIlRy
4budaSDGoWksIGdp4buRbmcgcXXDoSEgQ8O0IGvhu4MgY2h1eeG7h24gaOG7k2kgbmjhu48gY+G7p2EgbeG6uSBjaG8gY2jDoXUgbmdoZSDEkWkg4bqhISIs
Ik9oIHdvdywgc28gYWxpa2UhIFRlbGwgbWUgc3RvcmllcyBhYm91dCBNb20gYXMgYSBraWQhIiwxXSxbIktow7RuZyBnaeG7kW5nIGzhuq9tIOG6oS4iLCJO
b3QgcmVhbGx5IGFsaWtlLiIsMF0sWyLhuqJuaCBjxakgcXXDoSwgbmjDrG4ga2jDtG5nIHLDtSDhuqEuIiwiVGhlIHBob3RvIGlzIHRvbyBvbGQg4oCUIGhh
cmQgdG8gc2VlIGFueXRoaW5nLiIsMF1dfV19LAo4Ont0OiLwn5OeIFRoZSBDYWxsIEhvbWUiLCBzdGVwczpbCiB7Ymc6Im5pZ2h0IixzYzoi8J+TsfCfjJnw
n4+gIixuYXI6IkxhdGUgZXZlbmluZy4gWW91ciBtb20gaW4gVG9yb250byBoYXMgYmVlbiB0ZXh0aW5nIGFsbCB3ZWVrIOKAlCBzaGUgaGFzIG5vdCBzZWVu
IGhlciBvd24gbW90aGVyJ3MgZmFjZSBpbiB0d28geWVhcnMuIFRvbmlnaHQsIHlvdSBhcmUgdGhlIGJyaWRnZS4gWW91IGRpYWwuIEdyYW5kbWEgc2l0cyBj
bG9zZSwgc3VkZGVubHkgbmVydm91cy4iLHdobzoi8J+TsSBN4bq5IChUb3JvbnRvKSIsa3I6IkFsw7Q/IFRvbSDDoD8gQ29uIGPDsyBraOG7j2Uga2jDtG5n
PyBCw6AgxJHDonUgcuG7k2k/IixlbjoiSGVsbG8/IFRvbT8gQXJlIHlvdSBva2F5PyBXaGVyZSBpcyBHcmFuZG1hPyIsY2g6W1siQ29uIGto4buPZSDhuqEh
IELDoCDEkcOieSwgbeG6uSBuw7NpIGNodXnhu4duIHbhu5tpIGLDoCBuaMOpISIsIkkgYW0gZmluZSEgR3JhbmRtYSBpcyByaWdodCBoZXJlIOKAlCB0YWxr
IHRvIGhlciEiLDFdLFsiQWzDtD8gQWkgxJHhuqV5IOG6oT8iLCJIZWxsbz8gV2hvIGlzIHRoaXM/ICjigKZpdCBpcyB5b3VyIG1vdGhlcikiLDBdLFsiQ29u
IGLhuq1uLCBt4bq5IGfhu41pIGzhuqFpIHNhdSBuaMOpLiIsIkkgYW0gYnVzeSDigJQgY2FsbCBiYWNrIGxhdGVyLiAoc2hlIHdhaXRlZCB0d28geWVhcnMg
Zm9yIHRoaXMpIiwwXV19LAoge2JnOiJuaWdodCIsc2M6IvCfkbXwn5Ox8J+YrSIsbmFyOiJZb3UgdHVybiB0aGUgY2FtZXJhLiBHcmFuZG1hIHNlZXMgaGVy
IGRhdWdodGVyIGFuZCBoZXIgaGFuZCBmbGllcyB0byBoZXIgbW91dGguIFR3ZW50eSBtaW51dGVzIG9mIGxhdWdoaW5nLCBjcnlpbmcsIGFuZCBtb3RoZXIt
ZGF1Z2h0ZXIgc2NvbGRpbmcgaW4gcmFwaWQgVmlldG5hbWVzZS4gVGhlbiB5b3VyIG1vbSBzd2l0Y2hlcyBiYWNrIHRvIHlvdS4iLHdobzoi8J+TsSBN4bq5
IixrcjoiQ29uIMSDbiBjxqFtIGNoxrBhPyBCw6AgbuG6pXUgZ8OsIGNobyBjb24/IixlbjoiSGF2ZSB5b3UgZWF0ZW4/IFdoYXQgaXMgR3JhbmRtYSBjb29r
aW5nIGZvciB5b3U/IixjaDpbWyJDb24gxINuIHLhu5NpIOG6oSEgQsOgIG7huqV1IG5lbSByw6FuLCBuZ29uIGzhuq9tIG3hurkgxqFpISIsIkkgYXRlISBH
cmFuZG1hIG1hZGUgc3ByaW5nIHJvbGxzIOKAlCBzbyBnb29kLCBNb20hIiwxXSxbIk3hurkgxJHhu6tuZyBo4buPaSBu4buvYSwgY29uIGzhu5tuIHLhu5Np
IG3DoCEiLCJTdG9wIGFza2luZyDigJQgSSBhbSBhIGdyb3duLXVwISAoJ2hhdmUgeW91IGVhdGVuJyBNRUFOUyAnSSBsb3ZlIHlvdScpIiwwXSxbIkNoxrBh
IOG6oS4g4bueIMSRw6J5IGtow7RuZyBjw7MgZ8OsIMSDbi4iLCJOb3QgeWV0LiBUaGVyZSBpcyBub3RoaW5nIHRvIGVhdCBoZXJlLiAoZ3JhbmRtYSdzIHRh
YmxlIGlzIEdST0FOSU5HIHdpdGggZm9vZCkiLDBdXX0sCiB7Ymc6Im5pZ2h0IixzYzoi8J+lufCfk7Hwn5KbIixuYXI6IllvdXIgbW9tIGdvZXMgcXVpZXQg
Zm9yIGEgc2Vjb25kLiBXaGVuIHNoZSBzcGVha3MgYWdhaW4sIGhlciB2b2ljZSBpcyBkaWZmZXJlbnQg4oCUIHNtYWxsZXIsIHlvdW5nZXIgc29tZWhvdy4i
LHdobzoi8J+TsSBN4bq5IixrcjoiQ+G6o20gxqFuIGNvbi4gTeG6uS4uLiBt4bq5IG5o4bubIG5ow6AgbOG6r20uIENvbiB0aGF5IG3hurkgw7RtIGLDoCBu
aMOpLiIsZW46IlRoYW5rIHlvdSwgc29uLiBJLi4uIEkgbWlzcyBob21lIHNvIG11Y2guIEh1ZyBHcmFuZG1hIGZvciBtZS4iLGNoOltbIlbDom5nIOG6oS4g
TeG6uSDEkeG7q25nIGxvLiBTYW5nIG7Eg20gY+G6oyBuaMOgIG3DrG5oIGPDuW5nIHbhu4EgbmjDqSEiLCJJIHdpbGwuIERvIG5vdCB3b3JyeSwgTW9tLiBO
ZXh0IHllYXIgd2UgYWxsIGNvbWUgdG9nZXRoZXIhIiwxXSxbIlbDom5nLiBUaMO0aSBtdeG7mW4gcuG7k2ksIGNvbiBuZ+G7pyDEkcOieSDhuqEuIiwiT2th
eS4gSXQgaXMgbGF0ZSDigJQgSSBhbSBvZmYgdG8gYmVkLiIsMF0sWyJN4bq5IMSR4burbmcga2jDs2MgbuG7r2EuIFRow7RpIGNvbiDEkWkgY2jGoWkgxJHD
onkg4bqhLiIsIlN0b3AgY3J5aW5nLiBBbnl3YXksIEkgYW0gZ29pbmcgb3V0IG5vdy4iLDBdXX0sCiB7Ymc6Im5pZ2h0IixzYzoi8J+knfCfkbXwn4yZIixu
YXI6IkNhbGwgZW5kZWQuIFRoZSByb29tIGlzIHZlcnkgcXVpZXQuIEdyYW5kbWEgdGFrZXMgeW91ciBoYW5kIGFuZCBob2xkcyBpdCDigJQgaGVyIHdheSBv
ZiBzYXlpbmcgZXZlcnl0aGluZy4gVGhlbiwgYmVpbmcgYSBncmFuZG1vdGhlciwgc2hlIHJ1aW5zIHRoZSBtb21lbnQgcGVyZmVjdGx5LiIsd2hvOiLwn5G1
IELDoCIsa3I6IlRow7RpISBLaMOzYyBnw6wgbcOgIGtow7NjISBNYWkgZ+G7jWkgbOG6oWkgbmjDqS4gQsOieSBnaeG7nSDigJQgxINuIHRow6ptIGhvYSBx
deG6oyDEkWkhIixlbjoiRW5vdWdoISBObyBtb3JlIGNyeWluZyEgV2UgY2FsbCBhZ2FpbiB0b21vcnJvdy4gTm93IOKAlCBlYXQgbW9yZSBmcnVpdCEiLGNo
OltbIkhpaGksIHbDom5nIOG6oSEgTWFpIGNow6F1IGfhu41pIG7hu69hLiBNw6xuaCBn4buNaSBt4bq5IG3hu5dpIHR14bqnbiBuaMOpIGLDoCEiLCJIYWhh
LCB5ZXMhIEkgd2lsbCBjYWxsIGFnYWluIHRvbW9ycm93LiBMZXQgdXMgY2FsbCBNb20gZXZlcnkgd2VlayEiLDFdLFsiQ2jDoXUgbm8gcuG7k2ksIGtow7Ru
ZyDEg24gaG9hIHF14bqjIMSRw6J1IOG6oS4iLCJJIGFtIGZ1bGwg4oCUIG5vIGZydWl0IGZvciBtZS4gKHJlZnVzaW5nIGdyYW5kbWEncyBmcnVpdCBpcyBy
ZWZ1c2luZyBoZXIgbG92ZSkiLDBdLFsiVsOibmcuIFdpZmkgbmjDoCBiw6AgY2jhuq1tIHF1w6EgYsOgIOG6oS4iLCJPa2F5LiBZb3VyIHdpZmkgaXMgcmVh
bGx5IHNsb3csIEdyYW5kbWEuIiwwXV19XX0sCjk6e3Q6IvCfk6YgR3JhbmRtYSdzIFBob3RvIEJveCIsIHN0ZXBzOlsKIHtiZzoiZGF3biIsc2M6IvCfjKfv
uI/wn5Om8J+Vr++4jyIsbmFyOiJBIHJhaW55IGFmdGVybm9vbi4gR3JhbmRtYSBwdWxscyBhIHRpbiBib3ggZnJvbSB1bmRlciB0aGUgYW5jZXN0cmFsIGFs
dGFyOiBibGFjay1hbmQtd2hpdGUgcGhvdG9zLCBsZXR0ZXJzLCBhIHRpbnkgamFkZSBicmFjZWxldC4gU2hlIHBhdHMgdGhlIGZsb29yIGJlc2lkZSBoZXIu
Iix3aG86IvCfkbUgQsOgIixrcjoiTOG6oWkgxJHDonkgduG7m2kgYsOgLiBDaMOhdSBtdeG7kW4geGVtIOG6o25oIG5nw6B5IHjGsGEga2jDtG5nPyIsZW46
IkNvbWUgaGVyZSB3aXRoIG1lLiBEbyB5b3Ugd2FudCB0byBzZWUgdGhlIG9sZCBwaG90b3M/IixjaDpbWyJDw7Mg4bqhISBDaMOhdSBy4bqldCBtdeG7kW4g
eGVtIOG6oS4iLCJZZXMhIEkgcmVhbGx5IHdhbnQgdG8gc2VlIHRoZW0uIiwxXSxbIsSQ4buDIGzDumMga2jDoWMgxJHGsOG7o2Mga2jDtG5nIOG6oT8gQ2jD
oXUgxJFhbmcgeGVtIMSRaeG7h24gdGhv4bqhaS4iLCJNYXliZSBsYXRlcj8gSSBhbSBvbiBteSBwaG9uZS4iLDBdLFsi4bqibmggY8WpIGPDsyBnw6wgaGF5
IMSRw6J1IOG6oS4iLCJXaGF0IGlzIGludGVyZXN0aW5nIGFib3V0IG9sZCBwaG90b3M/IiwwXV19LAoge2JnOiJpbmRvb3IiLHNjOiLwn5a877iP8J+RsPCf
pbkiLG5hcjoiQSB3ZWRkaW5nIHBob3RvOiBncmFuZG1hIGF0IHR3ZW50eSwgaW4gw6FvIGTDoGksIG5leHQgdG8gYSBzZXJpb3VzIHlvdW5nIG1hbiDigJQg
Z3JhbmRwYSwgYmVmb3JlIHRoZSB5ZWFycyBzb2Z0ZW5lZCBoaW0uIEhlciBmaW5nZXIgcmVzdHMgb24gdGhlIHBob3RvJ3MgZWRnZS4iLHdobzoi8J+RtSBC
w6AiLGtyOiLDlG5nIGLDoCBjxrDhu5tpIG7Eg20gYsOgIGhhaSBtxrDGoWkgdHXhu5VpLiBOZ2jDqG8gbOG6r20sIG5oxrBuZyBtw6AgdnVpLiIsZW46Ildl
IG1hcnJpZWQgd2hlbiBJIHdhcyB0d2VudHkuIFdlIHdlcmUgdmVyeSBwb29yIOKAlCBidXQgaGFwcHkuIixjaDpbWyJCw6AgxJHhurlwIHF1w6EhIMOUbmcg
YsOgIGfhurdwIG5oYXUgdGjhur8gbsOgbyDhuqE/IiwiWW91IHdlcmUgc28gYmVhdXRpZnVsISBIb3cgZGlkIHlvdSBhbmQgR3JhbmRwYSBtZWV0PyIsMV0s
WyJI4buTaSDEkcOzIG5naMOobyB0aOG6rXQg4bqhPyBLaOG7lSBuaOG7iS4iLCJZb3UgcmVhbGx5IHdlcmUgdGhhdCBwb29yPyBIb3cgbWlzZXJhYmxlLiIs
MF0sWyLDlG5nIHRyw7RuZyBnacOgIHF1w6EgYsOgIG5o4buJISIsIkdyYW5kcGEgbG9va3MgU08gb2xkIGluIHRoaXMhIiwwXV19LAoge2JnOiJpbmRvb3Ii
LHNjOiLinIjvuI/wn5Ou8J+YoiIsbmFyOiJUaGVuIOKAlCBhIHBob3RvIG9mIGEgeW91bmcgd29tYW4gYXQgYW4gYWlycG9ydCwgMTk5NS4gWW91ciBtb3Ro
ZXIsIGxlYXZpbmcuIEdyYW5kbWEgaXMgc2lsZW50IGEgbG9uZyB0aW1lLiBXaGVuIHNoZSBzcGVha3MsIGhlciB2b2ljZSBpcyBzdGVhZHksIGJ1dCBvbmx5
IGp1c3QuIix3aG86IvCfkbUgQsOgIixrcjoiTmfDoHkgbeG6uSBjaMOhdSDEkWksIGLDoCBraMOzYyBiYSBuZ8OgeS4gTmjGsG5nIGLDoCBiaeG6v3Qg4oCU
IMSRaSBsw6AgxJHhu4MgY8OzIHTGsMahbmcgbGFpLiIsZW46IldoZW4geW91ciBtb3RoZXIgbGVmdCwgSSBjcmllZCBmb3IgdGhyZWUgZGF5cy4gQnV0IEkg
a25ldyDigJQgbGVhdmluZyBtZWFudCBhIGZ1dHVyZS4iLGNoOltbIkLDoCDGoWkuLi4gY+G6o20gxqFuIGLDoC4gVsOsIGLDoCwgbeG6uSBjaMOhdSB2w6Ag
Y2jDoXUgbeG7m2kgY8OzIG5nw6B5IGjDtG0gbmF5IOG6oS4iLCJHcmFuZG1hLi4uIHRoYW5rIHlvdS4gQmVjYXVzZSBvZiB5b3UsIE1vbSBhbmQgSSBoYXZl
IGV2ZXJ5dGhpbmcgd2UgaGF2ZSB0b2RheS4iLDFdLFsiQ2h1eeG7h24gY8WpIHLhu5NpIG3DoCBiw6AsIMSR4burbmcgYnXhu5NuIG7hu69hIOG6oS4iLCJU
aGF0IGlzIGFuY2llbnQgaGlzdG9yeSDigJQgc3RvcCBiZWluZyBzYWQuIiwwXSxbIkNow6F1IMSRw7NpIHLhu5NpIGLDoCDGoWkuIiwiSSBhbSBnZXR0aW5n
IGh1bmdyeSwgR3JhbmRtYS4iLDBdXX0sCiB7Ymc6ImRhd24iLHNjOiLwn6en8J+Sm/CfpLIiLG5hcjoiR3JhbmRtYSB3aXBlcyBoZXIgZXllcywgbGF1Z2hz
IGF0IGhlcnNlbGYsIGFuZCBwcmVzc2VzIHRoZSB0aW55IGphZGUgYnJhY2VsZXQgaW50byB5b3VyIHBhbG0uIFNoZSBjbG9zZXMgeW91ciBmaW5nZXJzIGFy
b3VuZCBpdCB3aXRoIGJvdGggaGFuZHMuIix3aG86IvCfkbUgQsOgIixrcjoiQ8OhaSBuw6B5IGPhu6dhIG3hurkgYsOgLiBCw6J5IGdp4budIGzDoCBj4bun
YSBjaMOhdS4gxJDhu6tuZyBxdcOqbiB0aeG6v25nIFZp4buHdCBuaMOpLCBjaMOhdSBj4bunYSBiw6AuIixlbjoiVGhpcyB3YXMgbXkgbW90aGVyJ3MuIE5v
dyBpdCBpcyB5b3Vycy4gRG8gbm90IGZvcmdldCB5b3VyIFZpZXRuYW1lc2UsIG15IGdyYW5kY2hpbGQuIixjaDpbWyJDaMOhdSBo4bupYSDhuqEuIENow6F1
IHPhur0ga2jDtG5nIHF1w6puLiBDaMOhdSB5w6p1IGLDoCBuaGnhu4F1IGzhuq9tLiIsIkkgcHJvbWlzZS4gSSB3aWxsIG5vdCBmb3JnZXQuIEkgbG92ZSB5
b3Ugc28gbXVjaCwgR3JhbmRtYS4iLDFdLFsixJDhurlwIMSR4bqleSDhuqEuIE5oxrBuZyBjaMOhdSBraMO0bmcgxJFlbyB2w7JuZyDEkcOidS4iLCJQcmV0
dHkuIEJ1dCBJIGRvIG5vdCByZWFsbHkgd2VhciBicmFjZWxldHMuIiwwXSxbIkPDoWkgbsOgeSBiw6FuIMSRxrDhu6NjIGJhbyBuaGnDqnUgdGnhu4FuIOG6
oT8iLCJIb3cgbXVjaCBjb3VsZCB0aGlzIHNlbGwgZm9yPyEiLDBdXX1dfSwKMTA6e3Q6IvCfpJIgU2ljayBEYXksIEdyYW5kbWEncyBDYXJlIiwgc3RlcHM6
Wwoge2JnOiJkYXduIixzYzoi8J+kp/Cfm4/vuI/wn4yh77iPIixuYXI6IllvdSB3YWtlIHVwIHdyb25nOiBidXJuaW5nIHRocm9hdCwgaGVhdnkgaGVhZC4g
VG9vIG11Y2ggc3RyZWV0IGZvb2QsIHRvbyBsaXR0bGUgc2xlZXAsIEjDoCBO4buZaSB3aW50ZXIuIEdyYW5kbWEgdGFrZXMgb25lIGxvb2sgYXQgeW91IGFu
ZCBzd2l0Y2hlcyBpbnRvIGdlbmVyYWwgbW9kZS4iLHdobzoi8J+RtSBCw6AiLGtyOiJUcuG7nWkgxqFpLCBjaMOhdSBi4buLIOG7kW0gcuG7k2khIENow6F1
IHRo4bqleSB0aOG6vyBuw6BvPyDEkGF1IOG7nyDEkcOidT8iLGVuOiJPaCBubywgeW91IGFyZSBzaWNrISBIb3cgZG8geW91IGZlZWw/IFdoZXJlIGRvZXMg
aXQgaHVydD8iLGNoOltbIkNow6F1IGLhu4sgxJFhdSBo4buNbmcgdsOgIGjGoWkgc+G7kXQg4bqhLiIsIk15IHRocm9hdCBodXJ0cyBhbmQgSSBoYXZlIGEg
c2xpZ2h0IGZldmVyLiIsMV0sWyJDaMOhdSBraMO0bmcgc2FvIMSRw6J1IOG6oSEgS2jhu49lIG3DoCEiLCJJIGFtIGZpbmUhIFRvdGFsbHkgZmluZSEgKHlv
dSBjYW5ub3QgaGlkZSBmcm9tIHRoZSBnZW5lcmFsKSIsMF0sWyJCw6AgxJHhu6tuZyBsby4gQ2jDoXUgxJFpIGNoxqFpIHRp4bq/cCDEkcOieSDhuqEuIiwi
RG8gbm90IHdvcnJ5LiBJIGFtIGhlYWRpbmcgb3V0IGFnYWluLiIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi8J+PquKale+4j/CfkooiLG5hcjoiTGluaCBy
dW5zIHlvdSB0byB0aGUgaGnhu4d1IHRodeG7kWMgb24gdGhlIGNvcm5lci4gVGhlIHBoYXJtYWNpc3QgbG9va3MgZXhhY3RseSBsaWtlIHNvbWVvbmUgd2hv
IGhhcyBjdXJlZCB0aGlzIGV4YWN0IHRoaW5nIHRlbiB0aG91c2FuZCB0aW1lcy4iLHdobzoi4pqV77iPIEPDtCBkxrDhu6NjIHPEqSIsa3I6IkNow6F1IGLh
u4sgbMOgbSBzYW8/IE7Ds2kgY8O0IG5naGUgbsOgby4iLGVuOiJXaGF0IGlzIHdyb25nPyBUZWxsIG1lLiIsY2g6W1siQ2jDoXUgYuG7iyDEkWF1IGjhu41u
ZywgaG8sIHbDoCBz4buRdCBuaOG6uSB04burIHPDoW5nIOG6oS4iLCJJIGhhdmUgYSBzb3JlIHRocm9hdCwgYSBjb3VnaCwgYW5kIGEgc2xpZ2h0IGZldmVy
IHNpbmNlIG1vcm5pbmcuIiwxXSxbIkNow6F1IGLhu4sgxJFhdSBjaMOibiDhuqEuIiwiTXkgbGVnIGh1cnRzLiAo4oCmdGhhdCBpcyBub3Qgd2hlcmUgeW91
ciBwcm9ibGVtIGlzKSIsMF0sWyJDaG8gY2jDoXUgdGh14buRYyBnw6wgY8WpbmcgxJHGsOG7o2Mg4bqhLiIsIkp1c3QgZ2l2ZSBtZSBhbnkgbWVkaWNpbmUu
IiwwXV19LAoge2JnOiJpbmRvb3IiLHNjOiLwn5KK8J+TneKdkyIsbmFyOiJTaGUgaGFuZHMgb3ZlciBhIHNtYWxsIHBhcGVyIGJhZyBvZiBtZWRpY2luZSBh
bmQgcmF0dGxlcyBvZmYgaW5zdHJ1Y3Rpb25zIOKAlCBmYXN0LiBZb3UgY2F0Y2ggbWF5YmUgaGFsZi4gVGhpcyBpcyBleGFjdGx5IHRoZSBtb21lbnQgeW91
ciByZXNjdWUgcGhyYXNlcyB3ZXJlIG1hZGUgZm9yLiIsd2hvOiLimpXvuI8gQ8O0IGTGsOG7o2Mgc8SpIixrcjoiTmfDoHkgdeG7kW5nIGJhIGzhuqduIHNh
dSBraGkgxINuLCBracOqbmcgxJHhu5MgbOG6oW5oLCBuZ2jhu4kgbmfGoWkgbmhp4buBdSB2w6BvLi4uIixlbjoiKGZhc3QpIFRocmVlIHRpbWVzIGRhaWx5
IGFmdGVyIG1lYWxzLCBhdm9pZCBjb2xkIGZvb2RzLCBwbGVudHkgb2YgcmVzdC4uLiIsY2g6W1siWGluIGzhu5dpIGPDtCwgY8O0IG7Ds2kgY2jhuq1tIGzh
uqFpIMSRxrDhu6NjIGtow7RuZyDhuqE/IFXhu5FuZyBt4bqleSBs4bqnbiBt4buZdCBuZ8OgeSDhuqE/IiwiU29ycnksIGNvdWxkIHlvdSBzcGVhayBzbG93
ZXI/IEhvdyBtYW55IHRpbWVzIGEgZGF5PyIsMV0sWyJWw6JuZywgY2jDoXUgaGnhu4N1IGjhur90IOG6oS4iLCJZZXMsIEkgdW5kZXJzdG9vZCBldmVyeXRo
aW5nLiAoeW91IHVuZGVyc3Rvb2QgSEFMRiDigJQgdGhpcyBpcyBtZWRpY2luZSEpIiwwXSxbIlRow7RpLCBjaMOhdSBraMO0bmcgbXVhIG7hu69hIOG6oS4i
LCJOZXZlciBtaW5kLCBJIHdpbGwgbm90IGJ1eSBpdC4iLDBdXX0sCiB7Ymc6Im5pZ2h0IixzYzoi8J+lo/CfmLTwn5KbIixuYXI6IkhvbWUuIEJsYW5rZXQu
IEFuZCB0aGVuIHRoZSBzbWVsbCBmcm9tIHRoZSBraXRjaGVuOiBjaMOhbyBnw6Ag4oCUIGdyYW5kbWEncyBjaGlja2VuIHBvcnJpZGdlLCBnaW5nZXIgYW5k
IHNjYWxsaW9uLCB0aGUgY3VyZSB5b3VyIG1vbSB1c2VkIHRvIG1ha2UuIFNvbWUgcmVjaXBlcyB0cmF2ZWwgYWNyb3NzIG9jZWFucy4iLHdobzoi8J+RtSBC
w6AiLGtyOiLEgm4gY2jDoW8gbsOzbmcgcuG7k2kgbmfhu6cgxJFpLiBNYWkgbMOgIGto4buPaSBuZ2F5IOG6pXkgbcOgISIsZW46IkVhdCB0aGUgaG90IHBv
cnJpZGdlIGFuZCBzbGVlcC4gQnkgdG9tb3Jyb3cgeW91IHdpbGwgYmUgYWxsIGJldHRlciEiLGNoOltbIkNow6FvIGdp4buRbmcgY+G7p2EgbeG6uSBu4bql
dS4uLiBD4bqjbSDGoW4gYsOgIOG6oS4gQ2jDoXUgxINuIHhvbmcgc+G6vSBuZ+G7pyBuZ2F5IOG6oS4iLCJJdCBpcyBqdXN0IGxpa2UgTW9tJ3MuLi4gVGhh
bmsgeW91LiBJIHdpbGwgc2xlZXAgcmlnaHQgYWZ0ZXIgZWF0aW5nLiIsMV0sWyJDaMOhdSBraMO0bmcgdGjDrWNoIGNow6FvIOG6oS4gQ8OzIHBo4bufIGto
w7RuZyBiw6A/IiwiSSBkbyBub3QgbGlrZSBwb3JyaWRnZS4gSXMgdGhlcmUgcGjhu58/IChyZWZ1c2luZyB0aGUgc2FjcmVkIHNpY2stZGF5IGNow6FvISki
LDBdLFsiVsOibmcuIE1haSBjaMOhdSBs4bqhaSDEkWkgY2jGoWkgY+G6oyBuZ8OgeSDhuqEuIiwiT2theS4gVG9tb3Jyb3cgSSB3aWxsIGJlIG91dCBhbGwg
ZGF5IGFnYWluLiIsMF1dfV19LAoxMTp7dDoi8J+nqCBU4bq/dCBFdmUiLCBzdGVwczpbCiB7Ymc6ImRheSIsc2M6IvCfp7nwn4+u8J+MuCIsbmFyOiJUaGUg
bGFzdCBkYXlzIG9mIHRoZSBvbGQgeWVhciDigJQgdGhlIHdob2xlIGhvdXNlIGlzIGEgam95ZnVsIHN0b3JtLiBTd2VlcGluZyAoYmFkIGx1Y2sgT1VUKSwg
cGVhY2ggYmxvc3NvbXMgaW4gdGhlIHZhc2UsIGFuZCB0b25pZ2h0OiB3cmFwcGluZyBiw6FuaCBjaMawbmcuIEdyYW5kbWEgaXMgdGhlIGNvbW1hbmRlcjsg
eW91IGFyZSB0aGUgcmVjcnVpdC4iLHdobzoi8J+RtSBCw6AiLGtyOiJDaMOhdSBtdeG7kW4gaOG7jWMgZ8OzaSBiw6FuaCBjaMawbmcga2jDtG5nPyBLaMOz
IGzhuq9tIMSR4bqleSEiLGVuOiJEbyB5b3Ugd2FudCB0byBsZWFybiB0byB3cmFwIGLDoW5oIGNoxrBuZz8gSXQgaXMgdmVyeSBoYXJkISIsY2g6W1siQ8Oz
IOG6oSEgQ2jDoXUgbXXhu5FuIGjhu41jIOG6oS4gQsOgIGThuqF5IGNow6F1IG5ow6khIiwiWWVzISBJIHdhbnQgdG8gbGVhcm4uIFRlYWNoIG1lLCBHcmFu
ZG1hISIsMV0sWyJLaMOzIHRo4bq/IHRow6wgdGjDtGkg4bqhLiBDaMOhdSB4ZW0gdGjDtGkgbmjDqS4iLCJJZiBpdCBpcyB0aGF0IGhhcmQsIG5ldmVyIG1p
bmQg4oCUIEkgd2lsbCBqdXN0IHdhdGNoLiIsMF0sWyJNdWEgYsOhbmgg4bufIGNo4bujIG5oYW5oIGjGoW4gbcOgIGLDoD8iLCJCdXlpbmcgdGhlbSBhdCB0
aGUgbWFya2V0IGlzIGZhc3RlciB0aG91Z2gsIHJpZ2h0PyAodGhhdCBpcyBub3QgdGhlIFBPSU5UKSIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi8J+Ng/Cf
jZrwn6SyIixuYXI6IkdyZWVuIGzDoSBkb25nIGxlYXZlcywgc3RpY2t5IHJpY2UsIG11bmcgYmVhbnMsIHBvcmsuIFlvdXIgZmlyc3QgYsOhbmggY2jGsG5n
IGxvb2tzIGxpa2UgYSBjcnVtcGxlZCBnaWZ0IGZyb20gYSByYWNjb29uLiBZb3VyIGZvdXJ0aCBvbmUg4oCUIGFsbW9zdCBzcXVhcmUhIFRoZSBmYW1pbHkg
Y2hlZXJzLiBHcmFuZHBhIGV4YW1pbmVzIGl0IGxpa2UgYSBqZXdlbGVyLiIsd2hvOiLwn5G0IMOUbmciLGtyOiLhu5IhIEPDoWkgbsOgeSDEkcaw4bujYyDE
keG6pXkhIEFpIGThuqF5IGNow6F1IG3DoCBnaeG7j2kgdGjhur8/IixlbjoiT2ghIFRoaXMgb25lIGlzIGFjdHVhbGx5IGdvb2QhIFdobyB0YXVnaHQgeW91
IHRvIGJlIHRoaXMgc2tpbGxlZD8iLGNoOltbIkLDoCBk4bqheSBjaMOhdSDhuqEhIELDoCBsw6Agc+G7kSBt4buZdCEiLCJHcmFuZG1hIHRhdWdodCBtZSEg
U2hlIGlzIG51bWJlciBvbmUhIiwxXSxbIkNow6F1IHThu7EgaOG7jWMgxJHhuqV5IOG6oSEiLCJJIHRhdWdodCBteXNlbGYhIChncmFuZG1hJ3MgZXllYnJv
dyByaXNlcyBzbG93bHnigKYpIiwwXSxbIkPDoWkgbsOgeSB44bqldSBtw6Agw7RuZy4gQ2jDoXUgbMOgbSBs4bqhaSDhuqEuIiwiVGhpcyBvbmUgaXMgdWds
eS4gSSB3aWxsIHJlZG8gaXQuIiwwXV19LAoge2JnOiJuaWdodCIsc2M6IvCflZvwn46G8J+ZjyIsbmFyOiJHaWFvIHRo4burYSDigJQgbWlkbmlnaHQuIElu
Y2Vuc2Ugc21va2UgY3VybHMgb3ZlciB0aGUgYWx0YXIgd2l0aCB5b3VyIGdyZWF0LWdyYW5kcGFyZW50cycgcGhvdG9zLiBEaXN0YW50IGZpcmV3b3JrcyBi
bG9vbSBvdmVyIHRoZSBsYWtlLiBHcmFuZG1hIGhhbmRzIHlvdSB0aGUgZmlyc3QgbMOsIHjDrCBvZiB0aGUgeWVhciwgZXllcyBzaGluaW5nLiIsd2hvOiLw
n5G1IELDoCIsa3I6IkNow7pjIG3hu6tuZyBuxINtIG3hu5tpLCBjaMOhdSBj4bunYSBiw6AhIENow6F1IGNow7pjIGLDoCDEkWkgbsOgbyEiLGVuOiJIYXBw
eSBOZXcgWWVhciwgbXkgZ3JhbmRjaGlsZCEgTm93IOKAlCBzYXkgeW91ciB3aXNoIGZvciBtZSEiLGNoOltbIkNow6F1IGNow7pjIMO0bmcgYsOgIG7Eg20g
beG7m2kgbmhp4buBdSBz4bupYyBraOG7j2UsIHPhu5FuZyBsw6J1IHRyxINtIHR14buVaSDhuqEhIiwiSSB3aXNoIHlvdSBoZWFsdGggaW4gdGhlIG5ldyB5
ZWFyLCBhbmQgYSBodW5kcmVkIHllYXJzIG9mIGxpZmUhIiwxXSxbIkNow7pjIGLDoOKApiDGoeKApiBjaMOhdSBxdcOqbiBy4buTaSDhuqEhIiwiSSB3aXNo
IHlvdeKApiB1aOKApiBJIGZvcmdvdCB0aGUgd29yZHMhIiwwXSxbIkLDoCBsw6wgeMOsIGNow6F1IGJhbyBuaGnDqnUg4bqhPyIsIkhvdyBtdWNoIGx1Y2t5
IG1vbmV5IGFtIEkgZ2V0dGluZz8gKE5FVkVSIGFzayB0aGUgYW1vdW50ISkiLDBdXX0sCiB7Ymc6Im5pZ2h0IixzYzoi8J+np/Cfjofwn5Go4oCN8J+RqeKA
jfCfkafigI3wn5GmIixuYXI6IlBlcmZlY3Qgd2lzaCDigJQgdGhlIHdob2xlIGZhbWlseSBlcnVwdHMuIEzDrCB4w6wgZW52ZWxvcGVzIGZseSwgTGluaCBs
aXZlc3RyZWFtcyB0aGUgZmlyZXdvcmtzIHRvIHlvdXIgbW9tIGluIFRvcm9udG8sIHdobyBpcyBjcnlpbmcgYW5kIGxhdWdoaW5nIGF0IDExIEFNIGhlciB0
aW1lLiBHcmFuZHBhIHJhaXNlcyBoaXMgdGVhY3VwLiIsd2hvOiLwn5G0IMOUbmciLGtyOiJOxINtIG5heSBuaMOgIG3DrG5oIMSRw7RuZyDEkeG7py4gQ2jD
umMgY+G6oyBuaMOgIG3huqFuaCBraOG7j2UsIGjhuqFuaCBwaMO6YyEiLGVuOiJUaGlzIHllYXIgb3VyIGZhbWlseSBpcyBjb21wbGV0ZS4gSGVhbHRoIGFu
ZCBoYXBwaW5lc3MgdG8gdXMgYWxsISIsY2g6W1siQ2jDumMgbeG7q25nIG7Eg20gbeG7m2kgY+G6oyBuaMOgISBDaMOhdSBo4bqhbmggcGjDumMgbOG6r20g
4bqhISIsIkhhcHB5IE5ldyBZZWFyLCBldmVyeW9uZSEgSSBhbSBzbyBoYXBweSEiLDFdLFsiQ2jDoXUgYnXhu5NuIG5n4bunIHF1w6EuIENow6F1IMSRaSBu
Z+G7pyB0csaw4bubYyDhuqEuIiwiU28gc2xlZXB5LiBJIGFtIG9mZiB0byBiZWQuIChsZWF2aW5nIEJFRk9SRSB0aGUgbWlkbmlnaHQgdG9hc3Q/ISkiLDBd
LFsiVsOibmcuIFBow6FvIGhvYSDhu5NuIHF1w6Egw7RuZyBuaOG7iS4iLCJZZWFoLiBUaGUgZmlyZXdvcmtzIGFyZSBwcmV0dHkgbm9pc3ksIGh1aC4iLDBd
XX1dfSwKMTI6e3Q6IvCfp7MgVGhlIEhhcmRlc3QgR29vZGJ5ZSIsIHN0ZXBzOlsKIHtiZzoiZGF3biIsc2M6IvCfp7Pwn5iw8J+PoCIsbmFyOiJEZXBhcnR1
cmUgZGF5LiBZb3VyIHN1aXRjYXNlIGlzIDkwJSBncmFuZG1hJ3MgZm9vZC4gT25lIGhvdXIgYmVmb3JlIHRoZSB0YXhpIOKAlCBhbmQgeW91ciBwYXNzcG9y
dCBpcyBOT1Qgd2hlcmUgeW91IGxlZnQgaXQuIEhlYXJ0LiBTdG9wcy4gVGhlIGZhbWlseSBtb2JpbGl6ZXMgaW5zdGFudGx5LiIsd2hvOiLwn5mCIExpbmgi
LGtyOiJCw6xuaCB0xKluaCEgQW5oIG5o4bubIGzhuqFpIMSRaSDigJQgbOG6p24gY3Xhu5FpIGFuaCB0aOG6pXkgbsOzIOG7nyDEkcOidT8iLGVuOiJTdGF5
IGNhbG0hIFRoaW5rIGJhY2sg4oCUIHdoZXJlIGRpZCB5b3UgbGFzdCBzZWUgaXQ/IixjaDpbWyLEkOG7q25nIGxvLi4uIMOgISBBbmggbmjhu5sgcuG7k2kh
IFRyb25nIHBow7JuZyBj4bunYSBt4bq5LCBjaOG7lyBjw6FpIGjhu5lwIOG6o25oISIsIkRvIG5vdCB3b3JyeS4uLiBhaCEgSSByZW1lbWJlciEgSW4gTW9t
J3Mgcm9vbSwgYnkgdGhlIHBob3RvIGJveCEiLDFdLFsiQ2jhuq9jIGFpIGzhuqV5IHLhu5NpISBH4buNaSBjw7RuZyBhbiDEkWkhIiwiU29tZW9uZSBtdXN0
IGhhdmUgU1RPTEVOIGl0ISBDYWxsIHRoZSBwb2xpY2UhIChhY2N1c2luZyB0aGUgZmFtaWx5PyEpIiwwXSxbIlRow7RpLCBhbmgg4bufIGzhuqFpIFZp4buH
dCBOYW0gbHXDtG4gduG6rXkuIiwiRmluZSDigJQgSSB3aWxsIGp1c3QgbGl2ZSBpbiBWaWV0bmFtIGZvcmV2ZXIgdGhlbi4iLDBdXX0sCiB7Ymc6ImluZG9v
ciIsc2M6IvCfm4Lwn5iF8J+ZjyIsbmFyOiJUaGVyZSBpdCBpcyDigJQgdW5kZXIgdGhlIHBob3RvIGFsYnVtIHlvdSBmZWxsIGFzbGVlcCByZWFkaW5nLiBU
aGUgaG91c2UgZXhoYWxlcy4gR3JhbmRtYSBzY29sZHMgeW91IHdpdGggZW5vcm1vdXMgbG92ZSwgdGhlbiBzdHVmZnMgdGhyZWUgbW9yZSBiw6FuaCBjaMaw
bmcgaW50byB5b3VyIGJhZyAnZm9yIHRoZSBwbGFuZS4nIix3aG86IvCfkbUgQsOgIixrcjoiVHLhu51pIMahaSBjaMOhdSB0w7RpISBI4buZIGNoaeG6v3Ug
cXVhbiB0cuG7jW5nIGzhuq9tIMSR4bqleSEgxJDGsGEgYsOgIGdp4buvIGNobyDEkeG6v24gbMO6YyDEkWkhIixlbjoiT2ggbXkgZ3JhbmRjaGlsZCEgQSBw
YXNzcG9ydCBpcyBwcmVjaW91cyEgR2l2ZSBpdCB0byBtZSB1bnRpbCB5b3UgbGVhdmUhIixjaDpbWyJWw6JuZyDhuqEsIGLDoCBnaeG7ryBnacO6cCBjaMOh
dSDhuqEuIE1heSBxdcOhLCBj4bqjbSDGoW4gY+G6oyBuaMOgIOG6oSEiLCJZZXMsIHBsZWFzZSBob2xkIGl0IGZvciBtZS4gU28gbHVja3kg4oCUIHRoYW5r
IHlvdSwgZXZlcnlvbmUhIiwxXSxbIkNow6F1IHThu7EgZ2nhu68gxJHGsOG7o2MgbcOgIGLDoCEiLCJJIGNhbiBob2xkIGl0IG15c2VsZiEgKHlvdSBKVVNU
IGxvc3QgaXQpIiwwXSxbIkjhu5kgY2hp4bq/dSBjxakgbsOgeSwgbeG6pXQgY8Wpbmcga2jDtG5nIHNhbyDhuqEuIiwiSXQgaXMgYW4gb2xkIHBhc3Nwb3J0
IOKAlCBsb3NpbmcgaXQgd291bGQgYmUgbm8gYmlnIGRlYWwuIiwwXV19LAoge2JnOiJkYXkiLHNjOiLwn5qX8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpvCf
mK0iLG5hcjoiVGhlIHRheGkgaWRsZXMgYXQgdGhlIGdyZWVuIGdhdGUuIFRoZSBXSE9MRSBmYW1pbHkgaXMgb3V0c2lkZSDigJQgYXVudHMsIGNvdXNpbnMs
IHRoZSBtYW5nbyBzZWxsZXIgZnJvbSB0aGUgbWFya2V0IHdhdmVzIGZyb20gaGVyIGJpY3ljbGUuIEdyYW5kbWEgaG9sZHMgeW91ciBmYWNlIGluIGJvdGgg
aGFuZHMuIix3aG86IvCfkbUgQsOgIixrcjoiVuG7gSBiw6puIMSRw7Mgbmjhu5sgxINuIGPGoW0gxJHhuqd5IMSR4bunLiBOaOG7myBn4buNaSDEkWnhu4du
IGNobyBiw6AuIFbDoCBuaOG7my4uLiDEkeG7q25nIHF1w6puIGLDoCBuaMOpLiIsZW46Ik92ZXIgdGhlcmUsIGVhdCBwcm9wZXJseS4gUmVtZW1iZXIgdG8g
Y2FsbCBtZS4gQW5kIHJlbWVtYmVyLi4uIGRvIG5vdCBmb3JnZXQgbWUuIixjaDpbWyJDaMOhdSBraMO0bmcgYmFvIGdp4budIHF1w6puIOG6oS4gQ2jDoXUg
c+G6vSBn4buNaSBiw6AgbeG7l2kgY2jhu6cgbmjhuq10LiBDaMOhdSBo4bupYSDhuqEuIiwiSSBjb3VsZCBuZXZlciBmb3JnZXQgeW91LiBJIHdpbGwgY2Fs
bCBldmVyeSBTdW5kYXkuIEkgcHJvbWlzZS4iLDFdLFsiQ2jDoXUgYuG6rW4gbOG6r20sIG5oxrBuZyBjaMOhdSBz4bq9IGPhu5EgZ+G7jWkg4bqhLiIsIkkg
YW0gdmVyeSBidXN5IOKAlCBidXQgSSB3aWxsIFRSWSB0byBjYWxsLiIsMF0sWyJWw6JuZy4gVGjDtGkgYsOgIHbDoG8gbmjDoCDEkWksIG7Ds25nIGzhuq9t
IOG6oS4iLCJPa2F5LiBHbyBiYWNrIGluc2lkZSBub3csIGl0IGlzIGhvdCBvdXQuIiwwXV19LAoge2JnOiJkYXduIixzYzoi4pyI77iP8J+Sm/Cfh7vwn4ez
IixuYXI6IlRocm91Z2ggdGhlIHRheGkncyBiYWNrIHdpbmRvdzogdGhlIGZhbWlseSB3YXZpbmcsIHRoZSBwZWFjaCBibG9zc29tcyBieSB0aGUgZ2F0ZSwg
TGluaCBjaGFzaW5nIHRoZSBjYXIgZm9yIG9uZSBsYXN0IHNpbGx5IHdhdmUuIFlvdSB0b3VjaCB0aGUgamFkZSBicmFjZWxldCBvbiB5b3VyIHdyaXN0LiBU
aGlzIGlzIG5vdCBhbiBlbmRpbmcuIix3aG86IvCfp6AgKHlvdXIgaGVhcnQpIixrcjoiKMSQw6J5IGzDoCBuaMOgLiBNw6xuaCBz4bq9IHF1YXkgbOG6oWku
KSIsZW46IihUaGlzIGlzIGhvbWUuIEkgd2lsbCBjb21lIGJhY2suKSIsY2g6W1siQ29uIHPhur0gcXVheSBs4bqhaS4gSOG6uW4gZ+G6t3AgbOG6oWksIFZp
4buHdCBOYW0hIiwiSSB3aWxsIGNvbWUgYmFjay4gU2VlIHlvdSBhZ2FpbiwgVmlldG5hbSEiLDFdLFsiQ2jhuq9jIGzDonUgbOG6r20gbeG7m2kgcXVheSBs
4bqhaSDEkcaw4bujYy4iLCJJdCB3aWxsIHByb2JhYmx5IGJlIHllYXJzIGJlZm9yZSBJIGNhbiByZXR1cm4uIiwwXSxbIlhvbmcgcuG7k2kuIFbhu4EgbmjD
oCB0aMO0aS4iLCJEb25lLiBUaW1lIHRvIGdvIGhvbWUuICjigKZ5b3UgQVJFIGxlYXZpbmcgaG9tZSkiLDBdXX1dfQp9OwpMRVNTT05TLmZvckVhY2goTCA9
PiBMLnN0b3J5ID0gU1RPUklFU1tMLm5dKTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KICAgVEFMS1Mg4oCUIHNwb2tlbiBjb252ZXJzYXRpb24gcGVyIHF1ZXN0IChhbGwgb3JpZ2luYWwpLgogICA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmNvbnN0IFRBTEtTID0gewoxOnt3aG86IvCfmYIgTGluaCAoeW91ciBjb3Vz
aW4pIiwgdDoiTWVldGluZyB5b3VyIGNvdXNpbiBhdCB0aGUgYWlycG9ydCIsIHR1cm5zOlsKIHtxOiJDaMOgbyBhbmghIEFuaCBsw6AgVG9tIHBo4bqjaSBr
aMO0bmc/IixxRW46IkhlbGxvISBZb3UgYXJlIFRvbSwgcmlnaHQ/Iix0YXNrOiJTYXkgaGVsbG8gYW5kIHRoYXQgeW91IGFyZSBUb20uIixhOiJDaMOgbyBl
bSEgQW5oIGzDoCBUb20uIixhRW46IkhpISBJIGFtIFRvbS4iLGFsdDpbIkNow6BvIGVtLCBhbmggbMOgIFRvbSDEkcOieS4iXX0sCiB7cToiQ2h1eeG6v24g
YmF5IHRo4bq/IG7DoG8/IEFuaCBjw7MgbeG7h3Qga2jDtG5nPyIscUVuOiJIb3cgd2FzIHRoZSBmbGlnaHQ/IEFyZSB5b3UgdGlyZWQ/Iix0YXNrOiJTYXkg
eW91IGFyZSBhIGxpdHRsZSB0aXJlZC4iLGE6IkFuaCBoxqFpIG3hu4d0LiIsYUVuOiJJIGFtIGEgbGl0dGxlIHRpcmVkLiIsYWx0OlsiQW5oIGjGoWkgbeG7
h3QgbeG7mXQgY2jDunQuIiwiSMahaSBt4buHdC4iXX0sCiB7cToiQsOgIMSRYW5nIMSR4bujaSDhu58gbmjDoCDEkeG6pXkhIEFuaCBuw7NpIHRp4bq/bmcg
Vmnhu4d0IMSRxrDhu6NjIGtow7RuZz8iLHFFbjoiR3JhbmRtYSBpcyB3YWl0aW5nIGF0IGhvbWUhIENhbiB5b3Ugc3BlYWsgVmlldG5hbWVzZT8iLHRhc2s6
IlNheSB5b3UgY2FuIHNwZWFrIGEgbGl0dGxlIFZpZXRuYW1lc2UuIixhOiJBbmggbsOzaSDEkcaw4bujYyBt4buZdCBjaMO6dCB0aeG6v25nIFZp4buHdC4i
LGFFbjoiSSBjYW4gc3BlYWsgYSBsaXR0bGUgVmlldG5hbWVzZS4iLGFsdDpbIkFuaCBuw7NpIMSRxrDhu6NjIG3hu5l0IGNow7p0LiIsIk3hu5l0IGNow7p0
IHRow7RpLiJdfSwKIHtxOiJHaeG7j2kgcXXDoSEgQsOgIHPhur0gdnVpIGzhuq9tLiBBbmggZ+G6t3AgYsOgIGzhuqduIGN14buRaSBraGkgbsOgbz8iLHFF
bjoiR3JlYXQhIEdyYW5kbWEgd2lsbCBiZSBzbyBoYXBweS4gV2hlbiBkaWQgeW91IGxhc3Qgc2VlIGhlcj8iLHRhc2s6IlNheTogbG9uZyB0aW1lIG5vIHNl
ZSDigJQgdGVuIHllYXJzISIsYToiTMOidSBxdcOhIGtow7RuZyBn4bq3cC4gTcaw4budaSBuxINtIHLhu5NpISIsYUVuOiJMb25nIHRpbWUgbm8gc2VlIOKA
lCB0ZW4geWVhcnMhIixhbHQ6WyJNxrDhu51pIG7Eg20gcuG7k2kuIiwiTMOidSBs4bqvbSBy4buTaS4iXX0sCiB7cToiw5RpIHRy4budaSEgVuG6rXkgbcOs
bmggduG7gSBuaMOgIG5oYW5oIHRow7RpISBBbmggc+G6tW4gc8OgbmcgY2jGsGE/IixxRW46Ik9oIHdvdyEgVGhlbiBsZXQgdXMgaHVycnkgaG9tZSEgQXJl
IHlvdSByZWFkeT8iLHRhc2s6IlNheSB5ZXMgKHBvbGl0ZWx5KSDigJQgbGV0IHVzIGdvISIsYToiVsOibmcsIG3DrG5oIMSRaSB0aMO0aSEiLGFFbjoiWWVz
LCBsZXQgdXMgZ28hIixhbHQ6WyLEkGkgdGjDtGkhIiwiVsOibmcsIMSRaSB0aMO0aSBlbS4iXX1dfSwKMjp7d2hvOiLwn5G1IELDoCAoeW91ciBncmFuZG1v
dGhlcikiLCB0OiJEaW5uZXIgYXQgZ3JhbmRtYSdzIHRhYmxlIiwgdHVybnM6Wwoge3E6IkNow6F1IMahaSwgxINuIGPGoW0hIENow6F1IMSRw7NpIGtow7Ru
Zz8iLHFFbjoiU3dlZXRoZWFydCwgZGlubmVyIHRpbWUhIEFyZSB5b3UgaHVuZ3J5PyIsdGFzazoiU2F5IHllcywgeW91IGFyZSB2ZXJ5IGh1bmdyeSEiLGE6
IlbDom5nIOG6oSwgY2jDoXUgxJHDs2kgbOG6r20g4bqhISIsYUVuOiJZZXMsIEkgYW0gdmVyeSBodW5ncnkhIixhbHQ6WyJDaMOhdSDEkcOzaSBs4bqvbSDh
uqEuIiwiVsOibmcsIGNow6F1IMSRw7NpIOG6oS4iXX0sCiB7cToiTmfhu5NpIMSRaSBjaMOhdS4gQ2jDoXUgbeG7nWkgbeG7jWkgbmfGsOG7nWkgxJFpIG7D
oG8hIixxRW46IlNpdCBkb3duLCBkZWFyLiBOb3cgaW52aXRlIGV2ZXJ5b25lIHRvIGVhdCEiLHRhc2s6Ikludml0ZSBncmFuZHBhIGFuZCBncmFuZG1hIHRv
IGVhdC4iLGE6IkNow6F1IG3hu51pIMO0bmcgYsOgIMSDbiBjxqFtIOG6oSEiLGFFbjoiR3JhbmRwYSwgR3JhbmRtYSwgcGxlYXNlIGVhdCEiLGFsdDpbIkNo
w6F1IG3hu51pIMO0bmcgYsOgIOG6oS4iLCJN4budaSDDtG5nIGLDoCDEg24gY8ahbSDhuqEuIl19LAoge3E6Ik5nb2FuIHF1w6EhIENow6F1IMSDbiB0aOG7
rSBuZW0gcsOhbiBj4bunYSBiw6AgxJFpLiBOZ29uIGtow7RuZz8iLHFFbjoiU28gd2VsbC1tYW5uZXJlZCEgVHJ5IG15IHNwcmluZyByb2xscy4gQXJlIHRo
ZXkgZ29vZD8iLHRhc2s6IlNheSB0aGV5IGFyZSBTTyBkZWxpY2lvdXMhIixhOiJOZ29uIHF1w6EgYsOgIMahaSEiLGFFbjoiU28gZGVsaWNpb3VzLCBHcmFu
ZG1hISIsYWx0OlsiTmdvbiBs4bqvbSDhuqEhIiwiTmdvbiBxdcOhIOG6oSEiXX0sCiB7cToixIJuIHRow6ptIMSRaSEgQ2jDoXUgbXXhu5FuIMSDbiB0aMOq
bSBjxqFtIGtow7RuZz8iLHFFbjoiRWF0IG1vcmUhIERvIHlvdSB3YW50IG1vcmUgcmljZT8iLHRhc2s6IlNheSB5ZXMg4oCUIG9uZSBtb3JlIGJvd2wsIHBs
ZWFzZS4iLGE6IlbDom5nIOG6oSwgY2hvIGNow6F1IHRow6ptIG3hu5l0IGLDoXQg4bqhLiIsYUVuOiJZZXMsIG9uZSBtb3JlIGJvd2wgZm9yIG1lLCBwbGVh
c2UuIixhbHQ6WyJDaG8gY2jDoXUgdGjDqm0gbeG7mXQgYsOhdCDhuqEuIiwiQ2jDoXUgeGluIHRow6ptIG3hu5l0IGLDoXQg4bqhLiJdfSwKIHtxOiLEgm4g
bmhp4buBdSB2w6BvIG5ow6khIENow6F1IMSDbiBubyBjaMawYT8iLHFFbjoiRWF0IHBsZW50eSEgQXJlIHlvdSBmdWxsIHlldD8iLHRhc2s6IlNheSB5b3Ug
YXJlIGZ1bGwg4oCUIHRoYW5rIHlvdSwgR3JhbmRtYS4iLGE6IkNow6F1IG5vIHLhu5NpIOG6oS4gQ2jDoXUgY+G6o20gxqFuIGLDoCDhuqEhIixhRW46Ikkg
YW0gZnVsbC4gVGhhbmsgeW91LCBHcmFuZG1hISIsYWx0OlsiQ2jDoXUgbm8gcuG7k2kg4bqhLCBj4bqjbSDGoW4gYsOgLiIsIk5vIHLhu5NpIOG6oSwgY+G6
o20gxqFuIGLDoCDhuqEuIl19XX0sCjM6e3dobzoi8J+nkeKAjfCfjbMgTmjDom4gdmnDqm4gKGNhZsOpIHN0YWZmKSIsIHQ6Ik9yZGVyaW5nIGF0IHRoZSBj
YWbDqSIsIHR1cm5zOlsKIHtxOiJDaMOgbyBhbmghIEFuaCB14buRbmcgZ8OsIOG6oT8iLHFFbjoiSGVsbG8hIFdoYXQgd2lsbCB5b3UgZHJpbms/Iix0YXNr
OiJPcmRlciBvbmUgaWNlZCBtaWxrIGNvZmZlZS4iLGE6IkNobyBhbmggbeG7mXQgY8OgIHBow6ogc+G7r2EgxJHDoS4iLGFFbjoiT25lIGljZWQgbWlsayBj
b2ZmZWUgZm9yIG1lLiIsYWx0OlsiTeG7mXQgY8OgIHBow6ogc+G7r2EgxJHDoSDhuqEuIiwiQ2hvIG3DrG5oIG3hu5l0IGPDoCBwaMOqIHPhu69hIMSRw6Eu
Il19LAoge3E6IkFuaCB14buRbmcg4bufIMSRw6J5IGhheSBtYW5nIHbhu4Eg4bqhPyIscUVuOiJGb3IgaGVyZSBvciB0byBnbz8iLHRhc2s6IlNheSBmb3Ig
aGVyZS4iLGE6IkFuaCB14buRbmcg4bufIMSRw6J5LiIsYUVuOiJGb3IgaGVyZS4iLGFsdDpbIuG7niDEkcOieSDhuqEuIiwiVeG7kW5nIOG7nyDEkcOieSDh
uqEuIl19LAoge3E6IkFuaCBjw7MgbXXhu5FuIHRow6ptIGfDrCBraMO0bmc/IELDoW5oIG5n4buNdCBow7RtIG5heSBuZ29uIGzhuq9tIOG6oS4iLHFFbjoi
QW55dGhpbmcgZWxzZT8gVGhlIGNha2VzIGFyZSB2ZXJ5IGdvb2QgdG9kYXkuIix0YXNrOiJBc2sgZm9yIG9uZSBjYWtlIHRvby4iLGE6IkNobyBhbmggbeG7
mXQgYsOhbmggbmfhu410IG7hu69hLiIsYUVuOiJPbmUgY2FrZSB0b28sIHBsZWFzZS4iLGFsdDpbIlRow6ptIG3hu5l0IGLDoW5oIOG6oS4iLCJDaG8gYW5o
IHRow6ptIG3hu5l0IGLDoW5oIG5n4buNdC4iXX0sCiB7cToiROG6oS4gQ+G7p2EgYW5oIGjhur90IGLhuqN5IG3GsMahaSBuZ2jDrG4g4bqhLiIscUVuOiJT
dXJlLiBZb3VyIHRvdGFsIGlzIHNldmVudHkgdGhvdXNhbmQuIix0YXNrOiJBc2sgaWYgdGhleSB0YWtlIGNhcmRzLiIsYToiUXXDoW4gY8OzIG5o4bqtbiB0
aOG6uyBraMO0bmc/IixhRW46IkRvIHlvdSB0YWtlIGNhcmRzPyIsYWx0OlsiQ8OzIG5o4bqtbiB0aOG6uyBraMO0bmcg4bqhPyIsIlRy4bqjIGLhurFuZyB0
aOG6uyDEkcaw4bujYyBraMO0bmcg4bqhPyJdfSwKIHtxOiJE4bqhIMSRxrDhu6NjIOG6oSEgQW5oIMSR4bujaSBt4buZdCBjaMO6dCBuaMOpLiIscUVuOiJZ
ZXMgd2UgZG8hIE9uZSBtb21lbnQsIHBsZWFzZS4iLHRhc2s6IlNheSB0aGFuayB5b3UuIixhOiJD4bqjbSDGoW4gZW0hIixhRW46IlRoYW5rIHlvdSEiLGFs
dDpbIkPhuqNtIMahbiDhuqEuIiwiQ+G6o20gxqFuIGVtIG5ow6kuIl19XX0sCjQ6e3dobzoi8J+nkyBDw7QgYsOhbiBow6BuZyAoc2hvcGtlZXBlcikiLCB0
OiJBc2tpbmcgdGhlIHdheSBpbiB0aGUgT2xkIFF1YXJ0ZXIiLCB0dXJuczpbCiB7cToiQ2jDoXUgdMOsbSBnw6wgxJHhuqV5PyIscUVuOiJXaGF0IGFyZSB5
b3UgbG9va2luZyBmb3I/Iix0YXNrOiJBc2sgd2hlcmUgSMOgbmcgR2FpIHN0cmVldCBpcy4iLGE6IlBo4buRIEjDoG5nIEdhaSDhu58gxJHDonUg4bqhPyIs
YUVuOiJXaGVyZSBpcyBIw6BuZyBHYWkgc3RyZWV0PyIsYWx0OlsiQ8O0IMahaSwgcGjhu5EgSMOgbmcgR2FpIOG7nyDEkcOidSDhuqE/IiwiQ2hvIGNow6F1
IGjhu49pIHBo4buRIEjDoG5nIEdhaSDhu58gxJHDonUg4bqhPyJdfSwKIHtxOiJIw6BuZyBHYWkgw6A/IMSQaSB0aOG6s25nIHBo4buRIG7DoHksIMSR4bq/
biBuZ8OjIHTGsCB0aMOsIHLhur0gdHLDoWkuIixxRW46IkjDoG5nIEdhaT8gR28gc3RyYWlnaHQgZG93biB0aGlzIHN0cmVldCwgdHVybiBsZWZ0IGF0IHRo
ZSBpbnRlcnNlY3Rpb24uIix0YXNrOiJDb25maXJtOiB0dXJuIGxlZnQgYXQgdGhlIGludGVyc2VjdGlvbj8iLGE6IlLhur0gdHLDoWkg4bufIG5nw6MgdMaw
IOG6oT8iLGFFbjoiTGVmdCBhdCB0aGUgaW50ZXJzZWN0aW9uPyIsYWx0Olsi4bueIG5nw6MgdMawIHLhur0gdHLDoWkg4bqhPyIsIlLhur0gdHLDoWkg4bqh
PyJdfSwKIHtxOiLEkMO6bmcgcuG7k2kuIENow6F1IMSRaSBi4buZIMSRxrDhu6NjLCBraMO0bmcgeGEgxJHDonUuIixxRW46IkNvcnJlY3QuIFlvdSBjYW4g
d2FsayDigJQgaXQgaXMgbm90IGZhci4iLHRhc2s6IkFzayBob3cgbWFueSBtaW51dGVzIGl0IHRha2VzLiIsYToixJBpIGLhu5kgbeG6pXQgYmFvIG5oacOq
dSBwaMO6dCDhuqE/IixhRW46IkhvdyBtYW55IG1pbnV0ZXMgb24gZm9vdD8iLGFsdDpbIk3huqV0IG3huqV5IHBow7p0IOG6oT8iLCLEkGkgYuG7mSBiYW8g
bMOidSDhuqE/Il19LAoge3E6Iktob+G6o25nIG7Eg20gcGjDunQgdGjDtGkuIENow6F1IGzDoCBuZ8aw4budaSBuxrDhu5tjIG5nb8OgaSDDoD8iLHFFbjoi
T25seSBhYm91dCBmaXZlIG1pbnV0ZXMuIEFyZSB5b3UgYSBmb3JlaWduZXI/Iix0YXNrOiJTYXkgeW91IGFyZSBWaWV0bmFtZXNlLUNhbmFkaWFuLiIsYToi
Q2jDoXUgbMOgIG5nxrDhu51pIENhbmFkYSBn4buRYyBWaeG7h3Qg4bqhLiIsYUVuOiJJIGFtIFZpZXRuYW1lc2UtQ2FuYWRpYW4uIixhbHQ6WyJDaMOhdSBs
w6AgbmfGsOG7nWkgQ2FuYWRhIGfhu5FjIFZp4buHdC4iLCJE4bqhLCBjaMOhdSBsw6AgbmfGsOG7nWkgQ2FuYWRhIGfhu5FjIFZp4buHdCDhuqEuIl19LAog
e3E6IlRo4bqjbyBuw6BvIG7Ds2kgdGnhur9uZyBWaeG7h3QgZ2nhu49pIHRo4bq/ISDEkGkgY+G6qW4gdGjhuq1uIG5ow6khIixxRW46Ik5vIHdvbmRlciB5
b3VyIFZpZXRuYW1lc2UgaXMgZ29vZCEgV2FsayBzYWZlbHkhIix0YXNrOiJUaGFuayBoZXIgd2FybWx5LiIsYToiQ2jDoXUgY+G6o20gxqFuIGPDtCBuaGnh
u4F1IOG6oSEiLGFFbjoiVGhhbmsgeW91IHNvIG11Y2ghIixhbHQ6WyJD4bqjbSDGoW4gY8O0IOG6oSEiLCJDaMOhdSBj4bqjbSDGoW4gY8O0IOG6oS4iXX1d
fSwKNTp7d2hvOiLwn5u1IENow7ogxJDhu6ljIChHcmFiIGRyaXZlcikiLCB0OiJSaWRpbmcgYWNyb3NzIHRvd24iLCB0dXJuczpbCiB7cToiQ2jDoG8gY2jD
oXUhIENow6F1IMSRaSDEkcOidT8iLHFFbjoiSGVsbG8hIFdoZXJlIGFyZSB5b3UgZ29pbmc/Iix0YXNrOiJTYXk6IHRha2UgbWUgdG8gdGhlIE9sZCBRdWFy
dGVyLCBwbGVhc2UuIixhOiJDaG8gY2jDoXUgxJHhur9uIHBo4buRIGPhu5Ug4bqhLiIsYUVuOiJUbyB0aGUgT2xkIFF1YXJ0ZXIsIHBsZWFzZS4iLGFsdDpb
IkNow6F1IMSR4bq/biBwaOG7kSBj4buVIOG6oS4iLCJDaMO6IGNobyBjaMOhdSDEkeG6v24gcGjhu5EgY+G7lSDhuqEuIl19LAoge3E6IsSQxrDhu6NjISDE
kOG7mWkgbcWpIGLhuqNvIGhp4buDbSB2w6BvIG5ow6kuIFhvbmcgY2jGsGE/IixxRW46IlN1cmUhIFB1dCBvbiB0aGUgaGVsbWV0LiBSZWFkeT8iLHRhc2s6
IlNheSB5ZXMg4oCUIGJ1dCBwbGVhc2UgcmlkZSBzbG93bHkhIixhOiJWw6JuZyDhuqEhIENow7ogxJFpIGNo4bqtbSB0aMO0aSBuaMOpISIsYUVuOiJZZXMh
IEJ1dCBwbGVhc2UgcmlkZSBzbG93bHkhIixhbHQ6WyJS4buTaSDhuqEsIGNow7ogxJFpIGNo4bqtbSBuaMOpISIsIkNow7ogxJFpIGNo4bqtbSB0aMO0aSDh
uqEhIl19LAoge3E6IkhhIGhhLCB5w6puIHTDom0hIMSQxrDhu51uZyBnaeG7nSBuw6B5IGjGoWkgdOG6r2MuIENow6F1IGPDsyB24buZaSBraMO0bmc/Iixx
RW46IkhhaGEsIGRvIG5vdCB3b3JyeSEgVHJhZmZpYyBpcyBhIGJpdCBqYW1tZWQgbm93LiBBcmUgeW91IGluIGEgaHVycnk/Iix0YXNrOiJTYXkgbm8g4oCU
IGl0IGlzIG9rYXkuIixhOiJLaMO0bmcg4bqhLCBraMO0bmcgc2FvIOG6oS4iLGFFbjoiTm8sIGl0IGlzIG9rYXkuIixhbHQ6WyJDaMOhdSBraMO0bmcgduG7
mWkg4bqhLiIsIktow7RuZyBzYW8gxJHDonUg4bqhLiJdfSwKIHtxOiJU4burIMSRw6J5IMSR4bq/biBwaOG7kSBj4buVIG3huqV0IGtob+G6o25nIGhhaSBt
xrDGoWkgcGjDunQgbmjDqS4iLHFFbjoiRnJvbSBoZXJlIHRvIHRoZSBPbGQgUXVhcnRlciB0YWtlcyBhYm91dCB0d2VudHkgbWludXRlcy4iLHRhc2s6IlNh
eSBva2F5IChwb2xpdGVseSkg4oCUIHlvdSB1bmRlcnN0YW5kLiIsYToiVsOibmcg4bqhLCBjaMOhdSBoaeG7g3UgcuG7k2kg4bqhLiIsYUVuOiJPa2F5LCB1
bmRlcnN0b29kLiIsYWx0OlsiVsOibmcsIGNow6F1IGJp4bq/dCBy4buTaSDhuqEuIiwiROG6oSB2w6JuZyDhuqEuIl19LAoge3E6IsSQ4bq/biBuxqFpIHLh
u5NpISBD4bunYSBjaMOhdSBi4buRbiBtxrDGoWkgbmdow6xuLiIscUVuOiJXZSBoYXZlIGFycml2ZWQhIFRoYXQgaXMgZm9ydHkgdGhvdXNhbmQuIix0YXNr
OiJUaGFuayBoaW0gYW5kIHRlbGwgaGltIHRvIHJpZGUgc2FmZWx5LiIsYToiQ2jDoXUgY+G6o20gxqFuIGNow7og4bqhLiBDaMO6IMSRaSBj4bqpbiB0aOG6
rW4gbmjDqSEiLGFFbjoiVGhhbmsgeW91ISBSaWRlIHNhZmVseSEiLGFsdDpbIkPhuqNtIMahbiBjaMO6IOG6oSEiLCJDaMOhdSBj4bqjbSDGoW4gY2jDuiwg
Y2jDuiDEkWkgY+G6qW4gdGjhuq1uIOG6oS4iXX1dfSwKNjp7d2hvOiLwn6eR4oCN8J+MviBDw7QgYsOhbiB4b8OgaSAoZnJ1aXQgc2VsbGVyKSIsIHQ6IkJh
cmdhaW5pbmcgYXQgdGhlIG1hcmtldCIsIHR1cm5zOlsKIHtxOiJNdWEgZ8OsIMSRaSBjaMOhdSDGoWkhIFhvw6BpIG5nb24gbOG6r20hIixxRW46IkJ1eSBz
b21ldGhpbmcsIGRlYXIhIFRoZSBtYW5nb2VzIGFyZSBkZWxpY2lvdXMhIix0YXNrOiJBc2sgaG93IG11Y2ggdGhlIG1hbmdvZXMgYXJlIHBlciBraWxvLiIs
YToiWG/DoGkgYmFvIG5oacOqdSB0aeG7gW4gbeG7mXQgY8OibiDhuqE/IixhRW46IkhvdyBtdWNoIGFyZSB0aGUgbWFuZ29lcyBwZXIga2lsbz8iLGFsdDpb
Ik3hu5l0IGPDom4geG/DoGkgYmFvIG5oacOqdSDhuqE/IiwiWG/DoGkgbsOgeSBiYW8gbmhpw6p1IG3hu5l0IGPDom4g4bqhPyJdfSwKIHtxOiJTw6F1IG3G
sMahaSBuZ2jDrG4gbeG7mXQgY8OibiwgY2jDoXUgxqFpLiIscUVuOiJTaXh0eSB0aG91c2FuZCBhIGtpbG8sIGRlYXIuIix0YXNrOiJTYXkgdG9vIGV4cGVu
c2l2ZSDigJQgcGxlYXNlIGxvd2VyIGl0ISIsYToixJDhuq90IHF1w6EgY8O0IMahaSEgQuG7m3QgY2hvIGNow6F1IMSRaSDhuqEhIixhRW46IlRvbyBleHBl
bnNpdmUhIExvd2VyIGl0IGZvciBtZSwgcGxlYXNlISIsYWx0OlsixJDhuq90IHF1w6Eg4bqhLCBi4bubdCDEkWkgY8O0ISIsIkPDtCBi4bubdCBjaG8gY2jD
oXUgbmjDqT8iXX0sCiB7cToiVGjDtGkgxJHGsOG7o2MsIGLhu5FuIG3GsMahaSBuZ2jDrG4hIFLhursgbmjhuqV0IGNo4bujIHLhu5NpIMSR4bqleSEiLHFF
bjoiRmluZSwgZm9ydHkgdGhvdXNhbmQhIENoZWFwZXN0IGluIHRoZSBtYXJrZXQhIix0YXNrOiJBc2sgaWYgdGhlIG1hbmdvZXMgYXJlIHN3ZWV0LiIsYToi
WG/DoGkgbsOgeSBuZ+G7jXQga2jDtG5nIGPDtD8iLGFFbjoiQXJlIHRoZXNlIG1hbmdvZXMgc3dlZXQ/IixhbHQ6WyJDw7Mgbmfhu410IGtow7RuZyDhuqE/
IiwiWG/DoGkgbmfhu410IGtow7RuZyBjw7Q/Il19LAoge3E6Ik5n4buNdCBs4bqvbSEgQ2jDoXUgdGjhu60gbeG7mXQgbWnhur9uZyDEkWkhIixxRW46IlZl
cnkgc3dlZXQhIFRyeSBhIHBpZWNlISIsdGFzazoiU2F5IGl0IGlzIGRlbGljaW91cyDigJQgeW91IHdpbGwgdGFrZSB0d28ga2lsb3MuIixhOiJOZ29uIHF1
w6EhIENobyBjaMOhdSBoYWkgY8OibiDhuqEuIixhRW46IkRlbGljaW91cyEgVHdvIGtpbG9zIGZvciBtZS4iLGFsdDpbIk5nb24gbOG6r20sIGNobyBjaMOh
dSBoYWkgY8Oibi4iLCJDaG8gY2jDoXUgaGFpIGPDom4g4bqhLiJdfSwKIHtxOiLEkMOieSwgaGFpIGPDom4hIENow6F1IGPhuqduIHTDumkga2jDtG5nPyIs
cUVuOiJIZXJlIOKAlCB0d28ga2lsb3MhIERvIHlvdSBuZWVkIGEgYmFnPyIsdGFzazoiU2F5IG5vIGJhZyBuZWVkZWQg4oCUIHRoYW5rIHlvdS4iLGE6IkNo
w6F1IGtow7RuZyBj4bqnbiB0w7ppIOG6oS4gQ+G6o20gxqFuIGPDtCEiLGFFbjoiTm8gYmFnIG5lZWRlZC4gVGhhbmsgeW91ISIsYWx0OlsiS2jDtG5nIGPh
uqduIOG6oSwgY+G6o20gxqFuIGPDtC4iLCJLaMO0bmcgY+G6p24gdMO6aSDEkcOidSDhuqEsIGPhuqNtIMahbiBjw7Qg4bqhLiJdfV19LAo3Ont3aG86IvCf
p5MgQsOhYyBUdeG6pW4gKHlvdXIgdW5jbGUpIiwgdDoiU21hbGwgdGFsayB3aXRoIHlvdXIgdW5jbGUiLCB0dXJuczpbCiB7cToiQ2jDoXUgc+G7kW5nIOG7
nyDEkcOidSBiw6puIENhbmFkYT8iLHFFbjoiV2hlcmUgZG8geW91IGxpdmUgaW4gQ2FuYWRhPyIsdGFzazoiU2F5IHlvdSBsaXZlIGluIFRvcm9udG8uIixh
OiJDaMOhdSBz4buRbmcg4bufIFRvcm9udG8g4bqhLiIsYUVuOiJJIGxpdmUgaW4gVG9yb250by4iLGFsdDpbIkNow6F1IOG7nyBUb3JvbnRvIOG6oS4iLCJE
4bqhLCBjaMOhdSBz4buRbmcg4bufIFRvcm9udG8g4bqhLiJdfSwKIHtxOiJUaOG6vyDDoCEgQ2jDoXUgbMOgbSBuZ2jhu4EgZ8OsPyIscUVuOiJJcyB0aGF0
IHNvISBXaGF0IGlzIHlvdXIgam9iPyIsdGFzazoiU2F5IHlvdSB3b3JrIGF0IGEgYmFuay4iLGE6IkNow6F1IGzDoG0gdmnhu4djIOG7nyBuZ8OibiBow6Bu
ZyDhuqEuIixhRW46Ikkgd29yayBhdCBhIGJhbmsuIixhbHQ6WyJDaMOhdSBsw6BtIOG7nyBuZ8OibiBow6BuZyDhuqEuIiwiROG6oSBjaMOhdSBsw6BtIG5n
w6JuIGjDoG5nIOG6oS4iXX0sCiB7cToiR2nhu49pIHF1w6EhIENow6F1IHNpbmggcmEg4bufIENhbmFkYSDDoD8iLHFFbjoiSW1wcmVzc2l2ZSEgV2VyZSB5
b3UgYm9ybiBpbiBDYW5hZGE/Iix0YXNrOiJTYXkgeWVzIOKAlCB5b3Ugd2VyZSBib3JuIGFuZCBncmV3IHVwIGluIFRvcm9udG8uIixhOiJWw6JuZyDhuqEs
IGNow6F1IHNpbmggcmEgdsOgIGzhu5tuIGzDqm4g4bufIFRvcm9udG8g4bqhLiIsYUVuOiJZZXMsIEkgd2FzIGJvcm4gYW5kIGdyZXcgdXAgaW4gVG9yb250
by4iLGFsdDpbIkNow6F1IHNpbmggcmEg4bufIFRvcm9udG8g4bqhLiIsIlbDom5nLCBjaMOhdSBs4bubbiBsw6puIOG7nyBDYW5hZGEg4bqhLiJdfSwKIHtx
OiJUaOG6vyBzYW8gY2jDoXUgbXXhu5FuIGjhu41jIHRp4bq/bmcgVmnhu4d0PyIscUVuOiJTbyB3aHkgZG8geW91IHdhbnQgdG8gbGVhcm4gVmlldG5hbWVz
ZT8iLHRhc2s6IlNheTogYmVjYXVzZSB5b3Ugd2FudCB0byB0YWxrIHdpdGggZ3JhbmRtYS4iLGE6IlbDrCBjaMOhdSBtdeG7kW4gbsOzaSBjaHV54buHbiB2
4bubaSBiw6Ag4bqhLiIsYUVuOiJCZWNhdXNlIEkgd2FudCB0byB0YWxrIHdpdGggR3JhbmRtYS4iLGFsdDpbIkNow6F1IG114buRbiBuw7NpIGNodXnhu4du
IHbhu5tpIGLDoCDhuqEuIiwiVsOsIGNow6F1IG114buRbiBoaeG7g3UgYsOgIOG6oS4iXX0sCiB7cToiQ2jDoXUgbmdvYW4gbOG6r20hIELDoCB2dWkgbOG6
r20gxJHhuqV5LCBjaMOhdSBiaeG6v3Qga2jDtG5nPyIscUVuOiJZb3UgYXJlIGEgZ29vZCBraWQhIEdyYW5kbWEgaXMgc28gaGFwcHksIHlvdSBrbm93PyIs
dGFzazoiU2F5IHlvdSBhcmUgdmVyeSBoYXBweSB0b28uIixhOiJDaMOhdSBjxaluZyBy4bqldCBo4bqhbmggcGjDumMg4bqhLiIsYUVuOiJJIGFtIHZlcnkg
aGFwcHkgdG9vLiIsYWx0OlsiQ2jDoXUgY8WpbmcgdnVpIGzhuq9tIOG6oS4iLCJDaMOhdSBy4bqldCB2dWkg4bqhLiJdfV19LAo4Ont3aG86IvCfk7EgTeG6
uSAoeW91ciBtb20sIG9uIHZpZGVvIGNhbGwpIiwgdDoiVGhlIGNhbGwgaG9tZSIsIHR1cm5zOlsKIHtxOiJBbMO0LCBUb20gw6A/IENvbiBuZ2hlIHLDtSBr
aMO0bmc/IixxRW46IkhlbGxvLCBUb20/IENhbiB5b3UgaGVhciBtZSBjbGVhcmx5PyIsdGFzazoiU2F5IGhlbGxvIE1vbSDigJQgeW91IGhlYXIgaGVyIGNs
ZWFybHkuIixhOiJBbMO0IG3hurkhIENvbiBuZ2hlIHLDtSDhuqEuIixhRW46IkhlbGxvIE1vbSEgSSBoZWFyIHlvdSBjbGVhcmx5LiIsYWx0OlsiQ29uIG5n
aGUgcsO1IOG6oS4iLCJBbMO0LCBjb24gbmdoZSByw7UgbeG6uSDhuqEuIl19LAoge3E6IkNvbiB0aOG6vyBuw6BvPyBDw7Mga2jhu49lIGtow7RuZz8gxIJu
IHXhu5FuZyDEkeG6p3kgxJHhu6cga2jDtG5nPyIscUVuOiJIb3cgYXJlIHlvdT8gSGVhbHRoeT8gRWF0aW5nIHByb3Blcmx5PyIsdGFzazoiU2F5IHlvdSBh
cmUgd2VsbCDigJQgZ3JhbmRtYSBjb29rcyBzbyBtdWNoISIsYToiQ29uIGto4buPZSDhuqEhIELDoCBu4bqldSBuaGnhu4F1IGzhuq9tIG3hurkgxqFpISIs
YUVuOiJJIGFtIHdlbGwhIEdyYW5kbWEgY29va3Mgc28gbXVjaCEiLGFsdDpbIkNvbiBraOG7j2UsIGLDoCBu4bqldSBuaGnhu4F1IGzhuq9tIOG6oS4iLCJD
b24ga2jhu49lIGzhuq9tIOG6oS4iXX0sCiB7cToiSGEgaGEsIG3hurkgYmnhur90IG3DoCEgQsOgIGPDsyBraOG7j2Uga2jDtG5nIGNvbj8iLHFFbjoiSGFo
YSwgSSBrbmV3IGl0ISBJcyBHcmFuZG1hIHdlbGw/Iix0YXNrOiJTYXkgZ3JhbmRtYSBpcyB3ZWxsIOKAlCBzaGUgbWlzc2VzIE1vbSBhIGxvdC4iLGE6IkLD
oCBraOG7j2Ug4bqhLiBCw6Agbmjhu5sgbeG6uSBuaGnhu4F1IGzhuq9tLiIsYUVuOiJHcmFuZG1hIGlzIHdlbGwuIFNoZSBtaXNzZXMgeW91IGEgbG90LiIs
YWx0OlsiQsOgIGto4buPZSwgYsOgIG5o4bubIG3hurkgbOG6r20g4bqhLiIsIkLDoCBraOG7j2Ug4bqhLCBiw6AgcuG6pXQgbmjhu5sgbeG6uS4iXX0sCiB7
cToiTeG6uSBjxaluZyBuaOG7myBiw6AuLi4gVOG6v3QgbsOgeSBjb24g4bufIMSRw7MsIG3hurkgecOqbiB0w6JtIHLhu5NpLiIscUVuOiJJIG1pc3MgaGVy
IHRvby4uLiBXaXRoIHlvdSB0aGVyZSB0aGlzIFThur90LCBJIGZlZWwgYXQgcGVhY2UuIix0YXNrOiJTYXk6IG5leHQgeWVhciB3ZSB3aWxsIGFsbCBjb21l
IGJhY2sgdG9nZXRoZXIhIixhOiJTYW5nIG7Eg20gY+G6oyBuaMOgIG3DrG5oIGPDuW5nIHbhu4EgbmjDqSBt4bq5ISIsYUVuOiJOZXh0IHllYXIgd2UgYWxs
IGNvbWUgYmFjayB0b2dldGhlciwgTW9tISIsYWx0OlsiU2FuZyBuxINtIG3DrG5oIGPDuW5nIHbhu4Eg4bqhLiIsIk7Eg20gc2F1IGPhuqMgbmjDoCB24buB
IGPDuW5nIG5oYXUgbmjDqSBt4bq5LiJdfSwKIHtxOiLhu6osIG3hurkgaOG7qWEhIFRow7RpLCBjb24gw7RtIGLDoCBnacO6cCBt4bq5IG5ow6kuIE3hurkg
ecOqdSBjb24uIixxRW46IlllcyDigJQgSSBwcm9taXNlISBOb3cgaHVnIEdyYW5kbWEgZm9yIG1lLiBJIGxvdmUgeW91LiIsdGFzazoiU2F5IHlvdSBsb3Zl
IE1vbSB0b28g4oCUIHRhbGsgYWdhaW4gdG9tb3Jyb3cuIixhOiJDb24gY8WpbmcgecOqdSBt4bq5IOG6oS4gTWFpIG3DrG5oIGfhu41pIGzhuqFpIG5ow6kh
IixhRW46IkkgbG92ZSB5b3UgdG9vLCBNb20uIFdlIHdpbGwgY2FsbCBhZ2FpbiB0b21vcnJvdyEiLGFsdDpbIkNvbiB5w6p1IG3hurksIG1haSBn4buNaSBs
4bqhaSDhuqEuIiwiQ29uIGPFqW5nIHnDqnUgbeG6uSwgbWFpIGNvbiBn4buNaSBu4buvYSDhuqEuIl19XX0sCjk6e3dobzoi8J+ZgiBMaW5oICh5b3VyIGNv
dXNpbikiLCB0OiJBIGhlYXJ0LXRvLWhlYXJ0IHdpdGggTGluaCIsIHR1cm5zOlsKIHtxOiJBbmggxqFpLCBow7RtIG5heSBhbmggdGjhuqV5IHRo4bq/IG7D
oG8/IixxRW46IkhleSDigJQgaG93IGRvIHlvdSBmZWVsIHRvZGF5PyIsdGFzazoiU2F5IHlvdSBmZWVsIHZlcnkgaGFwcHkuIixhOiJBbmggdGjhuqV5IHLh
uqV0IHZ1aS4iLGFFbjoiSSBmZWVsIHZlcnkgaGFwcHkuIixhbHQ6WyJBbmggdGjhuqV5IHZ1aSBs4bqvbS4iLCJBbmggcuG6pXQgdnVpLiJdfSwKIHtxOiJF
bSB0aOG6pXkgYW5oIHbhu5tpIGLDoCB0aMOibiBuaGF1IGdow6ohIixxRW46Ikkgc2VlIHlvdSBhbmQgR3JhbmRtYSBoYXZlIGdvdHRlbiBzbyBjbG9zZSEi
LHRhc2s6IlNheSB5ZXMg4oCUIHlvdSBsb3ZlIEdyYW5kbWEgdmVyeSBtdWNoLiIsYToi4buqLCBhbmggecOqdSBiw6Agbmhp4buBdSBs4bqvbS4iLGFFbjoi
WWVzIOKAlCBJIGxvdmUgR3JhbmRtYSBzbyBtdWNoLiIsYWx0OlsiQW5oIHnDqnUgYsOgIGzhuq9tLiIsIuG7qiwgYW5oIHRoxrDGoW5nIGLDoCBs4bqvbS4i
XX0sCiB7cToiVHXhuqduIHNhdSBhbmggduG7gSBDYW5hZGEgcuG7k2kuLi4gRW0gYnXhu5NuIHF1w6EuIixxRW46Ik5leHQgd2VlayB5b3UgZ28gYmFjayB0
byBDYW5hZGEuLi4gSSBhbSBzbyBzYWQuIix0YXNrOiJTYXkgeW91IGFyZSBzYWQgdG9vIOKAlCB5b3Ugd2lsbCBtaXNzIGV2ZXJ5b25lLiIsYToiQW5oIGPF
qW5nIGJ14buTbi4gQW5oIHPhur0gbmjhu5sgbeG7jWkgbmfGsOG7nWkgbOG6r20uIixhRW46IkkgYW0gc2FkIHRvby4gSSB3aWxsIG1pc3MgZXZlcnlvbmUg
c28gbXVjaC4iLGFsdDpbIkFuaCBjxaluZyBideG7k24gbOG6r20sIGFuaCBz4bq9IG5o4bubIG3hu41pIG5nxrDhu51pLiIsIkFuaCBz4bq9IG5o4bubIG3h
u41pIG5nxrDhu51pIG5oaeG7gXUgbOG6r20uIl19LAoge3E6IsSQ4burbmcgYnXhu5NuISBNw6xuaCBn4buNaSB2aWRlbyBt4buXaSB0deG6p24gbmjDqT8i
LHFFbjoiRG8gbm90IGJlIHNhZCEgVmlkZW8gY2FsbCBldmVyeSB3ZWVrLCBva2F5PyIsdGFzazoiQWdyZWUg4oCUIGFuZCB0ZWxsIGhlciBub3QgdG8gd29y
cnkuIixhOiLhu6ohIEVtIMSR4burbmcgbG8gbmjDqS4iLGFFbjoiWWVzISBEbyBub3Qgd29ycnkuIixhbHQ6WyLEkMaw4bujYywgZW0gxJHhu6tuZyBsby4i
LCLhu6osIMSR4burbmcgbG8gZW0uIl19LAoge3E6Ikjhu6lhIG5ow6khIMOAIG3DoCBhbmggbsOzaSB0aeG6v25nIFZp4buHdCBnaeG7j2kgaMahbiBuaGnh
u4F1IHLhu5NpIMSR4bqleSEiLHFFbjoiUHJvbWlzZSEgQnkgdGhlIHdheSDigJQgeW91ciBWaWV0bmFtZXNlIGdvdCBzbyBtdWNoIGJldHRlciEiLHRhc2s6
IlJlYWN0OiByZWFsbHk/ISBTYXkgdGhhbmsgeW91IOKAlCB5b3UgYXJlIG1vdmVkLiIsYToiVGjhuq10IMOhPyBD4bqjbSDGoW4gZW0hIEFuaCB4w7pjIMSR
4buZbmcgcXXDoSEiLGFFbjoiUmVhbGx5PyEgVGhhbmsgeW91ISBJIGFtIHNvIG1vdmVkISIsYWx0OlsiVGjhuq10IMOhPyBD4bqjbSDGoW4gZW0gbmjDqSEi
LCJD4bqjbSDGoW4gZW0sIGFuaCB2dWkgcXXDoSEiXX1dfSwKMTA6e3dobzoi4pqV77iPIEPDtCBkxrDhu6NjIHPEqSAocGhhcm1hY2lzdCkiLCB0OiJBdCB0
aGUgcGhhcm1hY3kiLCB0dXJuczpbCiB7cToiQ2jDoG8gY2jDoXUuIENow6F1IGLhu4sgbMOgbSBzYW8/IixxRW46IkhlbGxvLiBXaGF0IGlzIHdyb25nPyIs
dGFzazoiU2F5IHlvdXIgdGhyb2F0IGh1cnRzIGFuZCB5b3UgaGF2ZSBhIGZldmVyLiIsYToiQ2jDoXUgYuG7iyDEkWF1IGjhu41uZyB2w6Agc+G7kXQg4bqh
LiIsYUVuOiJNeSB0aHJvYXQgaHVydHMgYW5kIEkgaGF2ZSBhIGZldmVyLiIsYWx0OlsiQ2jDoXUgxJFhdSBo4buNbmcsIGPDsyBz4buRdCDhuqEuIiwiQ2jD
oXUgYuG7iyDEkWF1IGjhu41uZywgYuG7iyBz4buRdCDhuqEuIl19LAoge3E6IkLhu4sgdOG7qyBraGkgbsOgbz8iLHFFbjoiU2luY2Ugd2hlbj8iLHRhc2s6
IlNheSBzaW5jZSB0aGlzIG1vcm5pbmcuIixhOiJU4burIHPDoW5nIG5heSDhuqEuIixhRW46IlNpbmNlIHRoaXMgbW9ybmluZy4iLGFsdDpbIlThu6sgc8Oh
bmcg4bqhLiIsIkLhu4sgdOG7qyBzw6FuZyBuYXkg4bqhLiJdfSwKIHtxOiJD4bqjbSB0aMO0aS4gVGh14buRYyBuw6B5IG5nw6B5IHXhu5FuZyBiYSBs4bqn
biBzYXUga2hpIMSDbiBuaMOpLiIscUVuOiJKdXN0IGEgY29sZC4gVGFrZSB0aGlzIHRocmVlIHRpbWVzIGEgZGF5IGFmdGVyIG1lYWxzLiIsdGFzazoiU2hl
IHNwb2tlIGZhc3Qg4oCUIGFzayBoZXIgdG8gc3BlYWsgc2xvd2VyLiIsYToiQ8O0IG7Ds2kgY2jhuq1tIGzhuqFpIMSRxrDhu6NjIGtow7RuZyDhuqE/Iixh
RW46IkNvdWxkIHlvdSBzcGVhayBtb3JlIHNsb3dseT8iLGFsdDpbIkPDtCBuw7NpIGNo4bqtbSBs4bqhaSBnacO6cCBjaMOhdSDhuqEuIiwiWGluIGzhu5dp
LCBjw7QgbsOzaSBjaOG6rW0gbOG6oWkg4bqhLiJdfSwKIHtxOiLDgCwgeGluIGzhu5dpISBOZ8OgeSDigJQgdeG7kW5nIOKAlCBiYSDigJQgbOG6p24uIFNh
dSBraGkgxINuIGPGoW0uIEhp4buDdSBjaMawYT8iLHFFbjoiQWgsIHNvcnJ5ISBUaHJlZSDigJQgdGltZXMg4oCUIGEg4oCUIGRheS4gQWZ0ZXIgbWVhbHMu
IFVuZGVyc3Rvb2Q/Iix0YXNrOiJTYXkgeW91IHVuZGVyc3RhbmQgbm93IOKAlCB0aHJlZSB0aW1lcyBhIGRheS4iLGE6IkNow6F1IGhp4buDdSBy4buTaSDh
uqEuIE5nw6B5IHXhu5FuZyBiYSBs4bqnbiDhuqEuIixhRW46IkkgdW5kZXJzdGFuZCBub3cuIFRocmVlIHRpbWVzIGEgZGF5LiIsYWx0OlsiSGnhu4N1IHLh
u5NpIOG6oSwgYmEgbOG6p24gbeG7mXQgbmfDoHkuIiwiVsOibmcsIG5nw6B5IGJhIGzhuqduIOG6oS4iXX0sCiB7cToixJDDum5nIHLhu5NpISBOZ2jhu4kg
bmfGoWkgbmhp4buBdSwgdeG7kW5nIG5oaeG7gXUgbsaw4bubYyBuaMOpLiBDaMO6YyBjaMOhdSBtYXUga2jhu49pISIscUVuOiJDb3JyZWN0ISBSZXN0IGEg
bG90LCBkcmluayBsb3RzIG9mIHdhdGVyLiBHZXQgd2VsbCBzb29uISIsdGFzazoiVGhhbmsgaGVyIGFuZCBzYXkgeW91IHdpbGwgcmVzdC4iLGE6IkNow6F1
IGPhuqNtIMahbiBjw7Qg4bqhLiBDaMOhdSBz4bq9IG5naOG7iSBuZ8ahaSDhuqEuIixhRW46IlRoYW5rIHlvdS4gSSB3aWxsIHJlc3QuIixhbHQ6WyJD4bqj
bSDGoW4gY8O0LCBjaMOhdSBz4bq9IG5naOG7iSDhuqEuIiwiQ2jDoXUgY+G6o20gxqFuIGPDtCBuaGnhu4F1IOG6oS4iXX1dfSwKMTE6e3dobzoi8J+RtSBC
w6AgKGdyYW5kbWEsIG9uIFThur90IG1vcm5pbmcpIiwgdDoiVOG6v3QgbW9ybmluZyB3aXNoZXMiLCB0dXJuczpbCiB7cToiQ2jDumMgbeG7q25nIG7Eg20g
beG7m2ksIGNow6F1IGPhu6dhIGLDoCEiLHFFbjoiSGFwcHkgTmV3IFllYXIsIG15IGdyYW5kY2hpbGQhIix0YXNrOiJXaXNoIGdyYW5kbWEgYSBoYXBweSBu
ZXcgeWVhciEiLGE6IkNow6F1IGNow7pjIG3hu6tuZyBuxINtIG3hu5tpIGLDoCDhuqEhIixhRW46IkhhcHB5IE5ldyBZZWFyLCBHcmFuZG1hISIsYWx0Olsi
Q2jDumMgbeG7q25nIG7Eg20gbeG7m2kgYsOgIOG6oSEiLCJDaMOhdSBjaMO6YyBiw6AgbsSDbSBt4bubaSB2dWkgduG6uyDhuqEhIl19LAoge3E6IkNow6F1
IGNow7pjIGLDoCB0aMOqbSBnw6wgbuG7r2EgbsOgbz8iLHFFbjoiV2hhdCBlbHNlIGRvIHlvdSB3aXNoIGZvciBtZT8iLHRhc2s6Ildpc2ggaGVyIGxvdHMg
b2YgaGVhbHRoLiIsYToiQ2jDoXUgY2jDumMgYsOgIG5oaeG7gXUgc+G7qWMga2jhu49lIOG6oSEiLGFFbjoiSSB3aXNoIHlvdSBsb3RzIG9mIGhlYWx0aCEi
LGFsdDpbIkNow7pjIGLDoCBuaGnhu4F1IHPhu6ljIGto4buPZSDhuqEuIiwiQ2jDoXUgY2jDumMgYsOgIG3huqFuaCBraOG7j2Ug4bqhISJdfSwKIHtxOiJH
aeG7j2kgbOG6r20hIMSQw6J5LCBsw6wgeMOsIGNobyBjaMOhdSBuw6B5LiBOaOG6rW4gYuG6sW5nIGhhaSB0YXkgbmjDqSEiLHFFbjoiV29uZGVyZnVsISBI
ZXJlIOKAlCBsdWNreSBtb25leSBmb3IgeW91LiBSZWNlaXZlIGl0IHdpdGggdHdvIGhhbmRzISIsdGFzazoiVGhhbmsgZ3JhbmRtYSDigJQgc2F5IHlvdSBh
cmUgdmVyeSBsdWNreS4iLGE6IkNow6F1IGPhuqNtIMahbiBiw6Ag4bqhISBDaMOhdSBtYXkgbeG6r24gcXXDoSEiLGFFbjoiVGhhbmsgeW91LCBHcmFuZG1h
ISBJIGFtIHNvIGx1Y2t5ISIsYWx0OlsiQ+G6o20gxqFuIGLDoCDhuqEsIGNow6F1IG1heSBt4bqvbiBs4bqvbSEiLCJDaMOhdSBj4bqjbSDGoW4gYsOgIG5o
aeG7gXUg4bqhISJdfSwKIHtxOiJIw7RtIG5heSBtw6xuaCDEkWkgdGjEg20gaOG7jSBow6BuZyBuaMOpLiBDaMOhdSBz4bq1biBzw6BuZyBjaMawYT8iLHFF
bjoiVG9kYXkgd2UgdmlzaXQgdGhlIHJlbGF0aXZlcy4gQXJlIHlvdSByZWFkeT8iLHRhc2s6IlNheSB5ZXMg4oCUIHlvdSB3YW50IHRvIHZpc2l0IGV2ZXJ5
b25lLiIsYToiVsOibmcg4bqhISBDaMOhdSBtdeG7kW4gxJFpIHRoxINtIG3hu41pIG5nxrDhu51pIOG6oS4iLGFFbjoiWWVzISBJIHdhbnQgdG8gdmlzaXQg
ZXZlcnlvbmUuIixhbHQ6WyJWw6JuZywgY2jDoXUgbXXhu5FuIMSRaSB0aMSDbSBo4buNIGjDoG5nIOG6oS4iLCJT4bq1biBzw6BuZyBy4buTaSDhuqEhIl19
LAoge3E6IlThur90IGPDsyBjaMOhdSDhu58gxJHDonksIGLDoCBo4bqhbmggcGjDumMgbOG6r20uIixxRW46IkhhdmluZyB5b3UgaGVyZSBmb3IgVOG6v3Qg
bWFrZXMgbWUgc28gaGFwcHkuIix0YXNrOiJTYXkgeW91IGFyZSB2ZXJ5IGhhcHB5IHRvbyDigJQgeW91IGxvdmUgR3JhbmRtYS4iLGE6IkNow6F1IGPFqW5n
IGjhuqFuaCBwaMO6YyBs4bqvbSDhuqEuIENow6F1IHnDqnUgYsOgISIsYUVuOiJJIGFtIHNvIGhhcHB5IHRvby4gSSBsb3ZlIHlvdSwgR3JhbmRtYSEiLGFs
dDpbIkNow6F1IGPFqW5nIHZ1aSBs4bqvbSDhuqEsIGNow6F1IHnDqnUgYsOgIOG6oS4iLCJDaMOhdSBo4bqhbmggcGjDumMgbOG6r20sIGNow6F1IHnDqnUg
YsOgIG5oaeG7gXUg4bqhISJdfV19LAoxMjp7d2hvOiLwn5mCIExpbmggKGhlbHBpbmcgeW91IHNlYXJjaCkiLCB0OiJUaGUgbG9zdCBwYXNzcG9ydCIsIHR1
cm5zOlsKIHtxOiJBbmggxqFpLCBzYW8gbeG6t3QgYW5oIHRo4bq/IGtpYT8iLHFFbjoiSGV5IOKAlCB3aHkgaXMgeW91ciBmYWNlIGxpa2UgdGhhdD8hIix0
YXNrOiJTYXkgeW91IGxvc3QgeW91ciBwYXNzcG9ydCEiLGE6IkFuaCBi4buLIG3huqV0IGjhu5kgY2hp4bq/dSBy4buTaSEiLGFFbjoiSSBsb3N0IG15IHBh
c3Nwb3J0ISIsYWx0OlsiQW5oIG3huqV0IGjhu5kgY2hp4bq/dSBy4buTaSEiLCJI4buZIGNoaeG6v3UgY+G7p2EgYW5oIG3huqV0IHLhu5NpISJdfSwKIHtx
OiJCw6xuaCB0xKluaCEgQW5oIHRo4bqleSBuw7MgbOG6p24gY3Xhu5FpIOG7nyDEkcOidT8iLHFFbjoiU3RheSBjYWxtISBXaGVyZSBkaWQgeW91IGxhc3Qg
c2VlIGl0PyIsdGFzazoiU2F5IHlvdSBkbyBub3Qga25vdyDigJQgYXNrIGhlciB0byBoZWxwIHlvdS4iLGE6IkFuaCBraMO0bmcgYmnhur90LiBFbSBnacO6
cCBhbmggduG7m2khIixhRW46IkkgZG8gbm90IGtub3cuIEhlbHAgbWUhIixhbHQ6WyJBbmgga2jDtG5nIGJp4bq/dCwgZ2nDunAgYW5oIHbhu5tpISIsIkto
w7RuZyBiaeG6v3QsIGVtIGdpw7pwIGFuaCBuaMOpISJdfSwKIHtxOiJBbmggdMOsbSB0cm9uZyB0w7ppIGNoxrBhPyBUcm9uZyBwaMOybmcgY2jGsGE/Iixx
RW46IkRpZCB5b3UgY2hlY2sgeW91ciBiYWc/IFlvdXIgcm9vbT8iLHRhc2s6IlNheSB5b3Ugc2VhcmNoZWQgYnV0IGhhdmUgbm90IGZvdW5kIGl0LiIsYToi
QW5oIHTDrG0gcuG7k2kgbmjGsG5nIGNoxrBhIHRo4bqleS4iLGFFbjoiSSBzZWFyY2hlZCBidXQgaGF2ZSBub3QgZm91bmQgaXQuIixhbHQ6WyJUw6xtIHLh
u5NpIG3DoCBjaMawYSB0aOG6pXkuIiwiQW5oIHTDrG0gcuG7k2ksIGNoxrBhIHTDrG0gdGjhuqV5LiJdfSwKIHtxOiJUaOG6vy4uLiBow7RtIHF1YSBhbmgg
eGVtIOG6o25oIOG7nyBwaMOybmcgY+G7p2EgbeG6uSBhbmgsIMSRw7puZyBraMO0bmc/IixxRW46IldhaXQuLi4geWVzdGVyZGF5IHlvdSBsb29rZWQgYXQg
cGhvdG9zIGluIHlvdXIgbW9tJ3Mgb2xkIHJvb20sIHJpZ2h0PyIsdGFzazoiU2F5IHNoZSBpcyByaWdodCDigJQgbWF5YmUgaXQgaXMgaW4gdGhhdCByb29t
ISIsYToixJDDum5nIHLhu5NpISBDw7MgdGjhu4Mg4bufIHRyb25nIHBow7JuZyDEkcOzISIsYUVuOiJUaGF0IGlzIHJpZ2h0ISBNYXliZSBpdCBpcyBpbiB0
aGF0IHJvb20hIixhbHQ6WyLEkMO6bmcgcuG7k2ksIGNo4bqvYyDhu58gcGjDsm5nIMSRw7MhIiwiQ8OzIHRo4buDIOG7nyB0cm9uZyBwaMOybmcgY+G7p2Eg
beG6uSEiXX0sCiB7cToixJDDonkgcuG7k2khISEgRMaw4bubaSBxdXnhu4NuIOG6o25oIG7DoHkgbsOgeSEgTOG6p24gc2F1IGPhuqluIHRo4bqtbiBuaMOp
ISIscUVuOiJIRVJFIElUIElTISBVbmRlciB0aGlzIHBob3RvIGFsYnVtISBCZSBjYXJlZnVsIG5leHQgdGltZSEiLHRhc2s6IlNheSB5b3UgZm91bmQgaXQg
YXQgbGFzdCDigJQgdGhhbmsgaGVyIHNvIG11Y2ghIixhOiJDdeG7kWkgY8O5bmcgY8WpbmcgdMOsbSB0aOG6pXkhIEPhuqNtIMahbiBlbSBuaGnhu4F1IGzh
uq9tISIsYUVuOiJGaW5hbGx5IGZvdW5kIGl0ISBUaGFuayB5b3Ugc28gbXVjaCEiLGFsdDpbIlTDrG0gdGjhuqV5IHLhu5NpISBD4bqjbSDGoW4gZW0gbmhp
4buBdSEiLCJNYXkgcXXDoSwgY+G6o20gxqFuIGVtIGzhuq9tISJdfV19Cn07CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNFQVNPTiAyIOKAlCBW4buAIFPDgEkgR8OSTiBW4buaSSBN4bq4IChRdWVzdHMgMTPigJMyNCksIFNvdXRo
ZXJuIFZpZXRuYW1lc2UuCiAgIFlvdXIgbW90aGVyIGNvbWVzIGJhY2sgd2l0aCB5b3Ug4oCUIGhlciBmaXJzdCB0aW1lIGluIHRoaXJ0eSB5ZWFycy4KICAg
U2FtZSB3b3JkL2dyYW1tYXIgZm9ybWF0cyBhcyBTZWFzb24gMS4g8J+SoSB0aXBzIGZsYWcgdGhlIE5vcnRoZXJuIGZvcm0uCiAgID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KY29uc3QgTEVTU09OU19TMiA9IFsKe246MTMsIGtyOiJW4buB
IFPDoGkgR8OybiIsIGVuOiJBcnJpdmluZyB3aXRoIE1vbSIsIHZpOiJTb3V0aGVybiB3b3JkcywgU291dGhlcm4gaGVhcnRzIiwgZW1vamk6IvCfjIYiLCBi
b3NzOiLwn5CKIiwgYm9zc05hbWU6Ik1la29uZyBDcm9jIiwKIHdvcmRzOlsKICBbImThuqEiLCJ5YWgg4oaTIiwieWVzIC8gcG9saXRlIHBhcnRpY2xlIChT
b3V0aCkiLCJUSEUgU291dGhlcm4gd29yZC4gV2hlcmUgSMOgIE7hu5lpIHNheXMgdsOibmcgb3Ig4bqhLCBTw6BpIEfDsm4gc2F5cyBk4bqhIOKAlCBzdGFy
dCBhbmQgZW5kIHNlbnRlbmNlcyB3aXRoIGl0Iiwi8J+ZjyIsIkThuqEsIGNvbiBuZ2hlIHLhu5NpLiIsIlllcywgSSBoZWFyZCB5b3UuIl0sCiAgWyJiYSIs
ImJhaCDihpIiLCJkYWQgKFNvdXRoKSIsIk5vcnRoZXJuOiBi4buRLiBZb3VyIG1vdGhlciBwcm9iYWJseSBzYWlkIGJhIGhlciB3aG9sZSBjaGlsZGhvb2Qi
LCLwn5GoIiwiQmEgY29uIOG7nyBDYW5hZGEuIiwiTXkgZGFkIGlzIGluIENhbmFkYS4iXSwKICBbIm3DoSIsIm1haCDihpciLCJtb20gKFNvdXRoKSIsIk5v
cnRoZXJuOiBt4bq5LiBJbiB0aGlzIHNlYXNvbiB5b3Ugd2lsbCBoZWFyIG3DoSBldmVyeXdoZXJlIOKAlCBpdCBpcyB3aGF0IHlvdXIgZ3JhbmRtb3RoZXIg
Y2FsbHMgeW91ciBtb3RoZXIncyBtb3RoZXIiLCLwn5GpIiwiTcOhIMahaSwgbcOsbmggdOG7m2kgcuG7k2khIiwiTW9tLCB3ZSBhcmUgaGVyZSEiXSwKICBb
ImLDoCBuZ2/huqFpIiwiYmFoIOKGmCBuZ3dhaSDihpMiLCJtYXRlcm5hbCBncmFuZG1vdGhlciIsIllvdXIgbW90aGVyJ3MgbW90aGVyIOKAlCB0aGUgaGVh
cnQgb2YgU2Vhc29uIDIuIE5vcnRoZXJuIGZhbWlsaWVzIHNheSB0aGUgc2FtZSB3b3JkIiwi8J+RtSIsIkLDoCBuZ2/huqFpIMSR4bujaSBtw6xuaCDhu58g
bmjDoC4iLCJHcmFuZG1hIGlzIHdhaXRpbmcgZm9yIHVzIGF0IGhvbWUuIl0sCiAgWyLDtG5nIG5nb+G6oWkiLCJvaG0g4oaSIG5nd2FpIOKGkyIsIm1hdGVy
bmFsIGdyYW5kZmF0aGVyIiwiWW91ciBtb3RoZXIncyBmYXRoZXIiLCLwn5G0Iiwiw5RuZyBuZ2/huqFpIHRow61jaCB14buRbmcgdHLDoC4iLCJHcmFuZHBh
IGxpa2VzIGRyaW5raW5nIHRlYS4iXSwKICBbImTDrCIsInllZSDihpgiLCJhdW50IChtb20ncyBzaXN0ZXIpIiwiTW9tJ3Mgc2lzdGVycyBhcmUgZMOsIOKA
lCB5b3VuZ2VyIE9SIG9sZGVyIGluIHRoZSBTb3V0aC4gTm9ydGhlcm4gdXNlcyBkw6wgZm9yIHlvdW5nZXIgb25seSIsIvCfkanigI3wn6axIiwiRMOsIEJh
IGzDoCBlbSBj4bunYSBtw6EuIiwiQXVudCBCYSBpcyBNb20ncyB5b3VuZ2VyIHNpc3Rlci4iXSwKICBbImPhuq11Iiwia293IOKGkyIsInVuY2xlIChtb20n
cyBicm90aGVyKSIsIk1vbSdzIGJyb3RoZXJzLCBhbnkgYWdlLiBBbHNvICd5b3UnIHRvIGEgeW91bmcgbWFuIGluIHRoZSBTb3V0aCIsIvCfkajigI3wn6ax
IiwiQ+G6rXUgVMawIGhheSBo4buPaSBuaGnhu4F1IGzhuq9tLiIsIlVuY2xlIFTGsCBhc2tzIGEgbG90IG9mIHF1ZXN0aW9ucy4iXSwKICBbIm3hu6MiLCJt
dWgg4oaTIiwiYXVudCAoY+G6rXUncyB3aWZlKSIsIlRoZSB3aWZlIG9mIHlvdXIgbW9tJ3MgYnJvdGhlciDigJQgYSB0aXRsZSB0aGF0IHN1cnByaXNlcyBt
YW55IGhlcml0YWdlIGxlYXJuZXJzIiwi8J+RqeKAjfCfprAiLCJN4bujIG7huqV1IMSDbiBuZ29uIGzhuq9tLiIsIkF1bnRpZSBjb29rcyB2ZXJ5IHdlbGwu
Il0sCiAgWyJkxrDhu6NuZyIsInlvby11aG5nIOKGkyIsInVuY2xlIChkw6wncyBodXNiYW5kKSIsIlRoZSBodXNiYW5kIG9mIHlvdXIgbW9tJ3Mgc2lzdGVy
Iiwi8J+nlCIsIkTGsOG7o25nIGNo4bqheSB4ZSDEkcawYSBtw6xuaCDEkWkuIiwiVW5jbGUgZHJpdmVzIHVzIGFyb3VuZC4iXSwKICBbImjDtG5nIiwiaG9o
bmcg4oaSIiwibm8gLyBub3QgKFNvdXRoLCBjYXN1YWwpIiwiU291dGhlcm4gY2FzdWFsIGtow7RuZy4gQ29uIGjDtG5nIGJp4bq/dCA9IEkgZG8gbm90IGtu
b3cuIFVzZSBraMO0bmcgd2l0aCBlbGRlcnMiLCLwn5mFIiwiQ29uIGjDtG5nIMSRw7NpLiIsIkkgYW0gbm90IGh1bmdyeS4iXSwKICBbIm5oYSIsIm55YWgg
4oaSIiwib2theT8gKHNvZnRlbmVyLCBTb3V0aCkiLCJOb3J0aGVybiBuaMOpLiBFbmRzIHJlcXVlc3RzIHdhcm1seTogxJBpIG5oYSEgxIJuIG5oYSEiLCLw
n6SXIiwiTWFpIG3DrG5oIMSRaSBjaOG7oyBuaGEhIiwiTGV0IHVzIGdvIHRvIHRoZSBtYXJrZXQgdG9tb3Jyb3csIG9rYXk/Il0sCiAgWyJow6luIiwiaGVu
IOKGlyIsInJpZ2h0PyAoU291dGgpIiwiTm9ydGhlcm4gbmjhu4kuIFNlZWtzIGFncmVlbWVudDogTsOzbmcgcXXDoSBow6luPyIsIvCfmIUiLCJTw6BpIEfD
sm4gbsOzbmcgcXXDoSBow6luPyIsIlPDoGkgR8OybiBpcyBzbyBob3QsIHJpZ2h0PyJdLAogIFsiaGEiLCJoYWgg4oaSIiwiaHVoPyAvIHJpZ2h0PyIsIlNv
dXRoZXJuIHRhZzogVuG6rXkgaGE/ID0gSXMgdGhhdCBzbz8iLCLwn6SUIiwiVuG6rXkgaGE/IENvbiBow7RuZyBiaeG6v3QuIiwiSXMgdGhhdCBzbz8gSSBk
aWQgbm90IGtub3cuIl0sCiAgWyLhu50iLCJ1aCDihpgiLCJ1aC1odWggLyB5ZWFoIChjYXN1YWwpIiwiQ2FzdWFsIHllcyBhbW9uZyBlcXVhbHMg4oCUIG5l
dmVyIHRvIGVsZGVycyAodXNlIGThuqEpIiwi8J+RjSIsIuG7nCwgxJHGsOG7o2MgxJHDsy4iLCJZZWFoLCB0aGF0IHdvcmtzLiJdLAogIFsidGhp4buHdCIs
InR5ZXQg4oaTIiwicmVhbGx5IC8gdHJ1ZSAoU291dGgpIiwiTm9ydGhlcm4gdGjhuq10LiBUaGnhu4d0IGjhuqM/ID0gUmVhbGx5PyBUaGnhu4d0IGzDoOKA
piA9IHRydWx54oCmIiwi8J+YsiIsIlRoaeG7h3QgaOG6oyBtw6E/IiwiUmVhbGx5LCBNb20/Il0sCiAgWyJk4buvIiwieW9vIH7ihpciLCJ2ZXJ5IC8gc28g
bXVjaCAoU291dGgpIiwiU291dGhlcm4gaW50ZW5zaWZpZXI6IMSR4bq5cCBk4buvID0gc28gcHJldHR5OyBuaOG7myBk4buvIGzhuq9tID0gbWlzcyBzbyBt
dWNoIiwi8J+UpSIsIlPDoGkgR8OybiB0aGF5IMSR4buVaSBk4buvIGzhuq9tLiIsIlPDoGkgR8OybiBoYXMgY2hhbmdlZCBzbyBtdWNoLiJdLAogIFsicXXD
oSB0cuG7nWkiLCJrd2FoIOKGlyBjaHVoLWVlIOKGmCIsImEgTE9UIChTb3V0aCkiLCJTb3V0aGVybjogdnVpIHF1w6EgdHLhu51pID0gc3VwZXIgaGFwcHku
IFZlcnkgY29sbG9xdWlhbCwgdmVyeSB3YXJtIiwi8J+MpO+4jyIsIsSQw7RuZyBuZ8aw4budaSBxdcOhIHRy4budaSEiLCJTbyBtYW55IHBlb3BsZSEiXSwK
ICBbIlPDoGkgR8OybiIsInNoYWkg4oaYIGdvbiDihpgiLCJTYWlnb24iLCJPZmZpY2lhbGx5IFRow6BuaCBwaOG7kSBI4buTIENow60gTWluaCwgYnV0IGV2
ZXJ5b25lIGluIHRoZSBTb3V0aCBzdGlsbCBzYXlzIFPDoGkgR8OybiIsIvCfjIYiLCJNw6Egc2luaCByYSDhu58gU8OgaSBHw7JuLiIsIk1vbSB3YXMgYm9y
biBpbiBTw6BpIEfDsm4uIl0sCiAgWyJsw6J1IGzhuq9tIiwibG9oIOKGkiBsYW0g4oaXIiwiYSB2ZXJ5IGxvbmcgdGltZSIsIkzDonUgbOG6r20gcuG7k2kg
PSBpdCBoYXMgYmVlbiBzbyBsb25nIOKAlCB3aGF0IGV2ZXJ5b25lIHNheXMgd2hlbiB0aGV5IHNlZSB5b3VyIG1vdGhlciIsIvCflbDvuI8iLCJMw6J1IGzh
uq9tIHLhu5NpIG3DoSBt4bubaSB24buBLiIsIkl0IGhhcyBiZWVuIHNvIGxvbmcgc2luY2UgTW9tIGNhbWUgYmFjay4iXSwKICBbIm3hu6tuZyIsIm11aG5n
IOKGmCIsImdsYWQgLyBoYXBweSB0byBzZWUiLCJN4burbmcgcXXDoSEgPSBzbyBnbGFkISBUaGUgU291dGhlcm4gd2VsY29tZSB3b3JkIiwi8J+OiSIsIkLD
oCBuZ2/huqFpIG3hu6tuZyBxdcOhIHRy4budaS4iLCJHcmFuZG1hIGlzIG92ZXJqb3llZC4iXSwKICBbInRoxrDGoW5nIiwidG9vLXVobmcg4oaSIiwidG8g
bG92ZSAoZmFtaWx5IHdhcm10aCkiLCJTb3V0aGVybiBmYW1pbGllcyBzYXkgdGjGsMahbmcgbW9yZSB0aGFuIHnDqnU6IELDoCB0aMawxqFuZyBjb24gPSBH
cmFuZG1hIGxvdmVzIHlvdSIsIvCfkpsiLCJCw6Agbmdv4bqhaSB0aMawxqFuZyBtw6EgbOG6r20uIiwiR3JhbmRtYSBsb3ZlcyBNb20gc28gbXVjaC4iXSwK
ICBbIsO0bSIsIm9obSDihpIiLCJ0byBodWciLCJWaWV0bmFtZXNlIGVsZGVycyByYXJlbHkgaHVnIOKAlCB3aGVuIGLDoCBuZ2/huqFpIMO0bSB5b3VyIG1v
dGhlciwgdGhhdCBpcyB0aGlydHkgeWVhcnMiLCLwn6SXIiwiQsOgIG5nb+G6oWkgw7RtIG3DoSB0aGnhu4d0IGzDonUuIiwiR3JhbmRtYSBodWdnZWQgTW9t
IGZvciBhIGxvbmcgdGltZS4iXSwKICBbIm7GsOG7m2MgbeG6r3QiLCJub28tdWhrIOKGlyBtYXQg4oaXIiwidGVhcnMiLCJOxrDhu5tjIG3huq90ID0gd2F0
ZXIgb2YgdGhlIGV5ZXMuIFRoZXJlIHdpbGwgYmUgc29tZSIsIvCfmKIiLCJNw6EgcsahaSBuxrDhu5tjIG3huq90LiIsIk1vbSBzaGVkIHRlYXJzLiJdLAog
IFsiduG7gSBuaMOgIiwidmVoIOKGmCBueWFoIOKGmCIsInRvIGNvbWUgaG9tZSIsIlRoaXMgdGltZSBpdCBpcyB5b3VyIG1vdGhlcidzIGhvbWUuIEluIHRo
ZSBTb3V0aCwgdiBzb3VuZHMgbGlrZSB5OiB54buBIG5ow6AiLCLwn4+hIiwiTcOhIHbhu4EgbmjDoCBy4buTaS4iLCJNb20gaXMgaG9tZSBub3cuIl1dLAog
Z3JhbW1hcjpbCiAgWyJk4bqhIOKApiAvIOKApiBk4bqhIiwicG9saXRlIHllcyAoU291dGgpIiwiRXZlcnkgYW5zd2VyIHRvIGFuIGVsZGVyIGluIHRoZSBT
b3V0aCIsImThuqEgcmVwbGFjZXMgYm90aCB2w6JuZyBhbmQg4bqhLiBE4bqhIGNvbiBiaeG6v3QuIEThuqEgaMO0bmcuIEThuqEsIGPhuqNtIMahbiBkw6wu
IiwiROG6oSwgY29uIGzDoCBjb24gY+G7p2EgbcOhIEjGsMahbmcuIiwiWWVzLCBJIGFtIEjGsMahbmcncyBjaGlsZC4iLCJE4bqhIGjDtG5nLCBjb24gaMO0
bmcgbeG7h3QuIiwiTm8sIEkgYW0gbm90IHRpcmVkLiJdLAogIFsi4oCmIGjDtG5nPyIsInllcy9ubyBxdWVzdGlvbiAoU291dGgpIiwiQ2FzdWFsIHF1ZXN0
aW9ucyB3aXRoIGNvdXNpbnMgYW5kIGZyaWVuZHMiLCJOb3J0aGVybiBraMO0bmc/IOKGkiBTb3V0aGVybiBow7RuZz8gQ29uIMSRw7NpIGjDtG5nPyBVc2Ug
a2jDtG5nIHdpdGggZWxkZXJzIHRvIGJlIHNhZmUuIiwiQ29uIMSDbiBo4bunIHRp4bq/dSBow7RuZz8iLCJEbyB5b3Ugd2FudCBo4bunIHRp4bq/dT8iLCJW
eSDEkWkgY2jhu6MgduG7m2kgZMOsIGjDtG5nPyIsIlZ5LCBhcmUgeW91IGdvaW5nIHRvIHRoZSBtYXJrZXQgd2l0aCBBdW50aWU/Il0sCiAgWyLigKYgbmhh
IC8g4oCmIGjDqW4iLCJva2F5PyAvIHJpZ2h0PyAoc29mdGVuZXJzKSIsIk1ha2luZyByZXF1ZXN0cyBhbmQgYWdyZWVtZW50IHdhcm0iLCJuaGEgKE5vcnRo
ZXJuIG5ow6kpIHNvZnRlbnMgcmVxdWVzdHM7IGjDqW4gKE5vcnRoZXJuIG5o4buJKSBhc2tzIGZvciBhZ3JlZW1lbnQuIiwiQ29uIOG7nyBs4bqhaSDEg24g
Y8ahbSBuaGEhIiwiU3RheSBhbmQgZWF0IHdpdGggdXMsIG9rYXkhIiwiTsOzbmcgZOG7ryBow6luPyIsIlNvIGhvdCwgcmlnaHQ/Il1dfSwKCntuOjE0LCBr
cjoixIJuIHPDoW5nIFPDoGkgR8OybiIsIGVuOiJTYWlnb24gQnJlYWtmYXN0Iiwgdmk6Ikjhu6cgdGnhur91LCBjxqFtIHThuqVtIGFuZCB0aGUgc2lkZXdh
bGsiLCBlbW9qaToi8J+NnCIsIGJvc3M6IvCfppAiLCBib3NzTmFtZToiU2hyaW1wLVBhc3RlIFNoYXJrIiwKIHdvcmRzOlsKICBbImjhu6cgdGnhur91Iiwi
aG9vIOKktSB0eWV3IOKGlyIsImjhu6cgdGnhur91IG5vb2RsZSBzb3VwIiwiVGhlIFNvdXRoJ3MgcGjhu58g4oCUIGNsZWFyIHBvcmsgYnJvdGgsIGZyb20g
Q2hpbmVzZS1WaWV0bmFtZXNlIGtpdGNoZW5zIiwi8J+NnCIsIlPDoW5nIG5heSDEg24gaOG7pyB0aeG6v3UgbmhhISIsIkxldCB1cyBoYXZlIGjhu6cgdGnh
ur91IHRoaXMgbW9ybmluZyEiXSwKICBbImPGoW0gdOG6pW0iLCJrdWhtIOKGkiB0YW0g4oaXIiwiYnJva2VuLXJpY2UgcGxhdGUiLCJHcmlsbGVkIHBvcmsg
b3ZlciBicm9rZW4gcmljZSB3aXRoIGZpc2ggc2F1Y2Ug4oCUIFPDoGkgR8OybidzIGJyZWFrZmFzdCBvZiBjaGFtcGlvbnMiLCLwn42aIiwiQ8ahbSB04bql
bSBzxrDhu51uIGLDrCBjaOG6oy4iLCJCcm9rZW4gcmljZSB3aXRoIHBvcmsgY2hvcCwgc2tpbiBhbmQgZWdnIGNha2UuIl0sCiAgWyJiw6FuaCBtw6wiLCJi
YW5nIOKGlyBtZWUg4oaYIiwiYsOhbmggbcOsIHNhbmR3aWNoIiwiU8OgaSBHw7JuIGLDoW5oIG3DrCBpcyBiaWdnZXIgYW5kIHJpY2hlciB0aGFuIEjDoCBO
4buZaSdzIOKAlCBww6J0w6ksIG1vcmUgaGVyYnMsIG1vcmUgc2F1Y2UiLCLwn6WWIiwiTXVhIGhhaSDhu5UgYsOhbmggbcOsLiIsIkJ1eSB0d28gYsOhbmgg
bcOsLiJdLAogIFsiY2jhuqMgZ2nDsiIsImNoYWgg4qS1IHlvIOKGmCIsImZyaWVkIHNwcmluZyByb2xscyAoU291dGgpIiwiTm9ydGhlcm46IG5lbSByw6Fu
LiBTYW1lIHJvbGwsIGRpZmZlcmVudCBuYW1lIOKAlCBhIGNsYXNzaWMgZmFtaWx5IGFyZ3VtZW50Iiwi8J+lnyIsIkNo4bqjIGdpw7IgY+G7p2EgbeG7oyBu
Z29uIGzDoG5oLiIsIkF1bnRpZSdzIHNwcmluZyByb2xscyBhcmUgZGVsaWNpb3VzLiJdLAogIFsiZ+G7j2kgY3Xhu5FuIiwiZ295IOKktSBrb28tdWhuIOKG
lyIsImZyZXNoIHNwcmluZyByb2xscyIsIlJpY2UgcGFwZXIsIHNocmltcCwgaGVyYnMsIHBlYW51dCBzYXVjZSDigJQgdGhlIHJvbGwgdGhlIHdvcmxkIGtu
b3dzIiwi8J+MryIsIkfhu49pIGN14buRbiBjaOG6pW0gdMawxqFuZy4iLCJGcmVzaCByb2xscyBkaXBwZWQgaW4gcGVhbnV0IHNhdWNlLiJdLAogIFsiYsO6
biB0aOG7i3Qgbsaw4bubbmciLCJib29uIOKGlyB0aXQg4oaTIG5vby11aG5nIOKGlyIsImdyaWxsZWQgcG9yayBvdmVyIHJpY2Ugbm9vZGxlcyIsIkEgU291
dGhlcm4gYm93bDogY29sZCBub29kbGVzLCBob3QgbWVhdCwgc3dlZXQgZmlzaCBzYXVjZSIsIvCfpZciLCJDb24ga8OqdSBiw7puIHRo4buLdCBuxrDhu5tu
Zy4iLCJJIG9yZGVyZWQgZ3JpbGxlZC1wb3JrIG5vb2RsZXMuIl0sCiAgWyJjw6AgcGjDqiBz4buvYSDEkcOhIiwia2FoIOKGmCBmZWgg4oaSIHNvby1haCB+
4oaXIGRhaCDihpciLCJpY2VkIG1pbGsgY29mZmVlIiwiU8OgaSBHw7JuIGRyaW5rcyBpdCBpbiBhIHRhbGwgZ2xhc3Mgd2l0aCBhIG1vdW50YWluIG9mIGlj
ZSDigJQgc3Ryb25nZXIgdGhhbiB0aGUgSMOgIE7hu5lpIGN1cCIsIvCfp4siLCJN4buZdCBjw6AgcGjDqiBz4buvYSDEkcOhLCDDrXQgxJHGsOG7nW5nLiIs
Ik9uZSBpY2VkIG1pbGsgY29mZmVlLCBsZXNzIHN1Z2FyLiJdLAogIFsiYuG6oWMgeOG7iXUiLCJiYWsg4oaTIHN5ZXcg4qS1IiwibWlsa3kgY29mZmVlIChT
YWlnb24pIiwiQSBDaGluZXNlLVZpZXRuYW1lc2UgU8OgaSBHw7JuIGludmVudGlvbjogbW9zdGx5IG1pbGssIGEgbGl0dGxlIGNvZmZlZS4gTWFkZSBmb3Ig
eW91ciBtb3RoZXIncyBzd2VldCB0b290aCIsIvCfpZsiLCJNw6EgdGjDrWNoIGLhuqFjIHjhu4l1LiIsIk1vbSBsaWtlcyBi4bqhYyB44buJdS4iXSwKICBb
Im7GsOG7m2MgbcOtYSIsIm5vby11aGsg4oaXIG1lZS1haCDihpciLCJzdWdhcmNhbmUganVpY2UiLCJQcmVzc2VkIG9uIHRoZSBzaWRld2FsayB3aXRoIGEg
a3VtcXVhdCDigJQgMTAsMDAwIMSR4buTbmcgb2YgcHVyZSBTw6BpIEfDsm4iLCLwn6WkIiwiTsaw4bubYyBtw61hIOG7nyDEkcOieSBy4bq7IGzhuq9tLiIs
IlN1Z2FyY2FuZSBqdWljZSBpcyBjaGVhcCBoZXJlLiJdLAogIFsibHkiLCJsZWUg4oaSIiwiZ2xhc3MgKFNvdXRoKSIsIk5vcnRoZXJuOiBj4buRYy4gTeG7
mXQgbHkgY8OgIHBow6oiLCLwn6WkIiwiQ2hvIGNvbiBoYWkgbHkgbsaw4bubYyBtw61hLiIsIlR3byBzdWdhcmNhbmUganVpY2VzIGZvciBtZS4iXSwKICBb
ImNow6luIiwiY2hlbiDihpciLCJib3dsIChTb3V0aCkiLCJOb3J0aGVybjogYsOhdC4gSW4gdGhlIFNvdXRoLCBjaMOpbiBpcyBhIHNtYWxsIHJpY2UgYm93
bDsgYSBiaWcgc291cCBib3dsIGlzIGEgdMO0Iiwi8J+loyIsIkNobyBjb24gdGjDqm0gY2jDqW4gY8ahbS4iLCJPbmUgbW9yZSBib3dsIG9mIHJpY2UgZm9y
IG1lLiJdLAogIFsibXXhu5duZyIsIm1vby11aG5nIH7ihpciLCJzcG9vbiAoU291dGgpIiwiTm9ydGhlcm46IHRow6xhIiwi8J+lhCIsIkzhuqV5IGdpw7lt
IGNvbiBjw6FpIG114buXbmcuIiwiR3JhYiBtZSBhIHNwb29uLiJdLAogIFsiZMSpYSIsInllZS1haCB+4oaXIiwicGxhdGUgKFNvdXRoKSIsIk5vcnRoZXJu
OiDEkcSpYSDigJQgbm90ZSB0aGUgZCwgcHJvbm91bmNlZCBsaWtlIHkgaW4gdGhlIFNvdXRoIiwi8J+Nve+4jyIsIk3hu5l0IGTEqWEgY8ahbSB04bqlbS4i
LCJPbmUgcGxhdGUgb2YgYnJva2VuIHJpY2UuIl0sCiAgWyJ0csOhaSBjw6J5IiwiY2hhaSDihpcga2F5IOKGkiIsImZydWl0IChTb3V0aCkiLCJOb3J0aGVy
bjogaG9hIHF14bqjLiBBbmQgdGhlIGNvdW50ZXIgd29yZCBpcyB0csOhaSwgbm90IHF14bqjOiBt4buZdCB0csOhaSB4b8OgaSIsIvCfjY0iLCJUcsOhaSBj
w6J5IG1p4buBbiBOYW0gbmfhu410IGzhuq9tLiIsIlNvdXRoZXJuIGZydWl0IGlzIHZlcnkgc3dlZXQuIl0sCiAgWyJz4bqndSByacOqbmciLCJzaG9oIOKG
mCB6ZWUtdWhuZyDihpIiLCJkdXJpYW4iLCJTbWVsbHMgbGlrZSBhIGNoYWxsZW5nZSwgdGFzdGVzIGxpa2UgY3VzdGFyZC4gWW91ciBmYW1pbHkgd2lsbCB3
YXRjaCB5b3UgdHJ5IGl0Iiwi8J+rkiIsIkNvbiBkw6FtIMSDbiBz4bqndSByacOqbmcgaMO0bmc/IiwiRG8geW91IGRhcmUgZWF0IGR1cmlhbj8iXSwKICBb
Im3DrXQiLCJtaXQg4oaXIiwiamFja2ZydWl0IiwiU3dlZXQsIGNoZXd5LCBnb2xkZW4g4oCUIHRoZSBzYWZlIGNvdXNpbiBvZiBkdXJpYW4iLCLwn5+hIiwi
TcOtdCBjaMOtbiB0aMahbSBxdcOhLiIsIlJpcGUgamFja2ZydWl0IHNtZWxscyB3b25kZXJmdWwuIl0sCiAgWyJjaMO0bSBjaMO0bSIsImNob2htIOKGkiBj
aG9obSDihpIiLCJyYW1idXRhbiIsIlRoZSBoYWlyeSByZWQgZnJ1aXQg4oCUIHBlZWwgYW5kIHBvcCIsIvCflLQiLCJNdWEgbeG7mXQga8O9IGNow7RtIGNo
w7RtLiIsIkJ1eSBhIGtpbG8gb2YgcmFtYnV0YW4uIl0sCiAgWyLEg24gc8OhbmciLCJhbiDihpIgc2hhbmcg4oaXIiwidG8gZWF0IGJyZWFrZmFzdCIsIklu
IFPDoGkgR8OybiBicmVha2Zhc3QgaXMgZWF0ZW4gT1VULCBvbiBhIHBsYXN0aWMgc3Rvb2wiLCLwn4yFIiwiTcOsbmggxJFpIMSDbiBzw6FuZyBuaGEuIiwi
TGV0IHVzIGdvIGVhdCBicmVha2Zhc3QuIl0sCiAgWyJ24buJYSBow6giLCJ2ZWUtYWgg4qS1IGhlaCDihpgiLCJzaWRld2FsayIsIldoZXJlIHRoZSBiZXN0
IGZvb2QgaXMuIFbhu4lhIGjDqCBjdWx0dXJlIGlzIFPDoGkgR8OybidzIGxpdmluZyByb29tIiwi8J+qkSIsIlF1w6FuIHbhu4lhIGjDqCBuw6B5IG5nb24g
bOG6r20uIiwiVGhpcyBzaWRld2FsayBzdGFsbCBpcyBkZWxpY2lvdXMuIl0sCiAgWyJrw6p1Iiwia2V3IOKGkiIsInRvIG9yZGVyIC8gdG8gY2FsbCAoU291
dGgpIiwiTm9ydGhlcm4gZ+G7jWkuIEvDqnUgbcOzbiA9IG9yZGVyIGZvb2Q7IGvDqnUgeGUgPSBjYWxsIGEgcmlkZSIsIvCfmYsiLCJDb24ga8OqdSBtw7Nu
IHLhu5NpLiIsIkkgYWxyZWFkeSBvcmRlcmVkLiJdLAogIFsidMOtbmggdGnhu4FuIiwidGluIOKGlyB0eWVuIOKGmCIsInRvIHBheSB0aGUgYmlsbCAoU291
dGgpIiwiTm9ydGhlcm46IHRoYW5oIHRvw6FuIC8gdMOtbmggdGnhu4FuIGJvdGguIENo4buLIMahaSwgdMOtbmggdGnhu4FuISBlbmRzIGV2ZXJ5IG1lYWwi
LCLwn5K4IiwiQ2jhu4sgxqFpLCB0w61uaCB0aeG7gW4hIiwiRXhjdXNlIG1lLCB0aGUgYmlsbCEiXSwKICBbIm5oacOqdSIsIm55ZXcg4oaSIiwiaG93IG11
Y2ggKHNob3J0LCBTb3V0aCkiLCJCYW8gbmhpw6p1IHNob3J0ZW5lZDogTmhpw6p1IHbhuq15IGPDtD8gPSBob3cgbXVjaCwgbWEnYW0/Iiwi8J+UoiIsIkx5
IG7DoHkgbmhpw6p1IHbhuq15IGPDtD8iLCJIb3cgbXVjaCBpcyB0aGlzIGdsYXNzLCBtYSdhbT8iXSwKICBbIm5nb24gbMOgbmgiLCJuZ29uIOKGkiBsYW5n
IOKGmCIsImRlbGljaW91cyAvIG5pY2VseSBkb25lIChTb3V0aCkiLCJTb3V0aGVybiBmbG91cmlzaDogxINuIG5nb24gbMOgbmggPSBhdGUgd2l0aCBndXN0
byIsIvCfmIsiLCLEgm4gbmdvbiBsw6BuaCBow6luISIsIkVhdGluZyB3ZWxsLCBodWghIl0sCiAgWyJkxqEiLCJ5dWgg4oaSIiwiZGlydHkgKFNvdXRoKSIs
Ik5vcnRoZXJuOiBi4bqpbi4gVGF5IGTGoSA9IGRpcnR5IGhhbmRzIOKAlCB3YXNoIGJlZm9yZSBlYXRpbmcsIHNheXMgZXZlcnkgbW90aGVyIiwi8J+nvCIs
IlLhu61hIHRheSDEkWksIHRheSBkxqEgcuG7k2kuIiwiV2FzaCB5b3VyIGhhbmRzLCB0aGV5IGFyZSBkaXJ0eS4iXV0sCiBncmFtbWFyOlsKICBbImvDqnUg
KyBtw7NuIiwidG8gb3JkZXIgKFNvdXRoKSIsIk9yZGVyaW5nIGF0IGFueSBxdcOhbiBpbiB0aGUgU291dGgiLCJrw6p1IHJlcGxhY2VzIGfhu41pLiBLw6p1
IGNobyBjb24gbeG7mXTigKYgPSBvcmRlciBtZSBvbmXigKYiLCJDb24ga8OqdSBt4buZdCB0w7QgaOG7pyB0aeG6v3UuIiwiSSB3aWxsIG9yZGVyIGEgYm93
bCBvZiBo4bunIHRp4bq/dS4iLCJLw6p1IHRow6ptIGhhaSBseSBuxrDhu5tjIG3DrWEgbmhhLiIsIk9yZGVyIHR3byBtb3JlIHN1Z2FyY2FuZSBqdWljZXMu
Il0sCiAgWyJUw61uaCB0aeG7gW4gKyAoZ2nDuW0pIiwidGhlIGJpbGwsIHBsZWFzZSIsIkVuZGluZyBhIG1lYWwg4oCUIGNhbGwgdGhlIHNlcnZlciBjaOG7
iy9hbmgvZW0iLCJDaOG7iyDGoWksIHTDrW5oIHRp4buBbiBnacO5bSBjb24gPSBwbGVhc2UgdG90YWwgaXQgZm9yIG1lLiBnacO5bSA9IGZvciBtZSAoU291
dGg7IE5vcnRoZXJuIGdpw7pwKS4iLCJBbmggxqFpLCB0w61uaCB0aeG7gW4gZ2nDuW0gZW0uIiwiRXhjdXNlIG1lLCB0aGUgYmlsbCBwbGVhc2UuIiwiVMOt
bmggdGnhu4FuIG5oYSBjw7QhIiwiVGhlIGJpbGwsIG1hJ2FtISJdLAogIFsi4oCmIGThu68gbOG6r20gLyDigKYgcXXDoSB0cuG7nWkiLCJzbyBtdWNoIC8g
YSB0b24gKFNvdXRoKSIsIlNvdXRoZXJuIGludGVuc2l0eSBmb3IgYW55dGhpbmciLCJBZGplY3RpdmUgKyBk4buvIGzhuq9tIG9yIHF1w6EgdHLhu51pLiBT
dHJvbmdlciBhbmQgd2FybWVyIHRoYW4gbOG6r20uIiwiU+G6p3UgcmnDqm5nIHRoxqFtIGThu68gbOG6r20uIiwiRHVyaWFuIHNtZWxscyBTTyBzdHJvbmcu
IiwiQ29uIG5o4bubIG3DoSBxdcOhIHRy4budaS4iLCJJIG1pc3MgTW9tIGEgdG9uLiJdXX0sCgp7bjoxNSwga3I6IkjhurttICYgR3JhYiIsIGVuOiJBbGxl
eXMgb2YgU8OgaSBHw7JuIiwgdmk6IlR1cm4gbGVmdCwgcXXhurlvIHRyw6FpIiwgZW1vamk6IvCfm7UiLCBib3NzOiLwn5CNIiwgYm9zc05hbWU6IkFsbGV5
IENvYnJhIiwKIHdvcmRzOlsKICBbImjhurttIiwiaGVtIOKktSIsImFsbGV5IChTb3V0aCkiLCJOb3J0aGVybjogbmfDtS4gU8OgaSBHw7JuIGFkZHJlc3Nl
cyByZWFkIDEyMy80NS82IOKAlCBhbGxleSBpbnNpZGUgYWxsZXkgaW5zaWRlIGFsbGV5Iiwi8J+PmO+4jyIsIk5ow6AgYsOgIG5nb+G6oWkgdHJvbmcgaOG6
u20uIiwiR3JhbmRtYSdzIGhvdXNlIGlzIGluIGFuIGFsbGV5LiJdLAogIFsicXXhurlvIiwia3dlaC1vaCDihpMiLCJ0byB0dXJuIChTb3V0aCkiLCJOb3J0
aGVybjogcuG6vS4gUXXhurlvIHRyw6FpLCBxdeG6uW8gcGjhuqNpIiwi4oap77iPIiwiUXXhurlvIHBo4bqjaSDhu58gbmfDoyB0xrAuIiwiVHVybiByaWdo
dCBhdCB0aGUgaW50ZXJzZWN0aW9uLiJdLAogIFsieGUgaMahaSIsInNlaCDihpIgaHVoLWVlIOKGkiIsImNhciAoU291dGgpIiwiTm9ydGhlcm46IMO0IHTD
tCIsIvCfmpciLCJExrDhu6NuZyBjw7MgeGUgaMahaS4iLCJVbmNsZSBoYXMgYSBjYXIuIl0sCiAgWyJr4bq5dCB4ZSIsImtldCDihpMgc2VoIOKGkiIsInRy
YWZmaWMgamFtIChTb3V0aCkiLCJOb3J0aGVybjogdOG6r2MgxJHGsOG7nW5nLiBTw6BpIEfDsm4ga+G6uXQgeGUgaXMgYW4gYXJ0IGZvcm0iLCLwn5qnIiwi
Q2hp4buBdSBuw6BvIGPFqW5nIGvhurl0IHhlLiIsIkV2ZXJ5IGFmdGVybm9vbiB0aGVyZSBpcyBhIHRyYWZmaWMgamFtLiJdLAogIFsiY2jhu6MgQuG6v24g
VGjDoG5oIiwiY2h1aCDihpMgYmVuIOKGlyB0YW5nIOKGmCIsIkLhur9uIFRow6BuaCBNYXJrZXQiLCJUaGUgZmFtb3VzIG1hcmtldCDigJQgdG91cmlzdCBw
cmljZXMgaW5zaWRlLCByZWFsIHByaWNlcyBhcm91bmQgaXQiLCLwn4+b77iPIiwiTcOsbmggZ2jDqSBjaOG7oyBC4bq/biBUaMOgbmggbmhhLiIsIkxldCB1
cyBzdG9wIGJ5IELhur9uIFRow6BuaCBNYXJrZXQuIl0sCiAgWyJxdeG6rW4iLCJrd3VobiDihpMiLCJkaXN0cmljdCIsIlPDoGkgR8OybiBpcyBudW1iZXJl
ZDogUXXhuq1uIDEsIFF14bqtbiAzLCBRdeG6rW4gNSAoQ2hpbmF0b3duKeKApiIsIvCfk40iLCJOaMOgIGTDrCDhu58gUXXhuq1uIDUuIiwiQXVudGllJ3Mg
aG91c2UgaXMgaW4gRGlzdHJpY3QgNS4iXSwKICBbImLDuW5nIGJpbmgiLCJib29uZyDihpggYmluZyDihpIiLCJyb3VuZGFib3V0IiwiTm9ydGhlcm46IHbD
sm5nIHh1eeG6v24uIEVudGVyIHNsb3dseSwga2VlcCBtb3ZpbmcsIHRydXN0IHRoZSBmbG93Iiwi8J+UhCIsIlF1YSBiw7luZyBiaW5oIHLhu5NpIHF14bq5
byB0csOhaS4iLCJQYXN0IHRoZSByb3VuZGFib3V0LCB0aGVuIHR1cm4gbGVmdC4iXSwKICBbIsSRw7NuIiwiZG9uIOKGlyIsInRvIHBpY2sgdXAiLCLEkMOz
biDhu58gxJHDonU/ID0gcGljayB1cCB3aGVyZT8gR3JhYiBkcml2ZXJzIGFzayB0aGlzIiwi8J+ZiyIsIkPhuq11IMSRw7NuIG3DrG5oIOG7nyBzw6JuIGJh
eS4iLCJVbmNsZSBwaWNrcyB1cyB1cCBhdCB0aGUgYWlycG9ydC4iXSwKICBbInRo4bqjIiwidGFoIOKktSIsInRvIGRyb3Agb2ZmIiwiVGjhuqMgY29uIOG7
nyDEkcOieSA9IGRyb3AgbWUgaGVyZSIsIvCfkYsiLCJUaOG6oyB04bulaSBjb24g4bufIMSR4bqndSBo4bq7bSBuaGEuIiwiRHJvcCB1cyBhdCB0aGUgYWxs
ZXkgZW50cmFuY2UuIl0sCiAgWyJjaOG6oXkiLCJjaGFpIOKGkyIsInRvIGRyaXZlIC8gdG8gcnVuIChTb3V0aCkiLCJDaOG6oXkgeGUgPSBkcml2ZTsgY2jh
uqF5IEdyYWIgPSBkcml2ZSBmb3IgR3JhYiIsIvCfj43vuI8iLCJD4bqtdSBjaOG6oXkgeGUgY+G6qW4gdGjhuq1uIGzhuq9tLiIsIlVuY2xlIGRyaXZlcyB2
ZXJ5IGNhcmVmdWxseS4iXSwKICBbImzhurkiLCJsZWgg4oaTIiwiZmFzdCAvIHF1aWNrIChTb3V0aCkiLCJOb3J0aGVybjogbmhhbmguIEzhurkgbMOqbiEg
PSBodXJyeSB1cCEiLCLwn5KoIiwiTOG6uSBsw6puLCBr4bq5dCB4ZSBy4buTaSEiLCJIdXJyeSwgdGhlIHRyYWZmaWMgaXMgc3RhcnRpbmchIl0sCiAgWyJ0
4burIHThu6siLCJ0b28g4oaYIHRvbyDihpgiLCJzbG93bHkgLyB0YWtlIGl0IGVhc3kiLCJUaGUgU291dGhlcm4gbGlmZSBtb3R0bzogdOG7qyB04burIHLh
u5NpIHTDrW5oID0gc2xvd2x5LCB0aGVuIHdlIGZpZ3VyZSBpdCBvdXQiLCLwn5CiIiwiVOG7qyB04burIMSRaSBjb24sIGjDtG5nIHbhu5lpLiIsIlRha2Ug
eW91ciB0aW1lLCBubyBydXNoLiJdLAogIFsibmdheSIsIm5nYWkg4oaSIiwicmlnaHQgKGhlcmUvbm93KSIsIk5nYXkgxJHDonkgPSByaWdodCBoZXJlOyBu
Z2F5IGLDonkgZ2nhu50gPSByaWdodCBub3ciLCLwn5OMIiwiUXXDoW4g4bufIG5nYXkgxJHDonkgbsOoLiIsIlRoZSBzaG9wIGlzIHJpZ2h0IGhlcmUuIl0s
CiAgWyJr4bq/IGLDqm4iLCJrZWgg4oaXIGJlbiDihpIiLCJuZXh0IHRvIChTb3V0aCkiLCJOb3J0aGVybjogYsOqbiBj4bqhbmgiLCLwn6SdIiwiTmjDoCB0
aHXhu5FjIGvhur8gYsOqbiBjaOG7oy4iLCJUaGUgcGhhcm1hY3kgaXMgbmV4dCB0byB0aGUgbWFya2V0LiJdLAogIFsixJHhurFuZyBraWEiLCJkYW5nIOKG
mCBrZWUtYWgg4oaSIiwib3ZlciB0aGVyZSIsIlBvaW50cyBhdCB3aGF0IHlvdSBjYW4gc2VlIOKAlCBwYWlyIHdpdGggYSB3aG9sZS1oYW5kIGdlc3R1cmUi
LCLwn5GJIiwiWGUgaMahaSDEkeG6rXUgxJHhurFuZyBraWEuIiwiVGhlIGNhciBpcyBwYXJrZWQgb3ZlciB0aGVyZS4iXSwKICBbImNo4buXIG7DoG8iLCJj
aG9oIH7ihpcgbm93IOKGmCIsIndoZXJlIChTb3V0aCkiLCJOb3J0aGVybjog4bufIMSRw6J1LiDEkGkgY2jhu5cgbsOgbz8gPSBnb2luZyB3aGVyZT8iLCLi
nZMiLCJNw6xuaCDEkWkgY2jhu5cgbsOgbyDEg24gc8Ohbmc/IiwiV2hlcmUgc2hhbGwgd2UgZ28gZm9yIGJyZWFrZmFzdD8iXSwKICBbInThu5tpIiwidHVo
LWVlIOKGlyIsInRvIGFycml2ZSAvIHRvIChTb3V0aCkiLCJOb3J0aGVybjogxJHhur9uLiBU4bubaSBy4buTaSEgPSB3ZSBhcmUgaGVyZSEiLCLwn46vIiwi
VOG7m2kgbmjDoCBiw6Agbmdv4bqhaSBy4buTaSEiLCJXZSBoYXZlIGFycml2ZWQgYXQgR3JhbmRtYSdzISJdLAogIFsiZ2jDqSIsImdlaCDihpciLCJ0byBz
dG9wIGJ5IiwiR2jDqSBjaOG7oyA9IHN3aW5nIGJ5IHRoZSBtYXJrZXQuIFZlcnkgU291dGhlcm4iLCLwn5uRIiwiR2jDqSB0aeG7h20gbXVhIMSRw6Egbmhh
LiIsIlN0b3AgYnkgdGhlIHNob3AgdG8gYnV5IGljZS4iXSwKICBbIm3GsGEiLCJtb28tYWgg4oaSIiwicmFpbiIsIlPDoGkgR8OybiByYWluOiBzdWRkZW4s
IGJpYmxpY2FsLCBnb25lIGluIHR3ZW50eSBtaW51dGVzIiwi8J+Mp++4jyIsIlRy4budaSBz4bqvcCBtxrBhIHLhu5NpLiIsIkl0IGlzIGFib3V0IHRvIHJh
aW4uIl0sCiAgWyJu4bqvbmciLCJuYW5nIOKGlyIsInN1bnNoaW5lIC8gc3VubnkiLCJO4bqvbmcgZ+G6r3QgPSBoYXJzaCBzdW4uIFPDoGkgR8OybiBoYXMg
dHdvIHNlYXNvbnM6IG7huq9uZyBhbmQgbcawYSIsIuKYgO+4jyIsIlPDoGkgR8OybiBu4bqvbmcgcXVhbmggbsSDbS4iLCJTw6BpIEfDsm4gaXMgc3Vubnkg
YWxsIHllYXIuIl0sCiAgWyJuw7NuIiwibm9uIOKGlyIsImhhdCAoU291dGgpIiwiTm9ydGhlcm46IG3FqS4gTsOzbiBi4bqjbyBoaeG7g20gPSBoZWxtZXQg
aW4gdGhlIFNvdXRoIiwi8J+noiIsIsSQ4buZaSBuw7NuIHbDtCDEkWkgY29uLiIsIlB1dCB5b3VyIGhhdCBvbi4iXSwKICBbIsOhbyBtxrBhIiwib3cg4oaX
IG1vby1haCDihpIiLCJyYWluY29hdCIsIkV2ZXJ5IG1vdG9yYmlrZSBzZWF0IGhpZGVzIG9uZS4gQnV5IHRoZSAyMCwwMDAtxJHhu5NuZyBwbGFzdGljIG9u
ZSIsIvCfp6UiLCJNYW5nIMOhbyBtxrBhIHRoZW8gbmhhLiIsIkJyaW5nIGEgcmFpbmNvYXQuIl0sCiAgWyJuZ+G6rXAiLCJuZ3VocCDihpMiLCJmbG9vZGVk
IiwiU8OgaSBHw7JuIHN0cmVldHMgbmfhuq1wIGFmdGVyIGJpZyByYWluIOKAlCBtb3RvcmJpa2VzIGJlY29tZSBib2F0cyIsIvCfjIoiLCLEkMaw4budbmcg
bsOgeSBoYXkgbmfhuq1wIGzhuq9tLiIsIlRoaXMgc3RyZWV0IGZsb29kcyBvZnRlbi4iXSwKICBbInPDtG5nIiwic2hvaG5nIOKGkiIsInJpdmVyIiwiU8O0
bmcgU8OgaSBHw7JuIOKAlCBzdW5zZXQgYnkgdGhlIHJpdmVyIHdpdGggeW91ciBtb3RoZXIgaXMgdGhlIG1vbWVudCIsIvCfj57vuI8iLCJDaGnhu4F1IG3D
rG5oIHJhIHPDtG5nIGNoxqFpLiIsIkluIHRoZSBhZnRlcm5vb24gd2UgZ28gdG8gdGhlIHJpdmVyLiJdXSwKIGdyYW1tYXI6WwogIFsicXXhurlvIHRyw6Fp
IC8gcXXhurlvIHBo4bqjaSAvIGNo4bqheSB0aOG6s25nIiwidHVybiBsZWZ0IC8gcmlnaHQgLyBnbyBzdHJhaWdodCAoU291dGgpIiwiRGlyZWN0aW9ucywg
U291dGhlcm4gc3R5bGUiLCJOb3J0aGVybiBy4bq9IOKGkiBTb3V0aGVybiBxdeG6uW8uIMSRaSB0aOG6s25nIOKGkiBjaOG6oXkgdGjhurNuZyBvbiBhIGJp
a2UuIiwiQ2jhuqF5IHRo4bqzbmcsIHThu5tpIGLDuW5nIGJpbmggcXXhurlvIHBo4bqjaS4iLCJHbyBzdHJhaWdodCwgYXQgdGhlIHJvdW5kYWJvdXQgdHVy
biByaWdodC4iLCJRdeG6uW8gdHLDoWkgdsO0IGjhurttLiIsIlR1cm4gbGVmdCBpbnRvIHRoZSBhbGxleS4iXSwKICBbIuKApiBjaOG7lyBuw6BvPyIsIndo
ZXJlIOKApj8gKFNvdXRoKSIsIkFza2luZyB3aGVyZSDigJQgdGhlIFNvdXRoZXJuIHdheSIsIlZlcmIgKyBjaOG7lyBuw6BvPyBOb3J0aGVybjog4bufIMSR
w6J1LiDEkOG6rXUgeGUgY2jhu5cgbsOgbz8gPSBwYXJrIHdoZXJlPyIsIk3DrG5oIMSDbiBzw6FuZyBjaOG7lyBuw6BvPyIsIldoZXJlIGRvIHdlIGVhdCBi
cmVha2Zhc3Q/IiwiQ+G6rXUgxJHDs24gY29uIGNo4buXIG7DoG8/IiwiV2hlcmUgd2lsbCB5b3UgcGljayBtZSB1cD8iXSwKICBbInThu5tpIOKApiAvIGdo
w6kg4oCmIiwiYXJyaXZlIGF0IOKApiAvIHN0b3AgYnkg4oCmIiwiVGVsbGluZyBhIGRyaXZlciB0aGUgcGxhbiIsInThu5tpID0gcmVhY2ggKE5vcnRoZXJu
IMSR4bq/bik7IGdow6kgPSBzd2luZyBieSBvbiB0aGUgd2F5LiIsIkNobyBjb24gdOG7m2kgY2jhu6MgQuG6v24gVGjDoG5oLiIsIlRha2UgbWUgdG8gQuG6
v24gVGjDoG5oIE1hcmtldC4iLCJHaMOpIG5ow6AgdGh14buRYyB0csaw4bubYyBuaGEuIiwiU3RvcCBieSB0aGUgcGhhcm1hY3kgZmlyc3QuIl1dfSwKCntu
OjE2LCBrcjoiTMOgbSDEg24iLCBlbjoiV29yayAmIEJ1c2luZXNzIiwgdmk6IldoYXQgdGhlIHVuY2xlcyByZWFsbHkgYXNrIiwgZW1vamk6IvCfkrwiLCBi
b3NzOiLwn5CCIiwgYm9zc05hbWU6Ik92ZXJ0aW1lIE94IiwKIHdvcmRzOlsKICBbImPDtG5nIHZp4buHYyIsImtvaG5nIOKGkiB2eWVrIOKGkyIsImpvYiAv
IHdvcmsiLCJDw7RuZyB2aeG7h2MgdGjhur8gbsOgbz8gPSBob3cgaXMgd29yaz8g4oCUIHF1ZXN0aW9uICMxIGZyb20gZXZlcnkgY+G6rXUiLCLwn5K8Iiwi
Q8O0bmcgdmnhu4djIGPhu6dhIGNvbiDhu5VuLiIsIk15IHdvcmsgaXMgZmluZS4iXSwKICBbImzDoG0gxINuIiwibGFobSDihpggYW4g4oaSIiwidG8gZG8g
YnVzaW5lc3MiLCJMw6BtIMSDbiDEkcaw4bujYyBow7RuZz8gPSBpcyBidXNpbmVzcyBnb29kPyBUaGUgU291dGhlcm4gc21hbGwtdGFsayBvcGVuZXIiLCLw
n6SdIiwiQ+G6rXUgbMOgbSDEg24g4bufIGNo4bujLiIsIlVuY2xlIGRvZXMgYnVzaW5lc3MgYXQgdGhlIG1hcmtldC4iXSwKICBbImJ1w7RuIGLDoW4iLCJi
b28tdWhuIOKGkiBiYWhuIOKGlyIsInRvIHRyYWRlIC8gc2VsbCIsIkhhbGYgb2YgU8OgaSBHw7JuIGJ1w7RuIGLDoW4gc29tZXRoaW5nIOKAlCBhIHN0YWxs
LCBhIHNob3AsIGEgc2lkZXdhbGsiLCLwn4+qIiwiRMOsIGJ1w7RuIGLDoW4gduG6o2kuIiwiQXVudGllIHNlbGxzIGZhYnJpYy4iXSwKICBbInRp4buHbSIs
InR5ZW0g4oaTIiwic2hvcCAoU291dGgpIiwiTm9ydGhlcm46IGPhu61hIGjDoG5nLiBUaeG7h20gdsOgbmcgPSBnb2xkIHNob3AsIHRp4buHbSB0aHXhu5Fj
ID0gcGhhcm1hY3kiLCLwn4+sIiwiVGnhu4dtIGPhu6dhIG3hu6Mg4bufIFF14bqtbiA1LiIsIkF1bnRpZSdzIHNob3AgaXMgaW4gRGlzdHJpY3QgNS4iXSwK
ICBbIm3hu58gdGnhu4dtIiwibXVoIOKktSB0eWVtIOKGkyIsInRvIG9wZW4gYSBzaG9wIiwiVGhlIGZhbWlseSBkcmVhbSDigJQgYW5kIHdoYXQgdGhleSBt
YXkgaG9wZSBZT1Ugd2lsbCBmdW5kIiwi8J+OgCIsIkPhuq11IG114buRbiBt4bufIHRp4buHbSBjw6AgcGjDqi4iLCJVbmNsZSB3YW50cyB0byBvcGVuIGEg
Y2Fmw6kuIl0sCiAgWyJraMOhY2giLCJraGFrIOKGlyIsImN1c3RvbWVyIC8gZ3Vlc3QiLCJLaMOhY2ggaMOgbmcgPSBjdXN0b21lcnM7IGFsc28gJ2d1ZXN0
JyDigJQgeW91IGFyZSBraMOhY2ggYXQgZXZlcnkgaG91c2UiLCLwn5mLIiwiSMO0bSBuYXkgxJHDtG5nIGtow6FjaCBxdcOhLiIsIlNvIG1hbnkgY3VzdG9t
ZXJzIHRvZGF5LiJdLAogIFsiY2jhu6ciLCJjaG9vIOKktSIsIm93bmVyIC8gYm9zcyIsIkNo4bunIHRp4buHbSA9IHNob3Agb3duZXI7IGzDoG0gY2jhu6cg
PSBiZSB5b3VyIG93biBib3NzIiwi8J+RkSIsIk3hu6MgbMOgIGNo4bunIHRp4buHbS4iLCJBdW50aWUgaXMgdGhlIHNob3Agb3duZXIuIl0sCiAgWyJuaMOi
biB2acOqbiIsIm55dWhuIOKGkiB2eWVuIOKGkiIsImVtcGxveWVlIC8gc3RhZmYiLCJDb24gbMOgIG5ow6JuIHZpw6puID0gSSBhbSBzdGFmZiAobm90IHRo
ZSBib3NzIOKAlCBhIGNvbW1vbiBhbnN3ZXIgdG8gZW5kIHF1ZXN0aW9ucykiLCLwn6eR4oCN8J+SvCIsIkNvbiBsw6AgbmjDom4gdmnDqm4gbmfDom4gaMOg
bmcuIiwiSSBhbSBhIGJhbmsgZW1wbG95ZWUuIl0sCiAgWyJsxrDGoW5nIiwibG9vLXVobmcg4oaSIiwic2FsYXJ5IiwiTMawxqFuZyBiYW8gbmhpw6p1PyBX
SUxMIGJlIGFza2VkLiBIYXZlIGEgc21pbGUgcmVhZHkiLCLwn5K1IiwiTMawxqFuZyBj4bunYSBjb24gxJHhu6cgc+G7kW5nLiIsIk15IHNhbGFyeSBpcyBl
bm91Z2ggdG8gbGl2ZSBvbi4iXSwKICBbInTEg25nIGNhIiwidGFuZyDihpIga2FoIOKGkiIsInRvIHdvcmsgb3ZlcnRpbWUiLCJTw6BpIEfDsm4gd29ya3Mg
bGF0ZSDigJQgdMSDbmcgY2EgaXMgbm9ybWFsLCBhbmQgYSBiYWRnZSBvZiBlZmZvcnQiLCLwn4yZIiwiVHXhuqduIG7DoHkgY29uIHTEg25nIGNhIG5oaeG7
gXUuIiwiVGhpcyB3ZWVrIEkgd29ya2VkIGEgbG90IG9mIG92ZXJ0aW1lLiJdLAogIFsibmdo4buJIHBow6lwIiwibmdlZSDipLUgZmVwIOKGlyIsInRvIHRh
a2UgbGVhdmUiLCJDb24geGluIG5naOG7iSBwaMOpcCDEkeG7gyB24buBID0gSSB0b29rIGxlYXZlIHRvIGNvbWUgaG9tZSDigJQgdGhlIGFuc3dlciBldmVy
eW9uZSByZXNwZWN0cyIsIvCfj5bvuI8iLCJDb24gbmdo4buJIHBow6lwIGhhaSB0deG6p24uIiwiSSB0b29rIHR3byB3ZWVrcyBvZiBsZWF2ZS4iXSwKICBb
InPhur9wIiwic2hlcCDihpciLCJib3NzIChmcm9tIEZyZW5jaCBjaGVmKSIsIkV2ZXJ5b25lJ3MgZmF2b3JpdGUgY29tcGxhaW50IHdvcmQiLCLwn6eR4oCN
8J+SvCIsIlPhur9wIGNvbiBraMOzIHTDrW5oIGzhuq9tLiIsIk15IGJvc3MgaXMgdmVyeSBkZW1hbmRpbmcuIl0sCiAgWyJo4buNcCIsImhvcCDihpMiLCJ0
byBoYXZlIGEgbWVldGluZyIsIkjhu41wIGhvw6BpID0gbWVldGluZ3MgYWxsIHRoZSB0aW1lIiwi8J+TiyIsIlPDoW5nIG7DoG8gY8WpbmcgaOG7jXAuIiwi
TWVldGluZ3MgZXZlcnkgbW9ybmluZy4iXSwKICBbImThu7Egw6FuIiwiem9vIOKGkyBhaG4g4oaXIiwicHJvamVjdCIsIkNvbiDEkWFuZyBsw6BtIGThu7Eg
w6FuID0gSSBhbSB3b3JraW5nIG9uIGEgcHJvamVjdCDigJQgc291bmRzIGltcHJlc3NpdmUsIGNvc3RzIG5vdGhpbmciLCLwn5OBIiwiROG7sSDDoW4gbsOg
eSBsw6BtIGPhuqMgbsSDbS4iLCJUaGlzIHByb2plY3QgdGFrZXMgYSB3aG9sZSB5ZWFyLiJdLAogIFsia2luaCBkb2FuaCIsImtpbmcg4oaSIHp3YW5nIOKG
kiIsImJ1c2luZXNzIChmb3JtYWwpIiwiTMOgbSBraW5oIGRvYW5oID0gdG8gYmUgaW4gYnVzaW5lc3MiLCLwn5OIIiwiQ+G6rXUgVMawIGzDoG0ga2luaCBk
b2FuaC4iLCJVbmNsZSBUxrAgaXMgaW4gYnVzaW5lc3MuIl0sCiAgWyJ0aMOgbmggY8O0bmciLCJ0YW5nIOKGmCBrb2huZyDihpIiLCJzdWNjZXNzIC8gc3Vj
Y2Vzc2Z1bCIsIldoYXQgdGhlIGZhbWlseSB3aXNoZXMgZm9yIHlvdSDigJQgbG91ZGx5LCBhdCBldmVyeSB0b2FzdCIsIvCfj4YiLCJDaMO6YyBjb24gdGjD
oG5oIGPDtG5nISIsIldpc2hpbmcgeW91IHN1Y2Nlc3MhIl0sCiAgWyJ0aOG6pXQgYuG6oWkiLCJ0dXQg4oaXIGJhaSDihpMiLCJmYWlsdXJlIC8gdG8gZmFp
bCIsIlRo4bqldCBi4bqhaSBsw6AgbeG6uSB0aMOgbmggY8O0bmcgPSBmYWlsdXJlIGlzIHRoZSBtb3RoZXIgb2Ygc3VjY2VzcyDigJQgZXZlcnkgdW5jbGUg
d2lsbCBxdW90ZSBpdCIsIvCfjLEiLCJUaOG6pXQgYuG6oWkgY8WpbmcgaMO0bmcgc2FvLiIsIkZhaWxpbmcgaXMgb2theSB0b28uIl0sCiAgWyJj4buRIGfh
uq9uZyIsImtvaCDihpcgZ2FuZyDihpciLCJ0byB0cnkgaGFyZCIsIkPhu5EgZ+G6r25nIGzDqm4hID0ga2VlcCB0cnlpbmchIFRoZSBmYW1pbHkgY2hlZXIi
LCLwn5KqIiwiQ29uIGPhu5EgZ+G6r25nIG3hu5dpIG5nw6B5LiIsIkkgdHJ5IGhhcmQgZXZlcnkgZGF5LiJdLAogIFsiduG6pXQgduG6oyIsInZ1dCDihpcg
dmFoIOKktSIsImhhcmQgLyB0b2lsc29tZSIsIkzDoG0gxINuIHbhuqV0IHbhuqMgPSBidXNpbmVzcyBpcyBoYXJkIHdvcmsg4oCUIHRoZSBob25lc3QgcmVw
bHkiLCLwn5iu4oCN8J+SqCIsIuG7niBuxrDhu5tjIG5nb8OgaSBjxaluZyB24bqldCB24bqjLiIsIkFicm9hZCBpcyBoYXJkIHdvcmsgdG9vLiJdLAogIFsi
4buVbiDEkeG7i25oIiwib2huIOKktSBkaW5nIOKGkyIsInN0YWJsZSIsIkPDtG5nIHZp4buHYyDhu5VuIMSR4buLbmggPSBhIHN0YWJsZSBqb2Ig4oCUIHRo
ZSBtYWdpYyBwaHJhc2UgdGhhdCBlbmRzIHRoZSBpbnRlcnJvZ2F0aW9uIiwi8J+nmCIsIkNvbiBjw7Mgdmnhu4djIOG7lW4gxJHhu4tuaCBy4buTaS4iLCJJ
IGhhdmUgYSBzdGFibGUgam9iIG5vdy4iXSwKICBbIsSR4bunIHPhu5FuZyIsImRvbyDipLUgc2hvaG5nIOKGlyIsImVub3VnaCB0byBsaXZlIG9uIiwiVGhl
IGdyYWNlZnVsIG5vbi1hbnN3ZXIgdG8gJ2hvdyBtdWNoIGRvIHlvdSBtYWtlPyciLCLwn5mCIiwiTMawxqFuZyDEkeG7pyBz4buRbmcgbMOgIMSRxrDhu6Nj
LiIsIkVub3VnaCB0byBsaXZlIG9uIGlzIGVub3VnaC4iXSwKICBbImdpw6B1IiwieW93IOKGmCIsInJpY2giLCJOZ8aw4budaSBnacOgdSA9IHJpY2ggcGVv
cGxlLiBUaGUgZmFtaWx5IHdpbGwgYXNzdW1lIHlvdSBhcmUg4oCUIGdlbnRseSBjb3JyZWN0IGl0Iiwi8J+SjiIsIkNvbiBow7RuZyBnacOgdSDEkcOidSBj
4bqtdS4iLCJJIGFtIG5vdCByaWNoLCBVbmNsZS4iXSwKICBbIm5naMOobyIsIm5nZWgtb2gg4oaYIiwicG9vciIsIkjhu5NpIMSRw7MgbmjDoCBtw6xuaCBu
Z2jDqG8gbOG6r20gPSBiYWNrIHRoZW4gb3VyIGZhbWlseSB3YXMgdmVyeSBwb29yIOKAlCB0aGUgc3RhcnQgb2YgbWFueSBzdG9yaWVzIiwi8J+qmSIsIkjh
u5NpIMSRw7MgbmjDoCBtw6xuaCBuZ2jDqG8gbOG6r20uIiwiQmFjayB0aGVuIG91ciBmYW1pbHkgd2FzIHZlcnkgcG9vci4iXSwKICBbInRp4bq/dCBraeG7
h20iLCJ0eWV0IOKGlyBreWVtIOKGkyIsInRvIHNhdmUgbW9uZXkiLCJDb24gcGjhuqNpIHRp4bq/dCBraeG7h20gPSB5b3UgbXVzdCBzYXZlIOKAlCBtb3Ro
ZXJzIGV2ZXJ5d2hlcmUiLCLwn5CWIiwiTcOhIGThuqF5IGNvbiB0aeG6v3Qga2nhu4dtLiIsIk1vbSB0YXVnaHQgbWUgdG8gc2F2ZS4iXV0sCiBncmFtbWFy
OlsKICBbIkzDoG0gxINuIC8gY8O0bmcgdmnhu4djICsgdGjhur8gbsOgbz8iLCJob3cgaXMgYnVzaW5lc3MgLyB3b3JrPyIsIlRoZSBwb2xpdGUgd29yayBx
dWVzdGlvbiDigJQgYW5kIGhvdyB0byBhbnN3ZXIgaXQiLCJBbnN3ZXJzOiDhu5VuIChmaW5lKSwgduG6pXQgduG6oyAoaGFyZCksIGPFqW5nIMSRxrDhu6Nj
IChzby1zbyksIMSR4bunIHPhu5FuZyAoZW5vdWdoKS4iLCJD4bqtdSBsw6BtIMSDbiB0aOG6vyBuw6BvPyIsIkhvdyBpcyBidXNpbmVzcywgVW5jbGU/Iiwi
Q8O0bmcgdmnhu4djIGPhu6dhIGNvbiBjxaluZyDhu5VuIOG6oS4iLCJNeSB3b3JrIGlzIGZpbmUuIl0sCiAgWyLEkeG7pyArIHZlcmIiLCJlbm91Z2ggdG8g
4oCmIiwiTW9uZXkgYW5kIGVmZm9ydCB3aXRob3V0IGdpdmluZyBudW1iZXJzIiwixJHhu6cgc+G7kW5nLCDEkeG7pyDEg24sIMSR4bunIHjDoGkgKFNvdXRo
OiB4w6BpID0gc3BlbmQpLiBUaGUgZ3JhY2VmdWwgc2hpZWxkLiIsIkzGsMahbmcgY29uIMSR4bunIHPhu5FuZy4iLCJNeSBzYWxhcnkgaXMgZW5vdWdoIHRv
IGxpdmUgb24uIiwixJDhu6cgxINuIMSR4bunIG3hurdjIGzDoCBt4burbmcgcuG7k2kuIiwiRW5vdWdoIHRvIGVhdCBhbmQgd2VhciBpcyBhbHJlYWR5IGEg
Ymxlc3NpbmcuIl0sCiAgWyJj4buRIGfhuq9uZyArIHZlcmIiLCJ0byB0cnkgaGFyZCB0byDigKYiLCJFbmNvdXJhZ2VtZW50IOKAlCBnaXZpbmcgYW5kIHJl
Y2VpdmluZyBpdCIsImPhu5EgZ+G6r25nIGJlZm9yZSB0aGUgdmVyYi4gQ+G7kSBn4bqvbmcgbMOqbiEgYWxvbmUgPSBrZWVwIGdvaW5nISIsIkNvbiBj4buR
IGfhuq9uZyBo4buNYyB0aeG6v25nIFZp4buHdC4iLCJJIGFtIHRyeWluZyBoYXJkIHRvIGxlYXJuIFZpZXRuYW1lc2UuIiwiQ+G7kSBn4bqvbmcgbMOqbiBu
aGEgY29uISIsIktlZXAgZ29pbmcsIGRlYXIhIl1dfSwKCntuOjE3LCBrcjoiTmfDom4gaMOgbmcgJiBUaeG7gW4iLCBlbjoiQmFua3MgJiBNb25leSIsIHZp
OiJTZW5kLCBzYXZlLCBzZW5kIGhvbWUiLCBlbW9qaToi8J+PpiIsIGJvc3M6IvCfpoUiLCBib3NzTmFtZToiRXhjaGFuZ2UtUmF0ZSBFYWdsZSIsCiB3b3Jk
czpbCiAgWyJuZ8OibiBow6BuZyIsIm5ndWhuIOKGkiBoYWhuZyDihpgiLCJiYW5rIiwiTmfDom4gaMOgbmcgVmlldGNvbWJhbmssIEFDQuKApiBhc2sgd2hp
Y2ggb25lIHlvdXIgZmFtaWx5IHVzZXMgYmVmb3JlIHlvdSB3aXJlIG1vbmV5Iiwi8J+PpiIsIkNvbiByYSBuZ8OibiBow6BuZyBt4buZdCBjaMO6dC4iLCJJ
IGFtIGdvaW5nIHRvIHRoZSBiYW5rIGZvciBhIGJpdC4iXSwKICBbInTDoGkga2hv4bqjbiIsInRhaSDihpgga2h3YW4g4qS1IiwiYWNjb3VudCIsIlPhu5Eg
dMOgaSBraG/huqNuID0gYWNjb3VudCBudW1iZXIg4oCUIHlvdSB3aWxsIHR5cGUgaXQgaW50byBhIHJlbWl0dGFuY2UgYXBwIG9uZSBkYXkiLCLwn6e+Iiwi
U+G7kSB0w6BpIGtob+G6o24gY+G7p2EgY+G6rXUgbMOgIGfDrD8iLCJXaGF0IGlzIHlvdXIgYWNjb3VudCBudW1iZXIsIFVuY2xlPyJdLAogIFsiZ+G7rWkg
dGnhu4FuIiwiZ29vLWVlIOKktSB0eWVuIOKGmCIsInRvIHNlbmQgbW9uZXkiLCJH4butaSB0aeG7gW4gduG7gSA9IHNlbmQgbW9uZXkgaG9tZSDigJQgdGhl
IHZlcmIgb2YgdGhlIGRpYXNwb3JhIiwi8J+SjCIsIkJhIG3DoSBn4butaSB0aeG7gW4gduG7gSBt4buXaSB0aMOhbmcuIiwiTW9tIGFuZCBEYWQgc2VuZCBt
b25leSBob21lIGV2ZXJ5IG1vbnRoLiJdLAogIFsicsO6dCB0aeG7gW4iLCJ6b290IOKGlyB0eWVuIOKGmCIsInRvIHdpdGhkcmF3IiwiUsO6dCB0aeG7gW4g
4bufIG3DoXkgQVRNIiwi8J+PpyIsIkNvbiByw7p0IHRp4buBbiDhu58gxJHDonU/IiwiV2hlcmUgZG8gSSB3aXRoZHJhdyBtb25leT8iXSwKICBbImNodXnh
u4NuIHRp4buBbiIsImNod2VlLXVobiDipLUgdHllbiDihpgiLCJ0byB0cmFuc2ZlciBtb25leSIsIkNodXnhu4NuIGtob+G6o24gPSBiYW5rIHRyYW5zZmVy
OyBldmVyeSBzaG9wIGluIFPDoGkgR8OybiBub3cgdGFrZXMgUVIgdHJhbnNmZXJzIiwi8J+TsiIsIkNodXnhu4NuIHRp4buBbiBxdWEgxJFp4buHbiB0aG/h
uqFpIMSRxrDhu6NjIGjDtG5nPyIsIkNhbiBJIHRyYW5zZmVyIGJ5IHBob25lPyJdLAogIFsixJHDtCBsYSIsImRvaCDihpIgbGFoIOKGkiIsIlVTIGRvbGxh
ciIsIsSQw7QgPSBkb2xsYXIuIEZhbWlseSBtYXkgcXVvdGUgcHJpY2VzIHRvIHlvdSBpbiDEkcO0IOKAlCBraW5kbHksIG9yIGhvcGVmdWxseSIsIvCfkrUi
LCJN4buZdCB0csSDbSDEkcO0IMSR4buVaSDEkcaw4bujYyBuaGnDqnU/IiwiSG93IG11Y2ggZG8gSSBnZXQgZm9yIGEgaHVuZHJlZCBkb2xsYXJzPyJdLAog
IFsixJHhu5NuZyIsImRvaG5nIOKGmCIsIsSR4buTbmcgKFZpZXRuYW1lc2UgY3VycmVuY3kpIiwiMjUsMDAwIMSR4buTbmcg4omIIG9uZSBkb2xsYXIuIFNh
eSB0aGUgdGhvdXNhbmRzOiBoYWkgbcawxqFpIGzEg20gbmdow6xuIC8gbmfDoG4iLCLwn6qZIiwiVGnhu4FuIFZp4buHdCBn4buNaSBsw6AgxJHhu5NuZy4i
LCJWaWV0bmFtZXNlIG1vbmV5IGlzIGNhbGxlZCDEkeG7k25nLiJdLAogIFsidOG7tyBnacOhIiwidGVlIOKktSB6YWgg4oaXIiwiZXhjaGFuZ2UgcmF0ZSIs
IlThu7cgZ2nDoSBow7RtIG5heSA9IHRvZGF5J3MgcmF0ZSDigJQgYmV0dGVyIGF0IGdvbGQgc2hvcHMgdGhhbiBhdCB0aGUgYWlycG9ydCIsIvCfk4oiLCJU
4bu3IGdpw6EgaMO0bSBuYXkgYmFvIG5oacOqdT8iLCJXaGF0IGlzIHRoZSByYXRlIHRvZGF5PyJdLAogIFsixJHhu5VpIHRp4buBbiIsImRveSDipLUgdHll
biDihpgiLCJ0byBleGNoYW5nZSBtb25leSIsIsSQ4buVaSDhu58gdGnhu4dtIHbDoG5nID0gZXhjaGFuZ2UgYXQgYSBnb2xkIHNob3Ag4oCUIHRoZSBTw6Bp
IEfDsm4gd2F5Iiwi8J+UgSIsIsSQ4buVaSB0aeG7gW4g4bufIHRp4buHbSB2w6BuZyBs4bujaSBoxqFuLiIsIkV4Y2hhbmdpbmcgYXQgYSBnb2xkIHNob3Ag
aXMgYmV0dGVyLiJdLAogIFsidGjhursgQVRNIiwidGVoIOKktSBhaC10ZWgtZW0iLCJBVE0gLyBkZWJpdCBjYXJkIiwiVGjhursgPSBjYXJkLiBZb3VyIGZv
cmVpZ24gY2FyZCB3b3JrcyBhdCBtb3N0IEFUTXMsIHdpdGggZmVlcyIsIvCfkrMiLCJUaOG6uyBBVE0gY+G7p2EgY29uIHjDoGkgxJHGsOG7o2MuIiwiTXkg
Y2FyZCB3b3JrcyBoZXJlLiJdLAogIFsibcOheSBBVE0iLCJtYWkg4oaXIGFoLXRlaC1lbSIsIkFUTSBtYWNoaW5lIiwiTcOheSA9IG1hY2hpbmUuIE3DoXkg
QVRNIGfhuqduIMSRw6J5PyA9IEFUTSBuZWFyYnk/Iiwi8J+PpyIsIk3DoXkgQVRNIOG7nyBr4bq/IGLDqm4gbmfDom4gaMOgbmcuIiwiVGhlIEFUTSBpcyBu
ZXh0IHRvIHRoZSBiYW5rLiJdLAogIFsibeG6rXQga2jhuql1IiwibXV0IOKGkyBraG9oIOKktSIsInBhc3N3b3JkIC8gUElOIiwiQWxzbyBmb3Igd2lmaSDi
gJQgbeG6rXQga2jhuql1IHdpZmkgbMOgIGfDrD8iLCLwn5SRIiwixJDhu6tuZyBuw7NpIG3huq10IGto4bqpdSBjaG8gYWkuIiwiRG8gbm90IHRlbGwgYW55
b25lIHlvdXIgcGFzc3dvcmQuIl0sCiAgWyJnaeG6pXkgdOG7nSIsInpheSDihpcgdHVoIOKGmCIsImRvY3VtZW50cyAvIHBhcGVyd29yayIsIkJyaW5nIGdp
4bqleSB04budIGZvciBldmVyeXRoaW5nIOKAlCBwYXNzcG9ydCwgcGhvdG9jb3BpZXMsIHBhdGllbmNlIiwi8J+ThCIsIk1hbmcgZ2nhuqV5IHThu50gdGhl
byBuaGEuIiwiQnJpbmcgeW91ciBkb2N1bWVudHMuIl0sCiAgWyJrw70gdMOqbiIsImtlZSDihpcgdGVuIOKGkiIsInRvIHNpZ24iLCJLw70gdMOqbiDhu58g
xJHDonkgPSBzaWduIGhlcmUiLCLinI3vuI8iLCJLw70gdMOqbiBjaOG7lyBuw6B5LiIsIlNpZ24gaGVyZS4iXSwKICBbIm7hu6MiLCJudWgg4oaTIiwiZGVi
dCAvIHRvIG93ZSIsIk3huq9jIG7hu6MgPSBpbiBkZWJ0LiBGYW1pbHkgZGVidHMgYXJl4oCmIGNvbXBsaWNhdGVkLiBMaXN0ZW4gbW9yZSB0aGFuIHlvdSBw
cm9taXNlIiwi8J+TiSIsIkPhuq11IGPDsm4gbuG7oyBuZ8OibiBow6BuZy4iLCJVbmNsZSBzdGlsbCBvd2VzIHRoZSBiYW5rLiJdLAogIFsidmF5IiwidmFp
IOKGkiIsInRvIGJvcnJvdyAobW9uZXkpIiwiVmF5IHRp4buBbiA9IGJvcnJvdyBtb25leSDigJQgYSByZXF1ZXN0IHRoYXQgbWF5IGNvbWU7IGl0IGlzIG9r
YXkgdG8gc2F5IGNvbiBwaOG6o2kgaOG7j2kgYmEgbcOhIiwi8J+ksiIsIlZheSBuZ8OibiBow6BuZyBsw6NpIGNhbyBs4bqvbS4iLCJCb3Jyb3dpbmcgZnJv
bSB0aGUgYmFuayBoYXMgaGlnaCBpbnRlcmVzdC4iXSwKICBbInRy4bqjIGfDs3AiLCJjaGFoIOKktSBnb3Ag4oaXIiwidG8gcGF5IGluIGluc3RhbGxtZW50
cyIsIk11YSB0cuG6oyBnw7NwID0gYnV5IG9uIGluc3RhbGxtZW50cyDigJQgdmVyeSBjb21tb24gZm9yIHBob25lcyBhbmQgYmlrZXMiLCLwn5OGIiwiWGUg
bsOgeSBtdWEgdHLhuqMgZ8OzcC4iLCJUaGlzIGJpa2Ugd2FzIGJvdWdodCBvbiBpbnN0YWxsbWVudHMuIl0sCiAgWyJ0aHXDqiBuaMOgIiwidHdlaCDihpIg
bnlhaCDihpgiLCJ0byByZW50IGEgaG91c2UiLCJUaHXDqiBuaMOgIOG7nyBTw6BpIEfDsm4gbeG6r2MgbOG6r20gPSByZW50aW5nIGluIFPDoGkgR8OybiBp
cyBleHBlbnNpdmUiLCLwn4+gIiwiVnkgdGh1w6ogbmjDoCDhu58gUXXhuq1uIDcuIiwiVnkgcmVudHMgaW4gRGlzdHJpY3QgNy4iXSwKICBbInRp4buBbiBu
aMOgIiwidHllbiDihpggbnlhaCDihpgiLCJyZW50IChtb25leSkiLCJUaeG7gW4gbmjDoCB0aMOhbmcgbsOgeSA9IHRoaXMgbW9udGgncyByZW50Iiwi8J+S
sCIsIlRp4buBbiBuaMOgIGJhbyBuaGnDqnUgbeG7mXQgdGjDoW5nPyIsIkhvdyBtdWNoIGlzIHJlbnQgcGVyIG1vbnRoPyJdLAogIFsidGnhu4FuIMSRaeG7
h24iLCJ0eWVuIOKGmCBkeWVuIOKGkyIsImVsZWN0cmljaXR5IGJpbGwiLCJUaeG7gW4gxJFp4buHbiwgdGnhu4FuIG7GsOG7m2MsIHRp4buBbiB3aWZpIOKA
lCB0aGUgbW9udGhseSB0cmlvIiwi8J+SoSIsIlRp4buBbiDEkWnhu4duIG3DuWEgbsOzbmcgY2FvIGzhuq9tLiIsIlRoZSBlbGVjdHJpY2l0eSBiaWxsIGlz
IGhpZ2ggaW4gdGhlIGhvdCBzZWFzb24uIl0sCiAgWyJow7NhIMSRxqFuIiwiaHdhaCDihpcgZHVobiDihpIiLCJiaWxsIC8gaW52b2ljZSIsIlhpbiBow7Nh
IMSRxqFuID0gYXNrIGZvciBhIHJlY2VpcHQiLCLwn6e+IiwiQ2hvIGNvbiB4aW4gaMOzYSDEkcahbi4iLCJNYXkgSSBoYXZlIHRoZSByZWNlaXB0PyJdLAog
IFsixJHhuq90IMSR4buPIiwiZGF0IOKGlyBkYXcg4qS1IiwiZXhwZW5zaXZlIChjb3N0IG9mIGxpdmluZykiLCJTw6BpIEfDsm4gxJHhuq90IMSR4buPID0g
U8OgaSBHw7JuIGlzIHByaWNleSDigJQgc2FpZCB3aXRoIHByaWRlIiwi8J+SuCIsIlPDoGkgR8OybiBnaeG7nSDEkeG6r3QgxJHhu48gbOG6r20uIiwiU8Og
aSBHw7JuIGlzIGV4cGVuc2l2ZSB0aGVzZSBkYXlzLiJdLAogIFsiZ2nDoSBj4bqjIiwiemFoIOKGlyBrYWgg4qS1IiwicHJpY2VzIChpbiBnZW5lcmFsKSIs
Ikdpw6EgY+G6oyB0xINuZyA9IHByaWNlcyBhcmUgcmlzaW5nIOKAlCBzbWFsbCB0YWxrIGdvbGQiLCLwn5OIIiwiR2nDoSBj4bqjIG7Eg20gbmF5IHTEg25n
IGThu68uIiwiUHJpY2VzIHdlbnQgdXAgYSBsb3QgdGhpcyB5ZWFyLiJdLAogIFsixJHhuqd1IHTGsCIsImRvaCDihpggdG9vIOKGkiIsInRvIGludmVzdCIs
IsSQ4bqndSB0xrAgdsO0IMSR4bqldCA9IGludmVzdCBpbiBsYW5kIOKAlCBldmVyeSBTw6BpIEfDsm4gZGlubmVyIGNvbnZlcnNhdGlvbiIsIvCfj5fvuI8i
LCJD4bqtdSBtdeG7kW4gxJHhuqd1IHTGsCBt4bufIHRp4buHbS4iLCJVbmNsZSB3YW50cyB0byBpbnZlc3QgaW4gb3BlbmluZyBhIHNob3AuIl1dLAogZ3Jh
bW1hcjpbCiAgWyJtdeG7kW4gKyBn4butaS9yw7p0L8SR4buVaSArIHRp4buBbiIsIkkgd2FudCB0byBzZW5kIC8gd2l0aGRyYXcgLyBleGNoYW5nZSBtb25l
eSIsIkFueSBiYW5rIG9yIGdvbGQtc2hvcCBjb3VudGVyIiwibXXhu5FuICsgbW9uZXkgdmVyYiArIHRp4buBbi4gQWRkIHPhu5EgbMaw4bujbmc6IG3hu5l0
IHRyxINtIMSRw7QuIiwiQ29uIG114buRbiDEkeG7lWkgbeG7mXQgdHLEg20gxJHDtC4iLCJJIHdhbnQgdG8gZXhjaGFuZ2UgYSBodW5kcmVkIGRvbGxhcnMu
IiwiQ29uIG114buRbiBn4butaSB0aeG7gW4gduG7gSBWaeG7h3QgTmFtLiIsIkkgd2FudCB0byBzZW5kIG1vbmV5IHRvIFZpZXRuYW0uIl0sCiAgWyLigKYg
YmFvIG5oacOqdSBt4buZdCB0aMOhbmc/IiwiaG93IG11Y2ggcGVyIG1vbnRoPyIsIlJlbnQsIGJpbGxzLCBzYWxhcmllcyIsIm5vdW4gKyBiYW8gbmhpw6p1
IG3hu5l0IHRow6FuZz8gU291dGg6IG5oacOqdSBt4buZdCB0aMOhbmc/IiwiVGnhu4FuIG5ow6AgYmFvIG5oacOqdSBt4buZdCB0aMOhbmc/IiwiSG93IG11
Y2ggaXMgcmVudCBwZXIgbW9udGg/IiwiTMawxqFuZyBuaGnDqnUgbeG7mXQgdGjDoW5nIHbhuq15PyIsIkhvdyBtdWNoIGlzIHRoZSBzYWxhcnkgcGVyIG1v
bnRoPyJdLAogIFsiYuG6sW5nIMSRw7QgbGEgLyBi4bqxbmcgdGnhu4FuIFZp4buHdCIsImluIGRvbGxhcnMgLyBpbiBWaWV0bmFtZXNlIG1vbmV5IiwiQ2xh
cmlmeWluZyBjdXJyZW5jeSBiZWZvcmUgYW55b25lIGdldHMgY29uZnVzZWQiLCJi4bqxbmcgbWFya3MgdGhlIG1lYW5zOiB0cuG6oyBi4bqxbmcgdGjhurss
IHTDrW5oIGLhurFuZyDEkcO0LiIsIlRy4bqjIGLhurFuZyDEkcO0IGxhIMSRxrDhu6NjIGjDtG5nPyIsIkNhbiBJIHBheSBpbiBkb2xsYXJzPyIsIlTDrW5o
IGLhurFuZyB0aeG7gW4gVmnhu4d0IG5oYS4iLCJMZXQgdXMgY291bnQgaW4gVmlldG5hbWVzZSBtb25leS4iXV19LAoKe246MTgsIGtyOiJDw6J1IGjhu49p
IGPhu6dhIGPhuq11IiwgZW46IlRoZSBVbmNsZSdzIFF1ZXN0aW9ucyIsIHZpOiJEZWZsZWN0IHdpdGggYSBzbWlsZSDigJQgU291dGhlcm4gZWRpdGlvbiIs
IGVtb2ppOiLwn6eQIiwgYm9zczoi8J+miSIsIGJvc3NOYW1lOiJOb3N5IE93bCIsCiB3b3JkczpbCiAgWyJs4bqleSBjaOG7k25nIiwibGF5IOKGlyBjaG9o
bmcg4oaYIiwidG8gZ2V0IG1hcnJpZWQgKGEgd29tYW4pIiwiTOG6pXkgY2jhu5NuZyBjaMawYT8g4oCUIGFza2VkIG9mIGV2ZXJ5IHdvbWFuIG92ZXIgMjIs
IHdpdGggbG92ZSIsIvCfko0iLCJDb24gY2jGsGEgbOG6pXkgY2jhu5NuZyDhuqEuIiwiSSBhbSBub3QgbWFycmllZCB5ZXQuIl0sCiAgWyJs4bqleSB24buj
IiwibGF5IOKGlyB2dWgg4oaTIiwidG8gZ2V0IG1hcnJpZWQgKGEgbWFuKSIsIkzhuqV5IHbhu6MgY2jGsGE/IOKAlCBhc2tlZCBvZiBldmVyeSBtYW4gb3Zl
ciAyNSwgd2l0aCBjb25jZXJuIiwi8J+SjSIsIkPhuq11IGjhu49pIGNvbiBs4bqleSB24bujIGNoxrBhLiIsIlVuY2xlIGFza2VkIGlmIEkgYW0gbWFycmll
ZC4iXSwKICBbIm5nxrDhu51pIHnDqnUiLCJuZ29vLXVoLWVlIOKGmCB5ZXcg4oaSIiwiYm95ZnJpZW5kIC8gZ2lybGZyaWVuZCIsIkPDsyBuZ8aw4budaSB5
w6p1IGNoxrBhPyBmb2xsb3dzIGltbWVkaWF0ZWx5IGlmIHRoZSBhbnN3ZXIgYWJvdmUgd2FzIGNoxrBhIiwi8J+SkSIsIkNvbiBjw7MgbmfGsOG7nWkgecOq
dSBy4buTaS4iLCJJIGhhdmUgYSBwYXJ0bmVyLiJdLAogIFsibXVhIG5ow6AiLCJtb28tYWgg4oaSIG55YWgg4oaYIiwidG8gYnV5IGEgaG91c2UiLCJNdWEg
bmjDoCBjaMawYT8g4oCUIHRoZSB0aGlyZCBxdWVzdGlvbi4gUmVudGluZyBpcyBhIGZvcmVpZ24gY29uY2VwdCB0byB0aGVtIiwi8J+PoCIsIuG7niBDYW5h
ZGEgbXVhIG5ow6AgbeG6r2MgbOG6r20uIiwiSW4gQ2FuYWRhLCBidXlpbmcgYSBob3VzZSBpcyB2ZXJ5IGV4cGVuc2l2ZS4iXSwKICBbImNvbiBjw6FpIiwi
a29uIOKGkiBrYWkg4oaXIiwiY2hpbGRyZW4gKG9uZSdzIGtpZHMpIiwiQ8OzIGNvbiBjw6FpIGNoxrBhPyDigJQgcXVlc3Rpb24gZm91ciwgYXJyaXZpbmcg
d2l0aCB0ZWEiLCLwn5G2IiwiQ2jGsGEgY8OzIGNvbiBjw6FpIGfDrCBo4bq/dC4iLCJObyBraWRzIHlldCBhdCBhbGwuIl0sCiAgWyJzaW5oIGNvbiIsInNo
aW5nIOKGkiBrb24g4oaSIiwidG8gaGF2ZSBhIGJhYnkiLCJTaW5oIGNvbiBz4bubbSDEkWkgPSBoYXZlIGtpZHMgc29vbiDigJQgYWR2aWNlLCB1bnNvbGlj
aXRlZCwgZXRlcm5hbCIsIvCfjbwiLCJN4bujIG7Ds2kgY29uIG7Dqm4gc2luaCBjb24gc+G7m20uIiwiQXVudGllIHNheXMgSSBzaG91bGQgaGF2ZSBraWRz
IHNvb24uIl0sCiAgWyJjw7MgZ2lhIMSRw6xuaCIsImthdyDihpcgemFoIOKGkiBkaW5nIOKGmCIsInRvIGJlIG1hcnJpZWQgKGhhdmUgYSBmYW1pbHkpIiwi
Q29uIGPDsyBnaWEgxJHDrG5oIGNoxrBhPyA9IGFyZSB5b3UgbWFycmllZCB5ZXQ/Iiwi8J+RqOKAjfCfkanigI3wn5GnIiwiQ29uIGNoxrBhIGPDsyBnaWEg
xJHDrG5oLiIsIkkgYW0gbm90IG1hcnJpZWQgeWV0LiJdLAogIFsixJHhu5ljIHRow6JuIiwiZG9oayDihpMgdHVobiDihpIiLCJzaW5nbGUiLCJDw7JuIMSR
4buZYyB0aMOibiA9IHN0aWxsIHNpbmdsZSDigJQgc2F5IGl0IGNoZWVyZnVsbHkgYW5kIGNoYW5nZSB0aGUgc3ViamVjdCIsIvCfmYsiLCJDb24gY8OybiDE
keG7mWMgdGjDom4sIHZ1aSBs4bqvbSEiLCJJIGFtIHN0aWxsIHNpbmdsZSDigJQgaXQgaXMgZ3JlYXQhIl0sCiAgWyJ2dWkgduG6uyIsInZvby1lZSDihpIg
dmVoIOKktSIsImNoZWVyZnVsIC8gaGFwcHkiLCJT4buRbmcgdnVpIHbhursgbMOgIMSRxrDhu6NjID0gbGl2aW5nIGhhcHBpbHkgaXMgd2hhdCBtYXR0ZXJz
IOKAlCB5b3VyIGJlc3QgZGVmZW5zZSIsIvCfmIoiLCJNaeG7hW4gY29uIHZ1aSB24bq7IGzDoCDEkcaw4bujYy4iLCJBcyBsb25nIGFzIEkgYW0gaGFwcHks
IHRoYXQgaXMgZW5vdWdoLiJdLAogIFsibsOpIiwibmVoIOKGlyIsInRvIGRvZGdlIiwiTsOpIGPDonUgaOG7j2kgPSBkb2RnZSB0aGUgcXVlc3Rpb24uIE5v
dyB5b3UgaGF2ZSBhIHdvcmQgZm9yIHRoZSBza2lsbCIsIvCfpLgiLCJDb24gbsOpIGPDonUgaOG7j2kgbsOgeSBuaGEuIiwiSSB3aWxsIGRvZGdlIHRoaXMg
cXVlc3Rpb24uIl0sCiAgWyJuw7NpIHRoaeG7h3QiLCJub3kg4oaXIHR5ZXQg4oaTIiwidG8gYmUgaG9uZXN0IChTb3V0aCkiLCJOw7NpIHRoaeG7h3Qgbmhh
4oCmID0gdG8gYmUgaG9uZXN04oCmIE5vcnRoZXJuOiBuw7NpIHRo4bqtdCIsIvCfq7YiLCJOw7NpIHRoaeG7h3QsIGNvbiBjaMawYSBtdeG7kW4uIiwiSG9u
ZXN0bHksIEkgZG8gbm90IHdhbnQgdG8geWV0LiJdLAogIFsixJHDuWEiLCJkb28tYWgg4oaYIiwidG8gam9rZSIsIkPhuq11IMSRw7lhIHRow7RpID0gVW5j
bGUgaXMgb25seSBqb2tpbmcgKGhlIGlzIDQwJSBqb2tpbmcpIiwi8J+YnCIsIkPhuq11IMSRw7lhIHRow7RpIG3DoC4iLCJVbmNsZSBpcyBqdXN0IGpva2lu
Zy4iXSwKICBbImdp4buhbiIsInl1aG4gfuKGlyIsInRvIGtpZCBhcm91bmQgKFNvdXRoKSIsIlNvdXRoZXJuOiBnaeG7oW4gdGjDtGkhID0ganVzdCBraWRk
aW5nISBOb3J0aGVybjogxJHDuWEiLCLwn6SjIiwiR2nhu6FuIHRow7RpLCDEkeG7q25nIGxvLiIsIkp1c3Qga2lkZGluZywgZG8gbm90IHdvcnJ5LiJdLAog
IFsidMOyIG3DsiIsInRhdyDihpggbWF3IOKGmCIsImN1cmlvdXMgLyBub3N5IiwiQ+G6rXUgdMOyIG3DsiBxdcOhID0gVW5jbGUgaXMgc28gbm9zeSDigJQg
dGhpbmsgaXQsIGRvIG5vdCBzYXkgaXQiLCLwn6eQIiwiTmfGsOG7nWkgbOG7m24gdMOyIG3DsiBsw6AgYsOsbmggdGjGsOG7nW5nLiIsIkVsZGVycyBiZWlu
ZyBjdXJpb3VzIGlzIG5vcm1hbC4iXSwKICBbInF1YW4gdMOibSIsImt3YW4g4oaSIHR1aG0g4oaSIiwidG8gY2FyZSBhYm91dCIsIlRoZSB0cnV0aCBiZWhp
bmQgdGhlIHF1ZXN0aW9uczogdGhleSBxdWFuIHTDom0uIFNheSBpdCBiYWNrIHRvIHRoZW0iLCLwn5KbIiwiQ29uIGJp4bq/dCBj4bqtdSBxdWFuIHTDom0g
Y29uLiIsIkkga25vdyB5b3UgY2FyZSBhYm91dCBtZSwgVW5jbGUuIl0sCiAgWyJsbyBs4bqvbmciLCJsYXcg4oaSIGxhbmcg4oaXIiwidG8gd29ycnkgKGFi
b3V0KSIsIk3DoSBsbyBs4bqvbmcgY2hvIGNvbiA9IE1vbSB3b3JyaWVzIGFib3V0IG1lLiBJdCBpcyBsb3ZlIGluIGRpc2d1aXNlIiwi8J+YnyIsIsSQ4bur
bmcgbG8gbOG6r25nIGNobyBjb24uIiwiRG8gbm90IHdvcnJ5IGFib3V0IG1lLiJdLAogIFsiw6FwIGzhu7FjIiwiYWhwIOKGlyBsdWhrIOKGkyIsInByZXNz
dXJlIiwiw4FwIGzhu7FjIHThu6sgZ2lhIMSRw6xuaCA9IGZhbWlseSBwcmVzc3VyZSDigJQgdW5pdmVyc2FsLCBiaWxpbmd1YWwiLCLwn5iu4oCN8J+SqCIs
IkNvbiB0aOG6pXkgaMahaSDDoXAgbOG7sWMuIiwiSSBmZWVsIGEgYml0IG9mIHByZXNzdXJlLiJdLAogIFsidOG7sSBkbyIsInRvbyDihpMgemF3IOKGkiIs
ImZyZWVkb20gLyBmcmVlIiwiQ29uIHRow61jaCB04buxIGRvID0gSSBsaWtlIG15IGZyZWVkb20g4oCUIGEgbW9kZXJuIGFuc3dlciBlbGRlcnMgaGFsZi11
bmRlcnN0YW5kIiwi8J+Viu+4jyIsIkLDonkgZ2nhu50gY29uIHRow61jaCB04buxIGRvLiIsIlJpZ2h0IG5vdyBJIGxpa2UgbXkgZnJlZWRvbS4iXSwKICBb
InF1eeG6v3QgxJHhu4tuaCIsImt3ZXQg4oaXIGRpbmcg4oaTIiwidG8gZGVjaWRlIC8gZGVjaXNpb24iLCJDb24gdOG7sSBxdXnhur90IMSR4buLbmggPSBJ
IGRlY2lkZSBmb3IgbXlzZWxmIOKAlCBzYXkgaXQgZ2VudGx5Iiwi8J+nrSIsIkNodXnhu4duIG7DoHkgY29uIHThu7EgcXV54bq/dCDEkeG7i25oLiIsIlRo
aXMgSSBkZWNpZGUgbXlzZWxmLiJdLAogIFsidMawxqFuZyBsYWkiLCJ0b28tdWhuZyDihpIgbGFpIOKGkiIsInRoZSBmdXR1cmUiLCJUxrDGoW5nIGxhaSB0
w61uaCBzYXUgPSB0aGUgZnV0dXJlIGNhbiBiZSBmaWd1cmVkIG91dCBsYXRlciIsIvCflK4iLCJUxrDGoW5nIGxhaSB0w61uaCBzYXUgbmhhIGPhuq11LiIs
IldlIHdpbGwgc2VlIGFib3V0IHRoZSBmdXR1cmUsIFVuY2xlLiJdLAogIFsiY2jGsGEgduG7mWkiLCJjaG9vLWFoIOKGkiB2b3kg4oaTIiwibm8gcnVzaCB5
ZXQiLCJDb24gY2jGsGEgduG7mWkgPSBJIGFtIGluIG5vIHJ1c2gg4oCUIHRoZSBjbGVhbmVzdCBkZWZsZWN0aW9uIiwi8J+QoiIsIkNodXnhu4duIGzhuqV5
IGNo4buTbmcsIGNvbiBjaMawYSB24buZaS4iLCJNYXJyaWFnZSDigJQgSSBhbSBpbiBubyBydXNoLiJdLAogIFsiY8OybiB0cuG6uyIsImtvbiDihpggY2hl
aCDipLUiLCJzdGlsbCB5b3VuZyIsIkNvbiBjw7JuIHRy4bq7IG3DoCA9IEkgYW0gc3RpbGwgeW91bmcg4oCUIHdvcmtzIHVudGlsIGFib3V0IDM1Iiwi8J+M
sSIsIkNvbiBjw7JuIHRy4bq7IG3DoCBj4bqtdSEiLCJJIGFtIHN0aWxsIHlvdW5nLCBVbmNsZSEiXSwKICBbInNhdSBuw6B5Iiwic2hvdyDihpIgbmFpIOKG
mCIsImxhdGVyIG9uIiwiU2F1IG7DoHkgcuG7k2kgdMOtbmggPSBsYXRlciwgd2Ugd2lsbCBzZWUiLCLij7MiLCJTYXUgbsOgeSBjb24gc+G6vSBtdWEgbmjD
oC4iLCJMYXRlciBvbiBJIHdpbGwgYnV5IGEgaG91c2UuIl0sCiAgWyLEkeG7gyBjb2kiLCJkZWgg4qS1IGtveSDihpIiLCJ3ZSB3aWxsIHNlZSAoU291dGgp
IiwiVGhlIFNvdXRoZXJuIHNocnVnIG9mIGRlc3Rpbnk6IMSR4buDIGNvaSA9IGxldCB1cyBzZWUuIE5vcnRoZXJuOiDEkeG7gyB4ZW0iLCLwn6S3IiwixJDh
u4MgY29pIHNhbyDEkcOjLiIsIldlIHdpbGwgc2VlIGhvdyBpdCBnb2VzLiJdXSwKIGdyYW1tYXI6WwogIFsi4oCmIGNoxrBhPyDihpIgY2jGsGEsIGNvbiDi
gKYiLCJub3QgeWV0LCBJIOKApiIsIkFuc3dlcmluZyB0aGUgbWFycmlhZ2UvaG91c2Uva2lkcyBxdWVzdGlvbnMgd2l0aG91dCBseWluZyIsImNoxrBhICsg
dmVyYi4gQ2jGsGEgbOG6pXkgY2jhu5NuZywgY2jGsGEgbXVhIG5ow6AsIGNoxrBhIGPDsyBjb24g4oCUIGFsbCBwZXJmZWN0bHkgbm9ybWFsIGFuc3dlcnMu
IiwiQ29uIGNoxrBhIGzhuqV5IHbhu6MsIGPhuq11IMahaS4iLCJJIGFtIG5vdCBtYXJyaWVkIHlldCwgVW5jbGUuIiwiQ2jGsGEsIGNvbiBjaMawYSBuZ2jE
qSB04bubaS4iLCJOb3QgeWV0LCBJIGhhdmUgbm90IHRob3VnaHQgYWJvdXQgaXQuIl0sCiAgWyLEkeG7gyBjb2kgLyDEkeG7gyB04burIHThu6sgLyDEkeG7
gyBzYXUiLCJ3ZSB3aWxsIHNlZSAvIGxhdGVyIiwiRGVmbGVjdGluZyB3aXRoIGdyYWNlLCBTb3V0aGVybiBzdHlsZSIsIsSR4buDICsgdmVyYiA9ICdsZXQg
KGl0KeKApicuIEFsbCB0aHJlZSBtZWFuICdub3Qgbm93LCBhbmQgdGhhdCBpcyBmaW5lLiciLCLEkOG7gyBjb2kgxJHDoywgY+G6rXUuIiwiTGV0IHVzIHNl
ZSwgVW5jbGUuIiwixJDhu4MgdOG7qyB04burIHLhu5NpIHTDrW5oLiIsIlNsb3dseSwgdGhlbiB3ZSB3aWxsIGZpZ3VyZSBpdCBvdXQuIl0sCiAgWyJjw7Ju
IOKApiAobcOgKSIsInN0aWxsIOKApiAoYWZ0ZXIgYWxsKSIsIkV4cGxhaW5pbmcgd2h5IG5vdCB5ZXQiLCJjw7JuICsgYWRqZWN0aXZlICsgbcOgID0gSSBh
bSBzdGlsbOKApiwgeW91IGtub3cuIGPDsm4gdHLhursgbcOgLCBjw7JuIMSRaSBo4buNYyBtw6AuIiwiQ29uIGPDsm4gdHLhursgbcOgISIsIkkgYW0gc3Rp
bGwgeW91bmchIiwiQ29uIGPDsm4gxJFhbmcgaOG7jWMgbcOgIGPhuq11LiIsIkkgYW0gc3RpbGwgc3R1ZHlpbmcsIFVuY2xlLiJdXX0sCntuOjE5LCBrcjoi
xJDGsGEgbeG6uSDEkWkga2jDoW0iLCBlbjoiVGFraW5nIE1vbSB0byB0aGUgRG9jdG9yIiwgdmk6IkJlIHRoZSBvbmUgd2hvIHVuZGVyc3RhbmRzIiwgZW1v
amk6IvCfj6UiLCBib3NzOiLwn6afIiwgYm9zc05hbWU6IldhaXRpbmctUm9vbSBNb3NxdWl0byIsCiB3b3JkczpbCiAgWyJwaMOybmcga2jDoW0iLCJmb25n
IOKGmCBraGFobSDihpciLCJjbGluaWMiLCJQcml2YXRlIGNsaW5pY3MgYXJlIGZhc3QgYW5kIGNoZWFwOyBob3NwaXRhbHMgYXJlIGZvciB0aGUgc2VyaW91
cy4gQXNrIHlvdXIgZmFtaWx5IHdoaWNoIiwi8J+PpSIsIlBow7JuZyBraMOhbSBt4bufIGPhu61hIGzDumMgYuG6o3kgZ2nhu50uIiwiVGhlIGNsaW5pYyBv
cGVucyBhdCBzZXZlbi4iXSwKICBbImtow6FtIGLhu4duaCIsImtoYWhtIOKGlyBiZW5nIOKGkyIsInRvIHNlZSBhIGRvY3RvciIsIsSQaSBraMOhbSBi4buH
bmggPSBnbyBnZXQgY2hlY2tlZC4gVGhlIFNvdXRoZXJuIHdvcmQgZm9yIHNpY2sgaXMgYuG7h25oIChOb3J0aGVybiDhu5FtKSIsIvCfqboiLCJTw6FuZyBt
YWkgxJHGsGEgbcOhIMSRaSBraMOhbSBi4buHbmguIiwiVG9tb3Jyb3cgbW9ybmluZyBJIHRha2UgTW9tIHRvIHRoZSBkb2N0b3IuIl0sCiAgWyJraG9hIiwi
a2h3YWgg4oaSIiwiZGVwYXJ0bWVudCAoaG9zcGl0YWwpIiwiS2hvYSB0aW0gPSBjYXJkaW9sb2d5LCBraG9hIG3huq90ID0gZXllIGRlcGFydG1lbnQuIFJl
YWQgdGhlIHNpZ25zIOKAlCB0aGV5IGFyZSBiaWxpbmd1YWwiLCLwn4+377iPIiwiS2hvYSB0aW0g4bufIGzhuqd1IGhhaS4iLCJDYXJkaW9sb2d5IGlzIG9u
IHRoZSBzZWNvbmQgZmxvb3IuIl0sCiAgWyJ5IHTDoSIsImVlIOKGkiB0YWgg4oaXIiwibnVyc2UiLCJZIHTDoSBjYWxscyBuYW1lcyBhbmQgbnVtYmVycyDi
gJQgbGlzdGVuIGZvciB5b3VyIG1vdGhlcidzIiwi8J+RqeKAjeKale+4jyIsIlkgdMOhIGvDqnUgdMOqbiBtw6EgcuG7k2kuIiwiVGhlIG51cnNlIGNhbGxl
ZCBNb20ncyBuYW1lLiJdLAogIFsiaHV54bq/dCDDoXAiLCJod2V0IOKGlyBhaHAg4oaXIiwiYmxvb2QgcHJlc3N1cmUiLCJIdXnhur90IMOhcCBjYW8gPSBo
aWdoIGJsb29kIHByZXNzdXJlIOKAlCBoYWxmIG9mIGV2ZXJ5IFZpZXRuYW1lc2UgZmFtaWx5IGNvbnZlcnNhdGlvbiBhYm91dCBoZWFsdGgiLCLwn6m4Iiwi
SHV54bq/dCDDoXAgY+G7p2EgbcOhIGjGoWkgY2FvLiIsIk1vbSdzIGJsb29kIHByZXNzdXJlIGlzIGEgYml0IGhpZ2guIl0sCiAgWyJ0aW0iLCJ0aW0g4oaS
IiwiaGVhcnQiLCJC4buHbmggdGltID0gaGVhcnQgZGlzZWFzZTsgdGltIMSR4bqtcCBuaGFuaCA9IHJhY2luZyBoZWFydCIsIuKdpO+4jyIsIkLDoWMgc8Sp
IGtow6FtIHRpbSBjaG8gbcOhLiIsIlRoZSBkb2N0b3IgY2hlY2tlZCBNb20ncyBoZWFydC4iXSwKICBbIsSRxrDhu51uZyBodXnhur90IiwiZG9vLXVobmcg
4oaYIGh3ZXQg4oaXIiwiYmxvb2Qgc3VnYXIiLCJUaeG7g3UgxJHGsOG7nW5nID0gZGlhYmV0ZXMg4oCUIGFzayBhYm91dCDEkcaw4budbmcgaHV54bq/dCBi
ZWZvcmUgdGhlIHN3ZWV0cyBjb21lIG91dCIsIvCfjawiLCLEkMaw4budbmcgaHV54bq/dCBj4bunYSBiw6AgaMahaSBjYW8uIiwiR3JhbmRtYSdzIGJsb29k
IHN1Z2FyIGlzIGEgYml0IGhpZ2guIl0sCiAgWyJ4w6l0IG5naGnhu4dtIiwic2V0IOKGlyBuZ3llbSDihpMiLCJsYWIgdGVzdCIsIljDqXQgbmdoaeG7h20g
bcOhdSA9IGJsb29kIHRlc3QuIFJlc3VsdHMgdXN1YWxseSB0aGUgc2FtZSBkYXkiLCLwn6eqIiwiUGjhuqNpIHjDqXQgbmdoaeG7h20gbcOhdSB0csaw4bub
Yy4iLCJBIGJsb29kIHRlc3QgaXMgbmVlZGVkIGZpcnN0LiJdLAogIFsiY2jhu6VwIFgtcXVhbmciLCJjaG9vcCDihpMgaWsta3dhaG5nIiwidG8gdGFrZSBh
biBYLXJheSIsIkNo4bulcCA9IHRvIHNob290IChwaG90b3MsIFgtcmF5cywgYWxsIG9mIGl0KSIsIvCfqbsiLCJCw6FjIHPEqSBjaG8gY2jhu6VwIFgtcXVh
bmcuIiwiVGhlIGRvY3RvciBvcmRlcmVkIGFuIFgtcmF5LiJdLAogIFsidG9hIHRodeG7kWMiLCJ0d2FoIOKGkiB0b28tdWhrIOKGlyIsInByZXNjcmlwdGlv
biAoU291dGgpIiwiTm9ydGhlcm46IMSRxqFuIHRodeG7kWMuIFRha2UgdGhlIHRvYSB0byBhbnkgbmjDoCB0aHXhu5FjIiwi8J+TnSIsIsSQw6J5IGzDoCB0
b2EgdGh14buRYyBj4bunYSBtw6EuIiwiVGhpcyBpcyBNb20ncyBwcmVzY3JpcHRpb24uIl0sCiAgWyJi4bqjbyBoaeG7g20iLCJib3cg4qS1IGh5ZW0g4qS1
IiwiaW5zdXJhbmNlIiwiQuG6o28gaGnhu4NtIHkgdOG6vyA9IGhlYWx0aCBpbnN1cmFuY2UuIFZpc2l0b3JzIHBheSBjYXNoIOKAlCBicmluZyBtb3JlIHRo
YW4geW91IHRoaW5rIiwi8J+boe+4jyIsIk3DoSBow7RuZyBjw7MgYuG6o28gaGnhu4NtIOG7nyDEkcOieS4iLCJNb20gaGFzIG5vIGluc3VyYW5jZSBoZXJl
LiJdLAogIFsic+G7lSBraMOhbSIsInNob2gg4qS1IGtoYWhtIOKGlyIsIm1lZGljYWwgYm9va2xldCIsIlRoZSBsaXR0bGUgYm9vayB3aGVyZSBldmVyeSB2
aXNpdCBpcyB3cml0dGVuIOKAlCBrZWVwIGl0IHdpdGggdGhlIHBhc3Nwb3J0Iiwi8J+TkiIsIk1hbmcgdGhlbyBz4buVIGtow6FtIGPhu6dhIGLDoC4iLCJC
cmluZyBHcmFuZG1hJ3MgbWVkaWNhbCBib29rbGV0LiJdLAogIFsibOG7i2NoIGjhurluIiwibGljayDihpMgaGVuIOKGkyIsImFwcG9pbnRtZW50IiwiQ8Oz
IGzhu4tjaCBo4bq5biBjaMawYT8gPSBkbyB5b3UgaGF2ZSBhbiBhcHBvaW50bWVudD8gT2Z0ZW46IG5vLCBqdXN0IHNob3cgdXAgZWFybHkiLCLwn5OFIiwi
TOG7i2NoIGjhurluIGzDumMgdMOhbSBnaeG7nSBzw6FuZy4iLCJUaGUgYXBwb2ludG1lbnQgaXMgYXQgOCBhbS4iXSwKICBbImNo4budIiwiY2h1aCDihpgi
LCJ0byB3YWl0IChTb3V0aCkiLCJOb3J0aGVybjogxJHhu6NpLiBDaOG7nSBsw6J1IGjDtG5nPyA9IGxvbmcgd2FpdD8iLCLij7MiLCJDaOG7nSBraG/huqNu
ZyBt4buZdCB0aeG6v25nLiIsIldhaXQgYWJvdXQgYW4gaG91ci4iXSwKICBbInPhu5EgdGjhu6kgdOG7sSIsInNob2gg4oaXIHRvbyDihpcgdG9vIOKGkyIs
InF1ZXVlIG51bWJlciIsIkzhuqV5IHPhu5EgPSB0YWtlIGEgbnVtYmVyLiBUaGVuIGNo4budLiBUaGVuIGNo4budIHNvbWUgbW9yZSIsIvCflKIiLCJM4bql
eSBz4buRIHRo4bupIHThu7Eg4bufIHF14bqneS4iLCJUYWtlIGEgcXVldWUgbnVtYmVyIGF0IHRoZSBjb3VudGVyLiJdLAogIFsidHJp4buHdSBjaOG7qW5n
IiwiY2h5ZXcg4oaTIGNodWhuZyDihpciLCJzeW1wdG9tIiwiVGhlIGRvY3RvciB3aWxsIGFzazogdHJp4buHdSBjaOG7qW5nIGfDrD8gSGF2ZSB0aGUgbGlz
dCByZWFkeSBpbiBWaWV0bmFtZXNlIiwi8J+TiyIsIlRyaeG7h3UgY2jhu6luZyBsw6AgY2jDs25nIG3hurd0IHbDoCBt4buHdC4iLCJUaGUgc3ltcHRvbXMg
YXJlIGRpenppbmVzcyBhbmQgdGlyZWRuZXNzLiJdLAogIFsiY2jDs25nIG3hurd0IiwiY2hvbmcg4oaXIG1hdCDihpMiLCJkaXp6eSIsIkLhu4sgY2jDs25n
IG3hurd0ID0gZmVlbCBkaXp6eSDigJQgY29tbW9uIHdpdGggYmxvb2QtcHJlc3N1cmUgaXNzdWVzIiwi8J+SqyIsIk3DoSBoYXkgYuG7iyBjaMOzbmcgbeG6
t3QuIiwiTW9tIG9mdGVuIGdldHMgZGl6enkuIl0sCiAgWyJraMOzIHRo4bufIiwia2hhdyDihpcgdHVoIOKktSIsInNob3J0IG9mIGJyZWF0aCIsIktow7Mg
dGjhu58gPSBoYXJkIHRvIGJyZWF0aGUg4oCUIHNheSBpdCB0byBhIGRvY3RvciBpbW1lZGlhdGVseSIsIvCfmK7igI3wn5KoIiwiQsOgIHRo4bqleSBraMOz
IHRo4bufIGtoaSDEkWkgY+G6p3UgdGhhbmcuIiwiR3JhbmRtYSBpcyBzaG9ydCBvZiBicmVhdGggb24gc3RhaXJzLiJdLAogIFsibeG7h3QgbeG7j2kiLCJt
ZXQg4oaTIG1veSDipLUiLCJmYXRpZ3VlIC8gd29ybiBvdXQiLCJEZWVwZXIgdGhhbiBt4buHdCDigJQgY2hyb25pYyB0aXJlZG5lc3MiLCLwn5i0IiwiROG6
oW8gbsOgeSBtw6EgbeG7h3QgbeG7j2kgbOG6r20uIiwiTW9tIGhhcyBiZWVuIHZlcnkgZmF0aWd1ZWQgbGF0ZWx5LiJdLAogIFsiecOqbiB0w6JtIiwieWVu
IOKGkiB0dWhtIOKGkiIsInJlc3QgYXNzdXJlZCIsIkLDoWMgc8SpIG7Ds2kgecOqbiB0w6JtID0gdGhlIGRvY3RvciBzYXlzIGRvIG5vdCB3b3JyeS4gVHJh
bnNsYXRlIHRoaXMgb25lIGNhcmVmdWxseSDigJQgaXQgbWF0dGVycyIsIvCfmYIiLCJCw6FjIHPEqSBuw7NpIHnDqm4gdMOibSwgaMO0bmcgc2FvLiIsIlRo
ZSBkb2N0b3Igc2F5cyByZXN0IGFzc3VyZWQsIGl0IGlzIGZpbmUuIl0sCiAgWyJr4bq/dCBxdeG6oyIsImtldCDihpcga3dhaCDipLUiLCJyZXN1bHQocyki
LCJL4bq/dCBxdeG6oyB4w6l0IG5naGnhu4dtID0gdGVzdCByZXN1bHRzIOKAlCBwaWNrIHVwIGF0IHRoZSBjb3VudGVyIiwi8J+ThCIsIkNoaeG7gXUgbOG6
pXkga+G6v3QgcXXhuqMuIiwiUGljayB1cCB0aGUgcmVzdWx0cyBpbiB0aGUgYWZ0ZXJub29uLiJdLAogIFsidMOhaSBraMOhbSIsInRhaSDihpcga2hhaG0g
4oaXIiwiZm9sbG93LXVwIHZpc2l0IiwiVMOhaSBraMOhbSBzYXUgaGFpIHR14bqnbiA9IGNvbWUgYmFjayBpbiB0d28gd2Vla3Mg4oCUIHdyaXRlIGl0IGlu
IHRoZSBz4buVIGtow6FtIiwi8J+UgSIsIkLDoWMgc8SpIGjhurluIHTDoWkga2jDoW0gdGjDoW5nIHNhdS4iLCJUaGUgZG9jdG9yIHNjaGVkdWxlZCBhIGZv
bGxvdy11cCBuZXh0IG1vbnRoLiJdLAogIFsiZOG7i2NoIGdpw7ltIiwiemljayDihpMgeW9vbSDihpgiLCJ0byB0cmFuc2xhdGUgZm9yIChTb3V0aCkiLCJH
acO5bSA9IGZvciAoc29tZW9uZSksIFNvdXRoZXJuOyBOb3J0aGVybiBnacO6cC4gQ29uIGThu4tjaCBnacO5bSBtw6EgPSBJIHRyYW5zbGF0ZSBmb3IgTW9t
IOKAlCB5b3VyIHdob2xlIHJvbGUgdG9kYXkiLCLwn5ej77iPIiwiQ29uIGThu4tjaCBnacO5bSBtw6EgbmhhLiIsIkkgd2lsbCB0cmFuc2xhdGUgZm9yIHlv
dSwgTW9tLiJdLAogIFsibmfGsOG7nWkgbmjDoCIsIm5nb28tdWgtZWUg4oaYIG55YWgg4oaYIiwiZmFtaWx5IG1lbWJlciAoYWNjb21wYW55aW5nKSIsIk5n
xrDhu51pIG5ow6AgxJFpIHRoZW8gPSBhIHJlbGF0aXZlIGFjY29tcGFuaWVzIHRoZSBwYXRpZW50LiBJbiBWaWV0bmFtLCBhbHdheXMiLCLwn5Go4oCN8J+R
qeKAjfCfkaciLCJOZ8aw4budaSBuaMOgIG5n4buTaSBjaOG7nSDhu58gbmdvw6BpLiIsIkZhbWlseSBtZW1iZXJzIHdhaXQgb3V0c2lkZS4iXV0sCiBncmFt
bWFyOlsKICBbImPhuqNtIHRo4bqleSArIGZlZWxpbmciLCJ0byBmZWVsIOKApiIsIkRlc2NyaWJpbmcgc3ltcHRvbXMgdG8gYSBkb2N0b3IiLCJj4bqjbSB0
aOG6pXkgKyBjaMOzbmcgbeG6t3QgLyBt4buHdCAvIGtow7MgdGjhu58uIEFkZCB04burIGtoaSBuw6BvIChzaW5jZSB3aGVuKS4iLCJNw6EgY+G6o20gdGjh
uqV5IGNow7NuZyBt4bq3dCB04burIGjDtG0gcXVhLiIsIk1vbSBoYXMgZmVsdCBkaXp6eSBzaW5jZSB5ZXN0ZXJkYXkuIiwiQsOgIGPhuqNtIHRo4bqleSBr
aMOzIHRo4bufIGtoaSBu4bqxbS4iLCJHcmFuZG1hIGZlZWxzIHNob3J0IG9mIGJyZWF0aCBseWluZyBkb3duLiJdLAogIFsiY2jhu50gKyBkdXJhdGlvbiAv
IGzhuqV5IHPhu5EgdGjhu6kgdOG7sSIsIndhaXRpbmcsIHRoZSBob3NwaXRhbCB3YXkiLCJVbmRlcnN0YW5kaW5nIHRoZSBxdWV1ZSIsImNo4budICsgYmFv
IGzDonU/IEFuc3dlcnM6IG3GsOG7nWkgcGjDunQsIG3hu5l0IHRp4bq/bmcgKFNvdXRoOiB0aeG6v25nID0gaG91cikuIiwiQ2jhu50gYmFvIGzDonUgbuG7
r2EgduG6rXkgY8O0PyIsIkhvdyBtdWNoIGxvbmdlciBpcyB0aGUgd2FpdD8iLCJM4bqleSBz4buRIHLhu5NpIGNo4budIGvDqnUgdMOqbi4iLCJUYWtlIGEg
bnVtYmVyLCB0aGVuIHdhaXQgdG8gYmUgY2FsbGVkLiJdLAogIFsidGhlbyB0b2EgLyB0aGVvIGzhu51pIGLDoWMgc8SpIiwiYWNjb3JkaW5nIHRvIHRoZSBw
cmVzY3JpcHRpb24gLyB0aGUgZG9jdG9yIiwiRm9sbG93aW5nIGluc3RydWN0aW9ucyDigJQgYW5kIHJlcGVhdGluZyB0aGVtIHRvIE1vbSIsInRoZW8gPSBh
Y2NvcmRpbmcgdG8uIFXhu5FuZyB0aGVvIHRvYSA9IHRha2UgYXMgcHJlc2NyaWJlZC4iLCJV4buRbmcgdGh14buRYyB0aGVvIHRvYSBuaGEgbcOhLiIsIlRh
a2UgdGhlIG1lZGljaW5lIGFzIHByZXNjcmliZWQsIE1vbS4iLCJMw6BtIHRoZW8gbOG7nWkgYsOhYyBzxKkuIiwiRG8gYXMgdGhlIGRvY3RvciBzYXlzLiJd
XX0sCgp7bjoyMCwga3I6Ik5ow6AgdGh14buRYyIsIGVuOiJUaGUgUGhhcm1hY3kiLCB2aToiROG6p3UgZ2nDsywgY+G6oW8gZ2nDsyBhbmQgdGhlIHJlYWwg
bWVkaWNpbmUiLCBlbW9qaToi8J+SiiIsIGJvc3M6IvCfpqAiLCBib3NzTmFtZToiQW50aWJpb3RpYyBBbW9lYmEiLAogd29yZHM6WwogIFsibmjDoCB0aHXh
u5FjIiwibnlhaCDihpggdG9vLXVoayDihpciLCJwaGFybWFjeSAoU291dGgpIiwiTm9ydGhlcm46IGhp4buHdSB0aHXhu5FjLiBHcmVlbiBjcm9zcyBzaWdu
LCBvbiBldmVyeSBjb3JuZXIsIG9wZW4gbGF0ZSIsIvCfj6oiLCJOaMOgIHRodeG7kWMg4bufIMSR4bqndSBo4bq7bS4iLCJUaGUgcGhhcm1hY3kgaXMgYXQg
dGhlIGFsbGV5IGVudHJhbmNlLiJdLAogIFsiZMaw4bujYyBzxKkiLCJ6b28tdWhrIOKGkyBzaGVlIH7ihpciLCJwaGFybWFjaXN0IiwiVmlldG5hbWVzZSBw
aGFybWFjaXN0cyBkaWFnbm9zZSwgYWR2aXNlIGFuZCBzZWxsIOKAlCB0aGUgZmlyc3QgZG9jdG9yIG1vc3QgcGVvcGxlIHNlZSIsIvCfkanigI3impXvuI8i
LCJExrDhu6NjIHPEqSBuw7NpIHXhu5FuZyBzYXUga2hpIMSDbi4iLCJUaGUgcGhhcm1hY2lzdCBzYXlzIHRha2UgaXQgYWZ0ZXIgZWF0aW5nLiJdLAogIFsi
dGh14buRYyBi4buVIiwidG9vLXVoayDihpcgYm9oIOKktSIsInN1cHBsZW1lbnRzIC8gdG9uaWNzIiwiVml0YW1pbnMsIGdpbnNlbmcsIGZpc2ggb2lsIOKA
lCB5b3VyIGZhbWlseSdzIGxvdmUgbGFuZ3VhZ2UuIEV4cGVjdCBhIGJhZyBvZiBpdCB0byB0YWtlIGhvbWUiLCLwn5KaIiwiQsOgIG11YSB0aHXhu5FjIGLh
u5UgY2hvIG3DoS4iLCJHcmFuZG1hIGJvdWdodCBzdXBwbGVtZW50cyBmb3IgTW9tLiJdLAogIFsibGnhu4F1IiwibHlldyDihpgiLCJkb3NlIiwiTGnhu4F1
IGzGsOG7o25nID0gZG9zYWdlOyDEkcO6bmcgbGnhu4F1ID0gdGhlIHJpZ2h0IGRvc2UiLCLimpbvuI8iLCJV4buRbmcgxJHDum5nIGxp4buBdSBuaGEuIiwi
VGFrZSB0aGUgcmlnaHQgZG9zZS4iXSwKICBbInZpw6puIiwidnllbiDihpIiLCJwaWxsIC8gdGFibGV0IiwiTeG7mXQgdmnDqm4gPSBvbmUgcGlsbC4gSGFp
IHZpw6puIG3hu5l0IGzhuqduIiwi8J+SiiIsIlXhu5FuZyBoYWkgdmnDqm4gbeG7mXQgbOG6p24uIiwiVGFrZSB0d28gcGlsbHMgYXQgYSB0aW1lLiJdLAog
IFsibmfDoHkgbeG6pXkgbOG6p24iLCJuZ2FpIOKGmCBtYXkg4oaXIGx1aG4g4oaYIiwiaG93IG1hbnkgdGltZXMgYSBkYXkiLCJUSEUgcGhhcm1hY3kgcXVl
c3Rpb24uIEFuc3dlcjogbmfDoHkgYmEgbOG6p24iLCLwn5WSIiwiVGh14buRYyBuw6B5IG5nw6B5IG3huqV5IGzhuqduPyIsIkhvdyBtYW55IHRpbWVzIGEg
ZGF5IGZvciB0aGlzIG1lZGljaW5lPyJdLAogIFsidHLGsOG7m2Mga2hpIMSDbiIsImNob28tdWhrIOKGlyBraGVlIOKGkiBhbiDihpIiLCJiZWZvcmUgZWF0
aW5nIiwiU29tZSBwaWxscyBiZWZvcmUgbWVhbHMsIG1vc3QgYWZ0ZXIg4oCUIHdyaXRlIGl0IG9uIHRoZSBib3giLCLwn42977iPIiwiVeG7kW5nIHRyxrDh
u5tjIGtoaSDEg24gYmEgbcawxqFpIHBow7p0LiIsIlRha2UgdGhpcnR5IG1pbnV0ZXMgYmVmb3JlIGVhdGluZy4iXSwKICBbInNhdSBraGkgxINuIiwic2hv
dyDihpIga2hlZSDihpIgYW4g4oaSIiwiYWZ0ZXIgZWF0aW5nIiwiU2F1IGtoaSDEg24gbm8gPSBhZnRlciBhIGZ1bGwgbWVhbCIsIvCfjZoiLCJUaHXhu5Fj
IG7DoHkgdeG7kW5nIHNhdSBraGkgxINuLiIsIlRha2UgdGhpcyBhZnRlciBlYXRpbmcuIl0sCiAgWyJk4buLIOG7qW5nIiwiemVlIOKGkyB1aG5nIOKGlyIs
ImFsbGVyZ3kgLyBhbGxlcmdpYyIsIkLhu4sgZOG7iyDhu6luZyB24bubaeKApiA9IGFsbGVyZ2ljIHRv4oCmIFRlbGwgdGhlIGTGsOG7o2Mgc8SpIEZJUlNU
Iiwi8J+kpyIsIk3DoSBi4buLIGThu4sg4bupbmcgduG7m2kgcGVuaWNpbGxpbi4iLCJNb20gaXMgYWxsZXJnaWMgdG8gcGVuaWNpbGxpbi4iXSwKICBbInTD
oWMgZOG7pW5nIHBo4bulIiwidGFrIOKGlyB6b29uZyDihpMgZm9vIOKGkyIsInNpZGUgZWZmZWN0IiwiQ8OzIHTDoWMgZOG7pW5nIHBo4bulIGfDrCBraMO0
bmc/ID0gYW55IHNpZGUgZWZmZWN0cz8iLCLimqDvuI8iLCJUaHXhu5FjIG7DoHkgY8OzIHTDoWMgZOG7pW5nIHBo4bulIGfDrD8iLCJXaGF0IHNpZGUgZWZm
ZWN0cyBkb2VzIHRoaXMgaGF2ZT8iXSwKICBbInRodeG7kWMgaG8iLCJ0b28tdWhrIOKGlyBoYXcg4oaSIiwiY291Z2ggbWVkaWNpbmUiLCJTeXJ1cCwgdXN1
YWxseS4gU3dlZXQgZW5vdWdoIHRoYXQga2lkcyBhc2sgZm9yIG1vcmUiLCLwn42vIiwiQ2hvIGNvbiB4aW4gdGh14buRYyBoby4iLCJDb3VnaCBtZWRpY2lu
ZSwgcGxlYXNlLiJdLAogIFsidGh14buRYyBj4bqjbSIsInRvby11aGsg4oaXIGthaG0g4qS1IiwiY29sZCBtZWRpY2luZSIsIkLhu4sgY+G6o20gPSBoYXZl
IGEgY29sZC4gVGhlIHBoYXJtYWNpc3QncyBicmVhZCBhbmQgYnV0dGVyIiwi8J+kkiIsIlRodeG7kWMgY+G6o20gbG/huqFpIG7DoG8gdOG7kXQ/IiwiV2hp
Y2ggY29sZCBtZWRpY2luZSBpcyBnb29kPyJdLAogIFsiaOG6oSBz4buRdCIsImhhaCDihpMgc2hvaHQg4oaXIiwidG8gYnJpbmcgZG93biBhIGZldmVyIiwi
VGh14buRYyBo4bqhIHPhu5F0ID0gZmV2ZXIgcmVkdWNlciAocGFyYWNldGFtb2wpIiwi8J+Moe+4jyIsIlXhu5FuZyB0aHXhu5FjIGjhuqEgc+G7kXQgcuG7
k2kgbmdo4buJLiIsIlRha2UgYSBmZXZlciByZWR1Y2VyIGFuZCByZXN0LiJdLAogIFsia2jDoW5nIHNpbmgiLCJraGFobmcg4oaXIHNoaW5nIOKGkiIsImFu
dGliaW90aWMiLCJTb2xkIG92ZXIgdGhlIGNvdW50ZXIgaGVyZSDigJQgYmUgY2FyZWZ1bDsgZmluaXNoIHRoZSBjb3Vyc2UiLCLwn6erIiwiS2jDoW5nIHNp
bmggcGjhuqNpIHXhu5FuZyDEkeG7pyBuZ8OgeS4iLCJBbnRpYmlvdGljcyBtdXN0IGJlIHRha2VuIHRoZSBmdWxsIGNvdXJzZS4iXSwKICBbImLEg25nIGPD
oSBuaMOibiIsImJhbmcg4oaSIGthaCDihpcgbnl1aG4g4oaSIiwiYmFuZC1haWQiLCJMaXRlcmFsbHkgJ3BlcnNvbmFsIGJhbmRhZ2UnIiwi8J+puSIsIk11
YSBo4buZcCBixINuZyBjw6EgbmjDom4uIiwiQnV5IGEgYm94IG9mIGJhbmQtYWlkcy4iXSwKICBbIm5oaeG7h3Qga+G6vyIsIm55ZXQg4oaTIGtlaCDihpci
LCJ0aGVybW9tZXRlciIsIsSQbyBuaGnhu4d0IMSR4buZID0gdGFrZSBhIHRlbXBlcmF0dXJlIiwi8J+Moe+4jyIsIkzhuqV5IG5oaeG7h3Qga+G6vyDEkW8g
Y2hvIGLDoC4iLCJHZXQgdGhlIHRoZXJtb21ldGVyIGZvciBHcmFuZG1hLiJdLAogIFsia2jhuql1IHRyYW5nIiwia2hvaCDipLUgY2hhaG5nIOKGkiIsImZh
Y2UgbWFzayIsIldvcm4gZm9yIGR1c3QsIHN1biBhbmQgZ2VybXMgbG9uZyBiZWZvcmUgMjAyMCIsIvCfmLciLCLEkGVvIGto4bqpdSB0cmFuZyBraGkgcmEg
xJHGsOG7nW5nLiIsIldlYXIgYSBtYXNrIHdoZW4gZ29pbmcgb3V0LiJdLAogIFsiZOG6p3UgZ2nDsyIsInpvaCDihpggemF3IOKGlyIsIm1lZGljYXRlZCBv
aWwiLCJUaGUgZ3JlZW4gYm90dGxlIGluIGV2ZXJ5IFZpZXRuYW1lc2UgcHVyc2Ug4oCUIGhlYWRhY2hlcywgYmVsbHlhY2hlcywgZXZlcnl0aGluZyIsIvCf
p7QiLCJYb2EgZOG6p3UgZ2nDsyBjaG8gxJHhu6EgxJFhdS4iLCJSdWIgb24gbWVkaWNhdGVkIG9pbCBmb3IgdGhlIHBhaW4uIl0sCiAgWyJj4bqhbyBnacOz
Iiwia293IOKGkyB6YXcg4oaXIiwiY29pbmluZyAoZm9sayByZW1lZHkpIiwiUnViYmluZyBhIGNvaW4gYWxvbmcgdGhlIGJhY2sgdW50aWwgaXQgcmVkZGVu
cyDigJQgeW91ciBncmFuZG1vdGhlcidzIGN1cmUgZm9yIGEgY29sZC4gTGV0IGhlciIsIvCfqpkiLCJCw6AgY+G6oW8gZ2nDsyBjaG8gbcOhLiIsIkdyYW5k
bWEgY29pbmVkIE1vbSdzIGJhY2suIl0sCiAgWyJ4b2EiLCJzd2FoIOKGkiIsInRvIHJ1YiIsIlhvYSBk4bqndSA9IHJ1YiBvaWw7IHhvYSBiw7NwID0gbWFz
c2FnZSIsIvCflpDvuI8iLCJYb2EgZOG6p3UgdsOgbyBi4bulbmcuIiwiUnViIG9pbCBvbiB0aGUgYmVsbHkuIl0sCiAgWyJuZ+G6rW0iLCJuZ3VobSDihpMi
LCJ0byBob2xkIGluIHRoZSBtb3V0aCIsIk5n4bqtbSBr4bq5byBobyA9IHN1Y2sgYSBjb3VnaCBkcm9wIiwi8J+NrCIsIk5n4bqtbSB2acOqbiBuw6B5IGNo
byDEkeG7oSBoby4iLCJTdWNrIG9uIHRoaXMgZm9yIHRoZSBjb3VnaC4iXSwKICBbImtpw6puZyIsImt5ZW5nIOKGkiIsInRvIGF2b2lkIChmb29kcykiLCJL
acOqbmcgxJHhu5MgbOG6oW5oLCBracOqbmcgxJHhu5MgY2F5ID0gYXZvaWQgY29sZCAvIHNwaWN5IOKAlCB0aGUgcGhhcm1hY2lzdCBhbmQgZ3JhbmRtYSBh
Z3JlZSBvbiB0aGlzIiwi8J+aqyIsIkLhu4sgaG8gdGjDrCBracOqbmcgxJHhu5MgbOG6oW5oLiIsIldpdGggYSBjb3VnaCwgYXZvaWQgY29sZCBmb29kLiJd
LAogIFsibmdo4buJIG5nxqFpIiwibmdlZSDipLUgbmd1aC1lZSDihpIiLCJ0byByZXN0IChwcm9wZXJseSkiLCJGdWxsZXIgdGhhbiBuZ2jhu4kg4oCUIHJl
YWwgcmVzdC4gTmdo4buJIG5nxqFpIGNobyBraOG7j2UiLCLwn5uMIiwiTcOhIGPhuqduIG5naOG7iSBuZ8ahaSB2w6BpIG5nw6B5LiIsIk1vbSBuZWVkcyBh
IGZldyBkYXlzIG9mIHJlc3QuIl0sCiAgWyJo4bq/dCBi4buHbmgiLCJoZXQg4oaXIGJlbmcg4oaTIiwicmVjb3ZlcmVkIChTb3V0aCkiLCJOb3J0aGVybjog
a2jhu49pIOG7kW0uIEjhur90IGLhu4duaCBy4buTaSEgPSBhbGwgYmV0dGVyISIsIvCfjokiLCJV4buRbmcgdGh14buRYyBsw6AgaOG6v3QgYuG7h25oLiIs
IlRha2UgdGhlIG1lZGljaW5lIGFuZCB5b3Ugd2lsbCByZWNvdmVyLiJdXSwKIGdyYW1tYXI6WwogIFsibmfDoHkgKyBz4buRICsgbOG6p24iLCLigKYgdGlt
ZXMgYSBkYXkiLCJFdmVyeSBtZWRpY2luZSBpbnN0cnVjdGlvbiIsIm5nw6B5IGJhIGzhuqduID0gdGhyZWUgdGltZXMgYSBkYXkuIEFkZCBt4buXaSBs4bqn
biArIHPhu5EgdmnDqm4gKGVhY2ggdGltZSBOIHBpbGxzKS4iLCJOZ8OgeSBiYSBs4bqnbiwgbeG7l2kgbOG6p24gbeG7mXQgdmnDqm4uIiwiVGhyZWUgdGlt
ZXMgYSBkYXksIG9uZSBwaWxsIGVhY2ggdGltZS4iLCJUaHXhu5FjIG7DoHkgbmfDoHkgbeG6pXkgbOG6p24gduG6rXkgY8O0PyIsIkhvdyBtYW55IHRpbWVz
IGEgZGF5IGZvciB0aGlzLCBtYSdhbT8iXSwKICBbInRyxrDhu5tjIGtoaSAvIHNhdSBraGkgKyB2ZXJiIiwiYmVmb3JlIC8gYWZ0ZXIgZG9pbmcg4oCmIiwi
VGltaW5nIG1lZGljaW5lIGFuZCBmb29kIiwidHLGsOG7m2Mga2hpIMSDbiwgc2F1IGtoaSDEg24sIHRyxrDhu5tjIGtoaSBuZ+G7py4iLCJV4buRbmcgc2F1
IGtoaSDEg24gc8OhbmcuIiwiVGFrZSBpdCBhZnRlciBicmVha2Zhc3QuIiwiVeG7kW5nIG3hu5l0IHZpw6puIHRyxrDhu5tjIGtoaSBuZ+G7py4iLCJUYWtl
IG9uZSBwaWxsIGJlZm9yZSBzbGVlcGluZy4iXSwKICBbImtpw6puZyArIGZvb2QvdGhpbmciLCJ0byBhdm9pZCDigKYiLCJEb2N0b3IncyBhbmQgZ3JhbmRt
YSdzIG9yZGVycyIsImtpw6puZyArIMSR4buTIGzhuqFuaCAvIMSR4buTIGNheSAvIHLGsOG7o3UgYmlhLiBLacOqbmcgZ8OsPyA9IHdoYXQgc2hvdWxkIEkg
YXZvaWQ/IiwiQsOhYyBzxKkgbsOzaSBracOqbmcgxJHhu5MgY2F5LiIsIlRoZSBkb2N0b3Igc2FpZCBhdm9pZCBzcGljeSBmb29kLiIsIk3DoSBwaOG6o2kg
a2nDqm5nIMSRxrDhu51uZy4iLCJNb20gaGFzIHRvIGF2b2lkIHN1Z2FyLiJdXX0sCgp7bjoyMSwga3I6IkNoxINtIHPDs2MgYsOgIG5nb+G6oWkiLCBlbjoi
Q2FyaW5nIGZvciBCw6AgTmdv4bqhaSIsIHZpOiJUaGUgZ2VudGxlc3Qgd29yZHMgaW4gdGhlIGxhbmd1YWdlIiwgZW1vamk6IvCfkbUiLCBib3NzOiLwn5Ci
IiwgYm9zc05hbWU6IlNsb3ctU3RhaXJzIFRvcnRvaXNlIiwKIHdvcmRzOlsKICBbImdpw6AiLCJ6YWgg4oaYIiwib2xkIChhIHBlcnNvbikiLCJCw6AgZ2nD
oCBy4buTaSA9IEdyYW5kbWEgaXMgb2xkIG5vdyDigJQgc2FpZCB0ZW5kZXJseSwgbmV2ZXIgcnVkZWx5Iiwi8J+nkyIsIkLDoCBuZ2/huqFpIGdpw6AgcuG7
k2ksIMSRaSBjaOG6rW0uIiwiR3JhbmRtYSBpcyBvbGQgbm93LCBzaGUgd2Fsa3Mgc2xvd2x5LiJdLAogIFsieeG6v3UiLCJ5ZXcg4oaXIiwid2VhayAvIGZy
YWlsIiwiWeG6v3UgxJFpID0gZ2V0dGluZyB3ZWFrZXIuIFRoZSB3b3JkIHRoZSBmYW1pbHkgYXZvaWRzIHNheWluZyBvdXQgbG91ZCIsIvCfjYIiLCJCw6Ag
eeG6v3UgaMahbiBuxINtIG5nb8OhaS4iLCJHcmFuZG1hIGlzIGZyYWlsZXIgdGhhbiBsYXN0IHllYXIuIl0sCiAgWyJjaMSDbSBzw7NjIiwiY2hhaG0g4oaS
IHNob2sg4oaXIiwidG8gdGFrZSBjYXJlIG9mIiwiQ2jEg20gc8OzYyBiw6AgPSBjYXJlIGZvciBHcmFuZG1hIOKAlCB0aGUgdmVyYiB5b3VyIG1vdGhlciBj
YW1lIGhvbWUgZm9yIiwi8J+SnSIsIk3DoSDhu58gbOG6oWkgY2jEg20gc8OzYyBiw6AuIiwiTW9tIHN0YXlzIHRvIHRha2UgY2FyZSBvZiBHcmFuZG1hLiJd
LAogIFsiZMOsdSIsInpldyDihpgiLCJ0byBzdXBwb3J0IChzb21lb25lIHdhbGtpbmcpIiwiRMOsdSBiw6AgxJFpID0gaGVscCBHcmFuZG1hIHdhbGssIGFy
bSBpbiBhcm0iLCLwn6SdIiwiQ29uIGTDrHUgYsOgIHh14buRbmcgY+G6p3UgdGhhbmcuIiwiSSBoZWxwZWQgR3JhbmRtYSBkb3duIHRoZSBzdGFpcnMuIl0s
CiAgWyJ0w6kiLCJ0ZWgg4oaXIiwidG8gZmFsbCAoU291dGgpIiwiTm9ydGhlcm46IG5nw6MuIENvaSBjaOG7q25nIHTDqSEgPSBjYXJlZnVsLCB5b3Ugd2ls
bCBmYWxsISIsIuKaoO+4jyIsIkLDoCB0w6kgdHJvbmcgbmjDoCB04bqvbS4iLCJHcmFuZG1hIGZlbGwgaW4gdGhlIGJhdGhyb29tLiJdLAogIFsidHLGsOG7
o3QiLCJjaG9vLXVodCDihpMiLCJ0byBzbGlwIiwiU8OgbiDGsOG7m3QsIGThu4UgdHLGsOG7o3QgPSB3ZXQgZmxvb3IsIGVhc3kgdG8gc2xpcCIsIvCfp70i
LCJTw6BuIG5ow6AgdHLGoW4sIGThu4UgdHLGsOG7o3QuIiwiVGhlIGZsb29yIGlzIHNsaXBwZXJ5LiJdLAogIFsiY29pIGNo4burbmciLCJrb3kg4oaSIGNo
dWhuZyDihpgiLCJ3YXRjaCBvdXQgKFNvdXRoKSIsIk5vcnRoZXJuOiBj4bqpbiB0aOG6rW4gLyBjb2kgY2jhu6tuZyBib3RoLiBDb2kgY2jhu6tuZyB4ZSEg
Q29pIGNo4burbmcgdMOpISIsIvCfkYAiLCJDb2kgY2jhu6tuZyBi4bqtYyB0aOG7gW0gbmhhIGLDoC4iLCJXYXRjaCB0aGUgc3RlcCwgR3JhbmRtYS4iXSwK
ICBbIm5o4bqvYyIsIm55YWsg4oaXIiwidG8gcmVtaW5kIiwiTmjhuq9jIGLDoCB14buRbmcgdGh14buRYyA9IHJlbWluZCBHcmFuZG1hIHRvIHRha2UgaGVy
IG1lZGljaW5lIOKAlCB0d2ljZSBhIGRheSwgZm9yZXZlciIsIuKPsCIsIkNvbiBuaOG6r2MgYsOgIHXhu5FuZyB0aHXhu5FjLiIsIkkgcmVtaW5kIEdyYW5k
bWEgdG8gdGFrZSBoZXIgbWVkaWNpbmUuIl0sCiAgWyJuZ+G7pyB0csawYSIsIm5nb28g4qS1IGNob28tYWgg4oaSIiwiYWZ0ZXJub29uIG5hcCIsIlNhY3Jl
ZCBpbiB0aGUgU291dGguIFRoZSB3aG9sZSBjaXR5IG5hcHMgZnJvbSBub29uIHRvIHR3byIsIvCfmLQiLCJCw6Agbmfhu6cgdHLGsGEgdOG7m2kgaGFpIGdp
4budLiIsIkdyYW5kbWEgbmFwcyB1bnRpbCB0d28uIl0sCiAgWyLEg24gbmjhurkiLCJhbiDihpIgbnllaCDihpMiLCJsaWdodCBtZWFsIiwixIJuIG5o4bq5
IHRow7RpID0ganVzdCBhIGxpZ2h0IG1lYWwg4oCUIGNow6FvLCBzw7pwLCB0csOhaSBjw6J5Iiwi8J+loyIsIlThu5FpIGLDoCBjaOG7iSDEg24gbmjhurku
IiwiR3JhbmRtYSBvbmx5IGVhdHMgbGlnaHRseSBhdCBuaWdodC4iXSwKICBbIuG6pW0iLCJ1aG0g4oaXIiwid2FybSIsIkdp4buvIOG6pW0gPSBrZWVwIHdh
cm0uIFllcywgZXZlbiBpbiBTw6BpIEfDsm4sIGdyYW5kbW90aGVycyB3b3JyeSBhYm91dCBjb2xkIiwi8J+noyIsIk3hurdjIMOhbyDhuqVtIHbDtCDEkWkg
YsOgLiIsIlB1dCBvbiBhIHdhcm0gamFja2V0LCBHcmFuZG1hLiJdLAogIFsibeG7gW4iLCJtZW4g4oaYIiwiYmxhbmtldCAoU291dGgpIiwiTm9ydGhlcm46
IGNoxINuLiDEkOG6r3AgbeG7gW4gPSBjb3ZlciB3aXRoIGEgYmxhbmtldCIsIvCfm4/vuI8iLCLEkOG6r3AgbeG7gW4gY2hvIGLDoC4iLCJDb3ZlciBHcmFu
ZG1hIHdpdGggYSBibGFua2V0LiJdLAogIFsiZ+G6rXkiLCJnYXkg4oaTIiwid2Fsa2luZyBjYW5lIiwiQ8OieSBn4bqteSA9IHRoZSBjYW5lLiBCw6AgaMO0
bmcgY2jhu4t1IGTDuW5nIGfhuq15ID0gR3JhbmRtYSByZWZ1c2VzIHRvIHVzZSB0aGUgY2FuZSAodW5pdmVyc2FsKSIsIvCfpq8iLCJCw6AgaMO0bmcgY2jh
u4t1IGTDuW5nIGfhuq15LiIsIkdyYW5kbWEgcmVmdXNlcyB0byB1c2UgYSBjYW5lLiJdLAogIFsieGUgbMSDbiIsInNlaCDihpIgbGFuIOKGkiIsIndoZWVs
Y2hhaXIiLCJGb3IgdGhlIG1hcmtldCwgd2hlbiB0aGUgd2FsayBpcyB0b28gZmFyIiwi8J+mvSIsIk3GsOG7o24geGUgbMSDbiDhu58gYuG7h25oIHZp4buH
bi4iLCJCb3Jyb3cgYSB3aGVlbGNoYWlyIGF0IHRoZSBob3NwaXRhbC4iXSwKICBbImzDo25nIHRhaSIsImxhaG5nIH7ihpcgdGFpIOKGkiIsImhhcmQgb2Yg
aGVhcmluZyIsIkLDoCBsw6NuZyB0YWkgcuG7k2kg4oCUIHNwZWFrIHNsb3dlciwgY2xvc2VyLCBraW5kZXIiLCLwn5GCIiwiQsOgIGzDo25nIHRhaSwgbsOz
aSBs4bubbiBsw6puLiIsIkdyYW5kbWEgaXMgaGFyZCBvZiBoZWFyaW5nLCBzcGVhayB1cC4iXSwKICBbInF1w6puIiwia3dlbiDihpIiLCJ0byBmb3JnZXQi
LCJCw6AgaGF5IHF1w6puID0gR3JhbmRtYSBmb3JnZXRzIGEgbG90LiBUaGVuIHNoZSByZW1lbWJlcnMgMTk2NSBwZXJmZWN0bHkiLCLwn4yr77iPIiwiQsOg
IGhheSBxdcOqbiB14buRbmcgdGh14buRYy4iLCJHcmFuZG1hIG9mdGVuIGZvcmdldHMgaGVyIG1lZGljaW5lLiJdLAogIFsia2nDqm4gbmjhuqtuIiwia3ll
biDihpIgbnl1aG4gfuKGlyIsInBhdGllbnQgKGFkai4pIC8gcGF0aWVuY2UiLCJLacOqbiBuaOG6q24gduG7m2kgYsOgID0gYmUgcGF0aWVudCB3aXRoIEdy
YW5kbWEuIFRoZSBza2lsbCBvZiB0aGlzIHdob2xlIHN0YWdlIiwi8J+Viu+4jyIsIkNvbiBwaOG6o2kga2nDqm4gbmjhuqtuIHbhu5tpIGLDoC4iLCJJIGhh
dmUgdG8gYmUgcGF0aWVudCB3aXRoIEdyYW5kbWEuIl0sCiAgWyJo4buPaSB0aMSDbSIsImhveSDipLUgdGFobSDihpIiLCJ0byBhc2sgYWZ0ZXIgKHNvbWVv
bmUncyBoZWFsdGgpIiwiSOG7j2kgdGjEg20gc+G7qWMga2jhu49lID0gYXNrIGhvdyBzb21lb25lIGlzIGRvaW5nIOKAlCB3aGF0IHJlbGF0aXZlcyBkbyB0
aGUgbW9tZW50IHlvdSBhcnJpdmUiLCLwn5KsIiwiRMOsIGfhu41pIGjhu49pIHRoxINtIGLDoC4iLCJBdW50aWUgY2FsbGVkIHRvIGFzayBhZnRlciBHcmFu
ZG1hLiJdLAogIFsibOG7m24gdHXhu5VpIiwibHVobiDihpcgdG9vLW95IOKktSIsImVsZGVybHkiLCJOZ8aw4budaSBs4bubbiB0deG7lWkgPSB0aGUgZWxk
ZXJseSDigJQgdGhlIHJlc3BlY3RmdWwgcGhyYXNlIiwi8J+nkyIsIk5nxrDhu51pIGzhu5tuIHR14buVaSBj4bqnbiBuZ+G7pyDEkeG7py4iLCJFbGRlcmx5
IHBlb3BsZSBuZWVkIGVub3VnaCBzbGVlcC4iXSwKICBbIm5n4buTaSBk4bqteSIsIm5nb3kg4oaYIHpheSDihpMiLCJ0byBzaXQgdXAiLCJOZ+G7k2kgZOG6
rXkgdOG7qyB04burID0gc2l0IHVwIHNsb3dseSDigJQgdGhlIGZpcnN0IG1vdmUgZXZlcnkgbW9ybmluZyBmb3IgYW4gZWxkZXIiLCLwn6qRIiwiQsOgIG5n
4buTaSBk4bqteSB04burIHThu6sgbmhhLiIsIlNpdCB1cCBzbG93bHksIEdyYW5kbWEuIl0sCiAgWyJu4bqxbSIsIm5hbSDihpgiLCJ0byBsaWUgZG93biIs
Ik7hurFtIG5naOG7iSA9IGxpZSBkb3duIGFuZCByZXN0Iiwi8J+bjCIsIkLDoCBu4bqxbSBuZ2jhu4kgdHLGsGEgxJFpLiIsIkdyYW5kbWEsIGxpZSBkb3du
IGZvciBhIG5hcC4iXSwKICBbIsSR4bupbmciLCJkdWhuZyDihpciLCJ0byBzdGFuZCIsIsSQ4bupbmcgZOG6rXkgdOG7qyB04burID0gc3RhbmQgdXAgc2xv
d2x5IOKAlCB0aGUgYmxvb2QtcHJlc3N1cmUgcnVsZSIsIvCfp40iLCLEkOG7qW5nIGThuq15IHThu6sgdOG7qyBuaGEgYsOgLiIsIlN0YW5kIHVwIHNsb3ds
eSwgR3JhbmRtYS4iXSwKICBbIsSRaSBs4bqhaSIsImRlZSDihpIgbGFpIOKGkyIsInRvIGdldCBhcm91bmQgLyBtb3ZlIGFib3V0IiwiQsOgIMSRaSBs4bqh
aSBraMOzIGtoxINuID0gR3JhbmRtYSBoYXMgdHJvdWJsZSBnZXR0aW5nIGFyb3VuZCIsIvCfmrYiLCJCw6AgxJFpIGzhuqFpIGPDsm4gxJHGsOG7o2MuIiwi
R3JhbmRtYSBjYW4gc3RpbGwgZ2V0IGFyb3VuZC4iXSwKICBbIm7huq9tIHRheSIsIm5hbSDihpcgdGFpIOKGkiIsInRvIGhvbGQgaGFuZHMiLCJO4bqvbSB0
YXkgYsOgID0gaG9sZCBHcmFuZG1hJ3MgaGFuZC4gQWNyb3NzIGEgcm9hZCwgYWNyb3NzIHRoaXJ0eSB5ZWFycyIsIvCfpJ0iLCJNw6EgbuG6r20gdGF5IGLD
oCBzdeG7kXQgYnXhu5VpLiIsIk1vbSBoZWxkIEdyYW5kbWEncyBoYW5kIHRoZSB3aG9sZSB0aW1lLiJdXSwKIGdyYW1tYXI6WwogIFsidmVyYiArIGdpw7lt
ICsgcGVyc29uIiwidG8gZG8gKHNvbWV0aGluZykgZm9yIHNvbWVvbmUgKFNvdXRoKSIsIk9mZmVyaW5nIGhlbHAg4oCUIHRoZSBTb3V0aGVybiBnacO5bSIs
Ik5vcnRoZXJuIGdpw7pwIOKGkiBTb3V0aGVybiBnacO5bS4gTOG6pXkgZ2nDuW0gYsOgID0gZ2V0IGl0IGZvciBHcmFuZG1hLiIsIkNvbiBs4bqleSBuxrDh
u5tjIGdpw7ltIGLDoCBuaGEuIiwiSSB3aWxsIGdldCB3YXRlciBmb3IgeW91LCBHcmFuZG1hLiIsIkTDrCBu4bqldSBjaMOhbyBnacO5bSBiw6AuIiwiQXVu
dGllIGNvb2tzIHBvcnJpZGdlIGZvciBHcmFuZG1hLiJdLAogIFsiY29pIGNo4burbmcgKyBkYW5nZXIiLCJ3YXRjaCBvdXQgZm9yIOKApiIsIktlZXBpbmcg
YW4gZWxkZXIgc2FmZSIsImNvaSBjaOG7q25nICsgdMOpIC8gdHLGsOG7o3QgLyB4ZSAvIG7Ds25nLiBTYXkgaXQgYmVmb3JlLCBub3QgYWZ0ZXIuIiwiQ29p
IGNo4burbmcgdMOpIG5oYSBiw6AhIiwiQ2FyZWZ1bCwgZG8gbm90IGZhbGwsIEdyYW5kbWEhIiwiQ29pIGNo4burbmcgbsaw4bubYyBuw7NuZy4iLCJXYXRj
aCBvdXQsIHRoZSB3YXRlciBpcyBob3QuIl0sCiAgWyJuaOG6r2MgKyBwZXJzb24gKyB2ZXJiIiwidG8gcmVtaW5kIHNvbWVvbmUgdG8g4oCmIiwiTWVkaWNp
bmUsIG1lYWxzLCBhcHBvaW50bWVudHMiLCJuaOG6r2MgKyBiw6AgKyB14buRbmcgdGh14buRYy4gQ29uIHPhur0gbmjhuq9jID0gSSB3aWxsIHJlbWluZC4i
LCJDb24gbmjhuq9jIG3DoSB14buRbmcgdGh14buRYyBt4buXaSBzw6FuZy4iLCJJIHJlbWluZCBNb20gdG8gdGFrZSBoZXIgbWVkaWNpbmUgZXZlcnkgbW9y
bmluZy4iLCJOaOG6r2MgYsOgIMSRaSB0w6FpIGtow6FtIG5oYS4iLCJSZW1pbmQgR3JhbmRtYSBhYm91dCB0aGUgZm9sbG93LXVwIHZpc2l0LiJdXX0sCgp7
bjoyMiwga3I6IkNodXnhu4duIG5nw6B5IHjGsGEiLCBlbjoiU3RvcmllcyBvZiB0aGUgT2xkIERheXMiLCB2aToiV2h5IHRoZXkgbGVmdCwgd2hhdCB0aGV5
IGNhcnJpZWQiLCBlbW9qaToi8J+TnCIsIGJvc3M6IvCflbDvuI8iLCBib3NzTmFtZToiS2VlcGVyIG9mIFNpbGVuY2UiLAogd29yZHM6WwogIFsibmfDoHkg
eMawYSIsIm5nYWkg4oaYIHNvby1haCDihpIiLCJ0aGUgb2xkIGRheXMiLCJOZ8OgeSB4xrBh4oCmID0gb25jZSB1cG9uIGEgdGltZSDigJQgaG93IGV2ZXJ5
IGZhbWlseSBzdG9yeSBiZWdpbnMiLCLwn5Ww77iPIiwiTmfDoHkgeMawYSBuaMOgIG3DrG5oIOG7nyDEkcOieS4iLCJJbiB0aGUgb2xkIGRheXMgb3VyIGZh
bWlseSBsaXZlZCBoZXJlLiJdLAogIFsiaOG7k2kgxJHDsyIsImhveSDihpggZGF3IOKGlyIsImJhY2sgdGhlbiAoU291dGgpIiwiTm9ydGhlcm46IGjhu5Np
IOG6pXkuIEjhu5NpIMSRw7MgbcOhIGPDsm4gbmjhu48gPSBiYWNrIHRoZW4gTW9tIHdhcyBzbWFsbCIsIvCfk4YiLCJI4buTaSDEkcOzIG3DoSBt4bubaSBt
xrDhu51pIHR14buVaS4iLCJCYWNrIHRoZW4gTW9tIHdhcyBvbmx5IHRlbi4iXSwKICBbImvDvSDhu6ljIiwia2VlIOKGlyB1aGsg4oaXIiwibWVtb3J5ICh0
aGUgZmFjdWx0eSkiLCJLw70g4bupYyB0deG7lWkgdGjGoSA9IGNoaWxkaG9vZCBtZW1vcmllcyIsIvCfp6AiLCJLw70g4bupYyBj4bunYSBiw6AgY8OybiBy
w7UgbOG6r20uIiwiR3JhbmRtYSdzIG1lbW9yeSBpcyBzdGlsbCB2ZXJ5IGNsZWFyLiJdLAogIFsidHXhu5VpIHRoxqEiLCJ0b28tb3kg4qS1IHR1aCDihpIi
LCJjaGlsZGhvb2QiLCJUdeG7lWkgdGjGoSBj4bunYSBtw6EgPSBNb20ncyBjaGlsZGhvb2Qg4oCUIHRoZSBvbmUgc2hlIHJhcmVseSB0YWxrZWQgYWJvdXQi
LCLwn6eSIiwiVHXhu5VpIHRoxqEgY+G7p2EgbcOhIOG7nyBTw6BpIEfDsm4uIiwiTW9tJ3MgY2hpbGRob29kIHdhcyBpbiBTw6BpIEfDsm4uIl0sCiAgWyJy
4budaSBxdcOqIiwienVoLWVlIOKGmCBrd2VoIOKGkiIsInRvIGxlYXZlIG9uZSdzIGhvbWVsYW5kIiwiVGhlIHZlcmIgb2YgdGhlIGZhbWlseS4gUuG7nWkg
cXXDqiBuxINtIDE5OTAiLCLinIjvuI8iLCJNw6EgcuG7nWkgcXXDqiBuxINtIGhhaSBtxrDGoWkgdHXhu5VpLiIsIk1vbSBsZWZ0IGhvbWUgYXQgdHdlbnR5
LiJdLAogIFsia2jDsyBraMSDbiIsImtoYXcg4oaXIGtoYW4g4oaSIiwiaGFyZHNoaXAgLyBkaWZmaWN1bHQiLCJI4buTaSDEkcOzIGtow7Mga2jEg24gbOG6
r20gPSBiYWNrIHRoZW4gaXQgd2FzIHZlcnkgaGFyZCDigJQgdGhlIHNlbnRlbmNlIHRoYXQgY29udGFpbnMgYSBkZWNhZGUiLCLwn4yn77iPIiwiSOG7k2kg
xJHDsyBj4bqjIG7GsOG7m2Mga2jDsyBraMSDbi4iLCJCYWNrIHRoZW4gdGhlIHdob2xlIGNvdW50cnkgc3RydWdnbGVkLiJdLAogIFsidGhp4bq/dSB0aOG7
kW4iLCJ0eWV3IOKGlyB0b2huIOKGlyIsInRvIGxhY2sgLyBnbyB3aXRob3V0IiwiVGhp4bq/dSB0aOG7kW4gxJHhu6cgdGjhu6kgPSBsYWNraW5nIGV2ZXJ5
dGhpbmciLCLwn42aIiwiTmjDoCBtw6xuaCB0aGnhur91IHRo4buRbiDEkeG7pyB0aOG7qS4iLCJPdXIgZmFtaWx5IHdlbnQgd2l0aG91dCBldmVyeXRoaW5n
LiJdLAogIFsiY2hp4bq/biB0cmFuaCIsImNoeWVuIOKGlyBjaGFuZyDihpIiLCJ3YXIiLCJTYXUgY2hp4bq/biB0cmFuaCA9IGFmdGVyIHRoZSB3YXIuIExl
dCB0aGVtIHNheSBpdCBmaXJzdDsgdGhlbiBsaXN0ZW4iLCLwn5WK77iPIiwiU2F1IGNoaeG6v24gdHJhbmgsIMO0bmcgbmdv4bqhaSDEkWkgbMOgbSB4YS4i
LCJBZnRlciB0aGUgd2FyLCBHcmFuZHBhIHdvcmtlZCBmYXIgYXdheS4iXSwKICBbImjDsmEgYsOsbmgiLCJod2FoIOKGmCBiaW5nIOKGmCIsInBlYWNlIiwi
VGjhu51pIGjDsmEgYsOsbmggPSBwZWFjZXRpbWUiLCLimK7vuI8iLCJCw6J5IGdp4budIGjDsmEgYsOsbmggcuG7k2kuIiwiTm93IHRoZXJlIGlzIHBlYWNl
LiJdLAogIFsidGh1eeG7gW4iLCJ0d2VlLXVobiDihpgiLCJib2F0IiwixJBpIGLhurFuZyB0aHV54buBbiA9IGJ5IGJvYXQuIFNvbWUgZmFtaWxpZXMgY2Fy
cnkgdGhpcyB3b3JkIHZlcnkgcXVpZXRseSIsIuKbtSIsIkPhuq11IMSRaSBi4bqxbmcgdGh1eeG7gW4gbmjhu48uIiwiVW5jbGUgd2VudCBieSBzbWFsbCBi
b2F0LiJdLAogIFsidsaw4bujdCBiaeG7g24iLCJ2b28tdWh0IOKGkyBieWVuIOKktSIsInRvIGNyb3NzIHRoZSBzZWEiLCJUaGUgYm9hdCBwZW9wbGUncyB3
b3JkLiBJZiB5b3VyIGZhbWlseSBzYXlzIGl0LCB5b3UgYXJlIGJlaW5nIHRydXN0ZWQiLCLwn4yKIiwiTmhp4buBdSBuZ8aw4budaSB2xrDhu6N0IGJp4buD
biBuxINtIMSRw7MuIiwiTWFueSBwZW9wbGUgY3Jvc3NlZCB0aGUgc2VhIHRoYXQgeWVhci4iXSwKICBbInRy4bqhaSIsImNoYWkg4oaTIiwiY2FtcCIsIlRy
4bqhaSB04buLIG7huqFuID0gcmVmdWdlZSBjYW1wIOKAlCBCaWRvbmcsIEdhbGFuZywgQmF0YWFuLiBOYW1lcyB5b3VyIHBhcmVudHMgbWF5IGtub3ciLCLi
m7oiLCJNw6Eg4bufIHRy4bqhaSBoYWkgbsSDbS4iLCJNb20gd2FzIGluIGEgY2FtcCBmb3IgdHdvIHllYXJzLiJdLAogIFsixJHhu4tuaCBjxrAiLCJkaW5n
IOKGkyBrb28g4oaSIiwidG8gc2V0dGxlIChpbiBhIG5ldyBjb3VudHJ5KSIsIsSQ4buLbmggY8awIOG7nyBDYW5hZGEgPSBzZXR0bGVkIGluIENhbmFkYSIs
IvCfj6EiLCJHaWEgxJHDrG5oIMSR4buLbmggY8awIOG7nyBUb3JvbnRvLiIsIlRoZSBmYW1pbHkgc2V0dGxlZCBpbiBUb3JvbnRvLiJdLAogIFsibMOgbSBs
4bqhaSB04burIMSR4bqndSIsImxhaG0g4oaYIGxhaSDihpMgdG9vIOKGmCBkb2gg4oaYIiwidG8gc3RhcnQgb3ZlciBmcm9tIG5vdGhpbmciLCJXaGF0IGV2
ZXJ5IGltbWlncmFudCBwYXJlbnQgZGlkLiBTYXkgaXQgYmFjayB0byB0aGVtIHdpdGggdGhlIHdlaWdodCBpdCBkZXNlcnZlcyIsIvCfjLEiLCJCYSBtw6Eg
bMOgbSBs4bqhaSB04burIMSR4bqndS4iLCJNb20gYW5kIERhZCBzdGFydGVkIG92ZXIgZnJvbSBub3RoaW5nLiJdLAogIFsiaHkgc2luaCIsImhlZSDihpIg
c2hpbmcg4oaSIiwidG8gc2FjcmlmaWNlIiwiSHkgc2luaCBjaG8gY29uID0gc2FjcmlmaWNlZCBmb3IgdGhlIGNoaWxkcmVuLiBUaGUgd29yZCB1bmRlciBl
dmVyeXRoaW5nIiwi8J+SlyIsIk3DoSBoeSBzaW5oIG5oaeG7gXUgY2hvIGNvbi4iLCJNb20gc2FjcmlmaWNlZCBhIGxvdCBmb3IgbWUuIl0sCiAgWyJ0aMaw
IiwidG9vIOKGkiIsImxldHRlciIsIlRoxrAgdGF5ID0gaGFuZHdyaXR0ZW4gbGV0dGVycyDigJQgaG93IHRoZSBmYW1pbHkgc3RheWVkIGEgZmFtaWx5IGFj
cm9zcyB0aGUgb2NlYW4iLCLinInvuI8iLCJCw6AgY8OybiBnaeG7ryB0aMawIGPhu6dhIG3DoS4iLCJHcmFuZG1hIHN0aWxsIGtlZXBzIE1vbSdzIGxldHRl
cnMuIl0sCiAgWyJow6xuaCIsImhpbmcg4oaYIiwicGhvdG8gKFNvdXRoKSIsIk5vcnRoZXJuOiDhuqNuaC4gQ2jhu6VwIGjDrG5oID0gdGFrZSBhIHBob3Rv
OyBow6xuaCBjxakgPSBvbGQgcGhvdG9zIiwi8J+WvO+4jyIsIkjDrG5oIG7DoHkgY2jhu6VwIG7Eg20gbsOgbz8iLCJXaGF0IHllYXIgd2FzIHRoaXMgcGhv
dG8gdGFrZW4/Il0sCiAgWyJr4bu3IG5p4buHbSIsImtlZSDipLUgbnllbSDihpMiLCJtZW1vcnkgLyBrZWVwc2FrZSIsIk3Ds24gcXXDoCBr4bu3IG5p4buH
bSA9IGEga2VlcHNha2UuIEFsc28gJ2EgbWVtb3J5JyBvZiBhbiBldmVudCIsIvCfjoEiLCJDw6FpIG7DoHkgbMOgIGvhu7cgbmnhu4dtIGPhu6dhIMO0bmcu
IiwiVGhpcyBpcyBhIGtlZXBzYWtlIGZyb20gR3JhbmRwYS4iXSwKICBbInThu7EgaMOgbyIsInRvbyDihpMgaG93IOKGmCIsInByb3VkIiwiQsOgIHThu7Eg
aMOgbyB24buBIG3DoSA9IEdyYW5kbWEgaXMgcHJvdWQgb2YgTW9tLiBTaGUgbWF5IG5vdCBoYXZlIHNhaWQgaXQgaW4gdGhpcnR5IHllYXJzIiwi8J+PhSIs
IkLDoCB04buxIGjDoG8gduG7gSBtw6EgbOG6r20uIiwiR3JhbmRtYSBpcyB2ZXJ5IHByb3VkIG9mIE1vbS4iXSwKICBbImJp4bq/dCDGoW4iLCJieWV0IOKG
lyB1aG4g4oaSIiwiZ3JhdGVmdWwiLCJDb24gYmnhur90IMahbiBiYSBtw6EgPSBJIGFtIGdyYXRlZnVsIHRvIG15IHBhcmVudHMuIFNheSBpdCBpbiBWaWV0
bmFtZXNlLCBvbmNlLCBvdXQgbG91ZCIsIvCfmY8iLCJDb24gYmnhur90IMahbiBtw6Egbmhp4buBdSBs4bqvbS4iLCJJIGFtIHNvIGdyYXRlZnVsIHRvIHlv
dSwgTW9tLiJdLAogIFsidGhhIHRo4bupIiwidGFoIOKGkiB0b28g4oaXIiwidG8gZm9yZ2l2ZSIsIlNvbWUgc3RvcmllcyBuZWVkIHRoaXMgd29yZC4gSGF2
ZSBpdCByZWFkeSIsIvCflYrvuI8iLCJCw6AgxJHDoyB0aGEgdGjhu6kgbMOidSBy4buTaS4iLCJHcmFuZG1hIGZvcmdhdmUgbG9uZyBhZ28uIl0sCiAgWyJo
4buRaSB0aeG6v2MiLCJob3kg4oaXIHR5ZWsg4oaXIiwidG8gcmVncmV0IiwiTcOhIGPDsyBo4buRaSB0aeG6v2Mga2jDtG5nPyA9IGRvIHlvdSByZWdyZXQg
aXQsIE1vbT8gQSBicmF2ZSBxdWVzdGlvbiIsIvCfjYIiLCJNw6EgaMO0bmcgaOG7kWkgdGnhur9jIGfDrCBo4bq/dC4iLCJNb20gZG9lcyBub3QgcmVncmV0
IGFueXRoaW5nLiJdLAogIFsiaW0gbOG6t25nIiwiaW0g4oaSIGxhbmcg4oaTIiwic2lsZW5jZSAvIHNpbGVudCIsIkltIGzhurduZyBt4buZdCBsw7pjID0g
YSBtb21lbnQgb2Ygc2lsZW5jZS4gTm90IGV2ZXJ5IGdhcCBuZWVkcyBmaWxsaW5nIiwi8J+kqyIsIkPhuqMgbmjDoCBpbSBs4bq3bmcgbeG7mXQgbMO6Yy4i
LCJUaGUgd2hvbGUgZmFtaWx5IHdhcyBzaWxlbnQgZm9yIGEgbW9tZW50LiJdLAogIFsibOG6r25nIG5naGUiLCJsYW5nIOKGlyBuZ2VoIOKGkiIsInRvIGxp
c3RlbiAoY2xvc2VseSkiLCJM4bqvbmcgbmdoZSwgbm90IGp1c3QgbmdoZS4gVGhlIHdob2xlIHNraWxsIG9mIHRoaXMgcXVlc3QiLCLwn5GCIiwiQ29uIGNo
4buJIGzhuq9uZyBuZ2hlIHRow7RpLiIsIkkganVzdCBsaXN0ZW5lZC4iXV0sCiBncmFtbWFyOlsKICBbImjhu5NpIMSRw7MgKyBjbGF1c2UiLCJiYWNrIHRo
ZW4sIOKApiIsIk9wZW5pbmcgYW5kIGZvbGxvd2luZyBhIG1lbW9yeSIsImjhu5NpIMSRw7MgYXQgdGhlIGZyb250LiBI4buTaSDEkcOzIG3DoeKApiBI4buT
aSDEkcOzIG5ow6AgbcOsbmjigKYiLCJI4buTaSDEkcOzIG3DoSDEkWkgaOG7jWMgYuG6sW5nIHhlIMSR4bqhcC4iLCJCYWNrIHRoZW4gTW9tIHdlbnQgdG8g
c2Nob29sIGJ5IGJpY3ljbGUuIiwiSOG7k2kgxJHDsyBow7RuZyBjw7MgxJFp4buHbi4iLCJCYWNrIHRoZW4gdGhlcmUgd2FzIG5vIGVsZWN0cmljaXR5LiJd
LAogIFsixJHDoyB04burbmcgKyB2ZXJiIiwib25jZSBkaWQgLyB1c2VkIHRvIiwiVGFsa2luZyBhYm91dCB0aGUgcGFzdCB3aXRoIHdlaWdodCIsIsSRw6Mg
dOG7q25nID0gaGFzIG9uY2UuIELDoCDEkcOjIHThu6tuZyDEkWkgSMOgIE7hu5lpID0gR3JhbmRtYSBvbmNlIHdlbnQgdG8gSMOgIE7hu5lpLiIsIsOUbmcg
bmdv4bqhaSDEkcOjIHThu6tuZyDEkWkgbMOtbmguIiwiR3JhbmRwYSB3YXMgb25jZSBhIHNvbGRpZXIuIiwiTcOhIMSRw6MgdOG7q25nIHPhu5FuZyDhu58g
dHLhuqFpLiIsIk1vbSBvbmNlIGxpdmVkIGluIGEgY2FtcC4iXSwKICBbIm5o4budICsgcGVyc29uL3RoaW5nIiwidGhhbmtzIHRvIOKApiIsIkdyYXRpdHVk
ZSwgcHJvcGVybHkgYWltZWQiLCJuaOG7nSArIHBlcnNvbiArIChtw6ApICsgcmVzdWx0LiBOaOG7nSBiw6AgbcOgIG3DoSDEkcaw4bujYyDEkWkgaOG7jWMu
IiwiTmjhu50gbcOhLCBjb24gbeG7m2kgY8OzIGjDtG0gbmF5LiIsIlRoYW5rcyB0byBNb20sIEkgaGF2ZSB0b2RheS4iLCJOaOG7nSBkw6wgZ+G7rWkgdGnh
u4FuLCBiw6AgbeG7m2kgxJFpIGtow6FtIMSRxrDhu6NjLiIsIlRoYW5rcyB0byBBdW50aWUgc2VuZGluZyBtb25leSwgR3JhbmRtYSBjb3VsZCBzZWUgYSBk
b2N0b3IuIl1dfSwKCntuOjIzLCBrcjoixJDDoW0gZ2nhu5ciLCBlbjoiVGhlIERlYXRoIEFubml2ZXJzYXJ5Iiwgdmk6IlNpdCBhdCB0aGUgYWx0YXIgYW5k
IGtub3cgd2hhdCB0byBkbyIsIGVtb2ppOiLwn5Wv77iPIiwgYm9zczoi8J+QiSIsIGJvc3NOYW1lOiJJbmNlbnNlIERyYWdvbiIsCiB3b3JkczpbCiAgWyJn
aeG7lyIsInpvaCB+4oaXIiwiZGVhdGggYW5uaXZlcnNhcnkiLCJWaWV0bmFtZXNlIGZhbWlsaWVzIGdhdGhlciBvbiB0aGUgYW5uaXZlcnNhcnkgb2YgYSBk
ZWF0aCwgbm90IHRoZSBiaXJ0aGRheS4gR2nhu5cgw7RuZyBuZ2/huqFpID0gR3JhbmRwYSdzIGdp4buXIiwi8J+Vr++4jyIsIlR14bqnbiBzYXUgbMOgIGdp
4buXIMO0bmcgbmdv4bqhaS4iLCJOZXh0IHdlZWsgaXMgR3JhbmRwYSdzIGRlYXRoIGFubml2ZXJzYXJ5LiJdLAogIFsixJHDoW0gZ2nhu5ciLCJkYWhtIOKG
lyB6b2ggfuKGlyIsInRoZSBnaeG7lyBnYXRoZXJpbmciLCLEkMOhbSA9IGV2ZW50L2dhdGhlcmluZy4gxJDDoW0gZ2nhu5csIMSRw6FtIGPGsOG7m2kgKHdl
ZGRpbmcpLCDEkcOhbSB0YW5nIChmdW5lcmFsKSIsIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCJD4bqjIGjhu40gduG7gSBk4buxIMSRw6FtIGdp4buX
LiIsIlRoZSB3aG9sZSBjbGFuIGNhbWUgZm9yIHRoZSBnaeG7ly4iXSwKICBbImLDoG4gdGjhu50iLCJiYWhuIOKGmCB0dWgg4oaYIiwiYW5jZXN0cmFsIGFs
dGFyIiwiVGhlIGhpZ2ggc2hlbGYgd2l0aCBwaG90b3MsIGZydWl0IGFuZCBpbmNlbnNlIGluIGV2ZXJ5IFZpZXRuYW1lc2UgaG9tZSDigJQgaW5jbHVkaW5n
LCBxdWlldGx5LCB5b3VycyBhYnJvYWQiLCLwn5uVIiwiQsOgbiB0aOG7nSDDtG5nIGLDoCDhu58gcGjDsm5nIGtow6FjaC4iLCJUaGUgYW5jZXN0b3JzJyBh
bHRhciBpcyBpbiB0aGUgbGl2aW5nIHJvb20uIl0sCiAgWyJ0aOG6r3AgbmhhbmciLCJ0dXAg4oaXIG55YWhuZyDihpIiLCJ0byBsaWdodCBpbmNlbnNlIChT
b3V0aCkiLCJOb3J0aGVybjogdGjhuq9wIGjGsMahbmcuIFRocmVlIHN0aWNrcywgYm93LCBwbGFjZSB0aGVtIGluIHRoZSBib3dsIiwi8J+Vr++4jyIsIkNv
biB0aOG6r3AgbmhhbmcgY2hvIMO0bmcuIiwiSSBsaWdodCBpbmNlbnNlIGZvciBHcmFuZHBhLiJdLAogIFsibmhhbmciLCJueWFobmcg4oaSIiwiaW5jZW5z
ZSAoU291dGgpIiwiTm9ydGhlcm46IGjGsMahbmcuIFRoZSBzbWVsbCBvZiBldmVyeSBnaeG7lywgZXZlcnkgVOG6v3QsIGV2ZXJ5IGhvbWVjb21pbmciLCLw
n6qUIiwiTXVhIG5oYW5nIOG7nyBjaOG7oy4iLCJCdXkgaW5jZW5zZSBhdCB0aGUgbWFya2V0LiJdLAogIFsiY8O6bmciLCJrb29uZyDihpciLCJ0byBtYWtl
IGFuIG9mZmVyaW5nIiwiQ8O6bmcgw7RuZyBiw6AgPSBvZmZlciBmb29kIHRvIHRoZSBhbmNlc3RvcnMgYmVmb3JlIGFueW9uZSBlYXRzIiwi8J+NsiIsIk3D
oSBjw7puZyB4b25nIHLhu5NpIG3hu5tpIMSDbi4iLCJNb20gZmluaXNoZWQgdGhlIG9mZmVyaW5nIGJlZm9yZSB3ZSBhdGUuIl0sCiAgWyJ04buVIHRpw6pu
IiwidG9oIOKktSB0eWVuIOKGkiIsImFuY2VzdG9ycyIsIlThu5UgdGnDqm4gPSB0aGUgbGluZSBiZWZvcmUgeW91LiBUaGlzIGlzIHdobyB0aGUgYWx0YXIg
aXMgZm9yIiwi8J+nrCIsIk5o4bubIMahbiB04buVIHRpw6puLiIsIlJlbWVtYmVyIHRoZSBhbmNlc3RvcnMgd2l0aCBncmF0aXR1ZGUuIl0sCiAgWyLDtG5n
IGLDoCIsIm9obSDihpIgYmFoIOKGmCIsImdyYW5kcGFyZW50cyAvIHRoZSBhbmNlc3RvcnMiLCLDlG5nIGLDoCBpbiB0aGUgZ2nhu5cgc2Vuc2UgbWVhbnMg
YWxsIHRoZSBlbGRlcnMgd2hvIGNhbWUgYmVmb3JlIiwi8J+nkyIsIkPDum5nIMO0bmcgYsOgIG5nw6B5IGdp4buXLiIsIk1ha2Ugb2ZmZXJpbmdzIHRvIHRo
ZSBhbmNlc3RvcnMgb24gZ2nhu5cgZGF5LiJdLAogIFsidsOhaSIsInZhaSDihpciLCJ0byBib3cgd2l0aCBqb2luZWQgaGFuZHMiLCJWw6FpIGJhIHbDoWkg
PSBib3cgdGhyZWUgdGltZXMsIGluY2Vuc2UgaGVsZCBhdCB0aGUgZm9yZWhlYWQiLCLwn5mHIiwiQ29uIHbDoWkgw7RuZyBiYSB2w6FpLiIsIkkgYm93ZWQg
dG8gR3JhbmRwYSB0aHJlZSB0aW1lcy4iXSwKICBbImzhuqF5IiwibGFpIOKGkyIsInRvIHByb3N0cmF0ZSAvIGJvdyBkZWVwbHkiLCJEZWVwZXIgdGhhbiB2
w6FpIOKAlCBhdCBmdW5lcmFscyBhbmQgdGhlIGJpZ2dlc3QgZ2nhu5ciLCLwn5mPIiwiQ29uIGNow6F1IGzhuqF5IHRyxrDhu5tjIGLDoG4gdGjhu50uIiwi
VGhlIGRlc2NlbmRhbnRzIGJvdyBiZWZvcmUgdGhlIGFsdGFyLiJdLAogIFsibcOibSBjxqFtIiwibXVobSDihpIga3VobSDihpIiLCJ0aGUgb2ZmZXJpbmcg
dHJheSIsIk3Dom0gY8ahbSBjw7puZyA9IHRoZSB0cmF5IG9mIGRpc2hlcyBzZXQgb24gdGhlIGFsdGFyIGZpcnN0Iiwi8J+NsSIsIk3Dom0gY8ahbSBjw7pu
ZyBjw7MgbsSDbSBtw7NuLiIsIlRoZSBvZmZlcmluZyB0cmF5IGhhcyBmaXZlIGRpc2hlcy4iXSwKICBbImLDoHkiLCJiYWkg4oaYIiwidG8gc2V0IG91dCAv
IGFycmFuZ2UiLCJCw6B5IG3Dom0gY8ahbSA9IGFycmFuZ2UgdGhlIHRyYXkg4oCUIGEgam9iIHRoZXkgd2lsbCBnaXZlIHlvdSIsIvCfjb3vuI8iLCJDb24g
cGjhu6UgZMOsIGLDoHkgbcOibSBjxqFtLiIsIkkgaGVscCBBdW50aWUgc2V0IG91dCB0aGUgdHJheS4iXSwKICBbImhvYSBjw7pjIiwiaHdhaCDihpIga29v
ayDihpciLCJjaHJ5c2FudGhlbXVtIiwiVGhlIGFsdGFyIGZsb3dlciDigJQgeWVsbG93IG9yIHdoaXRlLCBuZXZlciByZWQgcm9zZXMiLCLwn4y8IiwiTXVh
IGhvYSBjw7pjIGPDum5nIMO0bmcuIiwiQnV5IGNocnlzYW50aGVtdW1zIGZvciBHcmFuZHBhJ3Mgb2ZmZXJpbmcuIl0sCiAgWyJ0aOG7i3Qga2hvIiwidGl0
IOKGkyBraGF3IOKGkiIsImJyYWlzZWQgcG9yayAod2l0aCBlZ2cpIiwiVGhlIFNvdXRoZXJuIGdp4buXIGFuZCBU4bq/dCBkaXNoIOKAlCBjYXJhbWVsLCBj
b2NvbnV0IHdhdGVyLCBlZ2dzIiwi8J+lmCIsIlRo4buLdCBraG8gY+G7p2EgbeG7oyBuZ29uIG5o4bqldC4iLCJBdW50aWUncyBicmFpc2VkIHBvcmsgaXMg
dGhlIGJlc3QuIl0sCiAgWyJjYW5oIGto4buVIHF1YSIsImthbmcg4oaSIGtob2gg4qS1IGt3YWgg4oaSIiwiYml0dGVyLW1lbG9uIHNvdXAiLCInS2jhu5Ug
cXVhJyBhbHNvIG1lYW5zICdoYXJkc2hpcCBwYXNzZXMnIOKAlCBlYXRlbiBzbyB0aGUgYml0dGVybmVzcyBvZiB0aGUgeWVhciBnb2VzIGF3YXkiLCLwn6Wj
IiwiQ2FuaCBraOG7lSBxdWEgbmjhu5NpIHRo4buLdC4iLCJCaXR0ZXIgbWVsb24gc291cCBzdHVmZmVkIHdpdGggcG9yay4iXSwKICBbImLDoW5oIHTDqXQi
LCJiYW5nIOKGlyB0ZXQg4oaXIiwiY3lsaW5kcmljYWwgc3RpY2t5IHJpY2UgY2FrZSAoU291dGgpIiwiTm9ydGhlcm46IHRoZSBzcXVhcmUgYsOhbmggY2jG
sG5nLiBTYW1lIHJpY2UsIHNhbWUgbG92ZSwgZGlmZmVyZW50IHNoYXBlIiwi8J+NmSIsIkLDoCBnw7NpIGLDoW5oIHTDqXQgY2hvIMSRw6FtIGdp4buXLiIs
IkdyYW5kbWEgd3JhcHBlZCBiw6FuaCB0w6l0IGZvciB0aGUgZ2nhu5cuIl0sCiAgWyJ04bulIGjhu41wIiwidG9vIOKGkyBob3Ag4oaTIiwidG8gZ2F0aGVy
IHRvZ2V0aGVyIiwiQ+G6oyBo4buNIHThu6UgaOG7jXAgPSB0aGUgd2hvbGUgY2xhbiBnYXRoZXJzIOKAlCB0aGUgZ2nhu5cgaXMgYSByZXVuaW9uIGluIGRp
c2d1aXNlIiwi8J+rgiIsIsSQw6FtIGdp4buXIGzDoCBk4buLcCB04bulIGjhu41wLiIsIlRoZSBnaeG7lyBpcyBhIGNoYW5jZSB0byBnYXRoZXIuIl0sCiAg
WyJjb24gY2jDoXUiLCJrb24g4oaSIGNob3cg4oaXIiwiZGVzY2VuZGFudHMiLCJDb24gY2jDoXUgduG7gSDEkcO0bmcgxJHhu6cgPSB0aGUgZGVzY2VuZGFu
dHMgYWxsIGNhbWUgYmFjay4gWW91IGFyZSBvbmUgb2YgdGhlbSBub3ciLCLwn5G2IiwiQ29uIGNow6F1IHbhu4EgxJHDtG5nIMSR4bunLiIsIkFsbCB0aGUg
ZGVzY2VuZGFudHMgY2FtZSBiYWNrLiJdLAogIFsiZMOybmcgaOG7jSIsInpvaG5nIOKGmCBoYXcg4oaTIiwiY2xhbiAvIGxpbmVhZ2UiLCJEw7JuZyBo4buN
IE5ndXnhu4VuID0gdGhlIE5ndXnhu4VuIGNsYW4uIEFzayB3aGljaCBkw7JuZyBo4buNIHlvdSBiZWxvbmcgdG8g4oCUIGJvdGggc2lkZXMiLCLwn4yzIiwi
RMOybmcgaOG7jSBtw6xuaCDhu58gbWnhu4FuIFTDonkuIiwiT3VyIGNsYW4gaXMgZnJvbSB0aGUgTWVrb25nIERlbHRhLiJdLAogIFsibmjhu5sgxqFuIiwi
bnl1aCDihpcgdWhuIOKGkiIsInRvIHJlbWVtYmVyIHdpdGggZ3JhdGl0dWRlIiwiTmjhu5sgxqFuIMO0bmcgYsOgID0gaG9ub3IgdGhlIGFuY2VzdG9ycycg
a2luZG5lc3MiLCLwn5KXIiwiQ29uIGNow6F1IG5o4bubIMahbiDDtG5nIGLDoC4iLCJUaGUgZGVzY2VuZGFudHMgcmVtZW1iZXIgdGhlIGFuY2VzdG9ycyB3
aXRoIGdyYXRpdHVkZS4iXSwKICBbImto4bqlbiIsImtodWhuIOKGlyIsInRvIHByYXkgKHRvIGFuY2VzdG9ycykiLCJLaOG6pW4gaXMgd2hpc3BlcmVkIOKA
lCB0ZWxsIHRoZW0geW91ciBuYW1lLCB0aGF0IHlvdSBjYW1lLCB3aGF0IHlvdSBob3BlIGZvciIsIvCfpLIiLCJNw6Ega2jhuqVuIHRyxrDhu5tjIGLDoG4g
dGjhu50uIiwiTW9tIHByYXllZCBiZWZvcmUgdGhlIGFsdGFyLiJdLAogIFsicGjDuSBo4buZIiwiZm9vIOKGmCBob2gg4oaTIiwidG8gYmxlc3MgLyBwcm90
ZWN0IChhbmNlc3RvcnMpIiwiWGluIMO0bmcgYsOgIHBow7kgaOG7mSA9IGFzayB0aGUgYW5jZXN0b3JzIGZvciBwcm90ZWN0aW9uIiwi8J+boe+4jyIsIlhp
biDDtG5nIGLDoCBwaMO5IGjhu5kgY2hvIGPhuqMgbmjDoC4iLCJNYXkgdGhlIGFuY2VzdG9ycyBwcm90ZWN0IHRoZSB3aG9sZSBmYW1pbHkuIl0sCiAgWyLD
om0gbOG7i2NoIiwidWhtIOKGkiBsaWNrIOKGkyIsImx1bmFyIGNhbGVuZGFyIiwiR2nhu5cgZGF0ZXMgZm9sbG93IHRoZSBsdW5hciBjYWxlbmRhciDigJQg
YXNrIGZvciB0aGUgw6JtIGzhu4tjaCBkYXRlLCB0aGVuIGZpbmQgaXQgb24gdGhlIGFwcCIsIvCfjJkiLCJHaeG7lyDDtG5nIGzDoCBtxrDhu51pIGhhaSB0
aMOhbmcgYmEgw6JtIGzhu4tjaC4iLCJHcmFuZHBhJ3MgZ2nhu5cgaXMgdGhlIDEydGggZGF5IG9mIHRoZSAzcmQgbHVuYXIgbW9udGguIl0sCiAgWyJs4buF
IiwibGVoIH7ihpciLCJjZXJlbW9ueSAvIHJpdHVhbCIsIkzDoG0gbOG7hSA9IHBlcmZvcm0gdGhlIHJpdGU7IG5nw6B5IGzhu4UgPSBob2xpZGF5Iiwi8J+O
jiIsIkzhu4UgYuG6r3QgxJHhuqd1IGzDumMgbcaw4budaSBnaeG7nS4iLCJUaGUgY2VyZW1vbnkgYmVnaW5zIGF0IHRlbi4iXV0sCiBncmFtbWFyOlsKICBb
InRo4bqvcCBuaGFuZyAvIGPDum5nICsgY2hvICsgcGVyc29uIiwidG8gbGlnaHQgaW5jZW5zZSAvIG1ha2Ugb2ZmZXJpbmdzIGZvciDigKYiLCJZb3VyIHBh
cnQgaW4gdGhlIHJpdHVhbCIsImNobyBtYXJrcyB3aG8gaXQgaXMgZm9yLiBUaOG6r3AgbmhhbmcgY2hvIMO0bmcgbmdv4bqhaS4iLCJDb24gdGjhuq9wIG5o
YW5nIGNobyDDtG5nIG5nb+G6oWkuIiwiSSBsaWdodCBpbmNlbnNlIGZvciBHcmFuZHBhLiIsIk3DoSBjw7puZyBjxqFtIGNobyB04buVIHRpw6puLiIsIk1v
bSBvZmZlcnMgcmljZSB0byB0aGUgYW5jZXN0b3JzLiJdLAogIFsiWGluICsgcGVyc29uICsgcGjDuSBo4buZIChjaG8g4oCmKSIsImFza2luZyB0aGUgYW5j
ZXN0b3JzJyBibGVzc2luZyIsIldoYXQgdG8gd2hpc3BlciBhdCB0aGUgYWx0YXIiLCJYaW4gw7RuZyBiw6AgcGjDuSBo4buZIGNobyArIHdoby93aGF0LiBX
aGlzcGVyIGl0OyBub2JvZHkgZ3JhZGVzIHlvdXIgdG9uZXMgaGVyZS4iLCJYaW4gw7RuZyBwaMO5IGjhu5kgY2hvIG3DoSBt4bqhbmgga2jhu49lLiIsIk1h
eSBHcmFuZHBhIHByb3RlY3QgTW9tJ3MgaGVhbHRoLiIsIlhpbiB04buVIHRpw6puIHBow7kgaOG7mSBjaG8gY+G6oyBuaMOgLiIsIk1heSB0aGUgYW5jZXN0
b3JzIHByb3RlY3QgdGhlIHdob2xlIGZhbWlseS4iXSwKICBbInbDoG8gbmfDoHkgKyBkYXRlICsgw6JtIGzhu4tjaCIsIm9uIHRoZSDigKYgKGx1bmFyKSBk
YXkiLCJSZWFkaW5nIGFuZCBzYXlpbmcgZ2nhu5cgZGF0ZXMiLCJ2w6BvIG5nw6B5ICsgbcaw4budaSBsxINtICsgdGjDoW5nICsgYuG6o3kgKyDDom0gbOG7
i2NoLiBBbHdheXMgc2F5IMOibSBs4buLY2ggdG8gYXZvaWQgY29uZnVzaW9uLiIsIkdp4buXIGLDoCBj4buRIHbDoG8gbmfDoHkgbeG7k25nIG7Eg20gdGjD
oW5nIGdpw6puZyDDom0gbOG7i2NoLiIsIkdyZWF0LWdyYW5kbWEncyBnaeG7lyBpcyB0aGUgNXRoIGRheSBvZiB0aGUgMXN0IGx1bmFyIG1vbnRoLiIsIk7E
g20gbmF5IGdp4buXIMO0bmcgcsahaSB2w6BvIG5nw6B5IG7DoG8/IiwiV2hpY2ggZGF5IGRvZXMgR3JhbmRwYSdzIGdp4buXIGZhbGwgb24gdGhpcyB5ZWFy
PyJdXX0sCgp7bjoyNCwga3I6IkjhurluIGfhurdwIGzhuqFpIiwgZW46IlRoZSBQcm9taXNlIiwgdmk6Ik5vdCBnb29kYnllIOKAlCBzZWUgeW91IGFnYWlu
IiwgZW1vamk6IvCfpJ0iLCBib3NzOiLwn6aLIiwgYm9zc05hbWU6IkZhcmV3ZWxsIEJ1dHRlcmZseSIsCiB3b3JkczpbCiAgWyJo4bupYSIsImhvby1haCDi
hpciLCJ0byBwcm9taXNlIiwiQ29uIGjhu6lhID0gSSBwcm9taXNlLiBUbyBhIFZpZXRuYW1lc2UgZ3JhbmRtb3RoZXIsIGEgcHJvbWlzZSBpcyBhIGRlYnQi
LCLwn6SeIiwiQ29uIGjhu6lhIHPhur0gduG7gSBu4buvYS4iLCJJIHByb21pc2UgSSB3aWxsIGNvbWUgYmFjay4iXSwKICBbImdp4buvIGzhu51pIiwiem9v
IH7ihpcgbHVoLWVlIOKGmCIsInRvIGtlZXAgb25lJ3Mgd29yZCIsIkdp4buvIGzhu51pIGjhu6lhID0ga2VlcCB0aGUgcHJvbWlzZS4gVGhlIGZhbWlseSBy
ZW1lbWJlcnMgd2hvIGRpZCIsIvCflJIiLCJNw6EgbHXDtG4gZ2nhu68gbOG7nWkuIiwiTW9tIGFsd2F5cyBrZWVwcyBoZXIgd29yZC4iXSwKICBbInF1YXkg
bOG6oWkiLCJrd2FpIOKGkiBsYWkg4oaTIiwidG8gY29tZSBiYWNrIiwiU+G6vSBxdWF5IGzhuqFpID0gd2lsbCByZXR1cm4uIFNlYXNvbiAxIGVuZGVkIG9u
IHRoaXMgd29yZCB0b28iLCLwn5SBIiwiU2FuZyBuxINtIGNvbiBxdWF5IGzhuqFpLiIsIk5leHQgeWVhciBJIHdpbGwgY29tZSBiYWNrLiJdLAogIFsibOG6
p24gc2F1IiwibHVobiDihpggc2hvdyDihpIiLCJuZXh0IHRpbWUiLCJM4bqnbiBzYXUgduG7gSBsw6J1IGjGoW4gbmhhID0gbmV4dCB0aW1lIHN0YXkgbG9u
Z2VyLCBva2F5IOKAlCB3aGF0IGV2ZXJ5b25lIHNheXMgYXQgdGhlIGdhdGUiLCLij63vuI8iLCJM4bqnbiBzYXUgY29uIOG7nyBsw6J1IGjGoW4uIiwiTmV4
dCB0aW1lIEkgd2lsbCBzdGF5IGxvbmdlci4iXSwKICBbInNhbmcgbsSDbSIsInNoYWhuZyDihpIgbmFtIOKGkiIsIm5leHQgeWVhciIsIlNhbmcgbsSDbSDE
g24gVOG6v3Qg4bufIMSRw6J5IG5oYSA9IG5leHQgeWVhciwgVOG6v3QgaGVyZSwgb2theT8iLCLwn5OFIiwiU2FuZyBuxINtIGPhuqMgbmjDoCBjw7luZyB2
4buBLiIsIk5leHQgeWVhciB0aGUgd2hvbGUgZmFtaWx5IGNvbWVzIGJhY2sgdG9nZXRoZXIuIl0sCiAgWyJ2w6kgbcOheSBiYXkiLCJ2ZWgg4oaXIG1haSDi
hpcgYmFpIOKGkiIsInBsYW5lIHRpY2tldCIsIsSQ4bq3dCB2w6kgbcOheSBiYXkgc+G7m20gPSBib29rIGVhcmx5IOKAlCBU4bq/dCBmbGlnaHRzIHNlbGwg
b3V0IGJ5IE9jdG9iZXIiLCLwn46rIiwiVsOpIG3DoXkgYmF5IFThur90IG3huq9jIGzhuq9tLiIsIlThur90IHBsYW5lIHRpY2tldHMgYXJlIHZlcnkgZXhw
ZW5zaXZlLiJdLAogIFsiZOG6q24iLCJ6dWhuIH7ihpciLCJ0byBicmluZyAvIGxlYWQgKGEgcGVyc29uKSIsIkThuqtuIG3DoSB24buBID0gYnJpbmcgTW9t
IGhvbWUuIFlvdSBkaWQgdGhpcy4gTm93OiBk4bqrbiBiYSB24buBLCBk4bqrbiBjb24gduG7gSIsIvCfp60iLCJM4bqnbiBzYXUgY29uIGThuqtuIGJhIHbh
u4EuIiwiTmV4dCB0aW1lIEkgd2lsbCBicmluZyBEYWQuIl0sCiAgWyJj4bqjIG5ow6AiLCJrYWgg4qS1IG55YWgg4oaYIiwidGhlIHdob2xlIGZhbWlseSIs
IkPhuqMgbmjDoCBtw6xuaCA9IGFsbCBvZiB1cy4gQmlnZ2VyIG5vdyB0aGFuIHdoZW4geW91IGFycml2ZWQiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5Gm
IiwiQ+G6oyBuaMOgIHJhIHPDom4gYmF5IHRp4buFbi4iLCJUaGUgd2hvbGUgZmFtaWx5IGNhbWUgdG8gdGhlIGFpcnBvcnQuIl0sCiAgWyLEkW/DoG4gdOG7
pSIsImR3YWhuIOKGmCB0b28g4oaTIiwidG8gcmV1bml0ZSAoZmFtaWx5KSIsIkdpYSDEkcOsbmggxJFvw6BuIHThu6UgPSBmYW1pbHkgcmV1bml0ZWQg4oCU
IHRoZSBwaHJhc2UgZm9yIHdoYXQgdGhpcyB0cmlwIHdhcyIsIvCfq4IiLCJDdeG7kWkgY8O5bmcgZ2lhIMSRw6xuaCBjxaluZyDEkW/DoG4gdOG7pS4iLCJB
dCBsYXN0IHRoZSBmYW1pbHkgaXMgcmV1bml0ZWQuIl0sCiAgWyJtw6NpIG3Do2kiLCJtYWkgfuKGlyBtYWkgfuKGlyIsImZvcmV2ZXIiLCJOaOG7myBtw6Np
IG3Do2kgPSByZW1lbWJlciBmb3JldmVyIiwi4pm+77iPIiwiQ29uIHPhur0gbmjhu5sgY2h1eeG6v24gxJFpIG7DoHkgbcOjaSBtw6NpLiIsIkkgd2lsbCBy
ZW1lbWJlciB0aGlzIHRyaXAgZm9yZXZlci4iXSwKICBbImfhu5FjIHLhu4UiLCJnb2hrIOKGlyB6ZWggfuKGlyIsInJvb3RzIiwiVMOsbSB24buBIGfhu5Fj
IHLhu4UgPSByZXR1cm4gdG8gb25lJ3Mgcm9vdHMg4oCUIHdoYXQgeW91IGFjdHVhbGx5IGRpZCIsIvCfjLMiLCJDb24gdMOsbSB24buBIGfhu5FjIHLhu4Ug
Y+G7p2EgbcOsbmguIiwiSSByZXR1cm5lZCB0byBteSByb290cy4iXSwKICBbIm5ndeG7k24gY+G7mWkiLCJuZ29vLXVobiDihpgga295IOKGkyIsIm9yaWdp
bnMgLyB3aGVyZSBvbmUgY29tZXMgZnJvbSIsIk5o4bubIG5ndeG7k24gY+G7mWkgPSByZW1lbWJlciB3aGVyZSB5b3UgY29tZSBmcm9tIOKAlCB0aGUgVmll
dG5hbWVzZSBjb21tYW5kbWVudCIsIvCfjLEiLCLEkOG7q25nIHF1w6puIG5ndeG7k24gY+G7mWkgbmhhIGNvbi4iLCJEbyBub3QgZm9yZ2V0IHlvdXIgb3Jp
Z2lucy4iXSwKICBbInRydXnhu4FuIGzhuqFpIiwiY2h3ZWUtdWhuIOKGmCBsYWkg4oaTIiwidG8gcGFzcyBkb3duIiwiVHJ1eeG7gW4gbOG6oWkgY2hvIGNv
biBjaMOhdSA9IHBhc3MgZG93biB0byB0aGUgbmV4dCBnZW5lcmF0aW9uLiBSZWNpcGVzLCBuYW1lcywgdGhlIGxhbmd1YWdlIiwi8J+OgSIsIkLDoCB0cnV5
4buBbiBs4bqhaSBjw6FjaCBu4bqldSB0aOG7i3Qga2hvLiIsIkdyYW5kbWEgcGFzc2VkIGRvd24gdGhlIGJyYWlzZWQtcG9yayByZWNpcGUuIl0sCiAgWyJk
4bqheSBs4bqhaSIsInphaSDihpMgbGFpIOKGkyIsInRvIHRlYWNoIGluIHR1cm4iLCJDb24gc+G6vSBk4bqheSBs4bqhaSBjaG8gY29uIGPhu6dhIGNvbiA9
IEkgd2lsbCB0ZWFjaCBpdCB0byBteSBvd24ga2lkcy4gVGhlIGNpcmNsZSIsIvCfk5oiLCJDb24gc+G6vSBk4bqheSBs4bqhaSB0aeG6v25nIFZp4buHdCBj
aG8gY29uIGPhu6dhIGNvbi4iLCJJIHdpbGwgdGVhY2ggVmlldG5hbWVzZSB0byBteSBvd24gY2hpbGRyZW4uIl0sCiAgWyJ0aeG6v3AgdOG7pWMiLCJ0eWVw
IOKGlyB0b29rIOKGkyIsInRvIGNvbnRpbnVlIiwiVGnhur9wIHThu6VjIGjhu41jID0ga2VlcCBsZWFybmluZy4gVGhlIGFwcCdzIHdob2xlIHJlcXVlc3Qi
LCLinqHvuI8iLCJW4buBIENhbmFkYSBjb24gdGnhur9wIHThu6VjIGjhu41jLiIsIkJhY2sgaW4gQ2FuYWRhIEkgd2lsbCBrZWVwIGxlYXJuaW5nLiJdLAog
IFsiaMOjbmggZGnhu4duIiwiaGFuZyB+4oaXIHp5ZW4g4oaTIiwicHJvdWQgKFNvdXRoKSIsIk5vcnRoZXJuOiB04buxIGjDoG8uIELDoCBow6NuaCBkaeG7
h24gduG7gSBjb24gPSBHcmFuZG1hIGlzIHByb3VkIG9mIHlvdS4gU2hlIHdpbGwgc2F5IGl0IG5vdyIsIvCfj4UiLCJCw6AgaMOjbmggZGnhu4duIHbhu4Eg
Y29uIGzhuq9tLiIsIkdyYW5kbWEgaXMgdmVyeSBwcm91ZCBvZiB5b3UuIl0sCiAgWyJj4bqjbSDEkeG7mW5nIiwia2FobSDipLUgZG9obmcg4oaTIiwibW92
ZWQgLyB0b3VjaGVkIiwiQ+G6o20gxJHhu5luZyBxdcOhID0gc28gbW92ZWQuIEV2ZXJ5b25lLCBhdCB0aGUgZ2F0ZSIsIvCfpbkiLCJNw6EgY+G6o20gxJHh
u5luZyBow7RuZyBuw7NpIMSRxrDhu6NjLiIsIk1vbSB3YXMgdG9vIG1vdmVkIHRvIHNwZWFrLiJdLAogIFsiY2hpYSB0YXkiLCJjaGVlLWFoIOKGkiB0YWkg
4oaSIiwidG8gc2F5IGdvb2RieWUgLyBwYXJ0IiwiQ2hpYSB0YXkgYnXhu5NuIGzhuq9tID0gcGFydGluZyBpcyBzYWQuIEl0IGlzLiBBbmQgaXQgaXMgbm90
IHRoZSBlbmQiLCLwn5GLIiwiQ2hpYSB0YXkgYsOgIG5nb+G6oWkgYnXhu5NuIGzhuq9tLiIsIlNheWluZyBnb29kYnllIHRvIEdyYW5kbWEgaXMgc28gc2Fk
LiJdLAogIFsidGnhu4VuIiwidHllbiB+4oaXIiwidG8gc2VlIHNvbWVvbmUgb2ZmIiwiVGnhu4VuIHJhIHPDom4gYmF5ID0gc2VlIG9mZiBhdCB0aGUgYWly
cG9ydCDigJQgdGhlIHdob2xlIGZhbWlseSwgb25lIHRheGkgdG9vIG1hbnkiLCLwn5qXIiwiQ+G6rXUgdGnhu4VuIHThu6VpIGNvbiByYSBzw6JuIGJheS4i
LCJVbmNsZSBzZWVzIHVzIG9mZiBhdCB0aGUgYWlycG9ydC4iXSwKICBbImPhu5VuZyIsImtvaG5nIOKktSIsImdhdGUiLCJD4buVbmcgbmjDoCA9IHRoZSBo
b3VzZSBnYXRlOyBj4buVbmcgc8OibiBiYXkgPSB0aGUgYm9hcmRpbmcgZ2F0ZSIsIvCfmqoiLCJCw6AgxJHhu6luZyDhu58gY+G7lW5nIHbhuqt5IHRheS4i
LCJHcmFuZG1hIHN0b29kIGF0IHRoZSBnYXRlIHdhdmluZy4iXSwKICBbInbhuqt5IHRheSIsInZheSB+4oaXIHRhaSDihpIiLCJ0byB3YXZlIiwiVuG6q3kg
dGF5IHThu5tpIGtoaSBow7RuZyB0aOG6pXkgbuG7r2EgPSB3YXZlIHVudGlsIHlvdSBjYW5ub3Qgc2VlIHRoZW0gYW55bW9yZSIsIvCfkYsiLCJD4bqjIG5o
w6AgduG6q3kgdGF5IHRoZW8geGUuIiwiVGhlIHdob2xlIGZhbWlseSB3YXZlZCBhZnRlciB0aGUgY2FyLiJdLAogIFsiaOG6uW4gZ+G6t3AgbOG6oWkiLCJo
ZW4g4oaTIGdhcCDihpMgbGFpIOKGkyIsInNlZSB5b3UgYWdhaW4iLCJOb3QgdOG6oW0gYmnhu4d0LiBI4bq5biBn4bq3cCBs4bqhaSA9IHdlIGhhdmUgYW4g
YXBwb2ludG1lbnQgdG8gbWVldCBhZ2FpbiIsIvCfpJ0iLCJI4bq5biBn4bq3cCBs4bqhaSwgYsOgIG5nb+G6oWkhIiwiU2VlIHlvdSBhZ2FpbiwgR3JhbmRt
YSEiXSwKICBbImdoaSBuaOG7myIsImdlZSDihpIgbnl1aCDihpciLCJ0byBrZWVwIGluIG1pbmQgLyByZW1lbWJlciB3ZWxsIiwiR2hpIG5o4bubIGzhu51p
IGLDoCA9IHJlbWVtYmVyIEdyYW5kbWEncyB3b3JkcyIsIvCfk50iLCJDb24gZ2hpIG5o4bubIGzhu51pIGLDoC4iLCJJIHdpbGwgcmVtZW1iZXIgeW91ciB3
b3JkcywgR3JhbmRtYS4iXSwKICBbIm3huqFuaCBnaeG7j2kiLCJtYW5nIOKGkyB6b3kg4qS1IiwiaGVhbHRoeSBhbmQgd2VsbCAoU291dGgpIiwiVGhlIFNv
dXRoZXJuIGZhcmV3ZWxsIHdpc2g6IELDoCDhu58gbOG6oWkgbeG6oW5oIGdp4buPaSBuaGEgPSBzdGF5IGhlYWx0aHkgYW5kIHdlbGwsIEdyYW5kbWEiLCLw
n5KqIiwiQsOgIOG7nyBs4bqhaSBt4bqhbmggZ2nhu49pIG5oYSEiLCJTdGF5IGhlYWx0aHkgYW5kIHdlbGwsIEdyYW5kbWEhIl1dLAogZ3JhbW1hcjpbCiAg
WyJo4bupYSArIHPhur0gKyB2ZXJiIiwidG8gcHJvbWlzZSB0byDigKYiLCJNYWtpbmcgdGhlIHByb21pc2UgdGhhdCBtYXR0ZXJzIiwiaOG7qWEgc+G6vSAr
IHZlcmIuIENvbiBo4bupYSBz4bq9IHbhu4EsIGNvbiBo4bupYSBz4bq9IGfhu41pLCBjb24gaOG7qWEgc+G6vSBo4buNYyB0aeG6v3AuIiwiQ29uIGjhu6lh
IHPhur0gduG7gSBu4buvYS4iLCJJIHByb21pc2UgSSB3aWxsIGNvbWUgYmFjayBhZ2Fpbi4iLCJDb24gaOG7qWEgc+G6vSBn4buNaSBiw6AgbeG7l2kgdHXh
uqduLiIsIkkgcHJvbWlzZSB0byBjYWxsIEdyYW5kbWEgZXZlcnkgd2Vlay4iXSwKICBbImThuqtuICsgcGVyc29uICsgduG7gSAvIMSRaSIsInRvIGJyaW5n
IHNvbWVvbmUgaG9tZSAvIGFsb25nIiwiUGxhbm5pbmcgdGhlIG5leHQgdHJpcCB3aXRoIHBlb3BsZSBpbiBpdCIsImThuqtuICsgd2hvICsgduG7gS4gTOG6
p24gc2F1IGThuqtuIGJhIHbhu4EuIFNhbmcgbsSDbSBk4bqrbiBjb24gduG7gS4iLCJM4bqnbiBzYXUgY29uIGThuqtuIGJhIHbhu4EuIiwiTmV4dCB0aW1l
IEkgd2lsbCBicmluZyBEYWQgaG9tZS4iLCJNw6EgZOG6q24gY29uIHbhu4EgZ+G6t3AgYsOgLiIsIk1vbSBicm91Z2h0IG1lIGhvbWUgdG8gbWVldCBHcmFu
ZG1hLiJdLAogIFsiaOG6uW4gKyB0aW1lICsgZ+G6t3AgbOG6oWkiLCJzZWUgeW91IChhdCB0aW1lKSIsIlRoZSBmYXJld2VsbCB0aGF0IGlzIGEgcGxhbiwg
bm90IGFuIGVuZGluZyIsImjhurluICsgc2FuZyBuxINtIC8gVOG6v3QgLyBs4bqnbiBzYXUgKyBn4bq3cCBs4bqhaS4iLCJI4bq5biBzYW5nIG7Eg20gZ+G6
t3AgbOG6oWkgbmhhIGLDoC4iLCJTZWUgeW91IG5leHQgeWVhciwgR3JhbmRtYS4iLCJI4bq5biBU4bq/dCBn4bq3cCBs4bqhaSBj4bqjIG5ow6AuIiwiU2Vl
IHlvdSBhbGwgYXQgVOG6v3QuIl1dfQpdOwpMRVNTT05TLnB1c2goLi4uTEVTU09OU19TMik7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNFQVNPTiAyIFNUT1JJRVMg4oCUIFbhu4EgU8OgaSBHw7JuIHbhu5tpIG3hurkuIFlvdXIg
bW90aGVyIGNvbWVzIGJhY2sgd2l0aAogICB5b3UsIHRoaXJ0eSB5ZWFycyBhZnRlciBzaGUgbGVmdC4gU291dGhlcm4gZmFtaWx5LCBTb3V0aGVybiB3b3Jk
cy4KICAgRGlzdHJhY3RvcnM6IG9uZSByZWdpc3Rlci90aXRsZSB0cmFwICsgb25lIHdyb25nIG1vdmUsIGFzIGluIFMxLgogICA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmNvbnN0IFNUT1JJRVNfUzIgPSB7CjEzOnt0OiLinIjvuI8gTcOh
IHbhu4EgbmjDoCIsIHN0ZXBzOlsKIHtiZzoiZGF5IixzYzoi4pyI77iP8J+brPCfjIYiLG5hcjoiVMOibiBTxqFuIE5o4bqldCBBaXJwb3J0LiBZb3VyIG1v
dGhlciBoYXMgbm90IHNsZXB0IHRoZSB3aG9sZSBmbGlnaHQuIEF0IHRoZSBhcnJpdmFscyBnYXRlIGEgeW91bmcgd29tYW4gaW4gYSB5ZWxsb3cgw6FvIGTD
oGkgaXMganVtcGluZyBhbmQgd2F2aW5nIOKAlCB5b3VyIGNvdXNpbiBWeS4gQmVoaW5kIGhlciwgYW4gb2xkZXIgbWFuIHdpdGggeW91ciBtb3RoZXIncyBl
eWVzOiBD4bqtdSBUxrAuIix3aG86IvCfmYIgVnkiLGtyOiJEw6wgSMawxqFuZyEgQW5oIFRvbSEgROG6oSwgY29uIGzDoCBWeSBuw6ghIixlbjoiQXVudGll
IEjGsMahbmchIFRvbSEgWWVzLCBpdCBpcyBtZSwgVnkhIixjaDpbWyJDaMOgbyBlbSEgQW5oIGzDoCBUb20uIEzDonUgbOG6r20gcuG7k2kgaMOpbiEiLCJI
aSEgSSBhbSBUb20uIEl0IGhhcyBiZWVuIHNvIGxvbmcsIHJpZ2h0ISIsMV0sWyJDaMOgbyBjw7Qg4bqhISBDaMOhdSBsw6AgVG9tLiIsIkhlbGxvLCBNaXNz
IChjw7QpISBJIGFtIFRvbS4gKHNoZSBpcyB5b3VyIFlPVU5HRVIgY291c2luIOKAlCBlbSEpIiwwXSxbIuG7nC4gWGUg4bufIMSRw6J1PyIsIlllYWguIFdo
ZXJlIGlzIHRoZSBjYXI/IiwwXV19LAoge2JnOiJkYXkiLHNjOiLwn5qX8J+MhvCfm7UiLG5hcjoiQ+G6rXUgVMawIHRha2VzIHlvdXIgbW90aGVyJ3Mgc3Vp
dGNhc2Ugd2l0aG91dCBhIHdvcmQsIHRoZW4gc3RvcHMsIGFuZCBsb29rcyBhdCBoZXIgZm9yIGEgbG9uZyB0aW1lLiBUaGlydHkgeWVhcnMuIEhlIHNheXMg
b25seSBvbmUgc2VudGVuY2UsIGFuZCBoaXMgdm9pY2UgY3JhY2tzIG9uIGl0LiIsd2hvOiLwn5Go4oCN8J+msSBD4bqtdSBUxrAiLGtyOiJDaOG7iyBIxrDG
oW5n4oCmIGNo4buLIHbhu4EgdGhp4buHdCBy4buTaS4gRW0gbeG7q25nIHF1w6EuIixlbjoiU2lzdGVyIEjGsMahbmfigKYgeW91IHJlYWxseSBjYW1lIGJh
Y2suIEkgYW0gc28gZ2xhZC4iLGNoOltbIkThuqEsIGNvbiBjaMOgbyBj4bqtdSBUxrAuIENvbiBsw6AgVG9tLCBjb24gY+G7p2EgbcOhIEjGsMahbmcg4bqh
LiIsIkhlbGxvLCBVbmNsZSBUxrAuIEkgYW0gVG9tLCBIxrDGoW5nJ3Mgc29uLiIsMV0sWyJDaMOgbyBjaMO6ISBDaMO6IGzDoCBhaSB24bqteT8iLCJIaSAn
Y2jDuichIFdobyBhcmUgeW91PyAoaGUgaXMgeW91ciBtb3RoZXIncyBCUk9USEVSIOKAlCBj4bqtdSkiLDBdLFsiQ29uIMSRw7NpIHLhu5NpLiDEkGkgxINu
IGjDtG5nIGPhuq11PyIsIkkgYW0gaHVuZ3J5LiBTaGFsbCB3ZSBlYXQsIFVuY2xlPyAo4oCmcmlnaHQgbm93PykiLDBdXX0sCiB7Ymc6ImluZG9vciIsc2M6
IvCfj6Dwn5G18J+MuCIsbmFyOiJBIGhvdXNlIGF0IHRoZSBlbmQgb2YgYSBo4bq7bSBpbiBRdeG6rW4gNS4gVGhlIGdhdGUgaXMgYWxyZWFkeSBvcGVuLiBB
IHRpbnkgd29tYW4gaW4gYSBwdXJwbGUgYmxvdXNlIHN0YW5kcyBpbiBpdCDigJQgc2hlIGhhcyBiZWVuIHN0YW5kaW5nIHRoZXJlIGZvciBhbiBob3VyLiBC
w6Agbmdv4bqhaS4gWW91ciBtb3RoZXIgc3RvcHMgd2Fsa2luZy4iLHdobzoi8J+RtSBCw6Agbmdv4bqhaSIsa3I6IkjGsMahbmfigKYgY29uIGfDoWkgY+G7
p2EgbcOhLiBW4buBIHLhu5NpIGjhuqMgY29uPyIsZW46IkjGsMahbmfigKYgbXkgZGF1Z2h0ZXIuIFlvdSBhcmUgaG9tZT8iLGNoOltbIkThuqEsIGNvbiBj
aMOgbyBiw6Agbmdv4bqhaS4gQ29uIGzDoCBUb20sIGNow6F1IGPhu6dhIGLDoCDhuqEuIiwiSGVsbG8sIEdyYW5kbWEuIEkgYW0gVG9tLCB5b3VyIGdyYW5k
Y2hpbGQuIiwxXSxbIkNow6BvIGLDoC4gTmjDoCBiw6AgY8OzIHdpZmkgaMO0bmc/IiwiSGkgR3JhbmRtYS4gRG9lcyB5b3VyIGhvdXNlIGhhdmUgd2lmaT8g
KHJlYWQgdGhlIHJvb20pIiwwXSxbIkNow6BvIGLDoCBu4buZaSDhuqEhIiwiSGVsbG8sIEdyYW5kbWEgKGRhZCdzIHNpZGUpISAoc2hlIGlzIGLDoCBOR0/h
uqBJIOKAlCBNb20ncyBtb3RoZXIpIiwwXV19LAoge2JnOiJkYXduIixzYzoi8J+kl/CfmK3wn5KbIixuYXI6IkLDoCBuZ2/huqFpIGRvZXMgbm90IGh1Zy4g
VmlldG5hbWVzZSBncmFuZG1vdGhlcnMgZG8gbm90IGh1Zy4gQsOgIG5nb+G6oWkgaHVncyB5b3VyIG1vdGhlciBmb3IgYSBmdWxsIG1pbnV0ZSBpbiB0aGUg
ZG9vcndheSwgYW5kIG5vYm9keSBpbiB0aGUgaOG6u20gcHJldGVuZHMgbm90IHRvIHdhdGNoLiBUaGVuIHNoZSB0dXJucyB0byB5b3UgYW5kIHBhdHMgeW91
ciBjaGVlayBoYXJkLiIsd2hvOiLwn5G1IELDoCBuZ2/huqFpIixrcjoiQ2jDoXUgbOG7m24gZOG7ryEgTsOzaSB0aeG6v25nIFZp4buHdCDEkcaw4bujYyBo
w7RuZyBjb24/IixlbjoiWW91IGhhdmUgZ3Jvd24gc28gbXVjaCEgQ2FuIHlvdSBzcGVhayBWaWV0bmFtZXNlPyIsY2g6W1siROG6oSDEkcaw4bujYyBt4buZ
dCBjaMO6dCDhuqEuIENvbiDEkWFuZyBo4buNYyDEkeG7gyBuw7NpIGNodXnhu4duIHbhu5tpIGLDoC4iLCJZZXMsIGEgbGl0dGxlLiBJIGFtIGxlYXJuaW5n
IHNvIEkgY2FuIHRhbGsgd2l0aCB5b3UuIiwxXSxbIuG7nCwgxJHGsOG7o2MuIiwiWWVhaCwgc3VyZS4gKOG7nSB0byB5b3VyIGdyYW5kbW90aGVyIOKAlCBu
ZXZlcikiLDBdLFsiROG6oSBow7RuZy4gTcOhIGThu4tjaCBnacO5bSBjb24uIiwiTm8uIE1vbSB0cmFuc2xhdGVzIGZvciBtZS4gKGFmdGVyIFNlYXNvbiAx
PyEpIiwwXV19XX0sCjE0Ont0OiLwn42cIELhu69hIHPDoW5nIMSR4bqndSB0acOqbiIsIHN0ZXBzOlsKIHtiZzoiY2l0eSIsc2M6IvCfjZzwn6qR8J+MhSIs
bmFyOiJTaXggYS5tLiBWeSBkcmFncyB5b3UgYW5kIHlvdXIgbW90aGVyIHRvIGEgaOG7pyB0aeG6v3UgY2FydCBvbiB0aGUgc2lkZXdhbGsg4oCUIHRocmVl
IHBsYXN0aWMgc3Rvb2xzLCBhIHBvdCB0aGUgc2l6ZSBvZiBhIGJhdGh0dWIuIFRoZSBsYWR5IHJ1bm5pbmcgaXQgaGFzIGtub3duIHlvdXIgZmFtaWx5IGZv
ciBmb3J0eSB5ZWFycy4iLHdobzoi8J+nkeKAjfCfjbMgQ8O0IGLDoW4gaOG7pyB0aeG6v3UiLGtyOiJUcuG7nWkgxqFpLCBIxrDGoW5nIGjhuqM/IENvbiBj
4bunYSBIxrDGoW5nIG7hu69hIGjhuqM/IMSCbiBnw6wgY29uPyIsZW46Ik9oIG15LCBIxrDGoW5nPyBBbmQgSMawxqFuZydzIGNoaWxkPyBXaGF0IHdpbGwg
eW91IGhhdmUsIGRlYXI/IixjaDpbWyJE4bqhLCBjaG8gY29uIG3hu5l0IHTDtCBo4bunIHRp4bq/dSBuaGEgY8O0ISIsIlllcywgb25lIGJvd2wgb2YgaOG7
pyB0aeG6v3UgZm9yIG1lLCBwbGVhc2UhIiwxXSxbIkNobyBjaMOhdSBt4buZdCBiw6F0IHBo4bufIOG6oS4iLCJPbmUgYm93bCAoYsOhdCkgb2YgcGjhu58s
IHBsZWFzZS4gKE5vcnRoZXJuIHdvcmRzIGF0IGEgU291dGhlcm4gY2FydCDigJQgc2hlIHdpbGwgbGF1Z2gpIiwwXSxbIsOKLCBt4buZdCB0w7QhIiwiSGV5
LCBvbmUgYm93bCEgKHRvIGEgd29tYW4gd2hvIGtuZXcgeW91ciBtb3RoZXIgYXMgYSBjaGlsZCkiLDBdXX0sCiB7Ymc6ImNpdHkiLHNjOiLimJXwn6Wb8J+Y
iyIsbmFyOiJZb3VyIG1vdGhlciBvcmRlcnMgd2l0aG91dCB0aGlua2luZyDigJQgJ23hu5l0IGx5IGLhuqFjIHjhu4l1JyDigJQgYW5kIHRoZW4gc3RvcHMs
IHN1cnByaXNlZCBhdCBoZXJzZWxmLiBUaGlydHkgeWVhcnMsIGFuZCB0aGUgd29yZHMgd2VyZSB3YWl0aW5nLiBWeSBncmlucyBhdCB5b3U6IHlvdXIgdHVy
bi4iLHdobzoi8J+ZgiBWeSIsa3I6IkFuaCB14buRbmcgZ8OsPyBDw6AgcGjDqiBz4buvYSDEkcOhIFPDoGkgR8OybiBuZ29uIGzhuq9tIMSRw7MhIixlbjoi
V2hhdCB3aWxsIHlvdSBkcmluaz8gU8OgaSBHw7JuIGljZWQgbWlsayBjb2ZmZWUgaXMgZGVsaWNpb3VzISIsY2g6W1siQ2hvIGFuaCBt4buZdCBseSBjw6Ag
cGjDqiBz4buvYSDEkcOhLCDDrXQgxJHGsOG7nW5nIG5oYS4iLCJPbmUgaWNlZCBtaWxrIGNvZmZlZSBmb3IgbWUsIGxlc3Mgc3VnYXIgcGxlYXNlLiIsMV0s
WyJDaG8gYW5oIG3hu5l0IGPhu5FjIGPDoCBwaMOqIHPhu69hIMSRw6EuIiwiT25lIGN1cCAoY+G7kWMpIG9mIGljZWQgbWlsayBjb2ZmZWUuICh0aGF0IGlz
IHRoZSBIw6AgTuG7mWkgd29yZCDigJQgaGVyZSBpdCBpcyBseSkiLDBdLFsiQW5oIGjDtG5nIHXhu5FuZy4gVuG7gSBuaMOgIHRow7RpLiIsIkkgYW0gbm90
IGRyaW5raW5nLiBMZXQgdXMgZ28gaG9tZS4gKFZ5IHBsYW5uZWQgdGhpcyBmb3Igd2Vla3MpIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+NnPCfjLbvuI/w
n6WiIixuYXI6IlRoZSBo4bunIHRp4bq/dSBhcnJpdmVzIOKAlCBjbGVhciBicm90aCwgc2hyaW1wLCBhIHF1YWlsIGVnZywgYSBtb3VudGFpbiBvZiBoZXJi
cy4gWW91ciBtb3RoZXIgc3F1ZWV6ZXMgbGltZSBpbnRvIHlvdXIgYm93bCB0aGUgd2F5IHNoZSBkaWQgd2hlbiB5b3Ugd2VyZSBzaXguIFRoZSBsYWR5IHdh
dGNoZXMgeW91IHRha2UgdGhlIGZpcnN0IHNwb29uZnVsLiIsd2hvOiLwn6eR4oCN8J+NsyBDw7QgYsOhbiBo4bunIHRp4bq/dSIsa3I6IlNhbyBjb24/IE5n
b24gaMO0bmc/IixlbjoiV2VsbD8gSXMgaXQgZ29vZD8iLGNoOltbIkThuqEgbmdvbiBsw6BuaCBsdcO0biBjw7QhIE5nb24gZOG7ryBs4bqvbSEiLCJEZWxp
Y2lvdXMsIG1hJ2FtISBTbyBnb29kISIsMV0sWyJE4bqhIGPFqW5nIMSRxrDhu6NjLiIsIkl0IGlzIG9rYXksIEkgZ3Vlc3MuICh0byB0aGUgd29tYW4gd2hv
IGZlZCB5b3VyIG1vdGhlciBmb3IgZnJlZSBpbiAxOTg4KSIsMF0sWyJOZ29uIHF1w6EgYsOgIMahaSEiLCJTbyBnb29kLCBHcmFuZG1hISAoc2hlIGlzIGPD
tCDigJQgbm90IHlvdXIgZ3JhbmRtb3RoZXIpIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+SuPCfmYXwn5iEIixuYXI6IlRpbWUgdG8gcGF5LiBWeSByZWFj
aGVzIGZvciBoZXIgd2FsbGV0LiBZb3VyIG1vdGhlciByZWFjaGVzIGZvciBoZXJzLiBZb3UgYXJlIHRoZSB2aXNpdG9yLCB5b3UgYXJlIHRoZSBlbGRlc3Qg
Y291c2luLCBhbmQgeW91IHNwb2tlIHRoZSBsYW5ndWFnZSBhbGwgbW9ybmluZy4gVGhpcyBvbmUgaXMgeW91cnMuIix3aG86IvCfmYIgVnkiLGtyOiLEkOG7
gyBlbSB0w61uaCB0aeG7gW4hIEFuaCBsw6Aga2jDoWNoIG3DoCEiLGVuOiJMZXQgbWUgcGF5ISBZb3UgYXJlIHRoZSBndWVzdCEiLGNoOltbIkjDtG5nIMSR
xrDhu6NjISBDw7QgxqFpLCB0w61uaCB0aeG7gW4gZ2nDuW0gY29uIG5oYSEiLCJObyB3YXkhIE1hJ2FtLCB0aGUgYmlsbCBmb3IgbWUgcGxlYXNlISIsMV0s
WyLhu5wsIGVtIHRy4bqjIMSRaS4iLCJZZWFoLCB5b3UgcGF5LiAoc3VycmVuZGVyaW5nIHRoZSBiaWxsIGJhdHRsZSB0byB5b3VyIGxpdHRsZSBjb3VzaW4p
IiwwXSxbIkJhbyBuaGnDqnUgdGnhu4FuIOG6oT8gxJDhuq90IHF1w6EhIiwiSG93IG11Y2g/IFRvbyBleHBlbnNpdmUhIChpdCBpcyA0MCwwMDAgxJHhu5Nu
ZyDigJQgYW5kIHRoYXQgd29yZCBpcyBt4bqvYyBoZXJlKSIsMF1dfV19LAoxNTp7dDoi8J+btSBM4bqhYyB0cm9uZyBo4bq7bSIsIHN0ZXBzOlsKIHtiZzoi
Y2l0eSIsc2M6IvCfk7Hwn5u18J+Mp++4jyIsbmFyOiJEw6wgQmEgbGl2ZXMgYWNyb3NzIHRoZSBjaXR5LiBZb3VyIG1vdGhlciB3YW50cyB0byBhcnJpdmUg
d2l0aCBoZXIgb3duIHR3byBmZWV0IGFuZCBhIGJhZyBvZiBmcnVpdCwgc286IEdyYWIgYmlrZXMsIHR3byBvZiB0aGVtLiBZb3VyIGRyaXZlciwgQW5oIEjD
uW5nLCBsb29rcyBhdCB0aGUgYWRkcmVzcyBhbmQgbGF1Z2hzIOKAlCBo4bq7bSAxMjMvNDUvNi4iLHdobzoi8J+btSBBbmggSMO5bmciLGtyOiJI4bq7bSBu
w6B5IHPDonUgbOG6r20gbmhhLiBFbSB04bubaSDEkeG6p3UgaOG6u20gcuG7k2kgbcOsbmggxJFpIGLhu5kgdsO0IGjDqW4/IixlbjoiVGhpcyBhbGxleSBp
cyB2ZXJ5IGRlZXAuIFNoYWxsIEkgdGFrZSB5b3UgdG8gdGhlIGVudHJhbmNlIGFuZCB3ZSB3YWxrIGluPyIsY2g6W1siROG6oSDEkcaw4bujYyBhbmguIFTh
u5tpIMSR4bqndSBo4bq7bSB0aOG6oyBlbSBuaGEuIiwiU3VyZS4gRHJvcCBtZSBhdCB0aGUgYWxsZXkgZW50cmFuY2UuIiwxXSxbIuG7qiwgcuG6vSB2w6Bv
IG5nw7UgxJFpLiIsIlllYWgsIHR1cm4gaW50byB0aGUgbmfDtS4gKE5vcnRoZXJuIHLhur0vbmfDtSDigJQgaGVyZSBpdCBpcyBxdeG6uW8vaOG6u20sIGFu
ZCDhu6sgaXMgdG9vIGNhc3VhbCkiLDBdLFsiQW5oIGNo4bqheSBs4bq5IGzDqm4sIGVtIHRy4buFIHLhu5NpISIsIlJpZGUgZmFzdCwgSSBhbSBsYXRlISAo
aW4gYSBo4bq7bT8gb24gYSBiaWtlPykiLDBdXX0sCiB7Ymc6ImNpdHkiLHNjOiLwn5qn8J+bteKPsCIsbmFyOiJUaGVuIHRoZSBza3kgZ29lcyBibGFjayBh
dCB0ZW4gaW4gdGhlIG1vcm5pbmcuIFPDoGkgR8OybiByYWluOiBubyB3YXJuaW5nLCBubyBtZXJjeS4gQW5oIEjDuW5nIHB1bGxzIG92ZXIgdW5kZXIgYSB0
cmVlIGFuZCBwcm9kdWNlcyBhIHBsYXN0aWMgcmFpbmNvYXQgZnJvbSB1bmRlciB0aGUgc2VhdCBsaWtlIGEgbWFnaWNpYW4uIix3aG86IvCfm7UgQW5oIEjD
uW5nIixrcjoiTcawYSBs4bubbiBxdcOhISBN4bq3YyDDoW8gbcawYSB2w7QgxJFpIGVtLiBDaOG7nSBjaMO6dCBy4buTaSBjaOG6oXkgdGnhur9wLiIsZW46
IkhlYXZ5IHJhaW4hIFB1dCB0aGUgcmFpbmNvYXQgb24uIFdhaXQgYSBiaXQsIHRoZW4gd2UgY29udGludWUuIixjaDpbWyJE4bqhLCBj4bqjbSDGoW4gYW5o
LiBNw6xuaCB04burIHThu6sgY2jhu50gbcawYSB04bqhbmggbmhhLiIsIlRoYW5rcy4gTGV0IHVzIHdhaXQgc2xvd2x5IGZvciB0aGUgcmFpbiB0byBzdG9w
LiIsMV0sWyJLaMO0bmcgc2FvLCBj4bupIGNo4bqheSDEkWkhIEVtIMaw4bubdCBjxaluZyDEkcaw4bujYy4iLCJJdCBpcyBmaW5lLCBqdXN0IGtlZXAgZHJp
dmluZyEgSSBkbyBub3QgbWluZCBnZXR0aW5nIHdldC4gKHRoZSBzdHJlZXQgaXMgdHVybmluZyBpbnRvIGEgcml2ZXIpIiwwXSxbIkFuaCDGoWksIMSRxrDh
u51uZyBuw6B5IGPDsyBuZ+G6rXAgaMO0bmc/IFRow7RpIGVtIHh14buRbmcgxJHDonkuIiwiRG9lcyB0aGlzIHJvYWQgZmxvb2Q/IE5ldmVyIG1pbmQsIEkg
d2lsbCBnZXQgb2ZmIGhlcmUuIChpbnRvIHRoZSBmbG9vZD8pIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+MivCfm7Xwn4+Y77iPIixuYXI6IlR3ZW50eSBt
aW51dGVzIGxhdGVyIHRoZSBzdW4gaXMgb3V0IGFzIGlmIG5vdGhpbmcgaGFwcGVuZWQsIGFuZCB0aGUgc3RyZWV0IGlzIGEgc2hhbGxvdyBsYWtlLiBBbmgg
SMO5bmcgd2FkZXMgdGhlIGJpa2UgdGhyb3VnaCBpdCBsaWtlIGEgYm9hdG1hbi4gQXQgdGhlIGFsbGV5IG1vdXRoIGhlIHN0b3BzLiIsd2hvOiLwn5u1IEFu
aCBIw7luZyIsa3I6IlThu5tpIHLhu5NpIG7DqCEgUXXhurlvIHRyw6FpLCDEkWkgdGjhurNuZywgbmjDoCBz4buRIHPDoXUga+G6vyBiw6puIHRp4buHbSB0
4bqhcCBow7NhLiIsZW46IkhlcmUgd2UgYXJlISBUdXJuIGxlZnQsIGdvIHN0cmFpZ2h0LCBob3VzZSBudW1iZXIgc2l4IG5leHQgdG8gdGhlIGNvcm5lciBz
aG9wLiIsY2g6W1siUXXhurlvIHRyw6FpLCDEkWkgdGjhurNuZywga+G6vyBiw6puIHRp4buHbSB04bqhcCBow7NhIGjhuqMgYW5oPyBE4bqhIGVtIGhp4buD
dSBy4buTaSEiLCJMZWZ0LCBzdHJhaWdodCwgbmV4dCB0byB0aGUgY29ybmVyIHNob3A/IEdvdCBpdCEiLDFdLFsiUXXhurlvIHBo4bqjaSDhu58gYsO5bmcg
YmluaCBo4bqjIGFuaD8iLCJSaWdodCBhdCB0aGUgcm91bmRhYm91dD8gKHRoZXJlIGlzIG5vIHJvdW5kYWJvdXQg4oCUIGhlIHNhaWQgTEVGVCkiLDBdLFsi
QW5oIMahaSwgYuG7m3QgdGnhu4FuIMSRaSEiLCJMb3dlciB0aGUgcHJpY2UhIChpdCBpcyBhIEdyYWIgZmFyZSDigJQgZml4ZWQgaW4gdGhlIGFwcCkiLDBd
XX0sCiB7Ymc6ImRhd24iLHNjOiLwn4+g8J+RqeKAjfCfprHwn42JIixuYXI6IkhvdXNlIG51bWJlciBzaXguIETDrCBCYSBvcGVucyB0aGUgZG9vciB3aXRo
IHdldCBoYW5kcyBmcm9tIHRoZSBraXRjaGVuLCBzZWVzIHlvdXIgbW90aGVyIOKAlCBoZXIgYmlnIHNpc3RlciDigJQgc29ha2VkIHRvIHRoZSBrbmVlcyBh
bmQgaG9sZGluZyBhIGJhZyBvZiByYW1idXRhbiwgYW5kIHN0YXJ0cyBsYXVnaGluZyBhbmQgY3J5aW5nIGF0IHRoZSBzYW1lIHRpbWUuIix3aG86IvCfkani
gI3wn6axIETDrCBCYSIsa3I6IkNo4buLIEhhaSEgVHLhu51pIMahaSwgxrDhu5t0IGjhur90IHLhu5NpISBWw7QgbmjDoCwgdsO0IG5ow6AgbOG6uSDEkWkh
IixlbjoiQmlnIHNpc3RlciEgT2ggbXksIHlvdSBhcmUgc29ha2VkISBDb21lIGluLCBjb21lIGluIHF1aWNrISIsY2g6W1siROG6oSwgY29uIGNow6BvIGTD
rCBCYS4gQ29uIGzDoCBUb20uIFhpbiBs4buXaSB04bulaSBjb24gdOG7m2kgdHLhu4UhIiwiSGVsbG8sIEF1bnRpZSBCYS4gSSBhbSBUb20uIFNvcnJ5IHdl
IGFyZSBsYXRlISIsMV0sWyJDaMOgbyBjw7QuIEPDtCBsw6AgYWkg4bqhPyIsIkhlbGxvLCBNaXNzLiBXaG8gYXJlIHlvdT8gKHNoZSBpcyB5b3VyIG1vdGhl
cidzIHNpc3RlciDigJQgZMOsKSIsMF0sWyJE4bqhLCBuaMOgIGTDrCBraMOzIHTDrG0gcXXDoS4gSOG6u20gZ8OsIG3DoCBzw6J1IGThu68hIiwiWW91ciBo
b3VzZSBpcyBzbyBoYXJkIHRvIGZpbmQuIFdoYXQgYSBkZWVwIGFsbGV5ISAoZ3JlZXQgZmlyc3QsIGNvbXBsYWluIG5ldmVyKSIsMF1dfV19LAoxNjp7dDoi
8J+SvCBUaeG7h20gY+G7p2EgbeG7oyIsIHN0ZXBzOlsKIHtiZzoic2hvcCIsc2M6IvCfp7Xwn4+s8J+nkeKAjfCfkrwiLG5hcjoiTeG7oyBOxINtJ3MgZmFi
cmljIHNob3AgaW4gdGhlIG1hcmtldDogYm9sdHMgb2Ygc2lsayB0byB0aGUgY2VpbGluZywgYSBmYW4gdGhlIHNpemUgb2YgYSBwcm9wZWxsZXIsIGFuZCBN
4bujIGhlcnNlbGYgZG9pbmcgdGhyZWUgdGhpbmdzIGF0IG9uY2UuIEPhuq11IFTGsCBoYXMgYnJvdWdodCB5b3UgdG8gJ3NlZSB0aGUgYnVzaW5lc3MuJyBZ
b3Uga25vdyB3aGF0IHRoYXQgbWVhbnMuIix3aG86IvCfkanigI3wn6awIE3hu6MgTsSDbSIsa3I6IlRvbSEgQ29uIGzDoG0gdmnhu4djIGfDrCBiw6puIMSR
w7M/IEPDtG5nIHZp4buHYyDhu5VuIGjDtG5nPyIsZW46IlRvbSEgV2hhdCB3b3JrIGRvIHlvdSBkbyBvdmVyIHRoZXJlPyBJcyB0aGUgam9iIHN0YWJsZT8i
LGNoOltbIkThuqEsIGNvbiBsw6BtIG5ow6JuIHZpw6puIG5nw6JuIGjDoG5nIOG6oS4gQ8O0bmcgdmnhu4djIGPFqW5nIOG7lW4gxJHhu4tuaC4iLCJJIHdv
cmsgYXMgYSBiYW5rIGVtcGxveWVlLiBUaGUgam9iIGlzIGZhaXJseSBzdGFibGUuIiwxXSxbIkNvbiBsw6BtIOG7nyBuZ8OibiBow6BuZy4gTMawxqFuZyBj
YW8gbOG6r20uIiwiSSB3b3JrIGF0IGEgYmFuay4gVGhlIHNhbGFyeSBpcyB2ZXJ5IGhpZ2guICh5b3UgaGF2ZSBqdXN0IGZ1bmRlZCBhIGNhZsOpKSIsMF0s
WyJE4bqhLCBjaHV54buHbiDEkcOzIGzDoCB2aeG7h2MgcmnDqm5nIGPhu6dhIGNvbi4iLCJUaGF0IGlzIG15IHByaXZhdGUgYnVzaW5lc3MuIChjb3JyZWN0
IGluIENhbmFkYSwgYW4gaW5zdWx0IGluIGEgZmFicmljIHNob3ApIiwwXV19LAoge2JnOiJzaG9wIixzYzoi4piV8J+SrfCfkrgiLG5hcjoiQ+G6rXUgVMaw
IGhhcyBiZWVuIHdhaXRpbmcgYWxsIG1vcm5pbmcgZm9yIHRoaXMuIEhlIHB1bGxzIGEgc3Rvb2wgbmV4dCB0byB5b3UsIGxvd2VycyBoaXMgdm9pY2UsIGFu
ZCB1bmZvbGRzIGEgcGxhbiBvbiB0aGUgYmFjayBvZiBhIHJlY2VpcHQ6IGEgY2Fmw6kuIFNpeCB0YWJsZXMuIE5lYXIgdGhlIHVuaXZlcnNpdHkuIEhlIGp1
c3QgbmVlZHMgJ2EgbGl0dGxlIGhlbHAgdG8gc3RhcnQuJyIsd2hvOiLwn5Go4oCN8J+msSBD4bqtdSBUxrAiLGtyOiJD4bqtdSBtdeG7kW4gbeG7nyB0aeG7
h20gY8OgIHBow6ouIENvbiB0aOG6pXkgc2FvPyBCw6puIMSRw7MgY29uIGzDoG0gxINuIGtow6EgbcOgLCBow6luPyIsZW46Ikkgd2FudCB0byBvcGVuIGEg
Y2Fmw6kuIFdoYXQgZG8geW91IHRoaW5rPyBZb3UgYXJlIGRvaW5nIHdlbGwgb3ZlciB0aGVyZSwgcmlnaHQ/IixjaDpbWyJE4bqhLCDDvSBoYXkgbOG6r20g
Y+G6rXUuIE5oxrBuZyBiw6puIMSRw7MgY8WpbmcgduG6pXQgduG6oywgY29uIMSR4bunIHPhu5FuZyB0aMO0aSDhuqEuIiwiSXQgaXMgYSBncmVhdCBpZGVh
LCBVbmNsZS4gQnV0IG92ZXIgdGhlcmUgaXMgaGFyZCB3b3JrIHRvbyDigJQgSSBvbmx5IG1ha2UgZW5vdWdoIHRvIGxpdmUgb24uIiwxXSxbIkThuqEgxJHG
sOG7o2MhIEPhuq11IGPhuqduIGJhbyBuaGnDqnU/IENvbiBn4butaSBsaeG7gW4uIiwiU3VyZSEgSG93IG11Y2ggZG8geW91IG5lZWQ/IEkgd2lsbCBzZW5k
IGl0IHJpZ2h0IGF3YXkuIChiZWZvcmUgYXNraW5nIHlvdXIgbW90aGVyPykiLDBdLFsiQ+G6rXUgxJHhu6tuZyBo4buPaSB0aeG7gW4gY29uLiIsIkRvIG5v
dCBhc2sgbWUgZm9yIG1vbmV5LCBVbmNsZS4gKHRydWUsIGJ1dCB0aGUgcm9vbSBqdXN0IGZyb3plKSIsMF1dfSwKIHtiZzoic2hvcCIsc2M6IvCfkanigI3w
n6aw8J+ZhPCfmIUiLG5hcjoiTeG7oyBOxINtIGhhcyBoZWFyZCBldmVyeSB3b3JkLiBTaGUgcHV0cyBkb3duIHRoZSBzY2lzc29ycywgbG9va3MgYXQgaGVy
IGh1c2JhbmQsIGFuZCBkZWxpdmVycyBhIHNlbnRlbmNlIHRoYXQgZW5kcyB0aGUgY2Fmw6kgYmVmb3JlIGl0IG9wZW5zLiBD4bqtdSBUxrAgc3VkZGVubHkg
bmVlZHMgdG8gY2hlY2sgc29tZXRoaW5nIG91dHNpZGUuIix3aG86IvCfkanigI3wn6awIE3hu6MgTsSDbSIsa3I6IlTGsCEgTcOsbmggY8OybiBu4bujIG5n
w6JuIGjDoG5nIGvDrGEsIG3hu58gdGnhu4dtIGfDrCEgQ29uIMSR4burbmcgbmdoZSBj4bqtdS4iLGVuOiJUxrAhIFdlIHN0aWxsIG93ZSB0aGUgYmFuaywg
d2hhdCBjYWbDqSEgRG8gbm90IGxpc3RlbiB0byB5b3VyIHVuY2xlLCBkZWFyLiIsY2g6W1siROG6oSwgY29uIGhp4buDdSBtw6AgbeG7oy4gQ+G6rXUgY+G7
kSBn4bqvbmcgduG6rXkgY8WpbmcgZ2nhu49pIHLhu5NpLiIsIkkgdW5kZXJzdGFuZCwgQXVudGllLiBVbmNsZSB0cnlpbmcgdGhhdCBoYXJkIGlzIGFscmVh
ZHkgYWRtaXJhYmxlLiIsMV0sWyJE4bqhLCBt4bujIG7Ds2kgxJHDum5nLiBD4bqtdSBsw6BtIMSDbiBk4bufIHF1w6EuIiwiWW91IGFyZSByaWdodCwgQXVu
dGllLiBVbmNsZSBpcyBiYWQgYXQgYnVzaW5lc3MuIChuZXZlciBzaWRlIGFnYWluc3QgYSByZWxhdGl2ZSBvdXQgbG91ZCkiLDBdLFsiVuG6rXkgY29uIGfh
u61pIHRp4buBbiB0cuG6oyBu4bujIGdpw7ltIGPhuq11IG5oYT8iLCJUaGVuIEkgd2lsbCBzZW5kIG1vbmV5IHRvIHBheSBVbmNsZSdzIGRlYnQ/ICh0aGUg
cm9vbSBmcmVlemVzIGFnYWluLCBkaWZmZXJlbnRseSkiLDBdXX0sCiB7Ymc6InNob3AiLHNjOiLwn6e18J+OgfCfmIoiLG5hcjoiUGVhY2UgcmV0dXJucyB3
aXRoIHRoZSBmYW4ncyBuZXh0IHJvdGF0aW9uLiBN4bujIGN1dHMgYSBsZW5ndGggb2YgZGVlcC1yZWQgc2lsaywgZm9sZHMgaXQgaW50byB5b3VyIGhhbmRz
LCBhbmQgcmVmdXNlcyBwYXltZW50IHdpdGggYSBsb29rIHRoYXQgY291bGQgc3RvcCB0cmFmZmljLiBGb3IgeW91ciBtb3RoZXIuIEZvciBhbiDDoW8gZMOg
aS4gRm9yIFThur90LiIsd2hvOiLwn5Gp4oCN8J+msCBN4bujIE7Eg20iLGtyOiJDw6FpIG7DoHkgY2hvIG3DoSBjb24gbWF5IMOhbyBkw6BpLiBIw7RuZyBs
4bqleSB0aeG7gW4gxJHDonUuIENvbiBnaeG7j2kgbOG6r20sIHRoaeG7h3QgxJHDsy4iLGVuOiJUaGlzIGlzIGZvciB5b3VyIG1vdGhlciwgZm9yIGFuIMOh
byBkw6BpLiBJIHdpbGwgbm90IHRha2UgbW9uZXkuIFlvdSBhcmUgYSBnb29kIGtpZCwgdHJ1bHkuIixjaDpbWyJE4bqhLCBjb24gY+G6o20gxqFuIG3hu6Mg
bmhp4buBdSBs4bqvbS4gTcOhIHPhur0gbeG7q25nIGzhuq9tIOG6oS4iLCJUaGFuayB5b3Ugc28gbXVjaCwgQXVudGllLiBNb20gd2lsbCBiZSBzbyBoYXBw
eS4iLDFdLFsiQmFvIG5oacOqdSB0aeG7gW4gduG6rXkgbeG7oz8gQ29uIHRy4bqjLiIsIkhvdyBtdWNoIGlzIGl0LCBBdW50aWU/IEkgd2lsbCBwYXkuIChz
aGUgc2FpZCBubyDigJQgdHdpY2UsIHdpdGggaGVyIGV5ZXMpIiwwXSxbIkThuqEsIG3DoSBjb24gaMO0bmcgbeG6t2Mgw6FvIGTDoGkgxJHDonUuIiwiTW9t
IGRvZXMgbm90IHdlYXIgw6FvIGTDoGkuIChzaGUgd2lsbCBub3cpIiwwXV19XX0sCjE3Ont0OiLwn4+mIMSQ4buVaSB0aeG7gW4iLCBzdGVwczpbCiB7Ymc6
InNob3AiLHNjOiLwn5K18J+PquKalu+4jyIsbmFyOiJZb3UgbmVlZCDEkeG7k25nLCBhbmQgZXZlcnlvbmUgYWdyZWVzOiBub3QgdGhlIGJhbmssIG5vdCB0
aGUgYWlycG9ydCDigJQgdGhlIGdvbGQgc2hvcCBvbiB0aGUgY29ybmVyLiBBIGdsYXNzIGNvdW50ZXIsIGEgd29tYW4gd2l0aCBhIGNhbGN1bGF0b3IgZmFz
dGVyIHRoYW4geW91cnMsIGFuZCBhIHJhdGUgd3JpdHRlbiBvbiBjYXJkYm9hcmQuIix3aG86IvCfp5HigI3wn5K8IENo4buLIHRp4buHbSB2w6BuZyIsa3I6
IsSQ4buVaSBiYW8gbmhpw6p1IGVtPyBIw7RtIG5heSDEkcO0IGxhIGhhaSBsxINtIG5nw6BuIGhhaS4iLGVuOiJIb3cgbXVjaCBhcmUgeW91IGV4Y2hhbmdp
bmc/IFRvZGF5IHRoZSBkb2xsYXIgaXMgMjUsMjAwLiIsY2g6W1siROG6oSwgZW0gxJHhu5VpIGhhaSB0csSDbSDEkcO0LiBU4bu3IGdpw6EgduG6rXkgxJHG
sOG7o2MgcuG7k2kgY2jhu4suIiwiSSB3aWxsIGV4Y2hhbmdlIHR3byBodW5kcmVkIGRvbGxhcnMuIFRoYXQgcmF0ZSBpcyBmaW5lLiIsMV0sWyJC4bubdCDE
kWkgY2jhu4shIEhhaSBsxINtIG5nw6BuIG7Eg20gbmhhISIsIkxvd2VyIGl0ISBNYWtlIGl0IDI1LDUwMCEgKHlvdSBkbyBub3QgYmFyZ2FpbiBleGNoYW5n
ZSByYXRlcyDigJQgdGhhdCBpcyBub3QgaG93IG1vbmV5IHdvcmtzKSIsMF0sWyJDaOG7iyDGoWksIGVtIG114buRbiB2YXkgdGnhu4FuLiIsIkkgd2FudCB0
byBib3Jyb3cgbW9uZXkuICh0aGlzIGlzIGEgZ29sZCBzaG9wLCBub3QgYSBiYW5rLCBhbmQgeW91IGhhdmUgdHdvIGh1bmRyZWQgZG9sbGFycykiLDBdXX0s
CiB7Ymc6InNob3AiLHNjOiLwn6e+8J+UovCfkYAiLG5hcjoiU2hlIGNvdW50cyBmaXZlIG1pbGxpb24gxJHhu5NuZyBvbnRvIHRoZSBjb3VudGVyIGluIHRo
cmVlIHNlY29uZHMgZmxhdCDigJQgdHdpY2Ug4oCUIGFuZCBzbGlkZXMgaXQgb3ZlciB3aXRoIGEgcmVjZWlwdC4gWW91ciBtb3RoZXIsIHdhdGNoaW5nLCBt
dXJtdXJzIHRoYXQgaW4gaGVyIGRheSB0aGlzIG11Y2ggbW9uZXkgd291bGQgaGF2ZSBib3VnaHQgYSBob3VzZS4gVGhlbiBzaGUgbGF1Z2hzLiIsd2hvOiLw
n6eR4oCN8J+SvCBDaOG7iyB0aeG7h20gdsOgbmciLGtyOiJOxINtIHRyaeG7h3UgbOG6uyBi4buRbiBjaOG7pWMgbmfDoG4uIEVtIMSR4bq/bSBs4bqhaSBn
acO5bSBjaOG7iyBuaGEuIixlbjoiRml2ZSBtaWxsaW9uIGFuZCBmb3J0eSB0aG91c2FuZC4gUGxlYXNlIGNvdW50IGl0IGFnYWluIGZvciBtZS4iLGNoOltb
IkThuqEsIMSR4bunIHLhu5NpIGNo4buLLiBDaG8gZW0geGluIGjDs2EgxJHGoW4gbmhhLiIsIkl0IGlzIGFsbCB0aGVyZS4gTWF5IEkgaGF2ZSB0aGUgcmVj
ZWlwdD8iLDFdLFsiw410IHbhuq15PyBDaOG7iyDEkeG6v20gdGhp4bq/dSBy4buTaSEiLCJUaGF0IGlzIGFsbD8gWW91IGNvdW50ZWQgd3JvbmchIChzaGUg
ZGlkIG5vdCDigJQgY2hlY2sgYmVmb3JlIGFjY3VzaW5nKSIsMF0sWyJE4bqhIMSRxrDhu6NjIHLhu5NpLiBDaOG7iyBrw70gdMOqbiBnacO5bSBlbS4iLCJP
a2F5LiBQbGVhc2Ugc2lnbiBmb3IgbWUuIChTSEUgZG9lcyBub3Qgc2lnbjsgeW91IG1pZ2h0LCBhbmQgb25seSBhdCBhIGJhbmspIiwwXV19LAoge2JnOiJj
aXR5IixzYzoi8J+Pp/CfkrPwn5iwIixuYXI6IkxhdGVyLCB0aGUgQVRNLiBZb3VyIENhbmFkaWFuIGNhcmQsIGEgVmlldG5hbWVzZSBtYWNoaW5lLCBhbmQg
YSBzY3JlZW4gdGhhdCBvZmZlcnMgJ1ZpZXRuYW1lc2UgLyBFbmdsaXNoJyBhbmQgdGhlbiBpZ25vcmVzIHlvdXIgY2hvaWNlLiBUaGUgY2FyZCBnb2VzIGlu
LiBUaGUgbWFjaGluZSB0aGlua3MuIEPhuq11IFTGsCBob3ZlcnMsIHVuaGVscGZ1bGx5IGhlbHBmdWwuIix3aG86IvCfkajigI3wn6axIEPhuq11IFTGsCIs
a3I6Ik3DoXkgbsOgeSBoYXkgbnXhu5F0IHRo4bq7IGzhuq9tIMSRw7MuIENvbiByw7p0IGJhbyBuaGnDqnU/IELhuqVtIGzhurkgbMOqbiEiLGVuOiJUaGlz
IG1hY2hpbmUgbG92ZXMgdG8gZWF0IGNhcmRzLiBIb3cgbXVjaCBhcmUgeW91IHdpdGhkcmF3aW5nPyBQcmVzcyBmYXN0ZXIhIixjaDpbWyJE4bqhLCBjb24g
csO6dCBoYWkgdHJp4buHdSB0aMO0aS4gQ+G6rXUgY2jhu50gY29uIGNow7p0IG5oYS4iLCJJIHdpbGwganVzdCB3aXRoZHJhdyB0d28gbWlsbGlvbi4gV2Fp
dCBhIG1vbWVudCwgVW5jbGUuIiwxXSxbIkPhuq11IGLhuqVtIGdpw7ltIGNvbiDEkWkuIE3huq10IGto4bqpdSBsw6AgMTIzNC4iLCJZb3UgcHJlc3MgaXQg
Zm9yIG1lLiBUaGUgUElOIGlzIDEyMzQuIChuZXZlciDigJQgbm90IGV2ZW4gZm9yIEPhuq11IFTGsCkiLDBdLFsiQ29uIHLDunQgaOG6v3QgbHXDtG4hIiwi
SSB3aWxsIHdpdGhkcmF3IGV2ZXJ5dGhpbmchIChpbiBhIGNvdW50cnkgd2hlcmUgeW91IGp1c3QgbGVhcm5lZCB0aGUgd29yZCBu4bujKSIsMF1dfSwKIHti
ZzoiZGF3biIsc2M6IuKYlfCfpJ3wn5KsIixuYXI6IkNhc2ggaW4gcG9ja2V0LCB5b3UgYnV5IEPhuq11IFTGsCBhIGNvZmZlZSDigJQgdGhlIG9uZSBoZSB3
YW50ZWQgdG8gc2VsbCB5b3UuIEF0IHRoZSBwbGFzdGljIHRhYmxlIGhlIGdvZXMgcXVpZXQsIHRoZW4gc2F5cyB0aGUgdHJ1ZSB0aGluZyB1bmRlciB0aGUg
Y2Fmw6kgcGxhbiwgYW5kIGl0IGlzIG5vdCBhYm91dCBjb2ZmZWUgYXQgYWxsLiIsd2hvOiLwn5Go4oCN8J+msSBD4bqtdSBUxrAiLGtyOiJD4bqtdSBow7Ru
ZyBj4bqnbiB0aeG7gW4gY29uIMSRw6J1LiBD4bqtdSBjaOG7iSBtdeG7kW7igKYgZ2lhIMSRw6xuaCBtw6xuaCDEkeG7q25nIHhhIG5oYXUgbuG7r2EuIixl
bjoiSSBkbyBub3QgbmVlZCB5b3VyIG1vbmV5LiBJIGp1c3Qgd2FudOKApiBvdXIgZmFtaWx5IHRvIHN0b3AgYmVpbmcgZmFyIGFwYXJ0LiIsY2g6W1siROG6
oSwgY29uIGhp4buDdSBj4bqtdS4gQ29uIHPhur0gduG7gSBu4buvYSwgdsOgIGfhu41pIGPhuq11IHRoxrDhu51uZyB4dXnDqm4uIiwiSSB1bmRlcnN0YW5k
LCBVbmNsZS4gSSB3aWxsIGNvbWUgYmFjaywgYW5kIGNhbGwgeW91IG9mdGVuLiIsMV0sWyJE4bqhLCB24bqteSBj4bqtdSBj4bqnbiBiYW8gbmhpw6p1PyIs
IlNvIGhvdyBtdWNoIGRvIHlvdSBuZWVkPyAoeW91IG1pc3NlZCB0aGUgZW50aXJlIHNlbnRlbmNlKSIsMF0sWyJE4bqhLCBuaMawbmcgU8OgaSBHw7JuIHhh
IENhbmFkYSBs4bqvbSBj4bqtdS4iLCJCdXQgU8OgaSBHw7JuIGlzIHZlcnkgZmFyIGZyb20gQ2FuYWRhLCBVbmNsZS4gKGhlIGtub3dzIGV4YWN0bHkgaG93
IGZhcikiLDBdXX1dfSwKMTg6e3Q6IvCfp5AgQuG7r2Egbmjhuq11Iiwgc3RlcHM6Wwoge2JnOiJuaWdodCIsc2M6IvCfjbvwn6aQ8J+MmSIsbmFyOiJBIHJv
b2Z0b3AsIGEgbG93IHRhYmxlLCBncmlsbGVkIHNocmltcCwgYW5kIHNpeCB1bmNsZXMg4oCUIHNvbWUgcmVhbCwgc29tZSBob25vcmFyeS4gVGhpcyBpcyBh
IG5o4bqtdTogYmVlciwgZm9vZCwgYW5kIHF1ZXN0aW9ucy4gWW91ciBtb3RoZXIgaGFzIGFiYW5kb25lZCB5b3UgaGVyZSBvbiBwdXJwb3NlLiBD4bqtdSBU
xrAgcG91cnMgeW91ciBnbGFzcyBmaXJzdC4iLHdobzoi8J+RqOKAjfCfprEgQ+G6rXUgVMawIixrcjoiVeG7kW5nIG3hu5l0IGx5IMSRaSBjb24hIFLhu5Np
IGPhuq11IGjhu49pOiBjb24gbOG6pXkgduG7oyBjaMawYT8iLGVuOiJEcmluayBhIGdsYXNzISBUaGVuIEkgYXNrOiBhcmUgeW91IG1hcnJpZWQgeWV0PyIs
Y2g6W1siROG6oSBjaMawYSBj4bqtdS4gQ29uIGPDsm4gdHLhursgbcOgISIsIk5vdCB5ZXQsIFVuY2xlLiBJIGFtIHN0aWxsIHlvdW5nISIsMV0sWyJE4bqh
LCBjaHV54buHbiDEkcOzIGNvbiBow7RuZyBtdeG7kW4gbsOzaS4iLCJJIGRvIG5vdCB3YW50IHRvIHRhbGsgYWJvdXQgdGhhdC4gKGF0IGEgbmjhuq11PyB0
aGF0IGlzIHRoZSBPTkxZIHRoaW5nIHRoZXkgdGFsayBhYm91dCkiLDBdLFsiUuG7k2kg4bqhISDDgCwgY2jGsGHigKYgY29uIGjDtG5nIG5o4bubLiIsIlll
cyEgV2FpdCwgbm/igKYgSSBjYW5ub3QgcmVtZW1iZXIuICh0aGUgdW5jbGVzIHdpbGwgbm93IGludmVzdGlnYXRlIGZvciB0d28gaG91cnMpIiwwXV19LAog
e2JnOiJuaWdodCIsc2M6IvCfko3wn4+g8J+RtiIsbmFyOiJUaGUgdGFibGUgZXJ1cHRzLiBFdmVyeSB1bmNsZSBoYXMgYW4gb3BpbmlvbiwgYSBuaWVjZSB0
byBpbnRyb2R1Y2UsIGFuZCBhIGhvdXNlIHRvIHJlY29tbWVuZC4gVGhlIHF1ZXN0aW9ucyBjb21lIGluIHRoZSB0cmFkaXRpb25hbCBvcmRlciDigJQgbmfG
sOG7nWkgecOqdSwgbmjDoCwgY29uIOKAlCBsaWtlIGEgd2VsbC1yZWhlYXJzZWQgY2hvcnVzLiIsd2hvOiLwn6eUIETGsOG7o25nIELhuqN5IixrcjoiQ2jG
sGEgbOG6pXkgduG7oyB0aMOsIGPDsyBuZ8aw4budaSB5w6p1IGNoxrBhPyBNdWEgbmjDoCBjaMawYT8gQsOqbiDEkcOzIG5ow6AgbeG6r2MgaMO0bmc/Iixl
bjoiTm90IG1hcnJpZWQg4oCUIHRoZW4gZG8geW91IGhhdmUgYSBnaXJsZnJpZW5kPyBCb3VnaHQgYSBob3VzZSB5ZXQ/IEFyZSBob3VzZXMgZXhwZW5zaXZl
IG92ZXIgdGhlcmU/IixjaDpbWyJE4bqhLCB04burIHThu6sgZMaw4bujbmcgxqFpISBOaMOgIGLDqm4gxJHDsyBt4bqvYyBs4bqvbSwgY29uIGPDsm4gdGnh
ur90IGtp4buHbS4iLCJTbG93bHksIFVuY2xlISBIb3VzZXMgb3ZlciB0aGVyZSBhcmUgdmVyeSBleHBlbnNpdmUsIEkgYW0gc3RpbGwgc2F2aW5nLiIsMV0s
WyJE4bqhLCBsxrDGoW5nIGNvbiBoYWkgdHLEg20gbmfDoG4gxJHDtCBt4buZdCBuxINtLiIsIk15IHNhbGFyeSBpcyB0d28gaHVuZHJlZCB0aG91c2FuZCBk
b2xsYXJzIGEgeWVhci4gKHRydWUgb3Igbm90LCB5b3UgaGF2ZSBqdXN0IGJlY29tZSB0aGUgZmFtaWx5IGJhbmspIiwwXSxbIkTGsOG7o25nIGjhu49pIG5o
aeG7gXUgcXXDoSEiLCJZb3UgYXNrIHRvbyBtYW55IHF1ZXN0aW9ucywgVW5jbGUhICh0aG91Z2h0IGl0IOKAlCBuZXZlciBzYXkgaXQpIiwwXV19LAoge2Jn
OiJuaWdodCIsc2M6IvCfpKPwn6aQ8J+NuiIsbmFyOiJD4bqtdSBUxrAgcmVzY3VlcyB5b3Ug4oCUIGJ5IGVtYmFycmFzc2luZyBoaW1zZWxmLiBIZSB0ZWxs
cyB0aGUgc3Rvcnkgb2YgaGlzIG93biB3ZWRkaW5nOiB0aGUgd3JvbmcgYWRkcmVzcywgdGhlIGJvcnJvd2VkIHN1aXQsIE3hu6MgTsSDbSBhcnJpdmluZyBv
biBhIG1vdG9yYmlrZS4gVGhlIHRhYmxlIGhvd2xzLiBUaGVuIGhlIHR1cm5zIGJhY2sgdG8geW91LCBzb2Z0ZXIuIix3aG86IvCfkajigI3wn6axIEPhuq11
IFTGsCIsa3I6IkPhuq11IGdp4buhbiB0aMO0aS4gQ+G6rXUgaOG7j2kgdsOsIGPhuq11IHF1YW4gdMOibSBjb24sIGhp4buDdSBow7RuZz8iLGVuOiJJIGFt
IGp1c3Qga2lkZGluZy4gSSBhc2sgYmVjYXVzZSBJIGNhcmUgYWJvdXQgeW91LCB1bmRlcnN0YW5kPyIsY2g6W1siROG6oSwgY29uIGJp4bq/dCBtw6AgY+G6
rXUuIENvbiBj4bqjbSDGoW4gY+G6rXUgcXVhbiB0w6JtLiIsIkkga25vdywgVW5jbGUuIFRoYW5rIHlvdSBmb3IgY2FyaW5nLiIsMV0sWyJE4bqhLCBuaMaw
bmcgY29uIHRow61jaCB04buxIGRvLCBj4bqtdSDEkeG7q25nIGxvLiIsIkJ1dCBJIGxpa2UgbXkgZnJlZWRvbSwgZG8gbm90IHdvcnJ5LiAoaGUganVzdCBv
cGVuZWQgaGlzIGhlYXJ0IOKAlCBtZWV0IGl0LCBkbyBub3QgZGVmbGVjdCBpdCkiLDBdLFsi4bucLCBiaeG6v3QgcuG7k2kuIiwiWWVhaCwgSSBrbm93LiAo
4budIHRvIHlvdXIgdW5jbGUsIGluIGZyb250IG9mIHNpeCB1bmNsZXMpIiwwXV19LAoge2JnOiJuaWdodCIsc2M6IvCfjIPwn4278J+knSIsbmFyOiJMYXN0
IHJvdW5kLiBExrDhu6NuZyBC4bqjeSByYWlzZXMgYSBnbGFzcyBhbmQgc2F5cyB0aGUgdG9hc3QgZXZlcnkgVmlldG5hbWVzZSB0YWJsZSBlbmRzIG9uIOKA
lCBhbmQgZm9yIG9uY2UsIHRoZSB3aG9sZSByb29mdG9wIG1lYW5zIGl0IGFib3V0IHlvdS4iLHdobzoi8J+nlCBExrDhu6NuZyBC4bqjeSIsa3I6IkNow7pj
IGNvbiB0aMOgbmggY8O0bmcsIG3huqFuaCBnaeG7j2ksIHbDoOKApiBzYW5nIG7Eg20gZOG6q24gbmfGsOG7nWkgecOqdSB24buBIG5oYSEiLGVuOiJXaXNo
aW5nIHlvdSBzdWNjZXNzLCBnb29kIGhlYWx0aCwgYW5k4oCmIG5leHQgeWVhciBicmluZyBhIHN3ZWV0aGVhcnQgaG9tZSEiLGNoOltbIkThuqEsIGPhuqNt
IMahbiBkxrDhu6NuZyEgxJDhu4MgY29pIHNhbyDEkcOjLCBow6luISIsIlRoYW5rIHlvdSwgVW5jbGUhIFdlIHdpbGwgc2VlLCByaWdodCEiLDFdLFsiROG6
oSwgY29uIGjhu6lhIHNhbmcgbsSDbSBs4bqleSB24bujISIsIkkgcHJvbWlzZSBJIHdpbGwgZ2V0IG1hcnJpZWQgbmV4dCB5ZWFyISAoYSBwcm9taXNlIHRv
IHNpeCB1bmNsZXMgaXMgYSBjb250cmFjdCkiLDBdLFsiQ29uIGjDtG5nIHXhu5FuZyBu4buvYS4gQ29uIHbhu4Egbmfhu6cgxJHDonkuIiwiSSBhbSBub3Qg
ZHJpbmtpbmcgYW55bW9yZS4gSSBhbSBnb2luZyB0byBiZWQuIChiZWZvcmUgdGhlIHRvYXN0PyB1bnRoaW5rYWJsZSkiLDBdXX1dfSwKMTk6e3Q6IvCfj6Ug
QuG7h25oIHZp4buHbiIsIHN0ZXBzOlsKIHtiZzoiZGF3biIsc2M6IvCfkqvwn5uP77iP8J+YnyIsbmFyOiJTaXggYS5tLiBZb3VyIG1vdGhlciBzaXRzIG9u
IHRoZSBlZGdlIG9mIHRoZSBiZWQsIG9uZSBoYW5kIG9uIHRoZSB3YWxsLiBEaXp6eSBzaW5jZSB5ZXN0ZXJkYXksIHNoZSBhZG1pdHMg4oCUIHNoZSBkaWQg
bm90IHdhbnQgdG8gd29ycnkgYW55b25lLiBCw6Agbmdv4bqhaSBoYXMgYWxyZWFkeSBkZWNpZGVkOiBwaMOybmcga2jDoW0sIG5vdy4gWW91IGFyZSB0aGUg
dHJhbnNsYXRvci4iLHdobzoi8J+RtSBCw6Agbmdv4bqhaSIsa3I6IsSQxrBhIG3DoSBjb24gxJFpIGtow6FtIGxp4buBbiDEkWkuIENvbiBk4buLY2ggZ2nD
uW0gbcOhIG5oYSwgbcOhIGNvbiBxdcOqbiB0aeG6v25nIFZp4buHdCBiw6FjIHPEqSBy4buTaS4iLGVuOiJUYWtlIHlvdXIgbW90aGVyIHRvIHRoZSBjbGlu
aWMgcmlnaHQgbm93LiBUcmFuc2xhdGUgZm9yIGhlciDigJQgc2hlIGhhcyBmb3Jnb3R0ZW4gZG9jdG9yIFZpZXRuYW1lc2UuIixjaDpbWyJE4bqhLCBjb24g
xJHGsGEgbcOhIMSRaSBsaeG7gW4uIELDoCB5w6puIHTDom0gbmhhLiIsIlllcywgSSB3aWxsIHRha2UgTW9tIHJpZ2h0IGF3YXkuIERvIG5vdCB3b3JyeSwg
R3JhbmRtYS4iLDFdLFsiROG6oSwgY2jhuq9jIG3DoSBjaOG7iSBt4buHdCB0aMO0aS4gxJDhu4MgbWFpIMSRaS4iLCJNb20gaXMgcHJvYmFibHkganVzdCB0
aXJlZC4gTGV0IHVzIGdvIHRvbW9ycm93LiAoeW91IGRvIG5vdCBvdmVycnVsZSBiw6Agbmdv4bqhaSBvbiBoZWFsdGgpIiwwXSxbIkThuqEsIMSR4buDIGNv
biBn4buNaSB4ZSBj4bqlcCBj4bupdSEiLCJJIHdpbGwgY2FsbCBhbiBhbWJ1bGFuY2UhIChmb3IgZGl6emluZXNzIOKAlCB0aGUgY2xpbmljIGlzIGF0IHRo
ZSBhbGxleSBtb3V0aCkiLDBdXX0sCiB7Ymc6ImluZG9vciIsc2M6IvCflKLij7Pwn4+lIixuYXI6IlRoZSBjbGluaWM6IGEgY291bnRlciwgYSBudW1iZXIg
bWFjaGluZSwgYSByb29tIG9mIHBsYXN0aWMgY2hhaXJzIGZ1bGwgb2YgZ3JhbmRtb3RoZXJzLiBT4buRIHRo4bupIHThu7EgNDcuIFRoZSBib2FyZCBzYXlz
IDIzLiBZb3Ugc2V0dGxlIGluLiBZb3VyIG1vdGhlciwgcGFsZSwgaG9sZHMgdGhlIHPhu5Uga2jDoW0gbGlrZSBhIHBhc3Nwb3J0LiIsd2hvOiLwn5Gp4oCN
4pqV77iPIFkgdMOhIixrcjoiU+G7kSBi4buRbiBtxrDGoWkgYuG6o3khIEFpIGzDoCBuZ8aw4budaSBuaMOgIGLhu4duaCBuaMOibiBIxrDGoW5nPyIsZW46
Ik51bWJlciBmb3J0eS1zZXZlbiEgV2hvIGlzIHRoZSBmYW1pbHkgbWVtYmVyIG9mIHBhdGllbnQgSMawxqFuZz8iLGNoOltbIkThuqEsIGNvbiDEkcOieSEg
Q29uIGzDoCBjb24gdHJhaSBj4bunYSBtw6Eg4bqhLiIsIkhlcmUhIEkgYW0gaGVyIHNvbi4iLDFdLFsiROG6oSwgdMO0aS4iLCJNZS4gKHTDtGkgdG8gYSBu
dXJzZSDigJQgY29sZDsgc2F5IGNvbikiLDBdLFsiROG6oSwgY29uIGzDoCBi4bqhbiBj4bunYSBjw7Qg4bqleS4iLCJJIGFtIGhlciBmcmllbmQuIChzaGUg
aXMgeW91ciBNT1RIRVIg4oCUIGFuZCAnY8O0IOG6pXknIGFib3V0IHlvdXIgbW9tIHNvdW5kcyBsaWtlIGEgc3RyYW5nZXIpIiwwXV19LAoge2JnOiJpbmRv
b3IiLHNjOiLwn6m68J+SrPCfl6PvuI8iLG5hcjoiVGhlIGRvY3RvciBpcyBmYXN0IGFuZCBraW5kIGFuZCBzcGVha3MgaW4gZnVsbCBwYXJhZ3JhcGhzLiBC
bG9vZCBwcmVzc3VyZSBjdWZmLCBxdWVzdGlvbnMsIG1vcmUgcXVlc3Rpb25zLiBZb3VyIG1vdGhlciBsb29rcyBhdCB5b3UgYWZ0ZXIgZXZlcnkgb25lLiBU
aGlzIGlzIHdoYXQgeW91IGNhbWUgZm9yLiIsd2hvOiLwn6eR4oCN4pqV77iPIELDoWMgc8SpIixrcjoiQuG7h25oIG5ow6JuIGLhu4sgY2jDs25nIG3hurd0
IHThu6sga2hpIG7DoG8/IEPDsyBraMOzIHRo4bufLCBjw7MgdGltIMSR4bqtcCBuaGFuaCBow7RuZz8iLGVuOiJTaW5jZSB3aGVuIGhhcyB0aGUgcGF0aWVu
dCBiZWVuIGRpenp5PyBBbnkgc2hvcnRuZXNzIG9mIGJyZWF0aCwgcmFjaW5nIGhlYXJ0PyIsY2g6W1siROG6oSwgbcOhIGNvbiBjaMOzbmcgbeG6t3QgdOG7
qyBow7RtIHF1YS4gSMO0bmcga2jDsyB0aOG7nywgbmjGsG5nIG3hu4d0IG3hu49pIG5oaeG7gXUg4bqhLiIsIk1vbSBoYXMgYmVlbiBkaXp6eSBzaW5jZSB5
ZXN0ZXJkYXkuIE5vIHNob3J0bmVzcyBvZiBicmVhdGgsIGJ1dCBhIGxvdCBvZiBmYXRpZ3VlLiIsMV0sWyJE4bqhLCBjb24gaMO0bmcgYmnhur90LiBCw6Fj
IHPEqSBo4buPaSBtw6EgY29uIMSRaS4iLCJJIGRvIG5vdCBrbm93LiBBc2sgbXkgbW9tLiAoc2hlIGxvb2tlZCBhdCB5b3UgdG8gdHJhbnNsYXRlIOKAlCB0
aGF0IGlzIHRoZSBqb2IpIiwwXSxbIkThuqEsIGNo4bqvYyBsw6AgaHV54bq/dCDDoXAgdGjDtGksIGLDoWMgc8SpIGNobyB0aHXhu5FjIMSRaS4iLCJJdCBp
cyBwcm9iYWJseSBqdXN0IGJsb29kIHByZXNzdXJlIOKAlCBqdXN0IGdpdmUgbWVkaWNpbmUuIChkaWFnbm9zaW5nIHlvdXIgb3duIG1vdGhlciB0byBhIGRv
Y3RvcikiLDBdXX0sCiB7Ymc6ImluZG9vciIsc2M6IvCfk4vwn5mC8J+SiiIsbmFyOiJIdXnhur90IMOhcCBjYW8g4oCUIGhpZ2gsIG5vdCBkYW5nZXJvdXMu
IEEgdG9hIHRodeG7kWMsIGEgZm9sbG93LXVwIGluIHR3byB3ZWVrcywgYW5kIHRoZSB0d28gd29yZHMgdGhhdCB1bnRpZSBldmVyeSBrbm90IGluIHlvdXIg
Y2hlc3QuIFlvdSB0cmFuc2xhdGUgdGhlbSBzbG93bHksIHNvIHNoZSBoZWFycyB0aGVtIHR3aWNlLiIsd2hvOiLwn6eR4oCN4pqV77iPIELDoWMgc8SpIixr
cjoiWcOqbiB0w6JtLiBIdXnhur90IMOhcCBoxqFpIGNhbyB0aMO0aS4gVeG7kW5nIHRodeG7kWMgdGhlbyB0b2EsIGhhaSB0deG6p24gdMOhaSBraMOhbS4i
LGVuOiJSZXN0IGFzc3VyZWQuIEJsb29kIHByZXNzdXJlIGlzIGp1c3QgYSBiaXQgaGlnaC4gVGFrZSB0aGUgbWVkaWNpbmUgYXMgcHJlc2NyaWJlZCwgZm9s
bG93LXVwIGluIHR3byB3ZWVrcy4iLGNoOltbIkThuqEsIGNvbiBj4bqjbSDGoW4gYsOhYyBzxKkuIE3DoSDGoWksIGLDoWMgc8SpIG7Ds2kgecOqbiB0w6Jt
IOKAlCBtw6EgaMO0bmcgc2FvIMSRw6J1LiIsIlRoYW5rIHlvdSwgZG9jdG9yLiBNb20sIHRoZSBkb2N0b3Igc2F5cyByZXN0IGFzc3VyZWQg4oCUIHlvdSBh
cmUgb2theS4iLDFdLFsiROG6oSwgY+G6o20gxqFuLiDEkGkgdGjDtGkgbcOhLiIsIlRoYW5rcy4gTGV0IHVzIGdvLCBNb20uICh5b3UgZm9yZ290IHRvIHRl
bGwgaGVyIHRoZSBvbmx5IHRoaW5nIHNoZSBuZWVkZWQgdG8gaGVhcikiLDBdLFsiQsOhYyBzxKkgY2jhuq9jIGjDtG5nPyBDb24gbXXhu5FuIGNo4bulcCBY
LXF1YW5nIG7hu69hLiIsIkFyZSB5b3Ugc3VyZSwgZG9jdG9yPyBJIHdhbnQgYW4gWC1yYXkgdG9vLiAob2YgYmxvb2QgcHJlc3N1cmU/KSIsMF1dfV19LAoy
MDp7dDoi8J+SiiBUb2EgdGh14buRYyIsIHN0ZXBzOlsKIHtiZzoic2hvcCIsc2M6IvCfj6rwn5KK8J+TnSIsbmFyOiJUaGUgbmjDoCB0aHXhu5FjIGF0IHRo
ZSBhbGxleSBtb3V0aC4gVGhlIHBoYXJtYWNpc3QgcmVhZHMgdGhlIHRvYSBpbiB0d28gc2Vjb25kcyBhbmQgcmVhY2hlcyBmb3IgYm94ZXMgd2l0aG91dCBs
b29raW5nLiBZb3VyIG1vdGhlciBzdGFuZHMgYmVoaW5kIHlvdTsgYsOgIG5nb+G6oWksIHNvbWVob3csIGhhcyBhcHBlYXJlZCBiZXNpZGUgaGVyLiIsd2hv
OiLwn5Gp4oCN4pqV77iPIETGsOG7o2Mgc8SpIixrcjoiVGh14buRYyBodXnhur90IMOhcCBuw6guIE5nw6B5IG3hu5l0IHZpw6puLCBideG7lWkgc8Ohbmcs
IHNhdSBraGkgxINuLiBSw7UgaMO0bmcgY29uPyIsZW46IkhlcmUgaXMgdGhlIGJsb29kLXByZXNzdXJlIG1lZGljaW5lLiBPbmUgcGlsbCBhIGRheSwgaW4g
dGhlIG1vcm5pbmcsIGFmdGVyIGVhdGluZy4gQ2xlYXI/IixjaDpbWyJE4bqhIHLDtS4gTmfDoHkgbeG7mXQgdmnDqm4sIHPDoW5nLCBzYXUga2hpIMSDbi4g
TcOhIGPDsyBk4buLIOG7qW5nIHRodeG7kWMgZ8OsIGjDtG5nIGPDtD8iLCJDbGVhci4gT25lIHBpbGwgYSBkYXksIG1vcm5pbmcsIGFmdGVyIGVhdGluZy4g
RG9lcyBNb20gaGF2ZSBhbnkgZHJ1ZyBhbGxlcmdpZXMsIG1hJ2FtPyIsMV0sWyJE4bqhLCB14buRbmcgYmEgdmnDqm4gbeG7mXQgbOG6p24gY2hvIGzhurkg
a2jhu49lIGjDqW4/IiwiVGFrZSB0aHJlZSBhdCBvbmNlIHRvIGdldCBiZXR0ZXIgZmFzdGVyPyAodGhpcyBpcyBleGFjdGx5IGhvdyBwZW9wbGUgZW5kIHVw
IGJhY2sgYXQgdGhlIGNsaW5pYykiLDBdLFsiROG6oSByw7UuIEPDtCDGoWksIHRodeG7kWMgYuG7lSBuw6BvIHThu5F0IG5o4bqldD8gQ2hvIGNvbiBo4bq/
dC4iLCJDbGVhci4gV2hpY2ggc3VwcGxlbWVudHMgYXJlIGJlc3Q/IEdpdmUgbWUgYWxsIG9mIHRoZW0uIChiw6Agbmdv4bqhaSBoYXMgYWxyZWFkeSBib3Vn
aHQgdGhlbSkiLDBdXX0sCiB7Ymc6InNob3AiLHNjOiLwn5Ka8J+bje+4j/CfkbUiLG5hcjoiQsOgIG5nb+G6oWkgc2xpZGVzIGEgc2Vjb25kIGxpc3QgYWNy
b3NzIHRoZSBjb3VudGVyLiBUaHXhu5FjIGLhu5UuIEZpc2ggb2lsLCBnaW5zZW5nLCBzb21ldGhpbmcgZm9yIHRoZSBleWVzLCBzb21ldGhpbmcgZm9yICd0
aGUgbmVydmVzLicgVGhlIHBoYXJtYWNpc3QgcmFpc2VzIGFuIGV5ZWJyb3cgYXQgeW91OiB5b3VyIGNhbGwuIix3aG86IvCfkanigI3impXvuI8gRMaw4buj
YyBzxKkiLGtyOiJCw6AgbXXhu5FuIG11YSB0aHXhu5FjIGLhu5UgY2hvIGNvbiBnw6FpLiBDb24gdGjhuqV5IHNhbz8iLGVuOiJHcmFuZG1hIHdhbnRzIHN1
cHBsZW1lbnRzIGZvciBoZXIgZGF1Z2h0ZXIuIFdoYXQgZG8geW91IHRoaW5rPyIsY2g6W1siROG6oSwgbOG6pXkgbG/huqFpIHZpdGFtaW4gdGjDtGkgY8O0
LCB14buRbmcgc2F1IGtoaSDEg24uIEPDsm4gbOG6oWkgxJHhu4MgaOG7j2kgYsOhYyBzxKkg4bqhLiIsIkp1c3QgdGhlIHZpdGFtaW5zLCBtYSdhbSwgYWZ0
ZXIgbWVhbHMuIFRoZSByZXN0IHdlIHdpbGwgYXNrIHRoZSBkb2N0b3IuIiwxXSxbIkThuqEgaMO0bmcgY+G6p24hIE3DoSBjb24gaMO0bmcgdeG7kW5nIG3h
uqV5IGPDoWkgbsOgeSDEkcOidS4iLCJObyBuZWVkISBNb20gZG9lcyBub3QgdGFrZSB0aGVzZSB0aGluZ3MuICh0byBiw6Agbmdv4bqhaSdzIGZhY2Ug4oCU
IHNoZSB3aWxsIGJ1eSB0aGVtIGFueXdheSwgdGVhcmZ1bGx5KSIsMF0sWyJE4bqhLCBtdWEgaOG6v3QgxJFpIGLDoC4iLCJCdXkgYWxsIG9mIHRoZW0sIEdy
YW5kbWEuIChlbGV2ZW4gYm90dGxlcywgbm8gZG9jdG9yLCBhbmQgeW91ciBtb3RoZXIncyBmYWNlKSIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi8J+qmfCf
p7Twn5uP77iPIixuYXI6IkhvbWUuIELDoCBuZ2/huqFpJ3Mgb3duIG1lZGljaW5lIG5vdzogZOG6p3UgZ2nDsyBhbmQgYSBjb2luLiBTaGUgbGF5cyB5b3Vy
IG1vdGhlciBmYWNlIGRvd24gb24gdGhlIG1hdCBhbmQgY+G6oW8gZ2nDsyDigJQgbG9uZyBzdHJva2VzIGRvd24gdGhlIGJhY2sgdW50aWwgdGhlIHNraW4g
Zmx1c2hlcyByZWQuIFlvdXIgbW90aGVyIGNsb3NlcyBoZXIgZXllcy4gVGhpcyBpcyBvbGRlciB0aGFuIHRoZSBjbGluaWMuIix3aG86IvCfkbUgQsOgIG5n
b+G6oWkiLGtyOiJD4bqhbyBnacOzIHhvbmcgbMOgIGjhur90IG3hu4d0IGxp4buBbi4gQ29uIG5ow6xuIGNobyBr4bu5LCBtYWkgbeG7kXQgY29uIGPhuqFv
IGNobyBtw6EuIixlbjoiQWZ0ZXIgY29pbmluZywgdGhlIHRpcmVkbmVzcyBnb2VzIHJpZ2h0IGF3YXkuIFdhdGNoIGNhcmVmdWxseSDigJQgb25lIGRheSB5
b3Ugd2lsbCBkbyB0aGlzIGZvciB5b3VyIG1vdGhlci4iLGNoOltbIkThuqEsIGNvbiBuaMOsbiBuw6ggYsOgLiBYb2EgZOG6p3UgdHLGsOG7m2MsIHLhu5Np
IGPhuqFvIHThu6sgdHLDqm4geHXhu5FuZyBo4bqjIGLDoD8iLCJJIGFtIHdhdGNoaW5nLCBHcmFuZG1hLiBSdWIgdGhlIG9pbCBmaXJzdCwgdGhlbiBzY3Jh
cGUgZnJvbSB0b3AgZG93bj8iLDFdLFsiROG6oSwgY8OhaSBuw6B5IGjDtG5nIGPDsyBraG9hIGjhu41jIMSRw6J1IGLDoC4iLCJUaGlzIGlzIG5vdCBzY2ll
bnRpZmljLCBHcmFuZG1hLiAodHJ1ZSwgdXNlbGVzcywgYW5kIHVua2luZCDigJQgd2F0Y2ggYW5kIGxlYXJuKSIsMF0sWyJCw6AgxqFpLCDEkWF1IG3DoSBo
w7RuZz8gVGjDtGkgxJHhu6tuZyBsw6BtIG7hu69hISIsIkdyYW5kbWEsIGRvZXMgaXQgaHVydCBNb20/IFN0b3AhICh5b3VyIG1vdGhlciBpcyBzbWlsaW5n
IHdpdGggaGVyIGV5ZXMgY2xvc2VkKSIsMF1dfSwKIHtiZzoibmlnaHQiLHNjOiLwn6Wj8J+MmfCfkpsiLG5hcjoiRXZlbmluZy4gUmVkIHN0cmlwZXMgb24g
aGVyIGJhY2ssIG9uZSBwaWxsIGluIGhlciwgYSBib3dsIG9mIGNow6FvIHNoZSBkaWQgbm90IGFzayBmb3Ig4oCUIHlvdXIgbW90aGVyIGlzIGFzbGVlcCBi
eSBlaWdodCBmb3IgdGhlIGZpcnN0IHRpbWUgaW4geWVhcnMuIELDoCBuZ2/huqFpIHNpdHMgYnkgdGhlIGJlZCwgZmFubmluZyBoZXIsIGFuZCB0ZWxscyB5
b3UgdGhlIHBsYW4gZm9yIHRvbW9ycm93LiIsd2hvOiLwn5G1IELDoCBuZ2/huqFpIixrcjoiTWFpIG3DoSBjb24gbmdo4buJIG5nxqFpIOG7nyBuaMOgLiBL
acOqbmcgxJHhu5MgbOG6oW5oLCBracOqbmcgY8OgIHBow6ouIENvbiBuaOG6r2MgbcOhIGdpw7ltIGLDoC4iLGVuOiJUb21vcnJvdyB5b3VyIG1vdGhlciBy
ZXN0cyBhdCBob21lLiBObyBjb2xkIGZvb2QsIG5vIGNvZmZlZS4gUmVtaW5kIGhlciBmb3IgbWUuIixjaDpbWyJE4bqhLCBjb24gbmjhu5sgcuG7k2kuIENv
biBz4bq9IG5o4bqvYyBtw6EgdeG7kW5nIHRodeG7kWMgdsOgIG5naOG7iSBuZ8ahaSDhuqEuIiwiSSB3aWxsIHJlbWVtYmVyLiBJIHdpbGwgcmVtaW5kIE1v
bSB0byB0YWtlIGhlciBtZWRpY2luZSBhbmQgcmVzdC4iLDFdLFsiROG6oSwgbmjGsG5nIG1haSB04bulaSBjb24gxJFpIGNo4bujIELhur9uIFRow6BuaCBt
w6AgYsOgLiIsIkJ1dCB0b21vcnJvdyB3ZSBhcmUgZ29pbmcgdG8gQuG6v24gVGjDoG5oIE1hcmtldCwgR3JhbmRtYS4gKHlvdSBhcmUgbm90KSIsMF0sWyJE
4bqhLCBtw6EgY29uIGzhu5tuIHLhu5NpLCB04buxIGxvIMSRxrDhu6NjLiIsIk1vbSBpcyBncm93biB1cCwgc2hlIGNhbiBsb29rIGFmdGVyIGhlcnNlbGYu
ICh0byBiw6Agbmdv4bqhaSwgYWJvdXQgaGVyIGRhdWdodGVyIOKAlCBubykiLDBdXX1dfSwKMjE6e3Q6IvCfkbUgxJDDqm0g4bufIG5ow6AgYsOgIiwgc3Rl
cHM6Wwoge2JnOiJkYXduIixzYzoi8J+qnPCfkbXimqDvuI8iLG5hcjoiQsOgIG5nb+G6oWkgdGFrZXMgdGhlIHN0YWlycyB0d2ljZSBhIGRheSBhbmQgcmVm
dXNlcyB0aGUgY2FuZSB0d2ljZSBhIGRheS4gVGhpcyBtb3JuaW5nIHNoZSBzdG9wcyBoYWxmd2F5LCBvbmUgaGFuZCBvbiB0aGUgcmFpbCwgYnJlYXRoaW5n
LiBZb3VyIG1vdGhlciBpcyBhdCB0aGUgbWFya2V0LiBJdCBpcyBqdXN0IHlvdS4iLHdobzoi8J+RtSBCw6Agbmdv4bqhaSIsa3I6IkLDoCBow7RuZyBzYW8u
IELDoCBjaOG7iSBjaMOzbmcgbeG6t3QgY2jDunQgdGjDtGkuIMSQ4burbmcgbsOzaSBtw6EgY29uIG5naGUuIixlbjoiSSBhbSBmaW5lLiBKdXN0IGEgbGl0
dGxlIGRpenp5LiBEbyBub3QgdGVsbCB5b3VyIG1vdGhlci4iLGNoOltbIkThuqEsIGNvbiBkw6x1IGLDoCB4deG7kW5nIHThu6sgdOG7qyBuaGEuIFLhu5Np
IGLDoCBuZ+G7k2kgbmdo4buJIGNow7p0LiIsIkxldCBtZSBoZWxwIHlvdSBkb3duIHNsb3dseSwgR3JhbmRtYS4gVGhlbiBzaXQgYW5kIHJlc3QgYSBiaXQu
IiwxXSxbIkThuqEsIGLDoCB04buxIMSRaSDEkcaw4bujYyBtw6AuIENvbiDEkWkgbOG6pXkgbsaw4bubYy4iLCJZb3UgY2FuIHdhbGsgYnkgeW91cnNlbGYu
IEkgd2lsbCBnbyBnZXQgd2F0ZXIuIChhbmQgbGVhdmUgaGVyIG9uIHRoZSBzdGFpcnM/KSIsMF0sWyJCw6AgxqFpLCBwaOG6o2kgZMO5bmcgZ+G6rXkgY2jh
u6khIENvbiBuw7NpIHLhu5NpIG3DoCEiLCJHcmFuZG1hLCB5b3UgbXVzdCB1c2UgdGhlIGNhbmUhIEkgdG9sZCB5b3UhIChzY29sZGluZyB5b3VyIGdyYW5k
bW90aGVyIG9uIGEgc3RhaXJjYXNlKSIsMF1dfSwKIHtiZzoiaW5kb29yIixzYzoi8J+qkfCfkorij7AiLG5hcjoiRG93bnN0YWlycywgc2FmZWx5LiBUaGVu
IHRoZSBib3g6IHNldmVuIGxpdHRsZSBjb21wYXJ0bWVudHMsIGhhbGYgb2YgdGhlbSBzdGlsbCBmdWxsIGZyb20gZGF5cyBhZ28uIELDoCBuZ2/huqFpLCB3
aG8gcmVtZW1iZXJzIHRoZSBwcmljZSBvZiByaWNlIGluIDE5NzUsIGhhcyBiZWVuIGZvcmdldHRpbmcgaGVyIG1vcm5pbmcgcGlsbHMuIFNoZSBzZWVzIHlv
dSBub3RpY2UuIix3aG86IvCfkbUgQsOgIG5nb+G6oWkiLGtyOiLhu5zigKYgYsOgIGhheSBxdcOqbi4gR2nDoCBy4buTaSBjb24gxqFpLiBN4bqleSBjw6Fp
IHRodeG7kWMgbsOgeSBs4buZbiB44buZbiBxdcOhLiIsZW46IlllYWjigKYgSSBmb3JnZXQgYSBsb3QuIEkgYW0gb2xkLCBkZWFyLiBUaGVzZSBwaWxscyBh
cmUgYWxsIGEgbWVzcy4iLGNoOltbIkThuqEgaMO0bmcgc2FvIGLDoC4gVOG7qyBtYWkgY29uIG5o4bqvYyBiw6AgbeG7l2kgc8OhbmcsIGNvbiDhu58gxJHD
onkgbcOgLiIsIkl0IGlzIG9rYXksIEdyYW5kbWEuIEZyb20gdG9tb3Jyb3cgSSB3aWxsIHJlbWluZCB5b3UgZXZlcnkgbW9ybmluZyDigJQgSSBhbSBoZXJl
LiIsMV0sWyJE4bqhLCBiw6AgcGjhuqNpIG5o4bubIGNo4bupISBRdWFuIHRy4buNbmcgbOG6r20gxJHDsyEiLCJZb3UgaGF2ZSB0byByZW1lbWJlciEgSXQg
aXMgaW1wb3J0YW50ISAoc2hlIGtub3dzIOKAlCB0aGF0IGlzIHdoeSBzaGUgaXMgZW1iYXJyYXNzZWQpIiwwXSxbIkThuqEsIMSR4buDIGNvbiBuw7NpIG3D
oS4iLCJJIHdpbGwgdGVsbCBNb20uIChzaGUganVzdCBhc2tlZCB5b3Ugbm90IHRvIOKAlCBmaW5kIGFub3RoZXIgd2F5KSIsMF1dfSwKIHtiZzoiaW5kb29y
IixzYzoi8J+YtPCfjIDwn5uP77iPIixuYXI6Ik5vb24uIFRoZSB3aG9sZSBo4bq7bSBnb2VzIHF1aWV0IOKAlCBuZ+G7pyB0csawYS4gQsOgIG5nb+G6oWkg
bGllcyBvbiB0aGUgd29vZGVuIGJlZCB1bmRlciB0aGUgZmFuIGFuZCBwYXRzIHRoZSBzcGFjZSBiZXNpZGUgaGVyLCB3aGljaCBpcyBob3cgc2hlIGFza3Mg
Zm9yIGNvbXBhbnkgd2l0aG91dCBhc2tpbmcuIix3aG86IvCfkbUgQsOgIG5nb+G6oWkiLGtyOiJO4bqxbSB4deG7kW5nIG5naOG7iSBjaMO6dCDEkWkgY29u
LiBUcsawYSBTw6BpIEfDsm4gbsOzbmcgbOG6r20sIGFpIGPFqW5nIG5n4bunIGjhur90LiIsZW46IkxpZSBkb3duIGFuZCByZXN0IGEgYml0LiBTw6BpIEfD
sm4gbm9vbiBpcyBzbyBob3QsIGV2ZXJ5b25lIHNsZWVwcy4iLGNoOltbIkThuqEsIGNvbiBu4bqxbSB24bubaSBiw6AuIELDoCBj4bqnbiDEkeG6r3AgbeG7
gW4gaMO0bmc/IiwiSSB3aWxsIGxpZSBkb3duIHdpdGggeW91LCBHcmFuZG1hLiBEbyB5b3Ugd2FudCBhIGJsYW5rZXQ/IiwxXSxbIkThuqEsIGNvbiBow7Ru
ZyBideG7k24gbmfhu6cuIENvbiDEkWkgY2jGoWkgxJHDonkuIiwiSSBhbSBub3Qgc2xlZXB5LiBJIGFtIGdvaW5nIG91dC4gKHNoZSBqdXN0IGFza2VkIHlv
dSB0byBzdGF5LCBpbiB0aGUgb25seSB3YXkgc2hlIGtub3dzKSIsMF0sWyJE4bqhLCBiw6Agbmfhu6cgxJFpLCBjb24gY29pIMSRaeG7h24gdGhv4bqhaS4i
LCJZb3Ugc2xlZXAsIEdyYW5kbWEsIEkgd2lsbCBiZSBvbiBteSBwaG9uZS4gKG5leHQgdG8gaGVyLCBpZ25vcmluZyBoZXIpIiwwXV19LAoge2JnOiJuaWdo
dCIsc2M6IvCfpJ3wn4yZ8J+SmyIsbmFyOiJMYXRlLiBZb3VyIG1vdGhlciBpcyBiYWNrIGFuZCB0aGUgdHdvIG9mIHRoZW0gc2l0IG9uIHRoZSBmcm9udCBz
dGVwIGluIHRoZSBkYXJrLCBub3QgdGFsa2luZyBtdWNoLiBZb3UgYnJpbmcgdGVhLiBCw6Agbmdv4bqhaSByZWFjaGVzIG91dCBhbmQsIHdpdGhvdXQgbG9v
a2luZywgdGFrZXMgeW91ciBoYW5kIGluIG9uZSBvZiBoZXJzIGFuZCB5b3VyIG1vdGhlcidzIGluIHRoZSBvdGhlci4iLHdobzoi8J+RtSBCw6Agbmdv4bqh
aSIsa3I6IkPDsyBoYWkgxJHhu6lhIOG7nyDEkcOieSwgYsOgIGjDtG5nIGPhuqduIGfDrCBu4buvYS4g4bueIGzDonUgbMOidSBuaGEgY29uLiIsZW46Ildp
dGggeW91IHR3byBoZXJlLCBJIGRvIG5vdCBuZWVkIGFueXRoaW5nIGVsc2UuIFN0YXkgYSBsb25nIHdoaWxlLCBva2F5PyIsY2g6W1siROG6oSwgdOG7pWkg
Y29uIOG7nyDEkcOieSB24bubaSBiw6AuIENvbiBu4bqvbSB0YXkgYsOgIG7DqC4iLCJXZSBhcmUgaGVyZSB3aXRoIHlvdSwgR3JhbmRtYS4gSSBhbSBob2xk
aW5nIHlvdXIgaGFuZC4iLDFdLFsiROG6oSwgdOG7pWkgY29uIGPDsm4gYmEgbmfDoHkgbuG7r2EgdGjDtGkgYsOgLiIsIldlIG9ubHkgaGF2ZSB0aHJlZSBt
b3JlIGRheXMsIEdyYW5kbWEuICh0cnVlLCBhbmQgdGhlIHdyb25nIG1vbWVudCBmb3IgaXQpIiwwXSxbIkThuqEsIGLDoCDEkWkgbmfhu6cgxJFpLCBraHV5
YSBy4buTaS4iLCJHbyB0byBzbGVlcCwgR3JhbmRtYSwgaXQgaXMgbGF0ZS4gKHNoZSBpcyBob2xkaW5nIHlvdXIgaGFuZCkiLDBdXX1dfSwKMjI6e3Q6IvCf
k5wgxJDDqm0ga+G7gyBjaHV54buHbiIsIHN0ZXBzOlsKIHtiZzoibmlnaHQiLHNjOiLwn5Om8J+Tt/Cfla/vuI8iLG5hcjoiWW91ciBsYXN0IHdlZWsuIEFm
dGVyIGRpbm5lciBiw6Agbmdv4bqhaSBicmluZ3Mgb3V0IGEgYmlzY3VpdCB0aW4geW91IGhhdmUgbmV2ZXIgc2VlbjogcGhvdG9ncmFwaHMsIGEgZm9sZGVk
IG1hcCwgYW5kIGEgYnVuZGxlIG9mIGxldHRlcnMgdGllZCB3aXRoIHJlZCB0aHJlYWQuIFlvdXIgbW90aGVyIGdvZXMgdmVyeSBzdGlsbC4gU2hlIGtub3dz
IHRoaXMgdGluLiIsd2hvOiLwn5G1IELDoCBuZ2/huqFpIixrcjoiVGjGsCBj4bunYSBtw6EgY29uIMSRw7MuIEJhIG3GsMahaSBuxINtLiBCw6AgZ2nhu68g
aOG6v3QuIENvbiBtdeG7kW4gbmdoZSBjaHV54buHbiBo4buTaSDEkcOzIGjDtG5nPyIsZW46IllvdXIgbW90aGVyJ3MgbGV0dGVycy4gVGhpcnR5IHllYXJz
LiBJIGtlcHQgZXZlcnkgb25lLiBEbyB5b3Ugd2FudCB0byBoZWFyIHRoZSBzdG9yeSBvZiBiYWNrIHRoZW4/IixjaDpbWyJE4bqhLCBjb24gbXXhu5FuIG5n
aGUgbOG6r20uIELDoCBr4buDIHThu6sgdOG7qywgY29uIGzhuq9uZyBuZ2hlIOG6oS4iLCJJIHdhbnQgdG8gaGVhciBpdCB2ZXJ5IG11Y2guIFRlbGwgaXQg
c2xvd2x5LCBHcmFuZG1hIOKAlCBJIGFtIGxpc3RlbmluZy4iLDFdLFsiROG6oSwgY2h1eeG7h24gY8WpIHLhu5NpLCBr4buDIGzDoG0gZ8OsIGLDoC4iLCJU
aGF0IGlzIG9sZCBuZXdzLCB3aHkgdGVsbCBpdCwgR3JhbmRtYS4gKHNoZSB3YWl0ZWQgdGhpcnR5IHllYXJzIHRvIHRlbGwgaXQpIiwwXSxbIkThuqEsIMSR
4buDIGNvbiBxdWF5IHZpZGVvIG5oYSBiw6AhIiwiTGV0IG1lIHJlY29yZCBhIHZpZGVvLCBHcmFuZG1hISAobm90IHRvbmlnaHQg4oCUIHRvbmlnaHQsIGp1
c3QgbGlzdGVuKSIsMF1dfSwKIHtiZzoibmlnaHQiLHNjOiLim7Xwn4yK8J+MkSIsbmFyOiJI4buTaSDEkcOzLiBUaGUgd29yZCBvcGVucyBhIGRvb3IuIDE5
ODksIGEgc21hbGwgYm9hdCwgeW91ciBtb3RoZXIgdHdlbnR5IHllYXJzIG9sZCwgeW91ciBncmFuZG1vdGhlciBvbiB0aGUgc2hvcmUgbm90IGFsbG93ZWQg
dG8gY3J5LiBCw6Agbmdv4bqhaSBzYXlzICd2xrDhu6N0IGJp4buDbicgb25jZSwgcXVpZXRseSwgYW5kIGxvb2tzIGF0IHRoZSB0aW4sIG5vdCBhdCB5b3Uu
Iix3aG86IvCfkbUgQsOgIG5nb+G6oWkiLGtyOiJI4buTaSDEkcOzIGtow7Mga2jEg24gbOG6r20uIE3DoSBjb24gxJFpIHRodXnhu4FuLiBCw6AgxJHhu6lu
ZyDhu58gYuG7nSwgaMO0bmcgZMOhbSBraMOzYy4iLGVuOiJCYWNrIHRoZW4gaXQgd2FzIHNvIGhhcmQuIFlvdXIgbW90aGVyIHdlbnQgYnkgYm9hdC4gSSBz
dG9vZCBvbiB0aGUgc2hvcmUsIG5vdCBkYXJpbmcgdG8gY3J5LiIsY2g6W1siROG6oeKApiBjb24gaMO0bmcgYmnhur90IGNodXnhu4duIG7DoHkuIEPhuqNt
IMahbiBiw6AgxJHDoyBr4buDIGNobyBjb24uIiwiSeKApiBkaWQgbm90IGtub3cgdGhpcy4gVGhhbmsgeW91IGZvciB0ZWxsaW5nIG1lLCBHcmFuZG1hLiIs
MV0sWyJE4bqhLCBzYW8gYsOgIGjDtG5nIMSRaSBsdcO0bj8iLCJXaHkgZGlkIHlvdSBub3QgZ28gdG9vPyAoYSBxdWVzdGlvbiB3aXRoIGEgdGhpcnR5LXll
YXIgYW5zd2VyIOKAlCBub3QgdG9uaWdodCkiLDBdLFsiROG6oSwgcuG7k2kgc2FvIG7hu69hIGLDoD8gS+G7gyBs4bq5IGzDqm4hIiwiQW5kIHRoZW4gd2hh
dD8gVGVsbCBpdCBmYXN0ZXIhICh0aGlzIHN0b3J5IGRvZXMgbm90IGdvIGZhc3RlcikiLDBdXX0sCiB7Ymc6Im5pZ2h0IixzYzoi4pyJ77iP8J+YovCflYrv
uI8iLG5hcjoiVHdvIHllYXJzIGluIGEgY2FtcC4gVGhlbiBhIGxldHRlciB3aXRoIGEgQ2FuYWRpYW4gc3RhbXA6ICdNw6EgxqFpLCBjb24gxJHDoyB04bub
aSBuxqFpLicgQsOgIG5nb+G6oWkgdW50aWVzIHRoZSByZWQgdGhyZWFkIGFuZCBoYW5kcyB5b3VyIG1vdGhlciB0aGUgZmlyc3Qgb25lLiBZb3VyIG1vdGhl
ciByZWFkcyBoZXIgb3duIGhhbmR3cml0aW5nIGF0IHR3ZW50eSBhbmQgY2Fubm90IGZpbmlzaCBpdC4iLHdobzoi8J+RqSBNw6EiLGtyOiJNw6EgxqFp4oCm
IGNvbiB4aW4gbOG7l2kuIENvbiDEkWkgbMOidSBxdcOhLiBDb24gaMO0bmcgduG7gSBz4bubbSBoxqFuIMSRxrDhu6NjLiIsZW46Ik1vbeKApiBJIGFtIHNv
cnJ5LiBJIHdhcyBnb25lIHRvbyBsb25nLiBJIGNvdWxkIG5vdCBjb21lIGJhY2sgc29vbmVyLiIsY2g6W1siKENvbiBpbSBs4bq3bmcsIG7huq9tIHRheSBt
w6EuKSIsIihZb3Ugc3RheSBzaWxlbnQgYW5kIGhvbGQgTW9tJ3MgaGFuZC4pIiwxXSxbIk3DoSDEkeG7q25nIGtow7NjIG7hu69hLiBDaHV54buHbiBxdWEg
cuG7k2kgbcOgLiIsIlN0b3AgY3J5aW5nLCBNb20uIEl0IGlzIGluIHRoZSBwYXN0LiAoaXQgaXMgbm90IOKAlCBhbmQgc2lsZW5jZSBpcyB0aGUgcmlnaHQg
d29yZCBoZXJlKSIsMF0sWyJE4bqhLCDEkeG7gyBjb24gxJFpIG11YSBuxrDhu5tjIG3DrWEgY2hvIGhhaSBuZ8aw4budaS4iLCJMZXQgbWUgZ28gYnV5IHN1
Z2FyY2FuZSBqdWljZSBmb3IgeW91IHR3by4gKGRvIG5vdCBsZWF2ZSB0aGlzIHJvb20pIiwwXV19LAoge2JnOiJkYXduIixzYzoi8J+ksvCfkpfwn4yFIixu
YXI6IkLDoCBuZ2/huqFpIHRha2VzIHRoZSBsZXR0ZXIgYmFjaywgZm9sZHMgaXQsIGFuZCBzYXlzIHRoZSB0aGluZyB5b3VyIG1vdGhlciBjcm9zc2VkIGFu
IG9jZWFuIHR3aWNlIHRvIGhlYXIuIFRoZW4gc2hlIGxvb2tzIGF0IHlvdSDigJQgdGhlIGNoaWxkIG9mIHRoZSBjaGlsZCB3aG8gbGVmdCDigJQgYW5kIHNh
eXMgdGhlIHNlY29uZCBoYWxmLiIsd2hvOiLwn5G1IELDoCBuZ2/huqFpIixrcjoiQsOgIHRoYSB0aOG7qSBsw6J1IHLhu5NpLiBCw6AgdOG7sSBow6BvIHbh
u4EgY29uLiBDw7JuIGNow6F1IOKAlCBuaOG7nSBjw7MgY2jDoXUgbcOgIG3DoSBjaMOhdSB24buBIMSRxrDhu6NjLiIsZW46IkkgZm9yZ2F2ZSBsb25nIGFn
by4gSSBhbSBwcm91ZCBvZiB5b3UuIEFuZCB5b3UsIGdyYW5kY2hpbGQg4oCUIGJlY2F1c2Ugb2YgeW91LCB5b3VyIG1vdGhlciBjb3VsZCBjb21lIGhvbWUu
IixjaDpbWyJE4bqhLCBjb24gYmnhur90IMahbiBiw6AgdsOgIG3DoSBuaGnhu4F1IGzhuq9tLiBOaOG7nSBoYWkgbmfGsOG7nWkgbcOgIGNvbiBjw7MgaMO0
bSBuYXkuIiwiSSBhbSBzbyBncmF0ZWZ1bCB0byB5b3UgYW5kIE1vbS4gQmVjYXVzZSBvZiB5b3UgYm90aCwgSSBoYXZlIHRvZGF5LiIsMV0sWyJE4bqhLCBj
b24gY2jhu4kgbXVhIHbDqSBtw6F5IGJheSB0aMO0aSBiw6AuIiwiSSBvbmx5IGJvdWdodCB0aGUgcGxhbmUgdGlja2V0cywgR3JhbmRtYS4gKHlvdSBkaWQg
bW9yZSB0aGFuIHRoYXQsIGFuZCBzaGUga25vd3MgaXQpIiwwXSxbIkThuqEsIGtodXlhIHLhu5NpLCBtw6xuaCDEkWkgbmfhu6cgbmhhIGLDoC4iLCJJdCBp
cyBsYXRlLCBsZXQgdXMgc2xlZXAsIEdyYW5kbWEuIChub3QgeWV0KSIsMF1dfV19LAoyMzp7dDoi8J+Vr++4jyBHaeG7lyDDtG5nIG5nb+G6oWkiLCBzdGVw
czpbCiB7Ymc6ImRheSIsc2M6IvCfjLzwn42y8J+Vr++4jyIsbmFyOiJUaGUgdHdlbGZ0aCBkYXkgb2YgdGhlIHRoaXJkIGx1bmFyIG1vbnRoOiDDtG5nIG5n
b+G6oWkncyBnaeG7ly4gVGhlIGhvdXNlIGhhcyBiZWVuIGNvb2tpbmcgc2luY2UgZm91ciBhLm0uIETDrCBCYSBoYW5kcyB5b3UgYSBwbGF0ZSBvZiBjaHJ5
c2FudGhlbXVtcyBhbmQgdGhlIG1vc3QgaW1wb3J0YW50IGpvYiB5b3UgaGF2ZSBoYWQgYWxsIHRyaXAuIix3aG86IvCfkanigI3wn6axIETDrCBCYSIsa3I6
IkNvbiBiw6B5IG3Dom0gY8ahbSBsw6puIGLDoG4gdGjhu50gZ2nDuW0gZMOsLiBUaOG7i3Qga2hvIOG7nyBnaeG7r2EsIGNhbmgga2jhu5UgcXVhIGLDqm4g
cGjhuqNpIG5oYS4iLGVuOiJTZXQgdGhlIG9mZmVyaW5nIHRyYXkgb24gdGhlIGFsdGFyIGZvciBtZS4gQnJhaXNlZCBwb3JrIGluIHRoZSBtaWRkbGUsIGJp
dHRlci1tZWxvbiBzb3VwIG9uIHRoZSByaWdodC4iLGNoOltbIkThuqEsIHRo4buLdCBraG8g4bufIGdp4buvYSwgY2FuaCBraOG7lSBxdWEgYsOqbiBwaOG6
o2kuIEhvYSBjw7pjIMSR4buDIMSRw6J1IGTDrD8iLCJCcmFpc2VkIHBvcmsgaW4gdGhlIG1pZGRsZSwgYml0dGVyLW1lbG9uIHNvdXAgb24gdGhlIHJpZ2h0
LiBXaGVyZSBkbyB0aGUgY2hyeXNhbnRoZW11bXMgZ28sIEF1bnRpZT8iLDFdLFsiROG6oSwgY29uIMSDbiB0aOG7rSB0aOG7i3Qga2hvIHRyxrDhu5tjIMSR
xrDhu6NjIGjDtG5nIGTDrD8iLCJDYW4gSSB0YXN0ZSB0aGUgYnJhaXNlZCBwb3JrIGZpcnN0LCBBdW50aWU/IChOT1RISU5HIGlzIGVhdGVuIGJlZm9yZSB0
aGUgYW5jZXN0b3JzIGVhdCkiLDBdLFsiROG6oSwgY29uIGjDtG5nIGJp4bq/dCBsw6BtLiBEw6wgbMOgbSDEkWkuIiwiSSBkbyBub3Qga25vdyBob3cuIFlv
dSBkbyBpdCwgQXVudGllLiAoeW91IHdlcmUganVzdCBoYW5kZWQgYSBwbGFjZSBpbiB0aGUgZmFtaWx5IOKAlCB0YWtlIGl0KSIsMF1dfSwKIHtiZzoiaW5k
b29yIixzYzoi8J+qlPCfmY/wn5uVIixuYXI6IkV2ZXJ5dGhpbmcgaXMgc2V0LiBCw6Agbmdv4bqhaSBsaWdodHMgdGhyZWUgc3RpY2tzIG9mIGluY2Vuc2Ug
YW5kIGhhbmRzIHRoZW0gdG8geW91ciBtb3RoZXIgZmlyc3Qg4oCUIHRoZSBlbGRlc3QgZGF1Z2h0ZXIsIGhvbWUgYXQgbGFzdC4gVGhlbiB0aHJlZSBtb3Jl
LCB0byB5b3UuIFZ5IHdoaXNwZXJzIHRoZSBjaG9yZW9ncmFwaHkuIix3aG86IvCfmYIgVnkiLGtyOiJD4bqnbSBuaGFuZyDEkeG7gyBuZ2FuZyB0csOhbiwg
dsOhaSBiYSB2w6FpLCBy4buTaSBraOG6pW4gdGjhuqdtLiBBbmggYmnhur90IGto4bqlbiBnw6wgaMO0bmc/IixlbjoiSG9sZCB0aGUgaW5jZW5zZSBhdCB5
b3VyIGZvcmVoZWFkLCBib3cgdGhyZWUgdGltZXMsIHRoZW4gcHJheSBzaWxlbnRseS4gRG8geW91IGtub3cgd2hhdCB0byBzYXk/IixjaDpbWyJE4bqhIGJp
4bq/dC4gQ29uIHhpbiDDtG5nIG5nb+G6oWkgcGjDuSBo4buZIGNobyBtw6EgdsOgIGLDoCBt4bqhbmgga2jhu49lLiIsIkkgZG8uIEkgYXNrIEdyYW5kcGEg
dG8gcHJvdGVjdCBNb20gYW5kIEdyYW5kbWEncyBoZWFsdGguIiwxXSxbIkFuaCBraOG6pW4gdGnhur9uZyBBbmggxJHGsOG7o2MgaMO0bmc/IiwiQ2FuIEkg
cHJheSBpbiBFbmdsaXNoPyAoR3JhbmRwYSB1bmRlcnN0YW5kcyDigJQgYnV0IHRyeS4gVGhhdCBpcyB3aHkgeW91IGFyZSBoZXJlLikiLDBdLFsi4bucLCB2
w6FpIHhvbmcgcuG7k2kgxINuIGjDqW4/IiwiWWVhaCwgYm93IGFuZCB0aGVuIHdlIGVhdCwgcmlnaHQ/ICjhu50sIGF0IHRoZSBhbHRhciwgYWJvdXQgZm9v
ZCkiLDBdXX0sCiB7Ymc6ImluZG9vciIsc2M6IvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkabwn42x8J+YjCIsbmFyOiJUaGUgaW5jZW5zZSBidXJucyBkb3du
OyB0aGUgYW5jZXN0b3JzIGhhdmUgZWF0ZW4uIE5vdyB0aGUgZmFtaWx5IGRvZXMg4oCUIHR3ZW50eSBwZW9wbGUgb24gdGhlIGZsb29yIGFyb3VuZCB0cmF5
cywgdGhyZWUgY29udmVyc2F0aW9ucyBhdCBvbmNlLiBD4bqtdSBUxrAgc3RhbmRzIHdpdGggaGlzIGdsYXNzIGFuZCBsb29rcyBhdCB5b3VyIG1vdGhlciwg
dGhlbiBhdCB5b3UsIHRoZW4gYXQgdGhlIGFsdGFyLiIsd2hvOiLwn5Go4oCN8J+msSBD4bqtdSBUxrAiLGtyOiJOxINtIG5heSBjb24gY2jDoXUgduG7gSDE
kcO0bmcgxJHhu6cuIENo4buLIEjGsMahbmcgduG7gS4gQmEg4bufIHRyw6puIMSRw7MgY2jhuq9jIG3hu6tuZyBs4bqvbS4iLGVuOiJUaGlzIHllYXIgYWxs
IHRoZSBkZXNjZW5kYW50cyBhcmUgaGVyZS4gU2lzdGVyIEjGsMahbmcgaXMgaG9tZS4gRGFkIHVwIHRoZXJlIG11c3QgYmUgc28gZ2xhZC4iLGNoOltbIkTh
uqEsIGNvbiBjxaluZyBt4burbmcgbOG6r20gY+G6rXUuIENvbiBiaeG6v3QgxqFuIGPhuqMgZMOybmcgaOG7jSBtw6xuaC4iLCJJIGFtIHNvIGdsYWQgdG9v
LCBVbmNsZS4gSSBhbSBncmF0ZWZ1bCB0byBvdXIgd2hvbGUgY2xhbi4iLDFdLFsiROG6oSwgxJHDtG5nIHF1w6EsIGNvbiBow7RuZyBuaOG7myBo4bq/dCB0
w6puLiIsIlNvIG1hbnkgcGVvcGxlLCBJIGNhbm5vdCByZW1lbWJlciBhbGwgdGhlIG5hbWVzLiAodHJ1ZSDigJQgc2F5IGl0IGxhdGVyLCBwcml2YXRlbHks
IHRvIFZ5KSIsMF0sWyJE4bqhLCBj4bqtdSB14buRbmcgw610IHRow7RpLiIsIkRyaW5rIGxlc3MsIFVuY2xlLiAoZHVyaW5nIGhpcyB0b2FzdCB0byB5b3Vy
IGdyYW5kZmF0aGVyKSIsMF1dfSwKIHtiZzoiZGF3biIsc2M6IvCfm5Xwn5O38J+MhSIsbmFyOiJFdmVuaW5nLiBUaGUgdHJheXMgYXJlIGNsZWFyZWQsIHRo
ZSBjb3VzaW5zIGFyZSBhc2xlZXAgb24gdGhlIGZsb29yLiBCw6Agbmdv4bqhaSBzdGFuZHMgYXQgdGhlIGFsdGFyIHdpdGggYSBuZXcgZnJhbWU6IGEgcGhv
dG8gb2YgeW91ciBtb3RoZXIgYW5kIHlvdSwgdGFrZW4gdGhpcyBtb3JuaW5nLCBwbGFjZWQgYmVzaWRlIMO0bmcgbmdv4bqhaSdzLiBTaGUgc2F5cyBpdCB0
byB0aGUgcGhvdG8sIG5vdCB0byB5b3UuIix3aG86IvCfkbUgQsOgIG5nb+G6oWkiLGtyOiLDlG5nIMahaSwgY29uIGfDoWkgbcOsbmggduG7gSBy4buTaS4g
Q2jDoXUgbmdv4bqhaSBtw6xuaCBiaeG6v3QgdGjhuq9wIG5oYW5nIHLhu5NpLiBCw6AgaMOjbmggZGnhu4duIGzhuq9tLiIsZW46Ikh1c2JhbmQsIG91ciBk
YXVnaHRlciBpcyBob21lLiBPdXIgZ3JhbmRzb24ga25vd3MgaG93IHRvIGxpZ2h0IGluY2Vuc2Ugbm93LiBJIGFtIHNvIHByb3VkLiIsY2g6W1siROG6oeKA
piBjb24gY+G6o20gxqFuIGLDoC4gU2FuZyBuxINtIGdp4buXIMO0bmcsIGNvbiBs4bqhaSB24buBIHRo4bqvcCBuaGFuZy4iLCJUaGFuayB5b3UsIEdyYW5k
bWEuIE5leHQgeWVhciBvbiBHcmFuZHBhJ3MgZ2nhu5csIEkgd2lsbCBjb21lIGJhY2sgYW5kIGxpZ2h0IGluY2Vuc2UgYWdhaW4uIiwxXSxbIkThuqEsIGLD
oCBuw7NpIGNodXnhu4duIHbhu5tpIGFpIHbhuq15PyIsIldobyBhcmUgeW91IHRhbGtpbmcgdG8sIEdyYW5kbWE/ICh0byDDtG5nIG5nb+G6oWkg4oCUIGFu
ZCBub3csIHRvIHlvdSkiLDBdLFsiROG6oSwgaMOsbmggxJHDsyBjaOG7pXAgxJHhurlwIGjDqW4gYsOgISIsIlRoYXQgcGhvdG8gY2FtZSBvdXQgbmljZSwg
cmlnaHQsIEdyYW5kbWEhIChvZiBldmVyeXRoaW5nIHNoZSBzYWlkLCB5b3UgYW5zd2VyZWQgdGhlIHBob3RvKSIsMF1dfV19LAoyNDp7dDoi4pyI77iPIEjh
u6lhIiwgc3RlcHM6Wwoge2JnOiJkYXkiLHNjOiLwn6ez8J+PoPCfjYkiLG5hcjoiRGVwYXJ0dXJlIGRheSwgYWdhaW4uIFRoZSBzdWl0Y2FzZSBpcyBoZWF2
aWVyIHRoYW4gaXQgY2FtZTogc2lsaywgYsOhbmggdMOpdCwgZWxldmVuIGJvdHRsZXMgb2YgdGh14buRYyBi4buVLiBCw6Agbmdv4bqhaSBoYXMgbm90IHNh
dCBkb3duIHNpbmNlIGRhd24uIFNoZSBpcyBwYWNraW5nIGEgYmFnIG9mIHJhbWJ1dGFuIHlvdSBjYW5ub3QgbGVnYWxseSB0YWtlLCBhbmQgeW91IGFyZSBu
b3QgZ29pbmcgdG8gdGVsbCBoZXIuIix3aG86IvCfkbUgQsOgIG5nb+G6oWkiLGtyOiJD4bqnbSB0aGVvIMSDbiB0csOqbiBtw6F5IGJheS4gU2FuZyBuxINt
IHbhu4EgbuG7r2EgbmhhLiBE4bqrbiBiYSBjb24gduG7gSBsdcO0bi4iLGVuOiJUYWtlIHRoZXNlIGZvciB0aGUgcGxhbmUuIENvbWUgYmFjayBuZXh0IHll
YXIuIEJyaW5nIHlvdXIgZmF0aGVyIHRvby4iLGNoOltbIkThuqEsIGNvbiBo4bupYSBzYW5nIG7Eg20gY29uIGThuqtuIGJhIHbhu4EuIEPhuqMgbmjDoCBt
w6xuaCDEkW/DoG4gdOG7pS4iLCJJIHByb21pc2UgbmV4dCB5ZWFyIEkgd2lsbCBicmluZyBEYWQuIE91ciB3aG9sZSBmYW1pbHkgcmV1bml0ZWQuIiwxXSxb
IkThuqEsIGNow7RtIGNow7RtIGjDtG5nIG1hbmcgbMOqbiBtw6F5IGJheSDEkcaw4bujYyDEkcOidSBiw6AuIiwiUmFtYnV0YW4gaXMgbm90IGFsbG93ZWQg
b24gdGhlIHBsYW5lLCBHcmFuZG1hLiAoeW91IGtub3cuIFRha2UgdGhlIGJhZy4pIiwwXSxbIkThuqEsIMSR4buDIGNvaSwgY29uIGLhuq1uIGzhuq9tIGLD
oC4iLCJXZSB3aWxsIHNlZSwgSSBhbSB2ZXJ5IGJ1c3ksIEdyYW5kbWEuICjEkeG7gyBjb2kgaXMgZm9yIHVuY2xlcycgcXVlc3Rpb25zIOKAlCBub3QgZm9y
IHRoaXMpIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+al/CfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkabwn4yGIixuYXI6IlR3byBjYXJzIGFuZCBhIG1vdG9y
YmlrZSB0byB0aGUgYWlycG9ydDogQ+G6rXUgVMawLCBN4bujIE7Eg20sIETDrCBCYSwgRMaw4bujbmcgQuG6o3ksIFZ5LCBhbmQgYSBuZWlnaGJvciBub2Jv
ZHkgaW52aXRlZC4gQXQgdGhlIGN1cmIsIHlvdXIgbW90aGVyIGFuZCBiw6Agbmdv4bqhaSBob2xkIGVhY2ggb3RoZXIgYWdhaW4sIGFuZCB0aGlzIHRpbWUg
dGhlcmUgaXMgbm8gdGhpcnR5IHllYXJzIGluIGl0IOKAlCBvbmx5IG5leHQgeWVhci4iLHdobzoi8J+RqSBNw6EiLGtyOiJNw6Eg4bufIGzhuqFpIG3huqFu
aCBnaeG7j2kgbmhhIG3DoS4gQ29uIHbhu4EgVOG6v3QuIENvbiBo4bupYS4gTOG6p24gbsOgeSBjb24gZ2nhu68gbOG7nWkuIixlbjoiU3RheSBoZWFsdGh5
LCBNb20uIEkgd2lsbCBjb21lIGJhY2sgYXQgVOG6v3QuIEkgcHJvbWlzZS4gVGhpcyB0aW1lIEkga2VlcCBteSB3b3JkLiIsY2g6W1siKENvbiDEkeG7qW5n
IGPhuqFuaCBtw6EsIG7huq9tIHRheSBiw6AsIGtow7RuZyBuw7NpIGfDrC4pIiwiKFlvdSBzdGFuZCBiZXNpZGUgTW9tLCBob2xkaW5nIEdyYW5kbWEncyBo
YW5kLCBzYXlpbmcgbm90aGluZy4pIiwxXSxbIk3DoSDGoWksIHRy4buFIGdp4budIHLhu5NpLCBs4bq5IGzDqm4hIiwiTW9tLCB3ZSBhcmUgbGF0ZSwgaHVy
cnkhICh0aGVyZSBpcyBubyBmbGlnaHQgd29ydGggdGhpcyBzZW50ZW5jZSkiLDBdLFsiROG6oSwgYsOgIMahaSwgY29uIGPFqW5nIGjhu6lhOiBzYW5nIG7E
g20gY29uIGzhuqV5IHbhu6MuIiwiR3JhbmRtYSwgSSBwcm9taXNlIHRvbzogbmV4dCB5ZWFyIEkgZ2V0IG1hcnJpZWQuICh0aGUgdW5jbGVzIHRyYWluZWQg
eW91IHdlbGwg4oCUIGJ1dCB0aGF0IGlzIG5vdCB0aGUgcHJvbWlzZSBzaGUgd2FudHMpIiwwXV19LAoge2JnOiJjaXR5IixzYzoi8J+Oq/Cfp77wn5iiIixu
YXI6IlRoZSBnYXRlLiBWeSBpcyBjcnlpbmcgb3Blbmx5OyBD4bqtdSBUxrAgaXMgcHJldGVuZGluZyBub3QgdG8uIEhlIHByZXNzZXMgYW4gZW52ZWxvcGUg
aW50byB5b3VyIGhhbmQg4oCUIGzDrCB4w6wsIHNpeCBtb250aHMgZWFybHkg4oCUIGFuZCByZWZ1c2VzIHRvIGxldCB5b3UgcmVmdXNlLiIsd2hvOiLwn5Go
4oCN8J+msSBD4bqtdSBUxrAiLGtyOiJD4bqnbSDEkWkuIEPhuq11IGjDtG5nIGdpw6B1IG5oxrBuZyBj4bqtdSBsw6AgY+G6rXUgY+G7p2EgY29uLiBW4buB
IGLDqm4gxJHDsywgbeG6oW5oIGdp4buPaSwgbMOgbSDEg24gdOG7kXQgbmhhLiIsZW46IlRha2UgaXQuIEkgYW0gbm90IHJpY2gsIGJ1dCBJIGFtIHlvdXIg
dW5jbGUuIE92ZXIgdGhlcmUsIHN0YXkgd2VsbCBhbmQgZG8gZ29vZCB3b3JrLiIsY2g6W1siROG6oSwgY29uIGPhuqNtIMahbiBj4bqtdS4gQ29uIHPhur0g
Z2nhu68gbOG7nWkg4oCUIGfhu41pIGPhuq11IG3hu5dpIHR14bqnbiwgdsOgIHNhbmcgbsSDbSB24buBLiIsIlRoYW5rIHlvdSwgVW5jbGUuIEkgd2lsbCBr
ZWVwIG15IHdvcmQg4oCUIGNhbGwgeW91IGV2ZXJ5IHdlZWssIGFuZCBjb21lIGJhY2sgbmV4dCB5ZWFyLiIsMV0sWyJE4bqhIGjDtG5nIMSRxrDhu6NjLCBj
4bqtdSBjw7JuIG7hu6MgbcOgISIsIk5vLCB5b3Ugc3RpbGwgaGF2ZSBkZWJ0ISAoaGUga25vd3Mg4oCUIGFuZCB0aGlzIGlzIG5vdCBhYm91dCBtb25leSki
LDBdLFsiROG6oSwgYmFvIG5oacOqdSB24bqteSBj4bqtdT8iLCJIb3cgbXVjaCBpcyBpdCwgVW5jbGU/IChuZXZlciBvcGVuIGzDrCB4w6wgaW4gZnJvbnQg
b2YgdGhlIGdpdmVyIOKAlCBuZXZlciBhc2spIiwwXV19LAoge2JnOiJkYXduIixzYzoi4pyI77iP8J+Ri/CfkpsiLG5hcjoiVGhyb3VnaCB0aGUgZ2xhc3M6
IHRoZSB3aG9sZSBmYW1pbHkgd2F2aW5nLCBWeSBydW5uaW5nIGFsb25nIHRoZSBiYXJyaWVyLCBiw6Agbmdv4bqhaSBzdGFuZGluZyB2ZXJ5IHN0cmFpZ2h0
LCBub3Qgd2F2aW5nLCBqdXN0IHdhdGNoaW5nLCB0aGUgd2F5IHNoZSBzdG9vZCBvbiBhIHNob3JlIG9uY2UuIFlvdXIgbW90aGVyIGxpZnRzIGhlciBoYW5k
LiBTbyBkbyB5b3UuIix3aG86IvCfp6AgKHlvdXIgaGVhcnQpIixrcjoiKEtow7RuZyBwaOG6o2kgdOG6oW0gYmnhu4d0LiBI4bq5biBn4bq3cCBs4bqhaS4g
U2FuZyBuxINtIOKAlCBj4bqjIG5ow6AuKSIsZW46IihOb3QgZ29vZGJ5ZS4gU2VlIHlvdSBhZ2Fpbi4gTmV4dCB5ZWFyIOKAlCB0aGUgd2hvbGUgZmFtaWx5
LikiLGNoOltbIkjhurluIGfhurdwIGzhuqFpLCBiw6Agbmdv4bqhaS4gQ29uIHPhur0gcXVheSBs4bqhaSDigJQgdsOgIGThuqF5IGzhuqFpIGNobyBjb24g
Y+G7p2EgY29uLiIsIlNlZSB5b3UgYWdhaW4sIEdyYW5kbWEuIEkgd2lsbCBjb21lIGJhY2sg4oCUIGFuZCB0ZWFjaCBteSBvd24gY2hpbGRyZW4uIiwxXSxb
IlhvbmcgcuG7k2kuIFbhu4EgbmjDoCB0aMO0aS4iLCJEb25lLiBUaW1lIHRvIGdvIGhvbWUuICh5b3UgYXJlIGxlYXZpbmcgb25lKSIsMF0sWyJDaOG6r2Mg
bMOidSBs4bqvbSBt4bubaSB24buBIMSRxrDhu6NjIG7hu69hLiIsIkl0IHdpbGwgcHJvYmFibHkgYmUgYSBsb25nIHRpbWUgYmVmb3JlIEkgY2FuIGNvbWUg
YmFjay4gKHlvdSBwcm9taXNlZCDigJQgc2l4IHBlb3BsZSBoZWFyZCBpdCkiLDBdXX1dfQp9OwpPYmplY3QuYXNzaWduKFNUT1JJRVMsIFNUT1JJRVNfUzIp
OwpMRVNTT05TLmZvckVhY2goTCA9PiBMLnN0b3J5ID0gU1RPUklFU1tMLm5dKTsKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRUFTT04gMiBUQUxLUyDigJQgc3Bva2VuIGNvbnZlcnNhdGlvbnMsIFNvdXRoZXJuIGZhbWlseS4KICAg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpjb25zdCBUQUxLU19TMiA9IHsKMTM6
e3dobzoi8J+ZgiBWeSAoeW91ciBTb3V0aGVybiBjb3VzaW4pIiwgdDoiTWVldGluZyBWeSBhdCBUw6JuIFPGoW4gTmjhuqV0IiwgdHVybnM6Wwoge3E6IkFu
aCBUb20gaOG6oz8gROG6oSwgZW0gbMOgIFZ5IG7DqCEiLHFFbjoiVG9tPyBZZXMsIGl0IGlzIG1lLCBWeSEiLHRhc2s6IkdyZWV0IGhlciBhbmQgc2F5IGl0
IGhhcyBiZWVuIGEgbG9uZyB0aW1lIChTb3V0aGVybjogaMOpbikuIixhOiJDaMOgbyBlbSEgTMOidSBs4bqvbSBy4buTaSBow6luISIsYUVuOiJIaSEgSXQg
aGFzIGJlZW4gc28gbG9uZywgcmlnaHQhIixhbHQ6WyJDaMOgbyBWeSEgTMOidSBs4bqvbSBy4buTaS4iLCJDaMOgbyBlbSwgbMOidSBxdcOhIHLhu5NpIGjD
qW4uIl19LAoge3E6IkTDrCBIxrDGoW5nIG3hu4d0IGjDtG5nIGFuaD8gQmF5IHhhIHF1w6EhIixxRW46IklzIEF1bnRpZSBIxrDGoW5nIHRpcmVkPyBTdWNo
IGEgbG9uZyBmbGlnaHQhIix0YXNrOiJTYXkgTW9tIGlzIGEgbGl0dGxlIHRpcmVkLiIsYToiTcOhIGFuaCBoxqFpIG3hu4d0LiIsYUVuOiJNeSBtb20gaXMg
YSBsaXR0bGUgdGlyZWQuIixhbHQ6WyJE4bqhLCBtw6EgaMahaSBt4buHdC4iLCJNw6EgaMahaSBt4buHdCBjaMO6dC4iXX0sCiB7cToiQW5oIG7Ds2kgdGnh
ur9uZyBWaeG7h3QgZ2nhu49pIGdow6ohIEjhu41jIOG7nyDEkcOidSB24bqteT8iLHFFbjoiWW91ciBWaWV0bmFtZXNlIGlzIGdyZWF0ISBXaGVyZSBkaWQg
eW91IGxlYXJuPyIsdGFzazoiU2F5IHlvdSBhcmUgbGVhcm5pbmcgdG8gdGFsayB3aXRoIGdyYW5kbWEuIixhOiJBbmggaOG7jWMgxJHhu4MgbsOzaSBjaHV5
4buHbiB24bubaSBiw6Agbmdv4bqhaS4iLGFFbjoiSSBhbSBsZWFybmluZyB0byB0YWxrIHdpdGggR3JhbmRtYS4iLGFsdDpbIkFuaCBo4buNYyDEkeG7gyBu
w7NpIHbhu5tpIGLDoC4iLCJBbmggxJFhbmcgaOG7jWMgxJHhu4MgbsOzaSBjaHV54buHbiB24bubaSBiw6Agbmdv4bqhaS4iXX0sCiB7cToiQsOgIG5nb+G6
oWkgY2jhu50g4bufIG5ow6AgdOG7qyBzw6FuZyDEkcOzISBNw6xuaCB24buBIGxp4buBbiBuaGE/IixxRW46IkdyYW5kbWEgaGFzIGJlZW4gd2FpdGluZyBh
dCBob21lIHNpbmNlIG1vcm5pbmchIFNoYWxsIHdlIGdvIHN0cmFpZ2h0IGhvbWU/Iix0YXNrOiJTYXkgeWVzIChTb3V0aGVybiBk4bqhKSDigJQgbGV0IHVz
IGdvIGhvbWUgbm93LiIsYToiROG6oSwgbcOsbmggduG7gSBuaMOgIGxp4buBbiBuaGEhIixhRW46IlllcywgbGV0IHVzIGdvIGhvbWUgcmlnaHQgbm93ISIs
YWx0OlsiROG6oSwgduG7gSBsaeG7gW4hIiwiROG6oSwgbcOsbmggduG7gSBuaMOgIG5oYS4iXX0sCiB7cToiQ+G6rXUgVMawIGNo4bqheSB4ZSBoxqFpIHTh
u5tpIHLhu5NpLiBBbmggc+G6tW4gc8OgbmcgY2jGsGE/IixxRW46IlVuY2xlIFTGsCBoYXMgYXJyaXZlZCB3aXRoIHRoZSBjYXIuIEFyZSB5b3UgcmVhZHk/
Iix0YXNrOiJTYXkgeW91IGFyZSByZWFkeSDigJQgYW5kIHRoYXQgeW91IGFyZSBzbyBnbGFkICht4burbmcpLiIsYToiROG6oSwgYW5oIHPhurVuIHPDoG5n
IHLhu5NpLiBBbmggbeG7q25nIHF1w6EhIixhRW46IlllcywgSSBhbSByZWFkeS4gSSBhbSBzbyBnbGFkISIsYWx0OlsiU+G6tW4gc8OgbmcgcuG7k2ksIGFu
aCBt4burbmcgbOG6r20uIiwiROG6oSBy4buTaSwgbeG7q25nIHF1w6EgdHLhu51pISJdfV19LAoxNDp7d2hvOiLwn6eR4oCN8J+NsyBDw7QgYsOhbiBo4bun
IHRp4bq/dSIsIHQ6IkJyZWFrZmFzdCBvbiB0aGUgc2lkZXdhbGsiLCB0dXJuczpbCiB7cToixIJuIGfDrCBjb24/IEjhu6cgdGnhur91IGhheSBjxqFtIHTh
uqVtPyIscUVuOiJXaGF0IHdpbGwgeW91IGhhdmUsIGRlYXI/IEjhu6cgdGnhur91IG9yIGJyb2tlbiByaWNlPyIsdGFzazoiT3JkZXIgb25lIGJvd2wgb2Yg
aOG7pyB0aeG6v3UgKFNvdXRoZXJuOiBrw6p1IC8gdMO0KS4iLGE6IkThuqEsIGNobyBjb24gbeG7mXQgdMO0IGjhu6cgdGnhur91LiIsYUVuOiJPbmUgYm93
bCBvZiBo4bunIHRp4bq/dSBmb3IgbWUsIHBsZWFzZS4iLGFsdDpbIkNvbiBrw6p1IG3hu5l0IHTDtCBo4bunIHRp4bq/dS4iLCJE4bqhLCBt4buZdCB0w7Qg
aOG7pyB0aeG6v3Ug4bqhLiJdfSwKIHtxOiJV4buRbmcgZ8OsIGjDtG5nIGNvbj8iLHFFbjoiQW55dGhpbmcgdG8gZHJpbms/Iix0YXNrOiJPcmRlciBvbmUg
aWNlZCBtaWxrIGNvZmZlZSAoU291dGhlcm46IGx5KS4iLGE6IkThuqEsIGNobyBjb24gbeG7mXQgbHkgY8OgIHBow6ogc+G7r2EgxJHDoS4iLGFFbjoiT25l
IGljZWQgbWlsayBjb2ZmZWUsIHBsZWFzZS4iLGFsdDpbIk3hu5l0IGx5IGPDoCBwaMOqIHPhu69hIMSRw6EgbmhhIGPDtC4iLCJDaG8gY29uIGx5IGPDoCBw
aMOqIHPhu69hIMSRw6EuIl19LAoge3E6IsSCbiBjYXkgxJHGsOG7o2MgaMO0bmc/IEPDtCBi4buPIOG7m3QgbmhhPyIscUVuOiJDYW4geW91IGVhdCBzcGlj
eT8gU2hhbGwgSSBhZGQgY2hpbGk/Iix0YXNrOiJTYXkganVzdCBhIGxpdHRsZSAoU291dGhlcm46IGNow7p0IHRow7RpKS4iLGE6IkThuqEsIGNow7p0IHRo
w7RpIGPDtC4iLGFFbjoiSnVzdCBhIGxpdHRsZSwgbWEnYW0uIixhbHQ6WyJE4bqhLCDDrXQgdGjDtGkgY8O0LiIsIkLhu48gY2jDunQgdGjDtGkgbmhhIGPD
tC4iXX0sCiB7cToiU2FvIGNvbj8gTmdvbiBow7RuZz8iLHFFbjoiV2VsbD8gSXMgaXQgZ29vZD8iLHRhc2s6IlNheSBpdCBpcyB2ZXJ5IGRlbGljaW91cyAo
U291dGhlcm46IG5nb24gZOG7ryBs4bqvbSkuIixhOiJE4bqhLCBuZ29uIGThu68gbOG6r20gY8O0ISIsYUVuOiJJdCBpcyBzbyBkZWxpY2lvdXMsIG1hJ2Ft
ISIsYWx0OlsiTmdvbiBsw6BuaCBsdcO0biBjw7QhIiwiROG6oSBuZ29uIHF1w6EgdHLhu51pISJdfSwKIHtxOiLEgm4geG9uZyBjaMawYT8gVMOtbmggdGnh
u4FuIGjDqW4/IixxRW46IkZpbmlzaGVkPyBTaGFsbCBJIHRvdGFsIGl0PyIsdGFzazoiU2F5IHllcyDigJQgaG93IG11Y2ggaXMgaXQgKFNvdXRoZXJuOiBu
aGnDqnUpPyIsYToiROG6oSBy4buTaS4gTmhpw6p1IHbhuq15IGPDtD8iLGFFbjoiWWVzLiBIb3cgbXVjaCwgbWEnYW0/IixhbHQ6WyJE4bqhLCB0w61uaCB0
aeG7gW4gZ2nDuW0gY29uLiBOaGnDqnUgduG6rXkgY8O0PyIsIkThuqEgeG9uZyBy4buTaSwgYmFvIG5oacOqdSBjw7Q/Il19XX0sCjE1Ont3aG86IvCfm7Ug
QW5oIEjDuW5nIChHcmFiIGRyaXZlcikiLCB0OiJBIHJpZGUgdG8gRMOsIEJhJ3MgYWxsZXkiLCB0dXJuczpbCiB7cToiRW0gxJFpIMSRw6J1PyIscUVuOiJX
aGVyZSBhcmUgeW91IGdvaW5nPyIsdGFzazoiU2F5OiB0byBEaXN0cmljdCA1LCBwbGVhc2UgKFNvdXRoZXJuOiB04bubaSkuIixhOiJE4bqhLCBjaG8gZW0g
dOG7m2kgUXXhuq1uIDUuIixhRW46IlRvIERpc3RyaWN0IDUsIHBsZWFzZS4iLGFsdDpbIkVtIHThu5tpIFF14bqtbiA1IGFuaC4iLCJE4bqhLCBRdeG6rW4g
NSBuaGEgYW5oLiJdfSwKIHtxOiLEkOG7i2EgY2jhu4kgdHJvbmcgaOG6u20gaOG6oz8gSOG6u20gbsOgbz8iLHFFbjoiSXMgdGhlIGFkZHJlc3MgaW4gYW4g
YWxsZXk/IFdoaWNoIG9uZT8iLHRhc2s6IlNheSBhbGxleSAxMjMsIG5leHQgdG8gdGhlIG1hcmtldCAoU291dGhlcm46IGvhur8gYsOqbikuIixhOiJE4bqh
LCBo4bq7bSAxMjMsIGvhur8gYsOqbiBjaOG7oy4iLGFFbjoiQWxsZXkgMTIzLCBuZXh0IHRvIHRoZSBtYXJrZXQuIixhbHQ6WyJI4bq7bSAxMjMga+G6vyBi
w6puIGNo4bujIGFuaC4iLCJE4bqhIGjhurttIDEyMywgZ+G6p24gY2jhu6MuIl19LAoge3E6Ikdp4budIG7DoHkga+G6uXQgeGUgbOG6r20uIEVtIGPDsyB2
4buZaSBow7RuZz8iLHFFbjoiVGVycmlibGUgdHJhZmZpYyBhdCB0aGlzIGhvdXIuIEFyZSB5b3UgaW4gYSBodXJyeT8iLHRhc2s6IlNheSBubyDigJQgdGFr
ZSBpdCBzbG93bHkgKHThu6sgdOG7qykuIixhOiJE4bqhIGjDtG5nLCBhbmggY2jhuqF5IHThu6sgdOG7qyB0aMO0aS4iLGFFbjoiTm8sIGp1c3QgZHJpdmUg
c2xvd2x5LiIsYWx0OlsiSMO0bmcgduG7mWksIHThu6sgdOG7qyBhbmguIiwiROG6oSwgdOG7qyB04burIHRow7RpIGFuaC4iXX0sCiB7cToiTcawYSBy4buT
aSEgRW0gbeG6t2Mgw6FvIG3GsGEgdsO0IG5oYS4iLHFFbjoiSXQgaXMgcmFpbmluZyEgUHV0IHRoZSByYWluY29hdCBvbi4iLHRhc2s6IlNheSB0aGFuayB5
b3Ug4oCUIHlvdSB3aWxsIHB1dCBpdCBvbi4iLGE6IkThuqEsIGPhuqNtIMahbiBhbmguIEVtIG3hurdjIGxp4buBbi4iLGFFbjoiVGhhbmsgeW91LiBJIHdp
bGwgcHV0IGl0IG9uIHJpZ2h0IGF3YXkuIixhbHQ6WyJD4bqjbSDGoW4gYW5oLCBlbSBt4bq3YyB2w7QuIiwiROG6oSwgZW0gbeG6t2MgbmhhLiJdfSwKIHtx
OiJU4bubaSDEkeG6p3UgaOG6u20gcuG7k2kuIEVtIMSRaSBi4buZIHbDtCBuaGEsIG5ow6Agc+G7kSBzw6F1LiIscUVuOiJXZSBhcmUgYXQgdGhlIGFsbGV5
IGVudHJhbmNlLiBXYWxrIGluLCBob3VzZSBudW1iZXIgc2l4LiIsdGFzazoiU2F5IGdvdCBpdCwgdGhhbmsgeW91IOKAlCByaWRlIGNhcmVmdWxseS4iLGE6
IkThuqEgZW0gYmnhur90IHLhu5NpLiBD4bqjbSDGoW4gYW5oLCBhbmggY2jhuqF5IGPhuqluIHRo4bqtbiBuaGEhIixhRW46IkdvdCBpdC4gVGhhbmsgeW91
IOKAlCBkcml2ZSBjYXJlZnVsbHkhIixhbHQ6WyJE4bqhLCBj4bqjbSDGoW4gYW5oIG5oaeG7gXUuIiwiRW0gaGnhu4N1IHLhu5NpLCBj4bqjbSDGoW4gYW5o
ISJdfV19LAoxNjp7d2hvOiLwn5Gp4oCN8J+msCBN4bujIE7Eg20gKHlvdXIgdW5jbGUncyB3aWZlKSIsIHQ6IkF0IHRoZSBmYWJyaWMgc2hvcCIsIHR1cm5z
OlsKIHtxOiJDb24gbMOgbSB2aeG7h2MgZ8OsIGLDqm4gQ2FuYWRhPyIscUVuOiJXaGF0IHdvcmsgZG8geW91IGRvIGluIENhbmFkYT8iLHRhc2s6IlNheSB5
b3UgYXJlIGEgYmFuayBlbXBsb3llZSAobmjDom4gdmnDqm4pLiIsYToiROG6oSwgY29uIGzDoG0gbmjDom4gdmnDqm4gbmfDom4gaMOgbmcuIixhRW46Ikkg
YW0gYSBiYW5rIGVtcGxveWVlLiIsYWx0OlsiQ29uIGzDoG0g4bufIG5nw6JuIGjDoG5nIOG6oS4iLCJE4bqhIGNvbiBsw6BtIG5nw6JuIGjDoG5nLiJdfSwK
IHtxOiJDw7RuZyB2aeG7h2MgY8OzIOG7lW4gaMO0bmcgY29uPyIscUVuOiJJcyB0aGUgam9iIHN0YWJsZT8iLHRhc2s6IlNheSBpdCBpcyBzdGFibGUgKOG7
lW4gxJHhu4tuaCkg4oCUIGJ1dCBoYXJkIHdvcmsgKHbhuqV0IHbhuqMpLiIsYToiROG6oSDhu5VuIMSR4buLbmgsIG5oxrBuZyBjxaluZyB24bqldCB24bqj
IG3hu6MuIixhRW46Ikl0IGlzIHN0YWJsZSwgYnV0IGhhcmQgd29yayB0b28sIEF1bnRpZS4iLGFsdDpbIkThuqEg4buVbiwgbmjGsG5nIHbhuqV0IHbhuqMg
bOG6r20uIiwiQ8O0bmcgdmnhu4djIOG7lW4gxJHhu4tuaCwgaMahaSB24bqldCB24bqjIOG6oS4iXX0sCiB7cToiTMawxqFuZyBjw7Mga2jDoSBow7RuZz8i
LHFFbjoiSXMgdGhlIHBheSBkZWNlbnQ/Iix0YXNrOiJTYXkgaXQgaXMgZW5vdWdoIHRvIGxpdmUgb24gKMSR4bunIHPhu5FuZykuIixhOiJE4bqhLCBsxrDG
oW5nIGNvbiDEkeG7pyBz4buRbmcgdGjDtGkgbeG7oy4iLGFFbjoiTXkgc2FsYXJ5IGlzIGVub3VnaCB0byBsaXZlIG9uLCBBdW50aWUuIixhbHQ6WyJE4bqh
IMSR4bunIHPhu5FuZyDhuqEuIiwixJDhu6cgc+G7kW5nIHRow7RpIG3hu6MgxqFpLiJdfSwKIHtxOiJN4bujIGJ1w7RuIGLDoW4g4bufIMSRw6J5IGJhIG3G
sMahaSBuxINtIHLhu5NpIMSRw7MuIixxRW46IkkgaGF2ZSBiZWVuIHRyYWRpbmcgaGVyZSBmb3IgdGhpcnR5IHllYXJzLiIsdGFzazoiU2F5IHNoZSBpcyBh
bWF6aW5nIOKAlCB0aGUgc2hvcCBpcyBiZWF1dGlmdWwuIixhOiJN4bujIGdp4buPaSBxdcOhISBUaeG7h20gxJHhurlwIGzhuq9tIG3hu6MuIixhRW46Illv
dSBhcmUgYW1hemluZywgQXVudGllISBUaGUgc2hvcCBpcyBiZWF1dGlmdWwuIixhbHQ6WyJE4bqhIG3hu6MgZ2nhu49pIGThu68hIFRp4buHbSDEkeG6uXAg
cXXDoS4iLCJN4bujIGhheSBxdcOhLCB0aeG7h20gbeG7oyDEkeG6uXAgbOG6r20uIl19LAoge3E6IkNvbiBj4buRIGfhuq9uZyBuaGEuIE3hu6MgdGluIGNv
biB0aMOgbmggY8O0bmcuIixxRW46IktlZXAgdHJ5aW5nLCBkZWFyLiBJIGJlbGlldmUgeW91IHdpbGwgc3VjY2VlZC4iLHRhc2s6IlRoYW5rIGhlciDigJQg
c2F5IHlvdSB3aWxsIHRyeSBoYXJkIChj4buRIGfhuq9uZykuIixhOiJE4bqhLCBjb24gY+G6o20gxqFuIG3hu6MuIENvbiBz4bq9IGPhu5EgZ+G6r25nIOG6
oS4iLGFFbjoiVGhhbmsgeW91LCBBdW50aWUuIEkgd2lsbCB0cnkgaGFyZC4iLGFsdDpbIkPhuqNtIMahbiBt4bujLCBjb24gY+G7kSBn4bqvbmcuIiwiROG6
oSBjb24gc+G6vSBj4buRIGfhuq9uZyBt4bujIMahaS4iXX1dfSwKMTc6e3dobzoi8J+nkeKAjfCfkrwgQ2jhu4sgdGnhu4dtIHbDoG5nIChnb2xkLXNob3Ag
Y2xlcmspIiwgdDoiRXhjaGFuZ2luZyBtb25leSIsIHR1cm5zOlsKIHtxOiJFbSBj4bqnbiBnw6w/IixxRW46IldoYXQgZG8geW91IG5lZWQ/Iix0YXNrOiJT
YXkgeW91IHdhbnQgdG8gZXhjaGFuZ2UgZG9sbGFycyAoxJHhu5VpIHRp4buBbikuIixhOiJE4bqhLCBlbSBtdeG7kW4gxJHhu5VpIMSRw7QgbGEuIixhRW46
Ikkgd2FudCB0byBleGNoYW5nZSBkb2xsYXJzLiIsYWx0OlsiRW0gxJHhu5VpIHRp4buBbiDEkcO0IGNo4buLLiIsIkThuqEsIMSR4buVaSDEkcO0IGxhIOG6
oS4iXX0sCiB7cToixJDhu5VpIGJhbyBuaGnDqnU/IixxRW46IkhvdyBtdWNoPyIsdGFzazoiU2F5IG9uZSBodW5kcmVkIGRvbGxhcnMuIixhOiJE4bqhLCBt
4buZdCB0csSDbSDEkcO0LiIsYUVuOiJPbmUgaHVuZHJlZCBkb2xsYXJzLiIsYWx0OlsiTeG7mXQgdHLEg20gxJHDtCBsYSBjaOG7iy4iLCJE4bqhIGVtIMSR
4buVaSBt4buZdCB0csSDbSDEkcO0LiJdfSwKIHtxOiJU4bu3IGdpw6EgaMO0bSBuYXkgaGFpIGzEg20gbmfDoG4gaGFpLiDEkMaw4bujYyBow7RuZz8iLHFF
bjoiVG9kYXkncyByYXRlIGlzIDI1LDIwMC4gT2theT8iLHRhc2s6IlNheSBva2F5IOKAlCB0aGF0IHJhdGUgaXMgZmluZS4iLGE6IkThuqEgxJHGsOG7o2Ms
IHThu7cgZ2nDoSB24bqteSDEkcaw4bujYyBy4buTaSBjaOG7iy4iLGFFbjoiT2theSwgdGhhdCByYXRlIGlzIGZpbmUuIixhbHQ6WyJE4bqhIMSRxrDhu6Nj
IGNo4buLLiIsIlbhuq15IMSRxrDhu6NjIHLhu5NpIGNo4buLLiJdfSwKIHtxOiLEkMOieSwgaGFpIHRyaeG7h3UgbsSDbSB0csSDbSBoYWkgY2jhu6VjIG5n
w6BuLiDEkOG6v20gbOG6oWkgbmhhLiIscUVuOiJIZXJlLCAyLDUyMCwwMDAuIENvdW50IGl0IGFnYWluLiIsdGFzazoiU2F5IGl0IGlzIGNvcnJlY3Qg4oCU
IGFzayBmb3IgYSByZWNlaXB0IChow7NhIMSRxqFuKS4iLGE6IkThuqEgxJHDum5nIHLhu5NpLiBDaG8gZW0geGluIGjDs2EgxJHGoW4gbmhhIGNo4buLLiIs
YUVuOiJJdCBpcyBjb3JyZWN0LiBNYXkgSSBoYXZlIGEgcmVjZWlwdD8iLGFsdDpbIkThuqEgxJHhu6cgcuG7k2ksIGNobyBlbSBow7NhIMSRxqFuLiIsIsSQ
w7puZyBy4buTaSBjaOG7iywgeGluIGjDs2EgxJHGoW4g4bqhLiJdfSwKIHtxOiLEkMOieS4gTOG6p24gc2F1IGdow6kgbuG7r2EgbmhhIGVtLiIscUVuOiJI
ZXJlLiBDb21lIGJ5IGFnYWluIG5leHQgdGltZS4iLHRhc2s6IlRoYW5rIGhlciDigJQgc2F5IHlvdSB3aWxsIGNvbWUgYmFjay4iLGE6IkThuqEsIGPhuqNt
IMahbiBjaOG7iy4gTOG6p24gc2F1IGVtIGdow6kgbuG7r2EuIixhRW46IlRoYW5rIHlvdS4gSSB3aWxsIGNvbWUgYnkgYWdhaW4uIixhbHQ6WyJD4bqjbSDG
oW4gY2jhu4sgbmhhLiIsIkThuqEsIGVtIHPhur0gZ2jDqSBs4bqhaS4iXX1dfSwKMTg6e3dobzoi8J+RqOKAjfCfprEgQ+G6rXUgVMawICh5b3VyIHVuY2xl
KSIsIHQ6IlRoZSB1bmNsZSdzIHF1ZXN0aW9ucyIsIHR1cm5zOlsKIHtxOiJDb24gbOG6pXkgduG7oyBjaMawYT8iLHFFbjoiQXJlIHlvdSBtYXJyaWVkIHll
dD8iLHRhc2s6IlNheSBub3QgeWV0IOKAlCB5b3UgYXJlIHN0aWxsIHlvdW5nLiIsYToiROG6oSBjaMawYSBj4bqtdS4gQ29uIGPDsm4gdHLhursgbcOgLiIs
YUVuOiJOb3QgeWV0LCBVbmNsZS4gSSBhbSBzdGlsbCB5b3VuZy4iLGFsdDpbIkThuqEgY2jGsGEsIGNvbiBjw7JuIHRy4bq7LiIsIkNoxrBhIGPhuq11IMah
aSwgY29uIGPDsm4gdHLhursgbcOgLiJdfSwKIHtxOiJW4bqteSBjw7MgbmfGsOG7nWkgecOqdSBjaMawYT8iLHFFbjoiVGhlbiBkbyB5b3UgaGF2ZSBhIGdp
cmxmcmllbmQ/Iix0YXNrOiJTYXk6IHdlIHdpbGwgc2VlIChTb3V0aGVybjogxJHhu4MgY29pKS4iLGE6IkThuqEsIMSR4buDIGNvaSBzYW8gxJHDoyBj4bqt
dS4iLGFFbjoiV2Ugd2lsbCBzZWUsIFVuY2xlLiIsYWx0OlsixJDhu4MgY29pIGPhuq11IMahaS4iLCJE4bqhIMSR4buDIGNvaSDEkcOjLiJdfSwKIHtxOiJN
dWEgbmjDoCBiw6puIMSRw7MgY2jGsGE/IixxRW46IkJvdWdodCBhIGhvdXNlIG92ZXIgdGhlcmUgeWV0PyIsdGFzazoiU2F5IG5vdCB5ZXQg4oCUIGhvdXNl
cyBhcmUgZXhwZW5zaXZlIChTb3V0aGVybjogbeG6r2MpLCB5b3UgYXJlIHNhdmluZy4iLGE6IkThuqEgY2jGsGEuIE5ow6AgYsOqbiDEkcOzIG3huq9jIGzh
uq9tLCBjb24gY8OybiB0aeG6v3Qga2nhu4dtLiIsYUVuOiJOb3QgeWV0LiBIb3VzZXMgdGhlcmUgYXJlIGV4cGVuc2l2ZSwgSSBhbSBzdGlsbCBzYXZpbmcu
IixhbHQ6WyJDaMawYSBj4bqtdSwgbmjDoCBt4bqvYyBs4bqvbS4iLCJE4bqhIGNoxrBhLCBjb24gxJFhbmcgdGnhur90IGtp4buHbS4iXX0sCiB7cToiQ+G6
rXUgaOG7j2kgdsOsIGPhuq11IHF1YW4gdMOibSBjb24sIGhp4buDdSBow7RuZz8iLHFFbjoiSSBhc2sgYmVjYXVzZSBJIGNhcmUgYWJvdXQgeW91LCB1bmRl
cnN0YW5kPyIsdGFzazoiU2F5IHlvdSBrbm93IOKAlCB0aGFuayBoaW0gZm9yIGNhcmluZyAocXVhbiB0w6JtKS4iLGE6IkThuqEgY29uIGJp4bq/dC4gQ29u
IGPhuqNtIMahbiBj4bqtdSBxdWFuIHTDom0uIixhRW46Ikkga25vdy4gVGhhbmsgeW91IGZvciBjYXJpbmcsIFVuY2xlLiIsYWx0OlsiROG6oSwgY29uIGJp
4bq/dCBtw6AgY+G6rXUuIiwiQ29uIGPhuqNtIMahbiBj4bqtdSDEkcOjIHF1YW4gdMOibS4iXX0sCiB7cToiU2FuZyBuxINtIGThuqtuIG5nxrDhu51pIHnD
qnUgduG7gSBuaGEhIixxRW46Ik5leHQgeWVhciBicmluZyBhIHN3ZWV0aGVhcnQgaG9tZSEiLHRhc2s6IkxhdWdoIGl0IG9mZiDigJQgc2F5OiB3ZSB3aWxs
IHNlZSwgcmlnaHQgKGjDqW4pISIsYToiROG6oSwgxJHhu4MgY29pIGjDqW4gY+G6rXUhIixhRW46IldlIHdpbGwgc2VlLCByaWdodCwgVW5jbGUhIixhbHQ6
WyLEkOG7gyBjb2kgc2FvIG5oYSBj4bqtdSEiLCJE4bqhLCB0xrDGoW5nIGxhaSB0w61uaCBzYXUgY+G6rXUgxqFpISJdfV19LAoxOTp7d2hvOiLwn6eR4oCN
4pqV77iPIELDoWMgc8SpIiwgdDoiVHJhbnNsYXRpbmcgZm9yIE1vbSBhdCB0aGUgY2xpbmljIiwgdHVybnM6Wwoge3E6IkLhu4duaCBuaMOibiBi4buLIGfD
rD8iLHFFbjoiV2hhdCBpcyB3cm9uZyB3aXRoIHRoZSBwYXRpZW50PyIsdGFzazoiU2F5IHlvdXIgbW9tIGZlZWxzIGRpenp5IChjaMOzbmcgbeG6t3QpLiIs
YToiROG6oSwgbcOhIGNvbiBi4buLIGNow7NuZyBt4bq3dC4iLGFFbjoiTXkgbW9tIGZlZWxzIGRpenp5LiIsYWx0OlsiTcOhIGNvbiBjaMOzbmcgbeG6t3Qg
4bqhLiIsIkThuqEsIG3DoSBjb24gdGjhuqV5IGNow7NuZyBt4bq3dC4iXX0sCiB7cToiVOG7qyBraGkgbsOgbz8iLHFFbjoiU2luY2Ugd2hlbj8iLHRhc2s6
IlNheSBzaW5jZSB5ZXN0ZXJkYXkuIixhOiJE4bqhLCB04burIGjDtG0gcXVhLiIsYUVuOiJTaW5jZSB5ZXN0ZXJkYXkuIixhbHQ6WyJU4burIGjDtG0gcXVh
IOG6oS4iLCJE4bqhLCBow7RtIHF1YSB04bubaSBnaeG7nS4iXX0sCiB7cToiQ8OzIGtow7MgdGjhu58gaMO0bmc/IixxRW46IkFueSBzaG9ydG5lc3Mgb2Yg
YnJlYXRoPyIsdGFzazoiU2F5IG5vLCBidXQgc2hlIGlzIHZlcnkgZmF0aWd1ZWQgKG3hu4d0IG3hu49pKS4iLGE6IkThuqEgaMO0bmcsIG5oxrBuZyBtw6Eg
Y29uIG3hu4d0IG3hu49pIGzhuq9tLiIsYUVuOiJObywgYnV0IE1vbSBpcyB2ZXJ5IGZhdGlndWVkLiIsYWx0OlsiROG6oSBraMO0bmcsIGNo4buJIG3hu4d0
IG3hu49pIHRow7RpLiIsIkjDtG5nIGtow7MgdGjhu58sIG5oxrBuZyBt4buHdCBt4buPaSDhuqEuIl19LAoge3E6Ikh1eeG6v3Qgw6FwIGjGoWkgY2FvLiBV
4buRbmcgdGh14buRYyB0aGVvIHRvYSBuaGEuIixxRW46IkJsb29kIHByZXNzdXJlIGlzIGEgYml0IGhpZ2guIFRha2UgbWVkaWNpbmUgYXMgcHJlc2NyaWJl
ZC4iLHRhc2s6IlNheSB5b3UgdW5kZXJzdGFuZCDigJQgYXNrIHdoZW4gdG8gY29tZSBiYWNrICh0w6FpIGtow6FtKS4iLGE6IkThuqEgY29uIGhp4buDdS4g
S2hpIG7DoG8gdMOhaSBraMOhbSDhuqE/IixhRW46IkkgdW5kZXJzdGFuZC4gV2hlbiBpcyB0aGUgZm9sbG93LXVwPyIsYWx0OlsiROG6oSwga2hpIG7DoG8g
bcOhIGNvbiB0w6FpIGtow6FtPyIsIkNvbiBoaeG7g3UgcuG7k2kuIFTDoWkga2jDoW0ga2hpIG7DoG8gYsOhYyBzxKk/Il19LAoge3E6IkhhaSB0deG6p24g
buG7r2EuIFnDqm4gdMOibSwgaMO0bmcgc2FvIMSRw6J1LiIscUVuOiJJbiB0d28gd2Vla3MuIFJlc3QgYXNzdXJlZCwgaXQgaXMgbm90aGluZyBzZXJpb3Vz
LiIsdGFzazoiVGhhbmsgdGhlIGRvY3Rvci4iLGE6IkThuqEsIGNvbiBj4bqjbSDGoW4gYsOhYyBzxKkgbmhp4buBdS4iLGFFbjoiVGhhbmsgeW91IHZlcnkg
bXVjaCwgZG9jdG9yLiIsYWx0OlsiQ+G6o20gxqFuIGLDoWMgc8SpIOG6oS4iLCJE4bqhIGPhuqNtIMahbiBiw6FjIHPEqS4iXX1dfSwKMjA6e3dobzoi8J+R
qeKAjeKale+4jyBExrDhu6NjIHPEqSAocGhhcm1hY2lzdCkiLCB0OiJGaWxsaW5nIHRoZSBwcmVzY3JpcHRpb24iLCB0dXJuczpbCiB7cToiQ8OzIHRvYSB0
aHXhu5FjIGjDtG5nIGNvbj8iLHFFbjoiRG8geW91IGhhdmUgYSBwcmVzY3JpcHRpb24/Iix0YXNrOiJTYXkgeWVzIOKAlCBoZXJlIGlzIHRoZSBwcmVzY3Jp
cHRpb24gKHRvYSB0aHXhu5FjKS4iLGE6IkThuqEgY8OzLiBUb2EgdGh14buRYyDEkcOieSBjw7QuIixhRW46Illlcy4gSGVyZSBpcyB0aGUgcHJlc2NyaXB0
aW9uLiIsYWx0OlsiROG6oSwgxJHDonkgbMOgIHRvYSB0aHXhu5FjLiIsIkPDsywgdG9hIMSRw6J5IGPDtC4iXX0sCiB7cToiVGh14buRYyBuw6B5IG5nw6B5
IG3hu5l0IHZpw6puLCBzYXUga2hpIMSDbiBzw6FuZy4iLHFFbjoiVGhpcyBvbmU6IG9uZSBwaWxsIGEgZGF5LCBhZnRlciBicmVha2Zhc3QuIix0YXNrOiJS
ZXBlYXQgaXQgYmFjazogb25lIHBpbGwgYSBkYXkgYWZ0ZXIgYnJlYWtmYXN0LiIsYToiROG6oSwgbmfDoHkgbeG7mXQgdmnDqm4sIHNhdSBraGkgxINuIHPD
oW5nLiIsYUVuOiJPbmUgcGlsbCBhIGRheSwgYWZ0ZXIgYnJlYWtmYXN0LiIsYWx0OlsiTmfDoHkgbeG7mXQgdmnDqm4gc2F1IMSDbiBzw6FuZyDhuqEuIiwi
ROG6oSwgbeG7mXQgdmnDqm4gbeG7l2kgc8Ohbmcgc2F1IGtoaSDEg24uIl19LAoge3E6Ik3DoSBjb24gY8OzIGThu4sg4bupbmcgdGh14buRYyBnw6wgaMO0
bmc/IixxRW46IklzIHlvdXIgbW9tIGFsbGVyZ2ljIHRvIGFueSBtZWRpY2luZT8iLHRhc2s6IlNheSBubyBhbGxlcmdpZXMuIixhOiJE4bqhIGjDtG5nLCBt
w6EgY29uIGjDtG5nIGThu4sg4bupbmcgZ8OsIGjhur90LiIsYUVuOiJObywgTW9tIGhhcyBubyBhbGxlcmdpZXMgYXQgYWxsLiIsYWx0OlsiROG6oSBraMO0
bmcgZOG7iyDhu6luZy4iLCJIw7RuZyBjw7MgZOG7iyDhu6luZyBjw7QuIl19LAoge3E6Iktpw6puZyDEkeG7kyBt4bq3biwga2nDqm5nIGPDoCBwaMOqIG5o
YS4iLHFFbjoiQXZvaWQgc2FsdHkgZm9vZCBhbmQgY29mZmVlLiIsdGFzazoiU2F5IHlvdSB3aWxsIHJlbWluZCBNb20gKG5o4bqvYyBtw6EpLiIsYToiROG6
oSwgY29uIHPhur0gbmjhuq9jIG3DoS4iLGFFbjoiSSB3aWxsIHJlbWluZCBNb20uIixhbHQ6WyJE4bqhLCBjb24gbmjhuq9jIG3DoSBsaeG7gW4uIiwiQ29u
IHPhur0gbmjhuq9jIG3DoSBracOqbmcg4bqhLiJdfSwKIHtxOiJDw7JuIGfDrCBu4buvYSBow7RuZz8iLHFFbjoiQW55dGhpbmcgZWxzZT8iLHRhc2s6IkFz
ayBmb3IgbWVkaWNhdGVkIG9pbCAoZOG6p3UgZ2nDsykgdG9vLiIsYToiROG6oSwgY2hvIGNvbiB0aMOqbSBt4buZdCBjaGFpIGThuqd1IGdpw7MuIixhRW46
Ik9uZSBib3R0bGUgb2YgbWVkaWNhdGVkIG9pbCB0b28sIHBsZWFzZS4iLGFsdDpbIkNobyBjb24gZOG6p3UgZ2nDsyBu4buvYSBjw7QuIiwiROG6oSwgdGjD
qm0gY2hhaSBk4bqndSBnacOzIOG6oS4iXX1dfSwKMjE6e3dobzoi8J+RtSBCw6Agbmdv4bqhaSIsIHQ6IkNhcmluZyBmb3IgZ3JhbmRtYSIsIHR1cm5zOlsK
IHtxOiJCw6AgaMahaSBjaMOzbmcgbeG6t3QuIMSQ4buhIGLDoCBjaMO6dCDEkcaw4bujYyBow7RuZyBjb24/IixxRW46IkkgYW0gYSBiaXQgZGl6enkuIENh
biB5b3UgaGVscCBtZSBhIGJpdD8iLHRhc2s6IlNheSB5ZXMg4oCUIHlvdSB3aWxsIGhlbHAgaGVyIHdhbGsgc2xvd2x5IChkw6x1IOKApiB04burIHThu6sp
LiIsYToiROG6oSwgY29uIGTDrHUgYsOgIMSRaSB04burIHThu6sgbmhhLiIsYUVuOiJZZXMsIGxldCBtZSBoZWxwIHlvdSB3YWxrIHNsb3dseS4iLGFsdDpb
IkThuqEsIMSR4buDIGNvbiBkw6x1IGLDoC4iLCJDb24gZMOsdSBiw6AsIHThu6sgdOG7qyB0aMO0aSBuaGEuIl19LAoge3E6IkLDoCBxdcOqbiB14buRbmcg
dGh14buRYyBzw6FuZyBuYXkgcuG7k2kuIixxRW46IkkgZm9yZ290IG15IG1lZGljaW5lIHRoaXMgbW9ybmluZy4iLHRhc2s6IlNheSBpdCBpcyBva2F5IOKA
lCB5b3Ugd2lsbCByZW1pbmQgaGVyIGV2ZXJ5IG1vcm5pbmcuIixhOiJE4bqhIGjDtG5nIHNhby4gTWFpIGNvbiBuaOG6r2MgYsOgIG3hu5dpIHPDoW5nLiIs
YUVuOiJJdCBpcyBva2F5LiBGcm9tIHRvbW9ycm93IEkgd2lsbCByZW1pbmQgeW91IGV2ZXJ5IG1vcm5pbmcuIixhbHQ6WyJIw7RuZyBzYW8gYsOgLCBjb24g
bmjhuq9jIGLDoC4iLCJE4bqhLCBjb24gc+G6vSBuaOG6r2MgYsOgIHXhu5FuZyB0aHXhu5FjLiJdfSwKIHtxOiJUcsawYSBy4buTaSwgY29uIG7hurFtIG5n
aOG7iSBjaMO6dCDEkWkuIixxRW46Ikl0IGlzIG5vb24sIGxpZSBkb3duIGFuZCByZXN0IGEgYml0LiIsdGFzazoiU2F5IHllcyDigJQgYXNrIGlmIHNoZSB3
YW50cyBhIGJsYW5rZXQgKG3hu4FuKS4iLGE6IkThuqEuIELDoCBj4bqnbiDEkeG6r3AgbeG7gW4gaMO0bmcgYsOgPyIsYUVuOiJZZXMuIERvIHlvdSB3YW50
IGEgYmxhbmtldCwgR3JhbmRtYT8iLGFsdDpbIkThuqEsIGLDoCBtdeG7kW4gxJHhuq9wIG3hu4FuIGjDtG5nPyIsIkThuqEsIGNvbiBs4bqleSBt4buBbiBj
aG8gYsOgIG5oYT8iXX0sCiB7cToiQsOgIGdpw6AgcuG7k2ksIGhheSBxdcOqbiwgY29uIMSR4burbmcgZ2nhuq1uIGLDoC4iLHFFbjoiSSBhbSBvbGQgYW5k
IGZvcmdldGZ1bCwgZG8gbm90IGJlIHVwc2V0IHdpdGggbWUuIix0YXNrOiJTYXkgeW91IHdvdWxkIG5ldmVyIOKAlCB5b3UgYXJlIHBhdGllbnQgKGtpw6pu
IG5o4bqrbikgd2l0aCBoZXIuIixhOiJE4bqhIGjDtG5nIGJhbyBnaeG7nS4gQ29uIGtpw6puIG5o4bqrbiB24bubaSBiw6AgbcOgLiIsYUVuOiJOZXZlci4g
SSBhbSBwYXRpZW50IHdpdGggeW91LCBHcmFuZG1hLiIsYWx0OlsiQ29uIGjDtG5nIGdp4bqtbiBiw6AgxJHDonUuIiwiROG6oSwgY29uIGtpw6puIG5o4bqr
biB24bubaSBiw6AuIl19LAoge3E6IkPDsyBjb24g4bufIMSRw6J5LCBiw6AgbeG7q25nIGzhuq9tLiIscUVuOiJIYXZpbmcgeW91IGhlcmUgbWFrZXMgbWUg
c28gaGFwcHkuIix0YXNrOiJTYXkgeW91IGxvdmUgaGVyICh0aMawxqFuZykgYW5kIGhvbGQgaGVyIGhhbmQgKG7huq9tIHRheSkuIixhOiJDb24gdGjGsMah
bmcgYsOgIGzhuq9tLiBDb24gbuG6r20gdGF5IGLDoCBuw6guIixhRW46IkkgbG92ZSB5b3Ugc28gbXVjaCwgR3JhbmRtYS4gSSBhbSBob2xkaW5nIHlvdXIg
aGFuZC4iLGFsdDpbIkNvbiB0aMawxqFuZyBiw6AuIELDoCBu4bqvbSB0YXkgY29uIG5oYS4iLCJE4bqhLCBjb24gdGjGsMahbmcgYsOgIG5oaeG7gXUgbOG6
r20uIl19XX0sCjIyOnt3aG86IvCfkbUgQsOgIG5nb+G6oWkiLCB0OiJUaGUgc3Rvcnkgb2YgYmFjayB0aGVuIiwgdHVybnM6Wwoge3E6IkNvbiBtdeG7kW4g
bmdoZSBjaHV54buHbiBo4buTaSDEkcOzIGjDtG5nPyIscUVuOiJEbyB5b3Ugd2FudCB0byBoZWFyIHRoZSBzdG9yeSBvZiBiYWNrIHRoZW4/Iix0YXNrOiJT
YXkgeWVzIOKAlCB5b3UgYXJlIGxpc3RlbmluZyAobOG6r25nIG5naGUpLiIsYToiROG6oSwgY29uIG114buRbiBuZ2hlLiBDb24gbOG6r25nIG5naGUgYsOg
LiIsYUVuOiJZZXMsIEkgd2FudCB0byBoZWFyIGl0LiBJIGFtIGxpc3RlbmluZywgR3JhbmRtYS4iLGFsdDpbIkThuqEsIGLDoCBr4buDIMSRaSwgY29uIG5n
aGUuIiwiQ29uIG114buRbiBuZ2hlIGzhuq9tIGLDoC4iXX0sCiB7cToiSOG7k2kgxJHDsyBraMOzIGtoxINuIGzhuq9tLiBNw6EgY29uIMSRaSB0aHV54buB
bi4iLHFFbjoiQmFjayB0aGVuIGl0IHdhcyB2ZXJ5IGhhcmQuIFlvdXIgbW90aGVyIHdlbnQgYnkgYm9hdC4iLHRhc2s6IlNheSB5b3UgZGlkIG5vdCBrbm93
IOKAlCB0aGFuayBoZXIgZm9yIHRlbGxpbmcgeW91LiIsYToiROG6oSwgY29uIGjDtG5nIGJp4bq/dC4gQ+G6o20gxqFuIGLDoCDEkcOjIGvhu4MgY2hvIGNv
bi4iLGFFbjoiSSBkaWQgbm90IGtub3cuIFRoYW5rIHlvdSBmb3IgdGVsbGluZyBtZS4iLGFsdDpbIkNvbiBow7RuZyBiaeG6v3QgY2h1eeG7h24gbsOgeS4g
Q+G6o20gxqFuIGLDoC4iLCJE4bqhLCBj4bqjbSDGoW4gYsOgIGvhu4MgY2hvIGNvbiBuZ2hlLiJdfSwKIHtxOiJCw6AgZ2nhu68gdGjGsCBj4bunYSBtw6Eg
Y29uIGJhIG3GsMahaSBuxINtLiIscUVuOiJJIGtlcHQgeW91ciBtb3RoZXIncyBsZXR0ZXJzIGZvciB0aGlydHkgeWVhcnMuIix0YXNrOiJTYXkgc2hlIGlz
IGFtYXppbmcg4oCUIGFzayBpZiB5b3UgbWF5IHNlZSBvbmUgcGhvdG8gKGjDrG5oKS4iLGE6IkLDoCBnaeG7j2kgcXXDoS4gQ29uIHhlbSBt4buZdCB04bql
bSBow6xuaCDEkcaw4bujYyBow7RuZyBiw6A/IixhRW46IllvdSBhcmUgYW1hemluZy4gTWF5IEkgc2VlIG9uZSBwaG90bywgR3JhbmRtYT8iLGFsdDpbIkTh
uqEsIGNvbiBjb2kgaMOsbmggxJHGsOG7o2MgaMO0bmcgYsOgPyIsIkLDoCBjaG8gY29uIHhlbSBow6xuaCBuaGEuIl19LAoge3E6Ik3DoSBjb24gaHkgc2lu
aCBuaGnhu4F1IGzhuq9tIGNobyBjb24uIixxRW46IllvdXIgbW90aGVyIHNhY3JpZmljZWQgYSBsb3QgZm9yIHlvdS4iLHRhc2s6IlNheSB5b3Uga25vdyDi
gJQgeW91IGFyZSBncmF0ZWZ1bCAoYmnhur90IMahbikgdG8gaGVyLiIsYToiROG6oSwgY29uIGJp4bq/dC4gQ29uIGJp4bq/dCDGoW4gbcOhIG5oaeG7gXUg
bOG6r20uIixhRW46Ikkga25vdy4gSSBhbSBzbyBncmF0ZWZ1bCB0byBNb20uIixhbHQ6WyJE4bqhLCBjb24gYmnhur90IMahbiBtw6EuIiwiQ29uIGJp4bq/
dCBtw6AgYsOgLiBDb24gYmnhur90IMahbiBtw6EgbOG6r20uIl19LAoge3E6IkLDoCB04buxIGjDoG8gduG7gSBoYWkgxJHhu6lhLiIscUVuOiJJIGFtIHBy
b3VkIG9mIHlvdSBib3RoLiIsdGFzazoiU2F5IHRoYW5rIHlvdSDigJQgeW91IGxvdmUgaGVyLiIsYToiROG6oSwgY29uIGPhuqNtIMahbiBiw6AuIENvbiB0
aMawxqFuZyBiw6Agbmhp4buBdSBs4bqvbS4iLGFFbjoiVGhhbmsgeW91LCBHcmFuZG1hLiBJIGxvdmUgeW91IHNvIG11Y2guIixhbHQ6WyJD4bqjbSDGoW4g
YsOgLCBjb24gdGjGsMahbmcgYsOgLiIsIkThuqEsIGNvbiB0aMawxqFuZyBiw6AgbOG6r20uIl19XX0sCjIzOnt3aG86IvCfkanigI3wn6axIETDrCBCYSAo
eW91ciBhdW50KSIsIHQ6IlByZXBhcmluZyB0aGUgZ2nhu5ciLCB0dXJuczpbCiB7cToiQ29uIHBo4bulIGTDrCBiw6B5IG3Dom0gY8ahbSBuaGE/IixxRW46
IldpbGwgeW91IGhlbHAgbWUgc2V0IHRoZSBvZmZlcmluZyB0cmF5PyIsdGFzazoiU2F5IHllcyDigJQgYXNrIHdoZXJlIHRoZSBicmFpc2VkIHBvcmsgZ29l
cyAodGjhu4t0IGtobykuIixhOiJE4bqhLiBUaOG7i3Qga2hvIMSR4buDIMSRw6J1IGTDrD8iLGFFbjoiWWVzLiBXaGVyZSBkb2VzIHRoZSBicmFpc2VkIHBv
cmsgZ28sIEF1bnRpZT8iLGFsdDpbIkThuqEsIHRo4buLdCBraG8gxJHhurd0IGNo4buXIG7DoG8gZMOsPyIsIkThuqEgY29uIHBo4bulLiBUaOG7i3Qga2hv
IMSR4buDIMSRw6J1IOG6oT8iXX0sCiB7cToi4bueIGdp4buvYS4gSG9hIGPDumMgxJHhu4MgaGFpIGLDqm4uIixxRW46IkluIHRoZSBtaWRkbGUuIENocnlz
YW50aGVtdW1zIG9uIGJvdGggc2lkZXMuIix0YXNrOiJSZXBlYXQ6IHBvcmsgaW4gdGhlIG1pZGRsZSwgZmxvd2VycyBvbiBib3RoIHNpZGVzLiIsYToiROG6
oSwgdGjhu4t0IGtobyDhu58gZ2nhu69hLCBob2EgY8O6YyBoYWkgYsOqbi4iLGFFbjoiQnJhaXNlZCBwb3JrIGluIHRoZSBtaWRkbGUsIGNocnlzYW50aGVt
dW1zIG9uIGJvdGggc2lkZXMuIixhbHQ6WyJE4bqhLCBnaeG7r2EgbMOgIHRo4buLdCBraG8sIGhhaSBiw6puIGhvYSBjw7pjLiIsIlRo4buLdCBraG8gZ2nh
u69hLCBob2EgaGFpIGLDqm4g4bqhLiJdfSwKIHtxOiJDb24gYmnhur90IHRo4bqvcCBuaGFuZyBjaMawYT8iLHFFbjoiRG8geW91IGtub3cgaG93IHRvIGxp
Z2h0IGluY2Vuc2U/Iix0YXNrOiJTYXkgYSBsaXR0bGUg4oCUIGFzayBoZXIgdG8gc2hvdyB5b3UgKGNo4buJKS4iLGE6IkThuqEgYmnhur90IGNow7p0LiBE
w6wgY2jhu4kgY29uIG5oYS4iLGFFbjoiQSBsaXR0bGUuIFBsZWFzZSBzaG93IG1lLCBBdW50aWUuIixhbHQ6WyJE4bqhIGNow7p0IHRow7RpLCBkw6wgY2jh
u4kgZ2nDuW0gY29uLiIsIkNvbiBiaeG6v3QgY2jDunQsIGTDrCBjaOG7iSBjb24gduG7m2kuIl19LAoge3E6IkJhIGPDonkgbmhhbmcsIHbDoWkgYmEgdsOh
aSwgcuG7k2kga2jhuqVuLiIscUVuOiJUaHJlZSBzdGlja3MsIGJvdyB0aHJlZSB0aW1lcywgdGhlbiBwcmF5LiIsdGFzazoiU2F5IHlvdSB1bmRlcnN0YW5k
IOKAlCB5b3Ugd2lsbCBhc2sgR3JhbmRwYSB0byBwcm90ZWN0IHRoZSBmYW1pbHkgKHBow7kgaOG7mSkuIixhOiJE4bqhIGhp4buDdS4gQ29uIHhpbiDDtG5n
IG5nb+G6oWkgcGjDuSBo4buZIGNobyBj4bqjIG5ow6AuIixhRW46IkkgdW5kZXJzdGFuZC4gSSB3aWxsIGFzayBHcmFuZHBhIHRvIHByb3RlY3QgdGhlIHdo
b2xlIGZhbWlseS4iLGFsdDpbIkThuqEsIGNvbiBraOG6pW4geGluIMO0bmcgcGjDuSBo4buZLiIsIkNvbiB4aW4gw7RuZyBwaMO5IGjhu5kgY+G6oyBuaMOg
IOG6oS4iXX0sCiB7cToiR2nhu49pLiDDlG5nIG5nb+G6oWkgdGjhuqV5IHZ1aSBs4bqvbSDEkcOzLiIscUVuOiJHb29kLiBHcmFuZHBhIHdvdWxkIGJlIHZl
cnkgaGFwcHkuIix0YXNrOiJTYXkgeW91IGFyZSBncmF0ZWZ1bCB0byB0aGUgYW5jZXN0b3JzIChuaOG7myDGoW4gw7RuZyBiw6ApLiIsYToiROG6oSwgY29u
IG5o4bubIMahbiDDtG5nIGLDoC4iLGFFbjoiSSByZW1lbWJlciB0aGUgYW5jZXN0b3JzIHdpdGggZ3JhdGl0dWRlLiIsYWx0OlsiQ29uIG5o4bubIMahbiDD
tG5nIGLDoCDhuqEuIiwiROG6oSwgY29uIGJp4bq/dCDGoW4gdOG7lSB0acOqbi4iXX1dfSwKMjQ6e3dobzoi8J+RtSBCw6Agbmdv4bqhaSIsIHQ6IlRoZSBw
cm9taXNlIGF0IHRoZSBnYXRlIiwgdHVybnM6Wwoge3E6Ilbhu4EgYsOqbiDEkcOzIG5o4bubIMSDbiB14buRbmcgxJHhuqd5IMSR4bunIG5oYSBjb24uIixx
RW46Ik92ZXIgdGhlcmUsIHJlbWVtYmVyIHRvIGVhdCBwcm9wZXJseS4iLHRhc2s6IlNheSB5ZXMg4oCUIGFuZCBhc2sgaGVyIHRvIHN0YXkgaGVhbHRoeSAo
beG6oW5oIGdp4buPaSkuIixhOiJE4bqhLiBCw6Ag4bufIGzhuqFpIG3huqFuaCBnaeG7j2kgbmhhIGLDoC4iLGFFbjoiWWVzLiBTdGF5IGhlYWx0aHkgYW5k
IHdlbGwsIEdyYW5kbWEuIixhbHQ6WyJE4bqhLCBiw6AgbeG6oW5oIGdp4buPaSBuaGEuIiwiQsOgIOG7nyBuaMOgIG3huqFuaCBnaeG7j2kgbmhhIGLDoC4i
XX0sCiB7cToiU2FuZyBuxINtIHbhu4EgbuG7r2EgaMO0bmcgY29uPyIscUVuOiJXaWxsIHlvdSBjb21lIGJhY2sgbmV4dCB5ZWFyPyIsdGFzazoiUHJvbWlz
ZSAoaOG7qWEpIHlvdSB3aWxsIGNvbWUgYmFjay4iLGE6IkThuqEsIGNvbiBo4bupYSBzYW5nIG7Eg20gY29uIHbhu4EuIixhRW46IkkgcHJvbWlzZSBJIHdp
bGwgY29tZSBiYWNrIG5leHQgeWVhci4iLGFsdDpbIkNvbiBo4bupYSBz4bq9IHbhu4EgbuG7r2EgYsOgLiIsIkThuqEsIHNhbmcgbsSDbSBjb24gcXVheSBs
4bqhaS4iXX0sCiB7cToiROG6q24gYmEgY29uIHbhu4EgbHXDtG4gbmhhLiIscUVuOiJCcmluZyB5b3VyIGZhdGhlciB0b28uIix0YXNrOiJTYXkgeW91IHdp
bGwgYnJpbmcgRGFkIOKAlCB0aGUgd2hvbGUgZmFtaWx5IChj4bqjIG5ow6ApLiIsYToiROG6oSwgY29uIGThuqtuIGJhIHbhu4EuIEPhuqMgbmjDoCBtw6xu
aCDEkW/DoG4gdOG7pS4iLGFFbjoiSSB3aWxsIGJyaW5nIERhZC4gT3VyIHdob2xlIGZhbWlseSByZXVuaXRlZC4iLGFsdDpbIkThuqEsIGNvbiBk4bqrbiBi
YSB24buBIGx1w7RuLiIsIlNhbmcgbsSDbSBj4bqjIG5ow6AgduG7gSBiw6AgxqFpLiJdfSwKIHtxOiLEkOG7q25nIHF1w6puIHRp4bq/bmcgVmnhu4d0IG5o
YSBjb24uIixxRW46IkRvIG5vdCBmb3JnZXQgeW91ciBWaWV0bmFtZXNlLiIsdGFzazoiU2F5IHlvdSB3aWxsIGtlZXAgbGVhcm5pbmcgKHRp4bq/cCB04bul
YyBo4buNYykg4oCUIGFuZCB0ZWFjaCB5b3VyIGtpZHMgb25lIGRheS4iLGE6IkThuqEsIGNvbiB0aeG6v3AgdOG7pWMgaOG7jWMuIFNhdSBuw6B5IGNvbiBk
4bqheSBs4bqhaSBjaG8gY29uIGPhu6dhIGNvbi4iLGFFbjoiSSB3aWxsIGtlZXAgbGVhcm5pbmcuIE9uZSBkYXkgSSB3aWxsIHRlYWNoIG15IG93biBjaGls
ZHJlbi4iLGFsdDpbIkNvbiBz4bq9IGjhu41jIHRp4bq/cCBiw6AgxqFpLiIsIkThuqEsIGNvbiBow7RuZyBxdcOqbiDEkcOidS4gQ29uIGThuqF5IGzhuqFp
IGNobyBjb24gY+G7p2EgY29uLiJdfSwKIHtxOiJUaMO0aSwgxJFpIMSRaS4gQsOgIHRoxrDGoW5nIGNvbi4iLHFFbjoiR28gb24gbm93LiBJIGxvdmUgeW91
LiIsdGFzazoiU2F5OiBzZWUgeW91IGFnYWluLCBHcmFuZG1hIOKAlCBJIGxvdmUgeW91LiIsYToiSOG6uW4gZ+G6t3AgbOG6oWkgYsOgIG5nb+G6oWkuIENv
biB0aMawxqFuZyBiw6AuIixhRW46IlNlZSB5b3UgYWdhaW4sIEdyYW5kbWEuIEkgbG92ZSB5b3UuIixhbHQ6WyJI4bq5biBn4bq3cCBs4bqhaSBiw6AuIENv
biB0aMawxqFuZyBiw6AgbOG6r20uIiwiQ29uIHRoxrDGoW5nIGLDoC4gSOG6uW4gZ+G6t3AgbOG6oWkgbmhhIGLDoC4iXX1dfQp9OwpPYmplY3QuYXNzaWdu
KFRBTEtTLCBUQUxLU19TMik7CgovKiA9PT09PT09PT09PT09PT0gU1RBVEUgPT09PT09PT09PT09PT09ICovCmNvbnN0IFNBVkVfS0VZID0gInRvbXNWaWV0
UXVlc3RWMSI7CmxldCBzYXZlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTQVZFX0tFWSkgfHwgIm51bGwiKSB8fCB7IHhwOjAsIGxldmVs
OjEsIGJlc3RDb21ibzowLCBsZXNzb25zOnt9IH07CmZ1bmN0aW9uIGxzdGF0ZShuKSB7CiAgaWYgKCFzYXZlLmxlc3NvbnNbbl0pIHNhdmUubGVzc29uc1tu
XSA9IHsga25vd246W10sIHNwb2tlbjpbXSwgc3RhcnM6e2xlYXJuOmZhbHNlLCBib3NzOmZhbHNlLCBzcGVhazpmYWxzZSwgc3Rvcnk6ZmFsc2UsIHRhbGs6
ZmFsc2V9IH07CiAgcmV0dXJuIHNhdmUubGVzc29uc1tuXTsKfQpsZXQgY3VyID0gbnVsbDsgICAgICAvLyBjdXJyZW50IGxlc3NvbiBvYmplY3QKbGV0IGxl
YXJuSWR4ID0gMCwgc3BlYWtJZHggPSAwOwpjb25zdCBSQU5LUyA9IFsiUGjhu58gRmxlZGdsaW5nIiwiQsOhbmggTcOsIEJ1ZGR5IiwiWGUgw5RtIEV4cGxv
cmVyIiwiQ2jhu6MgQ2hhbXBpb24iLCLDgW8gRMOgaSBBY2UiLCJU4bq/dCBUcmFpbGJsYXplciIsIkjDoCBO4buZaSBJbnNpZGVyIiwiVmnhu4d0IE5hbSBM
ZWdlbmQiXTsKZnVuY3Rpb24geHBGb3JMZXZlbChsdikgeyByZXR1cm4gbHYgKiAxMDA7IH0KZnVuY3Rpb24gcGVyc2lzdENvcmUoKSB7IGxvY2FsU3RvcmFn
ZS5zZXRJdGVtKFNBVkVfS0VZLCBKU09OLnN0cmluZ2lmeShzYXZlKSk7IH0KCmZ1bmN0aW9uIHJlbmRlckh1ZCgpIHsKICB0cnkgeyB2cUF2YXRhclJlbmRl
cigpOyB9IGNhdGNoIChlKSB7fQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJodWRMZXZlbCIpLnRleHRDb250ZW50ID0gc2F2ZS5sZXZlbDsKICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaHVkUmFuayIpLnRleHRDb250ZW50ID0gUkFOS1NbTWF0aC5taW4oc2F2ZS5sZXZlbCAtIDEsIFJBTktTLmxlbmd0aCAt
IDEpXTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHVkWHAiKS50ZXh0Q29udGVudCA9IHNhdmUueHA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imh1ZE5leHQiKS50ZXh0Q29udGVudCA9IHhwRm9yTGV2ZWwoc2F2ZS5sZXZlbCkgLSBzYXZlLnhwOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ4cEZp
bGwiKS5zdHlsZS53aWR0aCA9IE1hdGgubWluKDEwMCwgc2F2ZS54cCAvIHhwRm9yTGV2ZWwoc2F2ZS5sZXZlbCkgKiAxMDApICsgIiUiOwogIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJodWRTdHJlYWsiKS50ZXh0Q29udGVudCA9IHNhdmUuc3RyZWFrID8gc2F2ZS5zdHJlYWsuY291bnQgOiAwOwogIGNvbnN0IHdv
cmRzID0gT2JqZWN0LnZhbHVlcyhzYXZlLmxlc3NvbnMpLnJlZHVjZSgoYSwgbCkgPT4gYSArIChsLmtub3duID8gbC5rbm93bi5sZW5ndGggOiAwKSwgMCk7
CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImh1ZFdvcmRzIikudGV4dENvbnRlbnQgPSB3b3JkczsKICAvLyBmaXJzdCBzZXNzaW9ucyBvbmx5OiBvbmUg
cGxhaW4gbGluZSBvbiB3aGF0IHRoZSBudW1iZXJzIG1lYW47IGRpc21pc3NpYmxlLCBhbmQgZ29uZSBieSBpdHNlbGYgYWZ0ZXIgOCB3b3JkcwogIGNvbnN0
IGhpbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHVkSGludCIpOwogIGlmIChoaW50KSB7CiAgICBsZXQgc2VlbiA9IGZhbHNlOyB0cnkgeyBzZWVu
ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oImtxSHVkSGludCIpID09PSAiMSI7IH0gY2F0Y2ggKGUpIHt9CiAgICBjb25zdCBzaG93SGludCA9ICFzZWVuICYm
IHdvcmRzIDwgODsKICAgIGlmIChzaG93SGludCAmJiAhaGludC5pbm5lckhUTUwpIGhpbnQuaW5uZXJIVE1MID0gYDxzcGFuPuKaoSA8Yj5YUDwvYj4gZ3Jv
d3Mgd2l0aCBldmVyeSB3b3JkIHlvdSBsZWFybiBhbmQgZXZlcnkgc2VudGVuY2UgeW91IHNheSBvdXQgbG91ZC4g8J+UpSBUaGUgPGI+c3RyZWFrPC9iPiBj
b3VudHMgdGhlIGRheXMgeW91IHByYWN0aXNlZCDigJQgb25lIHdvcmQgYSBkYXkga2VlcHMgaXQuPC9zcGFuPjxidXR0b24gb25jbGljaz0idHJ5e2xvY2Fs
U3RvcmFnZS5zZXRJdGVtKCdrcUh1ZEhpbnQnLCcxJyl9Y2F0Y2goZSl7fTt0aGlzLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0nbm9uZSciIGFyaWEtbGFi
ZWw9IkRpc21pc3MiPuKclTwvYnV0dG9uPmA7CiAgICBoaW50LnN0eWxlLmRpc3BsYXkgPSBzaG93SGludCA/ICIiIDogIm5vbmUiOwogIH0KfQpmdW5jdGlv
biBnYWluWHAobikgewogIG4gKz0gc3RyZWFrVGljaygpOyAvLyBmaXJzdCBhY3Rpb24gb2YgdGhlIGRheSBleHRlbmRzIHRoZSBzdHJlYWsgKCtib251cykK
ICBuID0gdnFCb29zdFhwKG4pOyBzYXZlLnhwICs9IG47IHZxSGlzdFhwKG4pOwogIHdoaWxlIChzYXZlLnhwID49IHhwRm9yTGV2ZWwoc2F2ZS5sZXZlbCkp
IHsgc2F2ZS54cCAtPSB4cEZvckxldmVsKHNhdmUubGV2ZWwpOyBzYXZlLmxldmVsKys7IGlmICghdnFMZXZlbEF3YXJkKHNhdmUubGV2ZWwpKSBsZXZlbFVw
RngoKTsgfQogIHBlcnNpc3QoKTsgcmVuZGVySHVkKCk7CiAgaWYgKCFpbkFjaCkgeyBpbkFjaCA9IHRydWU7IHRyeSB7IGNoZWNrQWNoKCk7IH0gZmluYWxs
eSB7IGluQWNoID0gZmFsc2U7IH0gfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CiAgIE1PVElWQVRJT04gTEFZRVIg4oCUIGRhaWx5IHN0cmVhaywgZGFpbHkgZ29hbHMsIGFjaGlldmVtZW50cwogICA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmZ1bmN0aW9uIHRvZGF5U3RyKG9mZnNldERheXMgPSAwKSB7CiAgY29u
c3QgZCA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBvZmZzZXREYXlzICogODY0MDAwMDApOwogIHJldHVybiBkLmdldEZ1bGxZZWFyKCkgKyAiLSIgKyBTdHJp
bmcoZC5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgIjAiKSArICItIiArIFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwgIjAiKTsKfQpmdW5j
dGlvbiBzdHJlYWtUaWNrKCkgewogIGlmICghc2F2ZS5zdHJlYWspIHNhdmUuc3RyZWFrID0geyBjb3VudDogMCwgbGFzdDogIiIsIGJlc3Q6IDAgfTsKICBj
b25zdCB0ID0gdG9kYXlTdHIoKTsKICBpZiAoc2F2ZS5zdHJlYWsubGFzdCA9PT0gdCkgcmV0dXJuIDA7CiAgc2F2ZS5zdHJlYWsuY291bnQgPSB2cVN0cmVh
a05leHQoKTsKICBzYXZlLnN0cmVhay5sYXN0ID0gdDsgdnFEYXlNYXJrKHQpOwogIHNhdmUuc3RyZWFrLmJlc3QgPSBNYXRoLm1heChzYXZlLnN0cmVhay5i
ZXN0LCBzYXZlLnN0cmVhay5jb3VudCk7CiAgY29uc3QgYm9udXMgPSA1ICogTWF0aC5taW4oc2F2ZS5zdHJlYWsuY291bnQsIDUpOyAvLyBkYXkgMTogKzUg
4oCmIGRheSA1KzogKzI1CiAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGIuY2xhc3NOYW1lID0gImxldmVsdXAtYmFubmVy
IjsKICBiLnRleHRDb250ZW50ID0gKHNhdmUuc3RyZWFrLnJlc3QgPT09IHQgPyAi8J+niiBSZXN0IGRheSB1c2VkIOKAlCBzdHJlYWsgc2FmZSEgRGF5ICIg
OiAi8J+UpSBEYXkgIikgKyBzYXZlLnN0cmVhay5jb3VudCArICIgc3RyZWFrISArIiArIGJvbnVzICsgIiBYUCI7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJlbW92ZSgpLCAyMTAwKTsKICBzZngud2luKCk7IHZxU3RyZWFrTWlsZXN0b25lKHNhdmUuc3RyZWFrLmNv
dW50KTsKICByZXR1cm4gYm9udXM7Cn0KLyogLS0tIGRhaWx5IGdvYWxzIC0tLSAqLwpmdW5jdGlvbiBkYWlseSgpIHsKICBjb25zdCB0ID0gdG9kYXlTdHIo
KTsKICBpZiAoIXNhdmUuZGFpbHkgfHwgc2F2ZS5kYWlseS5kYXRlICE9PSB0KSBzYXZlLmRhaWx5ID0geyBkYXRlOiB0LCB3b3JkczogMCwgcHJvbjogMCwg
Y29udm86IDAsIHJldjogMCwgY2xhaW1lZDogZmFsc2UgfTsKICByZXR1cm4gc2F2ZS5kYWlseTsKfQpmdW5jdGlvbiBkYWlseUJ1bXAoaykgewogIGNvbnN0
IGQgPSBkYWlseSgpOwogIGRba10gPSAoZFtrXSB8fCAwKSArIDE7CiAgdnFIaXN0QnVtcChrKTsKICBwZXJzaXN0KCk7CiAgaWYgKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJtYXAiKS5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSB7IHJlbmRlckRhaWx5KCk7IHZxVG9kYXlSZW5kZXIoKTsgfQp9CmZ1bmN0
aW9uIGRhaWx5Q2xhaW0oKSB7CiAgY29uc3QgZCA9IGRhaWx5KCk7CiAgaWYgKGQuY2xhaW1lZCB8fCAhKGQud29yZHMgPj0gNSAmJiBkLnByb24gPj0gMyAm
JiBkLmNvbnZvID49IDEgJiYgKHRvdGFsTGVhcm5lZCgpIDwgOCB8fCAoZC5yZXYgfHwgMCkgPj0gOCkpKSByZXR1cm47CiAgZC5jbGFpbWVkID0gdHJ1ZTsg
cGVyc2lzdCgpOwogIGdhaW5YcCgzMCk7IGNvbmZldHRpKCk7IHNmeC53aW4oKTsKICByZW5kZXJEYWlseSgpOyB2cVRvZGF5UmVuZGVyKCk7Cn0KZnVuY3Rp
b24gcmVuZGVyRGFpbHkoKSB7CiAgY29uc3QgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhaWx5Qm94Iik7CiAgaWYgKCFib3gpIHJldHVybjsK
ICBjb25zdCBkID0gZGFpbHkoKTsKICBjb25zdCBzdCA9IHNhdmUuc3RyZWFrIHx8IHsgY291bnQ6IDAsIGJlc3Q6IDAgfTsKICBjb25zdCBnb2FscyA9IFsK
ICAgIHsgbGFiZWw6ICJMZWFybiA1IG5ldyB3b3JkcyIsIGN1cjogTWF0aC5taW4oZC53b3JkcywgNSksIG1heDogNSB9LAogICAgeyBsYWJlbDogIjMgZ29v
ZCBwcm9udW5jaWF0aW9ucyDwn46kIiwgY3VyOiBNYXRoLm1pbihkLnByb24sIDMpLCBtYXg6IDMgfSwKICAgIHsgbGFiZWw6ICJGaW5pc2ggMSBzdG9yeSBv
ciBjb252ZXJzYXRpb24iLCBjdXI6IE1hdGgubWluKGQuY29udm8sIDEpLCBtYXg6IDEgfSwKICBdOwogIGlmICh0b3RhbExlYXJuZWQoKSA+PSA4KSBnb2Fs
cy5wdXNoKHsgbGFiZWw6ICJSZXZpZXcgOCB3b3JkcyDwn6egIiwgY3VyOiBNYXRoLm1pbihkLnJldiB8fCAwLCA4KSwgbWF4OiA4IH0pOwogIGNvbnN0IGFs
bERvbmUgPSBnb2Fscy5ldmVyeShnID0+IGcuY3VyID49IGcubWF4KTsKICBjb25zdCB0b3RXID0gTEVTU09OUy5yZWR1Y2UoKGEsIEwpID0+IGEgKyBMLndv
cmRzLmxlbmd0aCwgMCk7CiAgY29uc3Qgc3RhcnNFYXJuZWQgPSBPYmplY3QuZW50cmllcyhzYXZlLmxlc3NvbnMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAi
UiIgJiYgayAhPT0gIkYiICYmIGsgIT09ICJUIikKICAgIC5yZWR1Y2UoKGEsIFssIGxdKSA9PiBhICsgT2JqZWN0LnZhbHVlcyhsLnN0YXJzIHx8IHt9KS5m
aWx0ZXIoQm9vbGVhbikubGVuZ3RoLCAwKTsKICBzYXZlLmFjaCA9IHNhdmUuYWNoIHx8IFtdOwogIGNvbnN0IGFjaEVtb2ppcyA9IEFDSC5maWx0ZXIoYSA9
PiBzYXZlLmFjaC5pbmNsdWRlcyhhLmlkKSkubWFwKGEgPT4gYDxzcGFuIHRpdGxlPSIke2EudH0iPiR7YS5lfTwvc3Bhbj5gKS5qb2luKCIgIik7CiAgYm94
LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJkYWlseSI+CiAgICA8aDM+PHNwYW4+8J+OryBUb2RheSdzIGdvYWxzPC9zcGFuPjxzcGFuIGNsYXNzPSJzdHJl
YWtsYmwiPvCflKUgJHtzdC5jb3VudH0tZGF5IHN0cmVhayDCtyBiZXN0ICR7c3QuYmVzdH08L3NwYW4+PC9oMz4KICAgICR7Z29hbHMubWFwKGcgPT4gYDxk
aXYgY2xhc3M9ImdvYWwgJHtnLmN1ciA+PSBnLm1heCA/ICJkb25lIiA6ICIifSI+CiAgICAgIDxzcGFuPiR7Zy5jdXIgPj0gZy5tYXggPyAi4pyFIiA6ICLi
rJwifTwvc3Bhbj48c3BhbiBjbGFzcz0iZ2xhYmVsIj4ke2cubGFiZWx9PC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJiYXIiPjxpIHN0eWxlPSJ3aWR0aDok
e2cuY3VyIC8gZy5tYXggKiAxMDB9JSI+PC9pPjwvZGl2PjxzcGFuPiR7Zy5jdXJ9LyR7Zy5tYXh9PC9zcGFuPjwvZGl2PmApLmpvaW4oIiIpfQogICAgPGJ1
dHRvbiBjbGFzcz0iYnRuIGNsYWltYnRuIiAke2QuY2xhaW1lZCB8fCAhYWxsRG9uZSA/ICdkaXNhYmxlZCBzdHlsZT0ib3BhY2l0eTouNTUiJyA6ICIifSBv
bmNsaWNrPSJkYWlseUNsYWltKCkiPgogICAgICAke2QuY2xhaW1lZCA/ICLinIUgQ2xhaW1lZCDigJQgY29tZSBiYWNrIHRvbW9ycm93IGZvciBkYXkgIiAr
IChzdC5jb3VudCArIDEpICsgIiEiIDogYWxsRG9uZSA/ICLwn46BIENsYWltICszMCBYUCIgOiAi8J+OgSArMzAgWFAgd2hlbiBhbGwgZ29hbHMgYXJlIGRv
bmUifTwvYnV0dG9uPgogICAgPGRpdiBjbGFzcz0iYWNocm93Ij48c3BhbiBjbGFzcz0iYWNoY291bnQiPvCfj4UgJHtzYXZlLmFjaC5sZW5ndGh9LyR7QUNI
Lmxlbmd0aH08L3NwYW4+JHthY2hFbW9qaXN9PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwcm9nbGluZSI+8J+TmiAke3RvdGFsTGVhcm5lZCgpfS8ke3RvdFd9
IHdvcmRzIMK3IOKtkCAke3N0YXJzRWFybmVkfS8ke0xFU1NPTlMubGVuZ3RoICogNX0gc3RhcnMgwrcg8J+OliAke3RvdGFsUHJvbigpfSBwcm9ub3VuY2Vk
PC9kaXY+CiAgPC9kaXY+YDsKfQovKiAtLS0gYWNoaWV2ZW1lbnRzIC0tLSAqLwpjb25zdCB0b3RhbExlYXJuZWQgPSAoKSA9PiBPYmplY3QuZW50cmllcyhz
YXZlLmxlc3NvbnMpLnJlZHVjZSgoYSwgW2ssIGxdKSA9PiAoayA9PT0gIkYiIHx8IGsgPT09ICJUIikgPyBhIDogYSArIChsLmtub3duID8gbC5rbm93bi5s
ZW5ndGggOiAwKSwgMCk7CmNvbnN0IHRvdGFsUHJvbiA9ICgpID0+IE9iamVjdC52YWx1ZXMoc2F2ZS5sZXNzb25zKS5yZWR1Y2UoKGEsIGwpID0+IGEgKyAo
bC5wcm9uID8gbC5wcm9uLmxlbmd0aCA6IDApLCAwKTsKY29uc3QgYW55U3RhciA9IGsgPT4gT2JqZWN0LmVudHJpZXMoc2F2ZS5sZXNzb25zKS5zb21lKChb
a2V5LCBsXSkgPT4ga2V5ICE9PSAiUiIgJiYgbC5zdGFycyAmJiBsLnN0YXJzW2tdKTsKY29uc3QgQUNIID0gWwogIHsgaWQ6ICJ3MSIsICAgZTogIvCfkKMi
LCB0OiAiRmlyc3Qgd29yZCBsZWFybmVkIiwgICAgICAgICAgICBjb25kOiAoKSA9PiB0b3RhbExlYXJuZWQoKSA+PSAxIH0sCiAgeyBpZDogIncyNSIsICBl
OiAi8J+MsSIsIHQ6ICIyNSB3b3JkcyBsZWFybmVkIiwgICAgICAgICAgICAgIGNvbmQ6ICgpID0+IHRvdGFsTGVhcm5lZCgpID49IDI1IH0sCiAgeyBpZDog
Inc1MCIsICBlOiAi8J+TmiIsIHQ6ICI1MCB3b3JkcyBsZWFybmVkIiwgICAgICAgICAgICAgIGNvbmQ6ICgpID0+IHRvdGFsTGVhcm5lZCgpID49IDUwIH0s
CiAgeyBpZDogIncxMDAiLCBlOiAi8J+TliIsIHQ6ICIxMDAgd29yZHMgbGVhcm5lZCIsICAgICAgICAgICAgIGNvbmQ6ICgpID0+IHRvdGFsTGVhcm5lZCgp
ID49IDEwMCB9LAogIHsgaWQ6ICJ3MjAwIiwgZTogIvCfj4YiLCB0OiAiMjAwIHdvcmRzIGxlYXJuZWQiLCAgICAgICAgICAgICBjb25kOiAoKSA9PiB0b3Rh
bExlYXJuZWQoKSA+PSAyMDAgfSwKICB7IGlkOiAicDEwIiwgIGU6ICLwn46WIiwgdDogIjEwIHdvcmRzIHByb25vdW5jZWQgcmlnaHQiLCAgICAgY29uZDog
KCkgPT4gdG90YWxQcm9uKCkgPj0gMTAgfSwKICB7IGlkOiAicDUwIiwgIGU6ICLwn46ZIiwgdDogIjUwIHdvcmRzIHByb25vdW5jZWQgcmlnaHQiLCAgICAg
Y29uZDogKCkgPT4gdG90YWxQcm9uKCkgPj0gNTAgfSwKICB7IGlkOiAiYzEiLCAgIGU6ICLwn5KsIiwgdDogIkZpcnN0IGNvbnZlcnNhdGlvbiBmaW5pc2hl
ZCIsICAgY29uZDogKCkgPT4gYW55U3RhcigidGFsayIpIH0sCiAgeyBpZDogImIxIiwgICBlOiAi4pqU77iPIiwgdDogIkZpcnN0IGJvc3MgZGVmZWF0ZWQi
LCAgICAgICAgICAgY29uZDogKCkgPT4gYW55U3RhcigiYm9zcyIpIH0sCiAgeyBpZDogInE1IiwgICBlOiAi8J+MnyIsIHQ6ICJBIHF1ZXN0IGZ1bGx5IHN0
YXJyZWQiLCAgICAgICAgIGNvbmQ6ICgpID0+IE9iamVjdC5lbnRyaWVzKHNhdmUubGVzc29ucykuc29tZSgoW2ssIGxdKSA9PiBrICE9PSAiUiIgJiYgbC5z
dGFycyAmJiBsLnN0YXJzLmxlYXJuICYmIGwuc3RhcnMuc3RvcnkgJiYgbC5zdGFycy50YWxrICYmIGwuc3RhcnMuc3BlYWsgJiYgbC5zdGFycy5ib3NzKSB9
LAogIHsgaWQ6ICJzMyIsICAgZTogIvCflKUiLCB0OiAiMy1kYXkgc3RyZWFrIiwgICAgICAgICAgICAgICAgICBjb25kOiAoKSA9PiAoc2F2ZS5zdHJlYWsg
PyBzYXZlLnN0cmVhay5iZXN0IDogMCkgPj0gMyB9LAogIHsgaWQ6ICJzNyIsICAgZTogIvCfjIsiLCB0OiAiNy1kYXkgc3RyZWFrIiwgICAgICAgICAgICAg
ICAgICBjb25kOiAoKSA9PiAoc2F2ZS5zdHJlYWsgPyBzYXZlLnN0cmVhay5iZXN0IDogMCkgPj0gNyB9LApdOwpsZXQgaW5BY2ggPSBmYWxzZTsKZnVuY3Rp
b24gY2hlY2tBY2goKSB7CiAgc2F2ZS5hY2ggPSBzYXZlLmFjaCB8fCBbXTsKICBmb3IgKGNvbnN0IGEgb2YgQUNIKSB7CiAgICBpZiAoIXNhdmUuYWNoLmlu
Y2x1ZGVzKGEuaWQpICYmIGEuY29uZCgpKSB7CiAgICAgIHNhdmUuYWNoLnB1c2goYS5pZCk7IHBlcnNpc3QoKTsKICAgICAgY29uc3QgYiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICBiLmNsYXNzTmFtZSA9ICJsZXZlbHVwLWJhbm5lciI7CiAgICAgIGIudGV4dENvbnRlbnQgPSAi8J+PhSAi
ICsgYS5lICsgIiAiICsgYS50ICsgIiEgKzE1IFhQIjsKICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJl
bW92ZSgpLCAyMTAwKTsKICAgICAgY29uZmV0dGkoKTsgc2Z4LndpbigpOwogICAgICBnYWluWHAoMTUpOyAvLyBpbkFjaCBndWFyZCBwcmV2ZW50cyByZS1l
bnRyeQogICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hcCIpLmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIikpIHJlbmRlckRhaWx5KCk7
CiAgICB9CiAgfQp9CgovKiA9PT09PT09PT09PT09PT0gU09VTkQgJiBGWCA9PT09PT09PT09PT09PT0gKi8KbGV0IGF1ZGlvQ3R4OwpmdW5jdGlvbiBiZWVw
KGZyZXEsIGR1ciwgdHlwZSA9ICJzaW5lIiwgdm9sID0gMC4xNSkgewogIHRyeSB7CiAgICBhdWRpb0N0eCA9IGF1ZGlvQ3R4IHx8IG5ldyAod2luZG93LkF1
ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0KSgpOwogICAgY29uc3QgbyA9IGF1ZGlvQ3R4LmNyZWF0ZU9zY2lsbGF0b3IoKSwgZyA9
IGF1ZGlvQ3R4LmNyZWF0ZUdhaW4oKTsKICAgIG8udHlwZSA9IHR5cGU7IG8uZnJlcXVlbmN5LnZhbHVlID0gZnJlcTsKICAgIGcuZ2Fpbi5zZXRWYWx1ZUF0
VGltZSh2b2wsIGF1ZGlvQ3R4LmN1cnJlbnRUaW1lKTsKICAgIGcuZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKDAuMDAxLCBhdWRpb0N0eC5j
dXJyZW50VGltZSArIGR1cik7CiAgICBvLmNvbm5lY3QoZyk7IGcuY29ubmVjdChhdWRpb0N0eC5kZXN0aW5hdGlvbik7CiAgICBvLnN0YXJ0KCk7IG8uc3Rv
cChhdWRpb0N0eC5jdXJyZW50VGltZSArIGR1cik7CiAgfSBjYXRjaChlKSB7fQp9CmNvbnN0IHNmeCA9IHsKICBnb29kKCkgeyBiZWVwKDY2MCwuMTIpOyBz
ZXRUaW1lb3V0KCgpPT5iZWVwKDg4MCwuMTUpLDkwKTsgfSwKICBiYWQoKSB7IGJlZXAoMTgwLC4yNSwic2F3dG9vdGgiLC4xKTsgfSwKICB3aW4oKSB7IFs1
MjMsNjU5LDc4NCwxMDQ3XS5mb3JFYWNoKChmLGkpPT5zZXRUaW1lb3V0KCgpPT5iZWVwKGYsLjIpLGkqMTMwKSk7IH0sCiAgaGl0KCkgeyBiZWVwKDEyMCwu
MTUsInNxdWFyZSIsLjEyKTsgYmVlcCg0MDAsLjA4LCJzYXd0b290aCIsLjA4KTsgfQp9OwpmdW5jdGlvbiBmbG9hdEZ4KHRleHQsIGNvbG9yLCB4LCB5KSB7
CiAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBlbC5jbGFzc05hbWUgPSAiZngtZmxvYXQiOyBlbC50ZXh0Q29udGVudCA9
IHRleHQ7IGVsLnN0eWxlLmNvbG9yID0gY29sb3I7CiAgZWwuc3R5bGUubGVmdCA9ICh4ID8/IHdpbmRvdy5pbm5lcldpZHRoLzIgLSAyMCkgKyAicHgiOwog
IGVsLnN0eWxlLnRvcCA9ICh5ID8/IHdpbmRvdy5pbm5lckhlaWdodC8yKSArICJweCI7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7IHNldFRp
bWVvdXQoKCk9PmVsLnJlbW92ZSgpLCAxMDAwKTsKfQpmdW5jdGlvbiBsZXZlbFVwRngoKSB7CiAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogIGIuY2xhc3NOYW1lID0gImxldmVsdXAtYmFubmVyIjsgYi50ZXh0Q29udGVudCA9ICLirIbvuI8gTEVWRUwgVVAhIEx2ICIgKyBzYXZlLmxl
dmVsOwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYik7IHNldFRpbWVvdXQoKCk9PmIucmVtb3ZlKCksIDIxMDApOwogIGNvbmZldHRpKCk7IHNmeC53
aW4oKTsKfQpmdW5jdGlvbiBjb25mZXR0aSgpIHsKICBjb25zdCBjb2xvcnMgPSBbIiNCMDNBMkUiLCIjMUU3QTVGIiwiI0IwN0QyOCIsIiMyRjdENEYiXTsK
ICBmb3IgKGxldCBpID0gMDsgaSA8IDUwOyBpKyspIHsKICAgIGNvbnN0IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGMuY2xhc3NO
YW1lID0gImNvbmZldHRpIjsKICAgIGMuc3R5bGUubGVmdCA9IE1hdGgucmFuZG9tKCkqMTAwICsgInZ3IjsgYy5zdHlsZS50b3AgPSAiLTEwcHgiOwogICAg
Yy5zdHlsZS5iYWNrZ3JvdW5kID0gY29sb3JzW2kgJSA0XTsKICAgIGMuc3R5bGUuYW5pbWF0aW9uRHVyYXRpb24gPSAoMC45ICsgTWF0aC5yYW5kb20oKSox
LjQpICsgInMiOwogICAgYy5zdHlsZS5ib3JkZXJSYWRpdXMgPSBNYXRoLnJhbmRvbSgpID4gLjUgPyAiNTAlIiA6ICIycHgiOwogICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChjKTsgc2V0VGltZW91dCgoKT0+Yy5yZW1vdmUoKSwgMjUwMCk7CiAgfQp9CgovKiA9PT09PT09PT09PT09PT0gVFRTIChzcGVha2lu
ZyB2b2ljZSkgPT09PT09PT09PT09PT09ICovCmxldCBrb1ZvaWNlID0gbnVsbDsKZnVuY3Rpb24gcGlja1ZvaWNlKCkgewogIGNvbnN0IHZzID0gc3BlZWNo
U3ludGhlc2lzLmdldFZvaWNlcygpLmZpbHRlcih2ID0+IHYubGFuZyAmJiB2Lmxhbmcuc3RhcnRzV2l0aCgidmkiKSk7CiAgY29uc3Qgd2FudCA9IGxvY2Fs
U3RvcmFnZS5nZXRJdGVtKCJ2cVZvaWNlTmFtZSIpOwogIGtvVm9pY2UgPSAod2FudCAmJiB2cy5maW5kKHYgPT4gdi5uYW1lID09PSB3YW50KSkgfHwgdnMu
ZmluZCh2ID0+IC9MaW5ofEhvYWlNeXxHb29nbGUvaS50ZXN0KHYubmFtZSkpIHx8IHZzWzBdIHx8IG51bGw7Cn0KaWYgKCJzcGVlY2hTeW50aGVzaXMiIGlu
IHdpbmRvdykgewogIHBpY2tWb2ljZSgpOwogIHNwZWVjaFN5bnRoZXNpcy5vbnZvaWNlc2NoYW5nZWQgPSBwaWNrVm9pY2U7Cn0KbGV0IHNheVRva2VuID0g
MCwgc2F5S2ljayA9IG51bGwsIHR0c1dhcm5lZCA9IGZhbHNlOwpmdW5jdGlvbiBrcVR0c1dhcm4oKSB7CiAgaWYgKHR0c1dhcm5lZCkgcmV0dXJuOwogIHR0
c1dhcm5lZCA9IHRydWU7CiAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGIuY2xhc3NOYW1lID0gImxldmVsdXAtYmFubmVy
IjsKICBiLnN0eWxlLmNzc1RleHQgPSAiYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM1NTUsIzMzMyk7Y29sb3I6I2ZmZjtmb250LXNpemU6
MTRweDt3aGl0ZS1zcGFjZTpub3JtYWw7bWF4LXdpZHRoOjM0MHB4O2FuaW1hdGlvbjpiYW5uZXIgNXMgZWFzZSBmb3J3YXJkczsiOwogIGIudGV4dENvbnRl
bnQgPSAi8J+UhyBUaGlzIGJyb3dzZXIncyBzcGVlY2ggZW5naW5lIGlzIHN0dWNrLiBSZXN0YXJ0aW5nIHRoZSBicm93c2VyIHVzdWFsbHkgYnJpbmdzIHRo
ZSB2b2ljZSBiYWNrLiI7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsKICBzZXRUaW1lb3V0KCgpID0+IGIucmVtb3ZlKCksIDUxMDApOwp9Ci8q
IHZvaWNlIHNwZWVkOiBsZWFybmVyLWNvbnRyb2xsZWQsIHBlcnNpc3RzIGFjcm9zcyB2aXNpdHMgKHNoYXJlZCBsb2NhbFN0b3JhZ2Uga2V5KSAqLwpjb25z
dCBLUV9JT1MgPSAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSB8fCAobmF2aWdhdG9yLnBsYXRmb3JtID09PSAiTWFjSW50
ZWwiICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDEpOwpjb25zdCBTUERfU1RFUFMgPSBbWyJzbG93IiwgMC43LCAi8J+QoiBTbG93Il0sIFsibm9y
bWFsIiwgMC44NSwgIuKWtiBOb3JtYWwiXSwgWyJmYXN0IiwgMSwgIvCfkIcgRmFzdCJdXTsKZnVuY3Rpb24gdm9pY2VTcGQoKSB7IGNvbnN0IGsgPSBsb2Nh
bFN0b3JhZ2UuZ2V0SXRlbSgidnFWb2ljZVNwZCIpOyByZXR1cm4gU1BEX1NURVBTLmZpbmQoeCA9PiB4WzBdID09PSBrKSB8fCBTUERfU1RFUFNbMV07IH0K
ZnVuY3Rpb24gcmVuZGVyU3BkKCkgeyBjb25zdCBiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwZEJ0biIpOyBpZiAoYikgYi50ZXh0Q29udGVudCA9
ICLwn46ZIFZvaWNlIMK3ICIgKyB2b2ljZVNwZCgpWzJdICsgIiBzcGVlZCI7IH0KZnVuY3Rpb24gc2V0U3BkKGspIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0o
InZxVm9pY2VTcGQiLCBrKTsgcmVuZGVyU3BkKCk7IG9wZW5Wb2ljZVNldCgpOyBzYXkoIlhpbiBjaMOgbyEgUuG6pXQgdnVpIMSRxrDhu6NjIGfhurdwIGLh
uqFuLiIpOyB9CmZ1bmN0aW9uIHNldFZvaWNlKG5hbWUpIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxVm9pY2VOYW1lIiwgbmFtZSk7IHBpY2tWb2ljZSgp
OyBvcGVuVm9pY2VTZXQoKTsgc2F5KCJYaW4gY2jDoG8hIFLhuqV0IHZ1aSDEkcaw4bujYyBn4bq3cCBi4bqhbi4iKTsgfQpmdW5jdGlvbiBvcGVuVm9pY2VT
ZXQoKSB7IHNldFRpbWVvdXQodnFSZW1pbmRVSSwgMCk7CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtxVm9pY2VXcmFwIik7IGlm
IChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCB2cyA9ICgic3BlZWNoU3ludGhlc2lzIiBpbiB3aW5kb3cpID8gc3BlZWNoU3ludGhlc2lzLmdldFZvaWNl
cygpLmZpbHRlcih2ID0+IHYubGFuZyAmJiB2Lmxhbmcuc3RhcnRzV2l0aCgidmkiKSkgOiBbXTsKICBjb25zdCBjdXIgPSBrb1ZvaWNlID8ga29Wb2ljZS5u
YW1lIDogIiI7CiAgY29uc3Qgc3BkID0gdm9pY2VTcGQoKVswXTsKICBjb25zdCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9
ICJrcVZvaWNlV3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMDAwMDAwNzA7ei1pbmRleDo5
OTk5O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7IjsKICB3LmlubmVySFRNTCA9
IGA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlci1yYWRpdXM6MTZweDttYXgtd2lkdGg6NDIwcHg7d2lkdGg6MTAwJTttYXgtaGVp
Z2h0Ojgwdmg7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjE4cHg7Ym94LXNoYWRvdzowIDEwcHggNDBweCAjMDAwMDAwNTU7Ij4KICAgIDxkaXYgc3R5bGU9ImZv
bnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTdweDttYXJnaW4tYm90dG9tOjEycHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn46ZIFZvaWNlIHNldHRpbmdzPC9k
aXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLWJvdHRvbTo2cHg7Ij5TcGVha2luZyBzcGVlZDwv
ZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLWJvdHRvbToxNnB4OyI+JHtTUERfU1RFUFMubWFwKHMgPT4KICAgICAg
YDxidXR0b24gb25jbGljaz0ic2V0U3BkKCcke3NbMF19JykiIHN0eWxlPSJmbGV4OjE7cGFkZGluZzo5cHggNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3Jk
ZXI6MS41cHggc29saWQgdmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiR7c1swXSA9PT0gc3BkID8gInZhcigtLWFjY2VudCkiIDogInRyYW5zcGFyZW50In07
Y29sb3I6JHtzWzBdID09PSBzcGQgPyAiI2ZmZiIgOiAidmFyKC0tYWNjZW50KSJ9O2ZvbnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWls
eTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+JHtzWzJdfTwvYnV0dG9uPmApLmpvaW4oIiIpfTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEz
cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi1ib3R0b206NnB4OyI+VmlldG5hbWVzZSB2b2ljZXMgb24gdGhpcyBkZXZpY2Ug4oCUIHRhcCBvbmUgdG8g
aGVhciBpdDwvZGl2PgogICAgJHt2cy5sZW5ndGggPyB2cy5tYXAodiA9PgogICAgICBgPGJ1dHRvbiBvbmNsaWNrPSJzZXRWb2ljZSgnJHt2Lm5hbWUucmVw
bGFjZSgvJy9nLCAiXFwnIil9JykiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206NnB4O3Bh
ZGRpbmc6OXB4IDEycHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxLjVweCBzb2xpZCAke3YubmFtZSA9PT0gY3VyID8gInZhcigtLWFjY2VudCkiIDog
InZhcigtLWNhcmQyKSJ9O2JhY2tncm91bmQ6JHt2Lm5hbWUgPT09IGN1ciA/ICJ2YXIoLS1jYXJkMikiIDogInRyYW5zcGFyZW50In07Y3Vyc29yOnBvaW50
ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10ZXh0KTsiPiR7di5uYW1lID09PSBjdXIgPyAi4pyFIiA6ICLwn5SI
In0gJHt2Lm5hbWV9PC9idXR0b24+YCkuam9pbigiIikKICAgICAgOiBgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21h
cmdpbi1ib3R0b206NnB4OyI+Tm8gVmlldG5hbWVzZSB2b2ljZSBmb3VuZCBvbiB0aGlzIGRldmljZSB5ZXQuPC9kaXY+YH0KICAgIDxkaXYgc3R5bGU9ImZv
bnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjEwcHg7bGluZS1oZWlnaHQ6MS41NTsiPiR7d2luZG93LlZRX0FQUAogICAgICA/
IGBNb3N0IGRldmljZXMgY29tZSB3aXRoIG9uZSBWaWV0bmFtZXNlIHZvaWNlLiBUbyBhZGQgbW9yZTogU2V0dGluZ3Mg4oaSIEFjY2Vzc2liaWxpdHkg4oaS
IFNwb2tlbiBDb250ZW50IOKGkiBWb2ljZXMg4oaSIFZpZXRuYW1lc2Ug4oaSIGRvd25sb2FkIDxiPkxpbmg8L2I+IChoaWdoZXIgcXVhbGl0eSksIHRoZW4g
cmVvcGVuIHRoZSBhcHAgYW5kIGl0IGFwcGVhcnMgaW4gdGhpcyBsaXN0LmAKICAgICAgOiBgTW9zdCBkZXZpY2VzIGNvbWUgd2l0aCBvbmUgVmlldG5hbWVz
ZSB2b2ljZS4gVG8gYWRkIG1vcmU6IDxiPmlQaG9uZSAvIGlQYWQgLyBNYWM8L2I+IOKAlCBTZXR0aW5ncyDihpIgQWNjZXNzaWJpbGl0eSDihpIgU3Bva2Vu
IENvbnRlbnQg4oaSIFZvaWNlcyDihpIgVmlldG5hbWVzZSDihpIgZG93bmxvYWQgPGI+TGluaDwvYj4gKGhpZ2hlciBxdWFsaXR5KSwgdGhlbiByZXN0YXJ0
IHRoZSBicm93c2VyIGFuZCBpdCBhcHBlYXJzIGluIHRoaXMgbGlzdC4gPGI+V2luZG93czwvYj4g4oCUIHRoZSBFZGdlIGJyb3dzZXIgaW5jbHVkZXMgSG9h
aU15IGFuZCBOYW1NaW5oLCBuYXR1cmFsIFZpZXRuYW1lc2Ugdm9pY2VzLiA8Yj5BbmRyb2lkPC9iPiDigJQgU2V0dGluZ3Mg4oaSIFRleHQtdG8tc3BlZWNo
IG91dHB1dCDihpIgaW5zdGFsbCBWaWV0bmFtZXNlIHZvaWNlIGRhdGEuYH08L2Rpdj4KICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2txVm9pY2VXcmFwJykucmVtb3ZlKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjExcHg7Ym9yZGVyLXJhZGl1
czoxMHB4O2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZh
bWlseTppbmhlcml0O2ZvbnQtc2l6ZToxNXB4OyI+RG9uZTwvYnV0dG9uPgogIDwvZGl2PmA7CiAgdy5vbmNsaWNrID0gZSA9PiB7IGlmIChlLnRhcmdldCA9
PT0gdykgdy5yZW1vdmUoKTsgfTsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwp9CmZ1bmN0aW9uIHNheSh0ZXh0LCByYXRlID0gMC45LCBvbmVu
ZCkgewogIGlmICh0eXBlb2YgZnZIYXMgPT09ICJmdW5jdGlvbiIgJiYgZnZIYXModGV4dCkgJiYgZnZQbGF5KHRleHQsIHJhdGUsIG9uZW5kKSkgcmV0dXJu
OwogIGlmICghKCJzcGVlY2hTeW50aGVzaXMiIGluIHdpbmRvdykpIHsgaWYgKG9uZW5kKSBzZXRUaW1lb3V0KG9uZW5kLCA2MDApOyByZXR1cm47IH0KICBj
b25zdCBteSA9ICsrc2F5VG9rZW47CiAgdHJ5IHsgc3BlZWNoU3ludGhlc2lzLmNhbmNlbCgpOyB9IGNhdGNoIChlKSB7fQogIGxldCBlbmRlZCA9IGZhbHNl
LCBzdGFydGVkID0gZmFsc2U7CiAgY29uc3QgZmluaXNoID0gKCkgPT4geyBpZiAoZW5kZWQpIHJldHVybjsgZW5kZWQgPSB0cnVlOyBjbGVhckludGVydmFs
KHNheUtpY2spOyBpZiAob25lbmQpIG9uZW5kKCk7IH07CiAgY29uc3QgbWsgPSAoKSA9PiB7CiAgICBjb25zdCB1ID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZSh0ZXh0KTsKICAgIHUubGFuZyA9ICJ2aS1WTiI7IGlmIChrb1ZvaWNlKSB1LnZvaWNlID0ga29Wb2ljZTsKICAgIC8vIGxlYXJuZXIgc3BlZWQg
c2V0dGluZyBzY2FsZXMgZXZlcnkgdXR0ZXJhbmNlOyBpT1Mgdm9pY2VzIHJ1biBob3QsIHNvIGRhbXAgdGhlbSBmdXJ0aGVyCiAgICB1LnJhdGUgPSBNYXRo
Lm1heCgwLjM1LCByYXRlICogdm9pY2VTcGQoKVsxXSAqIChLUV9JT1MgPyAwLjg1IDogMSkpOwogICAgdS5vbnN0YXJ0ID0gKCkgPT4geyBzdGFydGVkID0g
dHJ1ZTsgfTsKICAgIHUub25lbmQgPSBmaW5pc2g7CiAgICB1Lm9uZXJyb3IgPSBmaW5pc2g7IC8vIG5ldmVyIGxlYXZlIHN0b3J5L3NraXAgZmxvd3MgaGFu
Z2luZyBvbiBhIGRlYWQgdXR0ZXJhbmNlCiAgICB3aW5kb3cuX19rcVUgPSB1OyAgIC8vIGd1YXJkIGFnYWluc3QgQ2hyb21lIGdhcmJhZ2UtY29sbGVjdGlu
ZyBhIG1pZC1zcGVlY2ggdXR0ZXJhbmNlCiAgICByZXR1cm4gdTsKICB9OwogIC8vIENocm9tZSBxdWlyayAxOiBzcGVhaygpIGluIHRoZSBzYW1lIHRpY2sg
YXMgY2FuY2VsKCkgaXMgc2lsZW50bHkgZHJvcHBlZCDigJQgZGVsYXkgaXQKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIGlmIChteSAhPT0gc2F5VG9rZW4p
IHsgZmluaXNoKCk7IHJldHVybjsgfSAvLyBhIG5ld2VyIHNheSgpIHN1cGVyc2VkZWQgdGhpcyBvbmUKICAgIHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5zcGVh
ayhtaygpKTsgfSBjYXRjaCAoZSkgeyBmaW5pc2goKTsgcmV0dXJuOyB9CiAgICAvLyBDaHJvbWUgcXVpcmsgMiAodGhlIGJpZyBvbmUpOiB0aGUgZW5naW5l
IGNhbiBoYW5nIHdpdGggc3BlYWtpbmc9dHJ1ZSBidXQgbmV2ZXIKICAgIC8vIGFjdHVhbGx5IHN0YXJ0LiBUaGUgcGF1c2XihpJyZXN1bWUgImRhbmNlIiB1
bi13ZWRnZXMgaXQg4oCUIG1lYXN1cmVkIG9uIHJlYWwgQ2hyb21lLgogICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgIGlmIChzdGFydGVkIHx8IGVuZGVk
IHx8IG15ICE9PSBzYXlUb2tlbikgcmV0dXJuOwogICAgICB0cnkgeyBzcGVlY2hTeW50aGVzaXMucGF1c2UoKTsgfSBjYXRjaCAoZSkge30KICAgICAgc2V0
VGltZW91dCgoKSA9PiB7IHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5yZXN1bWUoKTsgfSBjYXRjaCAoZSkge30gfSwgMTIwKTsKICAgIH0sIDMwMCk7CiAgICAv
LyBzdGlsbCBkZWFkIOKGkiBoYXJkIHJldHJ5IG9uY2U6IGNhbmNlbCwgZnJlc2ggdXR0ZXJhbmNlLCBzcGVhaytkYW5jZQogICAgc2V0VGltZW91dCgoKSA9
PiB7CiAgICAgIGlmIChzdGFydGVkIHx8IGVuZGVkIHx8IG15ICE9PSBzYXlUb2tlbikgcmV0dXJuOwogICAgICB0cnkgeyBzcGVlY2hTeW50aGVzaXMuY2Fu
Y2VsKCk7IH0gY2F0Y2ggKGUpIHt9CiAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIGlmIChzdGFydGVkIHx8IGVuZGVkIHx8IG15ICE9PSBzYXlU
b2tlbikgcmV0dXJuOwogICAgICAgIHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5zcGVhayhtaygpKTsgc3BlZWNoU3ludGhlc2lzLnBhdXNlKCk7IH0gY2F0Y2gg
KGUpIHt9CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5yZXN1bWUoKTsgfSBjYXRjaCAoZSkge30gfSwgMTIwKTsK
ICAgICAgfSwgMTYwKTsKICAgIH0sIDE1MDApOwogICAgLy8gdHJ1bHkgdW5yZWNvdmVyYWJsZSDihpIgcmVzb2x2ZSB0aGUgZmxvdyBhbmQgdGVsbCB0aGUg
dXNlciBob25lc3RseQogICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgIGlmIChzdGFydGVkIHx8IGVuZGVkIHx8IG15ICE9PSBzYXlUb2tlbikgcmV0dXJu
OwogICAgICBrcVR0c1dhcm4oKTsKICAgICAgZmluaXNoKCk7CiAgICB9LCAzMjAwKTsKICB9LCA1MCk7CiAgLy8gQ2hyb21lIHF1aXJrIDM6IGxvbmcgdXR0
ZXJhbmNlcyBzdGFsbCB1bmxlc3MgdGhlIGVuZ2luZSBnZXRzIHBlcmlvZGljIHJlc3VtZSgpIHBpbmdzCiAgY2xlYXJJbnRlcnZhbChzYXlLaWNrKTsKICBz
YXlLaWNrID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgaWYgKCFzcGVlY2hTeW50aGVzaXMuc3BlYWtpbmcgJiYgIXNwZWVjaFN5bnRoZXNpcy5wZW5kaW5n
KSBjbGVhckludGVydmFsKHNheUtpY2spOwogICAgZWxzZSB7IHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5yZXN1bWUoKTsgfSBjYXRjaCAoZSkge30gfQogIH0s
IDMwMDApOwp9Ci8vIENocm9tZSBxdWlyayAzOiB0aGUgZW5naW5lIGNhbiB3ZWRnZSBpbiBhIHBhdXNlZCBzdGF0ZSBhZnRlciBjYW5jZWwoKSDigJQKLy8g
YW55IHVzZXIgdGFwIHF1aWV0bHkgdW53ZWRnZXMgaXQgc28gdGhlIG5leHQg8J+UiiBhbHdheXMgd29ya3MKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
cG9pbnRlcmRvd24iLCAoKSA9PiB7IHRyeSB7IHNwZWVjaFN5bnRoZXNpcy5yZXN1bWUoKTsgfSBjYXRjaCAoZSkge30gfSwgeyBjYXB0dXJlOiB0cnVlLCBw
YXNzaXZlOiB0cnVlIH0pOwoKLyogPT09PT09PT09PT09PT09IE5BViA9PT09PT09PT09PT09PT0gKi8KbGV0IGFjdGl2ZVRpbWVyID0gbnVsbDsKZnVuY3Rp
b24gc2hvdyhpZCkgewogIGNvbnN0IHByZXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2NyZWVuLmFjdGl2ZSIpOwogIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIi5zY3JlZW4iKS5mb3JFYWNoKHMgPT4gcy5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOwogIGlmIChwcmV2ICYmIHByZXYuaWQgPT09IGlkKSByZXR1cm47IC8vIHJlLXJlbmRlciBvZiB0aGUgY3Vy
cmVudCBzY3JlZW46IHN0YXkgd2hlcmUgdGhlIGxlYXJuZXIgaXMKICAvLyBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgZ2FtZSwgbm90IHRoZSB0b3Agb2Yg
dGhlIHBhZ2UgaXQgaXMgZW1iZWRkZWQgaW4KICBjb25zdCBhcHAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgia3EtYXBwIik7CiAgd2luZG93LnNjcm9s
bFRvKDAsIGFwcCA/IE1hdGgubWF4KDAsIGFwcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgLSA4KSA6IDApOwp9
CmZ1bmN0aW9uIGdvTWFwKCkgeyBSVi5vbiA9IGZhbHNlOyBjbGVhckludGVydmFsKGFjdGl2ZVRpbWVyKTsgYWN0aXZlVGltZXIgPSBudWxsOyBoYXJkU3Rv
cEF1ZGlvKCk7IGlmIChaLm9uKSB6YWxvRXhpdCgpOyByZW5kZXJNYXAoKTsgcmVuZGVySHVkKCk7IHNob3coIm1hcCIpOyB9CmZ1bmN0aW9uIGJhY2tUb0xl
c3NvbigpIHsgY2xlYXJJbnRlcnZhbChhY3RpdmVUaW1lcik7IGFjdGl2ZVRpbWVyID0gbnVsbDsKICAvKiBwc2V1ZG8tbGVzc29ucyBoYXZlIG5vIExFU1NP
TlMgZW50cnk6IFIgKHJldmlldy9lYXIvemFsbykgYW5kIFQgKFThur90KSByZXR1cm4gdG8gdGhlIG1hcCwgRiByZW9wZW5zIEZvdW5kYXRpb24uCiAgICAg
VG9tJ3MgcGhvbmUgdGVzdCAyMDI2LTA5LTE1OiBGb3VuZGF0aW9uIOKGkiBFYXIgVHJhaW5pbmcg4oaSIOKGkCB3YXMgZGVhZCAob3Blbkxlc3NvbigiRiIp
IHRocmV3KSAqLwogIGlmICghY3VyIHx8IGN1ci5uID09PSAiUiIgfHwgY3VyLm4gPT09ICJUIikgeyBnb01hcCgpOyByZXR1cm47IH0KICBpZiAoY3VyLm4g
PT09ICJGIikgeyBvcGVuRm91bmRhdGlvbigpOyByZXR1cm47IH0KICBpZiAoIUxFU1NPTlMuc29tZShMID0+IEwubiA9PT0gY3VyLm4pKSB7IGdvTWFwKCk7
IHJldHVybjsgfQogIG9wZW5MZXNzb24oY3VyLm4sIGN1cnJlbnRUYWIpOyB9CmZ1bmN0aW9uIHNodWZmbGUoYSkgeyBhPVsuLi5hXTsgZm9yIChsZXQgaT1h
Lmxlbmd0aC0xO2k+MDtpLS0pe2NvbnN0IGo9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihpKzEpKTtbYVtpXSxhW2pdXT1bYVtqXSxhW2ldXTt9IHJldHVy
biBhOyB9CgovKiA9PT09PT09PT09PT09PT0gTUFQID09PT09PT09PT09PT09PSAqLwpmdW5jdGlvbiBzdGFyc09mKG4pIHsKICBjb25zdCBzID0gbHN0YXRl
KG4pLnN0YXJzOwogIHJldHVybiAocy5sZWFybj8i4q2QIjoi4piGIikgKyAocy5zdG9yeT8i4q2QIjoi4piGIikgKyAocy50YWxrPyLirZAiOiLimIYiKSAr
IChzLnNwZWFrPyLirZAiOiLimIYiKSArIChzLmJvc3M/IuKtkCI6IuKYhiIpOwp9CmZ1bmN0aW9uIHJlbmRlck1hcCgpIHsKICBjb25zdCBnID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm1hcEdyaWQiKTsKICBnLmlubmVySFRNTCA9ICIiOwogIExFU1NPTlMuZm9yRWFjaChMID0+IHsKICAgIGNvbnN0IHN0ID0g
bHN0YXRlKEwubik7CiAgICBjb25zdCBwY3QgPSBNYXRoLnJvdW5kKHN0Lmtub3duLmxlbmd0aCAvIEwud29yZHMubGVuZ3RoICogMTAwKTsKICAgIGNvbnN0
IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGQuY2xhc3NOYW1lID0gImxjYXJkIjsKICAgIGQuaW5uZXJIVE1MID0gYDxkaXYgY2xh
c3M9ImxudW0iPlFVRVNUICR7U3RyaW5nKEwubikucGFkU3RhcnQoMiwiMCIpfTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZW1vamkiPiR7TC5lbW9qaX08
L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGtyIj4ke0wua3J9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlbiI+JHtMLmVufSDCtyAke0wudml9PC9kaXY+
CiAgICAgIDxkaXYgY2xhc3M9ImxzdGFycyI+JHtzdGFyc09mKEwubil9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imxwcm9nIj48aSBzdHlsZT0id2lkdGg6
JHtwY3R9JSI+PC9pPjwvZGl2PmA7CiAgICBkLm9uY2xpY2sgPSAoKSA9PiBvcGVuTGVzc29uKEwubik7CiAgICBnLmFwcGVuZENoaWxkKGQpOwogIH0pOwog
IHZxU3RydWN0dXJlKGcpOwogIHZxQ29taW5nTmV4dChnKTsKICAvLyBQcmVtaXVtIGNhcmQgKHB1YmxpYyBidWlsZCBvbmx5IOKAlCBQUkVNSVVNX1VSTCBp
cyBzZXQgYnkgdGhlIHB1Ymxpc2ggcGlwZWxpbmUpCiAgaWYgKHR5cGVvZiBQUkVNSVVNX1VSTCAhPT0gInVuZGVmaW5lZCIgJiYgUFJFTUlVTV9VUkwpIHsK
ICAgIGNvbnN0IHBtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBwbS5jbGFzc05hbWUgPSAibGNhcmQiOwogICAgcG0uc3R5bGUuZ3Jp
ZENvbHVtbiA9ICIxIC8gLTEiOwogICAgcG0uc3R5bGUuYm9yZGVyID0gIjJweCBzb2xpZCAjQjA3RDI4YWEiOwogICAgcG0uaW5uZXJIVE1MID0gYDxkaXYg
Y2xhc3M9ImxudW0iIHN0eWxlPSJjb2xvcjp2YXIoLS1nb2xkKSI+R08gRlVSVEhFUjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxp
Z24taXRlbXM6Y2VudGVyO2dhcDoxMnB4OyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVtb2ppIiBzdHlsZT0ibWFyZ2luOjA7Ij7wn4+U77iPPC9kaXY+CiAg
ICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsa3IiPlRoZSAzMC1EYXkgU3BlYWtpbmcgUGF0aDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxlbiI+QSBndWlk
ZWQgZGFpbHkgcGxhbiBhbmQgYW4gdW5saW1pdGVkIEFJIHNwZWFraW5nIHBhcnRuZXIgdGhhdCBjb3JyZWN0cyBldmVyeSBzZW50ZW5jZS4gU2VlIHdoYXQg
aXQgaXMg4oaSPC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PmA7CiAgICBwbS5vbmNsaWNrID0gKCkgPT4geyB3aW5kb3cub3BlbihQUkVNSVVNX1VSTCwgIl9i
bGFuayIpOyB9OwogICAgZy5wcmVwZW5kKHBtKTsgLy8gcHJlcGVuZGVkIGJlZm9yZSBSZXZpZXcvRnJlZS1UYWxrIHByZXBlbmRzIOKGkiBsYW5kcyB0aGly
ZCBvbiB0aGUgbWFwCiAgfQogIC8vIFJldmlldyB3b3Jrb3V0IGNhcmQg4oCUIHJhbmRvbSBjb252ZXJzYXRpb24gYWNyb3NzIHN0YXJyZWQgbGVzc29ucwog
IGNvbnN0IHN0YXJyZWQgPSBMRVNTT05TLmZpbHRlcihMID0+IGxzdGF0ZShMLm4pLnN0YXJzLnRhbGspLmxlbmd0aDsKICBjb25zdCBydiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHJ2LmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgcnYuc3R5bGUuZ3JpZENvbHVtbiA9ICIxIC8gLTEiOwogIHJ2LnN0
eWxlLmJvcmRlciA9ICIycHggZGFzaGVkICNCMDdEMjg2NiI7CiAgcnYuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImxudW0iPlJFVklFVyBXT1JLT1VUPC9k
aXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4OyI+CiAgICAgIDxkaXYgY2xhc3M9ImxlbW9qaSIg
c3R5bGU9Im1hcmdpbjowOyI+8J+OsjwvZGl2PgogICAgICA8ZGl2PjxkaXYgY2xhc3M9ImxrciI+UmFuZG9tIENvbnZlcnNhdGlvbjwvZGl2PgogICAgICA8
ZGl2IGNsYXNzPSJsZW4iPiR7c3RhcnJlZAogICAgICAgID8gYE1peGVzIHF1ZXN0aW9ucyBmcm9tIHlvdXIgJHtzdGFycmVkfSDirZAgY29udmVyc2F0aW9u
JHtzdGFycmVkID4gMSA/ICJzIiA6ICIifSDigJQgYW5zd2VyIGJ5IHZvaWNlIWAKICAgICAgICA6ICJObyBUYWxrIOKtkCB5ZXQg4oCUIG1peGVzIEFMTCBs
ZXNzb25zIGZvciBub3cuIEZpbmlzaCBsZXNzb24gdGFsa3MgdG8gZm9jdXMgdGhlIG1peCEifTwvZGl2PjwvZGl2PgogICAgPC9kaXY+YDsKICBydi5vbmNs
aWNrID0gb3BlblJldmlldzsKICBnLnByZXBlbmQocnYpOwogIC8vIFphbG8gY2FyZCDigJQgdHlwZSBWaWV0bmFtZXNlIHdpdGggdG9uZXMKICBjb25zdCB6
YyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHpjLmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgemMuc3R5bGUuZ3JpZENvbHVtbiA9ICIxIC8g
LTEiOwogIHpjLnN0eWxlLmJvcmRlciA9ICIycHggZGFzaGVkICMxRTdBNUY2NiI7CiAgemMuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImxudW0iPlpBTE8g
TU9ERTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDsiPgogICAgICA8ZGl2IGNsYXNzPSJs
ZW1vamkiIHN0eWxlPSJtYXJnaW46MDsiPvCfk7E8L2Rpdj4KICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsa3IiPk5o4bqvbiB0aW4g4oCUIHRleHQgeW91ciBm
YW1pbHk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVuIj5BIHJlbGF0aXZlIHRleHRzIHlvdTsgeW91IHR5cGUgYmFjayB3aXRoIHRvbmUgbWFya3MuIFRl
bGV4IGhlbHBlciBidWlsdCBpbiDigJQgbm8gVmlldG5hbWVzZSBrZXlib2FyZCBuZWVkZWQuPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj5gOwogIHpjLm9uY2xp
Y2sgPSBvcGVuWmFsbzsKICBnLnByZXBlbmQoemMpOwogIC8vIEVhciBUcmFpbmluZyBjYXJkIOKAlCBnZW5lcmF0ZWQgbGlzdGVuaW5nIHdvcmtvdXRzCiAg
Y29uc3QgZWMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBlYy5jbGFzc05hbWUgPSAibGNhcmQiOwogIGVjLnN0eWxlLmdyaWRDb2x1bW4g
PSAiMSAvIC0xIjsKICBlYy5zdHlsZS5ib3JkZXIgPSAiMnB4IGRhc2hlZCAjMUU3QTVGNjYiOwogIGVjLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVt
Ij5FQVIgVFJBSU5JTkc8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7Ij4KICAgICAgPGRp
diBjbGFzcz0ibGVtb2ppIiBzdHlsZT0ibWFyZ2luOjA7Ij7wn46nPC9kaXY+CiAgICAgIDxkaXY+PGRpdiBjbGFzcz0ibGtyIj5MdXnhu4duIG5naGUg4oCU
IExpc3RlbmluZzwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZW4iPlNlbnRlbmNlcywgdG9uZXMsIG51bWJlcnMgYW5kIGRhdGVzIOKAlCBieSBlYXIgb25s
eS4gVGVuIHF1aWNrIHF1ZXN0aW9ucyBwZXIgcm91bmQuPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj5gOwogIGVjLm9uY2xpY2sgPSBvcGVuRWFyOwogIGcucHJl
cGVuZChlYyk7CiAgLy8gV29yZCBSZXZpZXcgY2FyZCDigJQgbGVhcm5lZCB3b3JkcyBjb21lIGJhY2sgb24gYSBkb3VibGluZyBzY2hlZHVsZQogIGNvbnN0
IHJ2TGVhcm5lZCA9IHRvdGFsTGVhcm5lZCgpOwogIGNvbnN0IHJ2RHVlTiA9IHJ2TGVhcm5lZCA/IHJ2RHVlKCkubGVuZ3RoIDogMDsKICBjb25zdCB3ciA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHdyLmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgd3Iuc3R5bGUuZ3JpZENvbHVtbiA9ICIxIC8gLTEi
OwogIHdyLnN0eWxlLmJvcmRlciA9ICIycHggZGFzaGVkICMyRjdENEY2NiI7CiAgd3IuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImxudW0iPkRBSUxZIFJF
VklFVzwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDsiPgogICAgICA8ZGl2IGNsYXNzPSJs
ZW1vamkiIHN0eWxlPSJtYXJnaW46MDsiPvCfp6A8L2Rpdj4KICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsa3IiPldvcmQgUmV2aWV3PC9kaXY+CiAgICAgIDxk
aXYgY2xhc3M9ImxlbiI+JHtydkxlYXJuZWQgPCA0CiAgICAgICAgPyAiTGVhcm4gNCsgd29yZHMgZmlyc3Qg4oCUIHRoZW4gdGhleSBjb21lIGJhY2sgaGVy
ZSBvbiBhIHNtYXJ0IHNjaGVkdWxlIHNvIHlvdSBuZXZlciBmb3JnZXQgdGhlbS4iCiAgICAgICAgOiBydkR1ZU4KICAgICAgICAgID8gYCR7cnZEdWVOfSB3
b3JkJHtydkR1ZU4gPiAxID8gInMgYXJlIiA6ICIgaXMifSByZWFkeSB0byByZXZpZXcg4oCUIGEgNjAtc2Vjb25kIHdvcmtvdXQgbG9ja3MgdGhlbSBpbiBm
b3IgZ29vZCFgCiAgICAgICAgICA6ICJBbGwgY2F1Z2h0IHVwISDinKggWW91ciB3b3JkcyByZXR1cm4gdG9tb3Jyb3cg4oCUIG9yIHBsYXkgYSBib251cyBy
b3VuZCBub3cuIn08L2Rpdj48L2Rpdj4KICAgIDwvZGl2PmA7CiAgaWYgKHJ2TGVhcm5lZCA+PSA0KSB3ci5vbmNsaWNrID0gb3BlbldvcmRSZXZpZXc7CiAg
ZWxzZSB3ci5zdHlsZS5vcGFjaXR5ID0gIi42IjsKICBnLnByZXBlbmQod3IpOwogIC8vIEZyZWUgVGFsayBjYXJkCiAgY29uc3QgZnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKICBmdC5jbGFzc05hbWUgPSAibGNhcmQiOwogIGZ0LnN0eWxlLmdyaWRDb2x1bW4gPSAiMSAvIC0xIjsKICBmdC5zdHls
ZS5ib3JkZXIgPSAiMnB4IGRhc2hlZCAjMUU3QTVGNjYiOwogIGZ0LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVtIj5GUkVFIFRBTEs8L2Rpdj4KICAg
IDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVtb2ppIiBzdHlsZT0i
bWFyZ2luOjA7Ij7wn46ZPC9kaXY+CiAgICAgIDxkaXY+PGRpdiBjbGFzcz0ibGtyIj5TcGVhayBhYm91dCBhbnl0aGluZzwvZGl2PgogICAgICA8ZGl2IGNs
YXNzPSJsZW4iPk9wZW4gY29udmVyc2F0aW9uIOKAlCB5b3UgdGFsaywgdGhlIGdhbWUgbGlzdGVucyBhbmQgYW5zd2Vycy4gT3B0aW9uYWwg4pyoIExpbmgg
KEFJKSBwYXJ0bmVyIHdobyBhbnN3ZXJzIGFueXRoaW5nIGFuZCBhc2tzIHlvdSBiYWNrLjwvZGl2PjwvZGl2PgogICAgPC9kaXY+YDsKICBmdC5vbmNsaWNr
ID0gb3BlbkZyZWU7CiAgZy5wcmVwZW5kKGZ0KTsKICAvLyBGYW1pbHkgVm9pY2UgY2FyZCDigJQgbGVhcm4gaXQgaW4gYSByZWxhdGl2ZSdzIHZvaWNlCiAg
Y29uc3QgZnZjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgZnZjLmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgZnZjLnN0eWxlLmdyaWRDb2x1
bW4gPSAiMSAvIC0xIjsKICBmdmMuc3R5bGUuYm9yZGVyID0gRlYuY291bnQgPyAiMnB4IHNvbGlkIHZhcigtLWFjY2VudDIpIiA6ICIycHggZGFzaGVkICMx
RTdBNUY2NiI7CiAgZnZjLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVtIj5GQU1JTFkgVk9JQ0Uke0ZWLmNvdW50ID8gKEZWLm9uID8gIiDCtyBPTiIg
OiAiIMK3IE9GRiIpIDogIiJ9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4OyI+CiAgICAg
IDxkaXYgY2xhc3M9ImxlbW9qaSIgc3R5bGU9Im1hcmdpbjowOyI+8J+OmTwvZGl2PgogICAgICA8ZGl2PjxkaXYgY2xhc3M9ImxrciI+JHtGVi5jb3VudCA/
IGBMZWFybmluZyBpbiAke0ZWLnByb2ZpbGV9J3Mgdm9pY2VgIDogIkxlYXJuIGl0IGluIHlvdXIgZmFtaWx5J3Mgdm9pY2UifTwvZGl2PgogICAgICA8ZGl2
IGNsYXNzPSJsZW4iPiR7RlYuY291bnQKICAgICAgICA/IGAke0ZWLmNvdW50fSB3b3JkJHtGVi5jb3VudCA+IDEgPyAicyIgOiAiIn0gcmVjb3JkZWQgYnkg
JHtGVi5wcm9maWxlfS4gRXZlcnkg8J+UiiBmb3IgdGhvc2Ugd29yZHMgcGxheXMgdGhlbSwgbm90IGEgcm9ib3QuIFRhcCB0byByZWNvcmQgbW9yZS5gCiAg
ICAgICAgOiAiSGFuZCB0aGUgcGhvbmUgdG8gYsOgLCBtw6EsIG9yIGEgY291c2luOiB0aGV5IHJlYWQgdGhlIHdvcmRzIG9uY2UsIGFuZCBmcm9tIHRoZW4g
b24geW91IGxlYXJuIGluIHRoZWlyIHZvaWNlIGFuZCB0aGVpciBhY2NlbnQuIE5vIG90aGVyIGFwcCBkb2VzIHRoaXMuIn08L2Rpdj48L2Rpdj4KICAgIDwv
ZGl2PmA7CiAgZnZjLm9uY2xpY2sgPSBvcGVuRmFtaWx5Vm9pY2U7CiAgZy5wcmVwZW5kKGZ2Yyk7CiAgLy8gQ29udGludWUgYW55d2hlcmUgKHNhdmUtY29k
ZSBzeW5jKSBjYXJkCiAgY29uc3Qgc3ljID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgc3ljLmlkID0gInN5Q2FyZCI7CiAgc3ljLmNsYXNz
TmFtZSA9ICJsY2FyZCI7CiAgc3ljLnN0eWxlLmdyaWRDb2x1bW4gPSAiMSAvIC0xIjsKICBzeWMuc3R5bGUuYm9yZGVyID0gU1kuY29kZSA/ICIycHggc29s
aWQgdmFyKC0tYWNjZW50MikiIDogIjJweCBkYXNoZWQgIzFFN0E1RjY2IjsKICBzeWMuaW5uZXJIVE1MID0gc3lDYXJkSHRtbCgpOwogIHN5Yy5vbmNsaWNr
ID0gKCkgPT4gVlFfQVVUSF9VUkwgPyBvcGVuTWVtYmVyKCkgOiBvcGVuU3luYygpOwogIGcuYXBwZW5kKHN5Yyk7CiAgLy8gQ2FuLWRvIGxhZGRlciBjYXJk
IOKAlCBtaWxlc3RvbmVzLCBub3Qgc3RhcnMKICBjb25zdCBjcyA9IGNhbmRvU3RhdGUoKTsKICBjb25zdCBjZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogIGNkLmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgY2Quc3R5bGUuZ3JpZENvbHVtbiA9ICIxIC8gLTEiOwogIGNkLnN0eWxlLmJvcmRlciA9ICIy
cHggZGFzaGVkICNCMDdEMjg2NiI7CiAgY2QuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImxudW0iPldIQVQgSSBDQU4gRE8gwrcgJHtjcy5ufS8ke2NzLnRv
dGFsfTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDsiPgogICAgICA8ZGl2IGNsYXNzPSJs
ZW1vamkiIHN0eWxlPSJtYXJnaW46MDsiPvCfjq88L2Rpdj4KICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsa3IiPiR7Y3MubiA/ICJJIGNhbiAiICsgQ0FORE9b
Y3MuZG9uZS5sYXN0SW5kZXhPZih0cnVlKV1bMF0uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBDQU5ET1tjcy5kb25lLmxhc3RJbmRleE9mKHRydWUpXVsw
XS5zbGljZSgxKSA6ICJUaGluZ3MgdGhhdCB3aWxsIGJlIHRydWUgYWJvdXQgeW91In08L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVuIj4ke2NzLm4gPyBg
JHtjcy50b3RhbCAtIGNzLm59IG1vcmUgdG8gZ28g4oCUIHRhcCB0byBzZWUgdGhlIGxhZGRlciBhbmQgc2hhcmUgaXQuYCA6ICJGaWZ0ZWVuIHJlYWwtbGlm
ZSBhYmlsaXRpZXMsIGVhcm5lZCBvbmUgcXVlc3QgYXQgYSB0aW1lLiBUYXAgdG8gc2VlIHRoZW0uIn08L2Rpdj48L2Rpdj4KICAgIDwvZGl2PmA7CiAgY2Qu
b25jbGljayA9IG9wZW5DYW5kbzsKICBnLnByZXBlbmQoY2QpOwogIC8vIE15IEZhbWlseSBjYXJkIOKAlCB3aG8geW91IGFyZSBsZWFybmluZyBmb3IgKG5h
bWVzIGZsb3cgaW50byBldmVyeSBzdG9yeSkKICBjb25zdCBmc3VtID0gZmFtaWx5U3VtbWFyeSgpOwogIGNvbnN0IGZtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CiAgZm0uY2xhc3NOYW1lID0gImxjYXJkIjsKICBmbS5zdHlsZS5ncmlkQ29sdW1uID0gIjEgLyAtMSI7CiAgZm0uc3R5bGUuYm9yZGVy
ID0gZnN1bSA/ICIycHggZGFzaGVkIHZhcigtLWNhcmQyKSIgOiAiMnB4IGRhc2hlZCAjQjAzQTJFNjYiOwogIGZtLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNz
PSJsbnVtIj5NWSBGQU1JTFk8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7Ij4KICAgICAg
PGRpdiBjbGFzcz0ibGVtb2ppIiBzdHlsZT0ibWFyZ2luOjA7Ij7wn5Go4oCN8J+RqeKAjfCfkac8L2Rpdj4KICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsa3Ii
PiR7ZnN1bSA/ICJMZWFybmluZyBmb3IgIiArIGZzdW0gOiAiV2hvIGFyZSB5b3UgbGVhcm5pbmcgZm9yPyJ9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imxl
biI+JHtmc3VtID8gIkV2ZXJ5IHN0b3J5IGFuZCBjb252ZXJzYXRpb24gdXNlcyB5b3VyIG5hbWVzLiBUYXAgdG8gZWRpdC4iIDogIkFkZCB5b3VyIG5hbWUg
YW5kIHlvdXIgZmFtaWx5J3Mg4oCUIGV2ZXJ5IHN0b3J5IGFuZCBjb252ZXJzYXRpb24gd2lsbCB1c2UgdGhlbSwgYW5kIHlvdSB3aWxsIHByYWN0aWNlIHNh
eWluZyB5b3VyIG93biBuYW1lLiJ9PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj5gOwogIGZtLm9uY2xpY2sgPSBvcGVuRmFtaWx5OwogIGcucHJlcGVuZChmbSk7
CiAgLy8gRm91bmRhdGlvbiBjYXJkIOKAlCB0aGUgcmVjb21tZW5kZWQgc3RhcnRpbmcgcG9pbnQsIHdpdGggdGhlIG1hc3RlcnkgY2hlY2tsaXN0CiAgY29u
c3QgZiA9IGZvdW5kU3RhdGUoKTsKICBpZiAoZi5tYXN0ZXJlZCAmJiAhc2F2ZS5mb3VuZERvbmUpIHsKICAgIHNhdmUuZm91bmREb25lID0gdHJ1ZTsgcGVy
c2lzdCgpOwogICAgZ2FpblhwKDUwKTsgY29uZmV0dGkoKTsgc2Z4LndpbigpOwogICAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgYi5jbGFzc05hbWUgPSAibGV2ZWx1cC1iYW5uZXIiOyBiLnRleHRDb250ZW50ID0gIvCfj5sgRm91bmRhdGlvbiBNQVNURVJFRCEgKzUwIFhQIOKA
lCB5b3UgY2FuIHJlYWQgYW55IFZpZXRuYW1lc2Ugd29yZCEiOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBi
LnJlbW92ZSgpLCAyNjAwKTsKICB9CiAgY29uc3QgZmMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBmYy5jbGFzc05hbWUgPSAibGNhcmQi
OwogIGZjLnN0eWxlLmdyaWRDb2x1bW4gPSAiMSAvIC0xIjsKICBmYy5zdHlsZS5ib3JkZXIgPSBmLm1hc3RlcmVkID8gIjJweCBzb2xpZCB2YXIoLS1ncmVl
bikiIDogIjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpIjsKICBjb25zdCBzdGVwID0geCA9PiB4ID8gIuKchSIgOiAi4qycIjsKICBmYy5pbm5lckhUTUwgPSBg
PGRpdiBjbGFzcz0ibG51bSI+JHtmLm1hc3RlcmVkID8gIkZPVU5EQVRJT04gwrcgTUFTVEVSRUQg8J+PmyIgOiAiU1RBUlQgSEVSRSDCtyBGT1VOREFUSU9O
In08L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVt
b2ppIiBzdHlsZT0ibWFyZ2luOjA7Ij7wn4+bPC9kaXY+CiAgICAgIDxkaXY+PGRpdiBjbGFzcz0ibGtyIj5O4buBbiB04bqjbmcg4oCUIFRvbmVzICYgU291
bmRzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlbiI+JHtmLm1hc3RlcmVkCiAgICAgICAgPyAiVGhlIDYgdG9uZXMgYW5kIGV2ZXJ5IHNvdW5kIGFyZSB5
b3VycyDigJQgeW91IGNhbiByZWFkIGFueSBWaWV0bmFtZXNlIHdvcmQuIMOUbiBs4bqhaSBhbnl0aW1lLiIKICAgICAgICA6IGBNYXN0ZXIgdGhpcyBmaXJz
dCDigJQgdGhlbiBldmVyeSB3b3JkIGluIHRoZSBnYW1lIG1ha2VzIHNlbnNlLjxicj4KICAgICAgICAgICAke3N0ZXAoZi5jYXJkcyA+PSAyNCl9IExlYXJu
IHRoZSAyNCBzb3VuZCBjYXJkcyAoJHtmLmNhcmRzfS8yNCkgJm5ic3A7CiAgICAgICAgICAgJHtzdGVwKGYucHJvbiA+PSA1KX0gU2F5IDUgYWxvdWQgKCR7
TWF0aC5taW4oNSwgZi5wcm9uKX0vNSkgJm5ic3A7CiAgICAgICAgICAgJHtzdGVwKGYudG9uZSA+PSA4MCl9IFRvbmUgVHdpbnMgOC8xMCAoYmVzdCAke2Yu
dG9uZSAvIDEwIHwgMH0vMTAg4oCUIGluIPCfjqcgRWFyIFRyYWluaW5nKWB9PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj5gOwogIGZjLm9uY2xpY2sgPSBvcGVu
Rm91bmRhdGlvbjsKICBnLnByZXBlbmQoZmMpOwogIGNvbnN0IHRjID0gdGV0Q2FyZCgpOyBpZiAodGMpIHsgaWYgKHRldFN0YXRlKCkuaW5XaW5kb3cpIGcu
cHJlcGVuZCh0Yyk7IGVsc2UgZmMuYWZ0ZXIodGMpOyB9CiAgcmVuZGVyRGFpbHkoKTsKICB2cUhhcHRpY1dpcmUoKTsgdnFBcnJhbmdlTWFwKGcpOyB2cUpv
dXJuZXlNb3VudChnKTsgdnFUb2RheVJlbmRlcigpOwogIGNhbmRvQ2hlY2soKTsgdnFSZW1pbmRTeW5jKCk7IHNldFRpbWVvdXQodnFSZW1pbmRPZmZlciwg
OTAwKTsgc2V0VGltZW91dCh2cU1lbWJlck9mZmVyLCAxNjAwKTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQogICBGUkVFIFRBTEsg4oCUIG9wZW4gdm9pY2UgY29udmVyc2F0aW9uLgogICBFbmdpbmUgMSAoYnVpbHQtaW4sIGZyZWUp
OiB0b3BpYy1hd2FyZSBWaWV0bmFtZXNlIGNoYXRib3QgdXNpbmcgdGhlIHF1ZXN0IHRoZW1lcy4KICAgRW5naW5lIDIgKG9wdGlvbmFsKTogQ2xhdWRlIEFQ
SSB3aXRoIHRoZSB1c2VyJ3Mgb3duIGtleSAoc3RvcmVkIGxvY2FsbHkpLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ICovCmNvbnN0IEZUX1RPUElDUyA9IHsKICB3ZWF0aGVyOiB7IG1hdGNoOiAvdGjhu51pIHRp4bq/dHxtxrBhfG7huq9u
Z3xnacOzfMSR4bq5cCB0cuG7nWl8dHLhu51pIG7Ds25nfHRy4budaSBs4bqhbmh8dHLhu51pIMSR4bq5cC9pLCBuYW1lOiAidGjhu51pIHRp4bq/dCIsCiAg
ICBxOiBbWyJIw7RtIG5heSB0aOG7nWkgdGnhur90IHRo4bq/IG7DoG8/IiwiSG93IGlzIHRoZSB3ZWF0aGVyIHRvZGF5PyJdLFsiQuG6oW4gdGjDrWNoIHRy
4budaSBu4bqvbmcgaGF5IHRy4budaSBtxrBhPyIsIkRvIHlvdSBsaWtlIHN1bm55IG9yIHJhaW55IHdlYXRoZXI/Il0sWyJUcuG7nWkgbcawYSB0aMOsIGLh
uqFuIHRoxrDhu51uZyBsw6BtIGfDrD8iLCJXaGF0IGRvIHlvdSB1c3VhbGx5IGRvIHdoZW4gaXQgcmFpbnM/Il1dIH0sCiAgZm9vZDogeyBtYXRjaDogL8SD
bnxtw7NufHBo4buffGLDum58YsOhbmh8Y8ahbXxuZ29ufMSRw7NpfG7huqV1fHF1w6FuL2ksIG5hbWU6ICJtw7NuIMSDbiIsCiAgICBxOiBbWyJC4bqhbiB0
aMOtY2ggxINuIG3Ds24gZ8OsIG5o4bqldD8iLCJXaGF0IGZvb2QgZG8geW91IGxpa2UgbW9zdD8iXSxbIk3Ds24gVmnhu4d0IE5hbSBuw6BvIG5nb24gbmjh
uqV0IHbhu5tpIGLhuqFuPyIsIldoaWNoIFZpZXRuYW1lc2UgZGlzaCBpcyB0aGUgYmVzdCB0byB5b3U/Il0sWyJC4bqhbiBjw7MgaGF5IG7huqV1IMSDbiBr
aMO0bmc/IiwiRG8geW91IGNvb2sgb2Z0ZW4/Il0sWyJIw7RtIG5heSBi4bqhbiDEg24gZ8OsIHLhu5NpPyIsIldoYXQgZGlkIHlvdSBlYXQgdG9kYXk/Il1d
IH0sCiAgZmFtaWx5OiB7IG1hdGNoOiAvZ2lhIMSRw6xuaHxi4buRIG3hurl8w7RuZyBiw6B8aOG7jSBow6BuZ3xi4buRIHTDtGl8beG6uSB0w7RpfGFuaCB0
cmFpfGNo4buLIGfDoWl8ZW0gdHJhaXxlbSBnw6FpL2ksIG5hbWU6ICJnaWEgxJHDrG5oIiwKICAgIHE6IFtbIkdpYSDEkcOsbmggYuG6oW4gY8OzIG3huqV5
IG5nxrDhu51pPyIsIkhvdyBtYW55IHBlb3BsZSBhcmUgaW4geW91ciBmYW1pbHk/Il0sWyJC4bqhbiBoYXkgbMOgbSBnw6wgduG7m2kgZ2lhIMSRw6xuaD8i
LCJXaGF0IGRvIHlvdSBsaWtlIGRvaW5nIHdpdGggeW91ciBmYW1pbHk/Il0sWyJC4bqhbiBnaeG7kW5nIGLhu5EgaGF5IGdp4buRbmcgbeG6uSBoxqFuPyIs
IkRvIHlvdSB0YWtlIGFmdGVyIHlvdXIgZGFkIG9yIHlvdXIgbW9tIG1vcmU/Il1dIH0sCiAgdHJhdmVsOiB7IG1hdGNoOiAvZHUgbOG7i2NofGJp4buDbnxu
w7ppfMSRaSBjaMahaXxo4bqhIGxvbmd8xJHDoCBu4bq1bmd8c2EgcGF8aHXhur98bcOheSBiYXl8a2jDoWNoIHPhuqFufGNodXnhur9uIMSRaS9pLCBuYW1l
OiAiZHUgbOG7i2NoIiwKICAgIHE6IFtbIkLhuqFuIG114buRbiDEkWkgZHUgbOG7i2NoIOG7nyDEkcOidT8iLCJXaGVyZSBkbyB5b3Ugd2FudCB0byB0cmF2
ZWw/Il0sWyJC4bqhbiDEkcOjIMSRaSBI4bqhIExvbmcgYmFvIGdp4budIGNoxrBhPyIsIkhhdmUgeW91IGV2ZXIgYmVlbiB0byBI4bqhIExvbmc/Il0sWyLE
kGkgZHUgbOG7i2NoIGLhuqFuIHRow61jaCBsw6BtIGfDrD8iLCJXaGF0IGRvIHlvdSBsaWtlIGRvaW5nIHdoZW4geW91IHRyYXZlbD8iXV0gfSwKICBtb3Zp
ZXM6IHsgbWF0Y2g6IC9waGltfGRp4buFbiB2acOqbnxy4bqhcHx4ZW0gcGhpbXxow6BpfGtpbmggZOG7iy9pLCBuYW1lOiAicGhpbSIsCiAgICBxOiBbWyJC
4bqhbiB0aMOtY2ggeGVtIHBoaW0gZ8OsPyIsIldoYXQgbW92aWVzIGRvIHlvdSBsaWtlPyJdLFsiR+G6p24gxJHDonkgYuG6oW4geGVtIGfDrD8iLCJXaGF0
IGRpZCB5b3Ugd2F0Y2ggcmVjZW50bHk/Il0sWyJC4bqhbiBjw7MgZGnhu4VuIHZpw6puIHnDqnUgdGjDrWNoIGtow7RuZz8iLCJEbyB5b3UgaGF2ZSBhIGZh
dm9yaXRlIGFjdG9yPyJdXSB9LAogIHN0dWR5OiB7IG1hdGNoOiAvaOG7jWN8dGnhur9uZyB2aeG7h3R8dOG7qyBt4bubaXx0csaw4budbmd8bOG7m3B8YsOg
aXxraMOzIHF1w6EvaSwgbmFtZTogImjhu41jIiwKICAgIHE6IFtbIlNhbyBi4bqhbiBo4buNYyB0aeG6v25nIFZp4buHdD8iLCJXaHkgYXJlIHlvdSBsZWFy
bmluZyBWaWV0bmFtZXNlPyJdLFsiQuG6oW4gaOG7jWMgdGnhur9uZyBWaeG7h3QgxJHGsOG7o2MgYmFvIGzDonUgcuG7k2k/IiwiSG93IGxvbmcgaGF2ZSB5
b3Ugc3R1ZGllZCBWaWV0bmFtZXNlPyJdLFsiQ8OhaSBnw6wga2jDsyBuaOG6pXQgduG7m2kgYuG6oW4/IiwiV2hhdCBpcyB0aGUgaGFyZGVzdCBwYXJ0IGZv
ciB5b3U/Il1dIH0sCiAgd29yazogeyBtYXRjaDogL2zDoG0gdmnhu4djfGPDtG5nIHR5fGPDtG5nIHZp4buHY3xi4bqtbnzEkWkgbMOgbXxuZ2jhu4F8c+G6
v3B8bMawxqFuZy9pLCBuYW1lOiAiY8O0bmcgdmnhu4djIiwKICAgIHE6IFtbIkLhuqFuIGzDoG0gbmdo4buBIGfDrD8iLCJXaGF0IHdvcmsgZG8geW91IGRv
PyJdLFsiROG6oW8gbsOgeSBi4bqhbiBjw7MgYuG6rW4ga2jDtG5nPyIsIkFyZSB5b3UgYnVzeSB0aGVzZSBkYXlzPyJdLFsiQuG6oW4gbXXhu5FuIGzDoG0g
bmdo4buBIGfDrCBzYXUgbsOgeT8iLCJXaGF0IGpvYiBkbyB5b3Ugd2FudCBpbiB0aGUgZnV0dXJlPyJdXSB9LAogIHdlZWtlbmQ6IHsgbWF0Y2g6IC9jdeG7
kWkgdHXhuqdufHRo4bupIGLhuqN5fGNo4bunIG5o4bqtdHxo4bq5bnxy4bqjbmh8bmdo4buJL2ksIG5hbWU6ICJjdeG7kWkgdHXhuqduIiwKICAgIHE6IFtb
IkN14buRaSB0deG6p24gYuG6oW4gdGjGsOG7nW5nIGzDoG0gZ8OsPyIsIldoYXQgZG8geW91IHVzdWFsbHkgZG8gb24gd2Vla2VuZHM/Il0sWyJDdeG7kWkg
dHXhuqduIG7DoHkgYuG6oW4gY8OzIGjhurluIGtow7RuZz8iLCJEbyB5b3UgaGF2ZSBwbGFucyB0aGlzIHdlZWtlbmQ/Il0sWyJDdeG7kWkgdHXhuqduIGLh
uqFuIG114buRbiDEkWkgxJHDonU/IiwiV2hlcmUgZG8geW91IHdhbnQgdG8gZ28gdGhpcyB3ZWVrZW5kPyJdXSB9LAogIGhvbWU6IHsgbWF0Y2g6IC9uaMOg
fHPhu5FuZyDhu598cXXDqnx0aMOgbmggcGjhu5F8aMOgbmcgeMOzbXxjaHV54buDbiBuaMOgL2ksIG5hbWU6ICJuaMOgIiwKICAgIHE6IFtbIkLhuqFuIHPh
u5FuZyDhu58gxJHDonU/IiwiV2hlcmUgZG8geW91IGxpdmU/Il0sWyJRdcOqIGLhuqFuIOG7nyDEkcOidT8iLCJXaGVyZSBpcyB5b3VyIGhvbWV0b3duPyJd
LFsiQuG6oW4gY8OzIG5o4bubIHF1w6oga2jDtG5nPyIsIkRvIHlvdSBtaXNzIHlvdXIgaG9tZXRvd24/Il1dIH0sCiAgaG9iYnk6IHsgbWF0Y2g6IC9z4buf
IHRow61jaHx0aOG7gyB0aGFvfGLDs25nIMSRw6F8bmjhuqFjfGjDoXR8xJHhu41jIHPDoWNofGNoxqFpIGdhbWV8Y2jhu6VwIOG6o25ofHbhur0vaSwgbmFt
ZTogInPhu58gdGjDrWNoIiwKICAgIHE6IFtbIlPhu58gdGjDrWNoIGPhu6dhIGLhuqFuIGzDoCBnw6w/IiwiV2hhdCBpcyB5b3VyIGhvYmJ5PyJdLFsiQuG6
oW4gY8OzIGhheSBjaMahaSB0aOG7gyB0aGFvIGtow7RuZz8iLCJEbyB5b3UgcGxheSBzcG9ydHMgb2Z0ZW4/Il0sWyJC4bqhbiB0aMOtY2ggbmdoZSBuaOG6
oWMgZ8OsPyIsIldoYXQgbXVzaWMgZG8geW91IGxpa2U/Il1dIH0sCiAgdmlldG5hbTogeyBtYXRjaDogL3Zp4buHdCBuYW18aMOgIG7hu5lpfHPDoGkgZ8Oy
bnx04bq/dHzDoW8gZMOgaXx2xINuIGjDs2F8cGjhu5EgY+G7lS9pLCBuYW1lOiAiVmnhu4d0IE5hbSIsCiAgICBxOiBbWyJC4bqhbiBtdeG7kW4gxJFpIMSR
w6J1IOG7nyBWaeG7h3QgTmFtPyIsIldoZXJlIGluIFZpZXRuYW0gZG8geW91IHdhbnQgdG8gdmlzaXQ/Il0sWyJC4bqhbiB0aMOtY2ggZ8OsIG5o4bqldCB2
4buBIHbEg24gaMOzYSBWaeG7h3QgTmFtPyIsIldoYXQgZG8geW91IGxpa2UgbW9zdCBhYm91dCBWaWV0bmFtZXNlIGN1bHR1cmU/Il0sWyJC4bqhbiDEkcOj
IMSDbiBU4bq/dCDhu58gVmnhu4d0IE5hbSBiYW8gZ2nhu50gY2jGsGE/IiwiSGF2ZSB5b3UgZXZlciBjZWxlYnJhdGVkIFThur90IGluIFZpZXRuYW0/Il1d
IH0sCiAgZmVlbGluZ3M6IHsgbWF0Y2g6IC92dWl8YnXhu5NufG3hu4d0fG5o4bubfGjhuqFuaCBwaMO6Y3xjaMOhbnxsb3xjxINuZyB0aOG6s25nfGJ14buT
biBuZ+G7py9pLCBuYW1lOiAiY+G6o20geMO6YyIsCiAgICBxOiBbWyJIw7RtIG5heSBi4bqhbiB0aOG6pXkgdGjhur8gbsOgbz8iLCJIb3cgZG8geW91IGZl
ZWwgdG9kYXk/Il0sWyJMw7pjIG3hu4d0IGLhuqFuIHRoxrDhu51uZyBsw6BtIGfDrD8iLCJXaGF0IGRvIHlvdSBkbyB3aGVuIHlvdSBhcmUgdGlyZWQ/Il0s
WyJLaGkgbsOgbyBi4bqhbiB0aOG6pXkgaOG6oW5oIHBow7pjIG5o4bqldD8iLCJXaGVuIGRvIHlvdSBmZWVsIGhhcHBpZXN0PyJdXSB9Cn07CmNvbnN0IEZU
X1JFQUNUID0gW1siw4AsIHRo4bq/IMOgPyIsIk9oLCByZWFsbHk/Il0sWyJIYXkgcXXDoSEiLCJIb3cgaW50ZXJlc3RpbmchIl0sWyLhu5IsIHRow61jaCB0
aOG6vyEiLCJPb2gsIG5pY2UhIl0sWyJSYSB24bqteS4iLCJJIHNlZS4iXSxbIlRo4bqtdCDDoT8iLCJSZWFsbHk/Il0sWyJIYWhhLCBoYXkgxJHhuqV5ISIs
IkhhaGEsIGdyZWF0ISJdXTsKY29uc3QgRlRfU0VMRiA9IFsKICBbL3TDqm4gbMOgIGfDrHx0w6puIGfDrHxi4bqhbiB0w6puL2ksIFsiTcOsbmggdMOqbiBs
w6AgVmnhu4d0IFF1ZXN0ISIsIk15IG5hbWUgaXMgVmnhu4d0IFF1ZXN0ISJdXSwKICBbL23huqV5IHR14buVaXxiYW8gbmhpw6p1IHR14buVaS9pLCBbIk3D
rG5oIG3hu5l0IHR14buVaSB0aMO0aS4gTcOsbmggbMOgIGdhbWUgZW0gYsOpIG3DoCEgSGFoYS4iLCJJIGFtIG9ubHkgb25lIHllYXIgb2xkLiBJIGFtIGEg
YmFieSBnYW1lISBIYWhhLiJdXSwKICBbL3Phu5FuZyDhu58gxJHDonV84bufIMSRw6J1IHRo4bq/fGLhuqFuIOG7nyDEkcOidS9pLCBbIk3DrG5oIHPhu5Fu
ZyDhu58gdHJvbmcgbcOheSB0w61uaCEiLCJJIGxpdmUgaW5zaWRlIHRoZSBjb21wdXRlciEiXV0sCiAgWy/EkWFuZyBsw6BtIGfDrHxsw6BtIGfDrCDEkeG6
pXl8bMOgbSBnw6wgdGjhur8vaSwgWyJNw6xuaCDEkWFuZyBuw7NpIGNodXnhu4duIHbhu5tpIGLhuqFuLiBWdWkgbOG6r20hIiwiSSBhbSB0YWxraW5nIHdp
dGggeW91IHJpZ2h0IG5vdy4gSXQgaXMgZnVuISJdXSwKICBbL2LhuqFuICg/OmPDsyApP3Row61jaCAuKmtow7RuZy9pLCBbIkPDsywgbcOsbmggdGjDrWNo
IGzhuq9tISBDw7JuIGLhuqFuPyIsIlllcywgSSByZWFsbHkgbGlrZSBpdCEgSG93IGFib3V0IHlvdT8iXV0KXTsKbGV0IEYgPSB7IGxvZzogW10sIHRvcGlj
OiBudWxsLCBxaToge30sIHVzZWQ6IFtdLCBoaXN0OiBbXSwgYXV0bzogZmFsc2UsIGJ1c3k6IGZhbHNlIH07CmZ1bmN0aW9uIG9wZW5GcmVlKCkgewogIGlm
IChaLm9uKSB6YWxvRXhpdCgpOwogIEYgPSB7IGxvZzogW10sIHRvcGljOiBudWxsLCBxaToge30sIHVzZWQ6IFtdLCBoaXN0OiBbXSwgYXV0bzogRi5hdXRv
LCBidXN5OiBmYWxzZSB9OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdENoYXQiKS5pbm5lckhUTUwgPSAiIjsKICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZnRTdGF0dXMiKS50ZXh0Q29udGVudCA9ICIiOwogIHJlbmRlckZ0RW5naW5lKCk7CiAgc2hvdygiZnJlZSIpOwogIGZ0Qm90KCJDaMOgbyBi4bqh
biEgTcOsbmggbMOgIGLhuqFuIFZp4buHdCBj4bunYSBi4bqhbi4gSMO0bSBuYXkgYuG6oW4gbXXhu5FuIG7Ds2kgY2h1eeG7h24gduG7gSBnw6w/IE7Ds2kg
Z8OsIGPFqW5nIMSRxrDhu6NjIG5ow6khIiwgIkhlbGxvISBJIGFtIHlvdXIgVmlldG5hbWVzZSBmcmllbmQuIFdoYXQgZG8geW91IHdhbnQgdG8gdGFsayBh
Ym91dCB0b2RheT8gQW55dGhpbmcgZ29lcyEiKTsKICBzZXRUaW1lb3V0KHZxTGluaE9mZmVyLCA0MDApOwogIGNvbnN0IGlucCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmdFRleHQiKTsKICBpbnAub25rZXlkb3duID0gZSA9PiB7IGlmIChlLmtleSA9PT0gIkVudGVyIikgZnRTZW5kVGV4dCgpOyB9Owp9CmZ1
bmN0aW9uIGZ0QnViYmxlKHdobywga3IsIGVuLCBleHRyYSkgewogIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBkLmNsYXNz
TmFtZSA9ICJtc2cgIiArIHdobzsKICBpZiAod2hvID09PSAibnBjIikgewogICAgZC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0id2hvIj4ke3ZxQWlPbigp
ID8gIuKcqCBMaW5oIiA6ICLwn6SWIELhuqFuIFZp4buHdCJ9PC9kaXY+JHtrcn0gPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO2ZvbnQtc2l6
ZToxMnB4Ij7wn5SKPC9zcGFuPmAgKyAoZW4gPyBgPGRpdiBjbGFzcz0ibWVuIj4ke2VufTwvZGl2PmAgOiAiIik7CiAgICBkLm9uY2xpY2sgPSAoKSA9PiBz
YXkoa3IpOwogIH0gZWxzZSB7CiAgICBkLmlubmVySFRNTCA9IGtyICsgKGV4dHJhID8gYDxkaXYgY2xhc3M9InNjb3JlIj4ke2V4dHJhfTwvZGl2PmAgOiAi
Iik7CiAgICBkLm9uY2xpY2sgPSAoKSA9PiBzYXkoa3IpOwogIH0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnRDaGF0IikuYXBwZW5kQ2hpbGQoZCk7
CiAgZC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAic21vb3RoIiwgYmxvY2s6ICJuZWFyZXN0IiB9KTsKfQpmdW5jdGlvbiBmdEJvdChrciwgZW4sIGZp
eCkgewogIEYubG9nLnB1c2goeyB3aG86ICJucGMiLCBrciwgZW4gfSk7CiAgRi5oaXN0LnB1c2goeyByb2xlOiAiYXNzaXN0YW50IiwgY29udGVudDoga3Ig
fSk7CiAgZnRCdWJibGUoIm5wYyIsIGtyLCBlbik7CiAgaWYgKGZpeCkgewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwog
ICAgZC5jbGFzc05hbWUgPSAiZml4bGluZSI7CiAgICBkLmlubmVySFRNTCA9IGDwn5KhICR7Zml4fWA7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZnRDaGF0IikuYXBwZW5kQ2hpbGQoZCk7CiAgfQogIHNheShrciwgMC45MiwgKCkgPT4geyBpZiAoRi5hdXRvKSBzZXRUaW1lb3V0KGZ0TGlzdGVuLCAzMDAp
OyB9KTsKfQphc3luYyBmdW5jdGlvbiBmdFVzZXIodGV4dCkgewogIGlmICghdGV4dCB8fCBGLmJ1c3kpIHJldHVybjsKICBGLmJ1c3kgPSB0cnVlOwogIEYu
aGlzdC5wdXNoKHsgcm9sZTogInVzZXIiLCBjb250ZW50OiB0ZXh0IH0pOwogIGZ0QnViYmxlKCJtZSIsIHRleHQpOwogIGdhaW5YcCgzKTsgZmxvYXRGeCgi
KzMgWFAiLCAiIzJGN0Q0RiIpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdFN0YXR1cyIpLnRleHRDb250ZW50ID0gIuKApiI7CiAgdHJ5IHsKICAg
IGNvbnN0IHIgPSB2cUFpT24oKSA/IGF3YWl0IGZ0Q2xhdWRlUmVwbHkodGV4dCkgOiBmdEJ1aWx0aW5SZXBseSh0ZXh0KTsKICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmdFN0YXR1cyIpLnRleHRDb250ZW50ID0gIiI7CiAgICBmdEJvdChyLmtyLCByLmVuLCByLmZpeCk7CiAgICBpZiAoIXZxQWlPbigpICYm
IGFpT3B0SW4oKSkgewogICAgICBGLmJjb3VudCA9IChGLmJjb3VudCB8fCAwKSArIDE7CiAgICAgIGlmIChGLmJjb3VudCA9PT0gMikgc2V0VGltZW91dCgo
KSA9PiB7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0U3RhdHVzIikuaW5uZXJIVE1MID0KICAgICAgICAgIGDwn5KhIFRpcDogSSBhbSBh
IHNpbXBsZSBwcmFjdGljZSBwYXJ0bmVyLiBUbyB0YWxrIHdpdGggYSBwYXJ0bmVyIHdobyBhbnN3ZXJzIGFueXRoaW5nIGFuZCBhc2tzIHlvdSBiYWNrLCB0
YXAgPGI+8J+kliBCdWlsdC1pbjwvYj4gYWJvdmUgYW5kIHR1cm4gb24g4pyoIExpbmguYDsKICAgICAgfSwgMTIwMCk7CiAgICB9CiAgfSBjYXRjaCAoZSkg
ewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0U3RhdHVzIikudGV4dENvbnRlbnQgPSAi4pqg77iPIEFJIGVycm9yICgiICsgKGUubWVzc2FnZSB8
fCBlKS50b1N0cmluZygpLnNsaWNlKDAsIDYwKSArICIpIOKAlCB1c2luZyBidWlsdC1pbiBicmFpbi4iOwogICAgY29uc3QgciA9IGZ0QnVpbHRpblJlcGx5
KHRleHQpOwogICAgZnRCb3Qoci5rciwgci5lbik7CiAgfQogIEYuYnVzeSA9IGZhbHNlOwp9Ci8qIC0tLSBFbmdpbmUgMTogYnVpbHQtaW4gYnJhaW4gLS0t
ICovCi8qIENvbnRleHQgaGVscGVyczogZWNobyB3aGF0IHRoZSBzcGVha2VyIGFjdHVhbGx5IHNhaWQsIHdhcm1seSAqLwpmdW5jdGlvbiB2aUVjaG8oeCkg
eyByZXR1cm4geCArICIgw6A/IjsgfSAvLyBwaOG7nyDihpIgcGjhu58gw6A/LCDEkMOgIE7hurVuZyDihpIgxJDDoCBO4bq1bmcgw6A/CmZ1bmN0aW9uIGNs
ZWFuU2FpZCh4KSB7CiAgcmV0dXJuICh4IHx8ICIiKS5yZXBsYWNlKC9eKD86KD86bcOsbmh8dMO0aXxlbXxhbmh8Y2jhu4t8Y29ufGNow6F1fGLhuqFufGjD
tG0gbmF5fGjDtG0gcXVhfG5nw6B5IG1haXxiw6J5IGdp4budfGThuqFvIG7DoHl8dGjDrHxsw6B8w6B84burfOG7q218ZOG6oXx2w6JuZ3xy4bqldHxjxalu
ZylccyspKy9pLCAiIikudHJpbSgpOwp9Ci8qIFVuZGVyc3RhbmRpbmcgcnVsZXMg4oCUIHJlYWN0IHRvIHRoZSBDT05URU5UIG9mIHRoZSBzZW50ZW5jZSwg
bm90IGp1c3QgaXRzIHRvcGljLgogICBFYWNoIHJldHVybnMge2tyLGVufSBlY2hvaW5nIHRoZSB0aGluZyB0aGUgc3BlYWtlciBtZW50aW9uZWQuICovCmNv
bnN0IEZUX1JVTEVTID0gWwogIHsgcmU6IC9tdeG7kW5ccysoPzrEkWl8xJHhur9ufHbhu4F8dGjEg20pXHMrKFthLXpBLVrDgC3hu7kwLTkgXXsxLDIwfT8p
XHMqKD86Y2jGoWl8ZHUgbOG7i2NoKT9ccyokL2ksCiAgICBnZW46IChtLCB2KSA9PiB7IGNvbnN0IHggPSBjbGVhblNhaWQobVsxXSk7IGlmICgheCkgcmV0
dXJuIG51bGw7CiAgICAgIGNvbnN0IEsgPSBbYCR7dmlFY2hvKHgpfSBUaMOtY2ggdGjhur8hIELhuqFuIG114buRbiBsw6BtIGfDrCDhu58gJHt4fT9gLCBg
4buSLCAke3h9ISBCYW8gZ2nhu50gYuG6oW4gbXXhu5FuIMSRaT9gLCBgJHt2aUVjaG8oeCl9IE3DrG5oIGPFqW5nIG114buRbiDEkWkhIELhuqFuIMSRaSB2
4bubaSBhaT9gXTsKICAgICAgY29uc3QgRSA9IFtgJHt4fT8gSG93IG5pY2UhIFdoYXQgZG8geW91IHdhbnQgdG8gZG8gaW4gJHt4fT9gLCBgT29oLCAke3h9
ISBXaGVuIGRvIHlvdSB3YW50IHRvIGdvP2AsIGAke3h9PyBJIHdhbnQgdG8gZ28gdG9vISBXaG8gd2lsbCB5b3UgZ28gd2l0aD9gXTsKICAgICAgcmV0dXJu
IHsga3I6IEtbdiAlIDNdLCBlbjogRVt2ICUgM10gfTsgfSB9LAogIHsgcmU6IC9tdeG7kW5ccyvEg25ccysoW2EtekEtWsOALeG7uTAtOSBdezEsMjB9Pylc
cyokL2ksCiAgICBnZW46IG0gPT4geyBjb25zdCB4ID0gY2xlYW5TYWlkKG1bMV0pOyBpZiAoIXgpIHJldHVybiBudWxsOwogICAgICByZXR1cm4geyBrcjog
YCR7dmlFY2hvKHgpfSBOZ2hlIG5nb24gcXXDoSEgQuG6oW4gY8OzIGhheSDEg24gJHt4fSBraMO0bmc/YCwgZW46IGAke3h9PyBTb3VuZHMgZGVsaWNpb3Vz
ISBEbyB5b3UgZWF0ICR7eH0gb2Z0ZW4/YCB9OyB9IH0sCiAgeyByZTogL2tow7RuZ1xzK3Row61jaFxzKyhbYS16QS1aw4At4bu5MC05IF17MSwyMH0/KVxz
Kig/Omzhuq9tfMSRw6J1KT9ccyokL2ksCiAgICBnZW46IG0gPT4geyBjb25zdCB4ID0gY2xlYW5TYWlkKG1bMV0pOwogICAgICByZXR1cm4geyBrcjogeCA/
IGDDgCwgYuG6oW4ga2jDtG5nIHRow61jaCAke3h9IMOgPyBUaOG6vyBi4bqhbiB0aMOtY2ggZ8OsIGjGoW4/YCA6ICLDgCwga2jDtG5nIHRow61jaCDDoD8g
VGjhur8gYuG6oW4gdGjDrWNoIGfDrCBoxqFuPyIsIGVuOiAiT2gsIG5vdCBhIGZhbj8gVGhlbiB3aGF0IGRvIHlvdSBsaWtlIGJldHRlcj8iIH07IH0gfSwK
ICB7IHJlOiAvKD86cuG6pXRccyt8dGjhuq10XHMrKT8oPzp0aMOtY2h8ecOqdSlccysoW2EtekEtWsOALeG7uTAtOSBdezEsMjB9PylccyooPzps4bqvbXxu
aOG6pXQpP1xzKiQvaSwKICAgIGdlbjogKG0sIHYpID0+IHsgY29uc3QgeCA9IGNsZWFuU2FpZChtWzFdKTsgaWYgKCF4KSByZXR1cm4gbnVsbDsKICAgICAg
Y29uc3QgSyA9IFtgTcOsbmggY8WpbmcgdGjDrWNoICR7eH0hIFNhbyBi4bqhbiB0aMOtY2ggJHt4fT9gLCBgJHt2aUVjaG8oeCl9IEhheSB0aOG6vyEgQuG6
oW4gdGjDrWNoICR7eH0gdOG7qyBiYW8gZ2nhu50/YF07CiAgICAgIGNvbnN0IEUgPSBbYEkgbGlrZSAke3h9IHRvbyEgV2h5IGRvIHlvdSBsaWtlIGl0P2As
IGAke3h9PyBOaWNlISBTaW5jZSB3aGVuIGhhdmUgeW91IGxpa2VkIGl0P2BdOwogICAgICByZXR1cm4geyBrcjogS1t2ICUgMl0sIGVuOiBFW3YgJSAyXSB9
OyB9IH0sCiAgeyByZTogL14oPzrEkcOjXHMrfHbhu6thXHMrfG3hu5tpXHMrKT8oxINufHXhu5FuZ3x4ZW18xJFpfG11YXxn4bq3cHx0aOG7rXxo4buNYylc
cysoW2EtekEtWsOALeG7uTAtOSBdezEsMjB9PylccyooPzpy4buTaXx4b25nKT9ccyokL2ksCiAgICBnZW46IG0gPT4geyBjb25zdCB4ID0gY2xlYW5TYWlk
KG1bMl0pOyBpZiAoIXgpIHJldHVybiBudWxsOwogICAgICBjb25zdCBlYXQgPSAvXijEg258deG7kW5nKSQvaS50ZXN0KG1bMV0pOwogICAgICByZXR1cm4g
ZWF0ID8geyBrcjogYOG7kiwgJHt4fSEgTmdvbiBraMO0bmc/IELhuqFuIMSDbiDhu58gxJHDonU/YCwgZW46IGBPaCwgJHt4fSEgV2FzIGl0IGdvb2Q/IFdo
ZXJlIGRpZCB5b3UgZWF0P2AgfQogICAgICAgICAgICAgICAgIDogeyBrcjogYOG7kiwgJHt4fSEgVGjhur8gbsOgbz8gQ8OzIHZ1aSBraMO0bmc/YCwgZW46
IGBPaCwgJHt4fSEgSG93IHdhcyBpdD8gV2FzIGl0IGdvb2Q/YCB9OyB9IH0sCiAgeyByZTogL2tow7N8duG6pXQgduG6o3xraMOzIHF1w6EvaSwKICAgIGdl
bjogKCkgPT4gKHsga3I6ICJLaMO0bmcgc2FvIMSRw6J1LCB04burIHThu6sgbMOgIMSRxrDhu6NjISBDw6FpIGfDrCBraMOzIG5o4bqldCB24bubaSBi4bqh
bj8iLCBlbjogIkl0IGlzIG9rYXkg4oCUIHNsb3cgYW5kIHN0ZWFkeSEgV2hhdCBpcyB0aGUgaGFyZGVzdCBwYXJ0IGZvciB5b3U/IiB9KSB9LAogIHsgcmU6
IC9t4buHdHxideG7k24gbmfhu6cvaSwKICAgIGdlbjogKCkgPT4gKHsga3I6ICLDlGksIG3hu4d0IMOgPyBIw7RtIG5heSBuZ2jhu4kgc+G7m20gbmjDqSEg
QuG6oW4gdGjGsOG7nW5nIG5n4bunIGzDumMgbeG6pXkgZ2nhu50/IiwgZW46ICJPaCBubywgdGlyZWQ/IFJlc3QgZWFybHkgdG9kYXkhIFdoYXQgdGltZSBk
byB5b3UgdXN1YWxseSBzbGVlcD8iIH0pIH0sCiAgeyByZTogL3Ro4bq/IG7DoG9cPz9ccyokfG5naMSpIHNhby9pLAogICAgZ2VuOiAoKSA9PiAoeyBrcjog
IuG7qm0sIG3DrG5oIHRo4bqleSBoYXkgbOG6r20hIE3DoCBzYW8gYuG6oW4gaOG7j2kgdGjhur8/IE3DrG5oIHTDsiBtw7IhIiwgZW46ICJIbW0sIEkgdGhp
bmsgaXQgaXMgZ3JlYXQhIEJ1dCB3aHkgZG8geW91IGFzaz8gSSBhbSBjdXJpb3VzISIgfSkgfSwKXTsKZnVuY3Rpb24gZnRQaWNrUShrZXksIHVzZXJUZXh0
KSB7CiAgY29uc3QgdCA9IEZUX1RPUElDU1trZXldOwogIGxldCBpID0gRi5xaVtrZXldIHx8IDA7CiAgd2hpbGUgKGkgPCB0LnEubGVuZ3RoKSB7CiAgICBj
b25zdCBxID0gdC5xW2ldOyBpKys7CiAgICBGLnFpW2tleV0gPSBpOwogICAgaWYgKHVzZXJUZXh0ICYmIHNoYXJlc1dvcmQocVswXSwgdXNlclRleHQpKSBj
b250aW51ZTsgLy8gZG8gbm90IGFzayB3aGF0IHRoZXkganVzdCB0b2xkIHVzCiAgICByZXR1cm4gcTsKICB9CiAgcmV0dXJuIG51bGw7Cn0KZnVuY3Rpb24g
c2hhcmVzV29yZChxdWVzdGlvbiwgdGV4dCkgewogIGNvbnN0IHdvcmRzID0gY2xlYW5Lcih0ZXh0IHx8ICIiKS5zcGxpdCgiICIpLmZpbHRlcih3ID0+IHcu
bGVuZ3RoID49IDMpOwogIHJldHVybiB3b3Jkcy5zb21lKHcgPT4gY2xlYW5LcihxdWVzdGlvbikuaW5jbHVkZXModykpOwp9CmZ1bmN0aW9uIGZ0QnVpbHRp
blJlcGx5KHRleHQpIHsKICAvKiBCdWlsdC1pbiBwYXJ0bmVyIHYyICgyMDI2LTA5LTE0LCBhZnRlciBUb20ncyBwaG9uZSB0ZXN0KTogc3RheXMgb24gdGhl
IHRocmVhZAogICAgIHRoZSBsZWFybmVyIGlzIG9uLCBuZXZlciBhc2tzIHRoZSBzYW1lIHF1ZXN0aW9uIHR3aWNlLCBuZXZlciByZXBlYXRzIGl0c2VsZiwK
ICAgICB1bmRlcnN0YW5kcyAiSSBkb24ndCBrbm93IiAvICJzYXkgdGhhdCBhZ2FpbiIgLyAiY2FuIHdlIGtlZXAgdGFsa2luZyIsCiAgICAgcmVtZW1iZXJz
IHRoZSBsZWFybmVyJ3MgbmFtZSwgYW5kIHJlYWRzIGxvbmcgYW5zd2VycyBhcyBhbnN3ZXJzIGluc3RlYWQgb2YKICAgICBmaXNoaW5nIGZvciBhIHJhbmRv
bSBuZXcgdG9waWMuICovCiAgY29uc3QgcmF3ID0gKHRleHQgfHwgIiIpLnRyaW0oKTsKICBjb25zdCB0ID0gcmF3LnRvTG93ZXJDYXNlKCk7CiAgRi5hc2tl
ZCA9IEYuYXNrZWQgfHwgW107IEYudHVybiA9IChGLnR1cm4gfHwgMCkgKyAxOyBGLnJlYWN0SSA9IEYucmVhY3RJIHx8IDA7CiAgY29uc3Qgc2FpZCA9IHIg
PT4geyBGLmxhc3RLciA9IHIua3I7IEYubGFzdFEgPSByLnEgfHwgbnVsbDsgaWYgKHIucSkgRi5hc2tlZC5wdXNoKHIucVswXSk7IHJldHVybiB7IGtyOiBy
LmtyLCBlbjogci5lbiB9OyB9OwogIGNvbnN0IHJlYWN0ID0gKCkgPT4geyBGLnJlYWN0SSA9IChGLnJlYWN0SSArIDEpICUgRlRfUkVBQ1QubGVuZ3RoOyBy
ZXR1cm4gRlRfUkVBQ1RbRi5yZWFjdEldOyB9OwogIGNvbnN0IHdvcmRzID0gdC5zcGxpdCgvXHMrLykuZmlsdGVyKEJvb2xlYW4pOwogIGNvbnN0IG5hbWUg
PSBGLm5hbWUgPyBGLm5hbWUgOiAiYuG6oW4iOwogIC8vIHdob2xlLXdvcmQgdG9waWMgbWF0Y2hpbmcgKCJr4bu5IG7Eg25nIiBtdXN0IG5vdCBsaWdodCB1
cCB0aGUgZm9vZCB0b3BpYyB0aHJvdWdoICLEg24iKQogIGNvbnN0IG5vcm0gPSBzID0+ICIgIiArIChzIHx8ICIiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2Uo
L1suLCE/4oCmOjsiJygpXS9nLCAiICIpLnJlcGxhY2UoL1xzKy9nLCAiICIpLnRyaW0oKSArICIgIjsKICBjb25zdCB0b3BpY09mID0gcyA9PiB7IGNvbnN0
IG4gPSBub3JtKHMpOyBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXMoRlRfVE9QSUNTKSkgaWYgKEZUX1RPUElDU1trXS5tYXRjaC5zb3VyY2Uuc3BsaXQo
InwiKS5zb21lKGFsdCA9PiBuLmluY2x1ZGVzKCIgIiArIGFsdC50b0xvd2VyQ2FzZSgpICsgIiAiKSkpIHJldHVybiBrOyByZXR1cm4gbnVsbDsgfTsKICAv
LyAiZGlkIHRoZXkgYWxyZWFkeSB0ZWxsIHVzIHRoaXM/IiDigJQgY29tcGFyZSBDT05URU5UIHdvcmRzIG9ubHksIG5ldmVyIHByb25vdW5zL3BhcnRpY2xl
cwogIGNvbnN0IFNUT1AgPSAvXihi4bqhbnxtw6xuaHx0w7RpfGVtfGFuaHxjaOG7i3xjb258Y2jDoXV8cuG6pXR8dnVpfMSRxrDhu6NjfGfhurdwfGNow6Bv
fHhpbnxsw6B8Y8OzfGtow7RuZ3xnw6x8Y+G7p2F8dsOgfHRow6x8aMO0bXxuYXl8Y8Wpbmd8bOG6r218cXXDoXxuaMOpfG5o4buJfMOgfOG6oXzGoWl8duG7
m2l8Y2hvfHbhu4F8dGjhur98bsOgb3xoYXl8xJHDonV8a2hpfGzDumN8bsOgeXzEkcOzfMSR4bqleXxt4buZdHxoYWl8YmF8bmjhu69uZ3xjw6FjfMSRw6N8
xJFhbmd8c+G6vXxy4buTaXxjaMawYXxtw6B8bmjGsG5nfHbDrHxuw6pufMSR4buDfHThu6t8YmFvfGdp4budfG3huqV5fG5o4bqldHxoxqFuKSQvOwogIGNv
bnN0IGNvbnRlbnQgPSBzID0+IG5vcm0ocykudHJpbSgpLnNwbGl0KCIgIikuZmlsdGVyKHcgPT4gdy5sZW5ndGggPj0gMyAmJiAhU1RPUC50ZXN0KHcpKTsK
ICBjb25zdCBvdmVybGFwcyA9IChxLCB0ZXh0KSA9PiB7IGNvbnN0IHF3ID0gY29udGVudChxKSwgdHcgPSBjb250ZW50KHRleHQpOyByZXR1cm4gcXcuc29t
ZSh3ID0+IHR3LmluY2x1ZGVzKHcpKTsgfTsKICBjb25zdCBuZXh0USA9IChrZXksIGF2b2lkVGV4dCkgPT4geyAvLyBmaXJzdCB1bmFza2VkIHF1ZXN0aW9u
IG9mIGEgdG9waWMsIHNraXBwaW5nIHdoYXQgdGhleSBqdXN0IHRvbGQgdXMKICAgIGlmICgha2V5IHx8ICFGVF9UT1BJQ1Nba2V5XSkgcmV0dXJuIG51bGw7
CiAgICBmb3IgKGNvbnN0IHEgb2YgRlRfVE9QSUNTW2tleV0ucSkgewogICAgICBpZiAoRi5hc2tlZC5pbmNsdWRlcyhxWzBdKSkgY29udGludWU7CiAgICAg
IGlmIChhdm9pZFRleHQgJiYgb3ZlcmxhcHMocVswXSwgYXZvaWRUZXh0KSkgeyBGLmFza2VkLnB1c2gocVswXSk7IGNvbnRpbnVlOyB9IC8vIHRoZXkgYW5z
d2VyZWQgaXQgdW5wcm9tcHRlZCDigJQgbmV2ZXIgYXNrIGl0IGxhdGVyCiAgICAgIHJldHVybiBxOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBj
b25zdCBhbnlRID0gYXZvaWRUZXh0ID0+IHsgLy8gY3VycmVudCB0b3BpYyBmaXJzdCwgdGhlbiBhIHJlbGF0ZWQgb25lLCB0aGVuIGFueXRoaW5nIHVuYXNr
ZWQKICAgIGNvbnN0IG9yZGVyID0gW0YudG9waWMsIHRvcGljT2YoYXZvaWRUZXh0IHx8ICIiKV0uZmlsdGVyKEJvb2xlYW4pLmNvbmNhdChzaHVmZmxlKE9i
amVjdC5rZXlzKEZUX1RPUElDUykpKTsKICAgIGZvciAoY29uc3QgayBvZiBvcmRlcikgeyBjb25zdCBxID0gbmV4dFEoaywgYXZvaWRUZXh0KTsgaWYgKHEp
IHsgRi50b3BpYyA9IGs7IHJldHVybiBxOyB9IH0KICAgIHJldHVybiBudWxsOwogIH07CiAgY29uc3QgYXNrID0gKGxlYWQsIHEpID0+IHNhaWQoeyBrcjog
YCR7bGVhZFswXX0gJHtxWzBdfWAsIGVuOiBgJHtsZWFkWzFdfSAke3FbMV19YCwgcSB9KTsKCiAgLy8g4pSA4pSAIHRoZSBib3QgaXRzZWxmLCBnb29kYnll
IOKUgOKUgAogIGlmIChyYXcpIGZvciAoY29uc3QgW3JlLCBhbnNdIG9mIEZUX1NFTEYpIGlmIChyZS50ZXN0KHJhdykpIHJldHVybiBzYWlkKHsga3I6IGFu
c1swXSwgZW46IGFuc1sxXSB9KTsKICBpZiAoL3ThuqFtIGJp4buHdHxjaMOgbyBuaMOpfMSRaSBuZ+G7p3xk4burbmcgbOG6oWl8dGjDtGkgbmjDqXxcYmJ5
ZVxifGjhurluIGfhurdwIGzhuqFpL2kudGVzdCh0KSkgcmV0dXJuIHNhaWQoeyBrcjogYEjDtG0gbmF5IG7Ds2kgY2h1eeG7h24gdnVpIHF1w6EhIEzhuqdu
IHNhdSBtw6xuaCBuw7NpIHRp4bq/cCBuaMOpLiBU4bqhbSBiaeG7h3QgJHtuYW1lfSFgLCBlbjogIlRvZGF5J3MgdGFsayB3YXMgc28gZnVuISBMZXQgdXMg
Y29udGludWUgbmV4dCB0aW1lLiBHb29kYnllISIgfSk7CgogIC8vIOKUgOKUgCAibXkgbmFtZSBpcyDigKYiIOKUgOKUgAogIGNvbnN0IG5tID0gcmF3Lm1h
dGNoKC8oPzptw6xuaHx0w7RpfGVtfGNvbnxjaMOhdXx0w6puIG3DrG5ofHTDqm4gdMO0aSlccysoPzp0w6puXHMrKD86bMOgXHMrKT98bMOgXHMrKShbQS1a
w4At4bu4XVthLXrDoC3hu7ldKyg/OlxzK1tBLVrDgC3hu7hdW2EtesOgLeG7uV0rKT8pLyk7CiAgaWYgKG5tICYmICFGLm5hbWUpIHsKICAgIEYubmFtZSA9
IG5tWzFdLnRyaW0oKTsKICAgIEYudG9waWMgPSAic3R1ZHkiOwogICAgY29uc3QgcSA9IG5leHRRKCJzdHVkeSIsIHJhdykgfHwgbmV4dFEoImhvbWUiLCBy
YXcpIHx8IGFueVEocmF3KSB8fCBGVF9UT1BJQ1Muc3R1ZHkucVswXTsKICAgIHJldHVybiBzYWlkKHsga3I6IGBDaMOgbyAke0YubmFtZX0hIFLhuqV0IHZ1
aSDEkcaw4bujYyBn4bq3cCAke0YubmFtZX0uICR7cVswXX1gLCBlbjogYEhpICR7Ri5uYW1lfSEgTmljZSB0byBtZWV0IHlvdS4gJHtxWzFdfWAsIHEgfSk7
CiAgfQoKICAvLyDilIDilIAga2VlcCBnb2luZyAvIG1vcmUgcGxlYXNlIOKUgOKUgAogIGlmICgvbsOzaSB0aeG6v3B8dGnhur9wIHThu6VjfG7Ds2kgY2h1
eeG7h24gdGjDqm18bsOzaSBu4buvYXxuw7NpIHRow6ptfGjhu49pIHRp4bq/cHxjw7JuIG7hu69hfGNoxrBhIHhvbmd8dGnhur9wIMSRaS9pLnRlc3QodCkp
IHsKICAgIEYuZG9uZSA9IGZhbHNlOwogICAgY29uc3QgcSA9IGFueVEoKSB8fCAoRi5hc2tlZCA9IFtdLCBhbnlRKCkpOwogICAgcmV0dXJuIGFzayhbYMSQ
xrDhu6NjIGNo4bupLCAke25hbWV9ISBNw6xuaCBuw7NpIHRp4bq/cCBuaMOpLmAsICJPZiBjb3Vyc2UhIExldCB1cyBrZWVwIGdvaW5nLiJdLCBxKTsKICB9
CiAgLy8g4pSA4pSAICJJIGRvbid0IGtub3ciIC8gImhvdyB3b3VsZCBJIGtub3ciIOKUgOKUgAogIGlmICgva2jDtG5nIGJp4bq/dHxsw6BtIHNhbyAoPzpt
w6AgKT9iaeG6v3R8Y2jhu4t1IHRow7RpfGtow7RuZyByw7V8a2jDtG5nIG5o4bubL2kudGVzdCh0KSkgewogICAgY29uc3QgcSA9IGFueVEoKTsKICAgIHJl
dHVybiBxID8gYXNrKFsiS2jDtG5nIHNhbywga2jDtG5nIGJp4bq/dCBjxaluZyDEkcaw4bujYyEgTcOsbmggaOG7j2kgY8OidSBraMOhYyBuaMOpOiIsICJO
byB3b3JyaWVzLCB0aGF0IGlzIGZpbmUhIExldCBtZSBhc2sgc29tZXRoaW5nIGVsc2U6Il0sIHEpCiAgICAgICAgICAgICA6IHNhaWQoeyBrcjogIktow7Ru
ZyBzYW8gxJHDonUhIELhuqFuIGvhu4MgZ8OsIGPFqW5nIMSRxrDhu6NjIOKAlCBtw6xuaCBuZ2hlLiIsIGVuOiAiTm8gd29ycmllcyEgVGVsbCBtZSBhbnl0
aGluZyDigJQgSSBhbSBsaXN0ZW5pbmcuIiB9KTsKICB9CiAgLy8g4pSA4pSAICJJIGRvbid0IHVuZGVyc3RhbmQiIC8gInNheSBpdCBhZ2FpbiIg4pSA4pSA
CiAgaWYgKC9raMO0bmcgaGnhu4N1fGNoxrBhIGhp4buDdXxuw7NpIGzhuqFpfG5o4bqvYyBs4bqhaXxsw6AgZ8OsXD8qJHxuZ2jEqWEgbMOgIGfDrC9pLnRl
c3QodCkgJiYgRi5sYXN0USkgewogICAgcmV0dXJuIHNhaWQoeyBrcjogYE3DrG5oIGjhu49pIGzhuqFpIG5ow6ksIGNo4bqtbSB0aMO0aTogJHtGLmxhc3RR
WzBdfWAsIGVuOiBgTGV0IG1lIGFzayBhZ2Fpbiwgc2xvd2x5OiAke0YubGFzdFFbMV19YCwgcTogRi5sYXN0USB9KTsKICB9CiAgLy8g4pSA4pSAIHRoYW5r
cyAvIGNvbXBsaW1lbnRzIOKUgOKUgAogIGlmICgvY+G6o20gxqFufGPDoW0gxqFuL2kudGVzdCh0KSkgewogICAgY29uc3QgcSA9IGFueVEocmF3KTsKICAg
IHJldHVybiBxID8gYXNrKFtgS2jDtG5nIGPDsyBnw6wsICR7bmFtZX0hIE3DrG5oIGPFqW5nIHZ1aSBs4bqvbS5gLCAiWW91IGFyZSB3ZWxjb21lISBJIGVu
am95ZWQgaXQgdG9vLiJdLCBxKQogICAgICAgICAgICAgOiBzYWlkKHsga3I6IGBLaMO0bmcgY8OzIGfDrCwgJHtuYW1lfSEgTcOsbmggY8WpbmcgdnVpIGzh
uq9tLmAsIGVuOiAiWW91IGFyZSB3ZWxjb21lISBJIGVuam95ZWQgaXQgdG9vLiIgfSk7CiAgfQogIGlmICgvKD86YuG6oW58bcOsbmggdGjhuqV5IGLhuqFu
KVxzKyg/OmPFqW5nXHMrKT8oPzpnaeG7j2l8aGF5fHR1eeG7h3R8ZOG7hSB0aMawxqFuZykvaS50ZXN0KHQpKSB7CiAgICBjb25zdCBxID0gYW55UShyYXcp
OwogICAgcmV0dXJuIHEgPyBhc2soWyJIYWhhLCBj4bqjbSDGoW4gbmjDqSEgQuG6oW4gbMOgbSBtw6xuaCB2dWkgcuG7k2kuIiwgIkhhaGEsIHRoYW5rIHlv
dSEgWW91IG1hZGUgbXkgZGF5LiJdLCBxKQogICAgICAgICAgICAgOiBzYWlkKHsga3I6ICJIYWhhLCBj4bqjbSDGoW4gbmjDqSEgQuG6oW4gbMOgbSBtw6xu
aCB2dWkgcuG7k2kuIiwgZW46ICJIYWhhLCB0aGFuayB5b3UhIFlvdSBtYWRlIG15IGRheS4iIH0pOwogIH0KICAvLyDilIDilIAgIlggaXMgdGhlIGhhcmRl
c3QiIOKAlCB0aGV5IGFuc3dlcmVkIHRoZSBkaWZmaWN1bHR5IHF1ZXN0aW9uLCBzbyByZXNwb25kIHRvIFgg4pSA4pSACiAgaWYgKC9raMOzIG5o4bqldHxr
aMOzIHF1w6F8a2jDsyBs4bqvbXx24bqldCB24bqjL2kudGVzdCh0KSkgewogICAgY29uc3Qgd2hpY2ggPSAvbsOzaXxwaMOhdCDDom18dGhhbmggxJFp4buH
dXxk4bqldS9pLnRlc3QodCkgPyBbIm7Ds2kiLCAiTsOzaSDEkcO6bmcgbMOgIGtow7MgbmjhuqV0IOKAlCBuaOG6pXQgbMOgIHRoYW5oIMSRaeG7h3UhIE5o
xrBuZyBi4bqhbiDEkWFuZyBuw7NpIHbhu5tpIG3DrG5oIMSRw6J5LCB04buRdCBy4buTaS4iLCAiU3BlYWtpbmcgaXMgdGhlIGhhcmRlc3Qg4oCUIHRoZSB0
b25lcyBlc3BlY2lhbGx5ISBCdXQgeW91IGFyZSBzcGVha2luZyB0byBtZSByaWdodCBub3csIHNvIHRoYXQgaXMgYSBzdGFydC4iXQogICAgICA6IC9uZ2hl
L2kudGVzdCh0KSA/IFsibmdoZSIsICJOZ2hlIGtow7MgdsOsIG5nxrDhu51pIFZp4buHdCBuw7NpIG5oYW5oIGzhuq9tLiBOZ2hlIG5oaeG7gXUgbMOgIHF1
ZW4gdGjDtGkuIiwgIkxpc3RlbmluZyBpcyBoYXJkIGJlY2F1c2UgVmlldG5hbWVzZSBwZW9wbGUgdGFsayBmYXN0LiBJdCBjb21lcyB3aXRoIHRpbWUuIl0K
ICAgICAgOiAvdmnhur90fGNow61uaCB04bqjfMSRw6FuaCBk4bqldXxnw7UvaS50ZXN0KHQpID8gWyJ2aeG6v3QiLCAiVmnhur90IGThuqV1IMSRw7puZyBr
aMOzIHRo4bqtdCEgQ2jhur8gxJHhu5kgWmFsbyB0cm9uZyBnYW1lIGdpw7pwIGLhuqFuIHThuq1wIMSR4bqleS4iLCAiV3JpdGluZyB0aGUgdG9uZSBtYXJr
cyBjb3JyZWN0bHkgaXMgaGFyZCEgVGhlIFphbG8gbW9kZSBpbiB0aGUgZ2FtZSBpcyBtYWRlIGZvciB0aGF0LiJdCiAgICAgIDogL3Thu6t8dOG7qyB24bux
bmd8bmjhu5svaS50ZXN0KHQpID8gWyJ04burIHbhu7FuZyIsICJU4burIHbhu7FuZyB0aMOsIHBo4bqjaSDDtG4gxJFpIMO0biBs4bqhaS4gQuG6oW4gw7Ru
IG3hu5dpIG5nw6B5IGzDoCBuaOG7my4iLCAiVm9jYWJ1bGFyeSB0YWtlcyByZXBldGl0aW9uLiBSZXZpZXcgYSBsaXR0bGUgZXZlcnkgZGF5IGFuZCBpdCBz
dGlja3MuIl0KICAgICAgOiBudWxsOwogICAgRi50b3BpYyA9ICJzdHVkeSI7CiAgICBpZiAod2hpY2gpIHsgY29uc3QgcSA9IG5leHRRKCJzdHVkeSIsIHJh
dykgfHwgYW55UShyYXcpOyByZXR1cm4gcSA/IHNhaWQoeyBrcjogYCR7d2hpY2hbMV19ICR7cVswXX1gLCBlbjogYCR7d2hpY2hbMl19ICR7cVsxXX1gLCBx
IH0pIDogc2FpZCh7IGtyOiB3aGljaFsxXSwgZW46IHdoaWNoWzJdIH0pOyB9CiAgICBjb25zdCBxID0gbmV4dFEoInN0dWR5IiwgcmF3KSB8fCBhbnlRKHJh
dyk7CiAgICByZXR1cm4gcSA/IGFzayhbIktow7RuZyBzYW8gxJHDonUsIHThu6sgdOG7qyBsw6AgxJHGsOG7o2MhIiwgIkl0IGlzIG9rYXkg4oCUIHNsb3cg
YW5kIHN0ZWFkeSEiXSwgcSkgOiBzYWlkKHsga3I6ICJLaMO0bmcgc2FvIMSRw6J1LCB04burIHThu6sgbMOgIMSRxrDhu6NjISIsIGVuOiAiSXQgaXMgb2th
eSDigJQgc2xvdyBhbmQgc3RlYWR5ISIgfSk7CiAgfQoKICAvLyDilIDilIAgMSkgY29udGVudCBydWxlcyAoZWNobyB0aGUgdGhpbmcgdGhleSBtZW50aW9u
ZWQpIOKAlCBvbmx5IGZvciBzaG9ydCwgY2xlYW4gYW5zd2VycyDilIDilIAKICBGLnJ1bGVWID0gKEYucnVsZVYgfHwgMCkgKyAxOwogIGNvbnN0IHRpbWV5
ID0gL3Thu6sgaOG7k2l8aOG7k2kgbmjhu498aOG7k2kgYsOpfGjDtG0gbmF5fGjDtG0gcXVhfGLDonkgZ2nhu518ZOG6oW8gbsOgeXxsw7pjfGtoaXxiYW8g
Z2nhu518cuG7k2kkfGzhuq9tJHxxdcOhJC9pOwogIGNvbnN0IGNvcmUgPSBjbGVhblNhaWQocmF3KTsKICBjb25zdCBjYXAgPSBzdHIgPT4gc3RyLmNoYXJB
dCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpOwogIGlmICh3b3Jkcy5sZW5ndGggPD0gOCkgewogICAgZm9yIChjb25zdCBydWxlIG9mIEZUX1JV
TEVTKSB7CiAgICAgIGNvbnN0IG0gPSBjb3JlLm1hdGNoKHJ1bGUucmUpIHx8IHJhdy5tYXRjaChydWxlLnJlKTsKICAgICAgaWYgKCFtKSBjb250aW51ZTsK
ICAgICAgY29uc3Qgb2kgPSBtLmxlbmd0aCA+IDIgJiYgbVsyXSAhPT0gdW5kZWZpbmVkID8gMiA6IDE7IC8vIHdoaWNoIGNhcHR1cmUgaG9sZHMgdGhlIHRo
aW5nIHRoZXkgbWVudGlvbmVkCiAgICAgIGlmIChtW29pXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgbGV0IHggPSBjbGVhblNhaWQobVtvaV0pLnJlcGxh
Y2UoL14oPzrEg258eGVtfMSRaXxjaMahaXxo4buNY3xuZ2hlfMSR4buNY3x14buRbmcpXHMrL2ksICIiKTsKICAgICAgICBpZiAoIXggfHwgeC5zcGxpdCgv
XHMrLykubGVuZ3RoID4gNCB8fCB0aW1leS50ZXN0KHgpKSBjb250aW51ZTsgLy8gIsSDbiB04burIGjhu5NpIG5o4buPIiBpcyBub3QgYSB0aGluZyB0byBl
Y2hvCiAgICAgICAgbVtvaV0gPSB4OwogICAgICB9CiAgICAgIGNvbnN0IHIgPSBydWxlLmdlbihtLCBGLnJ1bGVWKTsKICAgICAgaWYgKHIgJiYgci5rciAh
PT0gRi5sYXN0S3IpIHsKICAgICAgICBjb25zdCBrID0gdG9waWNPZihyYXcpOyBpZiAoaykgRi50b3BpYyA9IGs7CiAgICAgICAgcmV0dXJuIHNhaWQoeyBr
cjogY2FwKHIua3IpLCBlbjogci5lbiwgcTogW3Iua3Iuc3BsaXQoL1suIT9dXHMrLykucG9wKCksIHIuZW5dIH0pOwogICAgICB9CiAgICB9CiAgfQoKICAv
LyDilIDilIAgMikgYSBub3JtYWwgYW5zd2VyOiBhY2tub3dsZWRnZSBpdCwgdGhlbiB0aGUgTkVYVCBxdWVzdGlvbiBvbiB0aGUgc2FtZSB0aHJlYWQg4pSA
4pSACiAgY29uc3QgayA9IHRvcGljT2YocmF3KTsKICBpZiAoaykgRi50b3BpYyA9IGs7CiAgY29uc3QgbG9uZyA9IHdvcmRzLmxlbmd0aCA+PSAxMjsKICBj
b25zdCBMT05HID0gW1si4buSLCBi4bqhbiBr4buDIG5oaeG7gXUgdGjhur8g4oCUIG3DrG5oIGhp4buDdSBy4buTaSEiLCAiT29oLCB5b3UgdG9sZCBtZSBh
IGxvdCDigJQgZ290IGl0ISJdLCBbIk5naGUgaGF5IMSR4bqleSEgTcOsbmggbmdoZSBo4bq/dCBy4buTaS4iLCAiU291bmRzIGdyZWF0ISBJIGhlYXJkIGFs
bCBvZiBpdC4iXSwgWyLhu6osIG3DrG5oIGhp4buDdSBy4buTaS4gQ+G6o20gxqFuIGLhuqFuIGvhu4MgbmjDqSEiLCAiWWVzLCBJIGdldCBpdC4gVGhhbmtz
IGZvciB0ZWxsaW5nIG1lISJdXTsKICBGLmxvbmdJID0gKEYubG9uZ0kgfHwgMCkgKyAxOwogIGxldCBsZWFkID0gbG9uZyA/IExPTkdbRi5sb25nSSAlIExP
TkcubGVuZ3RoXSA6IHJlYWN0KCk7CiAgaWYgKHdvcmRzLmxlbmd0aCA8PSAyICYmIC9eKGtow7RuZ3xjaMawYXxjaOG6o3xraMO0bmcgY8OzKS8udGVzdCh0
KSkgbGVhZCA9IFsiUmEgduG6rXkuIiwgIkkgc2VlLiJdOyAgICAgICAgICAvLyBhIHBsYWluICJubyIgaXMgbm90ICJob3cgaW50ZXJlc3RpbmchIgogIGVs
c2UgaWYgKHdvcmRzLmxlbmd0aCA8PSAyICYmIC9eKGPDs3xy4buTaXzhu6t8dsOibmd8ZOG6oXzEkcO6bmd8b2spLy50ZXN0KHQpKSBsZWFkID0gWyJIYXkg
cXXDoSEiLCAiTmljZSEiXTsKICBjb25zdCBiZWZvcmUgPSBGLnRvcGljOwogIGxldCBxID0gYW55UShyYXcpOwogIGlmICghcSkgewogICAgaWYgKCFGLmRv
bmUpIHsgRi5kb25lID0gdHJ1ZTsgcmV0dXJuIHNhaWQoeyBrcjogYMOUaSwgaMO0bSBuYXkgbcOsbmggbsOzaSBjaHV54buHbiBuaGnhu4F1IHRo4bqtdCEg
JHtuYW1lfSBnaeG7j2kgbOG6r20uIE114buRbiBuw7NpIHRp4bq/cCB0aMOsIGPhu6kgbmjhuq9uLCBob+G6t2MgYuG6pW0g4p2TIE5ldyB0b3BpYyBuaMOp
LmAsIGVuOiAiV293LCB3ZSB0YWxrZWQgc28gbXVjaCEgWW91IGRpZCBncmVhdCB0b2RheS4gU2F5IGFueXRoaW5nIHRvIGtlZXAgZ29pbmcsIG9yIHRhcCDi
nZMgTmV3IHRvcGljLiIgfSk7IH0KICAgIEYuYXNrZWQgPSBbXTsgcSA9IGFueVEocmF3KTsgLy8gc2Vjb25kIGxhcDogZXZlcnl0aGluZyBpcyBmYWlyIGdh
bWUgYWdhaW4KICB9CiAgY29uc3Qgc2FtZVRocmVhZCA9IGJlZm9yZSAmJiBGLnRvcGljID09PSBiZWZvcmU7CiAgaWYgKCFzYW1lVGhyZWFkICYmICFsb25n
KSBsZWFkID0gWyLDgCwgxJHhu5VpIGNodXnhu4duIGNow7p0IG5ow6khIiwgIk9oLCBsZXQgbWUgY2hhbmdlIHRoZSBzdWJqZWN0ISJdOwogIGNvbnN0IGNv
bmogPSBzYW1lVGhyZWFkID8gWyJUaOG6vywiLCAiVGhlbiwiXSA6IFsiIiwgIiJdOwogIGNvbnN0IGxvd2VyID0gc3RyID0+IC9eKFZp4buHdHxI4bqhfFTh
ur90fFNhfMSQw6B8SMOgfFPDoGkpXGIvLnRlc3Qoc3RyKSA/IHN0ciA6IHN0ci5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHN0ci5zbGljZSgxKTsKICBj
b25zdCBrciA9IGAke2xlYWRbMF19ICR7Y29ualswXX0gJHtjb25qWzBdID8gbG93ZXIocVswXSkgOiBxWzBdfWAucmVwbGFjZSgvXHMrL2csICIgIikudHJp
bSgpLCBlbiA9IGAke2xlYWRbMV19ICR7Y29ualsxXX0gJHtjb25qWzFdID8gcVsxXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHFbMV0uc2xpY2UoMSkg
OiBxWzFdfWAucmVwbGFjZSgvXHMrL2csICIgIikudHJpbSgpOwogIGlmIChrciA9PT0gRi5sYXN0S3IpIHsgY29uc3QgcTIgPSBhbnlRKCkgfHwgcTsgcmV0
dXJuIGFzayhyZWFjdCgpLCBxMik7IH0KICByZXR1cm4gc2FpZCh7IGtyLCBlbiwgcSB9KTsKfQoKZnVuY3Rpb24gZnROdWRnZSgpIHsKICBpZiAoRi5idXN5
KSByZXR1cm47CiAgY29uc3QgciA9ICgoKSA9PiB7IEYudG9waWMgPSBudWxsOyByZXR1cm4gZnRCdWlsdGluUmVwbHkoIiIpOyB9KSgpOwogIGZ0Qm90KHIu
a3IsIHIuZW4pOwp9Ci8qIC0tLSBFbmdpbmUgMjogQ2xhdWRlIEFQSSAodXNlcidzIG93biBrZXksIHN0b3JlZCBvbmx5IGluIHRoaXMgYnJvd3NlcikgLS0t
ICovCmNvbnN0IEFJX09QRU4gPSBmYWxzZTsgLy8gcHVibGljIGJ1aWxkIHNldHMgdGhpcyBmYWxzZTogQUkgbW9kZSBoaWRkZW4gdW5sZXNzIFVSTCBlbmRz
IHdpdGggI2FpCmNvbnN0IFBSRU1JVU1fVVJMID0gIiI7IC8vIHB1YmxpYyBidWlsZCBzZXRzIHRoZSBwcmVtaXVtIHNhbGVzIHBhZ2UgVVJMOyBlbXB0eSA9
IG5vIHByZW1pdW0gY2FyZApmdW5jdGlvbiBmdEFwaUtleSgpIHsgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJrcUFwaUtleSIpIHx8ICIiOyB9CmZ1
bmN0aW9uIGFpT3B0SW4oKSB7IHJldHVybiBBSV9PUEVOIHx8ICEhVlFfQUlfVVJMIHx8ICghd2luZG93LlZRX0FQUCAmJiAoISFmdEFwaUtleSgpIHx8IGxv
Y2F0aW9uLmhhc2guaW5jbHVkZXMoImFpIikpKTsgfQpmdW5jdGlvbiByZW5kZXJGdEVuZ2luZSgpIHsKICBjb25zdCBiID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZ0RW5naW5lIik7CiAgaWYgKCFhaU9wdEluKCkpIHsgYi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOyByZXR1cm47IH0KICBiLnN0eWxlLmRpc3Bs
YXkgPSAiIjsKICBiLnRleHRDb250ZW50ID0gdnFBaU9uKCkgPyAi4pyoIExpbmggKEFJKSIgOiAi8J+kliBCdWlsdC1pbiI7Cn0KZnVuY3Rpb24gZnRFbmdp
bmVUYXBMZWdhY3koKSB7CiAgaWYgKGZ0QXBpS2V5KCkpIHsKICAgIGlmIChjb25maXJtKCJDbGF1ZGUgQUkgbW9kZSBpcyBPTiAoeW91ciBBUEkga2V5IGlz
IHN0b3JlZCBvbmx5IGluIHRoaXMgYnJvd3NlcikuIFJlbW92ZSB0aGUga2V5IGFuZCBzd2l0Y2ggYmFjayB0byB0aGUgYnVpbHQtaW4gcGFydG5lcj8iKSkg
ewogICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgia3FBcGlLZXkiKTsKICAgIH0KICB9IGVsc2UgewogICAgY29uc3QgayA9IHByb21wdCgiUGFzdGUg
eW91ciBBbnRocm9waWMgQVBJIGtleSAoc2stYW50LeKApikgZm9yIG9wZW4tdG9waWMgQUkgY29udmVyc2F0aW9uLlxuXG5JdCBpcyBzYXZlZCBPTkxZIGlu
IHRoaXMgYnJvd3NlciAobG9jYWxTdG9yYWdlKSBhbmQgc2VudCBvbmx5IHRvIGFwaS5hbnRocm9waWMuY29tLiBBUEkgdXNhZ2UgaXMgYmlsbGVkIHRvIHlv
dXIga2V5LlxuTGVhdmUgZW1wdHkgdG8ga2VlcCB0aGUgZnJlZSBidWlsdC1pbiBwYXJ0bmVyLiIpOwogICAgaWYgKGsgJiYgay50cmltKCkuc3RhcnRzV2l0
aCgic2stYW50IikpIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJrcUFwaUtleSIsIGsudHJpbSgpKTsKICAgIGVsc2UgaWYgKGspIGFsZXJ0KCJUaGF0IGRvZXMg
bm90IGxvb2sgbGlrZSBhbiBBbnRocm9waWMga2V5IChzay1hbnQt4oCmKS4gTm90IHNhdmVkLiIpOwogIH0KICByZW5kZXJGdEVuZ2luZSgpOwp9CmFzeW5j
IGZ1bmN0aW9uIGZ0Q2xhdWRlUmVwbHlMZWdhY3kodGV4dCkgewogIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKCJodHRwczovL2FwaS5hbnRocm9waWMuY29t
L3YxL21lc3NhZ2VzIiwgewogICAgbWV0aG9kOiAiUE9TVCIsCiAgICBoZWFkZXJzOiB7CiAgICAgICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vanNv
biIsCiAgICAgICJ4LWFwaS1rZXkiOiBmdEFwaUtleSgpLAogICAgICAiYW50aHJvcGljLXZlcnNpb24iOiAiMjAyMy0wNi0wMSIsCiAgICAgICJhbnRocm9w
aWMtZGFuZ2Vyb3VzLWRpcmVjdC1icm93c2VyLWFjY2VzcyI6ICJ0cnVlIgogICAgfSwKICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsKICAgICAgbW9kZWw6
ICJjbGF1ZGUtaGFpa3UtNC01LTIwMjUxMDAxIiwKICAgICAgbWF4X3Rva2VuczogMzAwLAogICAgICBzeXN0ZW06ICJZb3UgYXJlIELhuqFuIFZp4buHdCwg
YSB3YXJtIFZpZXRuYW1lc2UgY29udmVyc2F0aW9uIHBhcnRuZXIgZm9yIGEgYmVnaW5uZXIgaGVyaXRhZ2UgbGVhcm5lci4gUmVwbHkgaW4gc2ltcGxlLCBu
YXR1cmFsIE5vcnRoZXJuIFZpZXRuYW1lc2UsIDEtMiBzaG9ydCBzZW50ZW5jZXMsIHRoZW4gYXNrIE9ORSBzaW1wbGUgZm9sbG93LXVwIHF1ZXN0aW9uLiBB
bnkgdG9waWMgaXMgZmluZS4gSWYgdGhlIHVzZXIncyBWaWV0bmFtZXNlIGhhcyBhIGNsZWFyIG1pc3Rha2UsIGFkZCBhIGdlbnRsZSBmaXguIFJlc3BvbmQg
d2l0aCBPTkxZIHRoaXMgSlNPTjoge1wia3JcIjpcInlvdXIgVmlldG5hbWVzZSByZXBseVwiLFwiZW5cIjpcIkVuZ2xpc2ggdHJhbnNsYXRpb25cIixcImZp
eFwiOm51bGwgb3IgXCJ3aGF0IHRoZXkgc2FpZCDihpIgbW9yZSBuYXR1cmFsIHZlcnNpb24gKHNob3J0IHJlYXNvbilcIn0iLAogICAgICBtZXNzYWdlczog
Ri5oaXN0LnNsaWNlKC0xMikKICAgIH0pCiAgfSk7CiAgaWYgKCFyZXMub2spIHRocm93IG5ldyBFcnJvcigiQVBJICIgKyByZXMuc3RhdHVzKTsKICBjb25z
dCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTsKICBjb25zdCByYXcgPSBkYXRhLmNvbnRlbnRbMF0udGV4dDsKICBjb25zdCBtID0gcmF3Lm1hdGNoKC9ce1tc
c1xTXSpcfS8pOwogIGNvbnN0IGogPSBKU09OLnBhcnNlKG0gPyBtWzBdIDogcmF3KTsKICByZXR1cm4geyBrcjogai5rciwgZW46IGouZW4sIGZpeDogai5m
aXggfTsKfQovKiAtLS0gVm9pY2UgbG9vcCAtLS0gKi8KZnVuY3Rpb24gZnRMaXN0ZW4oKSB7CiAgaWYgKCFTUiB8fCBzckJsb2NrZWQgfHwgcmVjb2duaXpp
bmcgfHwgRi5idXN5IHx8IGRvY3VtZW50LmhpZGRlbikgcmV0dXJuOwogIGNvbnN0IG1pYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdE1pYyIpOwog
IGNvbnN0IHN0YXR1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdFN0YXR1cyIpOwogIHJlY29nbml6aW5nID0gdHJ1ZTsKICBtaWMuY2xhc3NMaXN0
LmFkZCgibGlzdGVuaW5nIik7IG1pYy50ZXh0Q29udGVudCA9ICLij7kiOwogIC8vIEEgYmVnaW5uZXIgcGF1c2VzIG1pZC1zZW50ZW5jZSB0byB0aGluay4g
Q3V0dGluZyB0aGVtIG9mZiB0aGVyZSBpcyB0aGUgZmFzdGVzdAogIC8vIHdheSB0byBtYWtlIHNvbWVvbmUgZmVlbCBzdHVwaWQsIHNvIHdhaXRpbmcgZm9y
IHRoZSB0YXAgaXMgdGhlIGRlZmF1bHQuCiAgdmFyIGhvbGQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgia3FNaWNIb2xkIikgIT09ICIwIjsKICBzdGF0dXMu
dGV4dENvbnRlbnQgPSBob2xkCiAgICA/ICLwn46ZIFNwZWFrIOKAlCB0YWtlIHlvdXIgdGltZS4gVGFwIOKPuSB3aGVuIHlvdSBhcmUgZG9uZS4iCiAgICA6
ICLwn46ZIFNwZWFrIOKAlCBJIHdpbGwgYW5zd2VyIHdoZW4geW91IHBhdXNlIChvciB0YXAg4o+5KS4iOwogIGNvbnN0IHJlYyA9IG5ldyBTUigpOwogIGFj
dGl2ZVJlYyA9IHJlYzsKICByZWMubGFuZyA9ICJ2aS1WTiI7IHJlYy5tYXhBbHRlcm5hdGl2ZXMgPSAxOwogIHJlYy5vbmVycm9yID0gZXYgPT4gewogICAg
cmVjLmVyckNvZGUgPSBldi5lcnJvcjsKICAgIGlmIChldi5lcnJvciA9PT0gIm5vdC1hbGxvd2VkIikgeyBzdGF0dXMuaW5uZXJIVE1MID0gbWljSGVscEh0
bWwoKTsgRi5hdXRvID0gZmFsc2U7IGZ0VG9nZ2xlQXV0byh0cnVlKTsgfQogIH07CiAgc3RhcnRMaXN0ZW5pbmcocmVjLCB7CiAgICBpZGxlTXM6IGhvbGQg
PyAwIDogMjgwMCwgY2FwTXM6IGhvbGQgPyAxODAwMDAgOiA2MDAwMCwKICAgIG9uTGl2ZTogdCA9PiB7IGlmICh0KSBzdGF0dXMudGV4dENvbnRlbnQgPSAi
8J+OpyDigJzigKYiICsgdC5zbGljZSgtNzApICsgIuKAnSDigJQgdGFwIOKPuSB3aGVuIGRvbmUiOyB9LAogICAgb25GaW5pc2g6IHRleHQgPT4gewogICAg
ICByZWNvZ25pemluZyA9IGZhbHNlOyBpZiAoYWN0aXZlUmVjID09PSByZWMpIGFjdGl2ZVJlYyA9IG51bGw7CiAgICAgIG1pYy5jbGFzc0xpc3QucmVtb3Zl
KCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCfjqQiOwogICAgICBpZiAodGV4dCkgeyBzdGF0dXMudGV4dENvbnRlbnQgPSAiIjsgZnRVc2Vy
KHRleHQpOyB9CiAgICAgIGVsc2UgaWYgKHJlYy5lcnJDb2RlID09PSAibm90LWFsbG93ZWQiKSB7IC8qIG1pYyBoZWxwIGFscmVhZHkgc2hvd24gYnkgb25l
cnJvciAqLyB9CiAgICAgIGVsc2UgaWYgKHJlYy5lcnJDb2RlICYmIHJlYy5lcnJDb2RlICE9PSAibm8tc3BlZWNoIiAmJiByZWMuZXJyQ29kZSAhPT0gImFi
b3J0ZWQiKQogICAgICAgIHN0YXR1cy50ZXh0Q29udGVudCA9ICJNaWMgaXNzdWUgKCIgKyByZWMuZXJyQ29kZSArICIpIOKAlCB5b3UgY2FuIGFsc28gdHlw
ZSBiZWxvdy4iOwogICAgICBlbHNlIHN0YXR1cy50ZXh0Q29udGVudCA9ICJJIGRpZCBub3QgaGVhciBhbnl0aGluZyDigJQgdGFwIPCfjqQgdG8gdHJ5IGFn
YWluLiI7CiAgICB9CiAgfSk7Cn0KYXN5bmMgZnVuY3Rpb24gZnRNaWNUYXAoKSB7CiAgLy8gc2Vjb25kIHRhcCA9ICJJIGZpbmlzaGVkIHNwZWFraW5nIiDi
hpIgc3RvcCBjYXB0dXJlLCB0cmFuc2NyaWJlIGltbWVkaWF0ZWx5CiAgaWYgKHJlY29nbml6aW5nICYmIGFjdGl2ZVJlYykgeyBmb3JjZUVuZExpc3Rlbihh
Y3RpdmVSZWMpOyByZXR1cm47IH0KICBpZiAoIVNSIHx8IHNyQmxvY2tlZCkgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0U3RhdHVzIikuaW5u
ZXJIVE1MID0gIjxzcGFuIGNsYXNzPSdoZWFyZCc+Vm9pY2UgaW5wdXQgaXMgbm90IGF2YWlsYWJsZSBoZXJlLiBZb3UgY2FuIHR5cGUgeW91ciBWaWV0bmFt
ZXNlIGJlbG93IGluc3RlYWQhPC9zcGFuPiI7CiAgICByZXR1cm47CiAgfQogIGlmICghKFNSICYmIFNSLm5hdGl2ZSkgJiYgIShhd2FpdCBlbnN1cmVNaWMo
KSkpIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdFN0YXR1cyIpLmlubmVySFRNTCA9IG1pY0hlbHBIdG1sKCk7CiAgICByZXR1cm47CiAgfQog
IGZ0TGlzdGVuKCk7Cn0KZnVuY3Rpb24gZnRUb2dnbGVBdXRvKHNpbGVudCkgewogIGlmICghc2lsZW50KSBGLmF1dG8gPSAhRi5hdXRvOwogIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmdEF1dG8iKS50ZXh0Q29udGVudCA9ICLwn5SBIEF1dG86ICIgKyAoRi5hdXRvID8gIm9uIiA6ICJvZmYiKTsKICBpZiAoRi5h
dXRvICYmICFzaWxlbnQpIGZ0TWljVGFwKCk7Cn0KZnVuY3Rpb24gZnRTZW5kVGV4dCgpIHsKICBpZiAoWi5vbikgeyB6YWxvU2VuZCgpOyByZXR1cm47IH0K
ICBjb25zdCBpbnAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnRUZXh0Iik7CiAgY29uc3QgdCA9IGlucC52YWx1ZS50cmltKCk7CiAgaWYgKCF0KSBy
ZXR1cm47CiAgaW5wLnZhbHVlID0gIiI7CiAgZnRVc2VyKHQpOwp9CmZ1bmN0aW9uIG9wZW5SZXZpZXcoKSB7CiAgY29uc3Qgc3JjID0gTEVTU09OUy5maWx0
ZXIoTCA9PiBsc3RhdGUoTC5uKS5zdGFycy50YWxrKTsKICBjb25zdCBwb29sTCA9IHNyYy5sZW5ndGggPyBzcmMgOiBMRVNTT05TOwogIGNvbnN0IHR1cm5z
ID0gc2h1ZmZsZShwb29sTC5mbGF0TWFwKEwgPT4gVEFMS1NbTC5uXS50dXJucy5tYXAodCA9PiAoeyAuLi50LCBucGNXaG86IFRBTEtTW0wubl0ud2hvIH0p
KSkpLnNsaWNlKDAsIDgpOwogIFRBTEtTLlIgPSB7IHdobzogIvCfjrIgTWl4ZWQgcGFydG5lcnMiLCB0OiAiUmV2aWV3IHdvcmtvdXQg4oCUICIgKyBwb29s
TC5sZW5ndGggKyAiIGxlc3NvbnMgaW4gdGhlIG1peCIsIHR1cm5zIH07CiAgZGVsZXRlIFRLLlI7CiAgY3VyID0geyBuOiAiUiIsIGtyOiAiw5RuIHThuq1w
IiwgZW46ICJSZXZpZXciLCB2aTogIk1peCBpdCB1cCIsIGVtb2ppOiAi8J+OsiIsIHdvcmRzOiBwb29sTC5mbGF0TWFwKEwgPT4gTC53b3JkcyksIGdyYW1t
YXI6IFtdIH07CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxUaXRsZSIpLnRleHRDb250ZW50ID0gIvCfjrIgw5RuIHThuq1wIOKAlCBSYW5kb20gQ29u
dmVyc2F0aW9uIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibFN1YiIpLnRleHRDb250ZW50ID0gKHNyYy5sZW5ndGggPyAiRnJvbSB5b3VyIOKtkCBj
b252ZXJzYXRpb25zIiA6ICJGcm9tIGFsbCBsZXNzb25zIikgKyAiIMK3ICIgKyB0dXJucy5sZW5ndGggKyAiIHN1cnByaXNlIHF1ZXN0aW9ucyI7CiAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdGFycyIpLnRleHRDb250ZW50ID0gIvCfjrIiOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi50YWIiKS5m
b3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5kYXRhc2V0LnRhYiA9PT0gInRhbGsiID8gIiIgOiAibm9uZSIpOwogIHNldFRhYigidGFsayIp
OwogIHNob3coImxlc3NvbiIpOwp9CgovKiA9PT09PT09PT09PT09PT0gRkFNSUxZIFZPSUNFIOKAlCBsZWFybiBpdCBpbiB5b3VyIGZhbWlseSdzIHZvaWNl
ID09PT09PT09PT09PT09PSAqLwovKiBBIHJlbGF0aXZlIHJlY29yZHMgdGhlIHdvcmRzIG9uIHRoaXMgZGV2aWNlOyBmcm9tIHRoZW4gb24gZXZlcnkg8J+U
iiBmb3IgYQogICByZWNvcmRlZCB3b3JkIHBsYXlzIFRIRU0gaW5zdGVhZCBvZiB0aGUgc3ludGhlc2l6ZXIuIENsaXBzIGxpdmUgaW4KICAgSW5kZXhlZERC
IG9uIHRoaXMgZGV2aWNlIG9ubHkgKG5vdGhpbmcgaXMgdXBsb2FkZWQgYW55d2hlcmUpLiAqLwpjb25zdCBGViA9IHsgb246IGZhbHNlLCBwcm9maWxlOiAi
IiwgcHJvZmlsZXM6IFtdLCBjbGlwczogbmV3IE1hcCgpLCBjb3VudDogMCwgZGI6IG51bGwsIGF1ZGlvOiBudWxsLAogICAgICAgICAgICAgcmVjOiB7IGxp
c3Q6IFtdLCBpOiAwLCBibG9iOiBudWxsLCB1cmw6IG51bGwsIGJ1c3k6IGZhbHNlLCBzZXQ6ICIiIH0gfTsKZnVuY3Rpb24gZnZLZXkodCkgeyByZXR1cm4g
KHQgfHwgIiIpLnRyaW0oKS5yZXBsYWNlKC9bLiE/4oCmXSskLywgIiIpLnRvTG93ZXJDYXNlKCk7IH0KZnVuY3Rpb24gZnZPcGVuREIoKSB7CiAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4gewogICAgaWYgKEZWLmRiKSByZXR1cm4gcmVzKEZWLmRiKTsKICAgIGxldCByOyB0cnkgeyByID0gaW5kZXhl
ZERCLm9wZW4oInZxRmFtaWx5Vm9pY2UiLCAxKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gcmVqKGUpOyB9CiAgICByLm9udXBncmFkZW5lZWRlZCA9ICgpID0+
IHsgY29uc3QgZGIgPSByLnJlc3VsdDsgaWYgKCFkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJjbGlwcyIpKSBkYi5jcmVhdGVPYmplY3RTdG9yZSgi
Y2xpcHMiLCB7IGtleVBhdGg6ICJpZCIgfSk7IH07CiAgICByLm9uc3VjY2VzcyA9ICgpID0+IHsgRlYuZGIgPSByLnJlc3VsdDsgcmVzKEZWLmRiKTsgfTsK
ICAgIHIub25lcnJvciA9ICgpID0+IHJlaihyLmVycm9yKTsKICB9KTsKfQpmdW5jdGlvbiBmdlN0b3JlKG1vZGUpIHsgcmV0dXJuIEZWLmRiLnRyYW5zYWN0
aW9uKCJjbGlwcyIsIG1vZGUpLm9iamVjdFN0b3JlKCJjbGlwcyIpOyB9CmZ1bmN0aW9uIGZ2QWxsKCkgeyByZXR1cm4gZnZPcGVuREIoKS50aGVuKCgpID0+
IG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4geyBjb25zdCBxID0gZnZTdG9yZSgicmVhZG9ubHkiKS5nZXRBbGwoKTsgcS5vbnN1Y2Nlc3MgPSAoKSA9PiBy
ZXMocS5yZXN1bHQgfHwgW10pOyBxLm9uZXJyb3IgPSAoKSA9PiByZWoocS5lcnJvcik7IH0pKTsgfQpmdW5jdGlvbiBmdlB1dChjKSB7IHJldHVybiBmdk9w
ZW5EQigpLnRoZW4oKCkgPT4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7IGNvbnN0IHEgPSBmdlN0b3JlKCJyZWFkd3JpdGUiKS5wdXQoYyk7IHEub25z
dWNjZXNzID0gKCkgPT4gcmVzKCk7IHEub25lcnJvciA9ICgpID0+IHJlaihxLmVycm9yKTsgfSkpOyB9CmZ1bmN0aW9uIGZ2RGVsUHJvZmlsZShwKSB7IHJl
dHVybiBmdkFsbCgpLnRoZW4oYWxsID0+IFByb21pc2UuYWxsKGFsbC5maWx0ZXIoYyA9PiBjLnByb2ZpbGUgPT09IHApLm1hcChjID0+IG5ldyBQcm9taXNl
KChyZXMsIHJlaikgPT4geyBjb25zdCBxID0gZnZTdG9yZSgicmVhZHdyaXRlIikuZGVsZXRlKGMuaWQpOyBxLm9uc3VjY2VzcyA9ICgpID0+IHJlcygpOyBx
Lm9uZXJyb3IgPSAoKSA9PiByZWoocS5lcnJvcik7IH0pKSkpOyB9CmFzeW5jIGZ1bmN0aW9uIGZ2TG9hZCgpIHsKICB0cnkgewogICAgY29uc3QgYWxsID0g
YXdhaXQgZnZBbGwoKTsKICAgIEZWLnByb2ZpbGVzID0gWy4uLm5ldyBTZXQoYWxsLm1hcChjID0+IGMucHJvZmlsZSkpXTsKICAgIEZWLnByb2ZpbGUgPSBs
b2NhbFN0b3JhZ2UuZ2V0SXRlbSgidnFGVlByb2ZpbGUiKSB8fCBGVi5wcm9maWxlc1swXSB8fCAiIjsKICAgIGlmIChGVi5wcm9maWxlICYmICFGVi5wcm9m
aWxlcy5pbmNsdWRlcyhGVi5wcm9maWxlKSkgRlYucHJvZmlsZSA9IEZWLnByb2ZpbGVzWzBdIHx8ICIiOwogICAgRlYuY2xpcHMuY2xlYXIoKTsKICAgIGFs
bC5maWx0ZXIoYyA9PiBjLnByb2ZpbGUgPT09IEZWLnByb2ZpbGUpLmZvckVhY2goYyA9PiBGVi5jbGlwcy5zZXQoYy53b3JkLCBjKSk7CiAgICBGVi5jb3Vu
dCA9IEZWLmNsaXBzLnNpemU7CiAgICBGVi5vbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ2cUZWT24iKSAhPT0gIjAiICYmIEZWLmNvdW50ID4gMDsKICB9
IGNhdGNoIChlKSB7IEZWLm9uID0gZmFsc2U7IEZWLmNvdW50ID0gMDsgfQp9CmZ1bmN0aW9uIGZ2SGFzKHRleHQpIHsgcmV0dXJuIEZWLm9uICYmIEZWLmNs
aXBzLmhhcyhmdktleSh0ZXh0KSk7IH0KZnVuY3Rpb24gZnZQbGF5KHRleHQsIHJhdGUsIG9uZW5kKSB7CiAgY29uc3QgYyA9IEZWLmNsaXBzLmdldChmdktl
eSh0ZXh0KSk7IGlmICghYykgcmV0dXJuIGZhbHNlOwogIHRyeSB7CiAgICBpZiAoRlYuYXVkaW8pIHsgdHJ5IHsgRlYuYXVkaW8ucGF1c2UoKTsgfSBjYXRj
aCAoZSkge30gfQogICAgY29uc3QgYSA9IG5ldyBBdWRpbyhVUkwuY3JlYXRlT2JqZWN0VVJMKGMuYmxvYikpOwogICAgRlYuYXVkaW8gPSBhOwogICAgYS5w
bGF5YmFja1JhdGUgPSByYXRlICYmIHJhdGUgPCAwLjcgPyAwLjY1IDogMTsgLy8g8J+QoiBTbG93IHNsb3dzIHRoZSByZWNvcmRpbmcgdG9vCiAgICBsZXQg
ZG9uZSA9IGZhbHNlOyBjb25zdCBmaW4gPSAoKSA9PiB7IGlmIChkb25lKSByZXR1cm47IGRvbmUgPSB0cnVlOyBpZiAob25lbmQpIG9uZW5kKCk7IH07CiAg
ICBhLm9uZW5kZWQgPSBmaW47IGEub25lcnJvciA9IGZpbjsKICAgIGNvbnN0IHAgPSBhLnBsYXkoKTsgaWYgKHAgJiYgcC5jYXRjaCkgcC5jYXRjaCgoKSA9
PiB7IEZWLmF1ZGlvID0gbnVsbDsgZmluKCk7IH0pOwogICAgcmV0dXJuIHRydWU7CiAgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0KfQpmdW5jdGlv
biBmdlNldFdvcmRzKHNldEtleSkgeyAvLyB3aGljaCB3b3JkcyBhIHJlbGF0aXZlIHJlY29yZHMKICBpZiAoc2V0S2V5ID09PSAiRiIpIHJldHVybiBGT1VO
RF9DQVJEUy5tYXAodyA9PiBbd1s1XSwgd1s2XV0pOyAgICAgICAgICAvLyBGb3VuZGF0aW9uOiB0aGUgZXhhbXBsZSBzZW50ZW5jZXMKICBjb25zdCBMID0g
TEVTU09OUy5maW5kKHggPT4geC5uID09PSBOdW1iZXIoc2V0S2V5KSk7IGlmICghTCkgcmV0dXJuIFtdOwogIHJldHVybiBMLndvcmRzLm1hcCh3ID0+IFt3
WzBdLCB3WzJdXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHF1ZXN0OiB0aGUgMjQgaGVhZHdvcmRzCn0KZnVuY3Rpb24gZnZT
ZXREb25lKHNldEtleSkgeyByZXR1cm4gZnZTZXRXb3JkcyhzZXRLZXkpLmZpbHRlcih3ID0+IEZWLmNsaXBzLmhhcyhmdktleSh3WzBdKSkpLmxlbmd0aDsg
fQovKiAtLS0tIGJhZGdlIG9uIHRoZSBMZWFybiBjYXJkIC0tLS0gKi8KZnVuY3Rpb24gZnZCYWRnZSgpIHsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZnZCYWRnZSIpOyBpZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3QgbWljID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndNaWMi
KTsgaWYgKCFtaWMgfHwgIWN1ciB8fCAhY3VyLndvcmRzIHx8ICFjdXIud29yZHNbbGVhcm5JZHhdKSByZXR1cm47CiAgY29uc3QgdyA9IGN1ci53b3Jkc1ts
ZWFybklkeF07CiAgY29uc3QgaGFzID0gRlYub24gJiYgKEZWLmNsaXBzLmhhcyhmdktleSh3WzBdKSkgfHwgRlYuY2xpcHMuaGFzKGZ2S2V5KHdbNV0pKSk7
CiAgaWYgKCFoYXMpIHJldHVybjsKICBjb25zdCBkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgZC5pZCA9ICJmdkJhZGdlIjsKICBkLnN0
eWxlLmNzc1RleHQgPSAidGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1hY2NlbnQyKTtmb250LXdlaWdodDo3MDA7bWFy
Z2luOjJweCAwIDhweDsiOwogIGQudGV4dENvbnRlbnQgPSBg8J+OmSAke0ZWLnByb2ZpbGV9IHNhaWQgdGhpcyDigJQgdGFwIPCflIogdG8gaGVhciAke0ZW
LnByb2ZpbGV9YDsKICBtaWMucGFyZW50Tm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLCBtaWMucGFyZW50Tm9kZSk7Cn0KLyogLS0tLSB0aGUgcmVj
b3JkaW5nIHN0dWRpbyAtLS0tICovCmZ1bmN0aW9uIG9wZW5GYW1pbHlWb2ljZSgpIHsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZnZXcmFwIik7IGlmIChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9ICJmdldy
YXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6IzAwMDAwMDcwO3otaW5kZXg6OTk5OTtkaXNwbGF5
OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4O292ZXJmbG93OmF1dG87IjsKICBjb25zdCBzZXRz
ID0gW1siRiIsICLwn4+bIEZvdW5kYXRpb24g4oCUIDI0IHNlbnRlbmNlcyJdXS5jb25jYXQoTEVTU09OUy5tYXAoTCA9PiBbU3RyaW5nKEwubiksIGAke0wu
ZW1vaml9IFF1ZXN0ICR7TC5ufSDigJQgJHtMLmtyfSAoMjQgd29yZHMpYF0pKTsKICBjb25zdCBjdXJTZXQgPSBGVi5yZWMuc2V0IHx8IChjdXIgJiYgdHlw
ZW9mIGN1ci5uID09PSAibnVtYmVyIiA/IFN0cmluZyhjdXIubikgOiAiMSIpOwogIHcuaW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFy
KC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0aDo0NDBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6OTJ2aDtvdmVyZmxvdzphdXRvO3BhZGRp
bmc6MThweDtib3gtc2hhZG93OjAgMTBweCA0MHB4ICMwMDAwMDA1NTsiPgogICAgPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxN3B4
O2NvbG9yOnZhcigtLXRleHQpOyI+8J+OmSBGYW1pbHkgVm9pY2U8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0t
bXV0ZWQpO21hcmdpbi10b3A6NHB4O2xpbmUtaGVpZ2h0OjEuNTU7Ij5IYW5kIHRoZSBwaG9uZSB0byBhIHJlbGF0aXZlLiBUaGV5IHJlYWQgdGhlIHdvcmRz
IG9uY2U7IGZyb20gdGhlbiBvbiB5b3UgbGVhcm4gaW4gPGI+dGhlaXI8L2I+IHZvaWNlLCB0aGVpciBhY2NlbnQg4oCUIG5vdCBhIHN5bnRoZXNpemVyLiBS
ZWNvcmRpbmdzIHN0YXkgb24gdGhpcyBkZXZpY2UgdW5sZXNzIHlvdSBzaGFyZSB0aGVtIHdpdGggYSB2b2ljZSBjb2RlLjwvZGl2PgogICAgJHtGVi5jb3Vu
dCA/IGA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tY2Fy
ZDIpO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQpOyI+CiAgICAgIPCfjpkgPGI+JHtGVi5wcm9maWxlfTwvYj4gwrcgJHtGVi5jb3VudH0gcmVj
b3JkaW5nJHtGVi5jb3VudCA+IDEgPyAicyIgOiAiIn0gwrcgRmFtaWx5IHZvaWNlIGlzIDxiPiR7RlYub24gPyAiT04iIDogIk9GRiJ9PC9iPgogICAgICA8
c3BhbiBvbmNsaWNrPSJmdlRvZ2dsZSgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyOyI+IMK3
IHR1cm4gJHtGVi5vbiA/ICJvZmYiIDogIm9uIn08L3NwYW4+CiAgICAgIDxzcGFuIG9uY2xpY2s9ImZ2Rm9yZ2V0KCkiIHN0eWxlPSJjb2xvcjp2YXIoLS1t
dXRlZCk7Y3Vyc29yOnBvaW50ZXI7Ij4gwrcgZGVsZXRlPC9zcGFuPgogICAgICA8ZGl2IGlkPSJmdlNoYXJlQm94IiBzdHlsZT0ibWFyZ2luLXRvcDo4cHg7
Ij4ke2Z2U2hhcmVIdG1sKCl9PC9kaXY+PC9kaXY+YCA6ICIifQogICAgPGRpdiBpZD0iZnZHZXRCb3giIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHg7Ij48c3Bh
biBvbmNsaWNrPSJmdkdldEFzaygpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6
ZToxM3B4OyI+8J+TpSBJIGhhdmUgYSB2b2ljZSBjb2RlPC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpOyI+
4oCUIGEgcmVsYXRpdmUgcmVjb3JkZWQgb24gdGhlaXIgcGhvbmU/IFR5cGUgdGhlaXIgY29kZSBoZXJlLjwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgc3R5bGU9
ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjoxNHB4IDAgNHB4OyI+V2hvIGlzIHNwZWFraW5nPzwvZGl2PgogICAgPGlucHV0
IGlkPSJmdk5hbWUiIHZhbHVlPSIkeyhGVi5wcm9maWxlIHx8ICIiKS5yZXBsYWNlKC8iL2csICImcXVvdDsiKX0iIHBsYWNlaG9sZGVyPSJCw6Agbmdv4bqh
aSIgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBhdXRvY29tcGxldGU9Im9mZiIKICAgICAgc3R5bGU9IndpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94
O3BhZGRpbmc6MTFweCAxMnB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tY2FyZDIpO2JhY2tncm91bmQ6dHJhbnNwYXJl
bnQ7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTVweDsiPgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjVw
eDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjEycHggMCA0cHg7Ij5XaGljaCB3b3Jkcz88L2Rpdj4KICAgIDxzZWxlY3QgaWQ9ImZ2U2V0IiBzdHlsZT0i
d2lkdGg6MTAwJTtwYWRkaW5nOjExcHggMTJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWNhcmQyKTtiYWNrZ3JvdW5k
OnZhcigtLWNhcmQpO2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE0cHg7Ij4KICAgICAgJHtzZXRzLm1hcChzID0+
IGA8b3B0aW9uIHZhbHVlPSIke3NbMF19IiAke3NbMF0gPT09IGN1clNldCA/ICJzZWxlY3RlZCIgOiAiIn0+JHtzWzFdfSR7RlYuY2xpcHMuc2l6ZSA/IGAg
wrcgJHtmdlNldERvbmUoc1swXSl9LzI0IGRvbmVgIDogIiJ9PC9vcHRpb24+YCkuam9pbigiIil9CiAgICA8L3NlbGVjdD4KICAgIDxkaXYgc3R5bGU9ImZv
bnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjhweDtsaW5lLWhlaWdodDoxLjU7Ij5UaXA6IHNpdCBjbG9zZSwgcXVpZXQgcm9v
bSwgb25lIHdvcmQgYXQgYSB0aW1lLiBUd28gbWludXRlcyBmb3IgYSB3aG9sZSBxdWVzdC48L2Rpdj4KICAgIDxidXR0b24gb25jbGljaz0iZnZTdGFydCgp
IiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxM3B4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnZh
cigtLWFjY2VudCk7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo4MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTVweDsi
PvCfjpkgU3RhcnQgcmVjb3JkaW5nPC9idXR0b24+CiAgICA8YnV0dG9uIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdldyYXAnKS5yZW1v
dmUoKSIgc3R5bGU9Im1hcmdpbi10b3A6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5k
OnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+Q2xvc2U8
L2J1dHRvbj4KICA8L2Rpdj5gOwogIHcub25jbGljayA9IGUgPT4geyBpZiAoZS50YXJnZXQgPT09IHcpIHcucmVtb3ZlKCk7IH07CiAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh3KTsKfQovKiAtLS0tIHNoYXJpbmcgYnkgdm9pY2UgY29kZTogcmVsYXRpdmUncyBwaG9uZSDihpIgVG9tJ3Mgc2VydmVyIOKGkiBs
ZWFybmVyJ3MgcGhvbmUgLS0tLSAqLwpjb25zdCBWUV9WT0lDRV9VUkwgPSAiaHR0cHM6Ly90b21waGFtLmNhL3dwLWpzb24vdnEvdjEvdm9pY2UiOwpmdW5j
dGlvbiBmdkNvZGVzKCkgeyB0cnkgeyByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidnFGVkNvZGVzIikgfHwgInt9Iik7IH0gY2F0
Y2ggKGUpIHsgcmV0dXJuIHt9OyB9IH0KZnVuY3Rpb24gZnZDb2RlRm9yKHApIHsgcmV0dXJuIGZ2Q29kZXMoKVtwXSB8fCAiIjsgfQpmdW5jdGlvbiBmdlNl
dENvZGUocCwgY29kZSkgeyBjb25zdCBjID0gZnZDb2RlcygpOyBpZiAoY29kZSkgY1twXSA9IGNvZGU7IGVsc2UgZGVsZXRlIGNbcF07IGxvY2FsU3RvcmFn
ZS5zZXRJdGVtKCJ2cUZWQ29kZXMiLCBKU09OLnN0cmluZ2lmeShjKSk7IH0KZnVuY3Rpb24gZnZVcGxvYWRlZChjb2RlKSB7IHRyeSB7IHJldHVybiBKU09O
LnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ2cUZWVXA6IiArIGNvZGUpIHx8ICJbXSIpOyB9IGNhdGNoIChlKSB7IHJldHVybiBbXTsgfSB9CmZ1bmN0
aW9uIGZ2TWFya1VwbG9hZGVkKGNvZGUsIHdvcmRzKSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cUZWVXA6IiArIGNvZGUsIEpTT04uc3RyaW5naWZ5KHdv
cmRzKSk7IH0KZnVuY3Rpb24gZnZDb2RlRm10KGMpIHsgcmV0dXJuIChjIHx8ICIiKS5yZXBsYWNlKC8oLns0fSkoPz0uKS9nLCAiJDEtIik7IH0KYXN5bmMg
ZnVuY3Rpb24gZnZBcGkocGF0aCwgYm9keSkgewogIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFZRX1ZPSUNFX1VSTCArIHBhdGgsIHsgbWV0aG9kOiAiUE9T
VCIsIGhlYWRlcnM6IHsgImNvbnRlbnQtdHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIiB9LCBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSB9KTsKICBjb25z
dCBqID0gYXdhaXQgcmVzLmpzb24oKS5jYXRjaCgoKSA9PiAoe30pKTsKICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IEVycm9yKGouZXJyb3IgfHwgKCJIVFRQ
ICIgKyByZXMuc3RhdHVzKSk7CiAgcmV0dXJuIGo7Cn0KZnVuY3Rpb24gZnZTaGFyZUh0bWwoKSB7CiAgY29uc3QgY29kZSA9IGZ2Q29kZUZvcihGVi5wcm9m
aWxlKTsKICBpZiAoIWNvZGUpIHJldHVybiBgPHNwYW4gb25jbGljaz0iZnZTaGFyZSgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC13ZWln
aHQ6NzAwO2N1cnNvcjpwb2ludGVyOyI+8J+TpCBTaGFyZSAke0ZWLnByb2ZpbGV9J3Mgdm9pY2Ugd2l0aCBhIGNvZGU8L3NwYW4+IDxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7Ij7igJQgc28gaXQgcGxheXMgb24gdGhlIGxlYXJuZXIncyBvd24gcGhvbmUgdG9vLjwvc3Bhbj5g
OwogIGNvbnN0IHBlbmRpbmcgPSBbLi4uRlYuY2xpcHMua2V5cygpXS5maWx0ZXIodyA9PiAhZnZVcGxvYWRlZChjb2RlKS5pbmNsdWRlcyh3KSkubGVuZ3Ro
OwogIHJldHVybiBg8J+UlyBWb2ljZSBjb2RlIDxiIHN0eWxlPSJmb250LWZhbWlseTpNZW5sbyxtb25vc3BhY2U7bGV0dGVyLXNwYWNpbmc6MXB4OyI+JHtm
dkNvZGVGbXQoY29kZSl9PC9iPgogICAgPHNwYW4gb25jbGljaz0iZnZDb3B5Q29kZSgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC13ZWln
aHQ6NzAwO2N1cnNvcjpwb2ludGVyOyI+IMK3IGNvcHk8L3NwYW4+CiAgICAke3BlbmRpbmcgPyBgPHNwYW4gb25jbGljaz0iZnZTaGFyZSgpIiBzdHlsZT0i
Y29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyOyI+IMK3IHVwbG9hZCAke3BlbmRpbmd9IG5ldzwvc3Bhbj5gIDog
YDxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Ij4gwrcgYWxsICR7RlYuY291bnR9IHNoYXJlZDwvc3Bhbj5gfQogICAgPHNwYW4gb25jbGljaz0i
ZnZVbnNoYXJlKCkiIHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Ij4gwrcgcmVtb3ZlIGZyb20gc2VydmVyPC9zcGFuPgogICAg
PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6NHB4OyI+T24gdGhlIGxlYXJuZXIncyBwaG9uZTogRmFt
aWx5IFZvaWNlIOKGkiA8Yj5JIGhhdmUgYSB2b2ljZSBjb2RlPC9iPiDihpIgdHlwZSBpdC48L2Rpdj5gOwp9CmZ1bmN0aW9uIGZ2U2hhcmVNc2codCkgeyBj
b25zdCBiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ2U2hhcmVCb3giKTsgaWYgKGIpIGIuaW5uZXJIVE1MID0gYDxzcGFuIHN0eWxlPSJjb2xvcjp2
YXIoLS1tdXRlZCk7Ij4ke3R9PC9zcGFuPmA7IH0KZnVuY3Rpb24gZnZCbG9iQjY0KGJsb2IpIHsgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4g
eyBjb25zdCByID0gbmV3IEZpbGVSZWFkZXIoKTsgci5vbmxvYWQgPSAoKSA9PiByZXMoU3RyaW5nKHIucmVzdWx0KS5zcGxpdCgiLCIpWzFdIHx8ICIiKTsg
ci5vbmVycm9yID0gKCkgPT4gcmVqKHIuZXJyb3IpOyByLnJlYWRBc0RhdGFVUkwoYmxvYik7IH0pOyB9CmFzeW5jIGZ1bmN0aW9uIGZ2U2hhcmUoKSB7CiAg
Y29uc3QgcCA9IEZWLnByb2ZpbGU7IGlmICghcCB8fCAhRlYuY2xpcHMuc2l6ZSkgcmV0dXJuOwogIHRyeSB7CiAgICBsZXQgY29kZSA9IGZ2Q29kZUZvcihw
KTsKICAgIGlmICghY29kZSkgeyBmdlNoYXJlTXNnKCJDcmVhdGluZyBhIHZvaWNlIGNvZGXigKYiKTsgY29uc3QgaiA9IGF3YWl0IGZ2QXBpKCIvbmV3Iiwg
eyBwcm9maWxlOiBwIH0pOyBjb2RlID0gai5jb2RlOyBmdlNldENvZGUocCwgY29kZSk7IH0KICAgIGNvbnN0IGRvbmUgPSBmdlVwbG9hZGVkKGNvZGUpOwog
ICAgY29uc3QgdG9kbyA9IFsuLi5GVi5jbGlwcy52YWx1ZXMoKV0uZmlsdGVyKGMgPT4gIWRvbmUuaW5jbHVkZXMoYy53b3JkKSk7CiAgICBsZXQgbiA9IDA7
CiAgICBmb3IgKGNvbnN0IGMgb2YgdG9kbykgewogICAgICBmdlNoYXJlTXNnKGBVcGxvYWRpbmcgJHtwfSdzIHZvaWNl4oCmICR7biArIDF9LyR7dG9kby5s
ZW5ndGh9YCk7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmdkJsb2JCNjQoYy5ibG9iKTsKICAgICAgYXdhaXQgZnZBcGkoIi9wdXQiLCB7IGNvZGUsIHdv
cmQ6IGMud29yZCwgZGlzcGxheTogYy5kaXNwbGF5LCBtaW1lOiBjLm1pbWUgfHwgYy5ibG9iLnR5cGUgfHwgImF1ZGlvL3dlYm0iLCBkYXRhIH0pOwogICAg
ICBkb25lLnB1c2goYy53b3JkKTsgZnZNYXJrVXBsb2FkZWQoY29kZSwgZG9uZSk7IG4rKzsKICAgIH0KICAgIGNvbnN0IGIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZnZTaGFyZUJveCIpOyBpZiAoYikgYi5pbm5lckhUTUwgPSBmdlNoYXJlSHRtbCgpOwogICAgaWYgKHRvZG8ubGVuZ3RoKSB7IHRyeSB7IHNm
eC5nb29kKCk7IH0gY2F0Y2ggKGUpIHt9IH0KICB9IGNhdGNoIChlKSB7CiAgICBpZiAoU3RyaW5nKGUubWVzc2FnZSkgPT09ICJub3QgZm91bmQiKSB7IGZ2
U2V0Q29kZShwLCAiIik7IGZ2TWFya1VwbG9hZGVkKCIiLCBbXSk7IH0KICAgIGZ2U2hhcmVNc2coYENvdWxkIG5vdCBzaGFyZSAoJHtlLm1lc3NhZ2V9KS4g
Q2hlY2sgdGhlIGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fpbi4gPHNwYW4gb25jbGljaz0iZnZTaGFyZSgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7
Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyOyI+UmV0cnk8L3NwYW4+YCk7CiAgfQp9CmFzeW5jIGZ1bmN0aW9uIGZ2Q29weUNvZGUoKSB7CiAgY29u
c3QgY29kZSA9IGZ2Q29kZUZtdChmdkNvZGVGb3IoRlYucHJvZmlsZSkpOwogIHRyeSB7IGlmIChuYXZpZ2F0b3Iuc2hhcmUpIHsgYXdhaXQgbmF2aWdhdG9y
LnNoYXJlKHsgdGl0bGU6ICJGYW1pbHkgVm9pY2UgY29kZSIsIHRleHQ6IGAke0ZWLnByb2ZpbGV9J3Mgdm9pY2UgZm9yIFZpZXRuYW1lc2UgUXVlc3Qg4oCU
IG9wZW4gdGhlIGdhbWUg4oaSIEZhbWlseSBWb2ljZSDihpIgSSBoYXZlIGEgdm9pY2UgY29kZTogJHtjb2RlfWAgfSk7IHJldHVybjsgfSB9IGNhdGNoIChl
KSB7IGlmIChlICYmIGUubmFtZSA9PT0gIkFib3J0RXJyb3IiKSByZXR1cm47IH0KICB0cnkgeyBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4
dChjb2RlKTsgZnZTaGFyZU1zZygiQ29kZSBjb3BpZWQ6ICIgKyBjb2RlKTsgc2V0VGltZW91dCgoKSA9PiB7IGNvbnN0IGIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZnZTaGFyZUJveCIpOyBpZiAoYikgYi5pbm5lckhUTUwgPSBmdlNoYXJlSHRtbCgpOyB9LCAxODAwKTsgfSBjYXRjaCAoZSkgeyBmdlNoYXJl
TXNnKCJZb3VyIGNvZGU6ICIgKyBjb2RlKTsgfQp9CmFzeW5jIGZ1bmN0aW9uIGZ2VW5zaGFyZSgpIHsKICBjb25zdCBwID0gRlYucHJvZmlsZSwgY29kZSA9
IGZ2Q29kZUZvcihwKTsgaWYgKCFjb2RlKSByZXR1cm47CiAgZnZTaGFyZU1zZygiUmVtb3ZpbmcgZnJvbSB0aGUgc2VydmVy4oCmIik7CiAgdHJ5IHsgYXdh
aXQgZnZBcGkoIi9kZWwiLCB7IGNvZGUgfSk7IH0gY2F0Y2ggKGUpIHt9CiAgZnZTZXRDb2RlKHAsICIiKTsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZx
RlZVcDoiICsgY29kZSk7CiAgY29uc3QgYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdlNoYXJlQm94Iik7IGlmIChiKSBiLmlubmVySFRNTCA9IGZ2
U2hhcmVIdG1sKCk7Cn0KZnVuY3Rpb24gZnZHZXRBc2soKSB7CiAgY29uc3QgYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdkdldEJveCIpOyBpZiAo
IWIpIHJldHVybjsKICBiLmlubmVySFRNTCA9IGA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDsiPjxpbnB1dCBpZD0iZnZDb2RlSW4iIHBsYWNl
aG9sZGVyPSJYWFhYLVhYWFgtWFhYWCIgYXV0b2NhcGl0YWxpemU9ImNoYXJhY3RlcnMiIGF1dG9jb21wbGV0ZT0ib2ZmIiBzdHlsZT0iZmxleDoxO21pbi13
aWR0aDowO3BhZGRpbmc6MTBweDtib3JkZXItcmFkaXVzOjlweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tY2FyZDIpO2JhY2tncm91bmQ6dHJhbnNwYXJl
bnQ7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6TWVubG8sbW9ub3NwYWNlO2ZvbnQtc2l6ZToxNXB4O2xldHRlci1zcGFjaW5nOjFweDsiPgogICAg
PGJ1dHRvbiBvbmNsaWNrPSJmdkdldCgpIiBzdHlsZT0icGFkZGluZzoxMHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5cHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp2
YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Ij5Mb2FkPC9idXR0b24+
PC9kaXY+CiAgICA8ZGl2IGlkPSJmdkdldE1zZyIgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6NnB4O21p
bi1oZWlnaHQ6MTZweDsiPjwvZGl2PmA7CiAgYi5xdWVyeVNlbGVjdG9yKCIjZnZDb2RlSW4iKS5mb2N1cygpOwp9CmFzeW5jIGZ1bmN0aW9uIGZ2R2V0KCkg
ewogIGNvbnN0IGlucCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdkNvZGVJbiIpLCBtc2cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnZHZXRN
c2ciKTsKICBjb25zdCBjb2RlID0gKGlucC52YWx1ZSB8fCAiIikudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9PL2csICIwIikucmVwbGFjZSgvW15BLVoyLTld
L2csICIiKTsKICBpZiAoY29kZS5sZW5ndGggIT09IDEyKSB7IG1zZy50ZXh0Q29udGVudCA9ICJBIHZvaWNlIGNvZGUgaGFzIDEyIGxldHRlcnMgYW5kIG51
bWJlcnMuIjsgcmV0dXJuOyB9CiAgdHJ5IHsKICAgIG1zZy50ZXh0Q29udGVudCA9ICJMb29raW5nIGl0IHVw4oCmIjsKICAgIGNvbnN0IGogPSBhd2FpdCBm
dkFwaSgiL2dldCIsIHsgY29kZSB9KTsKICAgIGlmICghai5jbGlwcyB8fCAhai5jbGlwcy5sZW5ndGgpIHsgbXNnLnRleHRDb250ZW50ID0gIlRoYXQgY29k
ZSBoYXMgbm8gcmVjb3JkaW5ncyB5ZXQuIjsgcmV0dXJuOyB9CiAgICBjb25zdCBwcm9maWxlID0gKGoucHJvZmlsZSB8fCAiR2lhIMSRw6xuaCIpLnNsaWNl
KDAsIDI0KTsKICAgIGxldCBuID0gMDsKICAgIGZvciAoY29uc3QgYyBvZiBqLmNsaXBzKSB7CiAgICAgIG1zZy50ZXh0Q29udGVudCA9IGBEb3dubG9hZGlu
ZyAke3Byb2ZpbGV9J3Mgdm9pY2XigKYgJHtuICsgMX0vJHtqLmNsaXBzLmxlbmd0aH1gOwogICAgICBjb25zdCBrID0gYXdhaXQgZnZBcGkoIi9jbGlwIiwg
eyBjb2RlLCB3b3JkOiBjLndvcmQgfSk7CiAgICAgIGNvbnN0IGJ5dGVzID0gVWludDhBcnJheS5mcm9tKGF0b2Ioay5kYXRhIHx8ICIiKSwgY2ggPT4gY2gu
Y2hhckNvZGVBdCgwKSk7CiAgICAgIGlmIChieXRlcy5sZW5ndGggPCA4MDApIGNvbnRpbnVlOwogICAgICBjb25zdCBtaW1lID0gay5taW1lIHx8IGMubWlt
ZSB8fCAiYXVkaW8vd2VibSI7CiAgICAgIGF3YWl0IGZ2UHV0KHsgaWQ6IHByb2ZpbGUgKyAifCIgKyBjLndvcmQsIHByb2ZpbGUsIHdvcmQ6IGMud29yZCwg
ZGlzcGxheTogYy5kaXNwbGF5IHx8IGMud29yZCwgYmxvYjogbmV3IEJsb2IoW2J5dGVzXSwgeyB0eXBlOiBtaW1lIH0pLCBtaW1lLCB0czogRGF0ZS5ub3co
KSB9KTsKICAgICAgbisrOwogICAgfQogICAgZnZTZXRDb2RlKHByb2ZpbGUsIGNvZGUpOyBmdk1hcmtVcGxvYWRlZChjb2RlLCBqLmNsaXBzLm1hcChjID0+
IGMud29yZCkpOyAvLyB0aGlzIGRldmljZSBjYW4gYWRkIG1vcmUgdG8gdGhlIHNhbWUgY29kZQogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxRlZQcm9m
aWxlIiwgcHJvZmlsZSk7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cUZWT24iLCAiMSIpOwogICAgYXdhaXQgZnZMb2FkKCk7CiAgICBjb25zdCB3ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ2V3JhcCIpOyBpZiAodykgdy5yZW1vdmUoKTsKICAgIGNvbnN0IGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsgYi5jbGFzc05hbWUgPSAibGV2ZWx1cC1iYW5uZXIiOyBiLnRleHRDb250ZW50ID0gYPCfjpkgJHtwcm9maWxlfSdzIHZvaWNlIGlzIG9uIOKAlCAk
e259IHdvcmQke24gPT09IDEgPyAiIiA6ICJzIn0gc291bmQgbGlrZSBmYW1pbHkgbm93YDsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYik7IHNl
dFRpbWVvdXQoKCkgPT4gYi5yZW1vdmUoKSwgMjgwMCk7CiAgICB0cnkgeyBjb25mZXR0aSgpOyBzZngud2luKCk7IH0gY2F0Y2ggKGUpIHt9CiAgICBpZiAo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hcCIpLmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIikpIHJlbmRlck1hcCgpOwogICAgaWYgKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsZXNzb24iKS5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSBmdkJhZGdlKCk7CiAgfSBjYXRjaCAoZSkgeyBtc2cudGV4
dENvbnRlbnQgPSBlLm1lc3NhZ2UgPT09ICJub3QgZm91bmQiID8gIk5vIHZvaWNlIGlzIHNoYXJlZCB1bmRlciB0aGF0IGNvZGUuIiA6IGBDb3VsZCBub3Qg
bG9hZCAoJHtlLm1lc3NhZ2V9KS5gOyB9Cn0KYXN5bmMgZnVuY3Rpb24gZnZUb2dnbGUoKSB7IEZWLm9uID0gIUZWLm9uOyBsb2NhbFN0b3JhZ2Uuc2V0SXRl
bSgidnFGVk9uIiwgRlYub24gPyAiMSIgOiAiMCIpOyBvcGVuRmFtaWx5Vm9pY2UoKTsgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXAiKS5jbGFz
c0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSByZW5kZXJNYXAoKTsgfQphc3luYyBmdW5jdGlvbiBmdkZvcmdldCgpIHsKICBjb25zdCB3ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZ2V3JhcCIpOyBpZiAoIXcpIHJldHVybjsKICBjb25zdCBib3ggPSB3LnF1ZXJ5U2VsZWN0b3IoImRpdiA+IGRpdiIpOyBjb25z
dCBwID0gRlYucHJvZmlsZTsKICBjb25zdCBhc2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBhc2suc3R5bGUuY3NzVGV4dCA9ICJtYXJn
aW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2ZvbnQtc2l6ZToxM3B4O2Nv
bG9yOnZhcigtLXRleHQpOyI7CiAgYXNrLmlubmVySFRNTCA9IGBEZWxldGUgYWxsICR7RlYuY291bnR9IHJlY29yZGluZ3MgYnkgPGI+JHtwfTwvYj4gZnJv
bSB0aGlzIGRldmljZT8gPGJ1dHRvbiBvbmNsaWNrPSJmdkZvcmdldFllcygpIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NnB4O3BhZGRpbmc6NnB4IDEwcHg7Ym9y
ZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp2YXIoLS1yZWQpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NzAwO2N1cnNvcjpwb2ludGVyO2Zv
bnQtZmFtaWx5OmluaGVyaXQ7Ij5EZWxldGU8L2J1dHRvbj4gPGJ1dHRvbiBvbmNsaWNrPSJ0aGlzLnBhcmVudE5vZGUucmVtb3ZlKCkiIHN0eWxlPSJwYWRk
aW5nOjZweCAxMHB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1jYXJkMik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xv
cjp2YXIoLS1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPktlZXA8L2J1dHRvbj5gOwogIGJveC5hcHBlbmRDaGlsZChhc2sp
Owp9CmFzeW5jIGZ1bmN0aW9uIGZ2Rm9yZ2V0WWVzKCkgeyBhd2FpdCBmdkRlbFByb2ZpbGUoRlYucHJvZmlsZSk7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVt
KCJ2cUZWUHJvZmlsZSIpOyBhd2FpdCBmdkxvYWQoKTsgb3BlbkZhbWlseVZvaWNlKCk7IGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFwIikuY2xh
c3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKSkgcmVuZGVyTWFwKCk7IH0KZnVuY3Rpb24gZnZTdGFydCgpIHsKICBjb25zdCBuYW1lID0gKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmdk5hbWUiKS52YWx1ZSB8fCAiIikudHJpbSgpLnNsaWNlKDAsIDI0KSB8fCAiR2lhIMSRw6xuaCI7CiAgY29uc3Qgc2V0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ2U2V0IikudmFsdWU7CiAgRlYucHJvZmlsZSA9IG5hbWU7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cUZWUHJvZmls
ZSIsIG5hbWUpOwogIC8vIHN3aXRjaCB0aGUgaW4tbWVtb3J5IGNsaXBzIHRvIHRoaXMgcHJvZmlsZQogIGZ2QWxsKCkudGhlbihhbGwgPT4geyBGVi5jbGlw
cy5jbGVhcigpOyBhbGwuZmlsdGVyKGMgPT4gYy5wcm9maWxlID09PSBuYW1lKS5mb3JFYWNoKGMgPT4gRlYuY2xpcHMuc2V0KGMud29yZCwgYykpOyBGVi5j
b3VudCA9IEZWLmNsaXBzLnNpemU7IH0pOwogIEZWLnJlYyA9IHsgbGlzdDogZnZTZXRXb3JkcyhzZXQpLCBpOiAwLCBibG9iOiBudWxsLCB1cmw6IG51bGws
IGJ1c3k6IGZhbHNlLCBzZXQgfTsKICAvLyBza2lwIHdvcmRzIGFscmVhZHkgcmVjb3JkZWQgYnkgdGhpcyBwZXJzb24KICB3aGlsZSAoRlYucmVjLmkgPCBG
Vi5yZWMubGlzdC5sZW5ndGggJiYgRlYuY2xpcHMuaGFzKGZ2S2V5KEZWLnJlYy5saXN0W0ZWLnJlYy5pXVswXSkpKSBGVi5yZWMuaSsrOwogIGZ2Q2FyZCgp
Owp9CmZ1bmN0aW9uIGZ2Q2FyZCgpIHsKICBjb25zdCB3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ2V3JhcCIpOyBpZiAoIXcpIHJldHVybjsKICBj
b25zdCByID0gRlYucmVjOwogIGlmIChyLmkgPj0gci5saXN0Lmxlbmd0aCkgeyBmdkZpbmlzaCgpOyByZXR1cm47IH0KICBjb25zdCBbdm4sIGVuXSA9IHIu
bGlzdFtyLmldOwogIHcuaW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0
aDo0NDBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MThweDtib3gtc2hhZG93OjAgMTBweCA0MHB4ICMwMDAwMDA1NTt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAg
PGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLW11dGVkKTsiPvCfjpkg
JHtGVi5wcm9maWxlfSDCtyAke3IuaSArIDF9IC8gJHtyLmxpc3QubGVuZ3RofTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjM4cHg7Zm9udC13
ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpO21hcmdpbjoxNHB4IDAgNHB4O2xpbmUtaGVpZ2h0OjEuMjsiPiR7dm59PC9kaXY+CiAgICA8ZGl2IHN0eWxl
PSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1tdXRlZCk7Ij4ke2VufTwvZGl2PgogICAgPGRpdiBpZD0iZnZTdGF0dXMiIHN0eWxlPSJmb250LXNpemU6
MTNweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjE0cHggMCAxMHB4O21pbi1oZWlnaHQ6MjBweDsiPiR7ci51cmwgPyAi4pa2IExpc3RlbiwgdGhlbiBr
ZWVwIGl0IG9yIHJlZG8iIDogIlRhcCDil48gYW5kIHNheSBpdCBvbmNlLCBjbGVhcmx5LiBUYXAg4pagIHdoZW4gZG9uZS4ifTwvZGl2PgogICAgJHtyLnVy
bAogICAgICA/IGA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyI+PGJ1dHRvbiBvbmNsaWNrPSJmdkxp
c3RlbigpIiBjbGFzcz0ic25kYnRuIiBzdHlsZT0ibWFyZ2luOjA7Ij7ilrYgTGlzdGVuPC9idXR0b24+PGJ1dHRvbiBvbmNsaWNrPSJmdlJlZG8oKSIgY2xh
c3M9InNuZGJ0biIgc3R5bGU9Im1hcmdpbjowOyI+4oa6IFJlZG88L2J1dHRvbj48YnV0dG9uIG9uY2xpY2s9ImZ2S2VlcCgpIiBzdHlsZT0icGFkZGluZzox
MHB4IDE4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4pO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2N1
cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Ij7inIUgS2VlcDwvYnV0dG9uPjwvZGl2PmAKICAgICAgOiBgPGJ1dHRvbiBpZD0iZnZSZWNCdG4i
IG9uY2xpY2s9ImZ2UmVjVGFwKCkiIHN0eWxlPSJ3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjowO2JhY2tncm91bmQ6
JHtyLmJ1c3kgPyAidmFyKC0tcmVkKSIgOiAidmFyKC0tYWNjZW50KSJ9O2NvbG9yOiNmZmY7Zm9udC1zaXplOjM0cHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNo
YWRvdzowIDhweCAyNHB4ICMwMDAwMDAzMzsiPiR7ci5idXN5ID8gIuKWoCIgOiAi4pePIn08L2J1dHRvbj5gfQogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpm
bGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjE2cHg7Ij4KICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJmdlNraXAoKSIgY2xh
c3M9InNuZGJ0biIgc3R5bGU9Im1hcmdpbjowO2ZvbnQtc2l6ZToxMi41cHg7Ij7ij60gU2tpcDwvYnV0dG9uPgogICAgICA8YnV0dG9uIG9uY2xpY2s9ImZ2
RmluaXNoKCkiIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJtYXJnaW46MDtmb250LXNpemU6MTIuNXB4OyI+RG9uZSBmb3Igbm93PC9idXR0b24+CiAgICA8L2Rp
dj4KICA8L2Rpdj5gOwp9CmFzeW5jIGZ1bmN0aW9uIGZ2UmVjVGFwKCkgewogIGNvbnN0IHIgPSBGVi5yZWMsIHN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZ2U3RhdHVzIik7CiAgaWYgKCFyLmJ1c3kpIHsKICAgIGlmICghbmF2aWdhdG9yLm1lZGlhRGV2aWNlcyB8fCB0eXBlb2YgTWVkaWFSZWNvcmRlciA9
PT0gInVuZGVmaW5lZCIpIHsgaWYgKHN0KSBzdC50ZXh0Q29udGVudCA9ICJUaGlzIGJyb3dzZXIgY2Fubm90IHJlY29yZC4gVHJ5IFNhZmFyaS9DaHJvbWUg
b24gYSBwaG9uZS4iOyByZXR1cm47IH0KICAgIGNvbnN0IG9rID0gYXdhaXQgc3RhcnRSZWNvcmRpbmcoZmFsc2UpOwogICAgaWYgKCFvaykgeyBpZiAoc3Qp
IHN0LnRleHRDb250ZW50ID0gIk1pY3JvcGhvbmUgbm90IGF2YWlsYWJsZSDigJQgYWxsb3cgdGhlIG1pYyBhbmQgdHJ5IGFnYWluLiI7IHJldHVybjsgfQog
ICAgci5idXN5ID0gdHJ1ZTsgZnZDYXJkKCk7CiAgICBpZiAoc3QpIHN0LnRleHRDb250ZW50ID0gIvCflLQgUmVjb3JkaW5n4oCmIHNheSBpdCBvbmNlLCB0
aGVuIHRhcCDilqAiOwogICAgci5jYXAgPSBzZXRUaW1lb3V0KCgpID0+IHsgaWYgKHIuYnVzeSkgZnZSZWNUYXAoKTsgfSwgNjAwMCk7IC8vIGhhcmQgY2Fw
OiA2IHMgcGVyIHdvcmQKICB9IGVsc2UgewogICAgY2xlYXJUaW1lb3V0KHIuY2FwKTsKICAgIGNvbnN0IHByZXYgPSBtZWRpYVJlYyA/IG1lZGlhUmVjLm9u
c3RvcCA6IG51bGw7CiAgICBpZiAobWVkaWFSZWMpIG1lZGlhUmVjLm9uc3RvcCA9IGZ1bmN0aW9uICgpIHsgdHJ5IHsgaWYgKHByZXYpIHByZXYoKTsgfSBj
YXRjaCAoZSkge30gY29uc3QgYmxvYiA9IG5ldyBCbG9iKHJlY0NodW5rcywgeyB0eXBlOiBtZWRpYVJlYy5taW1lVHlwZSB8fCAiYXVkaW8vd2VibSIgfSk7
IGZ2R290KGJsb2IpOyB9OwogICAgc3RvcFJlY29yZGluZygpOwogICAgci5idXN5ID0gZmFsc2U7CiAgfQp9CmZ1bmN0aW9uIGZ2R290KGJsb2IpIHsKICBj
b25zdCByID0gRlYucmVjOwogIGlmICghYmxvYiB8fCBibG9iLnNpemUgPCA4MDApIHsgci51cmwgPSBudWxsOyByLmJsb2IgPSBudWxsOyBmdkNhcmQoKTsg
Y29uc3Qgc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnZTdGF0dXMiKTsgaWYgKHN0KSBzdC50ZXh0Q29udGVudCA9ICJUb28gc2hvcnQg4oCUIHRy
eSBhZ2FpbiwgYSBsaXR0bGUgbG91ZGVyLiI7IHJldHVybjsgfQogIHIuYmxvYiA9IGJsb2I7IHIudXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsg
ZnZDYXJkKCk7CiAgZnZMaXN0ZW4oKTsKfQpmdW5jdGlvbiBmdkxpc3RlbigpIHsgY29uc3QgciA9IEZWLnJlYzsgaWYgKCFyLnVybCkgcmV0dXJuOyB0cnkg
eyBjb25zdCBhID0gbmV3IEF1ZGlvKHIudXJsKTsgYS5wbGF5KCkuY2F0Y2goKCkgPT4ge30pOyB9IGNhdGNoIChlKSB7fSB9CmZ1bmN0aW9uIGZ2UmVkbygp
IHsgY29uc3QgciA9IEZWLnJlYzsgci51cmwgPSBudWxsOyByLmJsb2IgPSBudWxsOyBmdkNhcmQoKTsgfQphc3luYyBmdW5jdGlvbiBmdktlZXAoKSB7CiAg
Y29uc3QgciA9IEZWLnJlYzsgY29uc3QgW3ZuXSA9IHIubGlzdFtyLmldOwogIGNvbnN0IGNsaXAgPSB7IGlkOiBGVi5wcm9maWxlICsgInwiICsgZnZLZXko
dm4pLCBwcm9maWxlOiBGVi5wcm9maWxlLCB3b3JkOiBmdktleSh2biksIGRpc3BsYXk6IHZuLCBibG9iOiByLmJsb2IsIG1pbWU6IHIuYmxvYi50eXBlLCB0
czogRGF0ZS5ub3coKSB9OwogIHRyeSB7IGF3YWl0IGZ2UHV0KGNsaXApOyB9IGNhdGNoIChlKSB7IGNvbnN0IHN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZ2U3RhdHVzIik7IGlmIChzdCkgc3QudGV4dENvbnRlbnQgPSAiQ291bGQgbm90IHNhdmUgKHN0b3JhZ2UgZnVsbD8pLiI7IHJldHVybjsgfQogIEZW
LmNsaXBzLnNldChjbGlwLndvcmQsIGNsaXApOyBGVi5jb3VudCA9IEZWLmNsaXBzLnNpemU7CiAgRlYub24gPSB0cnVlOyBsb2NhbFN0b3JhZ2Uuc2V0SXRl
bSgidnFGVk9uIiwgIjEiKTsKICBzZnguZ29vZCgpOwogIHIudXJsID0gbnVsbDsgci5ibG9iID0gbnVsbDsgci5pKys7CiAgd2hpbGUgKHIuaSA8IHIubGlz
dC5sZW5ndGggJiYgRlYuY2xpcHMuaGFzKGZ2S2V5KHIubGlzdFtyLmldWzBdKSkpIHIuaSsrOwogIGZ2Q2FyZCgpOwp9CmZ1bmN0aW9uIGZ2U2tpcCgpIHsg
Y29uc3QgciA9IEZWLnJlYzsgci51cmwgPSBudWxsOyByLmJsb2IgPSBudWxsOyByLmkrKzsgZnZDYXJkKCk7IH0KZnVuY3Rpb24gZnZGaW5pc2goKSB7CiAg
Y29uc3QgdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdldyYXAiKTsgaWYgKHcpIHcucmVtb3ZlKCk7CiAgaWYgKEZWLmNvdW50KSB7CiAgICBjb25z
dCBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBiLmNsYXNzTmFtZSA9ICJsZXZlbHVwLWJhbm5lciI7IGIudGV4dENvbnRlbnQgPSBg
8J+OmSAke0ZWLnByb2ZpbGV9J3Mgdm9pY2UgaXMgb24g4oCUICR7RlYuY291bnR9IHdvcmQke0ZWLmNvdW50ID4gMSA/ICJzIiA6ICIifSBzb3VuZCBsaWtl
IGZhbWlseSBub3dgOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJlbW92ZSgpLCAyNjAwKTsKICAgIGNv
bmZldHRpKCk7IHNmeC53aW4oKTsKICB9CiAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXAiKS5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIp
KSByZW5kZXJNYXAoKTsKICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxlc3NvbiIpLmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIikpIGZ2QmFk
Z2UoKTsKfQoKLyogPT09PT09PT09PT09PT09IFBJVENIIOKAlCB0aGUgdG9uZSBjaGVjayB0aGF0IGxpc3RlbnMgdG8geW91ciBWT0lDRSA9PT09PT09PT09
PT09PT0gKi8KLyogU3BlZWNoIHJlY29nbml6ZXJzIHF1aWV0bHkgYXV0b2NvcnJlY3QgdG9uZXMgZnJvbSBjb250ZXh0LCBzbyBhIHRyYW5zY3JpcHQgY2Fu
CiAgIHNheSAiaHV54buBbiIgd2hlbiB0aGUgbGVhcm5lciBhY3R1YWxseSBzYW5nICJz4bqvYyIuIFRoaXMgbW9kdWxlIHRhcHMgdGhlIHJhdyBtaWMKICAg
c3RyZWFtIGR1cmluZyDwn46kIFNheSBpdCwgdHJhY2tzIHRoZSBwaXRjaCAoRjApIG9mIHdoYXQgd2FzIHNhaWQsIGN1dHMgaXQgaW50bwogICBzeWxsYWJs
ZXMsIGFuZCBjbGFzc2lmaWVzIGVhY2ggc3lsbGFibGUncyBtZWxvZHkgYWdhaW5zdCB0aGUgc2l4IFZpZXRuYW1lc2UKICAgdG9uZXMuIEl0IG5ldmVyIGxl
YXZlcyB0aGUgZGV2aWNlIGFuZCBuZWVkcyBubyBzZXJ2ZXIuICovCmNvbnN0IFBJVENIID0geyBjdHg6IG51bGwsIHByb2M6IG51bGwsIHNyYzogbnVsbCwg
c2luazogbnVsbCwgY2h1bmtzOiBbXSwgbjogMCwgc3I6IDAsIG9uOiBmYWxzZSwgY2FwOiAwLCBsYXN0OiBudWxsIH07CmZ1bmN0aW9uIHBpdGNoUHJpbWUo
KSB7CiAgdHJ5IHsKICAgIGlmICghUElUQ0guY3R4KSBQSVRDSC5jdHggPSBuZXcgKHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlv
Q29udGV4dCkoKTsKICAgIGlmIChQSVRDSC5jdHguc3RhdGUgPT09ICJzdXNwZW5kZWQiKSBQSVRDSC5jdHgucmVzdW1lKCk7CiAgfSBjYXRjaCAoZSkge30K
fQpmdW5jdGlvbiBwaXRjaEF0dGFjaChzcmNOb2RlKSB7CiAgY29uc3QgY3R4ID0gUElUQ0guY3R4OwogIGNvbnN0IHByb2MgPSBjdHguY3JlYXRlU2NyaXB0
UHJvY2Vzc29yKDIwNDgsIDEsIDEpOwogIGNvbnN0IHNpbmsgPSBjdHguY3JlYXRlR2FpbigpOyBzaW5rLmdhaW4udmFsdWUgPSAwOyAvLyBrZWVwcyB0aGUg
Z3JhcGggYWxpdmUgd2l0aG91dCBmZWVkaW5nIHRoZSBtaWMgdG8gdGhlIHNwZWFrZXIKICBwcm9jLm9uYXVkaW9wcm9jZXNzID0gZSA9PiB7CiAgICBpZiAo
IVBJVENILm9uIHx8IFBJVENILm4gPj0gUElUQ0guY2FwKSByZXR1cm47CiAgICBjb25zdCBkID0gZS5pbnB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsK
ICAgIFBJVENILmNodW5rcy5wdXNoKG5ldyBGbG9hdDMyQXJyYXkoZCkpOyBQSVRDSC5uICs9IGQubGVuZ3RoOwogIH07CiAgc3JjTm9kZS5jb25uZWN0KHBy
b2MpOyBwcm9jLmNvbm5lY3Qoc2luayk7IHNpbmsuY29ubmVjdChjdHguZGVzdGluYXRpb24pOwogIFBJVENILnNyYyA9IHNyY05vZGU7IFBJVENILnByb2Mg
PSBwcm9jOyBQSVRDSC5zaW5rID0gc2luazsgUElUQ0gub24gPSB0cnVlOwogIHJldHVybiB0cnVlOwp9CmZ1bmN0aW9uIHBpdGNoU3RhcnQoc3RyZWFtKSB7
CiAgdHJ5IHsKICAgIGlmICghc3RyZWFtKSByZXR1cm4gZmFsc2U7CiAgICBwaXRjaFByaW1lKCk7IGlmICghUElUQ0guY3R4KSByZXR1cm4gZmFsc2U7CiAg
ICBpZiAoUElUQ0gub24pIHBpdGNoU3RvcCgpOwogICAgUElUQ0guY2h1bmtzID0gW107IFBJVENILm4gPSAwOyBQSVRDSC5zciA9IFBJVENILmN0eC5zYW1w
bGVSYXRlOyBQSVRDSC5jYXAgPSBQSVRDSC5jdHguc2FtcGxlUmF0ZSAqIDEyOyBQSVRDSC5sYXN0ID0gbnVsbDsKICAgIHJldHVybiBwaXRjaEF0dGFjaChQ
SVRDSC5jdHguY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Uoc3RyZWFtKSk7CiAgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0KfQpmdW5jdGlvbiBwaXRj
aFN0b3AoKSB7CiAgaWYgKCFQSVRDSC5vbikgcmV0dXJuIG51bGw7CiAgUElUQ0gub24gPSBmYWxzZTsKICB0cnkgeyBQSVRDSC5zcmMuZGlzY29ubmVjdCgp
OyB9IGNhdGNoIChlKSB7fQogIHRyeSB7IFBJVENILnByb2MuZGlzY29ubmVjdCgpOyBQSVRDSC5zaW5rLmRpc2Nvbm5lY3QoKTsgfSBjYXRjaCAoZSkge30K
ICBjb25zdCBhbGwgPSBuZXcgRmxvYXQzMkFycmF5KFBJVENILm4pOyBsZXQgbyA9IDA7CiAgZm9yIChjb25zdCBjIG9mIFBJVENILmNodW5rcykgeyBhbGwu
c2V0KGMsIG8pOyBvICs9IGMubGVuZ3RoOyB9CiAgUElUQ0guY2h1bmtzID0gW107CiAgdHJ5IHsgUElUQ0gubGFzdCA9IHBpdGNoQW5hbHl6ZShhbGwsIFBJ
VENILnNyKTsgfSBjYXRjaCAoZSkgeyBQSVRDSC5sYXN0ID0gbnVsbDsgfQogIHJldHVybiBQSVRDSC5sYXN0Owp9CgovKiAtLS0tIEYwIHRyYWNraW5nOiA0
MCBtcyBmcmFtZXMgZXZlcnkgMTAgbXMsIG5vcm1hbGl6ZWQgYXV0b2NvcnJlbGF0aW9uIChNY0xlb2QgTlNERikgLS0tLSAqLwpmdW5jdGlvbiBwaXRjaEFu
YWx5emUoeCwgc3IpIHsKICBjb25zdCBrID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChzciAvIDgwMDApKSwgZnMgPSBzciAvIGssIE4gPSBNYXRoLmZsb29y
KHgubGVuZ3RoIC8gayk7CiAgY29uc3QgeSA9IG5ldyBGbG9hdDMyQXJyYXkoTik7CiAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHsgbGV0IHMgPSAw
OyBmb3IgKGxldCBqID0gMDsgaiA8IGs7IGorKykgcyArPSB4W2kgKiBrICsgal07IHlbaV0gPSBzIC8gazsgfQogIGNvbnN0IHdpbiA9IE1hdGgucm91bmQo
ZnMgKiAwLjA0KSwgaG9wID0gTWF0aC5yb3VuZChmcyAqIDAuMDEpOwogIGNvbnN0IG1pbkxhZyA9IE1hdGguZmxvb3IoZnMgLyA0NTApLCBtYXhMYWcgPSBN
YXRoLm1pbihNYXRoLmNlaWwoZnMgLyA2NSksIHdpbiAtIDIpOwogIGNvbnN0IGZyYW1lcyA9IFtdOwogIGxldCBtYXhSbXMgPSAwOwogIGZvciAobGV0IHMg
PSAwOyBzICsgd2luIDw9IE47IHMgKz0gaG9wKSB7CiAgICBsZXQgZSA9IDA7IGZvciAobGV0IGkgPSBzOyBpIDwgcyArIHdpbjsgaSsrKSBlICs9IHlbaV0g
KiB5W2ldOwogICAgY29uc3Qgcm1zID0gTWF0aC5zcXJ0KGUgLyB3aW4pOyBpZiAocm1zID4gbWF4Um1zKSBtYXhSbXMgPSBybXM7CiAgICBmcmFtZXMucHVz
aCh7IHQ6IChzICsgd2luIC8gMikgLyBmcyAqIDEwMDAsIHJtcywgZjA6IDAsIHN0OiBudWxsIH0pOwogIH0KICBjb25zdCBvdXQgPSB7IGZyYW1lcywgZnMs
IGhvcDogaG9wIC8gZnMgKiAxMDAwLCBkdXI6IE4gLyBmcyAqIDEwMDAsIHZvaWNlZDogMCwgc2VnczogW10sIG1lZDogMCB9OwogIGlmICghZnJhbWVzLmxl
bmd0aCB8fCBtYXhSbXMgPCAwLjAwNCkgcmV0dXJuIG91dDsKICBjb25zdCB0aHIgPSBNYXRoLm1heCgwLjAwNSwgbWF4Um1zICogMC4xMik7CiAgY29uc3Qg
bnNkZiA9IG5ldyBGbG9hdDMyQXJyYXkobWF4TGFnICsgMik7CiAgZnJhbWVzLmZvckVhY2goKGZyLCBmaSkgPT4gewogICAgaWYgKGZyLnJtcyA8IHRocikg
cmV0dXJuOwogICAgY29uc3QgcyA9IGZpICogaG9wOwogICAgZm9yIChsZXQgbGFnID0gbWluTGFnOyBsYWcgPD0gbWF4TGFnOyBsYWcrKykgewogICAgICBs
ZXQgYWMgPSAwLCBtID0gMDsKICAgICAgZm9yIChsZXQgaSA9IHM7IGkgPCBzICsgd2luIC0gbGFnOyBpKyspIHsgYWMgKz0geVtpXSAqIHlbaSArIGxhZ107
IG0gKz0geVtpXSAqIHlbaV0gKyB5W2kgKyBsYWddICogeVtpICsgbGFnXTsgfQogICAgICBuc2RmW2xhZ10gPSBtID8gMiAqIGFjIC8gbSA6IDA7CiAgICB9
CiAgICBjb25zdCBwZWFrcyA9IFtdOwogICAgZm9yIChsZXQgbGFnID0gbWluTGFnICsgMTsgbGFnIDwgbWF4TGFnOyBsYWcrKykKICAgICAgaWYgKG5zZGZb
bGFnXSA+IG5zZGZbbGFnIC0gMV0gJiYgbnNkZltsYWddID49IG5zZGZbbGFnICsgMV0gJiYgbnNkZltsYWddID4gMC41NSkgcGVha3MucHVzaChsYWcpOwog
ICAgaWYgKCFwZWFrcy5sZW5ndGgpIHJldHVybjsKICAgIGxldCBwbWF4ID0gMDsgcGVha3MuZm9yRWFjaChsID0+IHsgaWYgKG5zZGZbbF0gPiBwbWF4KSBw
bWF4ID0gbnNkZltsXTsgfSk7CiAgICBjb25zdCBsID0gcGVha3MuZmluZChwID0+IG5zZGZbcF0gPj0gcG1heCAqIDAuOSk7IC8vIGZpcnN0IHN0cm9uZyBw
ZWFrID0gdGhlIGZ1bmRhbWVudGFsIChub3QgYSBoYXJtb25pYykKICAgIGNvbnN0IGEgPSBuc2RmW2wgLSAxXSwgYiA9IG5zZGZbbF0sIGMgPSBuc2RmW2wg
KyAxXTsKICAgIGNvbnN0IGRlbiA9IGEgLSAyICogYiArIGM7CiAgICBjb25zdCBkID0gZGVuID8gKGEgLSBjKSAvICgyICogZGVuKSA6IDA7CiAgICBmci5m
MCA9IGZzIC8gKGwgKyAoaXNGaW5pdGUoZCkgJiYgTWF0aC5hYnMoZCkgPCAxID8gZCA6IDApKTsgZnIucSA9IHBtYXg7CiAgfSk7CiAgLy8gc2VtaXRvbmVz
IHJlIDEwMCBIeiwgbWVkaWFuLXNtb290aGVkLCBvY3RhdmUgb3V0bGllcnMgcmVtb3ZlZAogIGZyYW1lcy5mb3JFYWNoKGYgPT4geyBpZiAoZi5mMCkgZi5z
dCA9IDEyICogTWF0aC5sb2cyKGYuZjAgLyAxMDApOyB9KTsKICBjb25zdCB2ID0gZnJhbWVzLmZpbHRlcihmID0+IGYuc3QgIT09IG51bGwpLm1hcChmID0+
IGYuc3QpLnNvcnQoKGEsIGIpID0+IGEgLSBiKTsKICBpZiAoIXYubGVuZ3RoKSByZXR1cm4gb3V0OwogIGNvbnN0IG1lZCA9IHZbTWF0aC5mbG9vcih2Lmxl
bmd0aCAvIDIpXTsKICBmcmFtZXMuZm9yRWFjaChmID0+IHsgaWYgKGYuc3QgIT09IG51bGwgJiYgTWF0aC5hYnMoZi5zdCAtIG1lZCkgPiA5KSB7IGYuc3Qg
PSBudWxsOyBmLmYwID0gMDsgfSB9KTsKICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewogICAgaWYgKGZyYW1lc1tpXS5zdCA9
PT0gbnVsbCkgY29udGludWU7CiAgICBjb25zdCB3ID0gW107CiAgICBmb3IgKGxldCBqID0gaSAtIDI7IGogPD0gaSArIDI7IGorKykgaWYgKGZyYW1lc1tq
XSAmJiBmcmFtZXNbal0uc3QgIT09IG51bGwpIHcucHVzaChmcmFtZXNbal0uc3QpOwogICAgdy5zb3J0KChhLCBiKSA9PiBhIC0gYik7IGZyYW1lc1tpXS5z
bSA9IHdbTWF0aC5mbG9vcih3Lmxlbmd0aCAvIDIpXTsKICB9CiAgY29uc3QgdjIgPSBmcmFtZXMuZmlsdGVyKGYgPT4gZi5zdCAhPT0gbnVsbCkubWFwKGYg
PT4gZi5zbSkuc29ydCgoYSwgYikgPT4gYSAtIGIpOwogIG91dC5tZWQgPSB2MltNYXRoLmZsb29yKHYyLmxlbmd0aCAvIDIpXTsgb3V0LnZvaWNlZCA9IHYy
Lmxlbmd0aDsKICBvdXQuc2VncyA9IHBpdGNoU2VnbWVudHMoZnJhbWVzLCBvdXQuaG9wLCBvdXQubWVkKTsKICByZXR1cm4gb3V0Owp9Ci8qIHZvaWNlZCBy
dW5zIOKGkiBzeWxsYWJsZXMuIEEgZ2FwIG9mIDIw4oCTNzAgbXMgaW5zaWRlIGEgcnVuIGlzIGEgZ2xvdHRhbCAiYnJlYWsiCiAgICh0aGUgc2lnbmF0dXJl
IG9mIG5nw6MpOyBhIGdhcCBvZiA3MCBtcysgc2VwYXJhdGVzIHN5bGxhYmxlcy4gTG9uZyBydW5zIGFyZQogICBzcGxpdCBhdCBhIGRlZXAgbG91ZG5lc3Mg
dmFsbGV5ICh0d28gc3lsbGFibGVzIHNwb2tlbiB3aXRob3V0IGEgcGF1c2UpLiAqLwpmdW5jdGlvbiBwaXRjaFNlZ21lbnRzKGZyYW1lcywgaG9wTXMsIG1l
ZCkgewogIGNvbnN0IHJ1bnMgPSBbXTsKICBsZXQgY3VyID0gbnVsbDsKICBmcmFtZXMuZm9yRWFjaCgoZiwgaSkgPT4gewogICAgaWYgKGYuc3QgIT09IG51
bGwpIHsgaWYgKCFjdXIpIGN1ciA9IHsgYTogaSwgYjogaSB9OyBlbHNlIGN1ci5iID0gaTsgfQogICAgZWxzZSBpZiAoY3VyKSB7IHJ1bnMucHVzaChjdXIp
OyBjdXIgPSBudWxsOyB9CiAgfSk7CiAgaWYgKGN1cikgcnVucy5wdXNoKGN1cik7CiAgY29uc3QgbWVyZ2VkID0gW107CiAgcnVucy5mb3JFYWNoKHIgPT4g
ewogICAgY29uc3QgbGFzdCA9IG1lcmdlZFttZXJnZWQubGVuZ3RoIC0gMV07CiAgICBpZiAobGFzdCAmJiAoci5hIC0gbGFzdC5iIC0gMSkgKiBob3BNcyA8
IDcwKSB7CiAgICAgIGNvbnN0IGdhcCA9IChyLmEgLSBsYXN0LmIgLSAxKSAqIGhvcE1zOwogICAgICBpZiAoZ2FwID49IDIwKSB7IGxhc3QuYnJrID0gdHJ1
ZTsgbGFzdC5icmtQb3MgPSAobGFzdC5iIC0gbGFzdC5hKSAvIE1hdGgubWF4KDEsIHIuYiAtIGxhc3QuYSk7IH0KICAgICAgbGFzdC5iID0gci5iOwogICAg
fSBlbHNlIG1lcmdlZC5wdXNoKHsgYTogci5hLCBiOiByLmIsIGJyazogZmFsc2UsIGJya1BvczogMCB9KTsKICB9KTsKICBjb25zdCBzZWdzID0gW107CiAg
bWVyZ2VkLmZvckVhY2gobSA9PiB7CiAgICAvLyBzcGxpdCBhdCBhIGxvdWRuZXNzIHZhbGxleSB3aGVuIHRoZSBydW4gaXMgbG9uZyBlbm91Z2ggdG8gaG9s
ZCB0d28gc3lsbGFibGVzCiAgICBjb25zdCBsZW4gPSBtLmIgLSBtLmEgKyAxOwogICAgaWYgKGxlbiAqIGhvcE1zID49IDM4MCkgewogICAgICBsZXQgYmVz
dEkgPSAtMSwgYmVzdFYgPSAxOwogICAgICBmb3IgKGxldCBpID0gbS5hICsgODsgaSA8PSBtLmIgLSA4OyBpKyspIHsKICAgICAgICBsZXQgbG0gPSAwLCBy
bSA9IDA7CiAgICAgICAgZm9yIChsZXQgaiA9IG0uYTsgaiA8IGk7IGorKykgbG0gPSBNYXRoLm1heChsbSwgZnJhbWVzW2pdLnJtcyk7CiAgICAgICAgZm9y
IChsZXQgaiA9IGkgKyAxOyBqIDw9IG0uYjsgaisrKSBybSA9IE1hdGgubWF4KHJtLCBmcmFtZXNbal0ucm1zKTsKICAgICAgICBjb25zdCB2ID0gZnJhbWVz
W2ldLnJtcyAvIE1hdGgubWluKGxtLCBybSk7CiAgICAgICAgaWYgKHYgPCBiZXN0VikgeyBiZXN0ViA9IHY7IGJlc3RJID0gaTsgfQogICAgICB9CiAgICAg
IGlmIChiZXN0SSA+IDAgJiYgYmVzdFYgPCAwLjQyKSB7IHNlZ3MucHVzaCh7IGE6IG0uYSwgYjogYmVzdEksIGJyazogZmFsc2UsIGJya1BvczogMCB9KTsg
c2Vncy5wdXNoKHsgYTogYmVzdEkgKyAxLCBiOiBtLmIsIGJyazogbS5icmssIGJya1BvczogMCB9KTsgcmV0dXJuOyB9CiAgICB9CiAgICBzZWdzLnB1c2go
bSk7CiAgfSk7CiAgcmV0dXJuIHNlZ3MuZmlsdGVyKHMgPT4gKHMuYiAtIHMuYSArIDEpICogaG9wTXMgPj0gNjApLm1hcChzID0+IHsKICAgIGNvbnN0IHB0
cyA9IFtdOwogICAgZm9yIChsZXQgaSA9IHMuYTsgaSA8PSBzLmI7IGkrKykgaWYgKGZyYW1lc1tpXS5zdCAhPT0gbnVsbCkgcHRzLnB1c2goeyB0OiBmcmFt
ZXNbaV0udCwgc3Q6IGZyYW1lc1tpXS5zbSAtIG1lZCwgcm1zOiBmcmFtZXNbaV0ucm1zIH0pOwogICAgY29uc3QgdDAgPSBwdHNbMF0udCwgdDEgPSBwdHNb
cHRzLmxlbmd0aCAtIDFdLnQsIGR1ciA9IHQxIC0gdDAgKyBob3BNczsKICAgIGNvbnN0IGMgPSBbXTsgLy8gcmVzYW1wbGUgdG8gMTAgcG9pbnRzIGFjcm9z
cyB0aGUgc3lsbGFibGUgKGxpbmVhciwgYnJpZGdpbmcgYW55IGJyZWFrKQogICAgZm9yIChsZXQgcSA9IDA7IHEgPCAxMDsgcSsrKSB7CiAgICAgIGNvbnN0
IHR0ID0gdDAgKyAodDEgLSB0MCkgKiBxIC8gOTsKICAgICAgbGV0IGogPSAwOyB3aGlsZSAoaiA8IHB0cy5sZW5ndGggLSAxICYmIHB0c1tqICsgMV0udCA8
IHR0KSBqKys7CiAgICAgIGNvbnN0IHAgPSBwdHNbal0sIG4gPSBwdHNbTWF0aC5taW4oaiArIDEsIHB0cy5sZW5ndGggLSAxKV07CiAgICAgIGMucHVzaChu
LnQgPT09IHAudCA/IHAuc3QgOiBwLnN0ICsgKG4uc3QgLSBwLnN0KSAqICh0dCAtIHAudCkgLyAobi50IC0gcC50KSk7CiAgICB9CiAgICByZXR1cm4geyB0
MCwgdDEsIGR1ciwgYnJrOiBzLmJyaywgYnJrUG9zOiBzLmJya1BvcywgYywgcHRzIH07CiAgfSk7Cn0KLyogLS0tLSBzaXggdG9uZSBtZWxvZGllcyAoc2Vt
aXRvbmVzLCBzaGFwZSBvbmx5KSDigJQgTm9ydGhlcm4gY2l0YXRpb24gZm9ybXMgLS0tLSAqLwpjb25zdCBUT05FX1NIQVBFUyA9IHsKICAiIjogWzAuNiwg
MC41LCAwLjQsIDAuMywgMC4yLCAwLCAtMC4xLCAtMC4zLCAtMC41LCAtMC43XSwgICAgICAgICAgICAgICAgIC8vIG5nYW5nOiBsZXZlbAogICLMgCI6IFsy
LjIsIDEuNiwgMS4wLCAwLjQsIC0wLjIsIC0wLjgsIC0xLjQsIC0yLjAsIC0yLjYsIC0zLjJdLCAgICAgICAvLyBodXnhu4FuOiBnZW50bGUgZmFsbAogICLM
gSI6IFstMywgLTIuNiwgLTIuMSwgLTEuNSwgLTAuOCwgMCwgMC45LCAxLjksIDMsIDQuMl0sICAgICAgICAgICAgICAvLyBz4bqvYzogcmlzZQogICLMoyI6
IFsxLjUsIDAuOSwgMC4yLCAtMC42LCAtMS40LCAtMi4yLCAtMywgLTMuNSwgLTMuNiwgLTMuNl0sICAgICAgICAgLy8gbuG6t25nOiBzaG9ydCBzdGVlcCBk
cm9wCiAgIsyJIjogWzEuNSwgMC40LCAtMC42LCAtMS40LCAtMS45LCAtMiwgLTEuNywgLTEsIC0wLjIsIDAuN10sICAgICAgICAgIC8vIGjhu49pOiBkaXAg
YW5kIGJvdW5jZQogICLMgyI6IFstMS41LCAtMS4yLCAtMS4wLCAtMC44LCAtMC42LCAxLjQsIDIuNCwgMy4yLCA0LCA0LjZdICAgICAgICAgICAvLyBuZ8Oj
OiByaXNlIHdpdGggYSBtaWQgYnJlYWsKfTsKY29uc3QgVE9ORV9ISU5UID0gewogICIiOiAiaG9sZCBvbmUgc3RlYWR5IG5vdGUsIGxpa2UgYSBoZWxkIGh1
bSIsCiAgIsyAIjogImxldCB0aGUgdm9pY2Ugc2luaywgbGlrZSBhIHNvZnQgc2lnaCIsCiAgIsyBIjogImNsaW1iLCBsaWtlIGFza2luZyDigJx3aGF0P+KA
nSIsCiAgIsyjIjogInNob3J0LCBsb3csIHN0b3BwZWQgaGFyZCDigJQgbGlrZSBkcm9wcGluZyBhIHN0b25lIiwKICAizIkiOiAiZGlwIGxvdywgdGhlbiBi
b3VuY2UgcGFydHdheSBiYWNrIiwKICAizIMiOiAicmlzZSB3aXRoIGEgc21hbGwgY2F0Y2ggaW4gdGhlIHRocm9hdCwgbGlrZSBhIGhpY2N1cCIKfTsKZnVu
Y3Rpb24gdG9uZUNsYXNzaWZ5KHNlZywgYW4pIHsKICBjb25zdCBjID0gc2VnLmMsIG1lYW4gPSBjLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gMTA7
CiAgY29uc3QgeiA9IGMubWFwKHYgPT4gdiAtIG1lYW4pOwogIGNvbnN0IHN0YXJ0ID0gKGNbMF0gKyBjWzFdKSAvIDIsIGVuZCA9IChjWzhdICsgY1s5XSkg
LyAyOwogIGNvbnN0IG1uID0gTWF0aC5taW4oLi4uYyksIG1pblBvcyA9IGMuaW5kZXhPZihtbikgLyA5OwogIGNvbnN0IHJpc2UgPSBlbmQgLSBtbiwgc2xv
cGUgPSBlbmQgLSBzdGFydCwgbGV2ZWwgPSBtZWFuOwogIGNvbnN0IHJlZiA9IE1hdGgubWF4KDI2MCwgYW4gJiYgYW4ucmVmRHVyID8gYW4ucmVmRHVyIDog
MCk7CiAgY29uc3QgcmF0ZSA9IHNsb3BlIC8gTWF0aC5tYXgoMSwgc2VnLmR1ciAvIDEwMCk7IC8vIHNlbWl0b25lcyBwZXIgMTAwIG1zIOKAlCBu4bq3bmcg
ZHJvcHMgZmFzdCwgaHV54buBbiBkcmlmdHMKICBjb25zdCBkID0ge307CiAgZm9yIChjb25zdCB0IGluIFRPTkVfU0hBUEVTKSB7CiAgICBjb25zdCBUID0g
VE9ORV9TSEFQRVNbdF0sIHRtID0gVC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIDEwOwogICAgbGV0IGJlc3QgPSAxZTk7CiAgICBbMC42LCAxLCAx
LjRdLmZvckVhY2gocyA9PiB7IGxldCBlID0gMDsgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7IGNvbnN0IHEgPSB6W2ldIC0gKFRbaV0gLSB0bSkg
KiBzOyBlICs9IHEgKiBxOyB9IGJlc3QgPSBNYXRoLm1pbihiZXN0LCBNYXRoLnNxcnQoZSAvIDEwKSk7IH0pOwogICAgZFt0XSA9IGJlc3Q7CiAgfQogIC8v
IG1lbG9keSBhbG9uZSBjYW5ub3Qgc2VwYXJhdGUgZXZlcnl0aGluZyDigJQgZHVyYXRpb24sIGJyZWFrcyBhbmQgbGV2ZWwgZmluaXNoIHRoZSBqb2IKICBp
ZiAoc2VnLmJyayAmJiByaXNlID49IDIpIGRbIsyDIl0gLT0gMS4wOyBlbHNlIGlmICghc2VnLmJyaykgZFsizIMiXSArPSAwLjY7CiAgaWYgKHNlZy5kdXIg
PCByZWYgKiAwLjcpIHsgZFsizKMiXSAtPSAwLjc7IGRbIsyAIl0gKz0gMC40OyB9IGVsc2UgaWYgKHNlZy5kdXIgPiByZWYgKiAxLjE1KSBkWyLMoyJdICs9
IDAuODsKICBpZiAoc2xvcGUgPCAtMS41KSB7IGlmIChyYXRlIDwgLTIuOCkgeyBkWyLMoyJdIC09IDAuNDsgZFsizIAiXSArPSAwLjI7IH0gZWxzZSBpZiAo
cmF0ZSA+IC0yLjIpIHsgZFsizIAiXSAtPSAwLjQ7IGRbIsyjIl0gKz0gMC4zOyB9IH0KICBpZiAobGV2ZWwgPCAtMC44KSB7IGRbIsyAIl0gLT0gMC4yNTsg
ZFsizKMiXSAtPSAwLjI1OyB9IGVsc2UgaWYgKGxldmVsID4gMC44KSB7IGRbIsyBIl0gLT0gMC4yOyB9CiAgaWYgKG1pblBvcyA+PSAwLjMgJiYgbWluUG9z
IDw9IDAuNzUgJiYgcmlzZSA+PSAxKSBkWyLMiSJdIC09IDAuNTsKICBpZiAoTWF0aC5hYnMoc2xvcGUpIDwgMSAmJiBNYXRoLm1heCguLi5jKSAtIG1uIDwg
MS42KSBkWyIiXSAtPSAwLjQ7IC8vIGdlbnVpbmVseSBmbGF0CiAgaWYgKHNsb3BlID4gMi41KSBkWyIiXSArPSAwLjU7CiAgY29uc3Qgb3JkZXIgPSBPYmpl
Y3Qua2V5cyhkKS5zb3J0KChhLCBiKSA9PiBkW2FdIC0gZFtiXSk7CiAgY29uc3QgY29uZiA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIChkW29yZGVyWzFd
XSAtIGRbb3JkZXJbMF1dKSAvIDEuMikpOwogIHJldHVybiB7IHRvbmU6IG9yZGVyWzBdLCBzZWNvbmQ6IG9yZGVyWzFdLCBjb25mLCBkLCBmZWF0czogeyBz
dGFydCwgZW5kLCBtbiwgbWluUG9zLCByaXNlLCBzbG9wZSwgbGV2ZWwsIGR1cjogc2VnLmR1ciwgYnJrOiBzZWcuYnJrIH0gfTsKfQpmdW5jdGlvbiB0b25l
RXF1YWwoYSwgYikgeyByZXR1cm4gYSA9PT0gYiB8fCAodHlwZW9mIHZxU291dGggPT09ICJmdW5jdGlvbiIgJiYgdnFTb3V0aCgpICYmICLMicyDIi5pbmNs
dWRlcyhhKSAmJiAizInMgyIuaW5jbHVkZXMoYikgJiYgYSAmJiBiKTsgfQpmdW5jdGlvbiBwaXRjaFZlcmRpY3QodGFyZ2V0LCBhbikgewogIGlmICghYW4g
fHwgIXRhcmdldCkgcmV0dXJuIG51bGw7CiAgY29uc3Qgc3lscyA9IHN5bHNPZih0YXJnZXQpOwogIGlmICghc3lscy5sZW5ndGggfHwgc3lscy5zb21lKHMg
PT4gIS9bYWVpb3V5xIPDosOqw7TGocawXS9pLnRlc3Qocy5ub3JtYWxpemUoIk5GRCIpLnJlcGxhY2UoL1vMgC3Nr10vZywgIiIpKSkpIHJldHVybiBudWxs
OyAvLyBsZXR0ZXJzLCBub3Qgd29yZHMKICBpZiAoIWFuLnNlZ3MubGVuZ3RoKSByZXR1cm4geyBub25lOiB0cnVlLCBhbiB9OwogIGNvbnN0IGV4cCA9IHN5
bHMubWFwKHMgPT4gZGVjU3lsKHMpLnRvbmUpOwogIGNvbnN0IGR1cnMgPSBhbi5zZWdzLm1hcChzID0+IHMuZHVyKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7
CiAgYW4ucmVmRHVyID0gZHVyc1tNYXRoLmZsb29yKGR1cnMubGVuZ3RoIC8gMildOwogIGlmIChzeWxzLmxlbmd0aCA9PT0gMSkgewogICAgLy8gInNheSBp
dCB0d28gb3IgdGhyZWUgdGltZXMiOiBldmVyeSByZXBldGl0aW9uIGlzIGEgdm90ZQogICAgY29uc3QgcGVyID0gYW4uc2Vncy5zbGljZSgwLCA0KS5tYXAo
cyA9PiAoeyAuLi50b25lQ2xhc3NpZnkocywgYW4pLCBzZWc6IHMgfSkpOwogICAgY29uc3Qgdm90ZXMgPSB7fTsKICAgIHBlci5mb3JFYWNoKHAgPT4geyB2
b3Rlc1twLnRvbmVdID0gKHZvdGVzW3AudG9uZV0gfHwgMCkgKyAwLjUgKyBwLmNvbmY7IH0pOwogICAgY29uc3QgZ290ID0gT2JqZWN0LmtleXModm90ZXMp
LnNvcnQoKGEsIGIpID0+IHZvdGVzW2JdIC0gdm90ZXNbYV0pWzBdOwogICAgY29uc3QgYWdyZWUgPSBwZXIuZmlsdGVyKHAgPT4gcC50b25lID09PSBnb3Qp
OwogICAgY29uc3QgY29uZiA9IE1hdGgubWluKDEsIGFncmVlLnJlZHVjZSgoYSwgcCkgPT4gYSArIHAuY29uZiwgMCkgLyBhZ3JlZS5sZW5ndGggKiAoYWdy
ZWUubGVuZ3RoIC8gcGVyLmxlbmd0aCkpOwogICAgcmV0dXJuIHsgc3lsczogW3sgc3lsOiBzeWxzWzBdLCBleHA6IGV4cFswXSwgZ290LCBvazogdG9uZUVx
dWFsKGV4cFswXSwgZ290KSwgY29uZiwgc2VnOiBhZ3JlZVswXS5zZWcgfV0sIHJlcHM6IHBlci5sZW5ndGgsIGFuIH07CiAgfQogIGlmIChhbi5zZWdzLmxl
bmd0aCAhPT0gc3lscy5sZW5ndGgpIHJldHVybiB7IG1pc21hdGNoOiB0cnVlLCBuU2VnOiBhbi5zZWdzLmxlbmd0aCwgblN5bDogc3lscy5sZW5ndGgsIGFu
IH07CiAgY29uc3QgcGVyID0gYW4uc2Vncy5tYXAoKHMsIGkpID0+IHsgY29uc3QgcCA9IHRvbmVDbGFzc2lmeShzLCBhbik7IHJldHVybiB7IHN5bDogc3ls
c1tpXSwgZXhwOiBleHBbaV0sIGdvdDogcC50b25lLCBvazogdG9uZUVxdWFsKGV4cFtpXSwgcC50b25lKSwgY29uZjogcC5jb25mLCBzZWc6IHMgfTsgfSk7
CiAgcmV0dXJuIHsgc3lsczogcGVyLCBhbiB9Owp9Ci8qIC0tLS0gdGhlIHBpY3R1cmU6IHlvdXIgbWVsb2R5IChzb2xpZCkgYWdhaW5zdCB0aGUgdGFyZ2V0
IG1lbG9keSAoZGFzaGVkKSAtLS0tICovCmZ1bmN0aW9uIHBpdGNoU3ZnKHYpIHsKICBjb25zdCBhbiA9IHYuYW4sIFcgPSAzMDAsIEggPSA3NCwgcGFkID0g
NjsKICBjb25zdCBzZWdzID0gYW4uc2Vncy5sZW5ndGggPyBhbi5zZWdzIDogW107CiAgY29uc3QgdDAgPSBzZWdzLmxlbmd0aCA/IHNlZ3NbMF0udDAgOiAw
LCB0MSA9IHNlZ3MubGVuZ3RoID8gc2Vnc1tzZWdzLmxlbmd0aCAtIDFdLnQxIDogYW4uZHVyOwogIGNvbnN0IHNwYW4gPSBNYXRoLm1heCgzMDAsIHQxIC0g
dDApOwogIGNvbnN0IFggPSB0ID0+IHBhZCArICh0IC0gdDApIC8gc3BhbiAqIChXIC0gMiAqIHBhZCk7CiAgY29uc3QgWSA9IHN0ID0+IEggLyAyIC0gTWF0
aC5tYXgoLTksIE1hdGgubWluKDksIHN0KSkgLyA5ICogKEggLyAyIC0gcGFkKTsKICBsZXQgcGF0aHMgPSAiIjsKICBjb25zdCB0YXJnZXRzID0gKHYuc3ls
cyB8fCBbXSkubWFwKHMgPT4gcy5zZWcgPyB7IHNlZzogcy5zZWcsIHRvbmU6IHMuZXhwIH0gOiBudWxsKS5maWx0ZXIoQm9vbGVhbik7CiAgdGFyZ2V0cy5m
b3JFYWNoKCh7IHNlZywgdG9uZSB9KSA9PiB7CiAgICBjb25zdCBUID0gVE9ORV9TSEFQRVNbdG9uZV0sIHRtID0gVC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBi
LCAwKSAvIDEwLCBjbSA9IHNlZy5jLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gMTA7CiAgICBjb25zdCBwdHMgPSBULm1hcCgocywgaSkgPT4gYCR7
WChzZWcudDAgKyAoc2VnLnQxIC0gc2VnLnQwKSAqIGkgLyA5KS50b0ZpeGVkKDEpfSwke1kocyAtIHRtICsgY20pLnRvRml4ZWQoMSl9YCkuam9pbigiICIp
OwogICAgcGF0aHMgKz0gYDxwb2x5bGluZSBwb2ludHM9IiR7cHRzfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1tdXRlZCkiIHN0cm9rZS13aWR0aD0i
MiIgc3Ryb2tlLWRhc2hhcnJheT0iNCA0IiBvcGFjaXR5PSIuOCIvPmA7CiAgfSk7CiAgc2Vncy5mb3JFYWNoKHNlZyA9PiB7CiAgICBjb25zdCBwdHMgPSBz
ZWcucHRzLm1hcChwID0+IGAke1gocC50KS50b0ZpeGVkKDEpfSwke1kocC5zdCkudG9GaXhlZCgxKX1gKS5qb2luKCIgIik7CiAgICBwYXRocyArPSBgPHBv
bHlsaW5lIHBvaW50cz0iJHtwdHN9IiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWFjY2VudCkiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9
InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+YDsKICB9KTsKICByZXR1cm4gYDxzdmcgdmlld0JveD0iMCAwICR7V30gJHtIfSIgd2lkdGg9IjEw
MCUiIGhlaWdodD0iJHtIfSIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOiR7V31weDsiPgogICAgPGxpbmUgeDE9IiR7cGFkfSIgeTE9IiR7SCAv
IDJ9IiB4Mj0iJHtXIC0gcGFkfSIgeTI9IiR7SCAvIDJ9IiBzdHJva2U9InZhcigtLWNhcmQyKSIgc3Ryb2tlLXdpZHRoPSIxIi8+JHtwYXRoc308L3N2Zz5g
Owp9Ci8qIG5vLXJlY29nbml6ZXIgbW9kZTogdGhlIHNhbWUgcmVzdWx0IHJvdyB3aGV0aGVyIHRoZSByZWNvcmRpbmcgc3RvcHBlZCBieQogICBpdHNlbGYg
b3IgdGhlIGxlYXJuZXIgdGFwcGVkIOKPuSAodGhlIGVuZ2luZSB1c2VkIHRvIHNob3cgbm90aGluZyBvbiBhIG1hbnVhbCBzdG9wKSAqLwpmdW5jdGlvbiB3
b3JkU2VsZlJlc3VsdChyZXMsIHRhcmdldCkgewogIHJlcy5pbm5lckhUTUwgPSBgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBvbmNsaWNrPSJwbGF5TXlSZWMo
KSIgc3R5bGU9Im1hcmdpbjowIDRweCAwIDA7Ij7ilrbvuI8gTXkgdm9pY2U8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InNheSgn
JHt0YXJnZXQucmVwbGFjZSgvJy9nLCAiXFwnIil9JywwLjcpIiBzdHlsZT0ibWFyZ2luOjAgNHB4IDAgMDsiPvCflIogV29yZDwvYnV0dG9uPjxidXR0b24g
Y2xhc3M9InNuZGJ0biIgb25jbGljaz0id29yZFNlbGZQYXNzKCkiIHN0eWxlPSJtYXJnaW46MDsiPvCfmI4gU291bmRlZCByaWdodDwvYnV0dG9uPmA7CiAg
cGl0Y2hSZW5kZXIocmVzLCB0YXJnZXQsIHBpdGNoU3RvcCgpKTsKfQpmdW5jdGlvbiBwaXRjaFJlbmRlcihob3N0LCB0YXJnZXQsIGFuKSB7CiAgaWYgKCFo
b3N0IHx8ICFhbikgcmV0dXJuOwogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cVBpdGNoIik7IGlmIChvbGQpIG9sZC5yZW1vdmUo
KTsKICBjb25zdCB2ID0gcGl0Y2hWZXJkaWN0KHRhcmdldCwgYW4pOwogIGlmICghdikgcmV0dXJuOwogIGNvbnN0IGJveCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogIGJveC5pZCA9ICJ2cVBpdGNoIjsKICBib3guc3R5bGUuY3NzVGV4dCA9ICJtYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDEy
cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjp2YXIoLS10
ZXh0KTsiOwogIGNvbnN0IGhlYWQgPSBgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9udC13ZWlnaHQ6ODAwO2Nv
bG9yOnZhcigtLWFjY2VudDIpO21hcmdpbi1ib3R0b206NHB4OyI+8J+OtSBUT05FIENIRUNLIMK3IFlPVVIgVk9JQ0UsIE5PVCBUSEUgVFJBTlNDUklQVDwv
ZGl2PmA7CiAgbGV0IGJvZHkgPSAiIjsKICBpZiAodi5ub25lKSBib2R5ID0gYDxkaXYgY2xhc3M9ImhlYXJkIj5JIGNvdWxkIG5vdCBmaW5kIHlvdXIgcGl0
Y2gg4oCUIHNwZWFrIGEgbGl0dGxlIGxvdWRlciwgY2xvc2VyIHRvIHRoZSBtaWMuPC9kaXY+YDsKICBlbHNlIGlmICh2Lm1pc21hdGNoKSBib2R5ID0gcGl0
Y2hTdmcodikgKyBgPGRpdiBjbGFzcz0iaGVhcmQiPllvdXIgbWVsb2R5IChzb2xpZCkuIEkgZm91bmQgJHt2Lm5TZWd9IHN5bGxhYmxlJHt2Lm5TZWcgPT09
IDEgPyAiIiA6ICJzIn0gZm9yICR7di5uU3lsfSDigJQgc2F5IGl0IG9uY2UsIGNsZWFybHksIHdpdGggYSB0aW55IHBhdXNlIGJldHdlZW4gd29yZHMsIGFu
ZCBJIHdpbGwgY2hlY2sgZWFjaCB0b25lLjwvZGl2PmA7CiAgZWxzZSB7CiAgICBib2R5ID0gcGl0Y2hTdmcodik7CiAgICBjb25zdCBsaW5lcyA9IHYuc3ls
cy5tYXAocyA9PiB7CiAgICAgIGlmIChzLm9rKSByZXR1cm4gYDxkaXY+4pyFIDxiPiR7cy5zeWx9PC9iPiDigJQgJHt0b25lTmFtZShzLmV4cCl9OiB5b3Vy
IHBpdGNoIHJlYWxseSBkaWQgaXQke3MuY29uZiA8IDAuMyA/ICIgKGp1c3QgYWJvdXQpIiA6ICIifS48L2Rpdj5gOwogICAgICBpZiAocy5jb25mID49IDAu
MykgcmV0dXJuIGA8ZGl2PvCfjq8gPGI+JHtzLnN5bH08L2I+IOKAlCB5b3VyIHZvaWNlIHdlbnQgJHt0b25lTmFtZShzLmdvdCl9OyB0aGlzIHdvcmQgbmVl
ZHMgJHt0b25lTmFtZShzLmV4cCl9LiAke1RPTkVfSElOVFtzLmV4cF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBUT05FX0hJTlRbcy5leHBdLnNsaWNl
KDEpfS4gPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6cG9pbnRlcjsiIG9uY2xpY2s9InNheSgn
JHtzLnN5bC5yZXBsYWNlKC8nL2csICJcXCciKX0nLDAuNDUpIj7wn5SKIHNsb3c8L3NwYW4+PC9kaXY+YDsKICAgICAgcmV0dXJuIGA8ZGl2PvCfpJQgPGI+
JHtzLnN5bH08L2I+IOKAlCBjbG9zZXN0IHRvICR7dG9uZU5hbWUocy5nb3QpfSwgdGFyZ2V0ICR7dG9uZU5hbWUocy5leHApfS4gU2F5IGl0IG9uY2UgbW9y
ZSwgYSBsaXR0bGUgbG91ZGVyLjwvZGl2PmA7CiAgICB9KS5qb2luKCIiKTsKICAgIGJvZHkgKz0gbGluZXMgKyBgPGRpdiBjbGFzcz0iaGVhcmQiIHN0eWxl
PSJtYXJnaW4tdG9wOjRweDsiPkRhc2hlZCA9IHRoZSB0YXJnZXQgbWVsb2R5JHt2LnJlcHMgPiAxID8gYCDCtyAke3YucmVwc30gcmVwZXRpdGlvbnMgaGVh
cmRgIDogIiJ9LjwvZGl2PmA7CiAgICB0cnkgewogICAgICBzYXZlLnRvbmVBdWRpbyA9IHNhdmUudG9uZUF1ZGlvIHx8IHsgb2s6IDAsIHRyaWVzOiAwIH07
CiAgICAgIHNhdmUudG9uZUF1ZGlvLnRyaWVzICs9IDE7IGlmICh2LnN5bHMuZXZlcnkocyA9PiBzLm9rKSkgc2F2ZS50b25lQXVkaW8ub2sgKz0gMTsKICAg
ICAgcGVyc2lzdCgpOwogICAgfSBjYXRjaCAoZSkge30KICB9CiAgYm94LmlubmVySFRNTCA9IGhlYWQgKyBib2R5OwogIGhvc3QuYXBwZW5kQ2hpbGQoYm94
KTsKfQovKiA9PT09PT09PT09PT09PT0gQuG6oE4gVknhu4ZUIOKAlCB0aGUgQUkgcGFydG5lciB3aG8gYXNrcyB5b3UgYmFjayA9PT09PT09PT09PT09PT0g
Ki8KLyogVHJhbnNwb3J0OiBWUV9BSV9VUkwgKFRvbSdzIHNlcnZlciBrZWVwcyB0aGUga2V5OyB1c2VkIGJ5IHRoZSBhcHAgYW5kIHRoZSBzaXRlKQogICBv
ciwgb24gdGhlIHdlYiBvbmx5LCB0aGUgbGVhcm5lcidzIG93biBBbnRocm9waWMga2V5LiBOb3RoaW5nIGlzIHNlbnQgYW55d2hlcmUKICAgYmVmb3JlIHRo
ZSBjb25zZW50IG1vZGFsIGJlbG93IGlzIGFjY2VwdGVkIOKAlCBBcHAgU3RvcmUgNS4xLjEoaSkgYW5kIHBsYWluIGRlY2VuY3kuICovCmNvbnN0IFZRX0FJ
X1VSTCA9ICJodHRwczovL3RvbXBoYW0uY2Evd3AtanNvbi92cS92MS9jaGF0IjsgLy8gVG9tJ3MgcHJveHkgKHZxLWFpLXByb3h5LnBocCk7ICIiIHdvdWxk
IGZhbGwgYmFjayB0byB3ZWItb25seSBCWU8ga2V5CmZ1bmN0aW9uIHZxQWlDb25zZW50KCkgeyB0cnkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0o
InZxQWlDb25zZW50IikgPT09ICIxIiB8fCAhIShzYXZlICYmIHNhdmUuYWlDKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfQpmdW5jdGlvbiB2
cUFpVHJhbnNwb3J0KCkgeyByZXR1cm4gVlFfQUlfVVJMID8gInByb3h5IiA6ICghd2luZG93LlZRX0FQUCAmJiBmdEFwaUtleSgpID8gImtleSIgOiAiIik7
IH0KZnVuY3Rpb24gdnFBaU9uKCkgeyByZXR1cm4gISF2cUFpVHJhbnNwb3J0KCkgJiYgdnFBaUNvbnNlbnQoKSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgi
dnFBaU9mZiIpICE9PSAiMSI7IH0KZnVuY3Rpb24gdnFBaVBlcnNvbmEoKSB7CiAgY29uc3Qgc291dGggPSB0eXBlb2YgdnFTb3V0aCA9PT0gImZ1bmN0aW9u
IiAmJiB2cVNvdXRoKCk7CiAgY29uc3QgZmFtID0gc2F2ZS5mYW1pbHkgfHwge307CiAgY29uc3QgbmFtZXMgPSBbXTsKICBpZiAoZmFtLm5hbWUpIG5hbWVz
LnB1c2goYHRoZSBsZWFybmVyJ3MgbmFtZSBpcyAke2ZhbS5uYW1lfSAoYWRkcmVzcyB0aGVtIGFzICR7ZmFtLmFkZHIgfHwgImFuaCJ9L2NvbiBhcyBhIGNv
dXNpbiB3b3VsZClgKTsKICBpZiAoZmFtLmJhKSBuYW1lcy5wdXNoKGB0aGVpciBncmFuZG1vdGhlciBpcyBiw6AgJHtmYW0uYmFTaWRlIHx8ICJuZ2/huqFp
In0gJHtmYW0uYmF9YCk7CiAgaWYgKGZhbS5tZSkgbmFtZXMucHVzaChgdGhlaXIgbW90aGVyIGlzICR7ZmFtLm1lfWApOwogIGlmIChmYW0uZm9yV2hvICYm
IGZhbS5mb3JXaG8ubGVuZ3RoKSBuYW1lcy5wdXNoKGB0aGV5IGFyZSBsZWFybmluZyB0byB0YWxrIHdpdGg6ICR7ZmFtLmZvcldoby5qb2luKCIsICIpfWAp
OwogIGNvbnN0IHF1ZXN0ID0gKGN1ciAmJiB0eXBlb2YgY3VyLm4gPT09ICJudW1iZXIiKSA/IGN1ci5uIDogKHNhdmUubGFzdFF1ZXN0IHx8IDEpOwogIGNv
bnN0IEwgPSAodHlwZW9mIExFU1NPTlMgIT09ICJ1bmRlZmluZWQiKSAmJiBMRVNTT05TLmZpbmQobCA9PiBsLm4gPT09IHF1ZXN0KTsKICBjb25zdCB3b3Jk
cyA9IEwgPyBMLndvcmRzLnNsaWNlKDAsIDI0KS5tYXAodyA9PiB3WzBdKS5qb2luKCIsICIpIDogIiI7CiAgY29uc3Qga25vd24gPSAodHlwZW9mIHRvdGFs
TGVhcm5lZCA9PT0gImZ1bmN0aW9uIikgPyB0b3RhbExlYXJuZWQoKSA6IDA7CiAgcmV0dXJuIGBZb3UgYXJlIExpbmgsIHRoZSBsZWFybmVyJ3MgY291c2lu
IOKAlCB3YXJtLCBmdW5ueSwgcGF0aWVudC4gVGhleSBhcmUgYSBoZXJpdGFnZSBsZWFybmVyIChWaWV0bmFtZXNlIGZhbWlseSwgZ3JldyB1cCBzcGVha2lu
ZyBFbmdsaXNoKSBhdCBhIGJlZ2lubmVyIGxldmVsOiBhYm91dCAke2tub3dufSB3b3JkcyBsZWFybmVkIHNvIGZhci4KU3BlYWsgJHtzb3V0aCA/ICJTT1VU
SEVSTiAoU8OgaSBHw7JuKSBWaWV0bmFtZXNlOiBk4bqhLCBtw6EsIGJhLCBseSwgcXXhurlvLCBow7RuZyIgOiAiTk9SVEhFUk4gKEjDoCBO4buZaSkgVmll
dG5hbWVzZTogdsOibmcsIG3hurksIGLhu5EsIGPhu5FjLCBy4bq9LCBraMO0bmcifS4gJHtuYW1lcy5sZW5ndGggPyAiRmFtaWx5IGZhY3RzOiAiICsgbmFt
ZXMuam9pbigiOyAiKSArICIuIiA6ICIifQoke3dvcmRzID8gIlRoZWlyIGN1cnJlbnQgcXVlc3Qgd29yZHMgKHVzZSB0aGVzZSB3aGVuIG5hdHVyYWwpOiAi
ICsgd29yZHMgKyAiLiIgOiAiIn0KUnVsZXM6CjEuIFJlcGx5IGluIDHigJMyIFNIT1JUIHNpbXBsZSBzZW50ZW5jZXMsIHRoZW4gYXNrIGV4YWN0bHkgT05F
IGZvbGxvdy11cCBxdWVzdGlvbiB0aGV5IGNhbiBhbnN3ZXIgd2l0aCB3b3JkcyB0aGV5IGtub3cuCjIuIFB1c2ggYmFjayBnZW50bHk6IGlmIHRoZXkgYW5z
d2VyIHdpdGggb25lIHdvcmQsIGFzayB0aGVtIHRvIHNheSBpdCBhcyBhIGZ1bGwgc2VudGVuY2UgYW5kIGdpdmUgdGhlIHBhdHRlcm4gKGUuZy4gIkNvbiB0
aMOtY2ggLi4uIGzhuq9tLiIpLiBJZiB0aGV5IHdyaXRlIEVuZ2xpc2gsIGFuc3dlciBpbiBWaWV0bmFtZXNlIGFuZCBnaXZlIHRoZW0gdGhlIFZpZXRuYW1l
c2UgZm9yIHdoYXQgdGhleSB0cmllZCB0byBzYXkuCjMuIElmIHRoZWlyIFZpZXRuYW1lc2UgaGFzIGEgY2xlYXIgbWlzdGFrZSAod3Jvbmcgd29yZCwgbWlz
c2luZyB0b25lIG1hcmssIHdyb25nIHByb25vdW4gZm9yIGEgcmVsYXRpdmUg4oCUIHRoZSBjbGFzc2ljIG9uZSBpcyAidMO0aSIgd2l0aCBmYW1pbHksIHdo
ZXJlIGNvbi9jaMOhdS9lbS9hbmgvY2jhu4sgYmVsb25ncyksIHB1dCBPTkUgZml4IGluICJmaXgiOiAid2hhdCB0aGV5IHNhaWQg4oaSIG5hdHVyYWwgdmVy
c2lvbiAoc2hvcnQgcmVhc29uIGluIEVuZ2xpc2gpIi4gT3RoZXJ3aXNlIGZpeCA9IG51bGwuCjQuIE5ldmVyIGxlY3R1cmUuIE5ldmVyIHN3aXRjaCB0byBF
bmdsaXNoIGluICJ2aSIuIEtlZXAgaXQgYWJvdXQgdGhlaXIgbGlmZSBhbmQgZmFtaWx5Lgo1LiBUaGUgbGFuZ3VhZ2UgaXMgVklFVE5BTUVTRSAodGnhur9u
ZyBWaeG7h3QpIHdpdGggZnVsbCB0b25lIG1hcmtzIOKAlCBuZXZlciBhbnkgb3RoZXIgRWFzdCBBc2lhbiBsYW5ndWFnZSBvciBzY3JpcHQuClJlc3BvbmQg
d2l0aCBPTkxZIHRoaXMgSlNPTjogeyJ2aSI6InlvdXIgVmlldG5hbWVzZSByZXBseSIsImVuIjoiRW5nbGlzaCB0cmFuc2xhdGlvbiIsImZpeCI6bnVsbCBv
ciAi4oCmIn1gOwp9CmFzeW5jIGZ1bmN0aW9uIGZ0Q2xhdWRlUmVwbHkodGV4dCkgewogIGlmICghdnFBaUNvbnNlbnQoKSkgdGhyb3cgbmV3IEVycm9yKCJu
byBjb25zZW50Iik7CiAgY29uc3Qgc3lzdGVtID0gdnFBaVBlcnNvbmEoKTsKICBjb25zdCBtZXNzYWdlcyA9IEYuaGlzdC5zbGljZSgtMTIpLm1hcChtID0+
ICh7IHJvbGU6IG0ucm9sZSwgY29udGVudDogU3RyaW5nKG0uY29udGVudCkuc2xpY2UoMCwgNjAwKSB9KSk7CiAgbGV0IHJhdzsKICBpZiAodnFBaVRyYW5z
cG9ydCgpID09PSAicHJveHkiKSB7CiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChWUV9BSV9VUkwsIHsgbWV0aG9kOiAiUE9TVCIsIGhlYWRlcnM6IHsg
ImNvbnRlbnQtdHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIiB9LCBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHN5c3RlbSwgbWVzc2FnZXMgfSkgfSk7CiAgICBp
ZiAoIXJlcy5vaykgdGhyb3cgbmV3IEVycm9yKCJzZXJ2ZXIgIiArIHJlcy5zdGF0dXMpOwogICAgcmF3ID0gKGF3YWl0IHJlcy5qc29uKCkpLnRleHQgfHwg
IiI7CiAgfSBlbHNlIHsKICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKCJodHRwczovL2FwaS5hbnRocm9waWMuY29tL3YxL21lc3NhZ2VzIiwgewogICAg
ICBtZXRob2Q6ICJQT1NUIiwKICAgICAgaGVhZGVyczogeyAiY29udGVudC10eXBlIjogImFwcGxpY2F0aW9uL2pzb24iLCAieC1hcGkta2V5IjogZnRBcGlL
ZXkoKSwgImFudGhyb3BpYy12ZXJzaW9uIjogIjIwMjMtMDYtMDEiLCAiYW50aHJvcGljLWRhbmdlcm91cy1kaXJlY3QtYnJvd3Nlci1hY2Nlc3MiOiAidHJ1
ZSIgfSwKICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBtb2RlbDogImNsYXVkZS1oYWlrdS00LTUtMjAyNTEwMDEiLCBtYXhfdG9rZW5zOiAzMDAsIHN5
c3RlbSwgbWVzc2FnZXMgfSkKICAgIH0pOwogICAgaWYgKCFyZXMub2spIHRocm93IG5ldyBFcnJvcigiQVBJICIgKyByZXMuc3RhdHVzKTsKICAgIHJhdyA9
IChhd2FpdCByZXMuanNvbigpKS5jb250ZW50WzBdLnRleHQ7CiAgfQogIGNvbnN0IG0gPSByYXcubWF0Y2goL1x7W1xzXFNdKlx9Lyk7CiAgY29uc3QgaiA9
IEpTT04ucGFyc2UobSA/IG1bMF0gOiByYXcpOwogIGNvbnN0IHZpID0gai52aSB8fCBqLmtyIHx8ICIiOwogIGNvbnN0IGNqayA9IFsuLi52aV0uc29tZShj
aCA9PiB7IGNvbnN0IGMgPSBjaC5jaGFyQ29kZUF0KDApOyByZXR1cm4gKGMgPj0gMHgxMTAwICYmIGMgPD0gMHgxMUZGKSB8fCAoYyA+PSAweDMxMzAgJiYg
YyA8PSAweDMxOEYpIHx8IChjID49IDB4QUMwMCAmJiBjIDw9IDB4RDdBRikgfHwgKGMgPj0gMHgzMDQwICYmIGMgPD0gMHgzMEZGKSB8fCAoYyA+PSAweDRF
MDAgJiYgYyA8PSAweDlGRkYpOyB9KTsKICBpZiAoIXZpIHx8IGNqaykgdGhyb3cgbmV3IEVycm9yKCJub3QgVmlldG5hbWVzZSIpOyAvLyBDSkstc2NyaXB0
IGd1YXJkOiB0aGUgYnVpbHQtaW4gcGFydG5lciB0YWtlcyBvdmVyCiAgcmV0dXJuIHsga3I6IHZpLCBlbjogai5lbiwgZml4OiBqLmZpeCB9Owp9Ci8qIC0t
LS0gY29uc2VudDogd2hhdCBpcyBzZW50LCB3aG8gcmVjZWl2ZXMgaXQsIHdoeTsgZGVjbGluaW5nIGtlZXBzIHRoZSBhcHAgZnVsbHkgdXNhYmxlIC0tLS0g
Ki8KZnVuY3Rpb24gdnFBaUNvbnNlbnRBc2sob25BZ3JlZSkgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cUFpV3JhcCIpOyBp
ZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3QgcHJveHkgPSB2cUFpVHJhbnNwb3J0KCkgPT09ICJwcm94eSI7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogIHcuaWQgPSAidnFBaVdyYXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tn
cm91bmQ6cmdiYSgyMCwxNCw0LC41NSk7ei1pbmRleDoxMDAwMTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50
ZXI7cGFkZGluZzoxNnB4O292ZXJmbG93OmF1dG87IjsKICBjb25zdCByb3cgPSAoZSwgdCkgPT4gYDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6MTBw
eDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O21hcmdpbi10b3A6OXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxOHB4OyI+JHtlfTwvc3Bhbj48ZGl2IHN0
eWxlPSJmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuNTU7Y29sb3I6dmFyKC0tdGV4dCk7Ij4ke3R9PC9kaXY+PC9kaXY+YDsKICB3LmlubmVySFRN
TCA9IGA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoycHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjE4cHg7
bWF4LXdpZHRoOjQ0MHB4O3dpZHRoOjEwMCU7cGFkZGluZzoyMnB4O2JveC1zaGFkb3c6MCAxOHB4IDUwcHggcmdiYSgwLDAsMCwuMyk7bWF4LWhlaWdodDo5
MnZoO292ZXJmbG93OmF1dG87Ij4KICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIxcHg7Zm9udC13ZWlnaHQ6
ODAwO2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuMjsiPuKcqCBUYWxrIHdpdGggTGluaCwgeW91ciBBSSBjb3VzaW48L2Rpdj4KICAgIDxkaXYg
c3R5bGU9ImNvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRweDsiPkJlZm9yZSBhbnl0aGluZyBpcyBzZW50LCBoZXJlIGlz
IGV4YWN0bHkgd2hhdCBoYXBwZW5zLjwvZGl2PgogICAgJHtyb3coIvCfk6QiLCBgPGI+V2hhdCBpcyBzZW50OjwvYj4gdGhlIHRleHQgb2Ygd2hhdCB5b3Ug
c2F5IG9yIHR5cGUgaW4gdGhpcyBjb252ZXJzYXRpb24gKGEgdHJhbnNjcmlwdCDigJQgbmV2ZXIgeW91ciBhdWRpbyksIHRoZSBuYW1lcyBhbmQgdGl0bGVz
IHlvdSBlbnRlcmVkIGluIE15IEZhbWlseSwgYW5kIHdoaWNoIHF1ZXN0IHlvdSBhcmUgb24uYCl9CiAgICAke3Jvdygi8J+TrCIsIHByb3h5CiAgICAgID8g
YDxiPldobyByZWNlaXZlcyBpdDo8L2I+IFRvbSdzIHNlcnZlciAodG9tcGhhbS5jYSksIHdoaWNoIGZvcndhcmRzIGl0IHRvIEFudGhyb3BpYydzIENsYXVk
ZSBtb2RlbCB0byB3cml0ZSB0aGUgcmVwbHkuIEFudGhyb3BpYyBkb2VzIG5vdCB1c2UgQVBJIGRhdGEgdG8gdHJhaW4gaXRzIG1vZGVscy5gCiAgICAgIDog
YDxiPldobyByZWNlaXZlcyBpdDo8L2I+IEFudGhyb3BpYyAoQ2xhdWRlKSwgZGlyZWN0bHkgZnJvbSB0aGlzIGJyb3dzZXIgdXNpbmcgdGhlIEFQSSBrZXkg
eW91IHByb3ZpZGUuIEFudGhyb3BpYyBkb2VzIG5vdCB1c2UgQVBJIGRhdGEgdG8gdHJhaW4gaXRzIG1vZGVscy5gKX0KICAgICR7cm93KCLwn46vIiwgYDxi
PldoeTo8L2I+IHRvIHJlcGx5IGluIG5hdHVyYWwgVmlldG5hbWVzZSwgYXNrIHlvdSBmb2xsb3ctdXAgcXVlc3Rpb25zLCBhbmQgc3VnZ2VzdCBhIGZpeCB3
aGVuIHNvbWV0aGluZyBpcyBvZmYuYCl9CiAgICAke3Jvdygi8J+aqyIsIGA8Yj5Ob3Qgc2VudDo8L2I+IHlvdXIgcmVjb3JkaW5ncywgeW91ciBwcm9ncmVz
cywgeW91ciBlbWFpbC4gWW91IGNhbiB0dXJuIHRoaXMgb2ZmIGFueSB0aW1lIGZyb20gdGhlIPCfpJYgYnV0dG9uLmApfQogICAgPGJ1dHRvbiBjbGFzcz0i
YnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW4tdG9wOjE2cHg7cGFkZGluZzoxM3B4O2ZvbnQtc2l6ZToxNXB4OyIgaWQ9InZxQWlBZ3JlZSI+SSBhZ3Jl
ZSDigJQgc3RhcnQgdGFsa2luZzwvYnV0dG9uPgogICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW46OHB4IDAgMDtw
YWRkaW5nOjExcHg7Zm9udC1zaXplOjEzLjVweDsiIGlkPSJ2cUFpTm8iPk5vdCBub3cg4oCUIGtlZXAgdGhlIGJ1aWx0LWluIHBhcnRuZXI8L2J1dHRvbj4K
ICA8L2Rpdj5gOwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7CiAgdy5xdWVyeVNlbGVjdG9yKCIjdnFBaUFncmVlIikub25jbGljayA9ICgpID0+
IHsKICAgIHRyeSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cUFpQ29uc2VudCIsICIxIik7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ2cUFpT2ZmIik7
IHNhdmUuYWlDID0gMTsgcGVyc2lzdCgpOyB9IGNhdGNoIChlKSB7fQogICAgdy5yZW1vdmUoKTsgaWYgKG9uQWdyZWUpIG9uQWdyZWUoKTsKICB9OwogIHcu
cXVlcnlTZWxlY3RvcigiI3ZxQWlObyIpLm9uY2xpY2sgPSAoKSA9PiB7IHcucmVtb3ZlKCk7IHRyeSB7IHJlbmRlckZ0RW5naW5lKCk7IH0gY2F0Y2ggKGUp
IHt9IH07Cn0KLyogLS0tLSB0aGUg8J+kliAvIOKcqCBidXR0b246IG9uZSBjdXN0b20gc2hlZXQsIG5vIHdpbmRvdy5jb25maXJtIG9yIHByb21wdCAtLS0t
ICovCmZ1bmN0aW9uIHZxQWlTZXR0aW5ncygpIHsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFBaVdyYXAiKTsgaWYgKG9sZCkg
b2xkLnJlbW92ZSgpOwogIGNvbnN0IHRyID0gdnFBaVRyYW5zcG9ydCgpLCBvbiA9IHZxQWlPbigpLCBjb25zZW50ID0gdnFBaUNvbnNlbnQoKTsKICBjb25z
dCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9ICJ2cUFpV3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmZp
eGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDIwLDE0LDQsLjU1KTt6LWluZGV4OjEwMDAxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVz
dGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7b3ZlcmZsb3c6YXV0bzsiOwogIGxldCBib2R5ID0gYDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdl
b3JnaWEsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpOyI+Q29udmVyc2F0aW9uIHBhcnRuZXI8L2Rpdj4K
ICAgIDxkaXYgc3R5bGU9ImNvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRweDtsaW5lLWhlaWdodDoxLjU7Ij7wn6SWIDxi
PkJ1aWx0LWluPC9iPiBmb2xsb3dzIGEgc2NyaXB0IGFuZCBuZXZlciBsZWF2ZXMgeW91ciBkZXZpY2UuIOKcqCA8Yj5MaW5oIChBSSk8L2I+IGFuc3dlcnMg
YW55dGhpbmcsIGFza3MgeW91IGJhY2ssIGFuZCBjb3JyZWN0cyB5b3UuPC9kaXY+YDsKICBpZiAoIXRyKSB7CiAgICBib2R5ICs9IHdpbmRvdy5WUV9BUFAK
ICAgICAgPyBgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS41NTtjb2xvcjp2YXIoLS10ZXh0KTsi
PlRoZSBBSSBwYXJ0bmVyIGlzIG5vdCBzd2l0Y2hlZCBvbiBpbiB0aGlzIHZlcnNpb24geWV0IOKAlCBpdCBhcnJpdmVzIHdpdGggYSBmdXR1cmUgdXBkYXRl
LiBUaGUgYnVpbHQtaW4gcGFydG5lciBjb3ZlcnMgYWxsIDEyMCBjb252ZXJzYXRpb24gdHVybnMuPC9kaXY+YAogICAgICA6IGA8ZGl2IHN0eWxlPSJtYXJn
aW4tdG9wOjE0cHg7Zm9udC1zaXplOjEzLjVweDtsaW5lLWhlaWdodDoxLjU1O2NvbG9yOnZhcigtLXRleHQpOyI+VG8gdXNlIExpbmggaGVyZSwgcGFzdGUg
eW91ciBvd24gQW50aHJvcGljIEFQSSBrZXkgKHNrLWFudC3igKYpLiBJdCBpcyBzYXZlZCBvbmx5IGluIHRoaXMgYnJvd3NlciBhbmQgdXNlZCBvbmx5IGZv
ciB0aGlzIGNvbnZlcnNhdGlvbi48L2Rpdj4KICAgICAgICAgPGlucHV0IGlkPSJ2cUFpS2V5IiBwbGFjZWhvbGRlcj0ic2stYW50LeKApiIgc3R5bGU9Indp
ZHRoOjEwMCU7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6OXB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tY2FyZDIpO2JhY2tn
cm91bmQ6dmFyKC0tYmcpO2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE0cHg7Ij4KICAgICAgICAgPGJ1dHRvbiBj
bGFzcz0iYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMnB4OyIgaWQ9InZxQWlTYXZlS2V5Ij5TYXZlIGtleSBhbmQg
Y29udGludWU8L2J1dHRvbj5gOwogIH0gZWxzZSB7CiAgICBib2R5ICs9IGA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7cGFkZGluZzoxMHB4IDEycHg7
Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij5TdGF0dXM6IDxi
PiR7b24gPyAi4pyoIExpbmggKEFJKSBpcyBPTiIgOiAoY29uc2VudCA/ICLwn6SWIEJ1aWx0LWluIChBSSBwYXVzZWQpIiA6ICLwn6SWIEJ1aWx0LWluIChB
SSBub3QgeWV0IGFsbG93ZWQpIil9PC9iPjwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbi10b3A6MTJw
eDtwYWRkaW5nOjEycHg7IiBpZD0idnFBaVRvZ2dsZSI+JHtvbiA/ICJTd2l0Y2ggdG8gdGhlIGJ1aWx0LWluIHBhcnRuZXIiIDogIlR1cm4gb24gTGluaCAo
QUkpIn08L2J1dHRvbj5gOwogICAgaWYgKHRyID09PSAia2V5IikgYm9keSArPSBgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0id2lkdGg6MTAwJTtt
YXJnaW46OHB4IDAgMDtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEzcHg7IiBpZD0idnFBaUZvcmdldCI+UmVtb3ZlIG15IEFQSSBrZXkgZnJvbSB0aGlzIGJy
b3dzZXI8L2J1dHRvbj5gOwogIH0KICBib2R5ICs9IGA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo4cHggMCAwO3Bh
ZGRpbmc6MTBweDtmb250LXNpemU6MTNweDsiIGlkPSJ2cUFpQ2xvc2UiPkNsb3NlPC9idXR0b24+YDsKICB3LmlubmVySFRNTCA9IGA8ZGl2IHN0eWxlPSJi
YWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoycHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjE4cHg7bWF4LXdpZHRoOjQyMHB4O3dp
ZHRoOjEwMCU7cGFkZGluZzoyMnB4O2JveC1zaGFkb3c6MCAxOHB4IDUwcHggcmdiYSgwLDAsMCwuMyk7Ij4ke2JvZHl9PC9kaXY+YDsKICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHcpOwogIGNvbnN0IHEgPSBpZCA9PiB3LnF1ZXJ5U2VsZWN0b3IoIiMiICsgaWQpOwogIHEoInZxQWlDbG9zZSIpLm9uY2xpY2sg
PSAoKSA9PiB3LnJlbW92ZSgpOwogIGlmIChxKCJ2cUFpU2F2ZUtleSIpKSBxKCJ2cUFpU2F2ZUtleSIpLm9uY2xpY2sgPSAoKSA9PiB7CiAgICBjb25zdCBr
ID0gKHEoInZxQWlLZXkiKS52YWx1ZSB8fCAiIikudHJpbSgpOwogICAgaWYgKCFrLnN0YXJ0c1dpdGgoInNrLWFudCIpKSB7IHEoInZxQWlLZXkiKS5zdHls
ZS5ib3JkZXJDb2xvciA9ICJ2YXIoLS1yZWQpIjsgcmV0dXJuOyB9CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgia3FBcGlLZXkiLCBrKTsgdy5yZW1vdmUo
KTsKICAgIHZxQWlDb25zZW50QXNrKCgpID0+IHsgcmVuZGVyRnRFbmdpbmUoKTsgdnFBaUhlbGxvKCk7IH0pOwogIH07CiAgaWYgKHEoInZxQWlUb2dnbGUi
KSkgcSgidnFBaVRvZ2dsZSIpLm9uY2xpY2sgPSAoKSA9PiB7CiAgICB3LnJlbW92ZSgpOwogICAgaWYgKG9uKSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2
cUFpT2ZmIiwgIjEiKTsgcmVuZGVyRnRFbmdpbmUoKTsgcmV0dXJuOyB9CiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgidnFBaU9mZiIpOwogICAgaWYg
KGNvbnNlbnQpIHsgcmVuZGVyRnRFbmdpbmUoKTsgdnFBaUhlbGxvKCk7IH0gZWxzZSB2cUFpQ29uc2VudEFzaygoKSA9PiB7IHJlbmRlckZ0RW5naW5lKCk7
IHZxQWlIZWxsbygpOyB9KTsKICB9OwogIGlmIChxKCJ2cUFpRm9yZ2V0IikpIHEoInZxQWlGb3JnZXQiKS5vbmNsaWNrID0gKCkgPT4geyBsb2NhbFN0b3Jh
Z2UucmVtb3ZlSXRlbSgia3FBcGlLZXkiKTsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxQWlPZmYiLCAiMSIpOyB3LnJlbW92ZSgpOyByZW5kZXJGdEVuZ2lu
ZSgpOyB9Owp9CmZ1bmN0aW9uIGZ0RW5naW5lVGFwKCkgeyB2cUFpU2V0dGluZ3MoKTsgfQovKiBmaXJzdCB0aW1lIGluIEZyZWUgVGFsazogc2F5IHBsYWlu
bHkgdGhhdCB0aGUgYnVpbHQtaW4gcGFydG5lciBpcyBhIHNjcmlwdCBhbmQgb2ZmZXIgTGluaCAqLwpmdW5jdGlvbiB2cUxpbmhPZmZlcigpIHsKICB0cnkg
ewogICAgaWYgKCFhaU9wdEluKCkgfHwgdnFBaU9uKCkpIHJldHVybjsKICAgIGNvbnN0IHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnRTdGF0dXMi
KTsgaWYgKCFzKSByZXR1cm47CiAgICBzLmlubmVySFRNTCA9IGA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggMTJweDtib3JkZXIt
cmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MS41O3RleHQt
YWxpZ246bGVmdDsiPgogICAgICDwn6SWIDxiPkJ1aWx0LWluPC9iPiBmb2xsb3dzIGEgc2NyaXB0IGFuZCB3b3JrcyBvZmZsaW5lLiDinKggPGI+TGluaDwv
Yj4gYWN0dWFsbHkgdW5kZXJzdGFuZHMgeW91IGFuZCBhc2tzIGJhY2sgKG5lZWRzIGludGVybmV0KS4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBz
dHlsZT0ibWFyZ2luOjhweCAwIDA7ZGlzcGxheTpibG9jazsiIG9uY2xpY2s9InZxTGluaFRyeSgpIj7inKggVHJ5IExpbmg8L2J1dHRvbj48L3NwYW4+YDsK
ICB9IGNhdGNoIChlKSB7fQp9CmZ1bmN0aW9uIHZxTGluaFRyeSgpIHsKICBjb25zdCBnbyA9ICgpID0+IHsgcmVuZGVyRnRFbmdpbmUoKTsgdnFBaUhlbGxv
KCk7IH07CiAgaWYgKHZxQWlDb25zZW50KCkpIHsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZxQWlPZmYiKTsgZ28oKTsgfSBlbHNlIHZxQWlDb25zZW50
QXNrKGdvKTsKfQpmdW5jdGlvbiB2cUFpSGVsbG8oKSB7CiAgdHJ5IHsKICAgIGNvbnN0IHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnRTdGF0dXMi
KTsKICAgIGlmIChzKSBzLmlubmVySFRNTCA9IGDinKggTGluaCBpcyBoZXJlLiBTYXkgYW55dGhpbmcg4oCUIHNoZSB3aWxsIGFuc3dlciBhbmQgYXNrIHlv
dSBzb21ldGhpbmcgYmFjay5gOwogIH0gY2F0Y2ggKGUpIHt9Cn0KLyogPT09PT09PT09PT09PT09IE1ZIEZBTUlMWSDigJQgdGhlIGdhbWUgdXNlcyBZT1VS
IG5hbWVzID09PT09PT09PT09PT09PSAqLwovKiBzYXZlLmZhbWlseSA9IHsgbmFtZSwgYWRkciAoImFuaCJ8ImNo4buLIiksIGJhLCBiYVNpZGUgKCJu4buZ
aSJ8Im5nb+G6oWkiKSwgbWUgKG1vbSdzIG5hbWUpLCBmb3JXaG8gW10sIGRpYWxlY3QgfQogICBBcHBsaWVkIGJ5IHJld3JpdGluZyBTVE9SSUVTL1RBTEtT
IHN0cmluZ3MgZnJvbSBhIHByaXN0aW5lIGNvcHksIHNvIHNjb3JpbmcKICAgdGFyZ2V0cyAoIkFuaCBsw6AgVG9tLiIpIGNoYW5nZSB0b2dldGhlciB3aXRo
IHdoYXQgaXMgZGlzcGxheWVkLiAqLwpsZXQgVlFfREFUQTAgPSBudWxsOwpmdW5jdGlvbiBmYW1pbHlQcmVmKCkgeyByZXR1cm4gc2F2ZS5mYW1pbHkgfHwg
e307IH0KZnVuY3Rpb24gZmFtaWx5UmV3cml0ZShzKSB7CiAgaWYgKHR5cGVvZiBzICE9PSAic3RyaW5nIikgcmV0dXJuIHM7CiAgY29uc3QgZiA9IGZhbWls
eVByZWYoKTsKICBsZXQgeCA9IHM7CiAgaWYgKGYubmFtZSkgeCA9IHgucmVwbGFjZSgvXGJUb21cYi9nLCBmLm5hbWUpOwogIGlmIChmLm1lKSB4ID0geC5y
ZXBsYWNlKC9cYkjGsMahbmdcYi9nLCBmLm1lKTsKICBpZiAoZi5hZGRyID09PSAiY2jhu4siKSB7CiAgICAvLyBzZWxmLXByb25vdW4gYW5oIOKGkiBjaOG7
iyAoTGluaCBpcyB5b3VyIHlvdW5nZXIgY291c2luKTsgbmV2ZXIgdG91Y2ggInRp4bq/bmcgQW5oIgogICAgeCA9IHgucmVwbGFjZSgvKD88IVtUdF1p4bq/
bmcgKVxiQW5oXGIvZywgIkNo4buLIikucmVwbGFjZSgvKD88IVtUdF1p4bq/bmcgKVxiYW5oXGIvZywgImNo4buLIik7CiAgfQogIHJldHVybiB4Owp9CmZ1
bmN0aW9uIHZxQXBwbHlGYW1pbHkoKSB7CiAgaWYgKCFWUV9EQVRBMCkgVlFfREFUQTAgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHsgU1RPUklFUywg
VEFMS1MgfSkpOwogIGNvbnN0IGYgPSBmYW1pbHlQcmVmKCk7CiAgT2JqZWN0LmtleXMoVlFfREFUQTAuU1RPUklFUykuZm9yRWFjaChuID0+IHsKICAgIGNv
bnN0IHNyYyA9IFZRX0RBVEEwLlNUT1JJRVNbbl0sIGRzdCA9IFNUT1JJRVNbbl07CiAgICBkc3QudCA9IGZhbWlseVJld3JpdGUoc3JjLnQpOwogICAgbGV0
IGJhRG9uZSA9IGZhbHNlOwogICAgc3JjLnN0ZXBzLmZvckVhY2goKHN0LCBpKSA9PiB7CiAgICAgIGNvbnN0IGQgPSBkc3Quc3RlcHNbaV07CiAgICAgIGxl
dCBuYXIgPSBmYW1pbHlSZXdyaXRlKHN0Lm5hcik7CiAgICAgIGlmIChmLmJhICYmICFiYURvbmUgJiYgL3lvdXIgZ3JhbmRtb3RoZXIvaS50ZXN0KG5hcikp
IHsgbmFyID0gbmFyLnJlcGxhY2UoL3lvdXIgZ3JhbmRtb3RoZXIvaSwgbSA9PiBtICsgIiwgYsOgICIgKyBmLmJhICsgIiwiKTsgYmFEb25lID0gdHJ1ZTsg
fQogICAgICBkLm5hciA9IG5hcjsgZC53aG8gPSBmYW1pbHlSZXdyaXRlKHN0Lndobyk7IGQua3IgPSBmYW1pbHlSZXdyaXRlKHN0LmtyKTsgZC5lbiA9IGZh
bWlseVJld3JpdGUoc3QuZW4pOwogICAgICBkLmNoID0gc3QuY2gubWFwKGMgPT4gW2ZhbWlseVJld3JpdGUoY1swXSksIGZhbWlseVJld3JpdGUoY1sxXSks
IGNbMl1dKTsKICAgIH0pOwogIH0pOwogIE9iamVjdC5rZXlzKFZRX0RBVEEwLlRBTEtTKS5mb3JFYWNoKG4gPT4gewogICAgY29uc3Qgc3JjID0gVlFfREFU
QTAuVEFMS1Nbbl0sIGRzdCA9IFRBTEtTW25dOwogICAgaWYgKCFkc3QpIHJldHVybjsKICAgIGRzdC53aG8gPSBmYW1pbHlSZXdyaXRlKHNyYy53aG8pOyBk
c3QudCA9IGZhbWlseVJld3JpdGUoc3JjLnQpOwogICAgc3JjLnR1cm5zLmZvckVhY2goKHQsIGkpID0+IHsKICAgICAgY29uc3QgZCA9IGRzdC50dXJuc1tp
XTsKICAgICAgWyJxIiwgInFFbiIsICJ0YXNrIiwgImEiLCAiYUVuIl0uZm9yRWFjaChrID0+IGRba10gPSBmYW1pbHlSZXdyaXRlKHRba10pKTsKICAgICAg
ZC5hbHQgPSAodC5hbHQgfHwgW10pLm1hcChmYW1pbHlSZXdyaXRlKTsKICAgIH0pOwogIH0pOwp9CmZ1bmN0aW9uIGZhbWlseVN1bW1hcnkoKSB7CiAgY29u
c3QgZiA9IGZhbWlseVByZWYoKTsKICBjb25zdCBiaXRzID0gW107CiAgaWYgKGYuYmEpIGJpdHMucHVzaCgi8J+RtSBiw6AgIiArIGYuYmEgKyAoZi5iYVNp
ZGUgPyAiICgiICsgZi5iYVNpZGUgKyAiKSIgOiAiIikpOwogIGlmIChmLm1lKSBiaXRzLnB1c2goIvCfkakgbeG6uSAiICsgZi5tZSk7CiAgKGYuZm9yV2hv
IHx8IFtdKS5mb3JFYWNoKHcgPT4geyBpZiAoZi5tZSAmJiAvbeG6uXxtw6EvLnRlc3QodykpIHJldHVybjsgaWYgKGYuYmEgJiYgL2LDoC8udGVzdCh3KSkg
cmV0dXJuOyBiaXRzLnB1c2godyk7IH0pOyAvLyBuYW1lZCBsaW5lcyBhbHJlYWR5IGNvdmVyIHRoZW0KICByZXR1cm4gYml0cy5qb2luKCIgwrcgIik7Cn0K
ZnVuY3Rpb24gZmFtaWx5TGluZSgpIHsgLy8gdW5kZXIgdGhlIG1hcCBzdWJ0aXRsZQogIGNvbnN0IHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3Vi
dGl0bGUiKTsKICBpZiAoIXMpIHJldHVybjsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFGYW1MaW5lIik7IGlmIChvbGQpIG9s
ZC5yZW1vdmUoKTsKICBjb25zdCBzdW0gPSBmYW1pbHlTdW1tYXJ5KCk7CiAgaWYgKCFzdW0pIHJldHVybjsKICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgYS5pZCA9ICJ2cUZhbUxpbmUiOwogIGEuc3R5bGUuY3NzVGV4dCA9ICJtYXJnaW4tdG9wOjRweDtjb2xvcjp2YXIoLS1tdXRl
ZCk7Zm9udC1zaXplOjEyLjVweDsiOwogIGEuaW5uZXJIVE1MID0gIkxlYXJuaW5nIGZvciAiICsgc3VtICsgIiA8c3BhbiBvbmNsaWNrPVwib3BlbkZhbWls
eSgpXCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1hY2NlbnQyKTtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo3MDA7XCI+wrcgZWRpdDwvc3Bhbj4iOwogIHMu
YXBwZW5kQ2hpbGQoYSk7Cn0KZnVuY3Rpb24gb3BlbkZhbWlseSgpIHsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFGYW1XcmFw
Iik7IGlmIChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCBmID0gZmFtaWx5UHJlZigpOwogIGNvbnN0IGNoaXBzID0gWyLwn6eTIMO0bmcgYsOgIiwgIvCf
kakgbeG6uSIsICLwn5GoIGLhu5EiLCAi8J+nkSBjw7QgY2jDuiBiw6FjIiwgIvCfkpEgbXkgcGFydG5lciIsICLwn5G2IG15IGtpZHMiLCAi8J+ZiyBteXNl
bGYiXTsKICBjb25zdCBpbnAgPSAoaWQsIGxhYmVsLCB2YWwsIHBoKSA9PiBgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRl
ZCk7bWFyZ2luOjEwcHggMCA0cHg7Ij4ke2xhYmVsfTwvZGl2PgogICAgPGlucHV0IGlkPSIke2lkfSIgdmFsdWU9IiR7KHZhbCB8fCAiIikucmVwbGFjZSgv
Ii9nLCAiJnF1b3Q7Iil9IiBwbGFjZWhvbGRlcj0iJHtwaH0iIGF1dG9jYXBpdGFsaXplPSJ3b3JkcyIgYXV0b2NvbXBsZXRlPSJvZmYiCiAgICAgIHN0eWxl
PSJ3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjExcHggMTJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlk
IHZhcigtLWNhcmQyKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE1cHg7
Ij5gOwogIGNvbnN0IHNlZyA9IChpZCwgb3B0cywgY3VyKSA9PiBgPGRpdiBpZD0iJHtpZH0iIHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDttYXJnaW4t
dG9wOjZweDsiPiR7b3B0cy5tYXAobyA9PgogICAgYDxidXR0b24gZGF0YS12PSIke29bMF19IiBvbmNsaWNrPSJbLi4udGhpcy5wYXJlbnROb2RlLmNoaWxk
cmVuXS5mb3JFYWNoKGI9PmIuZGF0YXNldC5vbj0nJyk7dGhpcy5kYXRhc2V0Lm9uPScxJztbLi4udGhpcy5wYXJlbnROb2RlLmNoaWxkcmVuXS5mb3JFYWNo
KGI9PntiLnN0eWxlLmJhY2tncm91bmQ9Yi5kYXRhc2V0Lm9uPyd2YXIoLS1hY2NlbnQpJzondHJhbnNwYXJlbnQnO2Iuc3R5bGUuY29sb3I9Yi5kYXRhc2V0
Lm9uPycjZmZmJzondmFyKC0tYWNjZW50KSd9KSIgZGF0YS1vbj0iJHtjdXIgPT09IG9bMF0gPyAiMSIgOiAiIn0iCiAgICAgIHN0eWxlPSJmbGV4OjE7cGFk
ZGluZzo4cHggNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiR7Y3VyID09PSBvWzBd
ID8gInZhcigtLWFjY2VudCkiIDogInRyYW5zcGFyZW50In07Y29sb3I6JHtjdXIgPT09IG9bMF0gPyAiI2ZmZiIgOiAidmFyKC0tYWNjZW50KSJ9O2ZvbnQt
d2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+JHtvWzFdfTwvYnV0dG9uPmApLmpvaW4oIiIp
fTwvZGl2PmA7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHcuaWQgPSAidnFGYW1XcmFwIjsKICB3LnN0eWxlLmNzc1Rl
eHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA3MDt6LWluZGV4Ojk5OTk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNl
bnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDtvdmVyZmxvdzphdXRvOyI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0iYmFj
a2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXItcmFkaXVzOjE2cHg7bWF4LXdpZHRoOjQ0MHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDo5MnZoO292ZXJmbG93
OmF1dG87cGFkZGluZzoxOHB4O2JveC1zaGFkb3c6MCAxMHB4IDQwcHggIzAwMDAwMDU1OyI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXdlaWdodDo4MDA7Zm9u
dC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn5Go4oCN8J+RqeKAjfCfkacgTXkgZmFtaWx5PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNp
emU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjRweDtsaW5lLWhlaWdodDoxLjU7Ij5UZWxsIHRoZSBnYW1lIHdobyB5b3UgYXJlIGxl
YXJuaW5nIGZvci4gRXZlcnkgc3RvcnkgYW5kIGNvbnZlcnNhdGlvbiB3aWxsIHVzZSB5b3VyIHJlYWwgbmFtZXMg4oCUIGFuZCB5b3Ugd2lsbCBwcmFjdGlj
ZSBzYXlpbmcgeW91ciBvd24uPC9kaXY+CiAgICAke2lucCgiZmFtTmFtZSIsICJZb3VyIG5hbWUgKHRoZSBzdG9yaWVzIGNhbGwgeW91IHRoaXMpIiwgZi5u
YW1lLCAiVG9tIil9CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46MTBweCAwIDA7Ij5Ib3cgeW91
ciB5b3VuZ2VyIGNvdXNpbiBMaW5oIGFkZHJlc3NlcyB5b3U8L2Rpdj4KICAgICR7c2VnKCJmYW1BZGRyIiwgW1siYW5oIiwgImFuaCDigJQgb2xkZXIgYnJv
dGhlciJdLCBbImNo4buLIiwgImNo4buLIOKAlCBvbGRlciBzaXN0ZXIiXV0sIGYuYWRkciB8fCAiYW5oIil9CiAgICAke2lucCgiZmFtQmEiLCAiWW91ciBn
cmFuZG1vdGhlcidzIG5hbWUiLCBmLmJhLCAiTGFuIil9CiAgICAke3NlZygiZmFtU2lkZSIsIFtbIm7hu5lpIiwgImLDoCBu4buZaSDigJQgZGFkJ3Mgc2lk
ZSJdLCBbIm5nb+G6oWkiLCAiYsOgIG5nb+G6oWkg4oCUIG1vbSdzIHNpZGUiXV0sIGYuYmFTaWRlIHx8ICIiKX0KICAgICR7aW5wKCJmYW1NZSIsICJZb3Vy
IG1vdGhlcidzIG5hbWUiLCBmLm1lLCAiSMawxqFuZyIpfQogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFy
Z2luOjEycHggMCA0cHg7Ij5JIGFtIGxlYXJuaW5nIGZvcuKApjwvZGl2PgogICAgPGRpdiBpZD0iZmFtRm9yIiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgt
d3JhcDp3cmFwO2dhcDo2cHg7Ij4ke2NoaXBzLm1hcChjID0+IGA8YnV0dG9uIGRhdGEtdj0iJHtjfSIgZGF0YS1vbj0iJHsoZi5mb3JXaG8gfHwgW10pLmlu
Y2x1ZGVzKGMpID8gIjEiIDogIiJ9IiBvbmNsaWNrPSJ0aGlzLmRhdGFzZXQub249dGhpcy5kYXRhc2V0Lm9uPycnOicxJzt0aGlzLnN0eWxlLmJhY2tncm91
bmQ9dGhpcy5kYXRhc2V0Lm9uPyd2YXIoLS1jYXJkMiknOid0cmFuc3BhcmVudCc7dGhpcy5zdHlsZS5ib3JkZXJDb2xvcj10aGlzLmRhdGFzZXQub24/J3Zh
cigtLWFjY2VudCknOid2YXIoLS1jYXJkMiknIgogICAgICBzdHlsZT0icGFkZGluZzo3cHggMTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JvcmRlcjoxLjVw
eCBzb2xpZCAkeyhmLmZvcldobyB8fCBbXSkuaW5jbHVkZXMoYykgPyAidmFyKC0tYWNjZW50KSIgOiAidmFyKC0tY2FyZDIpIn07YmFja2dyb3VuZDokeyhm
LmZvcldobyB8fCBbXSkuaW5jbHVkZXMoYykgPyAidmFyKC0tY2FyZDIpIiA6ICJ0cmFuc3BhcmVudCJ9O2NvbG9yOnZhcigtLXRleHQpO2N1cnNvcjpwb2lu
dGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEzcHg7Ij4ke2N9PC9idXR0b24+YCkuam9pbigiIil9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJm
b250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46MTJweCAwIDA7Ij5NeSBmYW1pbHkgc3BlYWtzPC9kaXY+CiAgICAke3NlZygiZmFt
RGlhIiwgW1siQuG6r2MiLCAi8J+PriBOb3J0aGVybiJdLCBbIk5hbSIsICLwn4y0IFNvdXRoZXJuIl1dLCBmLmRpYWxlY3QgfHwgIkLhuq9jIil9CiAgICA8
ZGl2IHN0eWxlPSJmb250LXNpemU6MTEuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjZweDtsaW5lLWhlaWdodDoxLjU7Ij5UaGlzIGdhbWUg
dGVhY2hlcyBIw6AgTuG7mWkgcHJvbnVuY2lhdGlvbjsgaWYgeW91ciBmYW1pbHkgaXMgU291dGhlcm4sIHRoZSDwn5KhIHRpcHMgZmxhZyB0aGUgd29yZHMg
dGhhdCBkaWZmZXIg4oCUIGFuZCBTZWFzb24gMiAoU8OgaSBHw7JuKSBpcyBvbiB0aGUgd2F5LjwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4
O2dhcDo4cHg7bWFyZ2luLXRvcDoxNnB4OyI+CiAgICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxRmFtV3JhcCcpLnJl
bW92ZSgpIiBzdHlsZT0iZmxleDoxO3BhZGRpbmc6MTFweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWNhcmQyKTtiYWNr
Z3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsi
PkNhbmNlbDwvYnV0dG9uPgogICAgICA8YnV0dG9uIG9uY2xpY2s9ImZhbWlseVNhdmUoKSIgc3R5bGU9ImZsZXg6MjtwYWRkaW5nOjExcHg7Ym9yZGVyLXJh
ZGl1czoxMHB4O2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtjdXJzb3I6cG9pbnRlcjtmb250
LWZhbWlseTppbmhlcml0OyI+U2F2ZSBteSBmYW1pbHk8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PmA7CiAgdy5vbmNsaWNrID0gZSA9PiB7IGlmIChl
LnRhcmdldCA9PT0gdykgdy5yZW1vdmUoKTsgfTsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwp9CmZ1bmN0aW9uIGZhbWlseVNhdmUoKSB7CiAg
Y29uc3QgdiA9IGlkID0+IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkudmFsdWUgfHwgIiIpLnRyaW0oKS5zbGljZSgwLCAyNCk7CiAgY29uc3Qgc2Vn
diA9IGlkID0+IHsgY29uc3QgYiA9IFsuLi5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuY2hpbGRyZW5dLmZpbmQoeCA9PiB4LmRhdGFzZXQub24pOyBy
ZXR1cm4gYiA/IGIuZGF0YXNldC52IDogIiI7IH07CiAgY29uc3QgZm9yV2hvID0gWy4uLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmYW1Gb3IiKS5jaGls
ZHJlbl0uZmlsdGVyKGIgPT4gYi5kYXRhc2V0Lm9uKS5tYXAoYiA9PiBiLmRhdGFzZXQudik7CiAgc2F2ZS5mYW1pbHkgPSB7IG5hbWU6IHYoImZhbU5hbWUi
KSwgYWRkcjogc2VndigiZmFtQWRkciIpIHx8ICJhbmgiLCBiYTogdigiZmFtQmEiKSwgYmFTaWRlOiBzZWd2KCJmYW1TaWRlIiksIG1lOiB2KCJmYW1NZSIp
LCBmb3JXaG8sIGRpYWxlY3Q6IHNlZ3YoImZhbURpYSIpIHx8ICJC4bqvYyIgfTsKICBwZXJzaXN0KCk7CiAgdnFBcHBseUZhbWlseSgpOwogIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ2cUZhbVdyYXAiKS5yZW1vdmUoKTsKICBjb25zdCBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgYi5jbGFz
c05hbWUgPSAibGV2ZWx1cC1iYW5uZXIiOyBiLnRleHRDb250ZW50ID0gc2F2ZS5mYW1pbHkubmFtZSA/ICLwn5Go4oCN8J+RqeKAjfCfkacgVGhlIHN0b3Jp
ZXMgbm93IGNhbGwgeW91ICIgKyBzYXZlLmZhbWlseS5uYW1lIDogIvCfkajigI3wn5Gp4oCN8J+RpyBGYW1pbHkgc2F2ZWQiOwogIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoYik7IHNldFRpbWVvdXQoKCkgPT4gYi5yZW1vdmUoKSwgMjQwMCk7CiAgc2Z4LndpbigpOwogIGlmIChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFwIikuY2xhc3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKSkgZ29NYXAoKTsKfQoKLyogPT09PT09PT09PT09PT09IFpBTE8gTU9ERSDigJQgdHlw
ZSBWaWV0bmFtZXNlIHdpdGggdG9uZXMgPT09PT09PT09PT09PT09ICovCi8qIEEgcmVsYXRpdmUgdGV4dHMgeW91OyB5b3UgdHlwZSB0aGUgcmVwbHkgd2l0
aCB0b25lIG1hcmtzLiBHcmFkZWQgYnkgdGhlIHNhbWUKICAgdG9uZS1hd2FyZSBzY29yZXIgYXMgc3BlZWNoLiBJbmNsdWRlcyBhIFRlbGV4IGhlbHBlciBz
byBub2JvZHkgbmVlZHMgdGhlCiAgIFZpZXRuYW1lc2Uga2V5Ym9hcmQgZW5hYmxlZDogY2hhb2Yg4oaSIGNow6BvLCBkZGkg4oaSIMSRaSwgY2FtciBvd24g
4oaSIGPhuqNtIMahbi4gKi8KY29uc3QgVEVMRVhfVE9ORSA9IHsgczogIsyBIiwgZjogIsyAIiwgcjogIsyJIiwgeDogIsyDIiwgajogIsyjIiB9Owpjb25z
dCBWX1NQRUNJQUwgPSAiw6LDqsO0xqHEg8awIjsKZnVuY3Rpb24gdGVsZXhXb3JkKHcpIHsKICBpZiAoIXcpIHJldHVybiB3OwogIGNvbnN0IHVwcGVyMCA9
IHdbMF0gPT09IHdbMF0udG9VcHBlckNhc2UoKSAmJiB3WzBdICE9PSB3WzBdLnRvTG93ZXJDYXNlKCk7CiAgbGV0IHggPSB3OwogIC8vIGxldHRlcnMKICB4
ID0geC5yZXBsYWNlKC9kZC9nLCAixJEiKS5yZXBsYWNlKC9ERC9nLCAixJAiKS5yZXBsYWNlKC9EZC9nLCAixJAiKTsKICB4ID0geC5yZXBsYWNlKC9hYS9n
LCAiw6IiKS5yZXBsYWNlKC9BQXxBYS9nLCAiw4IiKS5yZXBsYWNlKC9lZS9nLCAiw6oiKS5yZXBsYWNlKC9FRXxFZS9nLCAiw4oiKS5yZXBsYWNlKC9vby9n
LCAiw7QiKS5yZXBsYWNlKC9PT3xPby9nLCAiw5QiKTsKICB4ID0geC5yZXBsYWNlKC9hdy9nLCAixIMiKS5yZXBsYWNlKC9BV3xBdy9nLCAixIIiKS5yZXBs
YWNlKC9vdy9nLCAixqEiKS5yZXBsYWNlKC9PV3xPdy9nLCAixqAiKS5yZXBsYWNlKC91dy9nLCAixrAiKS5yZXBsYWNlKC9VV3xVdy9nLCAixq8iKTsKICB4
ID0geC5yZXBsYWNlKC91xqEvZywgIsawxqEiKS5yZXBsYWNlKC9VxqEvZywgIsavxqEiKTsgICAgICAgICAgLy8gInVvdyIg4oaSIMawxqEKICB4ID0geC5y
ZXBsYWNlKC8oXnxbXmFlaW91ecSDw6LDqsO0xqHGsF0pdy9naSwgKG0sIHApID0+IHAgKyAobVttLmxlbmd0aCAtIDFdID09PSAiVyIgPyAixq8iIDogIsaw
IikpOyAvLyBsb25lIHcg4oaSIMawICh0dyDihpIgdMawKQogIC8vIHRvbmUgbGV0dGVyIChzIGYgciB4IGosIHogPSBjbGVhcikgdHlwZWQgcmlnaHQgYWZ0
ZXIgYW55IHZvd2VsIOKAlCBUZWxleCBhbGxvd3MgaXQKICAvLyBtaWQtd29yZCAobmd1d293Zmkg4oaSIG5nxrDhu51pKSBvciBhdCB0aGUgZW5kIChjaGFv
ZiDihpIgY2jDoG8pLiBWaWV0bmFtZXNlIG5ldmVyIGhhcwogIC8vIHRoZXNlIGxldHRlcnMgYWZ0ZXIgYSB2b3dlbCwgc28gdGhlIG1hdGNoIGlzIHVuYW1i
aWd1b3VzLgogIC8vIFJ1bGU6IHRoZSBmaXJzdCBzL2Yvci94L2oveiB0aGF0IGNvbWVzIEFGVEVSIHRoZSB3b3JkJ3MgZmlyc3Qgdm93ZWwgaXMgdGhlIHRv
bmUKICAvLyBsZXR0ZXIgKGNhbXIg4oaSIGPhuqNtLCBWaWVldGog4oaSIFZp4buHdCwgbmd1d293Zmkg4oaSIG5nxrDhu51pKS4gVmlldG5hbWVzZSBoYXMg
bm9uZSBvZgogIC8vIHRoZXNlIGxldHRlcnMgYWZ0ZXIgYSB2b3dlbCwgYW5kIG9uc2V0cyAoc8OhbmcsIHhpbiwgdHLhu6luZykgc2l0IGJlZm9yZSBpdC4K
ICBsZXQgdG9uZSA9IG51bGwsIGNsZWFyID0gZmFsc2U7CiAgY29uc3QgZnYgPSB4LnNlYXJjaCgvW2FlaW91ecSDw6LDqsO0xqHGsF0vaSk7CiAgaWYgKGZ2
ID49IDApIHsKICAgIGNvbnN0IG1tID0geC5zbGljZShmdiArIDEpLm1hdGNoKC9bc2ZyeGp6XS9pKTsKICAgIGlmIChtbSkgewogICAgICBjb25zdCBhdCA9
IGZ2ICsgMSArIG1tLmluZGV4LCBMID0gbW1bMF0udG9Mb3dlckNhc2UoKTsKICAgICAgaWYgKEwgPT09ICJ6IikgY2xlYXIgPSB0cnVlOyBlbHNlIHRvbmUg
PSBURUxFWF9UT05FW0xdOwogICAgICB4ID0geC5zbGljZSgwLCBhdCkgKyB4LnNsaWNlKGF0ICsgMSk7CiAgICB9CiAgfQogIGlmICh0b25lIHx8IGNsZWFy
KSB4ID0gcmV0b25lKHgsIHRvbmUpOwogIHJldHVybiB4Owp9Ci8qIHN0cmlwIGFueSBleGlzdGluZyB0b25lIG1hcmssIHRoZW4gcGxhY2UgYHRvbmVgIChv
ciBub25lKSBvbiB0aGUgcmlnaHQgdm93ZWwgKi8KZnVuY3Rpb24gcmV0b25lKHdvcmQsIHRvbmUpIHsKICBjb25zdCBkID0gd29yZC5ub3JtYWxpemUoIk5G
RCIpOwogIGxldCBiYXNlID0gIiIsIG9sZCA9ICIiOwogIGZvciAoY29uc3QgY2ggb2YgZCkgeyBpZiAoL1vMgMyBzIPMicyjXS8udGVzdChjaCkpIG9sZCA9
IGNoOyBlbHNlIGJhc2UgKz0gY2g7IH0KICBiYXNlID0gYmFzZS5ub3JtYWxpemUoIk5GQyIpOwogIGNvbnN0IHQgPSB0b25lID09PSB1bmRlZmluZWQgPyBv
bGQgOiB0b25lOwogIGlmICghdCkgcmV0dXJuIGJhc2U7CiAgY29uc3QgaWR4ID0gdG9uZUluZGV4KGJhc2UpOwogIGlmIChpZHggPCAwKSByZXR1cm4gYmFz
ZTsKICByZXR1cm4gKGJhc2Uuc2xpY2UoMCwgaWR4ICsgMSkgKyB0KS5ub3JtYWxpemUoIk5GQyIpICsgYmFzZS5zbGljZShpZHggKyAxKTsKfQpmdW5jdGlv
biB0b25lSW5kZXgoYmFzZSkgewogIGNvbnN0IGx3ID0gYmFzZS50b0xvd2VyQ2FzZSgpOwogIGxldCBzdGFydCA9IDA7CiAgaWYgKC9ecXVbYWVpb3V5xIPD
osOqw7TGocawXS8udGVzdChsdykpIHN0YXJ0ID0gMjsgICAgICAgIC8vIHF1ICsgdm93ZWw6IHUgaXMgdGhlIG9uc2V0CiAgZWxzZSBpZiAoL15naVthZWlv
dXnEg8Oiw6rDtMahxrBdLy50ZXN0KGx3KSkgc3RhcnQgPSAyOyAgIC8vIGdpICsgdm93ZWw6IGkgaXMgdGhlIG9uc2V0CiAgY29uc3QgbSA9IGx3LnNsaWNl
KHN0YXJ0KS5tYXRjaCgvW2FlaW91ecSDw6LDqsO0xqHGsF0rLyk7CiAgaWYgKCFtKSByZXR1cm4gLTE7CiAgY29uc3QgY3MgPSBzdGFydCArIG0uaW5kZXgs
IGNsdXN0ZXIgPSBtWzBdOwogIC8vIDEpIGEgbWFya2VkIHZvd2VsICjDoiDDqiDDtCDGoSDEgyDGsCkgYWx3YXlzIHRha2VzIHRoZSB0b25lIOKAlCB0aGUg
bGFzdCBvbmUgaWYgdHdvCiAgbGV0IHNwZWNpYWwgPSAtMTsKICBmb3IgKGxldCBpID0gMDsgaSA8IGNsdXN0ZXIubGVuZ3RoOyBpKyspIGlmIChWX1NQRUNJ
QUwuaW5jbHVkZXMoY2x1c3RlcltpXSkpIHNwZWNpYWwgPSBpOwogIGlmIChzcGVjaWFsID49IDApIHJldHVybiBjcyArIHNwZWNpYWw7CiAgaWYgKGNsdXN0
ZXIubGVuZ3RoID09PSAxKSByZXR1cm4gY3M7CiAgY29uc3QgY2xvc2VkID0gY3MgKyBjbHVzdGVyLmxlbmd0aCA8IGx3Lmxlbmd0aDsgICAgICAvLyBjb25z
b25hbnQgZm9sbG93cyB0aGUgdm93ZWxzCiAgaWYgKGNsdXN0ZXIubGVuZ3RoID09PSAyKSByZXR1cm4gY2xvc2VkID8gY3MgKyAxIDogY3M7ICAgLy8gaG/D
oG5nIC8gaMOgbywgbcO5YSwgaMOyYSwga2jhu49lCiAgcmV0dXJuIGNzICsgMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
dGhyZWUgdm93ZWxzOiB0aGUgbWlkZGxlIG9uZQp9CmZ1bmN0aW9uIHRlbGV4KHRleHQpIHsgcmV0dXJuIHRleHQuc3BsaXQoLyhccyspLykubWFwKHAgPT4g
L1xzLy50ZXN0KHApID8gcCA6IHRlbGV4V29yZChwKSkuam9pbigiIik7IH0KLyogY2Fub25pY2FsIHRvbmUgcGxhY2VtZW50IHNvICJob8OgIiBhbmQgImjD
smEiIGNvbXBhcmUgZXF1YWwgd2hlbiBncmFkaW5nIHR5cGluZyAqLwpmdW5jdGlvbiBjYW5vblRvbmVzKHMpIHsgcmV0dXJuIHMuc3BsaXQoLyhccyspLyku
bWFwKHAgPT4gL1xzLy50ZXN0KHApIHx8ICFwID8gcCA6IHJldG9uZShwKSkuam9pbigiIik7IH0KCmNvbnN0IFogPSB7IG9uOiBmYWxzZSwgdGVsZXg6IHRy
dWUsIGk6IDAsIG46IDgsIHR1cm5zOiBbXSwgc2NvcmU6IDAsIHhwOiAwLCB0cmllczogMCB9OwpmdW5jdGlvbiB6YWxvUG9vbCgpIHsKICBjb25zdCBzdGFy
cmVkID0gTEVTU09OUy5maWx0ZXIoTCA9PiBsc3RhdGUoTC5uKS5zdGFycy5sZWFybiB8fCBsc3RhdGUoTC5uKS5rbm93bi5sZW5ndGggPj0gOCkubWFwKEwg
PT4gTC5uKTsKICBjb25zdCBzcmMgPSBzdGFycmVkLmxlbmd0aCA/IHN0YXJyZWQgOiBbMSwgMiwgM107CiAgcmV0dXJuIHNodWZmbGUoc3JjLmZsYXRNYXAo
biA9PiBUQUxLU1tuXS50dXJucy5tYXAodCA9PiAoeyAuLi50LCB3aG86IFRBTEtTW25dLndobyB9KSkpKS5zbGljZSgwLCBaLm4pOwp9CmZ1bmN0aW9uIG9w
ZW5aYWxvKCkgewogIFoub24gPSB0cnVlOyBaLmkgPSAwOyBaLnNjb3JlID0gMDsgWi54cCA9IDA7IFoudHJpZXMgPSAwOyBaLnR1cm5zID0gemFsb1Bvb2wo
KTsKICBjdXIgPSB7IG46ICJSIiwga3I6ICJOaOG6r24gdGluIiwgZW46ICJaYWxvIiwgd29yZHM6IFtdLCBncmFtbWFyOiBbXSB9OwogIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmdENoYXQiKS5pbm5lckhUTUwgPSAiIjsKICBjb25zdCBtaWMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnRNaWMiKSwgYXV0
byA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdEF1dG8iKSwgZW5nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0RW5naW5lIik7CiAgaWYgKG1p
YykgbWljLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7IGlmIChhdXRvKSBhdXRvLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7IGlmIChlbmcpIGVuZy5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOwogIGNvbnN0IG51ZGdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uW29uY2xpY2s9ImZ0TnVkZ2UoKSJdJyk7IGlm
IChudWRnZSkgbnVkZ2Uuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdFRpdGxlIik7
IGlmICh0aXRsZSkgdGl0bGUudGV4dENvbnRlbnQgPSAi8J+TsSBaYWxvIG1vZGUiOwogIGNvbnN0IGlucCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
dFRleHQiKTsKICBpbnAucGxhY2Vob2xkZXIgPSAiVHlwZSB5b3VyIHJlcGx5IGluIFZpZXRuYW1lc2XigKYiOyBpbnAudmFsdWUgPSAiIjsKICBpbnAub25p
bnB1dCA9ICgpID0+IHsgaWYgKFoub24gJiYgWi50ZWxleCkgeyBjb25zdCB2ID0gdGVsZXgoaW5wLnZhbHVlKTsgaWYgKHYgIT09IGlucC52YWx1ZSkgeyBp
bnAudmFsdWUgPSB2OyBpbnAuc2V0U2VsZWN0aW9uUmFuZ2Uodi5sZW5ndGgsIHYubGVuZ3RoKTsgfSB9IH07CiAgaW5wLm9ua2V5ZG93biA9IGUgPT4geyBp
ZiAoZS5rZXkgPT09ICJFbnRlciIpIHphbG9TZW5kKCk7IH07CiAgemFsb1N0YXR1cygpOwogIHNob3coImZyZWUiKTsKICB6YWxvQnViYmxlKCJzeXMiLCBg
8J+SrCA8Yj5aYWxvIG1vZGU8L2I+IOKAlCBhIHJlbGF0aXZlIHRleHRzIHlvdSwgeW91IHRleHQgYmFjay4gVG9uZSBtYXJrcyBjb3VudC4gJHtaLm59IG1l
c3NhZ2VzLmApOwogIHphbG9OZXh0KCk7Cn0KZnVuY3Rpb24gemFsb1N0YXR1cygpIHsKICBjb25zdCBzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
dFN0YXR1cyIpOwogIHN0LmlubmVySFRNTCA9IGA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Ij4ke1oudGVsZXggPyAi4oyo77iPIFRlbGV4IG9uOiAi
IDogIuKMqO+4jyBUZWxleCBvZmYgwrcgIn08Yj5zPC9iPiBz4bqvYyDCtyA8Yj5mPC9iPiBodXnhu4FuIMK3IDxiPnI8L2I+IGjhu49pIMK3IDxiPng8L2I+
IG5nw6MgwrcgPGI+ajwvYj4gbuG6t25nIMK3IGFhPcOiIGF3PcSDIG93PcahIHc9xrAgZGQ9xJE8L3NwYW4+CiAgICA8c3BhbiBvbmNsaWNrPSJaLnRlbGV4
PSFaLnRlbGV4O3phbG9TdGF0dXMoKSIgc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNp
emU6MTJweDsiPiDCtyAke1oudGVsZXggPyAidHVybiBvZmYiIDogInR1cm4gb24ifTwvc3Bhbj4KICAgIDxzcGFuIG9uY2xpY2s9InphbG9IaW50KCkiIHN0
eWxlPSJjb2xvcjp2YXIoLS1hY2NlbnQyKTtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEycHg7Ij4gwrcg8J+SoSBoaW50PC9z
cGFuPgogICAgPHNwYW4gb25jbGljaz0iemFsb1NraXAoKSIgc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0
OjcwMDtmb250LXNpemU6MTJweDsiPiDCtyDij60gc2tpcDwvc3Bhbj5gOwp9CmZ1bmN0aW9uIHphbG9CdWJibGUod2hvLCBodG1sKSB7CiAgY29uc3QgZCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGlmICh3aG8gPT09ICJzeXMiKSB7IGQuY2xhc3NOYW1lID0gImZpeGxpbmUiOyBkLmlubmVySFRN
TCA9IGh0bWw7IH0KICBlbHNlIHsgZC5jbGFzc05hbWUgPSAibXNnICIgKyB3aG87IGQuaW5uZXJIVE1MID0gaHRtbDsgfQogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmdENoYXQiKS5hcHBlbmRDaGlsZChkKTsKICBkLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICJzbW9vdGgiLCBibG9jazogIm5lYXJlc3Qi
IH0pOwp9CmZ1bmN0aW9uIHphbG9OZXh0KCkgewogIGlmIChaLmkgPj0gWi50dXJucy5sZW5ndGgpIHsKICAgIFoub24gPSBmYWxzZTsKICAgIHNob3dSZXN1
bHQoeyBlbW9qaTogWi5zY29yZSA+PSBaLm4gKiA5ID8gIvCfj4YiIDogIvCfk7EiLCB0aXRsZTogIlphbG8gc2Vzc2lvbiBkb25lISIsIHN1YjogIllvdXIg
YXVudGllcyBjYW4gcmVhZCB5b3Ugbm93LiAiICsgWi5uICsgIiByZXBsaWVzIHR5cGVkIHdpdGggdG9uZXMuIiwKICAgICAgICAgICAgICAgICBzY29yZTog
Wi5zY29yZSwgeHA6IFoueHAgKyAxMCwgY29tYm86IDAsIHJlcGxheTogb3BlblphbG8gfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHQgPSBaLnR1cm5z
W1ouaV07IFoudHJpZXMgPSAwOwogIHphbG9CdWJibGUoIm5wYyIsIGA8ZGl2IGNsYXNzPSJ3aG8iPiR7dC53aG99PC9kaXY+JHt0LnF9PGRpdiBjbGFzcz0i
bWVuIj4ke3QucUVufTwvZGl2PmApOwogIHphbG9CdWJibGUoInN5cyIsIGDinI3vuI8gUmVwbHk6ICR7dC50YXNrfWApOwogIHNheSh0LnEsIDAuOSk7CiAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0VGV4dCIpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gemFsb0hpbnQoKSB7IGNvbnN0IHQgPSBaLnR1cm5zW1ouaV07
IGlmICh0KSB6YWxvQnViYmxlKCJzeXMiLCBg8J+SoSAke3QuYUVufSDihpIgPGI+JHt0LmF9PC9iPmApOyB9CmZ1bmN0aW9uIHphbG9Ta2lwKCkgeyBjb25z
dCB0ID0gWi50dXJuc1taLmldOyBpZiAoIXQpIHJldHVybjsgemFsb0J1YmJsZSgic3lzIiwgYOKPrSBUaGUgcmVwbHkgd2FzIDxiPiR7dC5hfTwvYj5gKTsg
Wi5pKys7IHNldFRpbWVvdXQoemFsb05leHQsIDYwMCk7IH0KZnVuY3Rpb24gemFsb1NlbmQoKSB7CiAgY29uc3QgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZ0VGV4dCIpOwogIGxldCB0ZXh0ID0gaW5wLnZhbHVlLnRyaW0oKTsgaWYgKCF0ZXh0KSByZXR1cm47CiAgaWYgKFoudGVsZXgpIHRleHQgPSB0
ZWxleCh0ZXh0KTsKICBpbnAudmFsdWUgPSAiIjsKICBjb25zdCB0ID0gWi50dXJuc1taLmldOyBpZiAoIXQpIHJldHVybjsKICBjb25zdCB0YXJnZXRzID0g
W3QuYV0uY29uY2F0KHQuYWx0IHx8IFtdKTsKICBsZXQgYmVzdCA9IHsgcGN0OiAtMSB9OwogIHRhcmdldHMuZm9yRWFjaChhID0+IHsgY29uc3QgZmIgPSBw
cm9uRmVlZGJhY2soY2Fub25Ub25lcyhhKSwgY2Fub25Ub25lcyh0ZXh0KSk7IGlmIChmYi5wY3QgPiBiZXN0LnBjdCkgYmVzdCA9IHsgLi4uZmIsIHRhcmdl
dDogYSB9OyB9KTsKICBaLnRyaWVzKys7CiAgLy8gVHlwaW5nIGlzIGV4YWN0OiBhIG1pc3NpbmcgdG9uZSBtYXJrIGlzIHByZWNpc2VseSB0aGUgbWlzdGFr
ZSB0byBjYXRjaCAoc3BlZWNoIGdldHMgODUlIHNsYWNrIGZvciByZWNvZ25pemVyIG5vaXNlKQogIGlmIChiZXN0LnBjdCA+PSAxMDApIHsKICAgIFouc2Nv
cmUgKz0gMTA7IFoueHAgKz0gNDsgZ2FpblhwKDQpOwogICAgemFsb0J1YmJsZSgibWUiLCBgJHt0ZXh0fTxkaXYgY2xhc3M9InNjb3JlIj7inIUgJHtiZXN0
LnBjdH0lIOKAlCDEkcO6bmcgcuG7k2khPC9kaXY+YCk7CiAgICBzZnguZ29vZCgpOyBmbG9hdEZ4KCIrNCBYUCIsICIjMkY3RDRGIik7CiAgICBaLmkrKzsg
c2V0VGltZW91dCh6YWxvTmV4dCwgOTAwKTsKICB9IGVsc2UgewogICAgY29uc3QgZml4ZXMgPSBiZXN0LmZpeGVzSHRtbC5yZXBsYWNlKC9JIGhlYXJkL2cs
ICJ5b3UgdHlwZWQiKS5yZXBsYWNlKC9zYXkgaXQgY2xlYXJseS9nLCAidHlwZSBpdCIpOwogICAgemFsb0J1YmJsZSgibWUiLCBgJHt0ZXh0fTxkaXYgY2xh
c3M9InNjb3JlIj7wn5+hICR7YmVzdC5wY3R9JSDigJQgJHtiZXN0LnBjdCA+PSA4NSA/ICJhbG1vc3Qg4oCUIG9uZSBtYXJrIG9mZjoiIDogImNoZWNrIHRo
ZSB0b25lczoifTwvZGl2PmApOwogICAgemFsb0J1YmJsZSgic3lzIiwgYCR7YmVzdC5kaWZmSHRtbH0ke2ZpeGVzfSR7Wi50cmllcyA+PSAyID8gYDxkaXYg
c3R5bGU9Im1hcmdpbi10b3A6NnB4OyI+QW5zd2VyOiA8Yj4ke2Jlc3QudGFyZ2V0fTwvYj4g4oCUIHR5cGUgaXQgb25jZSB0byBtb3ZlIG9uLjwvZGl2PmAg
OiAiIn1gKTsKICAgIHNmeC5iYWQoKTsKICB9Cn0KZnVuY3Rpb24gemFsb0V4aXQoKSB7CiAgWi5vbiA9IGZhbHNlOwogIGNvbnN0IG1pYyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmdE1pYyIpLCBhdXRvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ0QXV0byIpOwogIGlmIChtaWMpIG1pYy5zdHlsZS5k
aXNwbGF5ID0gIiI7IGlmIChhdXRvKSBhdXRvLnN0eWxlLmRpc3BsYXkgPSAiIjsKICBjb25zdCBudWRnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1
dHRvbltvbmNsaWNrPSJmdE51ZGdlKCkiXScpOyBpZiAobnVkZ2UpIG51ZGdlLnN0eWxlLmRpc3BsYXkgPSAiIjsKICBjb25zdCB0aXRsZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmdFRpdGxlIik7IGlmICh0aXRsZSkgdGl0bGUudGV4dENvbnRlbnQgPSAi8J+OmSBGcmVlIFRhbGsiOwogIGNvbnN0IGlucCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmdFRleHQiKTsKICBpZiAoaW5wKSB7IGlucC5vbmlucHV0ID0gbnVsbDsgaW5wLnBsYWNlaG9sZGVyID0gIuKA
pm9yIHR5cGUgaW4gVmlldG5hbWVzZSBhbmQgcHJlc3MgRW50ZXIiOyB9Cn0KCi8qID09PT09PT09PT09PT09PSBDQU4tRE8gTEFEREVSIMK3IENPTUlORyBO
RVhUIMK3IERBSUxZIFJFTUlOREVSID09PT09PT09PT09PT09PSAqLwovKiAxLiBDYW4tZG8gbGFkZGVyIOKAlCBtaWxlc3RvbmVzIGEgbGVhcm5lciBhY3R1
YWxseSB3YW50cyB0byBiZSB0cnVlIGFib3V0CiAgIHRoZW1zZWx2ZXMsIGNvbXB1dGVkIGZyb20gdGhlIHNhdmUuIEVhY2g6IFt0ZXh0LCBjaGVjaygpLCBo
aW50XSAqLwpjb25zdCBDQU5ETyA9IFsKICBbIlJlYWQgYW55IFZpZXRuYW1lc2Ugd29yZCIsICgpID0+IGZvdW5kU3RhdGUoKS5tYXN0ZXJlZCwgIk1hc3Rl
ciB0aGUg8J+PmyBGb3VuZGF0aW9uIl0sCiAgWyJIZWFyIHRoZSBzaXggdG9uZXMgYXBhcnQiLCAoKSA9PiAoc2F2ZS50b25lQmVzdCB8fCAwKSA+PSA4MCwg
IlRvbmUgVHdpbnMgOC8xMCBpbiDwn46nIEVhciBUcmFpbmluZyJdLAogIFsiR3JlZXQgZXZlcnkgcmVsYXRpdmUgd2l0aCB0aGUgcmlnaHQgdGl0bGUiLCAo
KSA9PiBsc3RhdGUoMSkuc3RhcnMubGVhcm4gJiYgbHN0YXRlKDEpLnN0YXJzLnRhbGssICJRdWVzdCAxIMK3IExlYXJuICsgVGFsayJdLAogIFsiV2lzaCBl
dmVyeSByZWxhdGl2ZSBhIGhhcHB5IG5ldyB5ZWFyLCBwcm9wZXJseSIsICgpID0+IFRFVF9EQVlTW1RFVF9HUkVFVF9EQVldLndvcmRzLmV2ZXJ5KHcgPT4g
bHN0YXRlKCJUIikua25vd24uaW5jbHVkZXMod1swXSkpLCAi8J+npyBU4bq/dCBjYXJkIMK3IENow7pjIFThur90Il0sCiAgWyJJbnZpdGUgdGhlIHRhYmxl
IHRvIGVhdCBiZWZvcmUgSSB0b3VjaCBteSBjaG9wc3RpY2tzIiwgKCkgPT4gbHN0YXRlKDIpLnN0YXJzLnN0b3J5LCAiUXVlc3QgMiDCtyBTdG9yeSJdLAog
IFsiT3JkZXIgY8OgIHBow6ogb24gbXkgb3duIiwgKCkgPT4gbHN0YXRlKDMpLnN0YXJzLnRhbGssICJRdWVzdCAzIMK3IFRhbGsiXSwKICBbIkFzayBmb3Ig
ZGlyZWN0aW9ucyBhbmQgdW5kZXJzdGFuZCB0aGUgYW5zd2VyIiwgKCkgPT4gbHN0YXRlKDQpLnN0YXJzLnRhbGssICJRdWVzdCA0IMK3IFRhbGsiXSwKICBb
IlJpZGUgYSBHcmFiIGFjcm9zcyB0b3duIiwgKCkgPT4gbHN0YXRlKDUpLnN0YXJzLnRhbGssICJRdWVzdCA1IMK3IFRhbGsiXSwKICBbIkNvdW50IG1vbmV5
IHRvIHRoZSB0aG91c2FuZHMgYnkgZWFyIiwgKCkgPT4gKHNhdmUubnVtQmVzdCB8fCAwKSA+PSA4MCwgIk51bWJlciBSdXNoIDgvMTAgaW4g8J+OpyBFYXIg
VHJhaW5pbmciXSwKICBbIkJhcmdhaW4gYXQgdGhlIG1hcmtldCDigJQgcG9saXRlbHkiLCAoKSA9PiBsc3RhdGUoNikuc3RhcnMudGFsaywgIlF1ZXN0IDYg
wrcgVGFsayJdLAogIFsiU3Vydml2ZSB0aGUgZmFtaWx5IGludGVydmlldyB3aXRoIGEgc21pbGUiLCAoKSA9PiBsc3RhdGUoNykuc3RhcnMuc3RvcnkgJiYg
bHN0YXRlKDcpLnN0YXJzLnRhbGssICJRdWVzdCA3IMK3IFN0b3J5ICsgVGFsayJdLAogIFsiQ2FsbCBob21lIGFuZCB0YWxrIHRvIE1vbSBhbmQgQsOgIiwg
KCkgPT4gbHN0YXRlKDgpLnN0YXJzLnRhbGssICJRdWVzdCA4IMK3IFRhbGsiXSwKICBbIlNheSBob3cgSSByZWFsbHkgZmVlbCIsICgpID0+IGxzdGF0ZSg5
KS5zdGFycy5sZWFybiAmJiBsc3RhdGUoOSkuc3RhcnMuc3BlYWssICJRdWVzdCA5IMK3IExlYXJuICsgU3BlYWsiXSwKICBbIkV4cGxhaW4gd2hhdCBodXJ0
cyBhdCB0aGUgcGhhcm1hY3kiLCAoKSA9PiBsc3RhdGUoMTApLnN0YXJzLnRhbGssICJRdWVzdCAxMCDCtyBUYWxrIl0sCiAgWyJHaXZlIG15IGdyYW5kcGFy
ZW50cyBhIFThur90IGJsZXNzaW5nIiwgKCkgPT4gbHN0YXRlKDExKS5zdGFycy50YWxrLCAiUXVlc3QgMTEgwrcgVGFsayJdLAogIFsiQXNrIGZvciBoZWxw
IGFuZCBzbG93IGRvd24gZmFzdCBzcGVlY2giLCAoKSA9PiBsc3RhdGUoMTIpLnN0YXJzLnRhbGssICJRdWVzdCAxMiDCtyBUYWxrIl0sCiAgLy8gU2Vhc29u
IDIKICBbIk9yZGVyIGJyZWFrZmFzdCBpbiBTw6BpIEfDsm4gbGlrZSBhIGxvY2FsIiwgKCkgPT4gbHN0YXRlKDE0KS5zdGFycy50YWxrLCAiUXVlc3QgMTQg
wrcgVGFsayJdLAogIFsiVGFsayBtb25leSB3aXRoIG15IHVuY2xlcyB3aXRob3V0IGZsaW5jaGluZyIsICgpID0+IGxzdGF0ZSgxNikuc3RhcnMudGFsayAm
JiBsc3RhdGUoMTgpLnN0YXJzLnRhbGssICJRdWVzdHMgMTYgKyAxOCDCtyBUYWxrIl0sCiAgWyJUYWtlIG15IG1vdGhlciB0byB0aGUgZG9jdG9yIGFuZCB1
bmRlcnN0YW5kIGV2ZXJ5dGhpbmciLCAoKSA9PiBsc3RhdGUoMTkpLnN0YXJzLnRhbGsgJiYgbHN0YXRlKDIwKS5zdGFycy50YWxrLCAiUXVlc3RzIDE5ICsg
MjAgwrcgVGFsayJdLAogIFsiU2l0IGF0IHRoZSBnaeG7lyBhbmQga25vdyB3aGF0IHRvIGRvIiwgKCkgPT4gbHN0YXRlKDIzKS5zdGFycy5zdG9yeSAmJiBs
c3RhdGUoMjMpLnN0YXJzLnRhbGssICJRdWVzdCAyMyDCtyBTdG9yeSArIFRhbGsiXSwKICBbIkhlYXIgbXkgZmFtaWx5J3Mgc3RvcnkgaW4gdGhlaXIgb3du
IHdvcmRzIiwgKCkgPT4gbHN0YXRlKDIyKS5zdGFycy5zdG9yeSAmJiBsc3RhdGUoMjIpLnN0YXJzLnRhbGssICJRdWVzdCAyMiDCtyBTdG9yeSArIFRhbGsi
XSwKXTsKZnVuY3Rpb24gY2FuZG9TdGF0ZSgpIHsKICBjb25zdCBkb25lID0gQ0FORE8ubWFwKGMgPT4geyB0cnkgeyByZXR1cm4gISFjWzFdKCk7IH0gY2F0
Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH0pOwogIHJldHVybiB7IGRvbmUsIG46IGRvbmUuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCwgdG90YWw6IENBTkRP
Lmxlbmd0aCB9Owp9CmZ1bmN0aW9uIGNhbmRvQ2hlY2soKSB7IC8vIGNlbGVicmF0ZSBuZXdseSBlYXJuZWQgbGluZXMgKGNhbGxlZCBmcm9tIHRoZSBtYXAp
CiAgY29uc3Qgc3QgPSBjYW5kb1N0YXRlKCk7CiAgc2F2ZS5jYW5kbyA9IHNhdmUuY2FuZG8gfHwgW107CiAgbGV0IGZyZXNoID0gbnVsbDsKICBDQU5ETy5m
b3JFYWNoKChjLCBpKSA9PiB7IGlmIChzdC5kb25lW2ldICYmICFzYXZlLmNhbmRvLmluY2x1ZGVzKGkpKSB7IHNhdmUuY2FuZG8ucHVzaChpKTsgZnJlc2gg
PSBjWzBdOyB9IH0pOwogIGlmIChmcmVzaCkgewogICAgcGVyc2lzdCgpOyBnYWluWHAoMTApOyBzZngud2luKCk7CiAgICBjb25zdCBiID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBiLmNsYXNzTmFtZSA9ICJsZXZlbHVwLWJhbm5lciI7IGIudGV4dENvbnRlbnQgPSAi8J+OryBOZXc6IEkgY2Fu
ICIgKyBmcmVzaC5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIGZyZXNoLnNsaWNlKDEpICsgIiDCtyArMTAgWFAiOwogICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJlbW92ZSgpLCAyNjAwKTsKICB9CiAgcmV0dXJuIHN0Owp9CmZ1bmN0aW9uIGNhbmRvU2hhcmUoKSB7
CiAgY29uc3Qgc3QgPSBjYW5kb1N0YXRlKCk7CiAgY29uc3QgbGluZXMgPSBDQU5ETy5maWx0ZXIoKGMsIGkpID0+IHN0LmRvbmVbaV0pLnNsaWNlKC0zKS5t
YXAoYyA9PiAi4pyFIEkgY2FuICIgKyBjWzBdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgY1swXS5zbGljZSgxKSk7CiAgY29uc3QgdGV4dCA9IChsaW5l
cy5sZW5ndGggPyBsaW5lcy5qb2luKCJcbiIpICsgIlxuIiA6ICIiKSArIGAke3N0Lm59LyR7c3QudG90YWx9IG9uIFZpZXRuYW1lc2UgUXVlc3Qg4oCUIGxl
YXJuaW5nIFZpZXRuYW1lc2UgZm9yIG15IGZhbWlseS5gICsgKHdpbmRvdy5WUV9BUFAgPyAiIiA6ICJcbnRvbXBoYW0uY2EvdG9tcy12aWV0bmFtZXNlLXF1
ZXN0Iik7CiAgaWYgKG5hdmlnYXRvci5zaGFyZSkgbmF2aWdhdG9yLnNoYXJlKHsgdGV4dCB9KS5jYXRjaCgoKSA9PiB7fSk7CiAgZWxzZSBpZiAobmF2aWdh
dG9yLmNsaXBib2FyZCkgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCkudGhlbigoKSA9PiBmbG9hdEZ4KCJDb3BpZWQhIiwgIiMyRjdENEYi
KSkuY2F0Y2goKCkgPT4gZmxvYXRGeCgiQ291bGQgbm90IGNvcHkg4oCUIHNlbGVjdCB0aGUgdGV4dCBpbnN0ZWFkIiwgIiNDRjJFMkUiKSk7Cn0KZnVuY3Rp
b24gb3BlbkNhbmRvKCkgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cUNhbmRvV3JhcCIpOyBpZiAob2xkKSBvbGQucmVtb3Zl
KCk7CiAgY29uc3Qgc3QgPSBjYW5kb1N0YXRlKCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHcuaWQgPSAidnFDYW5k
b1dyYXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6IzAwMDAwMDcwO3otaW5kZXg6OTk5OTtkaXNw
bGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4OyI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBz
dHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXItcmFkaXVzOjE2cHg7bWF4LXdpZHRoOjQ0MHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDo4NnZo
O292ZXJmbG93OmF1dG87cGFkZGluZzoxOHB4O2JveC1zaGFkb3c6MCAxMHB4IDQwcHggIzAwMDAwMDU1OyI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXdlaWdo
dDo4MDA7Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn46vIFdoYXQgSSBjYW4gZG8gbm93IOKAlCAke3N0Lm59LyR7c3QudG90YWx9PC9k
aXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46NHB4IDAgMTJweDsiPk5vdCBzdGFycy4gVGhp
bmdzIHRoYXQgYXJlIHRydWUgYWJvdXQgeW91IGluIFZpZXRuYW1lc2UuPC9kaXY+CiAgICAke0NBTkRPLm1hcCgoYywgaSkgPT4gYDxkaXYgc3R5bGU9ImRp
c3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6OHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tY2FyZDIp
OyR7c3QuZG9uZVtpXSA/ICIiIDogIm9wYWNpdHk6LjcifSI+CiAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTZweDsiPiR7c3QuZG9uZVtpXSA/ICLi
nIUiIDogIuKsnCJ9PC9zcGFuPgogICAgICA8ZGl2IHN0eWxlPSJmbGV4OjE7Ij48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10ZXh0
KTtmb250LXdlaWdodDoke3N0LmRvbmVbaV0gPyA3MDAgOiA1MDB9OyI+SSBjYW4gJHtjWzBdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgY1swXS5zbGlj
ZSgxKX08L2Rpdj4KICAgICAgJHtzdC5kb25lW2ldID8gIiIgOiBgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpOyI+4oaS
ICR7Y1syXX08L2Rpdj5gfTwvZGl2PjwvZGl2PmApLmpvaW4oIiIpfQogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLXRvcDox
NHB4OyI+CiAgICAgIDxidXR0b24gb25jbGljaz0iY2FuZG9TaGFyZSgpIiBzdHlsZT0iZmxleDoxO3BhZGRpbmc6MTFweDtib3JkZXItcmFkaXVzOjEwcHg7
Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0Ojgw
MDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0OyI+8J+TpCBTaGFyZTwvYnV0dG9uPgogICAgICA8YnV0dG9uIG9uY2xpY2s9ImRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd2cUNhbmRvV3JhcCcpLnJlbW92ZSgpIiBzdHlsZT0iZmxleDoxO3BhZGRpbmc6MTFweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9y
ZGVyOjA7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVy
aXQ7Ij5Eb25lPC9idXR0b24+CiAgICA8L2Rpdj4KICA8L2Rpdj5gOwogIHcub25jbGljayA9IGUgPT4geyBpZiAoZS50YXJnZXQgPT09IHcpIHcucmVtb3Zl
KCk7IH07CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KTsKfQoKLyogMi4gQ29taW5nIG5leHQg4oCUIHRoZSByb2FkIGJleW9uZCBRdWVzdCAxMiwg
c2hvd24gaG9uZXN0bHkgKi8KY29uc3QgQ09NSU5HID0gWwogIFsi8J+PriIsICJTRUFTT04gMyDCtyBNSeG7gE4gVFJVTkciLCAiSHXhur8gJiDEkMOgIE7h
urVuZyDigJQgdGhlIG1pZGRsZSBvZiB0aGUgY291bnRyeSIsICJUaGUgdGhpcmQgYWNjZW50LCB0aGUgcm95YWwgY2l0eSwgYW5kIHRoZSBmYW1pbHkgYnJh
bmNoIG5vYm9keSB2aXNpdHMuIl0sCiAgWyLwn5G2IiwgIlNFQVNPTiAzIMK3IENPTiBDSMOBVSIsICJUZWFjaGluZyB5b3VyIG93biBraWRzIiwgIlRoZSBj
aXJjbGUgY2xvc2VzOiBiZWR0aW1lIHdvcmRzLCBsdWxsYWJpZXMsIGFuZCB0aGUgZmlyc3QgVOG6v3QgeW91IGhvc3QgeW91cnNlbGYuIl0sCl07CmZ1bmN0
aW9uIG9wZW5Db21pbmcoaSkgewogIGNvbnN0IGMgPSBDT01JTkdbaV07CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxQ29taW5n
V3JhcCIpOyBpZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIHcuaWQgPSAidnFDb21p
bmdXcmFwIjsKICB3LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA3MDt6LWluZGV4Ojk5OTk7ZGlz
cGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDsiOwogIHcuaW5uZXJIVE1MID0gYDxkaXYg
c3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MjBweDti
b3gtc2hhZG93OjAgMTBweCA0MHB4ICMwMDAwMDA1NTsiPgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9u
dC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLW11dGVkKTsiPiR7Y1sxXX08L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyMnB4O21hcmdpbjo0cHgg
MCAycHg7Ij4ke2NbMF19IDxiIHN0eWxlPSJjb2xvcjp2YXIoLS10ZXh0KTtmb250LXNpemU6MThweDsiPiR7Y1syXX08L2I+PC9kaXY+CiAgICA8ZGl2IHN0
eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tdG9wOjZweDsiPiR7Y1szXX08L2Rpdj4KICAg
IDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjY7bWFyZ2luLXRvcDoxMnB4OyI+SXQgaXMgYmVp
bmcgd3JpdHRlbiBub3cuIEl0IHdpbGwgbGFuZCB3aGVuIGl0IGlzIHJlYWR5LCBub3QgYmVmb3JlIOKAlCBldmVyeSBxdWVzdCBnb2VzIHRocm91Z2ggdGhl
IHNhbWUgZmFtaWx5LWZpcnN0IHN0YW5kYXJkIGFzIHRoZSBmaXJzdCB0d2VsdmUuJHt3aW5kb3cuVlFfQVBQID8gIiIgOiBgIDxhIGhyZWY9Imh0dHBzOi8v
dG9tcGhhbS5jYS9mcmVlIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO2ZvbnQtd2VpZ2h0OjcwMDsiPkdldCBhIG5vdGUg
d2hlbiBpdCBsYW5kcyDihpI8L2E+YH08L2Rpdj4KICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxQ29taW5nV3JhcCcp
LnJlbW92ZSgpIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMXB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNr
Z3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo4MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPkJhY2sg
dG8gdGhlIG1hcDwvYnV0dG9uPgogIDwvZGl2PmA7CiAgdy5vbmNsaWNrID0gZSA9PiB7IGlmIChlLnRhcmdldCA9PT0gdykgdy5yZW1vdmUoKTsgfTsKICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwp9CmZ1bmN0aW9uIHZxQ29taW5nTmV4dChnKSB7CiAgY29uc3QgaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogIGguc3R5bGUuY3NzVGV4dCA9ICJncmlkLWNvbHVtbjoxIC8gLTE7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1z
cGFjaW5nOjEuNXB4O2NvbG9yOnZhcigtLW11dGVkKTtwYWRkaW5nOjE0cHggMnB4IDA7IjsKICBoLnRleHRDb250ZW50ID0gIkNPTUlORyBORVhUIMK3IFRI
RSBST0FEIENPTlRJTlVFUyI7CiAgZy5hcHBlbmRDaGlsZChoKTsKICBDT01JTkcuZm9yRWFjaCgoYywgaSkgPT4gewogICAgY29uc3QgZCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgZC5jbGFzc05hbWUgPSAibGNhcmQiOwogICAgZC5zdHlsZS5jc3NUZXh0ID0gIm9wYWNpdHk6LjY7Ym9yZGVy
OjJweCBkYXNoZWQgdmFyKC0tY2FyZDIpOyI7CiAgICBkLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVtIj4ke2NbMV19PC9kaXY+PGRpdiBjbGFzcz0i
bGVtb2ppIj4ke2NbMF19PC9kaXY+PGRpdiBjbGFzcz0ibGtyIj4ke2NbMl19PC9kaXY+PGRpdiBjbGFzcz0ibGVuIj4ke2NbM119PC9kaXY+PGRpdiBjbGFz
cz0ibHN0YXJzIiBzdHlsZT0iY29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOjA7Ij7inI3vuI8gaW4gdGhlIHdvcmtz
PC9kaXY+YDsKICAgIGQub25jbGljayA9ICgpID0+IG9wZW5Db21pbmcoaSk7CiAgICBnLmFwcGVuZChkKTsgLy8gKGFwcGVuZCwgbm90IGFwcGVuZENoaWxk
IOKAlCBrZWVwcyB0aGUgZW5naW5lJ3Mgc3RydWN0dXJlLWhvb2sgYW5jaG9yIHVuaXF1ZSkKICB9KTsKfQoKLyogMy4gRGFpbHkgcmVtaW5kZXIg4oCUIGxv
Y2FsIG5vdGlmaWNhdGlvbiB2aWEgdGhlIGFwcCBzaGltICh3aW5kb3cuVlFfTk9USUZZKTsKICAgc2lsZW50bHkgYWJzZW50IG9uIHRoZSB3ZWIuIEFza2Vk
IGZvciBPTkxZIGFmdGVyIHJlYWwgcHJvZ3Jlc3MsIG5ldmVyIGF0IGxhdW5jaC4gKi8KLyogU21hcnRlciByZW1pbmRlcnMgKDEuMSwgMjAyNi0wOS0yMCku
IEV2ZXJ5IGFwcCBvcGVuIHJlLXBsYW5zIGEgc2hvcnQgY2hhaW4gaW5zdGVhZCBvZiBvbmUKICAgYmxpbmQgZGFpbHkgcmVwZWF0OiB0aGUgbmV4dCByZW1p
bmRlciAodG9kYXkgYXQgdGhlIGNob3NlbiBob3VyLCBvciB0b21vcnJvdyBpZiB0b2RheSBpcwogICBhbHJlYWR5IHByYWN0aXNlZCksIGEgc2Vjb25kIG9u
ZSB0d28gZGF5cyBsYXRlciwgYSBsYXN0IG9uZSBhIHdlZWsgb3V0IOKAlCB0aGVuIHNpbGVuY2UuCiAgIFNvIGFuIGFjdGl2ZSBsZWFybmVyIGdldHMgb25l
IG51ZGdlIGEgZGF5IGFuZCBhIGxhcHNlZCBvbmUgZ2V0cyB0aHJlZSwgbmV2ZXIgbW9yZS4KICAgRWFjaCBtZXNzYWdlIG5hbWVzIHRoZSBmYW1pbHkgbWVt
YmVyLCB3YXJucyB3aGVuIGEgc3RyZWFrIHJlYWxseSBpcyBhYm91dCB0byBlbmQsCiAgIHJvdGF0ZXMgYnkgd2Vla2RheSwgYW5kIGVuZHMgb24gdGhlIGV4
YWN0IG5leHQgc3RlcC4gKi8KY29uc3QgUkVNSU5EX1RJVExFUyA9IFsiQ2jhu6cgbmjhuq10LCBtxrDhu51pIHBow7p0IHRow7RpIOKYlSIsICJ7YmF9IMSR
YW5nIMSR4bujaSDwn6enIiwgIk3hu5l0IGNow7p0IHRow7RpIPCfjLEiLCAiQ2jDoG8gYnXhu5VpIHThu5FpIPCfjJkiLCAiTmjhu5sgdGnhur9uZyBWaeG7
h3Qga2jDtG5nPyDwn5KbIiwgIkjDtG0gbmF5IG7Ds2kgZ8OsPyDwn46ZIiwgIkN14buRaSB0deG6p24gcuG7k2kg8J+OiSJdOwpjb25zdCBSRU1JTkRfQk9E
SUVTID0gWwogICJBIGxpdHRsZSB0b2RheSBiZWF0cyBhIGxvdCBuZXh0IHdlZWsg4oCUIHt3aG99IHdvdWxkIG5vdGljZSB0aGUgZGlmZmVyZW5jZS4iLAog
ICJGaXZlIHdvcmRzIHRvbmlnaHQgYW5kIHt3aG99IHVuZGVyc3RhbmRzIHlvdSBhIGxpdHRsZSBiZXR0ZXIuIiwKICAiVGVuIG1pbnV0ZXMsIG91dCBsb3Vk
IOKAlCB0aGF0IGlzIHRoZSB3aG9sZSBkZWFsLiIsCiAgIk9uZSBzdG9yeSB0b25pZ2h0LiBUaGUgd29yZHMgYXJlIHdhaXRpbmcgd2hlcmUgeW91IGxlZnQg
dGhlbS4iLAogICJZb3VyIHJldmlldyB3b3JkcyBjb21lIGJhY2sgdG9kYXkg4oCUIGNhdGNoIHRoZW0gYmVmb3JlIHRoZXkgZmFkZS4iLAogICJTYXkgaXQg
YmFkbHkgdG9kYXksIHNheSBpdCB3ZWxsIG5leHQgd2Vlay4ge1dob30gd2lsbCBub3QgbWluZC4iLAogICJPbmUgY29udmVyc2F0aW9uIHdpdGggdGhlIGJ1
aWx0LWluIHBhcnRuZXIgYW5kIHlvdSBhcmUgZG9uZSBmb3IgdGhlIGRheS4iLApdOwovKiB7d2hvfSBtaWQtc2VudGVuY2UgKCJiw6Agbmdv4bqhaSIsICJC
w6AgTGFuIiwgInlvdXIgZmFtaWx5IiksIHtXaG99IGF0IHRoZSBzdGFydCBvZiBvbmUgKi8KZnVuY3Rpb24gdnFSZW1pbmRXaG8oKSB7CiAgY29uc3QgZiA9
IHNhdmUuZmFtaWx5IHx8IHt9OwogIGNvbnN0IHJhdyA9ICgoZi5mb3JXaG8gJiYgZi5mb3JXaG9bMF0pIHx8ICIiKS50cmltKCk7CiAgY29uc3QgYmEgPSBm
LmJhID8gIkLDoCAiICsgZi5iYS50cmltKCkgOiAiQsOgIjsKICBjb25zdCB3aG8gPSAoL2LDoC9pLnRlc3QocmF3KSAmJiBmLmJhKSA/IGJhIDogKHJhdyB8
fCAieW91ciBmYW1pbHkiKTsKICByZXR1cm4geyB3aG8sIFdobzogd2hvLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd2hvLnNsaWNlKDEpLCBiYSB9Owp9
CmZ1bmN0aW9uIHZxUmVtaW5kUHJlZigpIHsgdHJ5IHsgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oInZxUmVtaW5kIikgfHwgIm51
bGwiKSB8fCB7IG9uOiBmYWxzZSwgaG91cjogMTkgfTsgfSBjYXRjaCAoZSkgeyByZXR1cm4geyBvbjogZmFsc2UsIGhvdXI6IDE5IH07IH0gfQphc3luYyBm
dW5jdGlvbiB2cVJlbWluZFNldChvbiwgaG91cikgewogIGNvbnN0IHByZWYgPSB7IG9uOiAhIW9uLCBob3VyOiBob3VyIHx8IHZxUmVtaW5kUHJlZigpLmhv
dXIgfHwgMTkgfTsKICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidnFSZW1pbmQiLCBKU09OLnN0cmluZ2lmeShwcmVmKSk7CiAgYXdhaXQgdnFSZW1pbmRTeW5j
KCk7CiAgdnFSZW1pbmRVSSgpOwp9Ci8qIHRoZSBjaGFpbiwgYXMgZGF0YSDigJQgYWxzbyB1c2VkIGJ5IHRoZSB0ZXN0cyAqLwpmdW5jdGlvbiB2cVJlbWlu
ZFBsYW4obm93KSB7CiAgbm93ID0gbm93IHx8IG5ldyBEYXRlKCk7CiAgY29uc3QgcHJlZiA9IHZxUmVtaW5kUHJlZigpOwogIGNvbnN0IHsgd2hvLCBXaG8s
IGJhIH0gPSB2cVJlbWluZFdobygpOwogIGNvbnN0IHRvZGF5ID0gdG9kYXlTdHIoKSwgeWVzdGVyZGF5ID0gdG9kYXlTdHIoLTEpOwogIGNvbnN0IHN0ID0g
c2F2ZS5zdHJlYWsgfHwgeyBjb3VudDogMCwgbGFzdDogIiIgfTsKICBjb25zdCBwcmFjdGlzZWRUb2RheSA9IHN0Lmxhc3QgPT09IHRvZGF5OwogIGNvbnN0
IGF0ID0gb2ZmID0+IG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgbm93LmdldERhdGUoKSArIG9mZiwgcHJlZi5ob3VyLCAw
LCAwKTsKICBjb25zdCBmaXJzdE9mZiA9ICghcHJhY3Rpc2VkVG9kYXkgJiYgbm93LmdldEhvdXJzKCkgPCBwcmVmLmhvdXIpID8gMCA6IDE7CiAgbGV0IG5l
eHQgPSBudWxsOyB0cnkgeyBuZXh0ID0gdnFOZXh0KCk7IH0gY2F0Y2ggKGUpIHt9CiAgY29uc3QgbmV4dExpbmUgPSBuZXh0ID8gYCBOZXh0OiAke25leHQu
dH0g4oCUICR7bmV4dC5zfSAofiR7bmV4dC5tfSBtaW4pLmAgOiAiIjsKICBjb25zdCBmaXJzdCA9IGF0KGZpcnN0T2ZmKSwgd2QgPSBmaXJzdC5nZXREYXko
KTsKICAvLyB0aGUgc3RyZWFrIGlzIGFsaXZlIGF0IGZpcmUgdGltZSBvbmx5IGlmIHRoZSBsYXN0IHByYWN0aWNlIHdhcyB0aGUgZGF5IGJlZm9yZSB0aGUg
cmVtaW5kZXIKICBjb25zdCBhbGl2ZSA9IHN0LmNvdW50ID49IDIgJiYgKChmaXJzdE9mZiA9PT0gMSAmJiBwcmFjdGlzZWRUb2RheSkgfHwgKGZpcnN0T2Zm
ID09PSAwICYmIHN0Lmxhc3QgPT09IHllc3RlcmRheSkpOwogIGNvbnN0IHJlc3RGcmVlID0gIXN0LnJlc3QgfHwgdnFEYXlzQmV0d2VlbihzdC5yZXN0LCB0
b2RheSkgPj0gNzsKICBjb25zdCBzdHJlYWtMaW5lID0gYWxpdmUgPyAocmVzdEZyZWUgPyBgIPCflKUgWW91ciAke3N0LmNvdW50fS1kYXkgc3RyZWFrIGhh
cyBhIHJlc3QgZGF5IGluIGhhbmQg4oCUIG9uZSB3b3JkIHN0aWxsIGtlZXBzIGl0LmAgOiBgIPCflKUgWW91ciAke3N0LmNvdW50fS1kYXkgc3RyZWFrIGVu
ZHMgYXQgbWlkbmlnaHQg4oCUIG9uZSB3b3JkIGtlZXBzIGl0LmApIDogIiI7CiAgY29uc3QgZmlsbCA9IHMgPT4gcy5yZXBsYWNlKC9ce1dob1x9L2csIFdo
bykucmVwbGFjZSgvXHt3aG9cfS9nLCB3aG8pLnJlcGxhY2UoL1x7YmFcfS9nLCBiYSk7CiAgcmV0dXJuIFsKICAgIHsgaWQ6IDEsIGF0OiBmaXJzdCwgdGl0
bGU6IGZpbGwoUkVNSU5EX1RJVExFU1t3ZF0pLCBib2R5OiBmaWxsKFJFTUlORF9CT0RJRVNbd2RdKSArIHN0cmVha0xpbmUgKyBuZXh0TGluZSB9LAogICAg
eyBpZDogMywgYXQ6IGF0KGZpcnN0T2ZmICsgMiksIHRpdGxlOiAiQ8OybiBuaOG7myBraMO0bmc/IPCfkpsiLCBib2R5OiBgVHdvIHF1aWV0IGRheXMuICR7
V2hvfSBpcyBzdGlsbCB0aGVyZSwgYW5kIHNvIGFyZSB5b3VyIHdvcmRzIOKAlCBmaXZlIG1pbnV0ZXMgYnJpbmdzIHRoZW0gYmFjay5gICsgbmV4dExpbmUg
fSwKICAgIHsgaWQ6IDQsIGF0OiBhdChmaXJzdE9mZiArIDYpLCB0aXRsZTogIk3hu5l0IHR14bqnbiBy4buTaSDwn4yxIiwgYm9keTogYEEgd2VlayBhd2F5
IGlzIGZpbmUg4oCUIHRoZSB3b3JkcyB3YWl0LiBPcGVuIHRoZSBhcHAgYW5kIHNheSBvbmUgdGhpbmcgb3V0IGxvdWQuYCArIG5leHRMaW5lIH0sCiAgXTsK
fQphc3luYyBmdW5jdGlvbiB2cVJlbWluZFN5bmMoKSB7CiAgaWYgKCF3aW5kb3cuVlFfTk9USUZZKSByZXR1cm47CiAgY29uc3QgcHJlZiA9IHZxUmVtaW5k
UHJlZigpOwogIGlmICghcHJlZi5vbikgeyB0cnkgeyBhd2FpdCBWUV9OT1RJRlkuY2FuY2VsKCk7IH0gY2F0Y2ggKGUpIHt9IHJldHVybjsgfQogIGNvbnN0
IG9rID0gYXdhaXQgVlFfTk9USUZZLnBlcm1pc3Npb24oKTsKICBpZiAoIW9rKSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cVJlbWluZCIsIEpTT04uc3Ry
aW5naWZ5KHsgLi4ucHJlZiwgb246IGZhbHNlIH0pKTsgcmV0dXJuOyB9CiAgY29uc3QgcGxhbiA9IHZxUmVtaW5kUGxhbigpOwogIHRyeSB7IGF3YWl0IFZR
X05PVElGWS5jYW5jZWwoKTsgfSBjYXRjaCAoZSkge30KICBmb3IgKGNvbnN0IG4gb2YgcGxhbikgeyB0cnkgeyBhd2FpdCBWUV9OT1RJRlkub25jZShuLmlk
LCBuLmF0LCBuLnRpdGxlLCBuLmJvZHkpOyB9IGNhdGNoIChlKSB7fSB9Cn0KZnVuY3Rpb24gdnFSZW1pbmRVSSgpIHsgLy8gYXBwZW5kZWQgaW5zaWRlIHRo
ZSDwn46ZIHNldHRpbmdzIHBhbmVsIChhcHAgb25seSkKICBpZiAoIXdpbmRvdy5WUV9OT1RJRlkpIHJldHVybjsKICBjb25zdCBwYW5lbCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoIiNrcVZvaWNlV3JhcCA+IGRpdiIpOyBpZiAoIXBhbmVsKSByZXR1cm47CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInZxUmVtaW5kQm94Iik7IGlmIChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCBwcmVmID0gdnFSZW1pbmRQcmVmKCk7CiAgY29uc3QgYm94ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgYm94LmlkID0gInZxUmVtaW5kQm94IjsKICBib3guaW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImZv
bnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46MTRweCAwIDZweDsiPvCflJQgRGFpbHkgcmVtaW5kZXI8L2Rpdj4KICAgIDxkaXYgc3R5
bGU9ImRpc3BsYXk6ZmxleDtnYXA6OHB4OyI+CiAgICAgIDxidXR0b24gb25jbGljaz0idnFSZW1pbmRTZXQoJHtwcmVmLm9uID8gImZhbHNlIiA6ICJ0cnVl
In0pIiBzdHlsZT0iZmxleDoxO3BhZGRpbmc6OXB4IDRweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWFjY2VudCk7YmFj
a2dyb3VuZDoke3ByZWYub24gPyAidmFyKC0tYWNjZW50KSIgOiAidHJhbnNwYXJlbnQifTtjb2xvcjoke3ByZWYub24gPyAiI2ZmZiIgOiAidmFyKC0tYWNj
ZW50KSJ9O2ZvbnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+JHtwcmVmLm9uID8gIk9u
IiA6ICJPZmYifTwvYnV0dG9uPgogICAgICAke1sxOCwgMTksIDIwLCAyMV0ubWFwKGggPT4gYDxidXR0b24gb25jbGljaz0idnFSZW1pbmRTZXQodHJ1ZSwk
e2h9KSIgc3R5bGU9ImZsZXg6MTtwYWRkaW5nOjlweCA0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1jYXJkMik7YmFj
a2dyb3VuZDoke3ByZWYub24gJiYgcHJlZi5ob3VyID09PSBoID8gInZhcigtLWNhcmQyKSIgOiAidHJhbnNwYXJlbnQifTtjb2xvcjp2YXIoLS10ZXh0KTtj
dXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+JHtoID4gMTIgPyBoIC0gMTIgOiBofSBQTTwvYnV0dG9uPmApLmpv
aW4oIiIpfQogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLXRvcDo2cHg7Ij5PbmUg
Z2VudGxlIG51ZGdlIGEgZGF5LCBhdCB0aGUgaG91ciB5b3UgcGljay4gSWYgeW91IHN0b3AgY29taW5nLCB0d28gbW9yZSBvdmVyIHRoZSBmb2xsb3dpbmcg
d2VlayDigJQgdGhlbiBzaWxlbmNlLjwvZGl2PgogICAgJHt3aW5kb3cuVlFfSEFQVElDICYmIHR5cGVvZiB2cUhhcHRpY09uID09PSAiZnVuY3Rpb24iID8g
YDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46MTRweCAwIDZweDsiPvCfk7MgSGFwdGljczwvZGl2PgogICAg
PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7Ij4KICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ2cUhhcHRpY1NldCh0cnVlKSIgc3R5bGU9ImZsZXg6
MTtwYWRkaW5nOjlweCA0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6JHt2cUhhcHRp
Y09uKCkgPyAidmFyKC0tYWNjZW50KSIgOiAidHJhbnNwYXJlbnQifTtjb2xvcjoke3ZxSGFwdGljT24oKSA/ICIjZmZmIiA6ICJ2YXIoLS10ZXh0KSJ9O2Zv
bnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0OyI+T248L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ2cUhh
cHRpY1NldChmYWxzZSkiIHN0eWxlPSJmbGV4OjE7cGFkZGluZzo5cHggNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0t
Y2FyZDIpO2JhY2tncm91bmQ6JHt2cUhhcHRpY09uKCkgPyAidHJhbnNwYXJlbnQiIDogInZhcigtLWNhcmQyKSJ9O2NvbG9yOnZhcigtLXRleHQpO2ZvbnQt
d2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0OyI+T2ZmPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZv
bnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjZweDsiPkEgbGlnaHQgdGFwIG9uIGV2ZXJ5IGNvcnJlY3QgYW5zd2VyLCBhIGxp
dHRsZSBidXp6IG9uIHRoZSBiaWcgbW9tZW50cy48L2Rpdj5gIDogIiJ9YDsKICBjb25zdCBkb25lID0gcGFuZWwucXVlcnlTZWxlY3RvcigiYnV0dG9uW29u
Y2xpY2sqPSdrcVZvaWNlV3JhcCddIik7CiAgcGFuZWwuaW5zZXJ0QmVmb3JlKGJveCwgZG9uZSk7Cn0KZnVuY3Rpb24gdnFSZW1pbmRPZmZlcigpIHsgLy8g
b25lLXRpbWUsIGFmdGVyIHJlYWwgcHJvZ3Jlc3Mg4oCUIG5ldmVyIG9uIGZpcnN0IGxhdW5jaAogIC8vIGNvdW50IEZvdW5kYXRpb24gY2FyZHMgdG9vIOKA
lCB0b3RhbExlYXJuZWQoKSBleGNsdWRlcyAiRiIgZm9yIHRoZSAyODgtd29yZCBsaW5lCiAgY29uc3QgbGVhcm5lZEFueSA9IE9iamVjdC52YWx1ZXMoc2F2
ZS5sZXNzb25zKS5yZWR1Y2UoKGEsIGwpID0+IGEgKyAobC5rbm93biA/IGwua25vd24ubGVuZ3RoIDogMCksIDApOwogIGlmICghd2luZG93LlZRX05PVElG
WSB8fCBzYXZlLnJlbWluZEFza2VkIHx8IGxlYXJuZWRBbnkgPCA1KSByZXR1cm47CiAgc2F2ZS5yZW1pbmRBc2tlZCA9IDE7IHBlcnNpc3QoKTsKICBjb25z
dCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9ICJ2cVJlbWluZE9mZmVyV3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBv
c2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMDAwMDAwNzA7ei1pbmRleDo5OTk5O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVz
dGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7IjsKICB3LmlubmVySFRNTCA9IGA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2Jv
cmRlci1yYWRpdXM6MTZweDttYXgtd2lkdGg6MzgwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjIwcHg7Ym94LXNoYWRvdzowIDEwcHggNDBweCAjMDAwMDAwNTU7
Ij4KICAgIDxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTdweDtjb2xvcjp2YXIoLS10ZXh0KTsiPvCflJQgV2FudCBhIGRhaWx5IG51
ZGdlPzwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjY7bWFyZ2luLXRvcDo4
cHg7Ij5GaXZlIHdvcmRzIGxlYXJuZWQgYWxyZWFkeS4gVGhlIHBlb3BsZSB3aG8ga2VlcCBnb2luZyBhcmUgdGhlIG9uZXMgd2hvIGNvbWUgYmFjayB0b21v
cnJvdyDigJQgb25lIHJlbWluZGVyIGF0IDcgUE0gaGVscHMgd2l0aCB0aGF0LiBObyBzdHJlYWsgZ3VpbHQsIG5vIG1hcmtldGluZywganVzdCBhIGhlbGxv
LjwvZGl2PgogICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndnFSZW1pbmRPZmZlcldyYXAnKS5yZW1vdmUoKTt2cVJlbWlu
ZFNldCh0cnVlLDE5KSIgc3R5bGU9Im1hcmdpbi10b3A6MTRweDt3aWR0aDoxMDAlO3BhZGRpbmc6MTJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjA7
YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Ij5S
ZW1pbmQgbWUgYXQgNyBQTTwvYnV0dG9uPgogICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndnFSZW1pbmRPZmZlcldyYXAn
KS5yZW1vdmUoKSIgc3R5bGU9Im1hcmdpbi10b3A6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNr
Z3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+
Tm90IG5vdyDigJQgSSBjYW4gdHVybiBpdCBvbiBpbiDwn46ZIHNldHRpbmdzPC9idXR0b24+CiAgPC9kaXY+YDsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHcpOwp9CgovKiA9PT09PT09PT09PT09PT0gV0VMQ09NRSAoZmlyc3QgbGF1bmNoKSArIEVNQkxFTSA9PT09PT09PT09PT09PT0gKi8KLyogVGhlIGVt
YmxlbSBpcyB0aGUgYXBwIGljb24ncyBtYXJrIOKAlCBhIG7Ds24gbMOhIHdlYXJpbmcgYSBz4bqvYyB0b25lIOKAlCBhcyBhbgogICBpbmxpbmUgU1ZHIHNv
IGl0IHdvcmtzIG9mZmxpbmUgaW4gdGhlIGFwcCBhbmQgbmVlZHMgbm8gbmV0d29yayBvbiB0aGUgd2ViLiAqLwpjb25zdCBWUV9FTUJMRU1fU1ZHID0gYDxz
dmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAyNCAxMDI0Jz4KPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSdn
JyB4MT0nMCcgeTE9JzAnIHgyPScwJyB5Mj0nMSc+PHN0b3Agb2Zmc2V0PScwJyBzdG9wLWNvbG9yPScjQzI0NTJGJy8+PHN0b3Agb2Zmc2V0PScxJyBzdG9w
LWNvbG9yPScjOEUyQTFEJy8+PC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSdoJyB4MT0nMCcgeTE9JzAnIHgyPScwJyB5Mj0nMSc+PHN0
b3Agb2Zmc2V0PScwJyBzdG9wLWNvbG9yPScjRkRGOUVFJy8+PHN0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPScjRUZFMkM0Jy8+PC9saW5lYXJHcmFkaWVu
dD48L2RlZnM+CjxjaXJjbGUgY3g9JzUxMicgY3k9JzUxMicgcj0nNTAwJyBmaWxsPSd1cmwoI2cpJy8+CjxjaXJjbGUgY3g9JzUxMicgY3k9JzUxMicgcj0n
NDY4JyBmaWxsPSdub25lJyBzdHJva2U9JyNGQkY2RUEnIHN0cm9rZS1vcGFjaXR5PScuMzUnIHN0cm9rZS13aWR0aD0nMTAnLz4KPGVsbGlwc2UgY3g9JzUx
MicgY3k9Jzc2OCcgcng9JzMzMCcgcnk9JzQ2JyBmaWxsPScjNUUxQjEyJyBvcGFjaXR5PScuNDUnLz4KPHBhdGggZD0nTTUxMiAzMThDNTYwIDM4MCA3MDAg
NTYwIDgzOCA3MjZDNzYwIDcwMCA2NDAgNjg0IDUxMiA2ODRDMzg0IDY4NCAyNjQgNzAwIDE4NiA3MjZDMzI0IDU2MCA0NjQgMzgwIDUxMiAzMThaJyBmaWxs
PSd1cmwoI2gpJy8+CjxlbGxpcHNlIGN4PSc1MTInIGN5PSc3MjYnIHJ4PSczMjYnIHJ5PSc2NicgZmlsbD0nI0Y2RURENicvPjxlbGxpcHNlIGN4PSc1MTIn
IGN5PSc3MjAnIHJ4PSczMjYnIHJ5PSc2MicgZmlsbD0ndXJsKCNoKScvPgo8ZyBzdHJva2U9JyNEOUM2OUInIHN0cm9rZS13aWR0aD0nNycgZmlsbD0nbm9u
ZScgb3BhY2l0eT0nLjg1Jz48cGF0aCBkPSdNNTEyIDMzMEM1MDAgNDYwIDQ0MCA2MDAgMzQ0IDcwMCcvPjxwYXRoIGQ9J001MTIgMzMwQzUwOCA0NzAgNDg0
IDYyMCA0MjggNzEyJy8+PHBhdGggZD0nTTUxMiAzMzJMNTEyIDcxNicvPjxwYXRoIGQ9J001MTIgMzMwQzUxNiA0NzAgNTQwIDYyMCA1OTYgNzEyJy8+PHBh
dGggZD0nTTUxMiAzMzBDNTI0IDQ2MCA1ODQgNjAwIDY4MCA3MDAnLz48L2c+CjxnIHN0cm9rZT0nI0U0RDRBQycgc3Ryb2tlLXdpZHRoPSc2JyBmaWxsPSdu
b25lJyBvcGFjaXR5PScuOCc+PHBhdGggZD0nTTQyOCA0MzJDNDU2IDQ0NCA1NjggNDQ0IDU5NiA0MzInLz48cGF0aCBkPSdNMzcyIDUyMEM0MTYgNTM4IDYw
OCA1MzggNjUyIDUyMCcvPjxwYXRoIGQ9J00zMTAgNjEyQzM3MiA2MzYgNjUyIDYzNiA3MTQgNjEyJy8+PC9nPgo8cGF0aCBkPSdNMTg2IDcyNkMyNjQgNzAw
IDM4NCA2ODQgNTEyIDY4NEM2NDAgNjg0IDc2MCA3MDAgODM4IDcyNicgc3Ryb2tlPScjQzlCMjg1JyBzdHJva2Utd2lkdGg9JzgnIGZpbGw9J25vbmUnIG9w
YWNpdHk9Jy45Jy8+CjxwYXRoIGQ9J000NDggMjM2QzUwMCAxOTYgNTc0IDE1NiA2NDAgMTMyJyBzdHJva2U9JyMxNzVDNDUnIHN0cm9rZS13aWR0aD0nNzQn
IHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgZmlsbD0nbm9uZScvPgo8cGF0aCBkPSdNNDUyIDIyOEM1MDIgMTkwIDU3MiAxNTIgNjM0IDEzMCcgc3Ryb2tlPScj
MkU5MDcwJyBzdHJva2Utd2lkdGg9JzU4JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIGZpbGw9J25vbmUnLz4KPC9zdmc+YDsKY29uc3QgVlFfRU1CTEVNID0g
ImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCIgKyBlbmNvZGVVUklDb21wb25lbnQoVlFfRU1CTEVNX1NWRyk7CgpmdW5jdGlvbiB2cVdlbGNvbWVEb25lKCkg
ewogIHNhdmUud2VsY29tZWQgPSAxOwogIHBlcnNpc3QoKTsKICBjb25zdCB3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxV2VsV3JhcCIpOyBpZiAo
dykgdy5yZW1vdmUoKTsKfQpmdW5jdGlvbiB2cVdlbGNvbWUoc3RlcCkgewogIHN0ZXAgPSBzdGVwIHx8IDE7CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInZxV2VsV3JhcCIpOyBpZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3Qgd3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogIHdyYXAuaWQgPSAidnFXZWxXcmFwIjsKICB3cmFwLnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJn
YmEoMjAsMTQsNCwuNTUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDNweCk7ei1pbmRleDoxMDAwMDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1
c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4O292ZXJmbG93OmF1dG87IjsKICBjb25zdCByb3cgPSAoZSwgdCkgPT4gYDxkaXYgc3R5bGU9ImRp
c3BsYXk6ZmxleDtnYXA6MTFweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxOXB4OyI+JHtlfTwvc3Bhbj48ZGl2
IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuNTU7Y29sb3I6dmFyKC0tdGV4dCk7Ij4ke3R9PC9kaXY+PC9kaXY+YDsKICBsZXQgYm9k
eSA9ICIiOwogIGlmIChzdGVwID09PSAxKSB7CiAgICBib2R5ID0gYAogICAgICA8aW1nIHNyYz0iJHtWUV9FTUJMRU19IiBhbHQ9IiIgc3R5bGU9ImhlaWdo
dDo4NHB4O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgYXV0byAxMHB4OyI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9u
dC1zaXplOjI2cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEuMjsiPkNow6BvIG3h
u6tuZy48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10
b3A6NnB4OyI+V2VsY29tZSB0byBWaWV0bmFtZXNlIFF1ZXN0LjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0t
Y2FyZDIpO21hcmdpbjoxNnB4IDA7Ij48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0LjVweDtsaW5lLWhlaWdodDoxLjc7Y29sb3I6dmFy
KC0tdGV4dCk7Ij5UaGlzIHdhcyBidWlsdCBmb3Igb25lIHBlcnNvbiBmaXJzdDogc29tZW9uZSB3aXRoIFZpZXRuYW1lc2UgZmFtaWx5IHdobyBncmV3IHVw
IHNwZWFraW5nIEVuZ2xpc2gsIGFuZCB3YW50cyB0aGUgbGFuZ3VhZ2UgYmFjay4gSGVyZSBpcyB3aGF0IGlzIGluc2lkZTo8L2Rpdj4KICAgICAgPGRpdiBz
dHlsZT0ibWFyZ2luLXRvcDoxMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDsiPgogICAgICAgICR7cm93KCLwn4+bIiwg
IjxiPlRoZSBGb3VuZGF0aW9uPC9iPiDigJQgdGhlIHNpeCB0b25lcyBhbmQgZXZlcnkgc291bmQuIE1hc3RlciBpdCBhbmQgeW91IGNhbiByZWFkIGFueSBW
aWV0bmFtZXNlIHdvcmQuIEl0IHRha2VzIGFib3V0IGEgZGF5LiIpfQogICAgICAgICR7cm93KCLwn6etIiwgIjxiPlR3byBzZWFzb25zLCBvbmUgZmFtaWx5
PC9iPiDigJQgeW91ciBmaXJzdCBU4bq/dCBpbiBIw6AgTuG7mWkgd2l0aCB5b3VyIGdyYW5kbW90aGVyLCB0aGVuIFPDoGkgR8OybiB3aXRoIHlvdXIgbW90
aGVyLCB0aGlydHkgeWVhcnMgYWZ0ZXIgc2hlIGxlZnQuIE5vcnRoZXJuIGZpcnN0LCB0aGVuIFNvdXRoZXJuLiIpfQogICAgICAgICR7cm93KCLwn46kIiwg
IjxiPlNwZWFrLCBhbmQgaGVhciBleGFjdGx5IHdoYXQgdG8gZml4PC9iPiDigJQgdGhlIG1pYyB0ZWxscyB5b3Ugd2hlbiB0aGUgc291bmQgd2FzIHJpZ2h0
IGJ1dCB0aGUgdG9uZSB3YXMgd3JvbmcuIFBsdXMgZWFyIHRyYWluaW5nIGFuZCBhIHJldmlldyB0aGF0IGJyaW5ncyB3b3JkcyBiYWNrIGJlZm9yZSB5b3Ug
Zm9yZ2V0IHRoZW0uIil9CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQyKTtib3JkZXItcmFkaXVzOjEycHg7
cGFkZGluZzoxMnB4IDE0cHg7bWFyZ2luLXRvcDoxNHB4O2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS42O2NvbG9yOnZhcigtLXRleHQpOyI+CiAg
ICAgICAgPGI+VGhlIGRlYWw6PC9iPiB0ZW4gbWludXRlcyBhIGRheSwgb3V0IGxvdWQuIEl0IGlzIGZyZWUsIGl0IHdvcmtzIG9mZmxpbmUsIGFuZCB0aGVy
ZSBpcyBub3RoaW5nIHRvIGJ1eS4KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9IndpZHRoOjEwMCU7bWFyZ2luLXRvcDox
NnB4O3BhZGRpbmc6MTRweDtmb250LXNpemU6MTVweDsiIG9uY2xpY2s9InZxV2VsY29tZSgyKSI+U2F5IG15IGZpcnN0IFZpZXRuYW1lc2Ugd29yZCDihpI8
L2J1dHRvbj5gOwogIH0gZWxzZSBpZiAoc3RlcCA9PT0gMikgewogICAgYm9keSA9IGAKICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Zm9u
dC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MnB4O2NvbG9yOnZhcigtLWdvbGQpO2ZvbnQtd2VpZ2h0OjgwMDsiPllPVVIgRklSU1QgV09SRCDCtyBSSUdI
VCBOT1c8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE4cHggMCA2cHg7Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJm
b250LXNpemU6NTJweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4dCk7bGluZS1oZWlnaHQ6MS4yO2N1cnNvcjpwb2ludGVyOyIgb25jbGljaz0i
c2F5KCdDaMOgbycsMC43NSkiPkNow6BvPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4O21hcmdp
bi10b3A6NHB4OyI+Y2hvdyDihpgg4oCUIGhlbGxvLiBUaGUgdm9pY2UgZmFsbHMsIGdlbnRseSwgbGlrZSBhIHNpZ2guPC9kaXY+CiAgICAgIDwvZGl2Pgog
ICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MTJweDsiPgogICAgICAgIDxi
dXR0b24gY2xhc3M9InNuZGJ0biIgc3R5bGU9Im1hcmdpbjowOyIgb25jbGljaz0ic2F5KCdDaMOgbycsMC43NSkiPvCflIogSGVhciBpdDwvYnV0dG9uPgog
ICAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgc3R5bGU9Im1hcmdpbjowOyIgb25jbGljaz0ic2F5KCdDaMOgbycsMC40NSkiPvCfkKIgU2xvdzwvYnV0
dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS43O2NvbG9yOnZhcigtLXRleHQpO21hcmdp
bi10b3A6MThweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgIE5vdyBzYXkgaXQgb3V0IGxvdWQuIEFjdHVhbGx5IG91dCBsb3VkIOKAlCBub2JvZHkg
aXMgbGlzdGVuaW5nIGJ1dCB5b3UuCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjY7Y29sb3I6
dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6MTBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgIElmIGl0IGNhbWUgb3V0IHdyb25nLCB0aGF0IGlzIG5v
dCBhIHByb2JsZW0gdG8gYXZvaWQuIEl0IGlzIHRoZSB3aG9sZSBqb2IuIEV2ZXJ5IHdvcmQgaW4gdGhpcyBnYW1lIGlzIG9uZSB5b3Ugd2lsbCBzYXkgYmFk
bHkgZmlyc3QgYW5kIHdlbGwgbGF0ZXIg4oCUIGFuZCBzb21ld2hlcmUgaW4gdGhlcmUsIHlvdXIgZ3JhbmRtb3RoZXIgdW5kZXJzdGFuZHMgeW91LgogICAg
ICA8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW4tdG9wOjE4cHg7cGFkZGluZzoxNHB4O2ZvbnQtc2l6
ZToxNXB4OyIgb25jbGljaz0idnFXZWxjb21lKDMpIj5JIHNhaWQgaXQgb3V0IGxvdWQg4oaSPC9idXR0b24+YDsKICB9IGVsc2UgewogICAgYm9keSA9IGAK
ICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MnB4O2NvbG9yOnZhcigtLWdvbGQpO2Zv
bnQtd2VpZ2h0OjgwMDsiPk9ORSBMQVNUIFRISU5HPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXpl
OjIycHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi10b3A6MTBweDtsaW5lLWhlaWdodDoxLjI1
OyI+V2hlcmUgc2hvdWxkIHlvdSBzdGFydD88L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtsaW5lLWhlaWdodDoxLjY1O2NvbG9y
OnZhcigtLW11dGVkKTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjhweDsiPkFsbW9zdCBldmVyeW9uZSBzaG91bGQgYmVnaW4gd2l0aCB0aGUgdG9u
ZXMg4oCUIGV2ZW4gcGVvcGxlIHdobyBncmV3IHVwIGhlYXJpbmcgVmlldG5hbWVzZS4gS25vd2luZyBhIHNvdW5kIGFuZCBiZWluZyBhYmxlIHRvIG1ha2Ug
aXQgb24gcHVycG9zZSBhcmUgZGlmZmVyZW50IHNraWxscy48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6ZmxleDtm
bGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO3BhZGRpbmc6MTRw
eDtmb250LXNpemU6MTVweDsiIG9uY2xpY2s9InZxV2VsY29tZURvbmUoKTtvcGVuRm91bmRhdGlvbigpIj7wn4+bIFN0YXJ0IHdpdGggdGhlIEZvdW5kYXRp
b24g4oCUIHRoZSBzaXggdG9uZXM8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJtYXJnaW46MDt3aWR0aDoxMDAlO3Bh
ZGRpbmc6MTNweDtmb250LXNpemU6MTRweDsiIG9uY2xpY2s9InZxV2VsY29tZURvbmUoKTtvcGVuTGVzc29uKDEpIj7wn4yxIEkgYWxyZWFkeSBrbm93IHRo
ZSBzb3VuZHMg4oCUIGJlZ2luIFF1ZXN0IDE8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO21hcmdp
bi10b3A6MTJweDsiPgogICAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgc3R5bGU9Im1hcmdpbjowO2ZvbnQtc2l6ZToxMi41cHg7IiBvbmNsaWNrPSJ2
cVdlbGNvbWVEb25lKCkiPvCfk5YgSnVzdCBzaG93IG1lIGFyb3VuZCBmaXJzdDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9u
dC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDoxNHB4O2xpbmUtaGVpZ2h0OjEuNjsiPgogICAg
ICAgIFlvdXIgcHJvZ3Jlc3Mgc2F2ZXMgb24gdGhpcyBkZXZpY2UuIE5vIGFjY291bnQsIG5vdGhpbmcgdG8gYnV5Ljxicj4KICAgICAgICBJZiBhbnl0aGlu
ZyBicmVha3MsIGVtYWlsIG1lIGFuZCBJIHdpbGwgZml4IGl0LiDigJQgVG9tCiAgICAgIDwvZGl2PmA7CiAgfQogIHdyYXAuaW5uZXJIVE1MID0gYDxkaXYg
c3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6MjBweDttYXgtd2lkdGg6
NDcwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjI0cHg7Ym94LXNoYWRvdzowIDE4cHggNTBweCByZ2JhKDAsMCwwLC4zKTttYXgtaGVpZ2h0Ojkydmg7b3ZlcmZs
b3c6YXV0bzsiPiR7Ym9keX08L2Rpdj5gOwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcCk7Cn0KLyogIkhvdyBpdCB3b3JrcyIgbGluayB1bmRl
ciB0aGUgbWFwIHN1YnRpdGxlIHNvIHRoZSBpbnRyb2R1Y3Rpb24gY2FuIGJlIHJlb3BlbmVkICovCmZ1bmN0aW9uIHZxV2VsY29tZUxpbmsoKSB7CiAgY29u
c3QgcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdWJ0aXRsZSIpOwogIGlmICghcyB8fCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFIb3dMaW5r
IikpIHJldHVybjsKICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogIGEuaWQgPSAidnFIb3dMaW5rIjsKICBhLnRleHRDb250
ZW50ID0gIiDCtyBIb3cgaXQgd29ya3MiOwogIGEuc3R5bGUuY3NzVGV4dCA9ICJjb2xvcjp2YXIoLS1hY2NlbnQyKTtjdXJzb3I6cG9pbnRlcjtmb250LXdl
aWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwOyI7CiAgYS5vbmNsaWNrID0gKCkgPT4gdnFXZWxjb21lKDEpOwogIHMuYXBwZW5kQ2hpbGQoYSk7Cn0KCi8q
ID09PT09PT09PT09PT09PSBGT1VOREFUSU9OIChO4buBbiB04bqjbmcpIOKAlCB0b25lcyAmIHNvdW5kcyBmaXJzdCA9PT09PT09PT09PT09PT0gKi8KLyog
MjQgc291bmQgY2FyZHMgaW4gd29yZC1lbnRyeSBmb3JtYXQgc28gdGhlIExlYXJuL1NwZWFrIGVuZ2luZSB0ZWFjaGVzIHRoZW0uCiAgIE1hc3RlciB0aGUg
Zm91bmRhdGlvbiDihpIgeW91IGNhbiByZWFkIEFOWSBWaWV0bmFtZXNlIHdvcmQuICovCmNvbnN0IEZPVU5EX0NBUkRTID0gWwogIC8vIOKAlCB0aGUgc2l4
IHRvbmVzICh0aGUgaGVhcnQgb2YgVmlldG5hbWVzZSkg4oCUCiAgWyJtYSIsIuKGkiAgbmdhbmcg4oCUIGxldmVsIiwidGhlIGxldmVsIHRvbmUgKG5vIG1h
cmspIiwiVG9uZSAxIG9mIDYuIEhvbGQgb25lIHN0ZWFkeSBzaW5naW5nIG5vdGUg4oCUIG5vIHJpc2UsIG5vIGZhbGwuIEFuaCBlbSDEg24gY8ahbTogZm91
ciBsZXZlbCBzeWxsYWJsZXMhIiwi8J+OtSIsIkFuaCBlbSDEg24gY8ahbS4iLCJCcm90aGVyIGFuZCBzaXN0ZXIgZWF0LiJdLAogIFsibcOgIiwi4oaYICBo
dXnhu4FuIOKAlCBmYWxsaW5nIiwidGhlIGxvdyBmYWxsaW5nIHRvbmUiLCJWb2ljZSBkcmlmdHMgZ2VudGx5IERPV04sIHNvZnQgYW5kIHJlbGF4ZWQg4oCU
IGNow6BvLCBiw6AsIGzDoCBhbGwgY2FycnkgaXQuIiwi8J+TiSIsIkNow6F1IGNow6BvIGLDoCDhuqEuIiwiSGVsbG8sIEdyYW5kbWEuIl0sCiAgWyJtw6Ei
LCLihpcgIHPhuq9jIOKAlCByaXNpbmciLCJ0aGUgcmlzaW5nIHRvbmUiLCJWb2ljZSBjbGltYnMgbGlrZSBhc2tpbmcgJ3doYXQ/JyDigJQgY8OhLCBuw7Np
LCBjaMO6LiIsIvCfk4giLCJDw6EgY+G7p2EgYsOgIG5nb24gcXXDoSEiLCJHcmFuZG1hJ3MgZmlzaCBpcyBzbyBnb29kISJdLAogIFsibeG6oyIsIuKktSAg
aOG7j2kg4oCUIGRpcHBpbmciLCJ0aGUgZGlwcGluZyB0b25lIiwiRGlwIGxvdywgdGhlbiBib3VuY2UgcGFydHdheSBiYWNrIOKAlCBwaOG7nywga2jhu49l
LCBo4buPaS4gSW4gSMOgIE7hu5lpIGl0IG9mdGVuIGp1c3Qgc2lua3MgbG93IGFuZCBzdG9wcy4iLCLwn42cIiwiQ2jDoXUga2jhu49lIOG6oSwgY+G6o20g
xqFuIGLDoC4iLCJJIGFtIHdlbGwsIHRoYW5rIHlvdS4iXSwKICBbIm3DoyIsIn7ihpcgIG5nw6Mg4oCUIGJyb2tlbiIsInRoZSBicm9rZW4gcmlzaW5nIHRv
bmUiLCJSaXNlIHdpdGggYSB0aW55IGNhdGNoIGluIHRoZSB0aHJvYXQsIGxpa2UgYSBtaWQtbm90ZSBoaWNjdXAg4oCUIGPFqW5nLCBtw6NpLCBuZ8OjLiBI
w6AgTuG7mWkga2VlcHMgaXQgZGlzdGluY3QgZnJvbSBo4buPaS4iLCLimqEiLCJDaMOhdSBjxaluZyBuaOG7myBt4buNaSBuZ8aw4budaS4iLCJJIG1pc3Mg
ZXZlcnlvbmUgdG9vLiJdLAogIFsibeG6oSIsIuKGkyAgbuG6t25nIOKAlCBoZWF2eSIsInRoZSBoZWF2eSB0b25lIiwiU2hvcnQsIGxvdywgc3RvcHBlZCBo
YXJkIOKAlCBsaWtlIGRyb3BwaW5nIGEgc3RvbmU6IOG6oSwgbeG6uSwgY2jhu6MuIiwi8J+nsSIsIlbDom5nIOG6oSwgY2jDoXUgaGnhu4N1IOG6oS4iLCJZ
ZXMsIEkgdW5kZXJzdGFuZC4iXSwKICAvLyDigJQgdGhlIHNwZWNpYWwgdm93ZWxzIOKAlAogIFsixqEiLCJ1aCAob3BlbikiLCJ0aGUgb3BlbiAndWgnIHZv
d2VsIiwiTGlrZSAnZnVyJyB3aXRob3V0IHRoZSByIOKAlCBjxqFtLCDGoW4sIGNo4bujLiBUaGUgbGl0dGxlIGhvcm4gY2hhbmdlcyBldmVyeXRoaW5nLiIs
IvCfjZoiLCJDaMOhdSBj4bqjbSDGoW4gYsOhYyDhuqEuIiwiVGhhbmsgeW91LCBVbmNsZS4iXSwKICBbIsawIiwidXUgKHNtaWxpbmcpIiwidGhlIHNtaWxp
bmcgJ3UnIiwiU2F5ICdvbycgYnV0IHB1bGwgeW91ciBsaXBzIEZMQVQgbGlrZSBhIHNtaWxlIOKAlCBuxrDhu5tjLCB04burLCBjaMawYS4iLCLwn5KnIiwi
Q2hvIGNow6F1IGPhu5FjIG7GsOG7m2Mg4bqhLiIsIkEgZ2xhc3Mgb2Ygd2F0ZXIsIHBsZWFzZS4iXSwKICBbIsOiIiwidWggKHF1aWNrKSIsInRoZSBzaG9y
dCAndWgnIiwiQSBxdWljayBjbGlwcGVkIMahIOKAlCBzw6JuIGJheSwgcuG6pXQsIMSRw6J1LiIsIuKciO+4jyIsIk3huqV5IGdp4budIHJhIHPDom4gYmF5
IOG6oT8iLCJXaGF0IHRpbWUgZG8gd2UgbGVhdmUgZm9yIHRoZSBhaXJwb3J0PyJdLAogIFsixIMiLCJhaCAocXVpY2spIiwidGhlIHNob3J0ICdhaCciLCJB
IHF1aWNrIGNsaXBwZWQgYSDigJQgxINuLCBuxINtLiBJdCBhbHdheXMgd2VhcnMgYSB0b25lIG1hcmsgb24gdG9wIG9mIHRoZSBob29rLiIsIvCfmIsiLCJD
aMOhdSDEg24gY8ahbSBjaMawYT8gUuG7k2kg4bqhISIsIkhhdmUgeW91IGVhdGVuPyBZZXMhIl0sCiAgWyLDqiIsImF5IiwidGhlIGNsb3NlZCAnYXknIHZv
d2VsIiwiTGlrZSAnZGF5JyB3aXRob3V0IHNsaWRpbmcgaW50byB5IOKAlCB0w6puLCDEkeG6v24sIHbhu4EgcXXDqi4iLCLwn5ObIiwiVMOqbiBjaMOhdSBs
w6AgVG9tLiIsIk15IG5hbWUgaXMgVG9tLiJdLAogIFsiw7QiLCJvaCAocm91bmQpIiwidGhlIHJvdW5kICdvaCciLCJSb3VuZCB5b3VyIGxpcHMg4oCUIMO0
bmcsIGPDtCwgaMO0bSBuYXkuIiwi8J+RtCIsIsOUbmcgY8OzIGto4buPZSBraMO0bmcg4bqhPyIsIkFyZSB5b3Ugd2VsbCwgR3JhbmRwYT8iXSwKICBbIm8i
LCJhdyAob3BlbikiLCJ0aGUgb3BlbiAnYXcnIiwiV2lkZXIgdGhhbiDDtCwgbGlrZSAnbGF3JyDigJQgY29uLCBuw7NuZywgaOG7jWMuIiwi8J+nkiIsIkNv
biBjaMOgbyBt4bq5IOG6oS4iLCJIZWxsbywgTW9tLiJdLAogIC8vIOKAlCB0aGUgY29uc29uYW50IHNvdW5kcyDigJQKICBbIsSRIiwiZCAod2l0aCB0aGUg
c3Ryb2tlKSIsInRoZSByZWFsICdkJyIsIsSRIHdpdGggdGhlIHN0cm9rZSA9IEVuZ2xpc2ggZDogxJFpLCDEkcOidSwgxJHhurlwLiBQbGFpbiBkIHNvdW5k
cyBsaWtlIHogaW4gdGhlIE5vcnRoISIsIuKeoe+4jyIsIk3DrG5oIMSRaSB0aMO0aSEiLCJMZXQgdXMgZ28hIl0sCiAgWyJkIMK3IGdpIMK3IHIiLCJ6Iiwi
dGhyZWUgc3BlbGxpbmdzLCBvbmUgJ3onIHNvdW5kIiwiSW4gSMOgIE7hu5lpLCBkLCBnaSBhbmQgciBBTEwgc291bmQgbGlrZSB6OiBk4bqhLCBnw6wsIHLh
ur0uIFlvdXIgZWFycyBjYW4gcmVsYXgg4oCUIGl0IGlzIG9uZSBzb3VuZC4iLCLwn4yAIiwiUuG6vSB0csOhaSDhu58gbmfDoyB0xrAg4bqhLiIsIlR1cm4g
bGVmdCBhdCB0aGUgaW50ZXJzZWN0aW9uLiJdLAogIFsibmcgwrcgbmdoIiwibmciLCJ0aGUgJ25nJyB0aGF0IFNUQVJUUyB3b3JkcyIsIkVuZ2xpc2ggb25s
eSBlbmRzIHdpdGggbmcgKHNpbmcpIOKAlCBWaWV0bmFtZXNlIHN0YXJ0cyB3aXRoIGl0OiBuZ29uLCBuZ8aw4budaS4gVHJpY2s6IGh1bSAnc2luZy1PTics
IHRoZW4gZHJvcCB0aGUgJ3NpJy4iLCLwn46kIiwiTmdvbiBxdcOhIGLDoCDGoWkhIiwiU28gZGVsaWNpb3VzLCBHcmFuZG1hISJdLAogIFsibmgiLCJueSIs
InRoZSAnbnknIHNvdW5kIiwiTGlrZSBTcGFuaXNoIMOxIOKAlCBuaMOgLCBuaOG7mywgbmjDqS4iLCLwn4+gIiwiQ2jDoXUgbmjhu5sgYsOgIGzhuq9tLiIs
IkkgbWlzcyB5b3Ugc28gbXVjaCwgR3JhbmRtYS4iXSwKICBbImtoIiwia2ggKGJyZWF0aHkpIiwidGhlIGJyZWF0aHkgayIsIkEgayB0aGF0IHJ1c3RsZXMg
bGlrZSBjbGVhcmluZyBmb2cgb2ZmIGEgd2luZG93IOKAlCBraMO0bmcsIGto4buPZS4iLCLwn5KoIiwiS2jDtG5nIHNhbyDEkcOidSDhuqEuIiwiSXQgaXMg
cmVhbGx5IG9rYXkuIl0sCiAgWyJ0aCIsInQgKHB1ZmZlZCkiLCJ0aGUgcHVmZmVkIHQiLCJBIHQgd2l0aCBhIHB1ZmYgb2YgYWlyIGFmdGVyIGl0IOKAlCB0
aMOtY2gsIHRow6FuZy4gTk9UIHRoZSBFbmdsaXNoICd0aCchIiwi8J+RhSIsIkNow6F1IHRow61jaCBwaOG7nyBuaOG6pXQuIiwiSSBsaWtlIHBo4bufIHRo
ZSBtb3N0LiJdLAogIFsicGgiLCJmIiwic2ltcGx5ICdmJyIsInBoIGlzIGFsd2F5cyBmOiBwaOG7nywgcGjhu5EsIHBow7p0LiIsIvCfjZwiLCJQaOG7nyBI
w6AgTuG7mWkgbmdvbiBuaOG6pXQgdGjhur8gZ2nhu5tpLiIsIkjDoCBO4buZaSBwaOG7nyBpcyB0aGUgd29ybGQncyBiZXN0LiJdLAogIFsidHIgwrcgY2gi
LCJjaCIsInR3byBzcGVsbGluZ3MsIG9uZSAnY2gnIChOb3J0aCkiLCJJbiBIw6AgTuG7mWkgYm90aCBzb3VuZCBsaWtlIGNoOiB0csOgID0gY2jDoCwgdHLD
oWkgPSBjaMOhaS4iLCLwn421Iiwiw5RuZyB14buRbmcgdHLDoCBideG7lWkgc8OhbmcuIiwiR3JhbmRwYSBkcmlua3MgdGVhIGluIHRoZSBtb3JuaW5nLiJd
LAogIFsieCDCtyBzIiwicyIsInR3byBzcGVsbGluZ3MsIG9uZSAncycgKE5vcnRoKSIsIkluIEjDoCBO4buZaSB4IGFuZCBzIGFyZSBib3RoIHBsYWluIHM6
IHhpbiwgc8OhbmcsIHPhu69hLiIsIvCfjIUiLCJYaW4gbOG7l2ksIGNow6F1IMSR4bq/biBtdeG7mW4g4bqhLiIsIlNvcnJ5LCBJIGFycml2ZWQgbGF0ZS4i
XSwKICBbImMgwrcgayDCtyBxdSIsImsgKGNyaXNwKSIsIm9uZSBjcmlzcCBrLCB0aHJlZSBzcGVsbGluZ3MiLCJjLCBrIGFuZCBxdSBzaGFyZSBvbmUgY3Jp
c3AsIHB1ZmYtbGVzcyBrOiBjw6AgcGjDqiwga2VtLCBxdcOgLiIsIuKYlSIsIkNobyBjaMOhdSBt4buZdCBjw6AgcGjDqiBz4buvYSDEkcOhLiIsIk9uZSBp
Y2VkIG1pbGsgY29mZmVlIGZvciBtZS4iXSwKICBbImdp4buNbmcgQuG6r2MiLCJ0aGUgSMOgIE7hu5lpIGFjY2VudCIsIndoYXQgdGhpcyBnYW1lIHRlYWNo
ZXMiLCJZb3UgYXJlIGxlYXJuaW5nIE5vcnRoZXJuIChIw6AgTuG7mWkpIHByb251bmNpYXRpb24g4oCUIHRoZSB0ZXh0Ym9vayBzdGFuZGFyZC4gV2hlcmUg
eW91ciBTb3V0aGVybiByZWxhdGl2ZXMgZGlmZmVyLCB0aGUg8J+SoSB0aXBzIHRlbGwgeW91LiIsIvCfh7vwn4ezIiwiQ2jDoXUgxJFhbmcgaOG7jWMgZ2nh
u41uZyBIw6AgTuG7mWkg4bqhLiIsIkkgYW0gbGVhcm5pbmcgdGhlIEjDoCBO4buZaSBhY2NlbnQuIl0KXTsKZnVuY3Rpb24gZm91bmRTdGF0ZSgpIHsKICBj
b25zdCBzdCA9IGxzdGF0ZSgiRiIpOwogIGNvbnN0IGNhcmRzID0gc3Qua25vd24ubGVuZ3RoLCBwcm9uID0gKHN0LnByb24gfHwgW10pLmxlbmd0aCwgdG9u
ZSA9IHNhdmUudG9uZUJlc3QgfHwgMDsKICBjb25zdCBtYXN0ZXJlZCA9IGNhcmRzID49IEZPVU5EX0NBUkRTLmxlbmd0aCAmJiBwcm9uID49IDUgJiYgdG9u
ZSA+PSA4MDsKICByZXR1cm4geyBjYXJkcywgcHJvbiwgdG9uZSwgbWFzdGVyZWQgfTsKfQpmdW5jdGlvbiBvcGVuRm91bmRhdGlvbigpIHsKICBjdXIgPSB7
IG46ICJGIiwga3I6ICJO4buBbiB04bqjbmciLCBlbjogIkZvdW5kYXRpb24iLCB2aTogIlRvbmVzICYgc291bmRzIiwgZW1vamk6ICLwn4+bIiwgd29yZHM6
IEZPVU5EX0NBUkRTLCBncmFtbWFyOiBbXSB9OwogIGxlYXJuSWR4ID0gMDsgc3BlYWtJZHggPSAwOwogIGNvbnN0IGYgPSBmb3VuZFN0YXRlKCk7CiAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxUaXRsZSIpLnRleHRDb250ZW50ID0gIvCfj5sgTuG7gW4gdOG6o25nIOKAlCBUaGUgRm91bmRhdGlvbiI7CiAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdWIiKS50ZXh0Q29udGVudCA9ICJNYXN0ZXIgdGhpcyBhbmQgeW91IGNhbiByZWFkIEFOWSBWaWV0bmFtZXNlIHdv
cmQgwrcgIiArCiAgICBmLmNhcmRzICsgIi8iICsgRk9VTkRfQ0FSRFMubGVuZ3RoICsgIiBjYXJkcyDCtyAiICsgTWF0aC5taW4oNSwgZi5wcm9uKSArICIv
NSBzcG9rZW4gwrcgVG9uZSBUd2lucyBiZXN0ICIgKyBmLnRvbmUgKyAiLzEwMCI7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdGFycyIpLnRleHRD
b250ZW50ID0gZi5tYXN0ZXJlZCA/ICLwn4+b4pyFIiA6ICLwn4+bIjsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudGFiIikuZm9yRWFjaChlbCA9
PiBlbC5zdHlsZS5kaXNwbGF5ID0gKGVsLmRhdGFzZXQudGFiID09PSAibGVhcm4iIHx8IGVsLmRhdGFzZXQudGFiID09PSAic3BlYWsiKSA/ICIiIDogIm5v
bmUiKTsKICBzZXRUYWIoImxlYXJuIik7CiAgc2hvdygibGVzc29uIik7Cn0KZnVuY3Rpb24gc3RhckNvdW50KG4pIHsgcmV0dXJuIE9iamVjdC52YWx1ZXMo
bHN0YXRlKG4pLnN0YXJzIHx8IHt9KS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoOyB9CmNvbnN0IFNUQUdFUyA9IHsgMTogIlNFQVNPTiAxIMK3IEjDgCBO4buY
SSDigJQgU1RBR0UgMSDCtyBW4buAIE5Iw4Ag4oCUIENPTUlORyBIT01FIiwgNDogIlNUQUdFIDIgwrcgxJBJIEzhuqBJIOKAlCBHRVRUSU5HIEFST1VORCIs
IDc6ICJTVEFHRSAzIMK3IEvhur5UIE7hu5BJIOKAlCBDT05ORUNUSU5HIiwgMTA6ICJTVEFHRSA0IMK3IFPhu5BORyBOSMavIE5Hxq/hu5xJIFZJ4buGVCDi
gJQgTElLRSBBIExPQ0FMIiwKICAxMzogIlNFQVNPTiAyIMK3IFPDgEkgR8OSTiBW4buaSSBN4bq4IOKAlCBTVEFHRSA1IMK3IFbhu4AgU8OASSBHw5JOIChT
T1VUSEVSTikiLCAxNjogIlNUQUdFIDYgwrcgQ8OUTkcgVknhu4ZDIOKAlCBXT1JLICYgTU9ORVkiLCAxOTogIlNUQUdFIDcgwrcgU+G7qEMgS0jhu45FIOKA
lCBIRUFMVEggJiBET0NUT1JTIiwgMjI6ICJTVEFHRSA4IMK3IENIVVnhu4ZOIE5Iw4Ag4oCUIERFRVAgRkFNSUxZIFRBTEsiIH07CmZ1bmN0aW9uIGxvY2tP
dmVybGF5KG4pIHsKICBjb25zdCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9ICJ2cUxvY2tXcmFwIjsKICB3LnN0eWxlLmNz
c1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA3MDt6LWluZGV4Ojk5OTk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1z
OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDsiOwogIHcuaW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFy
KC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0aDozODBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MjBweDtib3gtc2hhZG93OjAgMTBweCA0MHB4
ICMwMDAwMDA1NTsiPgogICAgPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxN3B4O21hcmdpbi1ib3R0b206NnB4O2NvbG9yOnZhcigt
LXRleHQpOyI+8J+nrSBUaGUgcGF0aCBidWlsZHMgc3RlcCBieSBzdGVwPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOnZh
cigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjU7bWFyZ2luLWJvdHRvbToxNHB4OyI+RWFjaCBxdWVzdCB1c2VzIHRoZSB3b3JkcyBhbmQgcGF0dGVybnMgb2Yg
dGhlIG9uZSBiZWZvcmUgaXQuCiAgICBSZWNvbW1lbmRlZDogZWFybiA8Yj4yIOKtkCBpbiBRdWVzdCAke24gLSAxfTwvYj4gZmlyc3Qg4oCUIHRoZW4gdGhp
cyBxdWVzdCB3aWxsIGZlZWwgZWFzeSBpbnN0ZWFkIG9mIGNvbmZ1c2luZy48L2Rpdj4KICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3ZxTG9ja1dyYXAnKS5yZW1vdmUoKTsgb3Blbkxlc3Nvbigke24gLSAxfSk7IiBzdHlsZT0id2lkdGg6MTAwJTtwYWRkaW5nOjEycHg7Ym9yZGVy
LXJhZGl1czoxMHB4O2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtjdXJzb3I6cG9pbnRlcjtm
b250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxNC41cHg7bWFyZ2luLWJvdHRvbTo4cHg7Ij7ilrYgR28gdG8gUXVlc3QgJHtuIC0gMX08L2J1dHRvbj4K
ICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxTG9ja1dyYXAnKS5yZW1vdmUoKTsgb3Blbkxlc3Nvbigke259KTsiIHN0
eWxlPSJ3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIo
LS1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDsiPkkga25vdyB3aGF0IEkgYW0gZG9pbmcg4oCUIHN0
YXJ0IFF1ZXN0ICR7bn0gYW55d2F5PC9idXR0b24+CiAgPC9kaXY+YDsKICB3Lm9uY2xpY2sgPSBlID0+IHsgaWYgKGUudGFyZ2V0ID09PSB3KSB3LnJlbW92
ZSgpOyB9OwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7Cn0KLyogc3RydWN0dXJlIHBhc3Mgb3ZlciB0aGUgZnJlc2hseSByZW5kZXJlZCBxdWVz
dCBjYXJkczogc3RhZ2UgYmFubmVycywKICAgc29mdCBsb2NrcywgYW5kIHRoZSBzaW5nbGUg4pa2IE5FWFQgcmVjb21tZW5kYXRpb24gKi8KZnVuY3Rpb24g
dnFTdHJ1Y3R1cmUoZykgewogIGNvbnN0IGNhcmRzID0gWy4uLmcuY2hpbGRyZW5dOyAvLyBleGFjdGx5IHRoZSBxdWVzdCBjYXJkcywgaW4gb3JkZXIgKDI0
IHdpdGggU2Vhc29uIDIpCiAgY29uc3QgTiA9IGNhcmRzLmxlbmd0aDsKICAvLyBzdGFnZSBiYW5uZXJzCiAgT2JqZWN0LmtleXMoU1RBR0VTKS5tYXAoTnVt
YmVyKS5maWx0ZXIobiA9PiBuIDw9IE4pLmZvckVhY2gobiA9PiB7CiAgICBjb25zdCBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBo
LnN0eWxlLmNzc1RleHQgPSAiZ3JpZC1jb2x1bW46MSAvIC0xO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzoxLjVweDtj
b2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzoxMHB4IDJweCAwOyI7CiAgICBoLnRleHRDb250ZW50ID0gU1RBR0VTW25dOwogICAgZy5pbnNlcnRCZWZvcmUo
aCwgY2FyZHNbbiAtIDFdKTsKICB9KTsKICAvLyBzb2Z0IGxvY2tzOiBxdWVzdCBuIGlzIGRpbW1lZCB1bnRpbCBxdWVzdCBuLTEgaGFzIDIgc3RhcnMgKHVu
bGVzcyB5b3UgYWxyZWFkeSBzdGFydGVkIGl0KQogIGxldCBuZXh0R2l2ZW4gPSBmYWxzZTsKICBmb3IgKGxldCBuID0gMTsgbiA8PSBOOyBuKyspIHsKICAg
IGNvbnN0IGNhcmQgPSBjYXJkc1tuIC0gMV07CiAgICBjb25zdCBtaW5lID0gc3RhckNvdW50KG4pLCBwcmV2ID0gbiA9PT0gMSA/IDk5IDogc3RhckNvdW50
KG4gLSAxKTsKICAgIGNvbnN0IHN0YXJ0ZWQgPSBsc3RhdGUobikua25vd24ubGVuZ3RoID4gMCB8fCBtaW5lID4gMDsKICAgIGlmIChuID4gMSAmJiBwcmV2
IDwgMiAmJiAhc3RhcnRlZCkgewogICAgICBjYXJkLnN0eWxlLm9wYWNpdHkgPSAiLjU1IjsKICAgICAgY29uc3QgbG4gPSBjYXJkLnF1ZXJ5U2VsZWN0b3Io
Ii5sbnVtIik7IGlmIChsbikgbG4udGV4dENvbnRlbnQgKz0gIiDwn5SSIjsKICAgICAgY2FyZC5vbmNsaWNrID0gKCkgPT4gbG9ja092ZXJsYXkobik7CiAg
ICB9IGVsc2UgaWYgKCFuZXh0R2l2ZW4gJiYgbWluZSA8IDUgJiYgKGZvdW5kU3RhdGUoKS5tYXN0ZXJlZCB8fCBuID4gMSB8fCBsc3RhdGUoMSkua25vd24u
bGVuZ3RoID4gMCkpIHsKICAgICAgLy8gdGhlIE9ORSByZWNvbW1lbmRlZCBxdWVzdDogZmlyc3QgdW5sb2NrZWQgcXVlc3QgdGhhdCBpcyBub3QgZnVsbHkg
c3RhcnJlZAogICAgICBuZXh0R2l2ZW4gPSB0cnVlOwogICAgICBjb25zdCBjaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgIGNo
aXAudGV4dENvbnRlbnQgPSAi4pa2IE5FWFQiOwogICAgICBjaGlwLnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDtyaWdodDo4
cHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6ODAwO3BhZGRpbmc6M3B4IDhweDtib3Jk
ZXItcmFkaXVzOjk5OXB4O2xldHRlci1zcGFjaW5nOjFweDsiOwogICAgICBjYXJkLnN0eWxlLmJvcmRlciA9ICIycHggc29saWQgdmFyKC0tYWNjZW50KSI7
CiAgICAgIGNhcmQuYXBwZW5kQ2hpbGQoY2hpcCk7CiAgICB9CiAgfQp9CgovKiA9PT09PT09PT09PT09PT0gVOG6vlQgRVZFTlQg4oCUIHRoZSBjYWxlbmRh
ciB0aGUgY3VsdHVyZSBhbHJlYWR5IGhhcyA9PT09PT09PT09PT09PT0gKi8KLyogRnJvbSAxNCBkYXlzIGJlZm9yZSBU4bq/dCB0byBtw7luZyAzLCBvbmUg
bmV3IGNhcmQgb3BlbnMgZXZlcnkgZGF5OiB0aGUgd29yZHMsIHRoZQogICBjdXN0b21zLCBhbmQgdGhlIGdyZWV0aW5nIGZvciBldmVyeSByZWxhdGl2ZS4g
T3V0c2lkZSB0aGUgd2luZG93IHRoZSBtYXAgc2hvd3MKICAgdGhlIGNvdW50ZG93biBhbmQgbGV0cyB0aGUgbGVhcm5lciBwcmFjdGlzZSB0aGUgZ3JlZXRp
bmdzIGVhcmx5LiAqLwpjb25zdCBURVRfREFURVMgPSB7IDIwMjc6IFsiMjAyNy0wMi0wNiIsICLEkGluaCBNw7lpIiwgIkdvYXQiXSwgMjAyODogWyIyMDI4
LTAxLTI2IiwgIk3huq11IFRow6JuIiwgIk1vbmtleSJdLCAyMDI5OiBbIjIwMjktMDItMTMiLCAiS+G7tyBE4bqtdSIsICJSb29zdGVyIl0sIDIwMzA6IFsi
MjAzMC0wMi0wMyIsICJDYW5oIFR14bqldCIsICJEb2ciXSwgMjAzMTogWyIyMDMxLTAxLTIzIiwgIlTDom4gSOG7o2kiLCAiUGlnIl0gfTsKLyogMTUgZGF5
czogd29yZCBlbnRyaWVzIHVzZSB0aGUgTGVhcm4tY2FyZCBmb3JtYXQgW3dvcmQsIHByb251bmNpYXRpb24sIG1lYW5pbmcsIHRpcCwgZW1vamksIGV4YW1w
bGUsIGV4YW1wbGVFbl0gKi8KY29uc3QgVEVUX0RBWVMgPSBbCiAgeyBlbW9qaTogIvCfp6ciLCB0OiAiVOG6v3QgxJHhur9uIHLhu5NpISIsIGVuOiAiVOG6
v3QgaXMgY29taW5nIiwgd29yZHM6IFsKICAgIFsiVOG6v3QiLCAidGV0IOKGkyIsICJMdW5hciBOZXcgWWVhciIsICJTaG9ydCBmb3IgVOG6v3QgTmd1ecOq
biDEkMOhbi4gVGhlIGJpZ2dlc3QgZGF5IG9mIHRoZSB5ZWFyIOKAlCBldmVyeW9uZSBnb2VzIGhvbWUuIiwgIvCfp6ciLCAiVOG6v3QgbsSDbSBuYXkgY29u
IHbhu4EgbmjDoC4iLCAiVGhpcyBU4bq/dCBJIGFtIGNvbWluZyBob21lLiJdLAogICAgWyJuxINtIG3hu5tpIiwgIm5hbSDihpcgbW95IOKGlyIsICJuZXcg
eWVhciIsICJuxINtID0geWVhciwgbeG7m2kgPSBuZXcuIENow7pjIG3hu6tuZyBuxINtIG3hu5tpID0gSGFwcHkgTmV3IFllYXIuIiwgIvCfjoYiLCAiQ2jD
umMgbeG7q25nIG7Eg20gbeG7m2kgY+G6oyBuaMOgISIsICJIYXBweSBOZXcgWWVhciwgZXZlcnlvbmUhIl0sCiAgICBbIsOibSBs4buLY2giLCAidW0g4oaX
IGxpayDihpMiLCAibHVuYXIgY2FsZW5kYXIiLCAiVOG6v3QgZm9sbG93cyB0aGUgbW9vbiwgc28gdGhlIGRhdGUgbW92ZXMgZXZlcnkgeWVhciAobGF0ZSBK
YW51YXJ5IHRvIG1pZC1GZWJydWFyeSkuIiwgIvCfjJkiLCAiVOG6v3QgdMOtbmggdGhlbyDDom0gbOG7i2NoLiIsICJU4bq/dCBmb2xsb3dzIHRoZSBsdW5h
ciBjYWxlbmRhci4iXSwKICAgIFsibcO5bmcgbeG7mXQiLCAibW9vbmcg4oaYIG1vdCDihpMiLCAidGhlIGZpcnN0IGRheSAob2YgVOG6v3QpIiwgIm3DuW5n
ID0gdGhlIHByZWZpeCBmb3IgZGF5cyAx4oCTMTAgb2YgYSBsdW5hciBtb250aC4gTcO5bmcgbeG7mXQgVOG6v3QgPSBOZXcgWWVhcidzIERheS4iLCAiMe+4
j+KDoyIsICJNw7luZyBt4buZdCBjb24gxJFpIGNow7pjIFThur90IMO0bmcgYsOgLiIsICJPbiB0aGUgZmlyc3QgZGF5IEkgZ28gdG8gd2lzaCBHcmFuZG1h
IGFuZCBHcmFuZHBhIGEgaGFwcHkgbmV3IHllYXIuIl0KICBdfSwKICB7IGVtb2ppOiAi8J+nuSIsIHQ6ICJE4buNbiBuaMOgIiwgZW46ICJDbGVhbmluZyB0
aGUgaG91c2UiLCB3b3JkczogWwogICAgWyJk4buNbiBuaMOgIiwgInpvbiDihpMgbnlhIOKGmCIsICJ0byBjbGVhbiB0aGUgaG91c2UiLCAiQmVmb3JlIFTh
ur90IGV2ZXJ5IGhvbWUgaXMgc2NydWJiZWQg4oCUIHN3ZWVwIHRoZSBvbGQgeWVhciBvdXQuIEFmdGVyIFThur90IHN0YXJ0cywgc3dlZXBpbmcgaXMgYXZv
aWRlZCAoeW91IHdvdWxkIHN3ZWVwIGx1Y2sgYXdheSkuIiwgIvCfp7kiLCAiQ+G6oyBuaMOgIGThu41uIG5ow6AgxJHDs24gVOG6v3QuIiwgIlRoZSB3aG9s
ZSBmYW1pbHkgY2xlYW5zIHRoZSBob3VzZSBmb3IgVOG6v3QuIl0sCiAgICBbInPhuqFjaCBz4bq9IiwgInNhayDihpMgc8OpIH7ihpciLCAiY2xlYW4sIHNw
b3RsZXNzIiwgIlJlZHVwbGljYXRlZCBhZGplY3RpdmUg4oCUIHPhuqFjaCBhbG9uZSBhbHNvIHdvcmtzLiBOaMOgIHPhuqFjaCBz4bq9ID0gYSBzcG90bGVz
cyBob3VzZS4iLCAi4pyoIiwgIk5ow6AgY+G7rWEgc+G6oWNoIHPhur0gcuG7k2khIiwgIlRoZSBob3VzZSBpcyBzcG90bGVzcyBub3chIl0sCiAgICBbInPh
uq9wIHjhur9wIiwgInNhcCDihpcgc2VwIOKGlyIsICJ0byB0aWR5LCBhcnJhbmdlIiwgIlVzZWQgZm9yIHRpZHlpbmcgdGhpbmdzIEFORCBwbGFubmluZyDi
gJQgc+G6r3AgeOG6v3AgdGjhu51pIGdpYW4gPSBhcnJhbmdlIHlvdXIgdGltZS4iLCAi8J+XgiIsICJDb24gc+G6r3AgeOG6v3AgYsOgbiB0aOG7nSBnacO6
cCBiw6AgbmjDqS4iLCAiTGV0IG1lIHRpZHkgdGhlIGFsdGFyIGZvciB5b3UsIEdyYW5kbWEuIl0sCiAgICBbImLDoG4gdGjhu50iLCAiYmFuIOKGmCB0aGVy
IOKGmCIsICJ0aGUgYW5jZXN0cmFsIGFsdGFyIiwgIkV2ZXJ5IGhvbWUgaGFzIG9uZS4gQmVmb3JlIFThur90IGl0IGlzIGNsZWFuZWQgYW5kIGZpbGxlZCB3
aXRoIGZydWl0LCBmbG93ZXJzIGFuZCBpbmNlbnNlIGZvciB0aGUgYW5jZXN0b3JzLiIsICLwn5WvIiwgIkLDoCB0aOG6r3AgaMawxqFuZyB0csOqbiBiw6Bu
IHRo4budLiIsICJHcmFuZG1hIGxpZ2h0cyBpbmNlbnNlIG9uIHRoZSBhbHRhci4iXQogIF19LAogIHsgZW1vamk6ICLwn5uSIiwgdDogIsSQaSBjaOG7oyBU
4bq/dCIsIGVuOiAiVGhlIFThur90IG1hcmtldCIsIHdvcmRzOiBbCiAgICBbImNo4bujIFThur90IiwgImNoZXIg4oaTIHRldCDihpMiLCAidGhlIFThur90
IG1hcmtldCIsICJUaGUgcHJlLVThur90IG1hcmtldCBpcyB0aGUgYnVzaWVzdCB3ZWVrIG9mIHRoZSB5ZWFyIOKAlCBnbyBlYXJseSB3aXRoIGFuIGF1bnQg
YW5kIHdhdGNoIGhlciBiYXJnYWluLiIsICLwn5uSIiwgIlPDoW5nIG1haSDEkWkgY2jhu6MgVOG6v3QgduG7m2kgY8O0IG5ow6k/IiwgIkNvbWUgdG8gdGhl
IFThur90IG1hcmtldCB3aXRoIG1lIHRvbW9ycm93IG1vcm5pbmc/Il0sCiAgICBbIm11YSBz4bqvbSIsICJtb28tYSBzYW0g4oaXIiwgInRvIGdvIHNob3Bw
aW5nIiwgIm11YSA9IGJ1eSwgc+G6r20gPSBidXkgdGhpbmdzIGZvciBhbiBvY2Nhc2lvbi4gU+G6r20gVOG6v3QgPSBkb2luZyB0aGUgVOG6v3Qgc2hvcHBp
bmcuIiwgIvCfm40iLCAiTeG6uSDEkWkgc+G6r20gVOG6v3QgY+G6oyBuZ8OgeS4iLCAiTW9tIHdlbnQgVOG6v3Qgc2hvcHBpbmcgYWxsIGRheS4iXSwKICAg
IFsixJHDtG5nIG5nxrDhu51pIiwgImRvbmcgbmdvby1lZSDihpgiLCAiY3Jvd2RlZCIsICLEkcO0bmcgPSBjcm93ZGVkIChhbHNvICdlYXN0JyBhbmQgJ3dp
bnRlcicg4oCUIHRvbmVzIGFuZCBjb250ZXh0IHRlbGwgdGhlbSBhcGFydCkuIiwgIvCfkaUiLCAiQ2jhu6MgVOG6v3QgxJHDtG5nIG5nxrDhu51pIHF1w6Eh
IiwgIlRoZSBU4bq/dCBtYXJrZXQgaXMgc28gY3Jvd2RlZCEiXSwKICAgIFsibeG6t2MgY+G6oyIsICJtYWsg4oaTIGthIOKGkyIsICJ0byBiYXJnYWluIiwg
Ik5vcnRoZXJuIHdvcmQuIEluIHRoZSBTb3V0aCB5b3UgaGVhciB0cuG6oyBnacOhLiBTbWlsZSwgb2ZmZXIgaGFsZiwgbWVldCBpbiB0aGUgbWlkZGxlLiIs
ICLwn5KsIiwgIkLDoCBt4bq3YyBj4bqjIGdp4buPaSBs4bqvbS4iLCAiR3JhbmRtYSBpcyBhIGdyZWF0IGJhcmdhaW5lci4iXQogIF19LAogIHsgZW1vamk6
ICLwn4y4IiwgdDogIkhvYSBU4bq/dCIsIGVuOiAiVOG6v3QgZmxvd2VycyIsIHdvcmRzOiBbCiAgICBbImhvYSDEkcOgbyIsICJod2EgZG93IOKGmCIsICJw
ZWFjaCBibG9zc29tIiwgIlRIRSBU4bq/dCBmbG93ZXIgb2YgdGhlIE5vcnRoIOKAlCBwaW5rIGJyYW5jaGVzIGluIGV2ZXJ5IEjDoCBO4buZaSBob21lLiIs
ICLwn4y4IiwgIk5ow6AgYsOgIGPDsyBjw6BuaCDEkcOgbyDEkeG6uXAgcXXDoS4iLCAiR3JhbmRtYSdzIHBlYWNoIGJyYW5jaCBpcyBzbyBwcmV0dHkuIl0s
CiAgICBbImhvYSBtYWkiLCAiaHdhIG15IiwgImFwcmljb3QgYmxvc3NvbSIsICJUaGUgeWVsbG93IFThur90IGZsb3dlciBvZiB0aGUgU291dGguIMSQw6Bv
IGluIEjDoCBO4buZaSwgbWFpIGluIFPDoGkgR8OybiDigJQgYSB3aG9sZSBjb3VudHJ5IGluIHR3byBmbG93ZXJzLiIsICLwn4y8IiwgIuG7niBTw6BpIEfD
sm4gbmfGsOG7nWkgdGEgY2jGoWkgaG9hIG1haS4iLCAiSW4gU8OgaSBHw7JuIHBlb3BsZSBkaXNwbGF5IGFwcmljb3QgYmxvc3NvbS4iXSwKICAgIFsiY8Oi
eSBxdeG6pXQiLCAia2F5IOKGmCBrd3V0IOKGlyIsICJrdW1xdWF0IHRyZWUiLCAiQSBzbWFsbCB0cmVlIGhlYXZ5IHdpdGggb3JhbmdlIGZydWl0ID0gYSB3
aXNoIGZvciBwcm9zcGVyaXR5LiBTb3V0aGVybiBuYW1lOiBjw6J5IHThuq9jLiIsICLwn42KIiwgIkLhu5EgbXVhIGPDonkgcXXhuqV0IHbhu4EgY2jGoWkg
VOG6v3QuIiwgIkRhZCBib3VnaHQgYSBrdW1xdWF0IHRyZWUgZm9yIFThur90LiJdLAogICAgWyJjaOG7oyBob2EiLCAiY2hlciDihpMgaHdhIiwgImZsb3dl
ciBtYXJrZXQiLCAiSMOgIE7hu5lpJ3MgUXXhuqNuZyBCw6EgZmxvd2VyIG1hcmtldCBydW5zIGFsbCBuaWdodCBiZWZvcmUgVOG6v3QuIiwgIvCfkpAiLCAi
VOG7kWkgbmF5IG3DrG5oIMSRaSBjaOG7oyBob2EgbmjDqS4iLCAiTGV0J3MgZ28gdG8gdGhlIGZsb3dlciBtYXJrZXQgdG9uaWdodC4iXQogIF19LAogIHsg
ZW1vamk6ICLwn42ZIiwgdDogIkLDoW5oIGNoxrBuZyIsIGVuOiAiVGhlIFThur90IGNha2UiLCB3b3JkczogWwogICAgWyJiw6FuaCBjaMawbmciLCAiYmFu
ZyDihpcgY2h1bmciLCAic3F1YXJlIHN0aWNreS1yaWNlIGNha2UiLCAiU3RpY2t5IHJpY2UsIG11bmcgYmVhbiBhbmQgcG9yayB3cmFwcGVkIGluIGRvbmcg
bGVhdmVzLCBib2lsZWQgZm9yIDEwIGhvdXJzLiBUaGUgTm9ydGgncyBU4bq/dCBjYWtlLiIsICLwn42ZIiwgIkPhuqMgbmjDoCBnw7NpIGLDoW5oIGNoxrBu
ZyDEkcOqbSAyOC4iLCAiVGhlIHdob2xlIGZhbWlseSB3cmFwcyBiw6FuaCBjaMawbmcgb24gdGhlIG5pZ2h0IG9mIHRoZSAyOHRoLiJdLAogICAgWyJiw6Fu
aCB0w6l0IiwgImJhbmcg4oaXIHRldCDihpciLCAiY3lsaW5kcmljYWwgVOG6v3QgY2FrZSIsICJUaGUgU291dGhlcm4gY291c2luIG9mIGLDoW5oIGNoxrBu
ZyDigJQgc2FtZSBmaWxsaW5nLCByb2xsZWQgaW50byBhIGxvZyBhbmQgc2xpY2VkIGludG8gcm91bmRzLiIsICLwn6WiIiwgIk3DoSBjb24gbMOgbSBiw6Fu
aCB0w6l0IG5nb24gbOG6r20uIiwgIk15IG1vbSBtYWtlcyBkZWxpY2lvdXMgYsOhbmggdMOpdC4iXSwKICAgIFsiZ8OzaSBiw6FuaCIsICJnb3kg4oaXIGJh
bmcg4oaXIiwgInRvIHdyYXAgdGhlIGNha2VzIiwgImfDs2kgPSB3cmFwLiBXcmFwcGluZyB0b2dldGhlciBpcyB0aGUgcG9pbnQg4oCUIHRoZSBjYWtlIGlz
IGFuIGV4Y3VzZSBmb3IgdGhlIG5pZ2h0LiIsICLwn46BIiwgIkNvbiBtdeG7kW4gaOG7jWMgZ8OzaSBiw6FuaCB24bubaSBiw6AuIiwgIkkgd2FudCB0byBs
ZWFybiB0byB3cmFwIHRoZSBjYWtlcyB3aXRoIEdyYW5kbWEuIl0sCiAgICBbImx14buZYyIsICJsb28tb2sg4oaTIiwgInRvIGJvaWwiLCAiQsOhbmggY2jG
sG5nIGlzIGx14buZYyBvdmVybmlnaHQgaW4gYSBodWdlIHBvdDsgc29tZW9uZSBhbHdheXMgc3RheXMgdXAgdG8gd2F0Y2ggdGhlIGZpcmUuIiwgIvCflKUi
LCAiQsOhbmggcGjhuqNpIGx14buZYyBtxrDhu51pIHRp4bq/bmcuIiwgIlRoZSBjYWtlcyBoYXZlIHRvIGJvaWwgZm9yIHRlbiBob3Vycy4iXQogIF19LAog
IHsgZW1vamk6ICLwn42sIiwgdDogIk3hu6l0IFThur90IiwgZW46ICJDYW5kaWVkIHRyZWF0cyIsIHdvcmRzOiBbCiAgICBbIm3hu6l0IFThur90IiwgIm11
dXQg4oaXIHRldCDihpciLCAiY2FuZGllZCBmcnVpdCBmb3IgVOG6v3QiLCAiR2luZ2VyLCBjb2NvbnV0LCBsb3R1cyBzZWVkLCBrdW1xdWF0IOKAlCBhIGxh
Y3F1ZXIgdHJheSBvZiBzd2VldHMgb2ZmZXJlZCB0byBldmVyeSBndWVzdC4iLCAi8J+NrCIsICJN4budaSBjw7QgxINuIG3hu6l0IFThur90IOG6oS4iLCAi
UGxlYXNlIGhhdmUgc29tZSBU4bq/dCBzd2VldHMsIEF1bnRpZS4iXSwKICAgIFsiaOG6oXQgZMawYSIsICJoYXQg4oaTIHpvby1hIiwgInJvYXN0ZWQgd2F0
ZXJtZWxvbiBzZWVkcyIsICJSZWQtZHllZCBzZWVkcyBjcmFja2VkIGJldHdlZW4gdGhlIHRlZXRoIGZvciBob3VycyBvZiB0YWxraW5nLiBUaGUgc291bmQg
b2YgVOG6v3QuIiwgIvCfjYkiLCAiw5RuZyBiw6AgduG7q2EgY+G6r24gaOG6oXQgZMawYSB24burYSBuw7NpIGNodXnhu4duLiIsICJHcmFuZG1hIGFuZCBH
cmFuZHBhIGNyYWNrIHNlZWRzIGFuZCBjaGF0LiJdLAogICAgWyJraGF5IG3hu6l0IiwgImtoeSBtdXV0IOKGlyIsICJ0aGUgc3dlZXRzIHRyYXkiLCAia2hh
eSA9IHRyYXkuIFRoZSBt4bupdCB0cmF5IHNpdHMgb24gdGhlIHRhYmxlIGZyb20gbcO5bmcgMSB1bnRpbCB0aGUgbGFzdCBndWVzdCBsZWF2ZXMuIiwgIvCf
q5kiLCAiS2hheSBt4bupdCDEkeG7gyB0csOqbiBiw6BuIG5ow6kuIiwgIkxlYXZlIHRoZSBzd2VldHMgdHJheSBvbiB0aGUgdGFibGUuIl0sCiAgICBbIm3h
u51pIiwgIm1veSDihpgiLCAidG8gaW52aXRlIChzb21lb25lIHRvIGVhdCkiLCAiVGhlIHBvbGl0ZSB3YXkgdG8gb2ZmZXIgZm9vZDogTeG7nWkgYsOgIMSD
biA9IHBsZWFzZSBlYXQsIEdyYW5kbWEuIFNheSBpdCBiZWZvcmUgZXZlcnkgZGlzaC4iLCAi8J+ZjyIsICJDb24gbeG7nWkgw7RuZyBiw6AgxINuIGLDoW5o
LiIsICJQbGVhc2UgaGF2ZSBzb21lIGNha2UsIEdyYW5kcGEgYW5kIEdyYW5kbWEuIl0KICBdfSwKICB7IGVtb2ppOiAi8J+QnyIsIHQ6ICLDlG5nIEPDtG5n
IMOUbmcgVMOhbyIsIGVuOiAiVGhlIEtpdGNoZW4gR29kcyIsIHdvcmRzOiBbCiAgICBbIsOUbmcgVMOhbyIsICJvbmcg4oaXIHRvdyDihpciLCAidGhlIEtp
dGNoZW4gR29kIiwgIk9uIHRoZSAyM3JkIG9mIHRoZSBsYXN0IGx1bmFyIG1vbnRoIHRoZSBLaXRjaGVuIEdvZHMgcmlkZSB0byBoZWF2ZW4gdG8gcmVwb3J0
IG9uIHRoZSBmYW1pbHkuIFThur90IGJlZ2lucyBoZXJlLiIsICLwn5SlIiwgIk5nw6B5IDIzIHRp4buFbiDDlG5nIFTDoW8gduG7gSB0cuG7nWkuIiwgIk9u
IHRoZSAyM3JkIHdlIHNlbmQgdGhlIEtpdGNoZW4gR29kIHRvIGhlYXZlbi4iXSwKICAgIFsiY8OhIGNow6lwIiwgImthIOKGlyBjaGVwIOKGlyIsICJjYXJw
IiwgIlRoZSBLaXRjaGVuIEdvZHMgcmlkZSBjYXJwIHRvIGhlYXZlbiwgc28gZmFtaWxpZXMgcmVsZWFzZSBsaXZlIGNhcnAgaW50byBhIGxha2UuIiwgIvCf
kJ8iLCAiQsOgIG11YSBiYSBjb24gY8OhIGNow6lwLiIsICJHcmFuZG1hIGJvdWdodCB0aHJlZSBjYXJwLiJdLAogICAgWyJ0aOG6oyBjw6EiLCAidGhhIOKG
kyBrYSDihpciLCAidG8gcmVsZWFzZSBmaXNoIiwgInRo4bqjID0gbGV0IGdvLiBUaOG6oyBjw6EgYXQgSOG7kyBUw6J5IGlzIGEgSMOgIE7hu5lpIHRyYWRp
dGlvbiDigJQgZ2VudGx5LCBmcm9tIHRoZSBiYW5rLiIsICLwn4yKIiwgIkNvbiDEkWkgdGjhuqMgY8OhIHbhu5tpIGLhu5EuIiwgIkkgYW0gZ29pbmcgdG8g
cmVsZWFzZSB0aGUgZmlzaCB3aXRoIERhZC4iXSwKICAgIFsibMOqbiB0cuG7nWkiLCAibGVuIHRyLW95IOKGmCIsICJ0byBnbyB1cCB0byBoZWF2ZW4iLCAi
bMOqbiA9IGdvIHVwLCB0cuG7nWkgPSBza3kvaGVhdmVuLiBBbHNvICdUcuG7nWkgxqFpIScgPSBvaCBoZWF2ZW5zISIsICLimIHvuI8iLCAiw5RuZyBUw6Fv
IGPGsOG7oWkgY8OhIGNow6lwIGzDqm4gdHLhu51pLiIsICJUaGUgS2l0Y2hlbiBHb2QgcmlkZXMgdGhlIGNhcnAgdXAgdG8gaGVhdmVuLiJdCiAgXX0sCiAg
eyBlbW9qaTogIvCfj64iLCB0OiAiQ8OidSDEkeG7kWkgxJHhu48iLCBlbjogIlJlZCBjb3VwbGV0cyBhbmQgbHVja3kgY29sb3VycyIsIHdvcmRzOiBbCiAg
ICBbImPDonUgxJHhu5FpIiwgImtvdyBkb3kg4oaXIiwgInBhcmFsbGVsIGNvdXBsZXRzIiwgIlR3byBtYXRjaGluZyBsaW5lcyBvZiBnb29kIHdpc2hlcyBp
biByZWQgYW5kIGdvbGQsIGh1bmcgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGRvb3IuIiwgIvCfj64iLCAiw5RuZyB2aeG6v3QgY8OidSDEkeG7kWkgYuG6sW5n
IGNo4buvIE5oby4iLCAiR3JhbmRwYSB3cml0ZXMgY291cGxldHMgaW4gY2xhc3NpY2FsIGNoYXJhY3RlcnMuIl0sCiAgICBbIm3DoHUgxJHhu48iLCAibW93
IOKGmCBkbyDihpMiLCAidGhlIGNvbG91ciByZWQiLCAiUmVkID0gbHVjayBhbmQgam95LiBXZWFyIGl0IG9uIG3DuW5nIDE7IGF2b2lkIGJsYWNrIGFuZCB3
aGl0ZSAobW91cm5pbmcgY29sb3VycykuIiwgIvCflLQiLCAiVOG6v3QgbeG6t2MgbcOgdSDEkeG7jyBjaG8gbWF5IG3huq9uLiIsICJXZWFyIHJlZCBhdCBU
4bq/dCBmb3IgbHVjay4iXSwKICAgIFsibWF5IG3huq9uIiwgIm15IG1hbiDihpciLCAibHVja3kiLCAiVGhlIHdvcmQgb2YgdGhlIHNlYXNvbi4gQ2jDumMg
bWF5IG3huq9uID0gZ29vZCBsdWNrLiIsICLwn42AIiwgIkNow7pjIGNvbiBuxINtIG3hu5tpIG1heSBt4bqvbi4iLCAiV2lzaGluZyB5b3UgbHVjayBpbiB0
aGUgbmV3IHllYXIuIl0sCiAgICBbImzhu5ljIiwgImxvayDihpMiLCAiZm9ydHVuZSwgYmxlc3NpbmciLCAiRm9ydHVuZSB0aGF0IGFycml2ZXMg4oCUIGjD
oWkgbOG7mWMgPSBwaWNraW5nIGEgYnVkZGluZyBicmFuY2ggYXQgbWlkbmlnaHQgdG8gYnJpbmcgaXQgaG9tZS4iLCAi8J+MsSIsICLEkOG6p3UgbsSDbSBo
w6FpIGzhu5ljIGzhuqV5IG1heS4iLCAiQXQgdGhlIHN0YXJ0IG9mIHRoZSB5ZWFyIHdlIHBpY2sgYSBsdWNreSBidWQuIl0KICBdfSwKICB7IGVtb2ppOiAi
8J+RmCIsIHQ6ICJRdeG6p24gw6FvIG3hu5tpIiwgZW46ICJOZXcgY2xvdGhlcyIsIHdvcmRzOiBbCiAgICBbInF14bqnbiDDoW8gbeG7m2kiLCAia3d1biDi
hpggb3cg4oaXIG1veSDihpciLCAibmV3IGNsb3RoZXMiLCAiRXZlcnlvbmUgd2VhcnMgc29tZXRoaW5nIG5ldyBvbiBtw7luZyAxIOKAlCBhIG5ldyB5ZWFy
LCBhIG5ldyB5b3UuIiwgIvCfkZUiLCAiTeG6uSBtdWEgcXXhuqduIMOhbyBt4bubaSBjaG8gY29uLiIsICJNb20gYm91Z2h0IG1lIG5ldyBjbG90aGVzLiJd
LAogICAgWyLDoW8gZMOgaSIsICJvdyDihpcgemFpIOKGmCIsICJ0aGUgVmlldG5hbWVzZSBsb25nIGRyZXNzIiwgIldvcm4gYnkgd29tZW4gQU5EIG1lbiBh
dCBU4bq/dC4gU291dGhlcm4gcHJvbnVuY2lhdGlvbjogJ293IHlhaScuIiwgIvCfkZgiLCAiQ8O0IG3hurdjIMOhbyBkw6BpIMSRaSBjaMO6YyBU4bq/dC4i
LCAiQXVudGllIHdlYXJzIGFuIMOhbyBkw6BpIHRvIHBheSBU4bq/dCB2aXNpdHMuIl0sCiAgICBbIsSR4bq5cCIsICJkZXAg4oaTIiwgImJlYXV0aWZ1bCIs
ICLEkOG6uXAgcXXDoSEgPSBzbyBiZWF1dGlmdWwg4oCUIHNheSBpdCBhYm91dCB0aGUgw6FvIGTDoGksIHRoZSBmbG93ZXJzLCB0aGUgaG91c2UuIiwgIvCf
mI0iLCAiQsOgIG3hurdjIMOhbyBkw6BpIMSR4bq5cCBxdcOhISIsICJHcmFuZG1hLCB5b3VyIMOhbyBkw6BpIGlzIGJlYXV0aWZ1bCEiXSwKICAgIFsibeG6
t2MiLCAibWFrIOKGkyIsICJ0byB3ZWFyIiwgIm3hurdjIHF14bqnbiDDoW8gPSB0byB3ZWFyIGNsb3RoZXMuIFNhbWUgc291bmQgYXMgbeG6t2MgY+G6oyAo
YmFyZ2Fpbikg4oCUIGNvbnRleHQgZGVjaWRlcy4iLCAi8J+npSIsICJIw7RtIG5heSBjb24gbeG6t2MgZ8OsPyIsICJXaGF0IGFyZSB5b3Ugd2VhcmluZyB0
b2RheT8iXQogIF19LAogIHsgZW1vamk6ICLwn42yIiwgdDogIlThuqV0IG5pw6puIiwgZW46ICJUaGUgeWVhci1lbmQgZGlubmVyIiwgd29yZHM6IFsKICAg
IFsidOG6pXQgbmnDqm4iLCAidHV0IOKGlyBuZWUtZW4iLCAieWVhci1lbmQgKGRpbm5lcikiLCAiVGhlIGxhc3QgZGlubmVyIG9mIHRoZSBvbGQgeWVhciDi
gJQgZXZlcnkgcmVsYXRpdmUgd2hvIGNhbiBjb21lLCBjb21lcy4iLCAi8J+NsiIsICJU4buRaSBuYXkgbmjDoCBtw6xuaCDEg24gdOG6pXQgbmnDqm4uIiwg
IlRvbmlnaHQgb3VyIGZhbWlseSBoYXMgdGhlIHllYXItZW5kIGRpbm5lci4iXSwKICAgIFsic3VtIGjhu41wIiwgInNvb20gaG9wIOKGkyIsICJ0byBnYXRo
ZXIgKGFzIGEgZmFtaWx5KSIsICJUaGUgZmVlbGluZy13b3JkIG9mIFThur90OiBnaWEgxJHDrG5oIHN1bSBo4buNcCA9IHRoZSBmYW1pbHkgcmV1bml0ZWQu
IiwgIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCAiVOG6v3QgbMOgIGThu4twIGdpYSDEkcOsbmggc3VtIGjhu41wLiIsICJU4bq/dCBpcyB3aGVuIHRo
ZSBmYW1pbHkgZ2F0aGVycy4iXSwKICAgIFsiY+G6oyBuaMOgIiwgImthIOKGkyBueWEg4oaYIiwgInRoZSB3aG9sZSBmYW1pbHkiLCAiY+G6oyA9IGFsbC93
aG9sZS4gQWxzbyB0aGUgd2FybSB3YXkgdG8gYWRkcmVzcyBldmVyeW9uZTogQ2jDoG8gY+G6oyBuaMOgISIsICLwn4+gIiwgIkPhuqMgbmjDoCDEg24gY8ah
bSB2dWkgduG6uy4iLCAiVGhlIHdob2xlIGZhbWlseSBlYXRzIGhhcHBpbHkgdG9nZXRoZXIuIl0sCiAgICBbImPhu6VuZyBseSIsICJrb29uZyDihpMgbGVl
IiwgInRvIGNsaW5rIGdsYXNzZXMiLCAiQmVmb3JlIGRyaW5raW5nLCBldmVyeW9uZSBjbGlua3M6IE3hu5l0LCBoYWksIGJhIOKAlCBkw7QhIChTb3V0aCkg
LyBD4bqhbiBseSEgKE5vcnRoKSIsICLwn6WCIiwgIkPhu6VuZyBseSBjaMO6YyBt4burbmcgbsSDbSBt4bubaSEiLCAiQ2xpbmsgZ2xhc3NlcyBmb3IgdGhl
IG5ldyB5ZWFyISJdCiAgXX0sCiAgeyBlbW9qaTogIvCfp6ciLCB0OiAiTMOsIHjDrCIsIGVuOiAiTHVja3kgbW9uZXkiLCB3b3JkczogWwogICAgWyJsw6wg
eMOsIiwgImxlZSDihpggc2VlIOKGmCIsICJsdWNreSBtb25leSIsICJSZWQgZW52ZWxvcGVzIGZyb20gZWxkZXJzIHRvIGNoaWxkcmVuIChhbmQgZnJvbSB5
b3UgdG8geW91ciBncmFuZHBhcmVudHMgb25jZSB5b3UgZWFybikuIFJlY2VpdmUgd2l0aCBib3RoIGhhbmRzLiIsICLwn6enIiwgIkLDoCBsw6wgeMOsIGNo
byBjaMOhdS4iLCAiR3JhbmRtYSBnaXZlcyBtZSBsdWNreSBtb25leS4iXSwKICAgIFsicGhvbmcgYmFvIiwgImZvbmcgYm93IiwgInRoZSByZWQgZW52ZWxv
cGUiLCAicGhvbmcgYmFvIGzDrCB4w6wgPSB0aGUgZW52ZWxvcGUgaXRzZWxmLiBFdmVuIGFtb3VudHMsIG5ldyBiaWxscy4iLCAi4pyJ77iPIiwgIkNvbiBj
aHXhuqluIGLhu4sgcGhvbmcgYmFvIMSR4buPLiIsICJJIHByZXBhcmVkIHRoZSByZWQgZW52ZWxvcGVzLiJdLAogICAgWyJt4burbmcgdHXhu5VpIiwgIm11
bmcg4oaYIHRvby1veSDihpMiLCAidG8gZ2l2ZSBhZ2UtbW9uZXkgKE5vcnRoKSIsICJUaGUgTm9ydGhlcm4gcGhyYXNlIGZvciBsw6wgeMOsOiBt4burbmcg
dHXhu5VpID0gY2VsZWJyYXRlIHRoZSBuZXcgeWVhciBvZiBhZ2UuIiwgIvCfjoIiLCAiw5RuZyBt4burbmcgdHXhu5VpIGNobyBjw6FjIGNow6F1LiIsICJH
cmFuZHBhIGdpdmVzIHRoZSBncmFuZGNoaWxkcmVuIGx1Y2t5IG1vbmV5LiJdLAogICAgWyJoYWkgdGF5IiwgImhhaSB0YXkiLCAid2l0aCBib3RoIGhhbmRz
IiwgIkdpdmUgYW5kIHJlY2VpdmUgYW55dGhpbmcgZnJvbSBhbiBlbGRlciB3aXRoIGJvdGggaGFuZHMg4oCUIGl0IHNheXMgcmVzcGVjdCB3aXRob3V0IGEg
d29yZC4iLCAi8J+ksiIsICJOaOG6rW4gbMOsIHjDrCBi4bqxbmcgaGFpIHRheSBuaMOpLiIsICJSZWNlaXZlIGx1Y2t5IG1vbmV5IHdpdGggYm90aCBoYW5k
cy4iXQogIF19LAogIHsgZW1vamk6ICLwn5mPIiwgdDogIkNow7pjIFThur90IOKAlCB0aGUgZ3JlZXRpbmcgZm9yIGV2ZXJ5IHJlbGF0aXZlIiwgZW46ICJU
4bq/dCBncmVldGluZ3MiLCB3b3JkczogWwogICAgWyJDaMO6YyBt4burbmcgbsSDbSBt4bubaSIsICJjaG9vayDihpcgbXVuZyDihpggbmFtIG1veSDihpci
LCAiSGFwcHkgTmV3IFllYXIiLCAiVGhlIHVuaXZlcnNhbCBncmVldGluZy4gQWRkIHRoZSBwZXJzb24ncyB0aXRsZSB0byBtYWtlIGl0IHdhcm06IENow7pj
IG3hu6tuZyBuxINtIG3hu5tpIGLDoCDhuqEhIiwgIvCfjokiLCAiQ2jDumMgbeG7q25nIG7Eg20gbeG7m2kgw7RuZyBiw6Ag4bqhISIsICJIYXBweSBOZXcg
WWVhciwgR3JhbmRwYSBhbmQgR3JhbmRtYSEiXSwKICAgIFsic+G7qWMga2jhu49lIGThu5NpIGTDoG8iLCAic3VrIOKGlyBraHdlaCDipLUgem95IOKGmCB6
b3cg4oaYIiwgImFidW5kYW50IGhlYWx0aCIsICJUaGUgd2lzaCBmb3IgZWxkZXJzLiBDaMO6YyBiw6Agc+G7qWMga2jhu49lIGThu5NpIGTDoG8gPSB3aXNo
aW5nIHlvdSBhYnVuZGFudCBoZWFsdGgsIEdyYW5kbWEuIiwgIvCfkqoiLCAiQ29uIGNow7pjIGLDoCBuxINtIG3hu5tpIHPhu6ljIGto4buPZSBk4buTaSBk
w6BvLiIsICJHcmFuZG1hLCBJIHdpc2ggeW91IGFidW5kYW50IGhlYWx0aCB0aGlzIG5ldyB5ZWFyLiJdLAogICAgWyJ24bqhbiBz4buxIG5oxrAgw70iLCAi
dmFuIOKGkyBzdSDihpMgbnlvbyDihpggZWUg4oaXIiwgIm1heSBldmVyeXRoaW5nIGdvIGFzIHlvdSB3aXNoIiwgIlRlbi10aG91c2FuZCB0aGluZ3MgYXMg
eW91IHdpc2guIEZvciBwYXJlbnRzLCBhdW50cyBhbmQgdW5jbGVzLiIsICLinKgiLCAiQ2jDumMgYuG7kSBt4bq5IHbhuqFuIHPhu7EgbmjGsCDDvS4iLCAi
TW9tIGFuZCBEYWQsIG1heSBldmVyeXRoaW5nIGdvIGFzIHlvdSB3aXNoLiJdLAogICAgWyJhbiBraGFuZyB0aOG7i25oIHbGsOG7o25nIiwgImFuIGtoYW5n
IHRpbiDihpMgdnVvbmcg4oaTIiwgInBlYWNlLCBoZWFsdGggYW5kIHByb3NwZXJpdHkiLCAiVGhlIGZvcm1hbCBmb3VyLXdvcmQgd2lzaCDigJQgcGVyZmVj
dCBmb3IgYSB3b3JrIHVuY2xlIG9yIGEgZmFtaWx5IGZyaWVuZC4iLCAi8J+PriIsICJDaMO6YyBjw7QgY2jDuiBhbiBraGFuZyB0aOG7i25oIHbGsOG7o25n
LiIsICJBdW50aWUgYW5kIFVuY2xlLCBwZWFjZSwgaGVhbHRoIGFuZCBwcm9zcGVyaXR5LiJdCiAgXX0sCiAgeyBlbW9qaTogIvCfjoYiLCB0OiAiR2lhbyB0
aOG7q2EiLCBlbjogIk5ldyBZZWFyJ3MgRXZlIiwgd29yZHM6IFsKICAgIFsiZ2lhbyB0aOG7q2EiLCAiem93IHRodS1hIOKGmCIsICJ0aGUgbWlkbmlnaHQg
b2YgTmV3IFllYXIncyBFdmUiLCAiVGhlIG1vbWVudCB0aGUgeWVhcnMgdG91Y2guIEZhbWlsaWVzIGdhdGhlciBhdCB0aGUgYWx0YXIsIHRoZW4gd2F0Y2gg
ZmlyZXdvcmtzLiIsICLwn46GIiwgIsSQw6ptIGdpYW8gdGjhu6thIGPhuqMgbmjDoCB0aOG7qWMga2h1eWEuIiwgIk9uIE5ldyBZZWFyJ3MgRXZlIHRoZSB3
aG9sZSBmYW1pbHkgc3RheXMgdXAgbGF0ZS4iXSwKICAgIFsicGjDoW8gaG9hIiwgImZvdyDihpcgaHdhIiwgImZpcmV3b3JrcyIsICJGaXJlY3JhY2tlcnMg
KHBow6FvKSBhcmUgYmFubmVkLCBzbyBwaMOhbyBob2Egb3ZlciBI4buTIEfGsMahbSBpcyB0aGUgc291bmQgb2YgbWlkbmlnaHQgbm93LiIsICLwn46HIiwg
Ik3DrG5oIMSRaSB4ZW0gcGjDoW8gaG9hIOG7nyBI4buTIEfGsMahbSBuaMOpLiIsICJMZXQncyB3YXRjaCB0aGUgZmlyZXdvcmtzIGF0IEhvw6BuIEtp4bq/
bSBMYWtlLiJdLAogICAgWyLEkcOzbiBuxINtIG3hu5tpIiwgImRvbiDihpcgbmFtIG1veSDihpciLCAidG8gd2VsY29tZSB0aGUgbmV3IHllYXIiLCAixJHD
s24gPSB3ZWxjb21lL3JlY2VpdmUuIMSQw7NuIFThur90ID0gdG8gY2VsZWJyYXRlIFThur90LiIsICLwn6SXIiwgIk7Eg20gbmF5IGNvbiB24buBIMSRw7Nu
IFThur90IHbhu5tpIGLDoC4iLCAiVGhpcyB5ZWFyIEkgYW0gY29taW5nIGhvbWUgdG8gY2VsZWJyYXRlIFThur90IHdpdGggR3JhbmRtYS4iXSwKICAgIFsi
dGjhu6ljIGtodXlhIiwgInRodWsg4oaXIGtod2VlLWEiLCAidG8gc3RheSB1cCBsYXRlIiwgInRo4bupYyA9IHN0YXkgYXdha2UsIGtodXlhID0gbGF0ZSBh
dCBuaWdodC4gVGhlIG9uZSBuaWdodCBub2JvZHkgdGVsbHMgdGhlIGNoaWxkcmVuIHRvIHNsZWVwLiIsICLwn4yZIiwgIlThu5FpIG5heSDEkcaw4bujYyB0
aOG7qWMga2h1eWEhIiwgIlRvbmlnaHQgd2UgZ2V0IHRvIHN0YXkgdXAgbGF0ZSEiXQogIF19LAogIHsgZW1vamk6ICLwn5qqIiwgdDogIljDtG5nIMSR4bql
dCIsIGVuOiAiRmlyc3QtZm9vdGluZyBhbmQgdGhlIHRhYm9vcyIsIHdvcmRzOiBbCiAgICBbInjDtG5nIMSR4bqldCIsICJzb25nIGR1dCDihpciLCAiZmly
c3QtZm9vdGluZyIsICJUaGUgZmlyc3QgcGVyc29uIHRocm91Z2ggdGhlIGRvb3IgaW4gdGhlIG5ldyB5ZWFyIHNldHMgdGhlIGZhbWlseSdzIGx1Y2suIEZh
bWlsaWVzIGNob29zZSB0aGVtIGNhcmVmdWxseSEiLCAi8J+aqiIsICJOxINtIG5heSBhaSB4w7RuZyDEkeG6pXQgbmjDoCBtw6xuaD8iLCAiV2hvIGlzIGZp
cnN0LWZvb3Rpbmcgb3VyIGhvdXNlIHRoaXMgeWVhcj8iXSwKICAgIFsia2nDqm5nIiwgImtlZS1lbmciLCAidG8gYXZvaWQgKGJ5IGN1c3RvbSkiLCAia2nD
qm5nID0gYWJzdGFpbiBmcm9tLiBPbiBtw7luZyAxIHBlb3BsZSBracOqbmcgc3dlZXBpbmcsIGFyZ3VpbmcsIGJyZWFraW5nIHRoaW5ncy4iLCAi8J+aqyIs
ICJNw7luZyBt4buZdCBracOqbmcgcXXDqXQgbmjDoC4iLCAiT24gdGhlIGZpcnN0IGRheSB3ZSBhdm9pZCBzd2VlcGluZy4iXSwKICAgIFsicXXDqXQgbmjD
oCIsICJrd2V0IOKGlyBueWEg4oaYIiwgInRvIHN3ZWVwIHRoZSBob3VzZSIsICJTd2VlcGluZyBvbiBtw7luZyAxIHN3ZWVwcyB0aGUgbHVjayBvdXQg4oCU
IHNvIHRoZSBob3VzZSBpcyBjbGVhbmVkIGJlZm9yZSwgbmV2ZXIgZHVyaW5nLiIsICLwn6e5IiwgIsSQ4burbmcgcXXDqXQgbmjDoCBow7RtIG5heSBuaMOp
ISIsICJEb24ndCBzd2VlcCB0aGUgaG91c2UgdG9kYXkhIl0sCiAgICBbIm7Ds2kgxJFp4buBdSB04buRdCIsICJub3kg4oaXIGRlZS1vbyDihpggdG90IOKG
lyIsICJ0byBzYXkgZ29vZCB0aGluZ3MiLCAiT25seSBraW5kIHdvcmRzIGluIHRoZSBmaXJzdCBkYXlzIOKAlCB3aGF0IHlvdSBzYXkgc2V0cyB0aGUgeWVh
ci4gQSB1c2VmdWwgcnVsZSBhbnkgZGF5LiIsICLwn5KsIiwgIsSQ4bqndSBuxINtIGNo4buJIG7Ds2kgxJFp4buBdSB04buRdCB0aMO0aS4iLCAiQXQgdGhl
IHN0YXJ0IG9mIHRoZSB5ZWFyIHdlIG9ubHkgc2F5IGdvb2QgdGhpbmdzLiJdCiAgXX0sCiAgeyBlbW9qaTogIvCfjokiLCB0OiAiTcO5bmcgTeG7mXQg4oCU
IENow7pjIG3hu6tuZyBuxINtIG3hu5tpISIsIGVuOiAiTmV3IFllYXIncyBEYXkiLCB3b3JkczogWwogICAgWyLEkWkgY2jDumMgVOG6v3QiLCAiZGVlIGNo
b29rIOKGlyB0ZXQg4oaXIiwgInRvIHBheSBOZXcgWWVhciB2aXNpdHMiLCAiTcO5bmcgMSBmb3IgZmF0aGVyJ3Mgc2lkZSwgbcO5bmcgMiBmb3IgbW90aGVy
J3Mgc2lkZSwgbcO5bmcgMyBmb3IgdGVhY2hlcnMg4oCUIHRoZSBvbGQgcmh5bWUuIiwgIvCfj6EiLCAiTcO5bmcgbeG7mXQgxJFpIGNow7pjIFThur90IMO0
bmcgYsOgIG7hu5lpLiIsICJPbiBkYXkgb25lIHdlIHZpc2l0IEdyYW5kcGEgYW5kIEdyYW5kbWEgb24gRGFkJ3Mgc2lkZS4iXSwKICAgIFsiZ+G7jWkgxJFp
4buHbiB24buBIG5ow6AiLCAiZ295IOKGkyBkZWUtZW4g4oaTIHZlaCDihpggbnlhIOKGmCIsICJ0byBjYWxsIGhvbWUiLCAiSWYgeW91IGNhbm5vdCBiZSB0
aGVyZSwgY2FsbCBhdCB0aGUgbW9tZW50IG9mIGdpYW8gdGjhu6thIOKAlCB5b3VyIGdyYW5kbW90aGVyIGlzIHdhaXRpbmcgYnkgdGhlIHBob25lLiIsICLw
n5OeIiwgIkNvbiBn4buNaSDEkWnhu4duIHbhu4EgbmjDoCBjaMO6YyBU4bq/dCBiw6AuIiwgIkkgY2FsbCBob21lIHRvIHdpc2ggR3JhbmRtYSBhIGhhcHB5
IG5ldyB5ZWFyLiJdLAogICAgWyJ0aMSDbSBo4buNIGjDoG5nIiwgInRoYW0gaG8g4oaTIGhhbmcg4oaYIiwgInRvIHZpc2l0IHJlbGF0aXZlcyIsICJo4buN
IGjDoG5nID0gcmVsYXRpdmVzLiBUaHJlZSBkYXlzIG9mIHZpc2l0aW5nLCBlYXRpbmcsIGFuZCBiZWluZyBhc2tlZCB3aGVuIHlvdSB3aWxsIG1hcnJ5LiIs
ICLwn5GqIiwgIk3DuW5nIGhhaSDEkWkgdGjEg20gaOG7jSBow6BuZyBiw6puIG5nb+G6oWkuIiwgIk9uIGRheSB0d28gd2UgdmlzaXQgTW9tJ3Mgc2lkZSBv
ZiB0aGUgZmFtaWx5LiJdLAogICAgWyLEg24gVOG6v3QiLCAiYW4gdGV0IOKGlyIsICJ0byBjZWxlYnJhdGUgVOG6v3QiLCAiTGl0ZXJhbGx5ICd0byBlYXQg
VOG6v3QnLiDEgm4gVOG6v3Qg4bufIMSRw6J1PyA9IHdoZXJlIGFyZSB5b3UgY2VsZWJyYXRpbmcgVOG6v3Q/IFRoZSBxdWVzdGlvbiBvZiB0aGUgc2Vhc29u
LiIsICLwn429IiwgIk7Eg20gbmF5IGNvbiDEg24gVOG6v3Qg4bufIEjDoCBO4buZaS4iLCAiVGhpcyB5ZWFyIEkgYW0gY2VsZWJyYXRpbmcgVOG6v3QgaW4g
SMOgIE7hu5lpLiJdCiAgXX0KXTsKY29uc3QgVEVUX0dSRUVUX0RBWSA9IDExOyAvLyBpbmRleCBvZiB0aGUgZ3JlZXRpbmdzIGRheQpmdW5jdGlvbiB0ZXRO
b3coKSB7CiAgdHJ5IHsKICAgIGNvbnN0IHEgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCkuZ2V0KCJ0ZXQiKTsKICAgIGlmIChxKSBs
b2NhbFN0b3JhZ2Uuc2V0SXRlbSgidnFUZXROb3ciLCBxKTsKICAgIGNvbnN0IHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidnFUZXROb3ciKTsKICAgIGlm
IChzKSB7IGNvbnN0IGQgPSBuZXcgRGF0ZShzICsgIlQxMjowMDowMCIpOyBpZiAoIWlzTmFOKGQpKSByZXR1cm4gZDsgfQogIH0gY2F0Y2ggKGUpIHt9CiAg
cmV0dXJuIG5ldyBEYXRlKCk7Cn0KZnVuY3Rpb24gdGV0U3RhdGUoKSB7CiAgY29uc3Qgbm93ID0gdGV0Tm93KCksIHRvZGF5ID0gbmV3IERhdGUobm93Lmdl
dEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpKTsKICBsZXQgcGljayA9IG51bGw7CiAgT2JqZWN0LmtleXMoVEVUX0RBVEVTKS5z
b3J0KCkuZm9yRWFjaCh5ID0+IHsKICAgIGlmIChwaWNrKSByZXR1cm47CiAgICBjb25zdCBbaXNvXSA9IFRFVF9EQVRFU1t5XTsgY29uc3QgW1ksIE0sIERd
ID0gaXNvLnNwbGl0KCItIikubWFwKE51bWJlcik7CiAgICBjb25zdCB0ZXQgPSBuZXcgRGF0ZShZLCBNIC0gMSwgRCk7CiAgICBjb25zdCBkYXlzID0gTWF0
aC5yb3VuZCgodGV0IC0gdG9kYXkpIC8gODY0MDAwMDApOwogICAgaWYgKGRheXMgPj0gLTIpIHBpY2sgPSB7IHllYXI6ICt5LCB0ZXQsIGRheXMsIHpvZGlh
YzogVEVUX0RBVEVTW3ldWzFdLCBhbmltYWw6IFRFVF9EQVRFU1t5XVsyXSB9OwogIH0pOwogIGlmICghcGljaykgcmV0dXJuIG51bGw7CiAgcGljay5pbldp
bmRvdyA9IHBpY2suZGF5cyA8PSAxNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE0IGRheXMgYmVmb3JlIOKGkiBtw7luZyAzCiAg
cGljay51bmxvY2tlZCA9IHBpY2suaW5XaW5kb3cgPyBNYXRoLm1pbihURVRfREFZUy5sZW5ndGgsIFRFVF9EQVlTLmxlbmd0aCAtIE1hdGgubWF4KDAsIHBp
Y2suZGF5cykpIDogMDsgLy8gZGF5IDE1IG9wZW5zIG9uIFThur90IGl0c2VsZgogIHBpY2sub3BlbnMgPSBuZXcgRGF0ZShwaWNrLnRldC5nZXRUaW1lKCkg
LSAxNCAqIDg2NDAwMDAwKTsKICByZXR1cm4gcGljazsKfQpmdW5jdGlvbiB0ZXRGbXQoZCkgeyByZXR1cm4gZC50b0xvY2FsZURhdGVTdHJpbmcodW5kZWZp
bmVkLCB7IG1vbnRoOiAibG9uZyIsIGRheTogIm51bWVyaWMiLCB5ZWFyOiAibnVtZXJpYyIgfSk7IH0KZnVuY3Rpb24gdGV0S25vd24oKSB7IHJldHVybiAo
bHN0YXRlKCJUIikua25vd24gfHwgW10pLmxlbmd0aDsgfQpmdW5jdGlvbiB0ZXRXb3Jkc0Zvcih1bmxvY2tlZCkgeyByZXR1cm4gVEVUX0RBWVMuc2xpY2Uo
MCwgdW5sb2NrZWQpLmZsYXRNYXAoZCA9PiBkLndvcmRzKTsgfQovKiB0aGUgcHNldWRvLWxlc3NvbjogdGhlIExlYXJuL1NwZWFrIGVuZ2luZSB0ZWFjaGVz
IHRoZSB1bmxvY2tlZCBjYXJkcyAqLwpmdW5jdGlvbiBvcGVuVGV0KHByZXZpZXcpIHsKICBjb25zdCBzdCA9IHRldFN0YXRlKCk7IGlmICghc3QpIHJldHVy
bjsKICBjb25zdCB1bmxvY2tlZCA9IHByZXZpZXcgPyAwIDogc3QudW5sb2NrZWQ7CiAgY29uc3Qgd29yZHMgPSBwcmV2aWV3ID8gVEVUX0RBWVNbVEVUX0dS
RUVUX0RBWV0ud29yZHMgOiB0ZXRXb3Jkc0Zvcih1bmxvY2tlZCk7CiAgY3VyID0geyBuOiAiVCIsIGtyOiAiVOG6v3QiLCBlbjogIlThur90Iiwgdmk6ICJU
4bq/dCIsIGVtb2ppOiAi8J+npyIsIHdvcmRzLCBncmFtbWFyOiBbXSB9OwogIGxlYXJuSWR4ID0gcHJldmlldyA/IDAgOiBNYXRoLm1heCgwLCAodW5sb2Nr
ZWQgLSAxKSAqIDQpOyBzcGVha0lkeCA9IDA7CiAgY29uc3QgZGF5ID0gcHJldmlldyA/IFRFVF9EQVlTW1RFVF9HUkVFVF9EQVldIDogVEVUX0RBWVNbdW5s
b2NrZWQgLSAxXTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibFRpdGxlIikudGV4dENvbnRlbnQgPSBwcmV2aWV3ID8gIvCfp6cgVOG6v3QgZ3JlZXRp
bmdzIOKAlCBlYXJseSBwcmFjdGljZSIgOiBg8J+npyBU4bq/dCAke3N0LnllYXJ9IMK3IERheSAke3VubG9ja2VkfSBvZiAke1RFVF9EQVlTLmxlbmd0aH06
ICR7ZGF5LmVtb2ppfSAke2RheS50fWA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdWIiKS50ZXh0Q29udGVudCA9IHByZXZpZXcKICAgID8gYFRo
ZSBldmVudCBvcGVucyAke3RldEZtdChzdC5vcGVucyl9IOKAlCBvbmUgbmV3IGNhcmQgYSBkYXkuIFRoZXNlIGZvdXIgZ3JlZXRpbmdzIGFyZSB5b3VycyBu
b3cuYAogICAgOiBgJHtkYXkuZW59IMK3ICR7dGV0S25vd24oKX0vJHtURVRfREFZUy5sZW5ndGggKiA0fSBU4bq/dCB3b3JkcyBsZWFybmVkIMK3ICR7c3Qu
ZGF5cyA+IDAgPyAiVOG6v3QgaW4gIiArIHN0LmRheXMgKyAiIGRheSIgKyAoc3QuZGF5cyA9PT0gMSA/ICIiIDogInMiKSA6ICJDaMO6YyBt4burbmcgbsSD
bSBt4bubaSEifWA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdGFycyIpLnRleHRDb250ZW50ID0gIvCfp6ciOwogIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIi50YWIiKS5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAoZWwuZGF0YXNldC50YWIgPT09ICJsZWFybiIgfHwgZWwuZGF0YXNl
dC50YWIgPT09ICJzcGVhayIpID8gIiIgOiAibm9uZSIpOwogIHNldFRhYigibGVhcm4iKTsKICBzaG93KCJsZXNzb24iKTsKfQovKiBjb21wbGV0aW9uOiBh
bGwgMTUgZGF5cyBsZWFybmVkIOKGkiBvbmNlIHBlciB5ZWFyICovCmZ1bmN0aW9uIHRldENoZWNrRG9uZSgpIHsKICBjb25zdCBzdCA9IHRldFN0YXRlKCk7
IGlmICghc3QpIHJldHVybjsKICBzYXZlLnRldERvbmUgPSBzYXZlLnRldERvbmUgfHwge307CiAgaWYgKHNhdmUudGV0RG9uZVtzdC55ZWFyXSB8fCB0ZXRL
bm93bigpIDwgVEVUX0RBWVMubGVuZ3RoICogNCkgcmV0dXJuOwogIHNhdmUudGV0RG9uZVtzdC55ZWFyXSA9IDE7IHBlcnNpc3QoKTsKICBnYWluWHAoMTAw
KTsgdHJ5IHsgY29uZmV0dGkoKTsgc2Z4LndpbigpOyB9IGNhdGNoIChlKSB7fQogIGNvbnN0IGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsg
Yi5jbGFzc05hbWUgPSAibGV2ZWx1cC1iYW5uZXIiOyBiLnRleHRDb250ZW50ID0gIvCfp6cgxIJuIFThur90IHRy4buNbiB24bq5biEgKzEwMCBYUCDigJQg
ZXZlcnkgVOG6v3Qgd29yZCBpcyB5b3VycyI7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJlbW92ZSgpLCAz
MDAwKTsKfQovKiBhcHAgb25seTogb25lIGxvY2FsIG5vdGlmaWNhdGlvbiB0aGUgbW9ybmluZyB0aGUgZXZlbnQgb3BlbnMgKG9ubHkgZm9yIGxlYXJuZXJz
CiAgIHdobyBhbHJlYWR5IHR1cm5lZCB0aGUgZGFpbHkgcmVtaW5kZXIgb24g4oCUIG5ldmVyIGEgbmV3IHBlcm1pc3Npb24gcHJvbXB0KSAqLwpmdW5jdGlv
biB0ZXROb3RpZnkoKSB7CiAgdHJ5IHsKICAgIGNvbnN0IHN0ID0gdGV0U3RhdGUoKTsKICAgIGlmICghd2luZG93LlZRX05PVElGWSB8fCAhVlFfTk9USUZZ
Lm9uY2UgfHwgIXN0IHx8IHN0LmluV2luZG93KSByZXR1cm47CiAgICBpZiAoISh0eXBlb2YgdnFSZW1pbmRQcmVmID09PSAiZnVuY3Rpb24iICYmIHZxUmVt
aW5kUHJlZigpLm9uKSkgcmV0dXJuOwogICAgY29uc3QgYXQgPSBuZXcgRGF0ZShzdC5vcGVucy5nZXRGdWxsWWVhcigpLCBzdC5vcGVucy5nZXRNb250aCgp
LCBzdC5vcGVucy5nZXREYXRlKCksIDksIDAsIDApOwogICAgVlFfTk9USUZZLm9uY2UoMiwgYXQsICLwn6enIFThur90IGlzIGluIHR3byB3ZWVrcyIsICJZ
b3VyIGZpcnN0IFThur90IGNhcmQgaXMgd2FpdGluZyDigJQgdGhlIHdvcmRzLCB0aGUgY3VzdG9tcywgYW5kIHRoZSBncmVldGluZyBmb3IgZXZlcnkgcmVs
YXRpdmUuIik7CiAgfSBjYXRjaCAoZSkge30KfQovKiB0aGUgbWFwIGNhcmQgKi8KZnVuY3Rpb24gdGV0Q2FyZCgpIHsKICBjb25zdCBzdCA9IHRldFN0YXRl
KCk7IGlmICghc3QpIHJldHVybiBudWxsOwogIGNvbnN0IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBjLmlkID0gInRldENhcmQiOyBj
LmNsYXNzTmFtZSA9ICJsY2FyZCI7IGMuc3R5bGUuZ3JpZENvbHVtbiA9ICIxIC8gLTEiOwogIGNvbnN0IGtub3duID0gdGV0S25vd24oKSwgdG90YWwgPSBU
RVRfREFZUy5sZW5ndGggKiA0OwogIGlmICghc3QuaW5XaW5kb3cpIHsKICAgIGMuc3R5bGUuYm9yZGVyID0gIjJweCBkYXNoZWQgI2U2Mzk0NjY2IjsKICAg
IGMuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImxudW0iPvCfp6cgVOG6vlQgJHtzdC55ZWFyfSDCtyBJTiAke3N0LmRheXN9IERBWVM8L2Rpdj4KICAgICAg
PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDsiPjxkaXYgY2xhc3M9ImxlbW9qaSIgc3R5bGU9Im1hcmdpbjow
OyI+8J+npzwvZGl2PgogICAgICA8ZGl2PjxkaXYgY2xhc3M9ImxrciI+VOG6v3QgJHtzdC56b2RpYWN9IOKAlCAke3RldEZtdChzdC50ZXQpfTwvZGl2Pgog
ICAgICA8ZGl2IGNsYXNzPSJsZW4iPlRoZSBU4bq/dCBldmVudCBvcGVucyAke3RldEZtdChzdC5vcGVucyl9OiBvbmUgbmV3IGNhcmQgYSBkYXkgZm9yICR7
VEVUX0RBWVMubGVuZ3RofSBkYXlzIOKAlCB0aGUgd29yZHMsIHRoZSBjdXN0b21zLCBhbmQgdGhlIGdyZWV0aW5nIGZvciBldmVyeSByZWxhdGl2ZS4gVGFw
IHRvIGxlYXJuIHRoZSBncmVldGluZ3Mgbm93LjwvZGl2PjwvZGl2PjwvZGl2PmA7CiAgICBjLm9uY2xpY2sgPSAoKSA9PiBvcGVuVGV0KHRydWUpOwogICAg
cmV0dXJuIGM7CiAgfQogIGNvbnN0IGRheSA9IFRFVF9EQVlTW3N0LnVubG9ja2VkIC0gMV07CiAgY29uc3QgZGF5S25vd24gPSBkYXkud29yZHMuZmlsdGVy
KHcgPT4gbHN0YXRlKCJUIikua25vd24uaW5jbHVkZXMod1swXSkpLmxlbmd0aDsKICBjLnN0eWxlLmJvcmRlciA9ICIycHggc29saWQgI2U2Mzk0NiI7CiAg
Yy5zdHlsZS5iYWNrZ3JvdW5kID0gImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjMwLDU3LDcwLC4xNCksIHJnYmEoMjU1LDIwOSwxMDIsLjEwKSki
OwogIGNvbnN0IGhlYWQgPSBzdC5kYXlzID4gMCA/IGDwn6enIFThur5UIEVWRU5UIMK3IERBWSAke3N0LnVubG9ja2VkfSBPRiAke1RFVF9EQVlTLmxlbmd0
aH0gwrcgVOG6vlQgSU4gJHtzdC5kYXlzfSBEQVkke3N0LmRheXMgPT09IDEgPyAiIiA6ICJTIn1gIDogKHN0LmRheXMgPT09IDAgPyAi8J+npyBDSMOaQyBN
4buqTkcgTsSCTSBN4buaSSEgwrcgTcOZTkcgTeG7mFQiIDogYPCfp6cgTcOZTkcgJHtzdC5kYXlzID09PSAtMSA/ICJIQUkiIDogIkJBIn0gwrcgVOG6vlQg
JHtzdC56b2RpYWN9YCk7CiAgY29uc3Qgc2hhcmUgPSBzdC5kYXlzIDw9IDAgfHwga25vd24gPj0gNDQgPyBgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHls
ZT0ibWFyZ2luOjhweCAwIDA7IiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTt0ZXRTaGFyZSgpIj7wn6enIFNlbmQgbXkgVOG6v3QgZ3JlZXRp
bmcgY2FyZDwvYnV0dG9uPmAgOiAiIjsKICBjLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVtIj4ke2hlYWR9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJk
aXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4OyI+PGRpdiBjbGFzcz0ibGVtb2ppIiBzdHlsZT0ibWFyZ2luOjA7Ij4ke2RheS5lbW9q
aX08L2Rpdj4KICAgIDxkaXY+PGRpdiBjbGFzcz0ibGtyIj4ke2RheS50fTwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGVuIj4ke2RheS5lbn0gwrcgJHtkYXlL
bm93bn0vNCB0b2RheSdzIHdvcmRzIMK3ICR7a25vd259LyR7dG90YWx9IFThur90IHdvcmRzJHtzYXZlLnRldERvbmUgJiYgc2F2ZS50ZXREb25lW3N0Lnll
YXJdID8gIiDCtyDinIUgY29tcGxldGUiIDogIiJ9JHtzdC51bmxvY2tlZCA8IFRFVF9EQVlTLmxlbmd0aCA/ICIgwrcgbmV4dCBjYXJkIHRvbW9ycm93IiA6
ICIifTwvZGl2PiR7c2hhcmV9PC9kaXY+PC9kaXY+YDsKICBjLm9uY2xpY2sgPSAoKSA9PiBvcGVuVGV0KGZhbHNlKTsKICByZXR1cm4gYzsKfQovKiB0aGUg
c2hhcmVhYmxlIGdyZWV0aW5nIGNhcmQgKGNhbnZhcyDihpIgV2ViIFNoYXJlLCB3aXRoIGEgc2F2ZS1pbWFnZSBmYWxsYmFjaykgKi8KYXN5bmMgZnVuY3Rp
b24gdGV0U2hhcmUoKSB7CiAgY29uc3Qgc3QgPSB0ZXRTdGF0ZSgpIHx8IHsgeWVhcjogbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLCB6b2RpYWM6ICIiIH07
CiAgY29uc3QgZmFtID0gc2F2ZS5mYW1pbHkgfHwge307CiAgY29uc3QgZnJvbSA9IGZhbS5uYW1lIHx8ICIiOwogIGNvbnN0IGdyZWV0cyA9IFRFVF9EQVlT
W1RFVF9HUkVFVF9EQVldLndvcmRzOwogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXRTaGFyZVdyYXAiKTsgaWYgKG9sZCkgb2xk
LnJlbW92ZSgpOwogIGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgdy5pZCA9ICJ0ZXRTaGFyZVdyYXAiOwogIHcuc3R5bGUuY3Nz
VGV4dCA9ICJwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6cmdiYSgyMCwxNCw0LC42KTt6LWluZGV4OjEwMDAyO2Rpc3BsYXk6ZmxleDthbGln
bi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7b3ZlcmZsb3c6YXV0bzsiOwogIHcuaW5uZXJIVE1MID0gYDxkaXYg
c3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjJweCBzb2xpZCAjZTYzOTQ2O2JvcmRlci1yYWRpdXM6MThweDttYXgtd2lkdGg6NDIwcHg7
d2lkdGg6MTAwJTtwYWRkaW5nOjIwcHg7Ij4KICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13
ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpOyI+8J+npyBZb3VyIFThur90IGdyZWV0aW5nIGNhcmQ8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImNvbG9yOnZh
cigtLW11dGVkKTtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRweDsiPlBpY2sgdGhlIHdpc2gsIHRoZW4gc2VuZCBpdCB0byB0aGUgZmFtaWx5IGdyb3Vw
IGNoYXQuPC9kaXY+CiAgICA8ZGl2IGlkPSJ0ZXRQaWNrIiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O21hcmdp
bi10b3A6MTJweDsiPgogICAgICAke2dyZWV0cy5tYXAoKGcsIGkpID0+IGA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJtYXJnaW46MDt0ZXh0LWFs
aWduOmxlZnQ7cGFkZGluZzoxMHB4IDEycHg7JHtpID09PSAwID8gImJvcmRlci1jb2xvcjojZTYzOTQ2OyIgOiAiIn0iIGRhdGEtaT0iJHtpfSI+JHtnWzVd
fTxicj48c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4OyI+JHtnWzZdfTwvc3Bhbj48L2J1dHRvbj5gKS5qb2luKCIiKX0K
ICAgIDwvZGl2PgogICAgPGNhbnZhcyBpZD0idGV0Q2FudmFzIiB3aWR0aD0iMTA4MCIgaGVpZ2h0PSIxMzUwIiBzdHlsZT0id2lkdGg6MTAwJTtib3JkZXIt
cmFkaXVzOjEycHg7bWFyZ2luLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2s7Ij48L2NhbnZhcz4KICAgIDxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9IndpZHRo
OjEwMCU7bWFyZ2luLXRvcDoxMnB4O3BhZGRpbmc6MTJweDsiIGlkPSJ0ZXRTZW5kIj7wn5OkIFNoYXJlIHRoZSBjYXJkPC9idXR0b24+CiAgICA8YnV0dG9u
IGNsYXNzPSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo4cHggMCAwO3BhZGRpbmc6MTBweDtmb250LXNpemU6MTNweDsiIGlkPSJ0ZXRDbG9z
ZSI+Q2xvc2U8L2J1dHRvbj4KICAgIDxkaXYgaWQ9InRldE1zZyIgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10
b3A6OHB4O21pbi1oZWlnaHQ6MTZweDsiPjwvZGl2PjwvZGl2PmA7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KTsKICBsZXQgcGljayA9IDA7CiAg
Y29uc3QgZHJhdyA9IGFzeW5jICgpID0+IHsKICAgIGNvbnN0IGcgPSBncmVldHNbcGlja10sIGN2ID0gdy5xdWVyeVNlbGVjdG9yKCIjdGV0Q2FudmFzIiks
IHggPSBjdi5nZXRDb250ZXh0KCIyZCIpOwogICAgY29uc3QgZ3JhZCA9IHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMTM1MCk7IGdyYWQuYWRk
Q29sb3JTdG9wKDAsICIjYzExMjFmIik7IGdyYWQuYWRkQ29sb3JTdG9wKDEsICIjNzgwMDAwIik7CiAgICB4LmZpbGxTdHlsZSA9IGdyYWQ7IHguZmlsbFJl
Y3QoMCwgMCwgMTA4MCwgMTM1MCk7CiAgICB4LnN0cm9rZVN0eWxlID0gIiNCMDdEMjgiOyB4LmxpbmVXaWR0aCA9IDEwOyB4LnN0cm9rZVJlY3QoNTAsIDUw
LCA5ODAsIDEyNTApOwogICAgeC5zdHJva2VTdHlsZSA9ICIjQjA3RDI4ODgiOyB4LmxpbmVXaWR0aCA9IDM7IHguc3Ryb2tlUmVjdCg3MiwgNzIsIDkzNiwg
MTIwNik7CiAgICB0cnkgeyBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTsgaW1nLnNyYyA9IFZRX0VNQkxFTTsgYXdhaXQgbmV3IFByb21pc2UociA9PiB7IGlt
Zy5vbmxvYWQgPSByOyBpbWcub25lcnJvciA9IHI7IH0pOyB4LmRyYXdJbWFnZShpbWcsIDQ0MCwgMTMwLCAyMDAsIDIwMCk7IH0gY2F0Y2ggKGUpIHt9CiAg
ICB4LmZpbGxTdHlsZSA9ICIjQjA3RDI4IjsgeC50ZXh0QWxpZ24gPSAiY2VudGVyIjsgeC5mb250ID0gImJvbGQgNDRweCBHZW9yZ2lhLCBzZXJpZiI7CiAg
ICB4LmZpbGxUZXh0KCJU4bq+VCAiICsgKHN0LnpvZGlhYyA/IHN0LnpvZGlhYy50b1VwcGVyQ2FzZSgpICsgIiDCtyAiIDogIiIpICsgc3QueWVhciwgNTQw
LCA0MDApOwogICAgeC5maWxsU3R5bGUgPSAiI2ZmZjhlNyI7IHguZm9udCA9ICJib2xkIDk2cHggR2VvcmdpYSwgc2VyaWYiOwogICAgeC5maWxsVGV4dCgi
Q2jDumMgbeG7q25nIiwgNTQwLCA1NDApOyB4LmZpbGxUZXh0KCJuxINtIG3hu5tpISIsIDU0MCwgNjUwKTsKICAgIGNvbnN0IHdyYXAgPSAodCwgeSwgZm9u
dCwgY29sb3IsIG1heFcpID0+IHsgeC5mb250ID0gZm9udDsgeC5maWxsU3R5bGUgPSBjb2xvcjsgY29uc3Qgd29yZHMgPSB0LnNwbGl0KCIgIik7IGxldCBs
aW5lID0gIiIsIHl5ID0geTsgd29yZHMuZm9yRWFjaCh3ZCA9PiB7IGNvbnN0IHRlc3QgPSBsaW5lID8gbGluZSArICIgIiArIHdkIDogd2Q7IGlmICh4Lm1l
YXN1cmVUZXh0KHRlc3QpLndpZHRoID4gbWF4VyAmJiBsaW5lKSB7IHguZmlsbFRleHQobGluZSwgNTQwLCB5eSk7IGxpbmUgPSB3ZDsgeXkgKz0gcGFyc2VJ
bnQoZm9udCwgMTApICogMS4yNTsgfSBlbHNlIGxpbmUgPSB0ZXN0OyB9KTsgaWYgKGxpbmUpIHguZmlsbFRleHQobGluZSwgNTQwLCB5eSk7IHJldHVybiB5
eTsgfTsKICAgIGxldCB5ID0gd3JhcChnWzVdLCA4MDAsICJib2xkIDU4cHggR2VvcmdpYSwgc2VyaWYiLCAiI0IwN0QyOCIsIDg4MCk7CiAgICB5ID0gd3Jh
cChnWzZdLCB5ICsgODAsICI0MHB4IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiLCAiI2ZmZjhlNyIsIDg4MCk7CiAgICBpZiAoZnJvbSkgeyB4LmZv
bnQgPSAiaXRhbGljIDQ0cHggR2VvcmdpYSwgc2VyaWYiOyB4LmZpbGxTdHlsZSA9ICIjQjA3RDI4IjsgeC5maWxsVGV4dCgi4oCUICIgKyBmcm9tLCA1NDAs
IHkgKyAxMjApOyB9CiAgICB4LmZvbnQgPSAiMzBweCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIjsgeC5maWxsU3R5bGUgPSAiI0IwN0QyOGFhIjsg
eC5maWxsVGV4dCgiVmlldG5hbWVzZSBRdWVzdCDCtyB0b21waGFtLmNhIiwgNTQwLCAxMjQwKTsKICB9OwogIHcucXVlcnlTZWxlY3RvckFsbCgiI3RldFBp
Y2sgYnV0dG9uIikuZm9yRWFjaChiID0+IGIub25jbGljayA9ICgpID0+IHsgcGljayA9ICtiLmRhdGFzZXQuaTsgdy5xdWVyeVNlbGVjdG9yQWxsKCIjdGV0
UGljayBidXR0b24iKS5mb3JFYWNoKG8gPT4gby5zdHlsZS5ib3JkZXJDb2xvciA9ICIiKTsgYi5zdHlsZS5ib3JkZXJDb2xvciA9ICIjZTYzOTQ2IjsgZHJh
dygpOyB9KTsKICB3LnF1ZXJ5U2VsZWN0b3IoIiN0ZXRDbG9zZSIpLm9uY2xpY2sgPSAoKSA9PiB3LnJlbW92ZSgpOwogIHcucXVlcnlTZWxlY3RvcigiI3Rl
dFNlbmQiKS5vbmNsaWNrID0gYXN5bmMgKCkgPT4gewogICAgY29uc3QgbXNnID0gdy5xdWVyeVNlbGVjdG9yKCIjdGV0TXNnIiksIGN2ID0gdy5xdWVyeVNl
bGVjdG9yKCIjdGV0Q2FudmFzIik7CiAgICBjb25zdCBibG9iID0gYXdhaXQgbmV3IFByb21pc2UociA9PiBjdi50b0Jsb2IociwgImltYWdlL3BuZyIpKTsK
ICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIGB0ZXQtJHtzdC55ZWFyfS5wbmdgLCB7IHR5cGU6ICJpbWFnZS9wbmciIH0pOwogICAgdHJ5IHsK
ICAgICAgaWYgKG5hdmlnYXRvci5jYW5TaGFyZSAmJiBuYXZpZ2F0b3IuY2FuU2hhcmUoeyBmaWxlczogW2ZpbGVdIH0pKSB7IGF3YWl0IG5hdmlnYXRvci5z
aGFyZSh7IGZpbGVzOiBbZmlsZV0sIHRpdGxlOiAiQ2jDumMgbeG7q25nIG7Eg20gbeG7m2khIiwgdGV4dDogZ3JlZXRzW3BpY2tdWzVdIH0pOyBtc2cudGV4
dENvbnRlbnQgPSAiU2VudCDwn6enIjsgcmV0dXJuOyB9CiAgICB9IGNhdGNoIChlKSB7IGlmIChlICYmIGUubmFtZSA9PT0gIkFib3J0RXJyb3IiKSByZXR1
cm47IH0KICAgIC8vIGZhbGxiYWNrOiBvcGVuIHRoZSBpbWFnZSBzbyBpdCBjYW4gYmUgc2F2ZWQgLyBsb25nLXByZXNzZWQKICAgIGNvbnN0IHVybCA9IFVS
TC5jcmVhdGVPYmplY3RVUkwoYmxvYik7IGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7IGEuaHJlZiA9IHVybDsgYS5kb3dubG9hZCA9
IGZpbGUubmFtZTsgYS50YXJnZXQgPSAiX2JsYW5rIjsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsgYS5jbGljaygpOyBhLnJlbW92ZSgpOwogICAg
bXNnLnRleHRDb250ZW50ID0gIlRoZSBjYXJkIG9wZW5lZCBhcyBhbiBpbWFnZSDigJQgc2F2ZSBpdCBhbmQgc2VuZCBpdCBpbiB5b3VyIGZhbWlseSBjaGF0
LiI7CiAgfTsKICBkcmF3KCk7Cn0KLyogPT09PT09PT09PT09PT09IENPTlRJTlVFIEFOWVdIRVJFIOKAlCBzYXZlLWNvZGUgc3luYywgbm8gYWNjb3VudCA9
PT09PT09PT09PT09PT0gKi8KLyogQSBsZWFybmVyIGdldHMgYSByYW5kb20gMTItY2hhcmFjdGVyIGNvZGUuIFRoZSBnYW1lIHNhdmVzIHByb2dyZXNzIHVu
ZGVyIHRoYXQKICAgY29kZSBvbiBUb20ncyBzZXJ2ZXIgKG5vIG5hbWUsIG5vIGVtYWlsKTsgdHlwaW5nIHRoZSBjb2RlIG9uIGFub3RoZXIgZGV2aWNlCiAg
IHB1bGxzIGl0IGJhY2suIExvc2luZyB0aGUgcGhvbmUgbm8gbG9uZ2VyIG1lYW5zIGxvc2luZyBMdiA5LiBPcHQtaW4gb25seS4gKi8KY29uc3QgVlFfU1lO
Q19VUkwgPSAiaHR0cHM6Ly90b21waGFtLmNhL3dwLWpzb24vdnEvdjEvc3luYyI7CmNvbnN0IFNZID0geyBjb2RlOiAiIiwgdHM6IDAsIHRpbWVyOiBudWxs
LCBidXN5OiBmYWxzZSwgc3RhdHVzOiAiIiwgd2hlbjogMCB9OwovKiBvdmVybGF5cyBhcmUgYXBwZW5kZWQgdG8gPGJvZHk+LCB3aGljaCBjYXJyaWVzIG5v
IGZvbnQgaW4gdGhlIGNyZWFtIGFwcCBidWlsZCDigJQgZ2l2ZSBldmVyeSBWUSBzaGVldCB0aGUgYXBwIGZvbnQgKi8KdHJ5IHsgY29uc3Qgc3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOyBzdC50ZXh0Q29udGVudCA9ICcjc3lXcmFwLCN2cUFpV3JhcCwjdGV0U2hhcmVXcmFwLCNmdldyYXAsI3Zx
V2VsV3JhcCwjdnFMb2NrV3JhcCwja3FWb2ljZVdyYXAsI2VhcldyYXAsI3ZxQ2FuZG9XcmFwLCN2cUNvbWluZ1dyYXAsI3ZxRmFtV3JhcCwjdnFSZW1pbmRP
ZmZlcldyYXAsI3ZxSm91cm5leVdyYXAsI3ZxQXZXcmFwLCN2cU1lbWJlck9mZmVyV3JhcCwjdnFCb3hXcmFwe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0s
QmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsIkFwcGxlIFNEIEdvdGhpYyBOZW8iLHNhbnMtc2VyaWY7fSc7IGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hp
bGQoc3QpOyB9IGNhdGNoIChlKSB7fQovKiBuZXZlciBsZXQgYSBkYW1hZ2VkIHNhdmUgKGEgc3RyaW5nLCBhbiBhcnJheSwgYSBzYXZlIHdpdGhvdXQgLmxl
c3NvbnMpIHJlYWNoIHRoZSBlbmdpbmUgKi8KZnVuY3Rpb24gc3lTYW5lKHMpIHsgcmV0dXJuICEhcyAmJiB0eXBlb2YgcyA9PT0gIm9iamVjdCIgJiYgIUFy
cmF5LmlzQXJyYXkocykgJiYgcy5sZXNzb25zICYmIHR5cGVvZiBzLmxlc3NvbnMgPT09ICJvYmplY3QiICYmICFBcnJheS5pc0FycmF5KHMubGVzc29ucyk7
IH0KaWYgKCFzeVNhbmUoc2F2ZSkpIHsgY29uc3Qga2VlcCA9IChzYXZlICYmIHR5cGVvZiBzYXZlID09PSAib2JqZWN0IiAmJiAhQXJyYXkuaXNBcnJheShz
YXZlKSkgPyBzYXZlIDoge307IHNhdmUgPSBPYmplY3QuYXNzaWduKHsgeHA6IDAsIGxldmVsOiAxLCBiZXN0Q29tYm86IDAgfSwga2VlcCwgeyBsZXNzb25z
OiAoa2VlcC5sZXNzb25zICYmIHR5cGVvZiBrZWVwLmxlc3NvbnMgPT09ICJvYmplY3QiICYmICFBcnJheS5pc0FycmF5KGtlZXAubGVzc29ucykpID8ga2Vl
cC5sZXNzb25zIDoge30gfSk7IHBlcnNpc3RDb3JlKCk7IH0KdHJ5IHsgU1kuY29kZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ2cVN5bmNDb2RlIikgfHwg
IiI7IFNZLnRzID0gKyhsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidnFTeW5jVHMiKSB8fCAwKTsgfSBjYXRjaCAoZSkge30KZnVuY3Rpb24gc3lGbXQoYykgeyBy
ZXR1cm4gKGMgfHwgIiIpLnJlcGxhY2UoLyguezR9KSg/PS4pL2csICIkMS0iKTsgfQpmdW5jdGlvbiBzeU5vcm0oYykgeyByZXR1cm4gKGMgfHwgIiIpLnRv
VXBwZXJDYXNlKCkucmVwbGFjZSgvTy9nLCAiMCIpLnJlcGxhY2UoL1teQS1aMi05XS9nLCAiIik7IH0KLyogZXZlcnkgcGVyc2lzdCgpICh0aGUgZW5naW5l
J3Mgb3duIHNhdmUpIG5vdyBhbHNvIHNjaGVkdWxlcyBhIHB1c2ggKi8KZnVuY3Rpb24gcGVyc2lzdCgpIHsgcGVyc2lzdENvcmUoKTsgdnFTeW5jUXVldWUo
KTsgfQpmdW5jdGlvbiB2cVN5bmNRdWV1ZSgpIHsgaWYgKCFTWS5jb2RlKSByZXR1cm47IGNsZWFyVGltZW91dChTWS50aW1lcik7IFNZLnRpbWVyID0gc2V0
VGltZW91dCh2cVN5bmNQdXNoLCA0MDAwKTsgfQphc3luYyBmdW5jdGlvbiBzeUFwaShwYXRoLCBib2R5KSB7CiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2go
VlFfU1lOQ19VUkwgKyBwYXRoLCBib2R5ID8geyBtZXRob2Q6ICJQT1NUIiwgaGVhZGVyczogeyAiY29udGVudC10eXBlIjogImFwcGxpY2F0aW9uL2pzb24i
IH0sIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpIH0gOiB7IGNhY2hlOiAibm8tc3RvcmUiIH0pOwogIGNvbnN0IGogPSBhd2FpdCByZXMuanNvbigpLmNh
dGNoKCgpID0+ICh7fSkpOwogIGlmICghcmVzLm9rKSB0aHJvdyBuZXcgRXJyb3Ioai5lcnJvciB8fCAoIkhUVFAgIiArIHJlcy5zdGF0dXMpKTsKICBpZiAo
dHlwZW9mIGouc2F2ZSA9PT0gInN0cmluZyIpIHsgdHJ5IHsgai5zYXZlID0gSlNPTi5wYXJzZShqLnNhdmUpOyB9IGNhdGNoIChlKSB7IGouc2F2ZSA9IG51
bGw7IH0gfQogIHJldHVybiBqOwp9CmZ1bmN0aW9uIHN5U3VtbWFyeShzKSB7CiAgY29uc3QgbGVzc29ucyA9IChzICYmIHR5cGVvZiBzID09PSAib2JqZWN0
IiAmJiBzLmxlc3NvbnMgJiYgdHlwZW9mIHMubGVzc29ucyA9PT0gIm9iamVjdCIpID8gcy5sZXNzb25zIDoge307CiAgbGV0IHdvcmRzID0gMCwgc3RhcnMg
PSAwOwogIE9iamVjdC5rZXlzKGxlc3NvbnMpLmZvckVhY2goayA9PiB7IGNvbnN0IGwgPSBsZXNzb25zW2tdIHx8IHt9OyBpZiAoayAhPT0gIkYiICYmIGsg
IT09ICJUIikgd29yZHMgKz0gKGwua25vd24gfHwgW10pLmxlbmd0aDsgc3RhcnMgKz0gT2JqZWN0LnZhbHVlcyhsLnN0YXJzIHx8IHt9KS5maWx0ZXIoQm9v
bGVhbikubGVuZ3RoOyB9KTsKICByZXR1cm4geyB4cDogKHMgJiYgcy54cCkgfHwgMCwgbGV2ZWw6IChzICYmIHMubGV2ZWwpIHx8IDEsIHdvcmRzLCBzdGFy
cyB9Owp9CmZ1bmN0aW9uIHN5TGluZShzdW0pIHsgcmV0dXJuIGBMdiAke3N1bS5sZXZlbH0gwrcgJHtzdW0ueHB9IFhQIMK3ICR7c3VtLndvcmRzfSB3b3Jk
cyDCtyAke3N1bS5zdGFyc30g4q2QYDsgfQphc3luYyBmdW5jdGlvbiB2cVN5bmNQdXNoKCkgewogIGlmICghU1kuY29kZSB8fCBTWS5idXN5KSByZXR1cm47
CiAgaWYgKCFuYXZpZ2F0b3Iub25MaW5lKSB7IFNZLnN0YXR1cyA9ICJvZmZsaW5lIjsgc3lDYXJkUmVmcmVzaCgpOyByZXR1cm47IH0KICBTWS5idXN5ID0g
dHJ1ZTsKICB0cnkgewogICAgY29uc3QgaiA9IGF3YWl0IHN5QXBpKCIvcHV0IiwgeyBjb2RlOiBTWS5jb2RlLCBzYXZlSnNvbjogSlNPTi5zdHJpbmdpZnko
c2F2ZSkgfSk7CiAgICBTWS50cyA9IGoudHMgfHwgRGF0ZS5ub3coKTsgU1kud2hlbiA9IERhdGUubm93KCk7IFNZLnN0YXR1cyA9ICJvayI7CiAgICB0cnkg
eyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidnFTeW5jVHMiLCBTWS50cyk7IH0gY2F0Y2ggKGUpIHt9CiAgfSBjYXRjaCAoZSkgeyBTWS5zdGF0dXMgPSAiZXJy
IjsgfQogIFNZLmJ1c3kgPSBmYWxzZTsgc3lDYXJkUmVmcmVzaCgpOwp9CmZ1bmN0aW9uIHN5QXBwbHkoZGF0YSkgewogIGlmICh0eXBlb2YgZGF0YSA9PT0g
InN0cmluZyIpIHsgdHJ5IHsgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuOyB9IH0KICBpZiAoIWRhdGEgfHwgdHlwZW9m
IGRhdGEgIT09ICJvYmplY3QiIHx8IEFycmF5LmlzQXJyYXkoZGF0YSkpIHJldHVybjsKICBpZiAoIXN5U2FuZShkYXRhKSkgZGF0YS5sZXNzb25zID0ge307
CiAgZGF0YS54cCA9IGRhdGEueHAgfHwgMDsgZGF0YS5sZXZlbCA9IGRhdGEubGV2ZWwgfHwgMTsKICBzYXZlID0gZGF0YTsgcGVyc2lzdENvcmUoKTsKICB0
cnkgeyBpZiAodHlwZW9mIHZxQXBwbHlGYW1pbHkgPT09ICJmdW5jdGlvbiIpIHZxQXBwbHlGYW1pbHkoKTsgfSBjYXRjaCAoZSkge30KICB0cnkgeyByZW5k
ZXJIdWQoKTsgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXAiKS5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSByZW5kZXJNYXAoKTsgfSBj
YXRjaCAoZSkge30KfQovKiBsYXVuY2g6IGlmIGFub3RoZXIgZGV2aWNlIHNhdmVkIGFmdGVyIG91ciBsYXN0IHN5bmMsIHRha2UgdGhhdCBzYXZlICovCmFz
eW5jIGZ1bmN0aW9uIHZxU3luY0luaXQoKSB7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsICgpID0+IHsgaWYgKFNZLmNvZGUpIHZxU3lu
Y1F1ZXVlKCk7IH0pOwogIGlmICghU1kuY29kZSB8fCAhbmF2aWdhdG9yLm9uTGluZSkgcmV0dXJuOwogIHRyeSB7CiAgICBjb25zdCBqID0gYXdhaXQgc3lB
cGkoIi9nZXQiLCB7IGNvZGU6IFNZLmNvZGUgfSk7CiAgICBpZiAoIWouc2F2ZSB8fCAhai50cykgcmV0dXJuOwogICAgaWYgKGoudHMgPiBTWS50cykgewog
ICAgICBjb25zdCBtaW5lID0gc3lTdW1tYXJ5KHNhdmUpLCB0aGVpcnMgPSBzeVN1bW1hcnkoai5zYXZlKTsKICAgICAgaWYgKHRoZWlycy54cCA+PSBtaW5l
LnhwKSB7IHN5QXBwbHkoai5zYXZlKTsgU1kudHMgPSBqLnRzOyB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidnFTeW5jVHMiLCBqLnRzKTsgfSBjYXRj
aCAoZSkge30gc3lUb2FzdCgi4piB77iPIFByb2dyZXNzIGxvYWRlZCBmcm9tIHlvdXIgb3RoZXIgZGV2aWNlIOKAlCAiICsgc3lMaW5lKHRoZWlycykpOyB9
CiAgICAgIGVsc2Ugc3lDb25maXJtKHRoZWlycywgbWluZSwgKCkgPT4geyBzeUFwcGx5KGouc2F2ZSk7IFNZLnRzID0gai50czsgdHJ5IHsgbG9jYWxTdG9y
YWdlLnNldEl0ZW0oInZxU3luY1RzIiwgai50cyk7IH0gY2F0Y2ggKGUpIHt9IH0sICgpID0+IHZxU3luY1F1ZXVlKCkpOwogICAgfSBlbHNlIHZxU3luY1F1
ZXVlKCk7CiAgfSBjYXRjaCAoZSkgeyBTWS5zdGF0dXMgPSAiZXJyIjsgfQogIHN5Q2FyZFJlZnJlc2goKTsKfQpmdW5jdGlvbiBzeVRvYXN0KG1zZykgewog
IHRyeSB7IGNvbnN0IGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgYi5jbGFzc05hbWUgPSAibGV2ZWx1cC1iYW5uZXIiOyBiLnRleHRDb250
ZW50ID0gbXNnOyBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpOyBzZXRUaW1lb3V0KCgpID0+IGIucmVtb3ZlKCksIDM2MDApOyB9IGNhdGNoIChlKSB7
fQp9Ci8qIC0tLS0gY3VzdG9tIG1vZGFsIChuZXZlciB3aW5kb3cuY29uZmlybSkgLS0tLSAqLwpmdW5jdGlvbiBzeUNvbmZpcm0odGhlaXJzLCBtaW5lLCBv
blllcywgb25ObykgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzeVdyYXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNv
bnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgdy5pZCA9ICJzeVdyYXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjpmaXhl
ZDtpbnNldDowO2JhY2tncm91bmQ6cmdiYSgyMCwxNCw0LC41NSk7ei1pbmRleDoxMDAwMjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3Rp
ZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4OyI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3Jk
ZXI6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czoxOHB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MjJweDsiPgog
ICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSxzZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4dCk7
Ij5Ud28gc2F2ZXMg4oCUIHdoaWNoIG9uZT88L2Rpdj4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTJweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXIt
cmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjY7Ij4K
ICAgICAgPGRpdj7imIHvuI8gPGI+U2F2ZWQgdW5kZXIgdGhlIGNvZGU6PC9iPiAke3N5TGluZSh0aGVpcnMpfTwvZGl2PgogICAgICA8ZGl2PvCfk7EgPGI+
T24gdGhpcyBkZXZpY2U6PC9iPiAke3N5TGluZShtaW5lKX08L2Rpdj48L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9IndpZHRoOjEwMCU7
bWFyZ2luLXRvcDoxNHB4O3BhZGRpbmc6MTJweDsiIGlkPSJzeVllcyI+TG9hZCB0aGUgc2F2ZWQgcHJvZ3Jlc3MgKHJlcGxhY2VzIHRoaXMgZGV2aWNlKTwv
YnV0dG9uPgogICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW46OHB4IDAgMDtwYWRkaW5nOjExcHg7Zm9udC1zaXpl
OjEzLjVweDsiIGlkPSJzeU5vIj5LZWVwIHRoaXMgZGV2aWNlIGFuZCBzYXZlIGl0IHVuZGVyIHRoZSBjb2RlPC9idXR0b24+CiAgPC9kaXY+YDsKICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwogIHcucXVlcnlTZWxlY3RvcigiI3N5WWVzIikub25jbGljayA9ICgpID0+IHsgdy5yZW1vdmUoKTsgb25ZZXMo
KTsgfTsKICB3LnF1ZXJ5U2VsZWN0b3IoIiNzeU5vIikub25jbGljayA9ICgpID0+IHsgdy5yZW1vdmUoKTsgaWYgKG9uTm8pIG9uTm8oKTsgfTsKfQovKiAt
LS0tIHRoZSBtYXAgY2FyZCAtLS0tICovCmZ1bmN0aW9uIHN5Q2FyZEh0bWxDb2RlKCkgewogIGlmICghU1kuY29kZSkgcmV0dXJuIGA8ZGl2IGNsYXNzPSJs
bnVtIj5DT05USU5VRSBBTllXSEVSRTwvZGl2PgogICAgPGRpdiBjbGFzcz0ibHRpdGxlIj7imIHvuI8gR2V0IGEgc2F2ZSBjb2RlPC9kaXY+CiAgICA8ZGl2
IGNsYXNzPSJsc3ViIj5Db250aW51ZSBvbiBhbnkgZGV2aWNlIGFuZCBzdXJ2aXZlIGEgbG9zdCBwaG9uZSDigJQgbm8gYWNjb3VudCwgbm8gZW1haWwuIEp1
c3QgYSBjb2RlLjwvZGl2PmA7CiAgY29uc3Qgc3QgPSBTWS5zdGF0dXMgPT09ICJvZmZsaW5lIiA/ICJvZmZsaW5lIOKAlCB3aWxsIHN5bmMgd2hlbiB5b3Ug
YXJlIGJhY2sgb25saW5lIiA6IFNZLnN0YXR1cyA9PT0gImVyciIgPyAiY291bGQgbm90IHJlYWNoIHRoZSBzZXJ2ZXIg4oCUIHdpbGwgcmV0cnkiIDogU1ku
d2hlbiA/ICJzeW5jZWQganVzdCBub3ciIDogInN5bmNlZCI7CiAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJsbnVtIj5DT05USU5VRSBBTllXSEVSRSDCtyBPTjwv
ZGl2PgogICAgPGRpdiBjbGFzcz0ibHRpdGxlIj7imIHvuI8gJHtzeUZtdChTWS5jb2RlKX08L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImxzdWIiPllvdXIgcHJv
Z3Jlc3Mgc2F2ZXMgdW5kZXIgdGhpcyBjb2RlICgke3N0fSkuIFRhcCB0byBzZWUgaXQsIGNvcHkgaXQsIG9yIHVzZSBpdCBvbiBhbm90aGVyIGRldmljZS48
L2Rpdj5gOwp9CmZ1bmN0aW9uIHN5Q2FyZFJlZnJlc2goKSB7IGNvbnN0IGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3lDYXJkIik7IGlmIChjKSBj
LmlubmVySFRNTCA9IHN5Q2FyZEh0bWwoKTsgfQpmdW5jdGlvbiBvcGVuU3luYygpIHsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3lXcmFwIik7IGlmIChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHcuaWQgPSAic3lXcmFw
IjsKICB3LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMjAsMTQsNCwuNTUpO3otaW5kZXg6MTAwMDI7
ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDtvdmVyZmxvdzphdXRvOyI7CiAgY29u
c3Qgc3VtID0gc3lTdW1tYXJ5KHNhdmUpOwogIGxldCBib2R5ID0gYDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIw
cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpOyI+4piB77iPIENvbnRpbnVlIGFueXdoZXJlPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJjb2xv
cjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHg7bWFyZ2luLXRvcDo0cHg7bGluZS1oZWlnaHQ6MS41OyI+QSBzYXZlIGNvZGUgY2FycmllcyB5b3VyIHBy
b2dyZXNzICgke3N5TGluZShzdW0pfSkgYW5kIHlvdXIgTXkgRmFtaWx5IHNldHRpbmdzIGJldHdlZW4gZGV2aWNlcy4gTm8gYWNjb3VudCwgbm8gZW1haWwg
4oCUIHRoZSBjb2RlIGlzIHRoZSBrZXksIHNvIGtlZXAgaXQgcHJpdmF0ZS48L2Rpdj5gOwogIGlmIChTWS5jb2RlKSB7CiAgICBib2R5ICs9IGA8ZGl2IHN0
eWxlPSJtYXJnaW4tdG9wOjE0cHg7cGFkZGluZzoxNHB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQyKTt0ZXh0LWFsaWduOmNl
bnRlcjsiPgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzoycHg7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC13ZWlnaHQ6
ODAwOyI+WU9VUiBTQVZFIENPREU8L2Rpdj4KICAgICAgPGRpdiBpZD0ic3lDb2RlQmlnIiBzdHlsZT0iZm9udC1mYW1pbHk6TWVubG8sbW9ub3NwYWNlO2Zv
bnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS10ZXh0KTtsZXR0ZXItc3BhY2luZzoycHg7bWFyZ2luLXRvcDo2cHg7dXNlci1zZWxl
Y3Q6YWxsOyI+JHtzeUZtdChTWS5jb2RlKX08L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0ibWFyZ2luOjEwcHggMCAwOyIgaWQ9
InN5Q29weSI+8J+TiyBDb3B5IGNvZGU8L2J1dHRvbj48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dCk7
bGluZS1oZWlnaHQ6MS41NTttYXJnaW4tdG9wOjEycHg7Ij5PbiB5b3VyIG90aGVyIHBob25lIG9yIGNvbXB1dGVyOiBvcGVuIHRoZSBnYW1lIOKGkiB0YXAg
PGI+Q29udGludWUgYW55d2hlcmU8L2I+IOKGkiA8Yj5JIGhhdmUgYSBjb2RlPC9iPiDihpIgdHlwZSBpdC4gRXZlcnkgZGV2aWNlIHdpdGggdGhlIGNvZGUg
c3RheXMgaW4gc3luYy48L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW46MTJweCAwIDA7cGFkZGlu
ZzoxMHB4O2ZvbnQtc2l6ZToxM3B4OyIgaWQ9InN5VXNlIj5JIGhhdmUgYSBkaWZmZXJlbnQgY29kZTwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJz
bmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo4cHggMCAwO3BhZGRpbmc6MTBweDtmb250LXNpemU6MTNweDsiIGlkPSJzeUZvcmdldCI+U3RvcCBz
eW5jaW5nIG9uIHRoaXMgZGV2aWNlPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9InNuZGJ0biIgc3R5bGU9IndpZHRoOjEwMCU7bWFyZ2luOjhweCAw
IDA7cGFkZGluZzoxMHB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXJlZCk7IiBpZD0ic3lEZWwiPkRlbGV0ZSBteSBwcm9ncmVzcyBmcm9tIHRoZSBz
ZXJ2ZXI8L2J1dHRvbj5gOwogIH0gZWxzZSB7CiAgICBib2R5ICs9IGA8YnV0dG9uIGNsYXNzPSJidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbi10b3A6
MTRweDtwYWRkaW5nOjEycHg7IiBpZD0ic3lOZXciPkNyZWF0ZSBteSBzYXZlIGNvZGU8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBz
dHlsZT0id2lkdGg6MTAwJTttYXJnaW46OHB4IDAgMDtwYWRkaW5nOjExcHg7Zm9udC1zaXplOjEzLjVweDsiIGlkPSJzeVVzZSI+SSBoYXZlIGEgY29kZTwv
YnV0dG9uPgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41O21hcmdpbi10b3A6MTBw
eDsiPldoYXQgaXMgc3RvcmVkOiB5b3VyIGdhbWUgcHJvZ3Jlc3MgYW5kIGZhbWlseSBuYW1lcywgdW5kZXIgYSByYW5kb20gY29kZS4gTm90IHlvdXIgZW1h
aWwsIG5vdCB5b3VyIHJlY29yZGluZ3MuPC9kaXY+YDsKICB9CiAgYm9keSArPSBgPGRpdiBpZD0ic3lNc2ciIHN0eWxlPSJmb250LXNpemU6MTNweDtjb2xv
cjp2YXIoLS1tdXRlZCk7bWFyZ2luLXRvcDoxMHB4O21pbi1oZWlnaHQ6MThweDsiPjwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0i
d2lkdGg6MTAwJTttYXJnaW46NnB4IDAgMDtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEzcHg7IiBpZD0ic3lDbG9zZSI+Q2xvc2U8L2J1dHRvbj5gOwogIHcu
aW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRp
dXM6MThweDttYXgtd2lkdGg6NDIwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjIycHg7Ij4ke2JvZHl9PC9kaXY+YDsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHcpOwogIGNvbnN0IHEgPSBpZCA9PiB3LnF1ZXJ5U2VsZWN0b3IoIiMiICsgaWQpLCBtc2cgPSB0ID0+IHsgY29uc3QgbSA9IHEoInN5TXNnIik7IGlm
IChtKSBtLnRleHRDb250ZW50ID0gdDsgfTsKICBxKCJzeUNsb3NlIikub25jbGljayA9ICgpID0+IHcucmVtb3ZlKCk7CiAgaWYgKHEoInN5Q29weSIpKSBx
KCJzeUNvcHkiKS5vbmNsaWNrID0gYXN5bmMgKCkgPT4geyB0cnkgeyBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzeUZtdChTWS5jb2Rl
KSk7IG1zZygiQ29waWVkLiIpOyB9IGNhdGNoIChlKSB7IG1zZygiU2VsZWN0IHRoZSBjb2RlIGFuZCBjb3B5IGl0LiIpOyB9IH07CiAgaWYgKHEoInN5TmV3
IikpIHEoInN5TmV3Iikub25jbGljayA9IGFzeW5jICgpID0+IHsKICAgIG1zZygiQ3JlYXRpbmfigKYiKTsKICAgIHRyeSB7IGNvbnN0IGogPSBhd2FpdCBz
eUFwaSgiL25ldyIsIHsgc2F2ZUpzb246IEpTT04uc3RyaW5naWZ5KHNhdmUpIH0pOyBTWS5jb2RlID0gai5jb2RlOyBTWS50cyA9IGoudHMgfHwgRGF0ZS5u
b3coKTsgU1kud2hlbiA9IERhdGUubm93KCk7IFNZLnN0YXR1cyA9ICJvayI7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cVN5bmNDb2RlIiwgU1ku
Y29kZSk7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cVN5bmNUcyIsIFNZLnRzKTsgc3lDYXJkUmVmcmVzaCgpOyBvcGVuU3luYygpOyB9CiAgICBjYXRjaCAo
ZSkgeyBtc2coIkNvdWxkIG5vdCBjcmVhdGUgYSBjb2RlICgiICsgZS5tZXNzYWdlICsgIikuIENoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWlu
LiIpOyB9CiAgfTsKICBxKCJzeVVzZSIpLm9uY2xpY2sgPSAoKSA9PiB7CiAgICBxKCJzeVVzZSIpLm91dGVySFRNTCA9IGA8ZGl2IHN0eWxlPSJtYXJnaW4t
dG9wOjEwcHg7Ij48aW5wdXQgaWQ9InN5SW4iIHBsYWNlaG9sZGVyPSJYWFhYLVhYWFgtWFhYWCIgYXV0b2NhcGl0YWxpemU9ImNoYXJhY3RlcnMiIGF1dG9j
b21wbGV0ZT0ib2ZmIiBzdHlsZT0id2lkdGg6MTAwJTtwYWRkaW5nOjExcHg7Ym9yZGVyLXJhZGl1czo5cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jYXJk
Mik7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6TWVubG8sbW9ub3NwYWNlO2ZvbnQtc2l6ZToxN3B4O2xldHRl
ci1zcGFjaW5nOjJweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9IndpZHRoOjEwMCU7bWFyZ2luLXRvcDo4cHg7cGFk
ZGluZzoxMXB4OyIgaWQ9InN5R28iPkxvYWQgdGhpcyBjb2RlPC9idXR0b24+PC9kaXY+YDsKICAgIHEoInN5SW4iKS5mb2N1cygpOwogICAgcSgic3lHbyIp
Lm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7CiAgICAgIGNvbnN0IGNvZGUgPSBzeU5vcm0ocSgic3lJbiIpLnZhbHVlKTsKICAgICAgaWYgKGNvZGUubGVuZ3Ro
ICE9PSAxMikgeyBtc2coIkEgc2F2ZSBjb2RlIGhhcyAxMiBsZXR0ZXJzIGFuZCBudW1iZXJzLiIpOyByZXR1cm47IH0KICAgICAgbXNnKCJMb29raW5nIGl0
IHVw4oCmIik7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgaiA9IGF3YWl0IHN5QXBpKCIvZ2V0IiwgeyBjb2RlIH0pOwogICAgICAgIGlmICghai5zYXZl
KSB7IG1zZygiTm8gcHJvZ3Jlc3MgaXMgc2F2ZWQgdW5kZXIgdGhhdCBjb2RlLiIpOyByZXR1cm47IH0KICAgICAgICBjb25zdCB0aGVpcnMgPSBzeVN1bW1h
cnkoai5zYXZlKSwgbWluZSA9IHN5U3VtbWFyeShzYXZlKTsKICAgICAgICBjb25zdCBhZG9wdCA9ICgpID0+IHsgU1kuY29kZSA9IGNvZGU7IFNZLnRzID0g
ai50czsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxU3luY0NvZGUiLCBjb2RlKTsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxU3luY1RzIiwgai50cyk7IHcu
cmVtb3ZlKCk7IHN5Q2FyZFJlZnJlc2goKTsgfTsKICAgICAgICBpZiAobWluZS54cCA8PSA1KSB7IHN5QXBwbHkoai5zYXZlKTsgYWRvcHQoKTsgc3lUb2Fz
dCgi4piB77iPIExvYWRlZCDigJQgIiArIHN5TGluZSh0aGVpcnMpKTsgfQogICAgICAgIGVsc2Ugc3lDb25maXJtKHRoZWlycywgbWluZSwgKCkgPT4geyBz
eUFwcGx5KGouc2F2ZSk7IGFkb3B0KCk7IHN5VG9hc3QoIuKYge+4jyBMb2FkZWQg4oCUICIgKyBzeUxpbmUodGhlaXJzKSk7IH0sICgpID0+IHsgYWRvcHQo
KTsgdnFTeW5jUHVzaCgpOyB9KTsKICAgICAgfSBjYXRjaCAoZSkgeyBtc2coZS5tZXNzYWdlID09PSAiSFRUUCA0MDQiID8gIk5vIHByb2dyZXNzIGlzIHNh
dmVkIHVuZGVyIHRoYXQgY29kZS4iIDogIkNvdWxkIG5vdCByZWFjaCB0aGUgc2VydmVyICgiICsgZS5tZXNzYWdlICsgIikuIik7IH0KICAgIH07CiAgfTsK
ICBpZiAocSgic3lGb3JnZXQiKSkgcSgic3lGb3JnZXQiKS5vbmNsaWNrID0gKCkgPT4geyBTWS5jb2RlID0gIiI7IFNZLnRzID0gMDsgU1kuc3RhdHVzID0g
IiI7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ2cVN5bmNDb2RlIik7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ2cVN5bmNUcyIpOyB3LnJlbW92ZSgp
OyBzeUNhcmRSZWZyZXNoKCk7IHN5VG9hc3QoIlRoaXMgZGV2aWNlIG5vIGxvbmdlciBzeW5jcy4gWW91ciBwcm9ncmVzcyBzdGF5cyBoZXJlLiIpOyB9Owog
IGlmIChxKCJzeURlbCIpKSBxKCJzeURlbCIpLm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7CiAgICBtc2coIkRlbGV0aW5n4oCmIik7CiAgICB0cnkgeyBhd2Fp
dCBzeUFwaSgiL2RlbCIsIHsgY29kZTogU1kuY29kZSB9KTsgfSBjYXRjaCAoZSkge30KICAgIFNZLmNvZGUgPSAiIjsgU1kudHMgPSAwOyBTWS5zdGF0dXMg
PSAiIjsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZxU3luY0NvZGUiKTsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZxU3luY1RzIik7IHcucmVtb3Zl
KCk7IHN5Q2FyZFJlZnJlc2goKTsgc3lUb2FzdCgiRGVsZXRlZCBmcm9tIHRoZSBzZXJ2ZXIuIFlvdXIgcHJvZ3Jlc3Mgc3RheXMgb24gdGhpcyBkZXZpY2Uu
Iik7CiAgfTsKfQovKiA9PT09PT09PT09PT09PT0gRUFSIFRSQUlOSU5HIChMdXnhu4duIG5naGUpID09PT09PT09PT09PT09PSAqLwovKiBGb3VyIGxpc3Rl
bmluZyBtb2RlcyB0aGF0IHJldXNlIHRoZSBzcGVlZC1xdWl6IHNjcmVlbi4gQWxsIHF1ZXN0aW9ucyBhcmUKICAgR0VORVJBVEVEIOKAlCBmcm9tIHRoZSBx
dWVzdCBzZW50ZW5jZXMsIHRvbmUgYWxnZWJyYSwgYW5kIG51bWJlciBydWxlcy4gKi8KY29uc3QgRUFSID0geyBvbjogZmFsc2UsIG1vZGU6IG51bGwsIGk6
IDAsIG46IDEwLCBzY29yZTogMCwgeHA6IDAsIGNvbWJvOiAwLCBtYXhDb21ibzogMCwgdGFyZ2V0OiAiIiB9OwovKiBWaWV0bmFtZXNlIG51bWJlciByZWFk
aW5nIChOb3J0aGVybik6IG3GsOG7nWkvbcawxqFpLCBt4buRdCwgdMawLCBsxINtLCBsaW5oLCBuZ2jDrG4gKi8KZnVuY3Rpb24gdm5OdW0obikgewogIGNv
bnN0IFUgPSBbImtow7RuZyIsIm3hu5l0IiwiaGFpIiwiYmEiLCJi4buRbiIsIm7Eg20iLCJzw6F1IiwiYuG6o3kiLCJ0w6FtIiwiY2jDrW4iXTsKICBpZiAo
biA8IDEwKSByZXR1cm4gVVtuXTsKICBpZiAobiA8IDIwKSByZXR1cm4gIm3GsOG7nWkiICsgKG4gJSAxMCA/ICIgIiArIChuICUgMTAgPT09IDUgPyAibMSD
bSIgOiBVW24gJSAxMF0pIDogIiIpOwogIGlmIChuIDwgMTAwKSB7CiAgICBjb25zdCB0ID0gTWF0aC5mbG9vcihuIC8gMTApLCB1ID0gbiAlIDEwOwogICAg
cmV0dXJuIFVbdF0gKyAiIG3GsMahaSIgKyAodSA/ICIgIiArICh1ID09PSAxID8gIm3hu5F0IiA6IHUgPT09IDQgPyAidMawIiA6IHUgPT09IDUgPyAibMSD
bSIgOiBVW3VdKSA6ICIiKTsKICB9CiAgaWYgKG4gPCAxMDAwKSB7CiAgICBjb25zdCBoID0gTWF0aC5mbG9vcihuIC8gMTAwKSwgciA9IG4gJSAxMDA7CiAg
ICByZXR1cm4gVVtoXSArICIgdHLEg20iICsgKHIgPyAociA8IDEwID8gIiBsaW5oICIgKyBVW3JdIDogIiAiICsgdm5OdW0ocikpIDogIiIpOwogIH0KICBj
b25zdCBrID0gTWF0aC5mbG9vcihuIC8gMTAwMCksIHIgPSBuICUgMTAwMDsKICByZXR1cm4gdm5OdW0oaykgKyAiIG5naMOsbiIgKyAociA/ICIgIiArIHZu
TnVtKHIpIDogIiIpOwp9CmNvbnN0IEVBUl9UT05FUyA9IFsiIiwgIlx1MDMwMCIsICJcdTAzMDEiLCAiXHUwMzA5IiwgIlx1MDMwMyIsICJcdTAzMjMiXTsK
Y29uc3QgRUFSX0JBU0VTID0gWyJtYSIsImxhIiwiYmEiLCJuYSIsImNhIiwidmEiLCJoYSIsImRhIiwibWUiLCJsZSIsImJlIiwibmUiLCJtbyIsImxvIiwi
Ym8iLCJubyIsIm11IiwibHUiLCJidSIsIm51IiwibWkiLCJsaSIsImJpIiwibmkiLCJtxqEiLCJsxqEiLCJixqEiLCJjaHUiLCLEkWEiLCLEkW8iXTsKZnVu
Y3Rpb24gZWFyVG9uZShiYXNlLCB0KSB7IGNvbnN0IGNzID0gWy4uLmJhc2VdOyBsZXQgZG9uZSA9IGZhbHNlOwogIHJldHVybiBjcy5tYXAoYyA9PiB7IGlm
ICghZG9uZSAmJiAvW2FlaW91xIPDosOqw7TGocawXS8udGVzdChjLm5vcm1hbGl6ZSgiTkZEIilbMF0pKSB7IGRvbmUgPSB0cnVlOyByZXR1cm4gKGMgKyB0
KS5ub3JtYWxpemUoIk5GQyIpOyB9IHJldHVybiBjOyB9KS5qb2luKCIiKTsgfQpmdW5jdGlvbiBlYXJTZW50ZW5jZVBvb2woKSB7IHJldHVybiBMRVNTT05T
LmZsYXRNYXAoTCA9PiBMLndvcmRzLm1hcCh3ID0+IFt3WzVdLCB3WzZdXSkpLmZpbHRlcih4ID0+IHhbMF0gJiYgeFswXS5sZW5ndGggPCA0Nik7IH0KZnVu
Y3Rpb24gZWFyUXVlc3Rpb24oKSB7CiAgY29uc3QgbSA9IEVBUi5tb2RlOwogIGlmIChtID09PSAiZGljdCIpIHsKICAgIGNvbnN0IHBvb2wgPSBzaHVmZmxl
KGVhclNlbnRlbmNlUG9vbCgpKTsKICAgIHJldHVybiB7IHNheTogcG9vbFswXVswXSwgbGFiZWw6ICJXaGF0IGRpZCB5b3UgaGVhcj8g8J+OpyIsIHdvcmQ6
ICLwn46nIFRhcCB0byByZXBsYXkiLAogICAgICAgICAgICAgb3B0czogc2h1ZmZsZShwb29sLnNsaWNlKDAsIDQpLm1hcChwID0+IHBbMF0pKSwgYW5zd2Vy
OiBwb29sWzBdWzBdIH07CiAgfQogIGlmIChtID09PSAidG9uZSIpIHsKICAgIGNvbnN0IGJhc2UgPSBFQVJfQkFTRVNbTWF0aC5mbG9vcihNYXRoLnJhbmRv
bSgpICogRUFSX0JBU0VTLmxlbmd0aCldOwogICAgY29uc3Qgc2l4ID0gRUFSX1RPTkVTLm1hcCh0ID0+IGVhclRvbmUoYmFzZSwgdCkpOwogICAgY29uc3Qg
b3B0cyA9IHNodWZmbGUoc2l4KS5zbGljZSgwLCA0KTsKICAgIGNvbnN0IGFuc3dlciA9IG9wdHNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogb3B0cy5s
ZW5ndGgpXTsKICAgIHJldHVybiB7IHNheTogYW5zd2VyLCBsYWJlbDogIldoaWNoIHRvbmUgZGlkIHlvdSBoZWFyPyDwn46nIiwgd29yZDogIvCfjqcgVGFw
IHRvIHJlcGxheSIsIG9wdHM6IHNodWZmbGUob3B0cyksIGFuc3dlciB9OwogIH0KICBpZiAobSA9PT0gIm51bSIpIHsKICAgIGNvbnN0IGx2ID0gWygpID0+
IDEgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxOSksCiAgICAgICAgICAgICAgICAoKSA9PiAyMCArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAq
IDgwKSwKICAgICAgICAgICAgICAgICgpID0+IDEwMCArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDkwMCksCiAgICAgICAgICAgICAgICAoKSA9PiAo
MSArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDk5OSkpICogMTAwMF1bTWF0aC5taW4oMywgTWF0aC5mbG9vcihFQVIuaSAvIDMpKV07CiAgICBjb25z
dCBhbnN3ZXIgPSBsdigpOwogICAgY29uc3Qgb3B0cyA9IG5ldyBTZXQoW2Fuc3dlcl0pOwogICAgd2hpbGUgKG9wdHMuc2l6ZSA8IDQpIHsKICAgICAgbGV0
IGQgPSBhbnN3ZXI7CiAgICAgIGlmIChhbnN3ZXIgPj0gMTAwMCkgZCA9IGFuc3dlciArIFstMTAwMCwgMTAwMCwgLTEwMDAwLCAxMDAwMCwgNTAwMCwgLTUw
MDBdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDYpXTsKICAgICAgZWxzZSBkID0gYW5zd2VyICsgWy0xLCAxLCAtMTAsIDEwLCAtMiwgMiwgNSwgLTVd
W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDgpXTsKICAgICAgaWYgKGQgPiAwICYmIGQgIT09IGFuc3dlcikgb3B0cy5hZGQoZCk7CiAgICB9CiAgICBy
ZXR1cm4geyBzYXk6IHZuTnVtKGFuc3dlciksIGxhYmVsOiAiV2hpY2ggbnVtYmVyIGRpZCB5b3UgaGVhcj8g8J+OpyIsIHdvcmQ6ICLwn46nIFRhcCB0byBy
ZXBsYXkiLAogICAgICAgICAgICAgb3B0czogc2h1ZmZsZShbLi4ub3B0c10pLm1hcChTdHJpbmcpLCBhbnN3ZXI6IFN0cmluZyhhbnN3ZXIpIH07CiAgfQog
IC8vIGRhdGVzOiBuZ8OgeSBYIHRow6FuZyBZCiAgY29uc3QgZGF5ID0gMSArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI4KSwgbW9uID0gMSArIE1h
dGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEyKTsKICBjb25zdCBvcHRzID0gbmV3IFNldChbZGF5ICsgIi8iICsgbW9uXSk7CiAgd2hpbGUgKG9wdHMuc2l6
ZSA8IDQpIHsKICAgIGNvbnN0IGRkID0gTWF0aC5tYXgoMSwgTWF0aC5taW4oMjgsIGRheSArIFstMSwgMSwgMiwgLTIsIDEwLCAtMTBdW01hdGguZmxvb3Io
TWF0aC5yYW5kb20oKSAqIDYpXSkpOwogICAgY29uc3QgbW0gPSBNYXRoLm1heCgxLCBNYXRoLm1pbigxMiwgbW9uICsgWzAsIDAsIC0xLCAxXVtNYXRoLmZs
b29yKE1hdGgucmFuZG9tKCkgKiA0KV0pKTsKICAgIGlmIChkZCArICIvIiArIG1tICE9PSBkYXkgKyAiLyIgKyBtb24pIG9wdHMuYWRkKGRkICsgIi8iICsg
bW0pOwogIH0KICByZXR1cm4geyBzYXk6ICJuZ8OgeSAiICsgdm5OdW0oZGF5KSArICIgdGjDoW5nICIgKyB2bk51bShtb24pLCBsYWJlbDogIldoaWNoIGRh
dGUgZGlkIHlvdSBoZWFyPyDwn46nIChkYXkvbW9udGgpIiwKICAgICAgICAgICB3b3JkOiAi8J+OpyBUYXAgdG8gcmVwbGF5Iiwgb3B0czogc2h1ZmZsZShb
Li4ub3B0c10pLCBhbnN3ZXI6IGRheSArICIvIiArIG1vbiB9Owp9CmZ1bmN0aW9uIGVhclN0YXJ0KG1vZGUpIHsKICBjb25zdCB3ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVhcldyYXAiKTsgaWYgKHcpIHcucmVtb3ZlKCk7CiAgRUFSLm9uID0gdHJ1ZTsgRUFSLm1vZGUgPSBtb2RlOyBFQVIuaSA9IDA7IEVB
Ui5zY29yZSA9IDA7IEVBUi54cCA9IDA7IEVBUi5jb21ibyA9IDA7IEVBUi5tYXhDb21ibyA9IDA7CiAgY3VyID0geyBuOiAiUiIsIGtyOiAiTHV54buHbiBu
Z2hlIiwgZW46ICJFYXIgVHJhaW5pbmciLCB3b3JkczogW10sIGdyYW1tYXI6IFtdIH07IC8vIGFsd2F5cyBlbnRlcmVkIGZyb20gdGhlIG1hcCBjYXJkLCBz
byDihpAgZ29lcyB0byB0aGUgbWFwCiAgY2xlYXJJbnRlcnZhbChhY3RpdmVUaW1lcik7IGFjdGl2ZVRpbWVyID0gbnVsbDsKICBzaG93KCJxdWl6Iik7CiAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aXpTY29yZSIpLnRleHRDb250ZW50ID0gMDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpekNvbWJv
IikudGV4dENvbnRlbnQgPSAiIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpelRpbWVyIikudGV4dENvbnRlbnQgPSAi8J+OpyI7CiAgZWFyTmV4
dCgpOwp9CmZ1bmN0aW9uIGVhck5leHQoKSB7CiAgaWYgKEVBUi5pID49IEVBUi5uKSB7CiAgICBjb25zdCBlbSA9IEVBUi5zY29yZSA+PSBFQVIubiAqIDkg
PyAi8J+PhiIgOiBFQVIuc2NvcmUgPj0gRUFSLm4gKiA2ID8gIvCfjqciIDogIvCfkqoiOwogICAgaWYgKEVBUi5tb2RlID09PSAidG9uZSIpIHsgc2F2ZS50
b25lQmVzdCA9IE1hdGgubWF4KHNhdmUudG9uZUJlc3QgfHwgMCwgRUFSLnNjb3JlKTsgcGVyc2lzdCgpOyB9IC8vIGZvdW5kYXRpb24gY2hlY2tsaXN0IHJl
YWRzIHRoaXMKICAgIGlmIChFQVIubW9kZSA9PT0gIm51bSIpIHsgc2F2ZS5udW1CZXN0ID0gTWF0aC5tYXgoc2F2ZS5udW1CZXN0IHx8IDAsIEVBUi5zY29y
ZSk7IHBlcnNpc3QoKTsgfSAvLyBjYW4tZG8gbGFkZGVyIHJlYWRzIHRoaXMKICAgIEVBUi5vbiA9IGZhbHNlOwogICAgc2hvd1Jlc3VsdCh7IGVtb2ppOiBl
bSwgdGl0bGU6ICJFYXIgdHJhaW5pbmcgZG9uZSEiLCBzdWI6ICJHcmVhdCBsaXN0ZW5pbmcg4oCUIGNvbWUgYmFjayB0b21vcnJvdywgeW91ciBlYXJzIGdy
b3cgYXQgbmlnaHQuIiwKICAgICAgICAgICAgICAgICBzY29yZTogRUFSLnNjb3JlLCB4cDogRUFSLnhwICsgMTAsIGNvbWJvOiBFQVIubWF4Q29tYm8sIHJl
cGxheTogKCkgPT4gZWFyU3RhcnQoRUFSLm1vZGUpIH0pOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBxID0gZWFyUXVlc3Rpb24oKTsKICBFQVIucSA9IHE7
IEVBUi5pKys7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aXpMYWJlbCIpLnRleHRDb250ZW50ID0gcS5sYWJlbCArICIgIMK3ICAiICsgRUFSLmkg
KyAiLyIgKyBFQVIubjsKICBjb25zdCB3RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpeldvcmQiKTsKICB3RWwudGV4dENvbnRlbnQgPSBxLndv
cmQ7CiAgd0VsLm9uY2xpY2sgPSAoKSA9PiBzYXkocS5zYXksIDAuODUpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWl6SGludCIpLnRleHRDb250
ZW50ID0gIiI7CiAgY29uc3QgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aXpBbnN3ZXJzIik7CiAgYm94LmlubmVySFRNTCA9ICIiOwogIHEu
b3B0cy5mb3JFYWNoKG8gPT4gewogICAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAgYi5jbGFzc05hbWUgPSAiYW5z
IjsgYi50ZXh0Q29udGVudCA9IG87CiAgICBiLm9uY2xpY2sgPSBldiA9PiBlYXJBbnN3ZXIoYiwgbyA9PT0gcS5hbnN3ZXIsIGV2KTsKICAgIGJveC5hcHBl
bmRDaGlsZChiKTsKICB9KTsKICBzYXkocS5zYXksIDAuODUpOwp9CmZ1bmN0aW9uIGVhckFuc3dlcihidG4sIG9rLCBldikgewogIGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIiNxdWl6QW5zd2VycyAuYW5zIikuZm9yRWFjaChiID0+IGIub25jbGljayA9IG51bGwpOwogIGlmIChvaykgewogICAgYnRuLmNsYXNz
TGlzdC5hZGQoImNvcnJlY3QiKTsgc2Z4Lmdvb2QoKTsKICAgIEVBUi5jb21ibysrOyBFQVIubWF4Q29tYm8gPSBNYXRoLm1heChFQVIubWF4Q29tYm8sIEVB
Ui5jb21ibyk7CiAgICBFQVIuc2NvcmUgKz0gMTA7IEVBUi54cCArPSAyOyBnYWluWHAoMik7CiAgICBmbG9hdEZ4KCIrMiBYUCIsICIjMkY3RDRGIiwgZXYu
Y2xpZW50WCwgZXYuY2xpZW50WSk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpelNjb3JlIikudGV4dENvbnRlbnQgPSBFQVIuc2NvcmU7CiAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpekNvbWJvIikudGV4dENvbnRlbnQgPSBFQVIuY29tYm8gPiAxID8gIsOXIiArIEVBUi5jb21ibyA6ICIi
OwogICAgc2V0VGltZW91dChlYXJOZXh0LCA2NTApOwogIH0gZWxzZSB7CiAgICBidG4uY2xhc3NMaXN0LmFkZCgid3JvbmciKTsgc2Z4LmJhZCgpOyBFQVIu
Y29tYm8gPSAwOwogICAgLy8gcmV2ZWFsIHRoZSByaWdodCBhbnN3ZXIsIHJlcGxheSBpdCwgdGhlbiBtb3ZlIG9uIOKAlCBlYXJzIGxlYXJuIGZyb20gdGhl
IHJldmVhbAogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3F1aXpBbnN3ZXJzIC5hbnMiKS5mb3JFYWNoKGIgPT4geyBpZiAoYi50ZXh0Q29udGVu
dCA9PT0gU3RyaW5nKEVBUi5xLmFuc3dlcikpIGIuY2xhc3NMaXN0LmFkZCgiY29ycmVjdCIpOyB9KTsKICAgIHNheShFQVIucS5zYXksIDAuNyk7CiAgICBz
ZXRUaW1lb3V0KGVhck5leHQsIDE5MDApOwogIH0KfQpmdW5jdGlvbiBvcGVuRWFyKCkgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlYXJXcmFwIik7IGlmIChvbGQpIG9sZC5yZW1vdmUoKTsKICBjb25zdCB3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdy5pZCA9ICJl
YXJXcmFwIjsKICB3LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA3MDt6LWluZGV4Ojk5OTk7ZGlz
cGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDsiOwogIGNvbnN0IG1vZGVzID0gWwogICAg
WyJkaWN0IiwgIvCfjqciLCAiTmdoZSDigJQgV2hhdCBkaWQgeW91IGhlYXI/IiwgIlJlYWwgc2VudGVuY2VzIGZyb20geW91ciBxdWVzdHMsIGJ5IGVhciJd
LAogICAgWyJ0b25lIiwgIvCfjrUiLCAiVG9uZSBUd2lucyIsICJtYSDCtyBtw6AgwrcgbcOhIMK3IG3huqMgwrcgbcOjIMK3IG3huqEg4oCUIGhlYXIgdGhl
IGRpZmZlcmVuY2UiXSwKICAgIFsibnVtIiwgIvCflKIiLCAiTnVtYmVyIFJ1c2giLCAiRnJvbSBt4buZdCB0byBuZ2jDrG4g4oCUIG1vbmV5LWNvdW50aW5n
IGVhcnMiXSwKICAgIFsiZGF0ZSIsICLwn5OFIiwgIkRhdGVzIiwgIm5nw6B5IOKApiB0aMOhbmcg4oCmIOKAlCBuZXZlciBtaXNzIGEgZmFtaWx5IGJpcnRo
ZGF5Il0KICBdOwogIHcuaW5uZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0
aDo0MjBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MThweDtib3gtc2hhZG93OjAgMTBweCA0MHB4ICMwMDAwMDA1NTsiPgogICAgPGRpdiBzdHlsZT0iZm9udC13
ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxN3B4O21hcmdpbi1ib3R0b206NHB4O2NvbG9yOnZhcigtLXRleHQpOyI+8J+OpyBFYXIgVHJhaW5pbmcg4oCUIEx1eeG7
h24gbmdoZTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi1ib3R0b206MTJweDsiPlRlbiBx
dWVzdGlvbnMsIGVhcnMgb25seS4gVGFwIPCfjqcgYW55dGltZSB0byByZXBsYXkuPC9kaXY+CiAgICAke21vZGVzLm1hcChtID0+IGA8YnV0dG9uIG9uY2xp
Y2s9ImVhclN0YXJ0KCcke21bMF19JykiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206OHB4
O3BhZGRpbmc6MTJweDtib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWNhcmQyKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1
cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y29sb3I6dmFyKC0tdGV4dCk7Ij4KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMHB4OyI+
JHttWzFdfTwvc3Bhbj4gPGI+JHttWzJdfTwvYj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi1s
ZWZ0OjMwcHg7Ij4ke21bM119PC9zcGFuPjwvYnV0dG9uPmApLmpvaW4oIiIpfQogICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZWFyV3JhcCcpLnJlbW92ZSgpIiBzdHlsZT0ibWFyZ2luLXRvcDo2cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjExcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2Jv
cmRlcjowO2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWls
eTppbmhlcml0OyI+Q2xvc2U8L2J1dHRvbj4KICA8L2Rpdj5gOwogIHcub25jbGljayA9IGUgPT4geyBpZiAoZS50YXJnZXQgPT09IHcpIHcucmVtb3ZlKCk7
IH07CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KTsKfQoKLyogPT09PT09PT09PT09PT09IFdPUkQgUkVWSUVXIChzcGFjZWQgcmVwZXRpdGlvbikg
PT09PT09PT09PT09PT09ICovCmNvbnN0IFJWID0geyBvbjogZmFsc2UgfTsKY29uc3QgcnZUb2RheSA9ICgpID0+IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAv
IDg2NDAwMDAwKTsKZnVuY3Rpb24gcnZTdGF0ZSgpIHsgc2F2ZS5yZXYgPSBzYXZlLnJldiB8fCB7fTsgcmV0dXJuIHNhdmUucmV2OyB9CmZ1bmN0aW9uIHJ2
TGVhcm5lZEVudHJpZXMoKSB7CiAgY29uc3Qgb3V0ID0gW107CiAgTEVTU09OUy5mb3JFYWNoKEwgPT4geyBjb25zdCBzdCA9IGxzdGF0ZShMLm4pOyBMLndv
cmRzLmZvckVhY2godyA9PiB7IGlmIChzdC5rbm93bi5pbmNsdWRlcyh3WzBdKSkgb3V0LnB1c2godyk7IH0pOyB9KTsKICByZXR1cm4gb3V0Owp9CmZ1bmN0
aW9uIHJ2RHVlKCkgewogIGNvbnN0IHJldiA9IHJ2U3RhdGUoKSwgdCA9IHJ2VG9kYXkoKTsKICByZXR1cm4gcnZMZWFybmVkRW50cmllcygpLmZpbHRlcih3
ID0+IHsgY29uc3QgciA9IHJldlt3WzBdXTsgcmV0dXJuICFyIHx8IHJbMV0gPD0gdDsgfSk7Cn0KZnVuY3Rpb24gcmV2TWFyayh3b3JkLCBvaykgewogIGNv
bnN0IHJldiA9IHJ2U3RhdGUoKSwgdCA9IHJ2VG9kYXkoKSwgciA9IHJldlt3b3JkXSB8fCBbMSwgdF07CiAgaWYgKG9rKSB7IGNvbnN0IGl2bCA9IE1hdGgu
bWluKChyWzBdIHx8IDEpICogMiwgMzApOyByZXZbd29yZF0gPSBbaXZsLCB0ICsgaXZsXTsgZGFpbHlCdW1wKCJyZXYiKTsgfQogIGVsc2UgcmV2W3dvcmRd
ID0gWzEsIHQgKyAxXTsgLy8gbWlzc2VkIOKGkiBjb21lIGJhY2sgdG9tb3Jyb3cKICBwZXJzaXN0KCk7Cn0KZnVuY3Rpb24gb3BlbldvcmRSZXZpZXcoKSB7
CiAgY29uc3QgZHVlID0gcnZEdWUoKTsKICBsZXQgcG9vbCA9IGR1ZTsKICBpZiAocG9vbC5sZW5ndGggPCA0KSB7IC8vIGJhY2tmaWxsIHdpdGggdGhlIHdv
cmRzIHJldmlld2VkIGxvbmdlc3QgYWdvIChib251cyByb3VuZCkKICAgIGNvbnN0IHJldiA9IHJ2U3RhdGUoKTsKICAgIGNvbnN0IHJlc3QgPSBydkxlYXJu
ZWRFbnRyaWVzKCkuZmlsdGVyKHcgPT4gIXBvb2wuaW5jbHVkZXModykpCiAgICAgIC5zb3J0KChhLCBiKSA9PiAoKHJldlthWzBdXSB8fCBbMCwgMF0pWzFd
KSAtICgocmV2W2JbMF1dIHx8IFswLCAwXSlbMV0pKTsKICAgIHBvb2wgPSBwb29sLmNvbmNhdChyZXN0LnNsaWNlKDAsIDQgLSBwb29sLmxlbmd0aCkpOwog
IH0KICBpZiAocG9vbC5sZW5ndGggPCA0KSByZXR1cm47CiAgUlYub24gPSB0cnVlOwogIGN1ciA9IHsgbjogIlIiLCBrcjogIsOUbiB04burIiwgZW46ICJX
b3JkIFJldmlldyIsIHZpOiAiIiwgZW1vamk6ICLwn6egIiwgd29yZHM6IHNodWZmbGUocG9vbCksIGdyYW1tYXI6IFtdIH07CiAgc3RhcnRRdWl6KCk7Cn0K
Ci8qID09PT09PT09PT09PT09PSBUT0RBWSDigJQgb25lIHRhcCB0byB0aGUgbmV4dCBzdGVwICgxLjEgVVggcGFzcywgMjAyNi0wOS0yMCkgPT09PT09PT09
PT09PT09CiAgIFdoeTogdGhlIG1hcCB3YXMgNi43IHBob25lIHNjcmVlbnMgdGFsbCB3aXRoIHRlbiB1dGlsaXR5IGNhcmRzIGJlZm9yZSBRdWVzdCAxIGFu
ZCBubwogICBzaW5nbGUgImNvbnRpbnVlIiBhY3Rpb24uIE5vdyB0aGUgZmlyc3QgdGhpbmcgb24gc2NyZWVuIGlzIGEgY2FyZCB0aGF0IHNheXMgd2hhdCB0
byBkbwogICB0b2RheSAoY29tcHV0ZWQgZnJvbSBwcm9ncmVzcyksIHNob3dzIHRoZSB3ZWVrLCBhbmQgdGhlIHV0aWxpdGllcyBjb2xsYXBzZSBpbnRvIG9u
ZQogICBzd2lwZWFibGUgcm93LiBOb3RoaW5nIGhlcmUgY2hhbmdlcyB0aGUgbGVzc29uIGVuZ2luZSDigJQgaXQgb25seSBkZWNpZGVzIGFuZCBhcnJhbmdl
cy4gKi8KKGZ1bmN0aW9uICgpIHsKICBjb25zdCBjc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogIGNzcy50ZXh0Q29udGVudCA9IGAK
ICAudnFUb2RheXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0IwM0EyRSAwJSwjOEUyQTFEIDEwMCUpO2NvbG9yOiNGQkY2RUE7Ym9yZGVy
LXJhZGl1czoxOHB4O3BhZGRpbmc6MTVweCAxNnB4IDEzcHg7bWFyZ2luLWJvdHRvbToxMnB4O2JveC1zaGFkb3c6MCA4cHggMjRweCByZ2JhKDE3Niw1OCw0
NiwuMjIpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KICAudnFUb2RheSAuZ3tmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9t
YW4nLHNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjgwMDtsaW5lLWhlaWdodDoxLjJ9CiAgLnZxVG9kYXkgLm57Zm9udC1zaXplOjEyLjVweDtv
cGFjaXR5Oi45MjttYXJnaW4tdG9wOjNweDtsaW5lLWhlaWdodDoxLjR9CiAgLnZxVG9kYXkgLmdve2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXJnaW4t
dG9wOjEycHg7YmFja2dyb3VuZDojRkJGNkVBO2NvbG9yOiM4RTJBMUQ7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxM3B4O3BhZGRpbmc6MTJweCAxNHB4O2Zv
bnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTUuNXB4O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2xpbmUtaGVp
Z2h0OjEuMjU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjEyc30KICAudnFUb2RheSAuZ286YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTg1KX0KICAudnFUb2Rh
eSAuZ28gc21hbGx7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7b3BhY2l0eTouNzg7bWFyZ2luLXRvcDozcHh9CiAgLnZx
VG9kYXkgLmdvLmRvbmV7YmFja2dyb3VuZDojRjZFN0M4fQogIC52cVRvZGF5IC5hbHNve2ZvbnQtc2l6ZToxMnB4O21hcmdpbi10b3A6OXB4O29wYWNpdHk6
Ljl9CiAgLnZxVG9kYXkgLmFsc28gYntjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtdW5kZXJsaW5lLW9mZnNldDozcHh9
CiAgLnZxVG9kYXkgLndre2Rpc3BsYXk6ZmxleDtnYXA6NnB4O21hcmdpbi10b3A6MTNweDthbGlnbi1pdGVtczpjZW50ZXJ9CiAgLnZxVG9kYXkgLndrIGl7
d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE2KTtkaXNwbGF5OmZsZXg7YWxp
Z24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo4MDA7
Y29sb3I6I0ZCRjZFQTtmbGV4OjAgMCAyNHB4fQogIC52cVRvZGF5IC53ayBpLm9ue2JhY2tncm91bmQ6I0Y2QzQ1Mztjb2xvcjojNUUxQjEyfQogIC52cVRv
ZGF5IC53ayBpLnJlc3R7YmFja2dyb3VuZDojOUVEMEU2O2NvbG9yOiMwRjNBNEF9CiAgLnZxVG9kYXkgLndrIGkudG9kYXl7Ym94LXNoYWRvdzowIDAgMCAy
cHggI0ZCRjZFQX0KICAudnFUb2RheSAud2sgLnN0e21hcmdpbi1sZWZ0OmF1dG87Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNl
Om5vd3JhcH0KICAudnFUb2RheSAuZ2x7Zm9udC1zaXplOjEycHg7bWFyZ2luLXRvcDoxMHB4O29wYWNpdHk6LjkyO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6
ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4fQogIC52cVRvZGF5IC5nbCBzcGFuOmxhc3QtY2hpbGR7dGV4dC1kZWNvcmF0aW9u
OnVuZGVybGluZTt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6M3B4O3doaXRlLXNwYWNlOm5vd3JhcH0KICAjZGFpbHlCb3gudnFDb2xsYXBzZWR7ZGlzcGxheTpu
b25lfQogIGJvZHkudnFXZWwgI21hcCAuc3VidGl0bGV7ZGlzcGxheTpub25lfQogIGJvZHkudnFXZWwgI21hcCBoMXtmb250LXNpemU6MTlweDttYXJnaW4t
Ym90dG9tOjZweH0KICAudnFUb29sc3tncmlkLWNvbHVtbjoxIC8gLTE7ZGlzcGxheTpmbGV4O2dhcDo4cHg7b3ZlcmZsb3cteDphdXRvO3Njcm9sbC1zbmFw
LXR5cGU6eCBtYW5kYXRvcnk7cGFkZGluZzoycHggMnB4IDZweDstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtzY3JvbGxiYXItd2lkdGg6bm9u
ZX0KICAudnFUb29sczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfQogIC52cVRvb2xzSGVhZHtncmlkLWNvbHVtbjoxIC8gLTE7Zm9udC1zaXpl
OjExcHg7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOjEuNXB4O2NvbG9yOnZhcigtLW11dGVkKTtwYWRkaW5nOjZweCAycHggMDtkaXNwbGF5OmZs
ZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59CiAgLnZxVGlsZXtmbGV4OjAgMCAxMjRweDtzY3JvbGwtc25hcC1hbGlnbjpzdGFydDtiYWNrZ3Jv
dW5kOnZhcigtLWNhcmQpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjEwcHggMTBweCA5cHg7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjJweCBzb2xpZCB0
cmFuc3BhcmVudDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzfQogIC52cVRpbGU6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTcpfQogIC52cVRpbGUuaG90
e2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQyKX0KICAudnFUaWxlIC5le2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjF9CiAgLnZxVGlsZSAudHtmb250
LXdlaWdodDo4MDA7Zm9udC1zaXplOjEyLjVweDttYXJnaW4tdG9wOjZweDtsaW5lLWhlaWdodDoxLjI7Y29sb3I6dmFyKC0tdGV4dCl9CiAgLnZxVGlsZSAu
c3tmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLXRvcDozcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0
LW92ZXJmbG93OmVsbGlwc2lzfQogIC52cUhpZGRlbntkaXNwbGF5Om5vbmUgIWltcG9ydGFudH0KICBgOwogIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo
Y3NzKTsKfSkoKTsKCmZ1bmN0aW9uIHZxRGF5c0JldHdlZW4oYSwgYikgeyAvLyAiWVlZWS1NTS1ERCIgc3RyaW5ncyDihpIgd2hvbGUgZGF5cyBmcm9tIGEg
dG8gYgogIGNvbnN0IHAgPSBzID0+IHsgY29uc3QgW3ksIG0sIGRdID0gcy5zcGxpdCgiLSIpLm1hcChOdW1iZXIpOyByZXR1cm4gRGF0ZS5VVEMoeSwgbSAt
IDEsIGQpOyB9OwogIHJldHVybiBNYXRoLnJvdW5kKChwKGIpIC0gcChhKSkgLyA4NjQwMDAwMCk7Cn0KLyogdGhlIGRheXMgeW91IHByYWN0aXNlZCDigJQg
ZmlsbGVkIGluIGZyb20gdGhlIHN0cmVhayBmb3Igc2F2ZXMgdGhhdCBwcmVkYXRlIHRoaXMgKi8KZnVuY3Rpb24gdnFEYXlzKCkgewogIGlmICghQXJyYXku
aXNBcnJheShzYXZlLmRheXMpKSB7CiAgICBzYXZlLmRheXMgPSBbXTsKICAgIGNvbnN0IHMgPSBzYXZlLnN0cmVhazsKICAgIGlmIChzICYmIHMubGFzdCAm
JiBzLmNvdW50KSB7CiAgICAgIGNvbnN0IG9mZiA9IHZxRGF5c0JldHdlZW4ocy5sYXN0LCB0b2RheVN0cigpKTsKICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBNYXRoLm1pbihzLmNvdW50LCA2MCk7IGkrKykgc2F2ZS5kYXlzLnB1c2godG9kYXlTdHIoLShvZmYgKyBpKSkpOwogICAgfQogIH0KICByZXR1cm4gc2F2
ZS5kYXlzOwp9CmZ1bmN0aW9uIHZxRGF5TWFyayh0KSB7IGNvbnN0IGQgPSB2cURheXMoKTsgaWYgKCFkLmluY2x1ZGVzKHQpKSB7IGQucHVzaCh0KTsgaWYg
KGQubGVuZ3RoID4gOTApIGQuc3BsaWNlKDAsIGQubGVuZ3RoIC0gOTApOyB9IH0KLyogc3RyZWFrOiBhIG1pc3NlZCBzaW5nbGUgZGF5IGlzIGZvcmdpdmVu
IG9uY2UgZXZlcnkgNyBkYXlzIOKAlCBhIHJlc3QgZGF5LCBub3QgYSByZXNldCAqLwpmdW5jdGlvbiB2cVN0cmVha05leHQoKSB7CiAgY29uc3QgcyA9IHNh
dmUuc3RyZWFrLCB0ID0gdG9kYXlTdHIoKTsKICBpZiAocy5sYXN0ID09PSB0b2RheVN0cigtMSkpIHJldHVybiBzLmNvdW50ICsgMTsKICBpZiAocy5sYXN0
ID09PSB0b2RheVN0cigtMikgJiYgcy5jb3VudCA+PSAyICYmICghcy5yZXN0IHx8IHZxRGF5c0JldHdlZW4ocy5yZXN0LCB0KSA+PSA3KSkgeyBzLnJlc3Qg
PSB0OyB2cURheU1hcmsodG9kYXlTdHIoLTEpKTsgcmV0dXJuIHMuY291bnQgKyAxOyB9CiAgcmV0dXJuIDE7Cn0KCi8qIHRoZSBPTkUgdGhpbmcgdG8gZG8g
bmV4dCwgZnJvbSBwcm9ncmVzcyDigJQgdGhlIHNhbWUgcnVsZSBldmVyeXdoZXJlIChjYXJkLCByZW1pbmRlciwgcmVzdWx0IHNjcmVlbikgKi8KZnVuY3Rp
b24gdnFOZXh0KCkgewogIC8vIHdlZWsgb25lOiB0aGUgc3RhcnRlciBwYXRoIGRlY2lkZXMgKHZxLXN0YXJ0ZXIuanMpOyBhZnRlcndhcmRzIHRoZSBvcGVu
LWVuZGVkIHJ1bGUgYmVsb3cKICBpZiAodHlwZW9mIHZxU3RhcnRlckFjdGl2ZSA9PT0gImZ1bmN0aW9uIiAmJiB2cVN0YXJ0ZXJBY3RpdmUoKSkgewogICAg
Y29uc3QgbSA9IHZxU3RhcnRlck5leHQoKTsKICAgIGlmIChtKSByZXR1cm4geyBrOiAic3RhcnRlciIsIHQ6IG0udCwgczogbS5zLCBtOiBtLm1pbiwgZ286
IG0uZ28gfTsKICB9CiAgY29uc3QgZiA9IGZvdW5kU3RhdGUoKTsKICBpZiAoIWYubWFzdGVyZWQpIHsKICAgIGlmIChmLmNhcmRzIDwgMjQpIHJldHVybiB7
IGs6ICJmb3VuZCIsIHQ6ICJGb3VuZGF0aW9uIMK3IHRoZSBzb3VuZHMiLCBzOiBgU291bmQgY2FyZHMgJHtmLmNhcmRzfS8yNGAsIG06IDQsIGdvOiAoKSA9
PiBvcGVuRm91bmRhdGlvbigpIH07CiAgICBpZiAoZi5wcm9uIDwgNSkgcmV0dXJuIHsgazogImZvdW5kIiwgdDogIkZvdW5kYXRpb24gwrcgc2F5IGl0Iiwg
czogYFNheSA1IHNvdW5kcyBhbG91ZCAoJHtNYXRoLm1pbig1LCBmLnByb24pfS81KWAsIG06IDMsIGdvOiAoKSA9PiBvcGVuRm91bmRhdGlvbigpIH07CiAg
ICByZXR1cm4geyBrOiAiZm91bmQiLCB0OiAiVG9uZSBUd2lucyIsIHM6ICJFYXIgVHJhaW5pbmcgwrcgZ2V0IDggb2YgMTAgdG8gbWFzdGVyIHRoZSBGb3Vu
ZGF0aW9uIiwgbTogMywgZ286ICgpID0+IHsgb3BlbkVhcigpOyBlYXJTdGFydCgidG9uZSIpOyB9IH07CiAgfQogIGNvbnN0IE4gPSBMRVNTT05TLmxlbmd0
aDsKICBmb3IgKGxldCBuID0gMTsgbiA8PSBOOyBuKyspIHsKICAgIGNvbnN0IEwgPSBMRVNTT05TW24gLSAxXSwgc3QgPSBsc3RhdGUobiksIG1pbmUgPSBz
dGFyQ291bnQobiksIHByZXYgPSBuID09PSAxID8gOTkgOiBzdGFyQ291bnQobiAtIDEpOwogICAgY29uc3Qgc3RhcnRlZCA9IHN0Lmtub3duLmxlbmd0aCA+
IDAgfHwgbWluZSA+IDA7CiAgICBpZiAobiA+IDEgJiYgcHJldiA8IDIgJiYgIXN0YXJ0ZWQpIGJyZWFrOwogICAgaWYgKG1pbmUgPj0gNSkgY29udGludWU7
CiAgICBjb25zdCBzID0gc3Quc3RhcnMgfHwge30sIHEgPSBgUXVlc3QgJHtufSDCtyAke0wua3J9YDsKICAgIGlmICghcy5sZWFybikgeyBjb25zdCBsZWZ0
ID0gTC53b3Jkcy5sZW5ndGggLSBzdC5rbm93bi5sZW5ndGg7IHJldHVybiB7IGs6ICJsZWFybiIsIG4sIHQ6IHEsIHM6IGBMZWFybiAke01hdGgubWluKDUs
IGxlZnQpfSBtb3JlIHdvcmRzICgke3N0Lmtub3duLmxlbmd0aH0vJHtMLndvcmRzLmxlbmd0aH0pIPCfk5ZgLCBtOiBNYXRoLm1heCgyLCBNYXRoLm1pbig0
LCBNYXRoLnJvdW5kKGxlZnQgKiAwLjQpKSksIGdvOiAoKSA9PiBvcGVuTGVzc29uKG4sICJsZWFybiIpIH07IH0KICAgIGlmICghcy5zdG9yeSkgcmV0dXJu
IHsgazogInN0b3J5IiwgbiwgdDogcSwgczogIlN0b3J5IHRpbWUg8J+OrSIsIG06IDMsIGdvOiAoKSA9PiBvcGVuTGVzc29uKG4sICJzdG9yeSIpIH07CiAg
ICBpZiAoIXMudGFsaykgcmV0dXJuIHsgazogInRhbGsiLCBuLCB0OiBxLCBzOiAiVGFsayBpdCB0aHJvdWdoIPCfkqwiLCBtOiA0LCBnbzogKCkgPT4gb3Bl
bkxlc3NvbihuLCAidGFsayIpIH07CiAgICBpZiAoIXMuc3BlYWspIHJldHVybiB7IGs6ICJzcGVhayIsIG4sIHQ6IHEsIHM6ICJTcGVhayBpdCDwn5ej77iP
IiwgbTogMywgZ286ICgpID0+IG9wZW5MZXNzb24obiwgInNwZWFrIikgfTsKICAgIGlmICghcy5ib3NzKSByZXR1cm4geyBrOiAiYm9zcyIsIG4sIHQ6IHEs
IHM6ICJCb3NzIGJhdHRsZSDwn46uIiwgbTogMiwgZ286ICgpID0+IG9wZW5MZXNzb24obiwgInBsYXkiKSB9OwogIH0KICBjb25zdCBkdWUgPSBydkR1ZSgp
Lmxlbmd0aDsKICBpZiAoZHVlKSByZXR1cm4geyBrOiAicmV2aWV3IiwgdDogIldvcmQgUmV2aWV3IiwgczogYCR7ZHVlfSB3b3JkcyBhcmUgZHVlIPCfp6Bg
LCBtOiAzLCBnbzogKCkgPT4gb3BlbldvcmRSZXZpZXcoKSB9OwogIHJldHVybiB7IGs6ICJmcmVlIiwgdDogIkZyZWUgVGFsayIsIHM6ICJUYWxrIGFib3V0
IGFueXRoaW5nIPCfjpkiLCBtOiA1LCBnbzogKCkgPT4gb3BlbkZyZWUoKSB9Owp9CmZ1bmN0aW9uIHZxQWxzbyhuZXh0KSB7CiAgY29uc3QgZHVlID0gcnZE
dWUoKS5sZW5ndGgsIGQgPSBkYWlseSgpOwogIGlmIChuZXh0LmsgIT09ICJyZXZpZXciICYmIGR1ZSA+PSA0ICYmIChkLnJldiB8fCAwKSA8IDgpIHJldHVy
biB7IHQ6IGBSZXZpZXcgJHtkdWV9IHdvcmRzYCwgZ286ICgpID0+IG9wZW5Xb3JkUmV2aWV3KCkgfTsKICBpZiAobmV4dC5rICE9PSAiZnJlZSIgJiYgbmV4
dC5rICE9PSAiZm91bmQiICYmIGQuY29udm8gPCAxKSByZXR1cm4geyB0OiAiRnJlZSBUYWxrIiwgZ286ICgpID0+IG9wZW5GcmVlKCkgfTsKICByZXR1cm4g
bnVsbDsKfQpmdW5jdGlvbiB2cUdyZWV0aW5nKCkgewogIGNvbnN0IGggPSBuZXcgRGF0ZSgpLmdldEhvdXJzKCk7CiAgY29uc3QgZyA9IGggPCAxMSA/ICJD
aMOgbyBideG7lWkgc8OhbmciIDogaCA8IDE3ID8gIkNow6BvIGJ14buVaSBjaGnhu4F1IiA6ICJDaMOgbyBideG7lWkgdOG7kWkiOwogIGNvbnN0IG5hbWUg
PSBzYXZlLmZhbWlseSAmJiBzYXZlLmZhbWlseS5uYW1lID8gc2F2ZS5mYW1pbHkubmFtZS50cmltKCkgOiAiIjsKICByZXR1cm4gZyArIChuYW1lID8gIiwg
IiArIG5hbWUgOiAiIikgKyAiIPCfkYsiOwp9CmZ1bmN0aW9uIHZxTnVkZ2UoKSB7CiAgY29uc3Qgd2hvID0gKHNhdmUuZmFtaWx5ICYmIHNhdmUuZmFtaWx5
LmZvcldobyAmJiBzYXZlLmZhbWlseS5mb3JXaG9bMF0pIHx8ICJ5b3VyIGZhbWlseSI7CiAgY29uc3QgbGluZXMgPSBbCiAgICAiT25lIHNtYWxsIHN0ZXAg
dG9kYXkg4oCUIG91dCBsb3VkLiIsCiAgICAiVGVuIG1pbnV0ZXMsIGFuZCB0aGUgd29yZHMgc3RhcnQgdG8gc3RpY2suIiwKICAgICJTYXkgaXQgYmFkbHkg
dG9kYXksIHNheSBpdCB3ZWxsIG5leHQgd2Vlay4iLAogICAgYCR7d2hvLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd2hvLnNsaWNlKDEpfSB3b3VsZCBs
b3ZlIHRvIGhlYXIgdGhpcyBvbmUuYCwKICAgICJUb25lcyBmaXJzdCwgc3BlZWQgbGF0ZXIuIiwKICBdOwogIGNvbnN0IGRveSA9IE1hdGguZmxvb3IoKERh
dGUubm93KCkgLSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIDAsIDApKSAvIDg2NDAwMDAwKTsKICByZXR1cm4gbGluZXNbZG95ICUgbGlu
ZXMubGVuZ3RoXTsKfQp3aW5kb3cudnFOZXh0ID0gdnFOZXh0OyB3aW5kb3cudnFBbHNvID0gdnFBbHNvOwoKZnVuY3Rpb24gdnFUb2RheVJlbmRlckNvcmUo
KSB7CiAgY29uc3QgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhaWx5Qm94Iik7IGlmICghYm94KSByZXR1cm47CiAgaWYgKHNhdmUud2VsY29t
ZWQpIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgidnFXZWwiKTsKICAvLyB0aGUgbGVmdCBjb2x1bW4gb24gaVBhZCAoVG9kYXkgY2FyZCwgcmVjYXAs
IGdvYWxzKTsgYSBwbGFpbiBibG9jayBvbiBwaG9uZXMKICBsZXQgbGVmdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cUxlZnQiKTsKICBpZiAoIWxl
ZnQpIHsgbGVmdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyBsZWZ0LmlkID0gInZxTGVmdCI7IGJveC5wYXJlbnROb2RlLmluc2VydEJlZm9y
ZShsZWZ0LCBib3gpOyBsZWZ0LmFwcGVuZENoaWxkKGJveCk7IH0KICBsZXQgY2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cVRvZGF5Iik7CiAg
aWYgKCFjYXJkKSB7IGNhcmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgY2FyZC5pZCA9ICJ2cVRvZGF5IjsgY2FyZC5jbGFzc05hbWUgPSAi
dnFUb2RheSI7IGJveC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjYXJkLCBib3gpOyB9CiAgaWYgKCFjYXJkLmRhdGFzZXQub3BlbikgYm94LmNsYXNzTGlz
dC5hZGQoInZxQ29sbGFwc2VkIik7CiAgY29uc3QgZCA9IGRhaWx5KCksIHN0ID0gc2F2ZS5zdHJlYWsgfHwgeyBjb3VudDogMCwgYmVzdDogMCB9OwogIGNv
bnN0IGdvYWxzID0gW1tNYXRoLm1pbihkLndvcmRzLCA1KSwgNSwgIndvcmRzIl0sIFtNYXRoLm1pbihkLnByb24sIDMpLCAzLCAi8J+OpCJdLCBbTWF0aC5t
aW4oZC5jb252bywgMSksIDEsICJzdG9yeSJdXTsKICBpZiAodG90YWxMZWFybmVkKCkgPj0gOCkgZ29hbHMucHVzaChbTWF0aC5taW4oZC5yZXYgfHwgMCwg
OCksIDgsICJyZXZpZXciXSk7CiAgY29uc3QgYWxsRG9uZSA9IGdvYWxzLmV2ZXJ5KGcgPT4gZ1swXSA+PSBnWzFdKTsKICBjb25zdCBuZXh0ID0gdnFOZXh0
KCksIGFsc28gPSB2cUFsc28obmV4dCk7CiAgd2luZG93Ll9fdnFOZXh0R28gPSBuZXh0LmdvOyB3aW5kb3cuX192cUFsc29HbyA9IGFsc28gPyBhbHNvLmdv
IDogbnVsbDsKICBjb25zdCBkYXlzID0gdnFEYXlzKCksIHQgPSB0b2RheVN0cigpOwogIGNvbnN0IHdlZWsgPSBbXTsKICBmb3IgKGxldCBpID0gNjsgaSA+
PSAwOyBpLS0pIHsKICAgIGNvbnN0IGRzID0gdG9kYXlTdHIoLWkpLCBvbiA9IGRheXMuaW5jbHVkZXMoZHMpLCByZXN0ID0gc3QucmVzdCA9PT0gZHMgfHwg
KHN0LnJlc3QgJiYgdnFEYXlzQmV0d2Vlbihkcywgc3QucmVzdCkgPT09IDEgJiYgIW9uICYmIGRheXMuaW5jbHVkZXMoc3QucmVzdCkpOwogICAgY29uc3Qg
d2QgPSAiU01UV1RGUyJbbmV3IERhdGUoRGF0ZS5ub3coKSAtIGkgKiA4NjQwMDAwMCkuZ2V0RGF5KCldOwogICAgd2Vlay5wdXNoKGA8aSBjbGFzcz0iJHtv
biA/ICJvbiIgOiByZXN0ID8gInJlc3QiIDogIiJ9JHtpID09PSAwID8gIiB0b2RheSIgOiAiIn0iIHRpdGxlPSIke2RzfSI+JHtvbiA/ICLinJMiIDogd2R9
PC9pPmApOwogIH0KICBjb25zdCBwcmltYXJ5ID0gYWxsRG9uZSAmJiAhZC5jbGFpbWVkCiAgICA/IGA8YnV0dG9uIGNsYXNzPSJnbyIgb25jbGljaz0iZGFp
bHlDbGFpbSgpIj7wn46BIENsYWltIHRvZGF5J3MgKzMwIFhQPHNtYWxsPkFsbCBnb2FscyBkb25lIOKAlCAke25leHQudH0gaXMgbmV4dCBpZiB5b3Ugd2Fu
dCBtb3JlPC9zbWFsbD48L2J1dHRvbj5gCiAgICA6IGQuY2xhaW1lZAogICAgICA/IGA8YnV0dG9uIGNsYXNzPSJnbyBkb25lIiBvbmNsaWNrPSJ3aW5kb3cu
X192cU5leHRHbygpIj7inIUgRG9uZSBmb3IgdG9kYXk8c21hbGw+VG9tb3Jyb3c6ICR7bmV4dC50fSDigJQgJHtuZXh0LnN9IMK3IH4ke25leHQubX0gbWlu
PC9zbWFsbD48L2J1dHRvbj5gCiAgICAgIDogYDxidXR0b24gY2xhc3M9ImdvIiBvbmNsaWNrPSJ3aW5kb3cuX192cU5leHRHbygpIj7ilrYgJHtuZXh0LnR9
PHNtYWxsPiR7bmV4dC5zfSDCtyBhYm91dCAke25leHQubX0gbWluPC9zbWFsbD48L2J1dHRvbj5gOwogIGNvbnN0IHN0YXJ0ZXIgPSAodHlwZW9mIHZxU3Rh
cnRlckJsb2NrID09PSAiZnVuY3Rpb24iKSA/IHZxU3RhcnRlckJsb2NrKCkgOiAiIjsKICBjYXJkLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJnIj4ke3Zx
R3JlZXRpbmcoKX08L2Rpdj48ZGl2IGNsYXNzPSJuIj4ke3ZxTnVkZ2UoKX08L2Rpdj4KICAgICR7cHJpbWFyeX0KICAgICR7c3RhcnRlcn0KICAgICR7YWxz
byAmJiAhZC5jbGFpbWVkICYmIG5leHQuayAhPT0gInN0YXJ0ZXIiID8gYDxkaXYgY2xhc3M9ImFsc28iPkFsc28gdG9kYXk6IDxiIG9uY2xpY2s9IndpbmRv
dy5fX3ZxQWxzb0dvKCkiPiR7YWxzby50fTwvYj48L2Rpdj5gIDogIiJ9CiAgICA8ZGl2IGNsYXNzPSJ3ayI+JHt3ZWVrLmpvaW4oIiIpfTxzcGFuIGNsYXNz
PSJzdCI+8J+UpSAke3N0LmNvdW50fSBkYXkke3N0LmNvdW50ID09PSAxID8gIiIgOiAicyJ9JHtzdC5iZXN0ID4gc3QuY291bnQgPyAiIMK3IGJlc3QgIiAr
IHN0LmJlc3QgOiAiIn0ke3N0LnJlc3QgJiYgdnFEYXlzQmV0d2VlbihzdC5yZXN0LCB0KSA8IDcgPyAiIMK3IPCfp4ogcmVzdCB1c2VkIiA6ICIifTwvc3Bh
bj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImdsIiBvbmNsaWNrPSJ2cVRvZGF5VG9nZ2xlKCkiPjxzcGFuPlRvZGF5OiAke2dvYWxzLm1hcChnID0+IGAke2db
MF19LyR7Z1sxXX0gJHtnWzJdfWApLmpvaW4oIiDCtyAiKX08L3NwYW4+PHNwYW4+JHtib3guY2xhc3NMaXN0LmNvbnRhaW5zKCJ2cUNvbGxhcHNlZCIpID8g
IkRldGFpbHMg4pa+IiA6ICJIaWRlIOKWtCJ9PC9zcGFuPjwvZGl2PmA7CiAgaWYgKHR5cGVvZiB2cVJlY2FwUmVuZGVyID09PSAiZnVuY3Rpb24iKSB7IHRy
eSB7IHZxUmVjYXBSZW5kZXIoKTsgfSBjYXRjaCAoZSkge30gfQogIGlmICh0eXBlb2YgdnFXaWRnZXRTeW5jID09PSAiZnVuY3Rpb24iKSB7IHRyeSB7IHZx
V2lkZ2V0U3luYygpOyB9IGNhdGNoIChlKSB7fSB9Cn0KZnVuY3Rpb24gdnFUb2RheVRvZ2dsZSgpIHsKICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZGFpbHlCb3giKSwgY2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cVRvZGF5Iik7CiAgYm94LmNsYXNzTGlzdC50b2dnbGUoInZx
Q29sbGFwc2VkIik7CiAgaWYgKGNhcmQpIGNhcmQuZGF0YXNldC5vcGVuID0gYm94LmNsYXNzTGlzdC5jb250YWlucygidnFDb2xsYXBzZWQiKSA/ICIiIDog
IjEiOwogIHZxVG9kYXlSZW5kZXIoKTsKfQoKLyogdXRpbGl0aWVzIOKGkiBvbmUgc3dpcGVhYmxlIHJvdyBvZiB0aWxlczsgdGhlIG9yaWdpbmFsIGNhcmRz
IHN0YXkgaW4gdGhlIERPTSAoaGlkZGVuKSBzbwogICB0aGVpciBvd24gcmVmcmVzaCBmdW5jdGlvbnMga2VlcCB3b3JraW5nLCBhbmQgZWFjaCB0aWxlIHNp
bXBseSByZXVzZXMgdGhlIGNhcmQncyBvbmNsaWNrICovCmNvbnN0IFZRX1RPT0xTID0gWwogIFsiRlJFRSBUQUxLIiwgIvCfjpkiLCAiRnJlZSBUYWxrIiwg
KCkgPT4gIlRhbGsgYWJvdXQgYW55dGhpbmciXSwKICBbIkRBSUxZIFJFVklFVyIsICLwn6egIiwgIldvcmQgUmV2aWV3IiwgKCkgPT4geyBjb25zdCBuID0g
cnZEdWUoKS5sZW5ndGg7IHJldHVybiBuID8gbiArICIgZHVlIHRvZGF5IiA6ICJOb3RoaW5nIGR1ZSI7IH1dLAogIFsiRUFSIFRSQUlOSU5HIiwgIvCfjqci
LCAiRWFyIFRyYWluaW5nIiwgKCkgPT4gIlRvbmVzIMK3IG51bWJlcnMgwrcgZGF0ZXMiXSwKICBbIkZBTUlMWSBWT0lDRSIsICLwn46ZIiwgIkZhbWlseSBW
b2ljZSIsICgpID0+ICh0eXBlb2YgRlYgIT09ICJ1bmRlZmluZWQiICYmIEZWLmNvdW50KSA/IChGVi5vbiA/IEZWLnByb2ZpbGUgKyAiJ3Mgdm9pY2Ugwrcg
b24iIDogRlYucHJvZmlsZSArICIncyB2b2ljZSDCtyBvZmYiKSA6ICJSZWNvcmQgYSByZWxhdGl2ZSJdLAogIFsiWkFMTyBNT0RFIiwgIvCfk7EiLCAiWmFs
byB0ZXh0aW5nIiwgKCkgPT4gIlR5cGUgd2l0aCB0b25lIG1hcmtzIl0sCiAgWyJSRVZJRVcgV09SS09VVCIsICLwn46yIiwgIlJhbmRvbSB0YWxrIiwgKCkg
PT4gIk1peGVkIGNvbnZlcnNhdGlvbiJdLAogIFsiTVkgRkFNSUxZIiwgIvCfkajigI3wn5Gp4oCN8J+RpyIsICJNeSBGYW1pbHkiLCAoKSA9PiAoc2F2ZS5m
YW1pbHkgJiYgc2F2ZS5mYW1pbHkubmFtZSkgPyAiRm9yICIgKyAoKHNhdmUuZmFtaWx5LmZvcldobyB8fCBbXSlbMF0gfHwgInlvdXIgZmFtaWx5IikgOiAi
V2hvIHlvdSBsZWFybiBmb3IiXSwKICBbIldIQVQgSSBDQU4gRE8iLCAi8J+OryIsICJJIGNhbiBzYXnigKYiLCBsbiA9PiAobG4uc3BsaXQoIsK3IilbMV0g
fHwgIiIpLnRyaW0oKSB8fCAiQ2FuLWRvIGxhZGRlciJdLAogIFsiVOG6vlQiLCAi8J+npyIsICJU4bq/dCIsIGxuID0+IChsbi5yZXBsYWNlKC9e8J+np1xz
Ki8sICIiKS5zcGxpdCgiwrciKVsxXSB8fCAiIikudHJpbSgpLnRvTG93ZXJDYXNlKCkgfHwgIkx1bmFyIE5ldyBZZWFyIl0sCiAgWyJNRU1CRVIiLCAi8J+R
pCIsICJNZW1iZXIiLCBsbiA9PiAvwrcgT04vLnRlc3QobG4pID8gIlNpZ25lZCBpbiDCtyBzeW5jZWQiIDogL1NBVkUgQ09ERS8udGVzdChsbikgPyAiU2F2
ZSBjb2RlIMK3IHN5bmNlZCIgOiAiS2VlcCBwcm9ncmVzcyBpZiB5b3UgY2hhbmdlIHBob25lcyJdLAogIFsiQ09OVElOVUUgQU5ZV0hFUkUiLCAi4piB77iP
IiwgIlNhdmUgY29kZSIsIGxuID0+IC9PTi8udGVzdChsbikgPyAiU3luY2VkIiA6ICJDb250aW51ZSBvbiBhbnkgZGV2aWNlIl0sCl07CmZ1bmN0aW9uIHZx
QXJyYW5nZU1hcChnKSB7CiAgZyA9IGcgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hcEdyaWQiKTsgaWYgKCFnKSByZXR1cm47CiAgY29uc3QgY2Fy
ZHMgPSBbLi4uZy5xdWVyeVNlbGVjdG9yQWxsKCI6c2NvcGUgPiAubGNhcmQiKV07CiAgY29uc3QgbG51bU9mID0gYyA9PiAoKGMucXVlcnlTZWxlY3Rvcigi
LmxudW0iKSB8fCB7fSkudGV4dENvbnRlbnQgfHwgIiIpLnRyaW0oKTsKICBjb25zdCB0ZXRMaXZlID0gKHR5cGVvZiB0ZXRTdGF0ZSA9PT0gImZ1bmN0aW9u
IikgPyAoKCkgPT4geyB0cnkgeyBjb25zdCBzID0gdGV0U3RhdGUoKTsgcmV0dXJuICEhKHMgJiYgcy5pbldpbmRvdyk7IH0gY2F0Y2ggKGUpIHsgcmV0dXJu
IGZhbHNlOyB9IH0pKCkgOiBmYWxzZTsKICBjb25zdCB0aWxlcyA9IFtdOwogIFZRX1RPT0xTLmZvckVhY2goKFtrZXksIGUsIHRpdGxlLCBzdGF0dXNGbl0p
ID0+IHsKICAgIGNvbnN0IGMgPSBjYXJkcy5maW5kKGMgPT4gbG51bU9mKGMpLnJlcGxhY2UoL17wn6enXHMqLywgIiIpLnRvVXBwZXJDYXNlKCkuc3RhcnRz
V2l0aChrZXkpKTsKICAgIGlmICghYykgcmV0dXJuOwogICAgaWYgKGtleSA9PT0gIlThur5UIiAmJiB0ZXRMaXZlKSByZXR1cm47IC8vIGR1cmluZyB0aGUg
ZXZlbnQgdGhlIGZ1bGwgY2FyZCBzdGF5cyBpbiB2aWV3CiAgICBjb25zdCBsbiA9IGxudW1PZihjKTsKICAgIGMuY2xhc3NMaXN0LmFkZCgidnFIaWRkZW4i
KTsKICAgIGNvbnN0IHRpbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIHRpbGUuY2xhc3NOYW1lID0gInZxVGlsZSIgKyAoKGtleSA9
PT0gIkRBSUxZIFJFVklFVyIgJiYgcnZEdWUoKS5sZW5ndGggPj0gNCkgfHwgKGtleSA9PT0gIkZBTUlMWSBWT0lDRSIgJiYgdHlwZW9mIEZWICE9PSAidW5k
ZWZpbmVkIiAmJiBGVi5jb3VudCAmJiBGVi5vbikgPyAiIGhvdCIgOiAiIik7CiAgICBsZXQgc3RhdHVzID0gIiI7IHRyeSB7IHN0YXR1cyA9IHN0YXR1c0Zu
KGxuKTsgfSBjYXRjaCAoZXJyKSB7IHN0YXR1cyA9ICIiOyB9CiAgICB0aWxlLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJlIj4ke2V9PC9kaXY+PGRpdiBj
bGFzcz0idCI+JHt0aXRsZX08L2Rpdj48ZGl2IGNsYXNzPSJzIj4ke3N0YXR1c308L2Rpdj5gOwogICAgdGlsZS5vbmNsaWNrID0gZXYgPT4gYy5vbmNsaWNr
ICYmIGMub25jbGljay5jYWxsKGMsIGV2KTsKICAgIHRpbGVzLnB1c2godGlsZSk7CiAgfSk7CiAgaWYgKCF0aWxlcy5sZW5ndGgpIHJldHVybjsKICBjb25z
dCBoZWFkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGhlYWQuY2xhc3NOYW1lID0gInZxVG9vbHNIZWFkIjsgaGVhZC5pbm5lckhUTUwgPSBg
PHNwYW4+UFJBQ1RJQ0U8L3NwYW4+PHNwYW4+c3dpcGUg4oaSPC9zcGFuPmA7CiAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
IHJvdy5jbGFzc05hbWUgPSAidnFUb29scyI7IHRpbGVzLmZvckVhY2godCA9PiByb3cuYXBwZW5kQ2hpbGQodCkpOwogIC8vIGFmdGVyIHRoZSBGb3VuZGF0
aW9uIGNhcmQgKGFuZCB0aGUgbGl2ZSBU4bq/dCBjYXJkKSBzbyAic3RhcnQgaGVyZSIga2VlcHMgdGhlIHRvcCBmb3IgbmV3IGxlYXJuZXJzCiAgY29uc3Qg
YW5jaG9yID0gWy4uLmcucXVlcnlTZWxlY3RvckFsbCgiOnNjb3BlID4gLmxjYXJkOm5vdCgudnFIaWRkZW4pIildLmZpbmQoYyA9PiAvRk9VTkRBVElPTi8u
dGVzdChsbnVtT2YoYykpKTsKICBsZXQgYWZ0ZXIgPSBhbmNob3I7CiAgaWYgKGFmdGVyICYmIHRldExpdmUpIHsgY29uc3QgdGV0ID0gWy4uLmcucXVlcnlT
ZWxlY3RvckFsbCgiOnNjb3BlID4gLmxjYXJkOm5vdCgudnFIaWRkZW4pIildLmZpbmQoYyA9PiAvVOG6vlQvLnRlc3QobG51bU9mKGMpKSk7IGlmICh0ZXQg
JiYgdGV0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGFmdGVyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKSBhZnRlciA9IHRldDsgfQog
IGlmIChhZnRlcikgeyBhZnRlci5hZnRlcihoZWFkLCByb3cpOyB9IGVsc2UgeyBnLnByZXBlbmQoaGVhZCwgcm93KTsgfQogIHZxQ29sbGFwc2VRdWVzdHMo
Zyk7Cn0KLyogd2VlayBvbmU6IG9ubHkgdGhlIGZpcnN0IHRocmVlIHF1ZXN0cyBvbiB0aGUgbWFwOyBldmVyeXRoaW5nIGFmdGVyIFF1ZXN0IDMgZm9sZHMg
aW50byBvbmUgcm93IHVudGlsIHRhcHBlZCAqLwpmdW5jdGlvbiB2cUNvbGxhcHNlUXVlc3RzKGcpIHsKICBsZXQgc2hvd0FsbCA9IGZhbHNlOyB0cnkgeyBz
aG93QWxsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oInZxU2hvd0FsbCIpID09PSAiMSI7IH0gY2F0Y2ggKGUpIHt9CiAgaWYgKHNob3dBbGwgfHwgdHlwZW9m
IHZxU3RhcnRlckFjdGl2ZSAhPT0gImZ1bmN0aW9uIiB8fCAhdnFTdGFydGVyQWN0aXZlKCkpIHJldHVybjsKICBjb25zdCBraWRzID0gWy4uLmcuY2hpbGRy
ZW5dOwogIGNvbnN0IHEzID0ga2lkcy5maW5kKGMgPT4gYy5jbGFzc0xpc3QuY29udGFpbnMoImxjYXJkIikgJiYgL15RVUVTVCAwMy8udGVzdCgoKGMucXVl
cnlTZWxlY3RvcigiLmxudW0iKSB8fCB7fSkudGV4dENvbnRlbnQgfHwgIiIpLnRyaW0oKSkpOwogIGlmICghcTMpIHJldHVybjsKICBsZXQgaGlkZGVuID0g
MCwgcXVlc3RzID0gMDsKICBraWRzLnNsaWNlKGtpZHMuaW5kZXhPZihxMykgKyAxKS5mb3JFYWNoKGMgPT4gewogICAgaWYgKGMuY2xhc3NMaXN0LmNvbnRh
aW5zKCJ2cVRvb2xzIikgfHwgYy5jbGFzc0xpc3QuY29udGFpbnMoInZxVG9vbHNIZWFkIikgfHwgYy5jbGFzc0xpc3QuY29udGFpbnMoInZxSGlkZGVuIikp
IHJldHVybjsKICAgIGlmIChjLmNsYXNzTGlzdC5jb250YWlucygibGNhcmQiKSAmJiAvXlFVRVNULy50ZXN0KCgoYy5xdWVyeVNlbGVjdG9yKCIubG51bSIp
IHx8IHt9KS50ZXh0Q29udGVudCB8fCAiIikudHJpbSgpKSkgcXVlc3RzKys7CiAgICBjLmNsYXNzTGlzdC5hZGQoInZxSGlkZGVuIik7IGhpZGRlbisrOwog
IH0pOwogIGlmICghaGlkZGVuKSByZXR1cm47CiAgY29uc3QgbW9yZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIG1vcmUuY2xhc3NOYW1l
ID0gInZxTW9yZSI7CiAgbW9yZS5pbm5lckhUTUwgPSBg4pa4IDxiPiR7cXVlc3RzfSBtb3JlIHF1ZXN0czwvYj4gdW5sb2NrIGFzIHlvdSBnbyDigJQgU3Rh
Z2VzIDIgdG8gOCBpbiBIw6AgTuG7mWksIHRoZW4gU2Vhc29uIDIgaW4gU8OgaSBHw7JuLjxicj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjVweDsiPlRh
cCB0byBzaG93IHRoZSB3aG9sZSByb2FkPC9zcGFuPmA7CiAgbW9yZS5vbmNsaWNrID0gKCkgPT4geyB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidnFT
aG93QWxsIiwgIjEiKTsgfSBjYXRjaCAoZSkge30gcmVuZGVyTWFwKCk7IH07CiAgcTMuYWZ0ZXIobW9yZSk7Cn0KLyogdGhlIHJlc3VsdCBzY3JlZW4ncyAi
TmV4dCIgYnV0dG9uIGxpdmVzIGluIHZxLXN0ZXBwZXIuanMgKHZxUmVzdWx0TmV4dCkg4oCUIHF1ZXN0LWxvY2FsIHdoZW4gaW5zaWRlIGEgcXVlc3QgKi8K
LyogPT09PT09PT09PT09PT09IFdFRUsgT05FIOKAlCB0aGUgc3RhcnRlciBwYXRoICgxLjEsIDIwMjYtMDktMjApID09PT09PT09PT09PT09PQogICBGb3Ig
dGhlIGZpcnN0IHNldmVuIHByYWN0aXNlZCBkYXlzIHRoZSBUb2RheSBjYXJkIGZvbGxvd3MgYSBmaXhlZCBsaXN0IG9mIHNtYWxsCiAgIG1pbGVzdG9uZXMg
KHNpeCB0b25lcyDihpIgZmlyc3Qgd29yZHMg4oaSIFF1ZXN0IDEg4oaSIGZpcnN0IHJldmlldyDihpIgUXVlc3QgMikgaW5zdGVhZCBvZgogICB0aGUgb3Bl
bi1lbmRlZCBuZXh0LXN0ZXAgcnVsZSwgYW5kIHRoZSBtYXAgc2hvd3Mgb25seSB0aGUgZmlyc3QgdGhyZWUgcXVlc3RzIHdpdGggYQogICAiMjEgbW9yZSBx
dWVzdHMiIHJvdy4gTWlsZXN0b25lcyBhcmUgY2hlY2tlZCBhZ2FpbnN0IHJlYWwgcHJvZ3Jlc3MsIHNvIGEgZmFzdCBsZWFybmVyCiAgIGJ1cm5zIHRocm91
Z2ggdGhlbSBhbmQgYSBzbG93IG9uZSBpcyBuZXZlciBydXNoZWQuIEVuZHMgYWZ0ZXIgZGF5IDcsIG9yIHdoZW4gdGhlIGxpc3QKICAgaXMgZG9uZSwgb3Ig
YXQgb25jZSBmb3Igc2F2ZXMgdGhhdCBhcmUgYWxyZWFkeSB3ZWxsIHBhc3QgaXQuICovCihmdW5jdGlvbiAoKSB7CiAgY29uc3QgY3NzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICBjc3MudGV4dENvbnRlbnQgPSBgCiAgLnZxU3RhcnR7bWFyZ2luLXRvcDoxMnB4O2JhY2tncm91bmQ6cmdiYSgw
LDAsMCwuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEwcHggMTJweH0KICAudnFTdGFydCAuaHtmb250LXNpemU6MTAuNXB4O2xldHRlci1zcGFj
aW5nOjEuNXB4O2ZvbnQtd2VpZ2h0OjgwMDtvcGFjaXR5Oi45O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0KICAudnFTdGFy
dCAuaXR7ZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxMi41cHg7bWFyZ2luLXRvcDo3cHg7Y3Vyc29yOnBvaW50
ZXI7bGluZS1oZWlnaHQ6MS4zfQogIC52cVN0YXJ0IC5pdCBpe2ZvbnQtc3R5bGU6bm9ybWFsO3dpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7ZmxleDpu
b25lfQogIC52cVN0YXJ0IC5pdC5kb25le29wYWNpdHk6LjYyO3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9CiAgLnZxU3RhcnQgLml0LmZpcnN0IGJ7
dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6M3B4fQogIC52cVN0YXJ0IC5pdCBzbWFsbHtvcGFjaXR5Oi44O21hcmdp
bi1sZWZ0OmF1dG87d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMXB4fQogIC52cVdlZWtEb25le21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTIu
NXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMTQpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjhweCAxMHB4O2xpbmUtaGVpZ2h0OjEuNDV9
CiAgLnZxTW9yZXtncmlkLWNvbHVtbjoxIC8gLTE7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGlu
ZzoxM3B4IDEycHg7Ym9yZGVyOjJweCBkYXNoZWQgdmFyKC0tY2FyZDIpO2JvcmRlci1yYWRpdXM6MTRweDtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo3
MDA7bGluZS1oZWlnaHQ6MS40NX0KICAudnFNb3JlIGJ7Y29sb3I6dmFyKC0tdGV4dCl9CiAgYDsKICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNzcyk7
Cn0pKCk7CmNvbnN0IFZRX1NUQVJURVIgPSBbCiAgeyB0OiAiTWVldCB0aGUgc2l4IHRvbmVzIiwgczogIkZvdW5kYXRpb24gwrcgdGhlIGZpcnN0IHNpeCBj
YXJkcyIsIG1pbjogMywgZG9uZTogKCkgPT4gZm91bmRTdGF0ZSgpLmNhcmRzID49IDYsIGdvOiAoKSA9PiBvcGVuRm91bmRhdGlvbigpIH0sCiAgeyB0OiAi
U2F5IHRocmVlIHRvbmVzIG91dCBsb3VkIiwgczogIvCfjqQgU2F5IGl0IG9uIGFueSB0b25lIGNhcmQiLCBtaW46IDIsIGRvbmU6ICgpID0+IGZvdW5kU3Rh
dGUoKS5wcm9uID49IDMsIGdvOiAoKSA9PiBvcGVuRm91bmRhdGlvbigpIH0sCiAgeyB0OiAiRmluaXNoIHRoZSBzb3VuZCBjYXJkcyIsIHM6ICJGb3VuZGF0
aW9uIMK3IGFsbCAyNCIsIG1pbjogNSwgZG9uZTogKCkgPT4gZm91bmRTdGF0ZSgpLmNhcmRzID49IDI0LCBnbzogKCkgPT4gb3BlbkZvdW5kYXRpb24oKSB9
LAogIHsgdDogIlNheSBmaXZlIHNvdW5kcyBhbG91ZCIsIHM6ICJGb3VuZGF0aW9uIMK3IPCfjqQgU2F5IGl0IiwgbWluOiAyLCBkb25lOiAoKSA9PiBmb3Vu
ZFN0YXRlKCkucHJvbiA+PSA1LCBnbzogKCkgPT4gb3BlbkZvdW5kYXRpb24oKSB9LAogIHsgdDogIlRvbmUgVHdpbnM6IDggb2YgMTAiLCBzOiAiRWFyIFRy
YWluaW5nIMK3IGhlYXIgdGhlIGRpZmZlcmVuY2UiLCBtaW46IDMsIGRvbmU6ICgpID0+IGZvdW5kU3RhdGUoKS50b25lID49IDgwLCBnbzogKCkgPT4geyBv
cGVuRWFyKCk7IGVhclN0YXJ0KCJ0b25lIik7IH0gfSwKICB7IHQ6ICJRdWVzdCAxOiB5b3VyIGZpcnN0IGZpdmUgd29yZHMiLCBzOiAiY2jDoG8sIOG6oSwg
Y29uLCBjaMOhdSwgw7RuZ+KApiIsIG1pbjogMywgZG9uZTogKCkgPT4gbHN0YXRlKDEpLmtub3duLmxlbmd0aCA+PSA1LCBnbzogKCkgPT4gb3Blbkxlc3Nv
bigxLCAibGVhcm4iKSB9LAogIHsgdDogIlNheSB0aHJlZSBvZiB0aGVtIHdpdGggdGhlIG1pYyIsIHM6ICJRdWVzdCAxIMK3IPCfjqQgU2F5IGl0IiwgbWlu
OiAyLCBkb25lOiAoKSA9PiAobHN0YXRlKDEpLnByb24gfHwgW10pLmxlbmd0aCA+PSAzLCBnbzogKCkgPT4gb3Blbkxlc3NvbigxLCAibGVhcm4iKSB9LAog
IHsgdDogIlF1ZXN0IDE6IGFsbCB0aGUgd29yZHMiLCBzOiAidGhlIOKtkCBMZWFybiBzdGFyIiwgbWluOiA2LCBkb25lOiAoKSA9PiAhIWxzdGF0ZSgxKS5z
dGFycy5sZWFybiwgZ286ICgpID0+IG9wZW5MZXNzb24oMSwgImxlYXJuIikgfSwKICB7IHQ6ICJRdWVzdCAxOiB0aGUgc3RvcnkiLCBzOiAi8J+OrSBhIHNj
ZW5lIGF0IHRoZSBmYW1pbHkgZG9vciIsIG1pbjogMywgZG9uZTogKCkgPT4gISFsc3RhdGUoMSkuc3RhcnMuc3RvcnksIGdvOiAoKSA9PiBvcGVuTGVzc29u
KDEsICJzdG9yeSIpIH0sCiAgeyB0OiAiUXVlc3QgMTogdGFsayBpdCB0aHJvdWdoIiwgczogIvCfkqwgYW5zd2VyIGJ5IHZvaWNlIiwgbWluOiA0LCBkb25l
OiAoKSA9PiAhIWxzdGF0ZSgxKS5zdGFycy50YWxrLCBnbzogKCkgPT4gb3Blbkxlc3NvbigxLCAidGFsayIpIH0sCiAgeyB0OiAiUXVlc3QgMTogZml2ZSBz
ZW50ZW5jZXMgb3V0IGxvdWQiLCBzOiAi8J+Xo++4jyBTcGVhayIsIG1pbjogMywgZG9uZTogKCkgPT4gISFsc3RhdGUoMSkuc3RhcnMuc3BlYWssIGdvOiAo
KSA9PiBvcGVuTGVzc29uKDEsICJzcGVhayIpIH0sCiAgeyB0OiAiUXVlc3QgMTogYmVhdCB0aGUgYm9zcyIsIHM6ICLwn46uIFBsYXkiLCBtaW46IDIsIGRv
bmU6ICgpID0+ICEhbHN0YXRlKDEpLnN0YXJzLmJvc3MsIGdvOiAoKSA9PiBvcGVuTGVzc29uKDEsICJwbGF5IikgfSwKICB7IHQ6ICJZb3VyIGZpcnN0IHdv
cmQgcmV2aWV3IiwgczogIvCfp6Agd29yZHMgY29tZSBiYWNrIGJlZm9yZSB5b3UgZm9yZ2V0IHRoZW0iLCBtaW46IDMsIGRvbmU6ICgpID0+IE9iamVjdC5r
ZXlzKHNhdmUucmV2IHx8IHt9KS5sZW5ndGggPj0gOCwgZ286ICgpID0+IG9wZW5Xb3JkUmV2aWV3KCkgfSwKICB7IHQ6ICJRdWVzdCAyIGJlZ2luczogZml2
ZSB3b3JkcyIsIHM6ICLwn42aIELhu69hIGPGoW0gZ2lhIMSRw6xuaCIsIG1pbjogMywgZG9uZTogKCkgPT4gbHN0YXRlKDIpLmtub3duLmxlbmd0aCA+PSA1
LCBnbzogKCkgPT4gb3Blbkxlc3NvbigyLCAibGVhcm4iKSB9LApdOwpmdW5jdGlvbiB2cVN0YXJ0ZXJEYXkoKSB7IGNvbnN0IHQgPSB0b2RheVN0cigpOyBy
ZXR1cm4gdnFEYXlzKCkuZmlsdGVyKGQgPT4gZCAhPT0gdCkubGVuZ3RoICsgMTsgfQpmdW5jdGlvbiB2cVN0YXJ0ZXJEb25lQ291bnQoKSB7IGxldCBuID0g
MDsgVlFfU1RBUlRFUi5mb3JFYWNoKG0gPT4geyB0cnkgeyBpZiAobS5kb25lKCkpIG4rKzsgfSBjYXRjaCAoZSkge30gfSk7IHJldHVybiBuOyB9CmZ1bmN0
aW9uIHZxU3RhcnRlckFjdGl2ZSgpIHsKICBpZiAoc2F2ZS5zdGFydGVyRG9uZSkgcmV0dXJuIGZhbHNlOwogIGNvbnN0IGRvbmVOID0gdnFTdGFydGVyRG9u
ZUNvdW50KCk7CiAgaWYgKGRvbmVOID49IFZRX1NUQVJURVIubGVuZ3RoIHx8IHZxU3RhcnRlckRheSgpID4gNyB8fCAoIXNhdmUuc3RhcnRlclNlZW4gJiYg
ZG9uZU4gPj0gMTApKSB7CiAgICBzYXZlLnN0YXJ0ZXJEb25lID0gdHJ1ZTsgaWYgKHNhdmUuc3RhcnRlclNlZW4pIHNhdmUuc3RhcnRlckNlbGVicmF0ZSA9
IDE7IC8vIG9ubHkgY2VsZWJyYXRlIGEgd2VlayB0aGF0IHdhcyBhY3R1YWxseSBzaG93bgogICAgcGVyc2lzdENvcmUoKTsgcmV0dXJuIGZhbHNlOwogIH0K
ICBpZiAoIXNhdmUuc3RhcnRlclNlZW4pIHsgc2F2ZS5zdGFydGVyU2VlbiA9IDE7IHBlcnNpc3RDb3JlKCk7IH0KICByZXR1cm4gdHJ1ZTsKfQpmdW5jdGlv
biB2cVN0YXJ0ZXJOZXh0KCkgeyByZXR1cm4gVlFfU1RBUlRFUi5maW5kKG0gPT4geyB0cnkgeyByZXR1cm4gIW0uZG9uZSgpOyB9IGNhdGNoIChlKSB7IHJl
dHVybiBmYWxzZTsgfSB9KSB8fCBudWxsOyB9CndpbmRvdy5fX3ZxU3RhcnRlckdvID0gaSA9PiB7IGNvbnN0IG0gPSBWUV9TVEFSVEVSW2ldOyBpZiAobSkg
bS5nbygpOyB9OwovKiB0aGUgYmxvY2sgaW5zaWRlIHRoZSBUb2RheSBjYXJkOiBvbmUgZmluaXNoZWQgc3RlcCBmb3Igc2F0aXNmYWN0aW9uLCB0aGVuIHRo
ZSBuZXh0IHRocmVlICovCmZ1bmN0aW9uIHZxU3RhcnRlckJsb2NrKCkgewogIGlmICghdnFTdGFydGVyQWN0aXZlKCkpIHsKICAgIGlmIChzYXZlLnN0YXJ0
ZXJDZWxlYnJhdGUgPT09IDEpIHsgc2F2ZS5zdGFydGVyQ2VsZWJyYXRlID0gMjsgcGVyc2lzdENvcmUoKTsgcmV0dXJuIGA8ZGl2IGNsYXNzPSJ2cVdlZWtE
b25lIj7wn46JIDxiPldlZWsgb25lIGRvbmUuPC9iPiBZb3UgY2FuIHJlYWQgYW55IFZpZXRuYW1lc2Ugd29yZCBhbmQgZ3JlZXQgdGhlIHdob2xlIGZhbWls
eSDigJQgZnJvbSBoZXJlIHRoZSBjYXJkIGZvbGxvd3MgeW91ciBvd24gcGFjZS48L2Rpdj5gOyB9CiAgICByZXR1cm4gIiI7CiAgfQogIGNvbnN0IGRheSA9
IHZxU3RhcnRlckRheSgpLCBkb25lTiA9IHZxU3RhcnRlckRvbmVDb3VudCgpOwogIGNvbnN0IGZsYWdzID0gVlFfU1RBUlRFUi5tYXAobSA9PiB7IHRyeSB7
IHJldHVybiBtLmRvbmUoKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfSk7CiAgY29uc3QgbGFzdERvbmUgPSBmbGFncy5sYXN0SW5kZXhPZih0
cnVlKTsKICBjb25zdCByb3dzID0gW107CiAgaWYgKGxhc3REb25lID49IDApIHJvd3MucHVzaChbbGFzdERvbmUsIHRydWVdKTsKICBmbGFncy5mb3JFYWNo
KChmLCBpKSA9PiB7IGlmICghZiAmJiByb3dzLmZpbHRlcihyID0+ICFyWzFdKS5sZW5ndGggPCAzKSByb3dzLnB1c2goW2ksIGZhbHNlXSk7IH0pOwogIHJl
dHVybiBgPGRpdiBjbGFzcz0idnFTdGFydCI+PGRpdiBjbGFzcz0iaCI+PHNwYW4+V0VFSyBPTkUgwrcgREFZICR7TWF0aC5taW4oZGF5LCA3KX0gT0YgNzwv
c3Bhbj48c3Bhbj4ke2RvbmVOfS8ke1ZRX1NUQVJURVIubGVuZ3RofSBzdGVwczwvc3Bhbj48L2Rpdj4KICAgICR7cm93cy5tYXAoKFtpLCBkXSwgaykgPT4g
YDxkaXYgY2xhc3M9Iml0ICR7ZCA/ICJkb25lIiA6ICIifSAkeyFkICYmIHJvd3MuZmluZEluZGV4KHIgPT4gIXJbMV0pID09PSBrID8gImZpcnN0IiA6ICIi
fSIgb25jbGljaz0id2luZG93Ll9fdnFTdGFydGVyR28oJHtpfSkiPjxpPiR7ZCA/ICLinJMiIDogIuKXuyJ9PC9pPjxiPiR7VlFfU1RBUlRFUltpXS50fTwv
Yj48c21hbGw+JHtkID8gIiIgOiAifiIgKyBWUV9TVEFSVEVSW2ldLm1pbiArICIgbWluIn08L3NtYWxsPjwvZGl2PmApLmpvaW4oIiIpfQogIDwvZGl2PmA7
Cn0KLyogPT09PT09PT09PT09PT09IFdFRUtMWSBSRUNBUCAoMS4xLCAyMDI2LTA5LTIwKSA9PT09PT09PT09PT09PT0KICAgVGhlIGFwcCBub3cga2VlcHMg
YSBzbWFsbCBwZXItZGF5IGhpc3RvcnkgKHNhdmUuaGlzdDogd29yZHMsIHNlbnRlbmNlcyBzYWlkLAogICBzdG9yaWVzL3RhbGtzLCByZXZpZXdzLCBYUCwg
YW5kIHVwIHRvIHR3ZWx2ZSB3b3JkcyBsZWFybmVkIHdpdGggdGhlaXIgZXhhbXBsZQogICBzZW50ZW5jZSkuIE9uIHRoZSBmaXJzdCBvcGVuIG9mIGEgbmV3
IHdlZWsgKE1vbuKAk1dlZCkgYSAiTGFzdCB3ZWVrIiBjYXJkIHNpdHMKICAgYWJvdmUgdGhlIFRvZGF5IGNhcmQ6IGRheXMgb3V0IGxvdWQsIHRoZSBudW1i
ZXJzLCBvbmUgc2VudGVuY2UgeW91IGNhbiBub3cgc2F5LAogICBhbmQgYSBTaGFyZSBidXR0b24gdGhhdCBkcmF3cyBhbiBpbWFnZSBjYXJkIGxpa2UgdGhl
IFThur90IG9uZS4gRGlzbWlzc2VkIG9uY2UuICovCihmdW5jdGlvbiAoKSB7CiAgY29uc3QgY3NzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUi
KTsKICBjc3MudGV4dENvbnRlbnQgPSBgCiAgLnZxUmVjYXB7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWdvbGQpO2Jv
cmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjE0cHggMTZweDttYXJnaW4tYm90dG9tOjEycHh9CiAgLnZxUmVjYXAgLmh7Zm9udC1zaXplOjEwLjVweDtsZXR0
ZXItc3BhY2luZzoxLjVweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tZ29sZCl9CiAgLnZxUmVjYXAgLnR7Zm9udC1mYW1pbHk6R2VvcmdpYSwnVGlt
ZXMgTmV3IFJvbWFuJyxzZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4dCk7bWFyZ2luLXRvcDozcHh9CiAgLnZx
UmVjYXAgLnN0YXRze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6NnB4O21hcmdpbi10b3A6MTBweH0KICAu
dnFSZWNhcCAuc3R7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6OHB4IDRweDt0ZXh0LWFsaWduOmNlbnRlcn0K
ICAudnFSZWNhcCAuc3QgYntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToyMXB4O2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuMX0KICAudnFSZWNh
cCAuc3Qgc3Bhbntmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGV0dGVyLXNwYWNpbmc6LjZweDtmb250LXdlaWdodDo3MDB9CiAgLnZxUmVj
YXAgLnNheXttYXJnaW4tdG9wOjEwcHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjU7YmFja2dyb3VuZDp2YXIo
LS1jYXJkMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTBweCAxMnB4fQogIC52cVJlY2FwIC5zYXkgaXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1z
aXplOjEyLjVweH0KICAudnFSZWNhcCAucm93e2Rpc3BsYXk6ZmxleDtnYXA6OHB4O21hcmdpbi10b3A6MTBweH0KICAudnFSZWNhcCAucm93IGJ1dHRvbntm
bGV4OjE7bWFyZ2luOjB9CiAgYDsKICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNzcyk7Cn0pKCk7CmZ1bmN0aW9uIHZxSGlzdCgpIHsKICBjb25zdCB0
ID0gdG9kYXlTdHIoKTsKICBzYXZlLmhpc3QgPSBzYXZlLmhpc3QgfHwge307CiAgY29uc3QgaCA9IHNhdmUuaGlzdFt0XSA9IHNhdmUuaGlzdFt0XSB8fCB7
IHc6IDAsIHA6IDAsIGM6IDAsIHI6IDAsIHg6IDAsIHdzOiBbXSB9OwogIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzYXZlLmhpc3QpOwogIGlmIChrZXlz
Lmxlbmd0aCA+IDcwKSBrZXlzLnNvcnQoKS5zbGljZSgwLCBrZXlzLmxlbmd0aCAtIDYwKS5mb3JFYWNoKGsgPT4gZGVsZXRlIHNhdmUuaGlzdFtrXSk7CiAg
cmV0dXJuIGg7Cn0KZnVuY3Rpb24gdnFIaXN0QnVtcChrKSB7IGNvbnN0IG0gPSB7IHdvcmRzOiAidyIsIHByb246ICJwIiwgY29udm86ICJjIiwgcmV2OiAi
ciIgfVtrXTsgaWYgKG0pIHsgY29uc3QgaCA9IHZxSGlzdCgpOyBoW21dID0gKGhbbV0gfHwgMCkgKyAxOyB9IH0KZnVuY3Rpb24gdnFIaXN0WHAobikgeyBp
ZiAobiA+IDApIHsgY29uc3QgaCA9IHZxSGlzdCgpOyBoLnggPSAoaC54IHx8IDApICsgbjsgfSB9CmZ1bmN0aW9uIHZxSGlzdFdvcmQodykgeyBjb25zdCBo
ID0gdnFIaXN0KCk7IGgud3MgPSBoLndzIHx8IFtdOyBpZiAodyAmJiB3WzVdICYmIGgud3MubGVuZ3RoIDwgMTIpIGgud3MucHVzaChbd1swXSwgd1s1XSwg
d1s2XSB8fCAiIl0pOyB9CmZ1bmN0aW9uIHZxRGF0ZVN0cihkKSB7IHJldHVybiBkLmdldEZ1bGxZZWFyKCkgKyAiLSIgKyBTdHJpbmcoZC5nZXRNb250aCgp
ICsgMSkucGFkU3RhcnQoMiwgIjAiKSArICItIiArIFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwgIjAiKTsgfQpmdW5jdGlvbiB2cVdlZWtTdGFy
dChkKSB7IGNvbnN0IHggPSBuZXcgRGF0ZShkLmdldEZ1bGxZZWFyKCksIGQuZ2V0TW9udGgoKSwgZC5nZXREYXRlKCkpOyB4LnNldERhdGUoeC5nZXREYXRl
KCkgLSAoKHguZ2V0RGF5KCkgKyA2KSAlIDcpKTsgcmV0dXJuIHg7IH0KLyogbGFzdCBmdWxsIHdlZWssIE1vbmRheSB0byBTdW5kYXkgKi8KZnVuY3Rpb24g
dnFSZWNhcERhdGEobm93KSB7CiAgbm93ID0gbm93IHx8IG5ldyBEYXRlKCk7CiAgY29uc3QgdGhpc01vbiA9IHZxV2Vla1N0YXJ0KG5vdyksIHN0YXJ0ID0g
bmV3IERhdGUodGhpc01vbik7IHN0YXJ0LnNldERhdGUoc3RhcnQuZ2V0RGF0ZSgpIC0gNyk7CiAgY29uc3QgZGF5cyA9IFtdOyBmb3IgKGxldCBpID0gMDsg
aSA8IDc7IGkrKykgeyBjb25zdCBkID0gbmV3IERhdGUoc3RhcnQpOyBkLnNldERhdGUoc3RhcnQuZ2V0RGF0ZSgpICsgaSk7IGRheXMucHVzaCh2cURhdGVT
dHIoZCkpOyB9CiAgY29uc3QgaGlzdCA9IHNhdmUuaGlzdCB8fCB7fSwgc3VtID0geyB3OiAwLCBwOiAwLCBjOiAwLCByOiAwLCB4OiAwIH07IGNvbnN0IHdz
ID0gW107CiAgZGF5cy5mb3JFYWNoKGsgPT4geyBjb25zdCBoID0gaGlzdFtrXTsgaWYgKCFoKSByZXR1cm47IFsidyIsICJwIiwgImMiLCAiciIsICJ4Il0u
Zm9yRWFjaChmID0+IHN1bVtmXSArPSBoW2ZdIHx8IDApOyAoaC53cyB8fCBbXSkuZm9yRWFjaCh4ID0+IHdzLnB1c2goeCkpOyB9KTsKICBjb25zdCBwcmFj
dGlzZWQgPSBkYXlzLmZpbHRlcihrID0+IChzYXZlLmRheXMgfHwgW10pLmluY2x1ZGVzKGspKS5sZW5ndGg7CiAgY29uc3QgZW5kID0gbmV3IERhdGUoc3Rh
cnQpOyBlbmQuc2V0RGF0ZShzdGFydC5nZXREYXRlKCkgKyA2KTsKICBjb25zdCBmbXQgPSBkID0+IGQudG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwg
eyBtb250aDogInNob3J0IiwgZGF5OiAibnVtZXJpYyIgfSk7CiAgY29uc3Qgc2luY2VNb24gPSBNYXRoLnJvdW5kKChub3cgLSB0aGlzTW9uKSAvIDg2NDAw
MDAwKTsKICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IGtleTogZGF5c1swXSwgbGFiZWw6IGZtdChzdGFydCkgKyAiIOKAkyAiICsgZm10KGVuZCksIGRheXMs
IHByYWN0aXNlZCwgc2F5OiB3cy5sZW5ndGggPyB3c1t3cy5sZW5ndGggLSAxXSA6IG51bGwsIGJlc3Q6IHNhdmUuc3RyZWFrID8gc2F2ZS5zdHJlYWsuYmVz
dCA6IDAsIHNpbmNlTW9uIH0sIHN1bSk7Cn0KZnVuY3Rpb24gdnFSZWNhcER1ZShub3cpIHsKICBjb25zdCByID0gdnFSZWNhcERhdGEobm93KTsKICBpZiAo
c2F2ZS5yZWNhcFNob3duID09PSByLmtleSkgcmV0dXJuIG51bGw7CiAgaWYgKHIuc2luY2VNb24gPiAyKSByZXR1cm4gbnVsbDsgICAgICAgICAgICAgICAg
ICAgICAgIC8vIE1vbmRheSB0byBXZWRuZXNkYXkgb25seSwgdGhlbiBpdCB3YWl0cyBmb3IgbmV4dCB3ZWVrCiAgaWYgKCFyLnByYWN0aXNlZCAmJiAhci53
ICYmICFyLnAgJiYgIXIueCkgcmV0dXJuIG51bGw7IC8vIGEgZnVsbHkgcXVpZXQgd2VlayBnZXRzIG5vIGNhcmQKICByZXR1cm4gcjsKfQpmdW5jdGlvbiB2
cVJlY2FwUmVuZGVyKCkgewogIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFUb2RheSIpOyBpZiAoIWhvc3QpIHJldHVybjsKICBs
ZXQgY2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cVJlY2FwIik7CiAgY29uc3QgciA9IHZxUmVjYXBEdWUoKTsKICBpZiAoIXIpIHsgaWYgKGNh
cmQpIGNhcmQucmVtb3ZlKCk7IHJldHVybjsgfQogIGlmICghY2FyZCkgeyBjYXJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGNhcmQuaWQg
PSAidnFSZWNhcCI7IGNhcmQuY2xhc3NOYW1lID0gInZxUmVjYXAiOyBob3N0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGNhcmQsIGhvc3QpOyB9CiAgd2lu
ZG93Ll9fdnFSZWNhcERhdGEgPSByOyAvLyBzaGFyZSBhbmQgZGlzbWlzcyBhY3Qgb24gZXhhY3RseSB3aGF0IHdhcyBzaG93bgogIGNvbnN0IG51bWJlcnMg
PSByLncgKyByLnAgKyByLmMgKyByLnggPiAwOwogIGNhcmQuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImgiPvCfk4ggTEFTVCBXRUVLIMK3ICR7ci5sYWJl
bC50b1VwcGVyQ2FzZSgpfTwvZGl2PgogICAgPGRpdiBjbGFzcz0idCI+JHtyLnByYWN0aXNlZH0gZGF5JHtyLnByYWN0aXNlZCA9PT0gMSA/ICIiIDogInMi
fSBvdXQgbG91ZCR7ci5iZXN0ID49IDcgJiYgci5wcmFjdGlzZWQgPj0gNSA/ICIg8J+UpSIgOiAiIn08L2Rpdj4KICAgICR7bnVtYmVycyA/IGA8ZGl2IGNs
YXNzPSJzdGF0cyI+PGRpdiBjbGFzcz0ic3QiPjxiPiR7ci53fTwvYj48c3Bhbj5XT1JEUzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzdCI+PGI+JHtyLnB9
PC9iPjxzcGFuPlNBSUQg8J+OpDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzdCI+PGI+JHtyLmN9PC9iPjxzcGFuPlNUT1JJRVM8L3NwYW4+PC9kaXY+PGRp
diBjbGFzcz0ic3QiPjxiPiR7ci54fTwvYj48c3Bhbj5YUDwvc3Bhbj48L2Rpdj48L2Rpdj5gIDogIiJ9CiAgICAke3Iuc2F5ID8gYDxkaXYgY2xhc3M9InNh
eSI+WW91IGNhbiBub3cgc2F5OiA8Yj4ke3Iuc2F5WzFdfTwvYj48YnI+PGk+JHtyLnNheVsyXX08L2k+PC9kaXY+YCA6IChudW1iZXJzID8gIiIgOiBgPGRp
diBjbGFzcz0ic2F5Ij5Zb3VyIGZpcnN0IHJlY2FwIHdpdGggdGhlIGZ1bGwgbnVtYmVycyBjb21lcyBuZXh0IE1vbmRheSDigJQga2VlcCBnb2luZy48L2Rp
dj5gKX0KICAgIDxkaXYgY2xhc3M9InJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuIiBzdHlsZT0icGFkZGluZzoxMXB4O2ZvbnQtc2l6ZToxNHB4OyIgb25jbGlj
az0idnFSZWNhcFNoYXJlKCkiPvCfk6QgU2hhcmU8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJwYWRkaW5nOjExcHg7Zm9udC1zaXpl
OjE0cHg7IiBvbmNsaWNrPSJ2cVJlY2FwRGlzbWlzcygpIj5Hb3QgaXQ8L2J1dHRvbj48L2Rpdj5gOwp9CmZ1bmN0aW9uIHZxUmVjYXBEaXNtaXNzKCkgeyBz
YXZlLnJlY2FwU2hvd24gPSAod2luZG93Ll9fdnFSZWNhcERhdGEgfHwgdnFSZWNhcERhdGEoKSkua2V5OyBwZXJzaXN0Q29yZSgpOyBjb25zdCBjID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxUmVjYXAiKTsgaWYgKGMpIGMucmVtb3ZlKCk7IH0KLyogdGhlIHNoYXJlIGltYWdlOiBzYW1lIHByb3BvcnRpb25z
IGFuZCBwYWxldHRlIGFzIHRoZSBU4bq/dCBjYXJkICovCmFzeW5jIGZ1bmN0aW9uIHZxUmVjYXBTaGFyZSgpIHsKICBjb25zdCByID0gd2luZG93Ll9fdnFS
ZWNhcERhdGEgfHwgdnFSZWNhcERhdGEoKSwgZnJvbSA9IChzYXZlLmZhbWlseSAmJiBzYXZlLmZhbWlseS5uYW1lKSB8fCAiIjsKICBjb25zdCBvbGQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFSZWNhcFdyYXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsgdy5pZCA9ICJ2cVJlY2FwV3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3Vu
ZDpyZ2JhKDIwLDE0LDQsLjYpO3otaW5kZXg6MTAwMDI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bh
ZGRpbmc6MTZweDtvdmVyZmxvdzphdXRvOyI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MnB4
IHNvbGlkIHZhcigtLWdvbGQpO2JvcmRlci1yYWRpdXM6MThweDttYXgtd2lkdGg6NDIwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjIwcHg7Ij4KICAgIDxkaXYg
c3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpOyI+8J+TiCBN
eSB3ZWVrIGluIFZpZXRuYW1lc2U8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImNvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRw
eDsiPlNlbmQgaXQgdG8gdGhlIGZhbWlseSBncm91cCBjaGF0IOKAlCB0aGV5IGFyZSBwYXJ0IG9mIHRoaXMuPC9kaXY+CiAgICA8Y2FudmFzIGlkPSJ2cVJl
Y2FwQ2FudmFzIiB3aWR0aD0iMTA4MCIgaGVpZ2h0PSIxMzUwIiBzdHlsZT0id2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLXRvcDoxMnB4
O2Rpc3BsYXk6YmxvY2s7Ij48L2NhbnZhcz4KICAgIDxidXR0b24gY2xhc3M9ImJ0biIgc3R5bGU9IndpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4O3BhZGRp
bmc6MTJweDsiIGlkPSJ2cVJlY2FwU2VuZCI+8J+TpCBTaGFyZSB0aGUgY2FyZDwvYnV0dG9uPgogICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0i
d2lkdGg6MTAwJTttYXJnaW46OHB4IDAgMDtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEzcHg7IiBpZD0idnFSZWNhcENsb3NlIj5DbG9zZTwvYnV0dG9uPgog
ICAgPGRpdiBpZD0idnFSZWNhcE1zZyIgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6OHB4O21pbi1oZWln
aHQ6MTZweDsiPjwvZGl2PjwvZGl2PmA7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KTsKICBjb25zdCBjdiA9IHcucXVlcnlTZWxlY3RvcigiI3Zx
UmVjYXBDYW52YXMiKSwgeCA9IGN2LmdldENvbnRleHQoIjJkIik7CiAgY29uc3QgZ3JhZCA9IHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMTM1
MCk7IGdyYWQuYWRkQ29sb3JTdG9wKDAsICIjQjAzQTJFIik7IGdyYWQuYWRkQ29sb3JTdG9wKDEsICIjNkUxRjE2Iik7CiAgeC5maWxsU3R5bGUgPSBncmFk
OyB4LmZpbGxSZWN0KDAsIDAsIDEwODAsIDEzNTApOwogIHguc3Ryb2tlU3R5bGUgPSAiI0Y2QzQ1MyI7IHgubGluZVdpZHRoID0gMTA7IHguc3Ryb2tlUmVj
dCg1MCwgNTAsIDk4MCwgMTI1MCk7CiAgeC5zdHJva2VTdHlsZSA9ICIjRjZDNDUzODgiOyB4LmxpbmVXaWR0aCA9IDM7IHguc3Ryb2tlUmVjdCg3MiwgNzIs
IDkzNiwgMTIwNik7CiAgdHJ5IHsgaWYgKHR5cGVvZiBWUV9FTUJMRU0gIT09ICJ1bmRlZmluZWQiKSB7IGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpOyBpbWcu
c3JjID0gVlFfRU1CTEVNOyBhd2FpdCBuZXcgUHJvbWlzZShyZXMgPT4geyBpbWcub25sb2FkID0gcmVzOyBpbWcub25lcnJvciA9IHJlczsgfSk7IHguZHJh
d0ltYWdlKGltZywgNDYwLCAxMTAsIDE2MCwgMTYwKTsgfSB9IGNhdGNoIChlKSB7fQogIHgudGV4dEFsaWduID0gImNlbnRlciI7CiAgeC5maWxsU3R5bGUg
PSAiI0Y2QzQ1MyI7IHguZm9udCA9ICJib2xkIDQwcHggSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiI7IHguZmlsbFRleHQoIk1ZIFdFRUsgSU4gVklF
VE5BTUVTRSIsIDU0MCwgMzMwKTsKICB4LmZpbGxTdHlsZSA9ICIjRkJGNkVBIjsgeC5mb250ID0gIjM0cHggSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJp
ZiI7IHguZmlsbFRleHQoci5sYWJlbCwgNTQwLCAzODUpOwogIHguZmlsbFN0eWxlID0gIiNGQkY2RUEiOyB4LmZvbnQgPSAiYm9sZCA5MnB4IEdlb3JnaWEs
IHNlcmlmIjsgeC5maWxsVGV4dChyLnByYWN0aXNlZCArIChyLnByYWN0aXNlZCA9PT0gMSA/ICIgZGF5IiA6ICIgZGF5cyIpLCA1NDAsIDUyMCk7CiAgeC5m
b250ID0gImJvbGQgNDRweCBHZW9yZ2lhLCBzZXJpZiI7IHguZmlsbFRleHQoIm91dCBsb3VkIiwgNTQwLCA1ODUpOwogIGNvbnN0IHN0YXRzID0gW1tyLncs
ICJXT1JEUyJdLCBbci5wLCAiU0FJRCJdLCBbci5jLCAiU1RPUklFUyJdLCBbci54LCAiWFAiXV07CiAgc3RhdHMuZm9yRWFjaCgoW3YsIGxdLCBpKSA9PiB7
IGNvbnN0IGN4ID0gMTc1ICsgaSAqIDI0MzsgeC5maWxsU3R5bGUgPSAiI0Y2QzQ1MyI7IHguZm9udCA9ICJib2xkIDg0cHggR2VvcmdpYSwgc2VyaWYiOyB4
LmZpbGxUZXh0KFN0cmluZyh2KSwgY3gsIDc2MCk7IHguZmlsbFN0eWxlID0gIiNGQkY2RUFjYyI7IHguZm9udCA9ICJib2xkIDI2cHggSGVsdmV0aWNhLCBB
cmlhbCwgc2Fucy1zZXJpZiI7IHguZmlsbFRleHQobCwgY3gsIDgwNSk7IH0pOwogIGNvbnN0IHdyYXAgPSAodCwgeSwgZm9udCwgY29sb3IsIG1heFcsIGxo
KSA9PiB7IHguZm9udCA9IGZvbnQ7IHguZmlsbFN0eWxlID0gY29sb3I7IGNvbnN0IHdvcmRzID0gdC5zcGxpdCgiICIpOyBsZXQgbGluZSA9ICIiLCB5eSA9
IHk7IHdvcmRzLmZvckVhY2god2QgPT4geyBjb25zdCB0ZXN0ID0gbGluZSA/IGxpbmUgKyAiICIgKyB3ZCA6IHdkOyBpZiAoeC5tZWFzdXJlVGV4dCh0ZXN0
KS53aWR0aCA+IG1heFcgJiYgbGluZSkgeyB4LmZpbGxUZXh0KGxpbmUsIDU0MCwgeXkpOyBsaW5lID0gd2Q7IHl5ICs9IGxoOyB9IGVsc2UgbGluZSA9IHRl
c3Q7IH0pOyBpZiAobGluZSkgeC5maWxsVGV4dChsaW5lLCA1NDAsIHl5KTsgcmV0dXJuIHl5OyB9OwogIGxldCB5ID0gOTMwOwogIGlmIChyLnNheSkgeyB4
LmZpbGxTdHlsZSA9ICIjRjZDNDUzIjsgeC5mb250ID0gIjMwcHggSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiI7IHguZmlsbFRleHQoIkkgY2FuIG5v
dyBzYXkiLCA1NDAsIDkwMCk7IHkgPSB3cmFwKHIuc2F5WzFdLCA5NjUsICJib2xkIDU0cHggR2VvcmdpYSwgc2VyaWYiLCAiI0ZCRjZFQSIsIDg4MCwgNjQp
OyB5ID0gd3JhcChyLnNheVsyXSwgeSArIDYwLCAiMzRweCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiwgIiNGQkY2RUFkZCIsIDg4MCwgNDIpOyB9
CiAgaWYgKGZyb20pIHsgeC5mb250ID0gIml0YWxpYyA0MHB4IEdlb3JnaWEsIHNlcmlmIjsgeC5maWxsU3R5bGUgPSAiI0Y2QzQ1MyI7IHguZmlsbFRleHQo
IuKAlCAiICsgZnJvbSwgNTQwLCBNYXRoLm1heCh5ICsgOTAsIDExMzApKTsgfQogIHguZm9udCA9ICIyOHB4IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2Vy
aWYiOyB4LmZpbGxTdHlsZSA9ICIjRjZDNDUzYWEiOyB4LmZpbGxUZXh0KCJWaeG7h3QgUXVlc3QgwrcgdG9tcGhhbS5jYSIsIDU0MCwgMTI0MCk7CiAgdy5x
dWVyeVNlbGVjdG9yKCIjdnFSZWNhcENsb3NlIikub25jbGljayA9ICgpID0+IHcucmVtb3ZlKCk7CiAgdy5xdWVyeVNlbGVjdG9yKCIjdnFSZWNhcFNlbmQi
KS5vbmNsaWNrID0gYXN5bmMgKCkgPT4gewogICAgY29uc3QgbXNnID0gdy5xdWVyeVNlbGVjdG9yKCIjdnFSZWNhcE1zZyIpOwogICAgY29uc3QgYmxvYiA9
IGF3YWl0IG5ldyBQcm9taXNlKHJlcyA9PiBjdi50b0Jsb2IocmVzLCAiaW1hZ2UvcG5nIikpOwogICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwg
YHZpZXQtcXVlc3Qtd2Vlay0ke3Iua2V5fS5wbmdgLCB7IHR5cGU6ICJpbWFnZS9wbmciIH0pOwogICAgdHJ5IHsKICAgICAgaWYgKG5hdmlnYXRvci5jYW5T
aGFyZSAmJiBuYXZpZ2F0b3IuY2FuU2hhcmUoeyBmaWxlczogW2ZpbGVdIH0pKSB7IGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7IGZpbGVzOiBbZmlsZV0sIHRp
dGxlOiAiTXkgd2VlayBpbiBWaWV0bmFtZXNlIiwgdGV4dDogci5wcmFjdGlzZWQgKyAiIGRheXMgb3V0IGxvdWQsICIgKyByLncgKyAiIHdvcmRzLiIgfSk7
IG1zZy50ZXh0Q29udGVudCA9ICJTZW50IPCfjokiOyByZXR1cm47IH0KICAgIH0gY2F0Y2ggKGUpIHsgaWYgKGUgJiYgZS5uYW1lID09PSAiQWJvcnRFcnJv
ciIpIHJldHVybjsgfQogICAgdHJ5IHsgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsgYS5ocmVmID0gY3YudG9EYXRhVVJMKCJpbWFn
ZS9wbmciKTsgYS5kb3dubG9hZCA9IGZpbGUubmFtZTsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsgYS5jbGljaygpOyBhLnJlbW92ZSgpOyBtc2cu
dGV4dENvbnRlbnQgPSAiU2F2ZWQgdGhlIGNhcmQgYXMgYW4gaW1hZ2Ug4oCUIGF0dGFjaCBpdCB0byBhbnkgY2hhdC4iOyB9CiAgICBjYXRjaCAoZSkgeyBt
c2cudGV4dENvbnRlbnQgPSAiTG9uZy1wcmVzcyB0aGUgY2FyZCB0byBzYXZlIGl0LiI7IH0KICB9Owp9Ci8qID09PT09PT09PT09PT09PSBNSUNSTy1DRUxF
QlJBVElPTlMgKDEuMSwgMjAyNi0wOS0yMCkgPT09PT09PT09PT09PT09CiAgIEJpZyBtb21lbnRzIGdldCBhIHJlYWwgbW9tZW50OiBhIGNhcmQgdGhhdCBw
b3BzIGluIHdpdGggY29uZmV0dGksIHRoZSBhcHAncyBvd24KICAgxJHDoG4tdHJhbmggY2hpbWUgKHRoZSBlbmdpbmUncyBmYW5mYXJlIG9uIHRoZSB3ZWIp
IGFuZCBhIHN1Y2Nlc3MgaGFwdGljIOKAlCBvbiBxdWVzdAogICBjb21wbGV0aW9uICgrMjUgWFAsIG9uY2UgcGVyIHF1ZXN0KSBhbmQgb24gc3RyZWFrIG1p
bGVzdG9uZXMgKDMsIDcsIDE0LCAzMCwgNTAsIDEwMCkuCiAgIFNtYWxsIG1vbWVudHMgZ2V0IGEgbGlnaHQgdGFwOiBldmVyeSBzZnguZ29vZCAvIHNmeC53
aW4gdGhlIGVuZ2luZSBhbHJlYWR5IHBsYXlzLgogICBIYXB0aWNzIGdvIHRocm91Z2ggdGhlIGFwcCBzaGltIChWUV9IQVBUSUMg4oaSIEBjYXBhY2l0b3Iv
aGFwdGljcyk7IG5vdGhpbmcgb24gdGhlIHdlYi4gKi8KKGZ1bmN0aW9uICgpIHsKICBjb25zdCBjc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHls
ZSIpOwogIGNzcy50ZXh0Q29udGVudCA9IGAKICAudnFDZWxlYntwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MTAwMDM7YmFja2dyb3VuZDpyZ2Jh
KDIwLDE0LDQsLjYyKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoyMHB4O2FuaW1hdGlv
bjp2cUNpbiAuMjVzIGVhc2V9CiAgLnZxQ2VsZWIgLmN7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCNCMDNBMkUsIzhFMkExRCk7Y29sb3I6
I0ZCRjZFQTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoyNnB4IDIycHggMjBweDttYXgtd2lkdGg6MzYwcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNl
bnRlcjtib3gtc2hhZG93OjAgMThweCA1MHB4IHJnYmEoMCwwLDAsLjM1KTthbmltYXRpb246dnFDcG9wIC40NXMgY3ViaWMtYmV6aWVyKC4zNCwxLjU2LC42
NCwxKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1z
ZXJpZn0KICAudnFDZWxlYiAuZXtmb250LXNpemU6NjRweDtsaW5lLWhlaWdodDoxO2FuaW1hdGlvbjp2cUNib3VuY2UgMXMgZWFzZSAuM3MgMn0KICAudnFD
ZWxlYiAua3tmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzoycHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOiNGNkM0NTM7bWFyZ2luLXRvcDoxMnB4fQog
IC52cUNlbGViIC50e2ZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7Zm9udC1zaXplOjI2cHg7Zm9udC13ZWlnaHQ6ODAwO21h
cmdpbi10b3A6NnB4O2xpbmUtaGVpZ2h0OjEuMn0KICAudnFDZWxlYiAuc3tmb250LXNpemU6MTMuNXB4O29wYWNpdHk6LjkyO21hcmdpbi10b3A6OHB4O2xp
bmUtaGVpZ2h0OjEuNX0KICAudnFDZWxlYiAuc3RhcnN7Zm9udC1zaXplOjI2cHg7bGV0dGVyLXNwYWNpbmc6NHB4O21hcmdpbi10b3A6OHB4fQogIC52cUNl
bGViIC5zdGFycyBpe2ZvbnQtc3R5bGU6bm9ybWFsO2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6MDthbmltYXRpb246dnFDc3RhciAuNHMgZWFzZSBm
b3J3YXJkc30KICAudnFDZWxlYiAueHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjEycHg7YmFja2dyb3VuZDojRjZDNDUzO2NvbG9yOiM1RTFC
MTI7Zm9udC13ZWlnaHQ6ODAwO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo2cHggMTRweDtmb250LXNpemU6MTRweH0KICAudnFDZWxlYiBidXR0b257
bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZDojRkJGNkVBO2NvbG9yOiM4RTJBMUQ7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxM3B4O3Bh
ZGRpbmc6MTNweDtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjE1cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn0KICBAa2V5ZnJhbWVz
IHZxQ2lue2Zyb217b3BhY2l0eTowfXRve29wYWNpdHk6MX19CiAgQGtleWZyYW1lcyB2cUNwb3B7ZnJvbXt0cmFuc2Zvcm06c2NhbGUoLjcpO29wYWNpdHk6
MH10b3t0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fQogIEBrZXlmcmFtZXMgdnFDYm91bmNlezAlLDEwMCV7dHJhbnNmb3JtOm5vbmV9MzAle3RyYW5zZm9y
bTp0cmFuc2xhdGVZKC0xMnB4KSBzY2FsZSgxLjA4KX19CiAgQGtleWZyYW1lcyB2cUNzdGFye2Zyb217dHJhbnNmb3JtOnNjYWxlKDApIHJvdGF0ZSgtMzBk
ZWcpO29wYWNpdHk6MH10b3t0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fQogIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKXsudnFD
ZWxlYiwudnFDZWxlYiAuYywudnFDZWxlYiAuZSwudnFDZWxlYiAuc3RhcnMgaXthbmltYXRpb246bm9uZTtvcGFjaXR5OjF9fQogIGA7CiAgZG9jdW1lbnQu
aGVhZC5hcHBlbmRDaGlsZChjc3MpOwp9KSgpOwpmdW5jdGlvbiB2cUhhcHRpY09uKCkgeyB0cnkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oInZx
SGFwdGljIikgIT09ICIwIjsgfSBjYXRjaCAoZSkgeyByZXR1cm4gdHJ1ZTsgfSB9CmZ1bmN0aW9uIHZxSGFwdGljU2V0KG9uKSB7IHRyeSB7IGxvY2FsU3Rv
cmFnZS5zZXRJdGVtKCJ2cUhhcHRpYyIsIG9uID8gIjEiIDogIjAiKTsgfSBjYXRjaCAoZSkge30gaWYgKG9uKSB2cUhhcHRpYygibGlnaHQiKTsgaWYgKHR5
cGVvZiB2cVJlbWluZFVJID09PSAiZnVuY3Rpb24iKSB2cVJlbWluZFVJKCk7IH0KZnVuY3Rpb24gdnFIYXB0aWMoa2luZCkgeyAvLyAibGlnaHQiIHwgIm1l
ZGl1bSIgfCAic3VjY2VzcyIgfCAid2FybmluZyIKICBpZiAoIXdpbmRvdy5WUV9IQVBUSUMgfHwgIXZxSGFwdGljT24oKSkgcmV0dXJuOwogIHRyeSB7IGlm
IChraW5kID09PSAic3VjY2VzcyIgfHwga2luZCA9PT0gIndhcm5pbmciKSBWUV9IQVBUSUMubm90aWZ5KGtpbmQpOyBlbHNlIFZRX0hBUFRJQy5pbXBhY3Qo
a2luZCB8fCAibGlnaHQiKTsgfSBjYXRjaCAoZSkge30KfQovKiB0aGUgYnJhbmQgY2hpbWUgZm9yIGJpZyBtb21lbnRzIGluIHRoZSBhcHA7IHRoZSBlbmdp
bmUncyBmYW5mYXJlIG9uIHRoZSB3ZWIgKi8KZnVuY3Rpb24gdnFGYW5mYXJlKCkgewogIHRyeSB7IGlmICh3aW5kb3cuVlFfQ0hJTUVfQjY0KSB7IGNvbnN0
IGEgPSBuZXcgQXVkaW8oImRhdGE6YXVkaW8vd2F2O2Jhc2U2NCwiICsgVlFfQ0hJTUVfQjY0KTsgYS52b2x1bWUgPSAwLjY7IGEucGxheSgpLmNhdGNoKCgp
ID0+IHt9KTsgcmV0dXJuOyB9IH0gY2F0Y2ggKGUpIHt9CiAgdHJ5IHsgc2Z4LndpbigpOyB9IGNhdGNoIChlKSB7fQp9CmZ1bmN0aW9uIHZxQ2VsZWJyYXRl
KHsgZW1vamksIGtpY2tlciwgdGl0bGUsIHN1YiwgeHAsIHN0YXJzLCBjdGEgfSkgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2
cUNlbGViV3JhcCIpOyBpZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyB3LmlkID0gInZx
Q2VsZWJXcmFwIjsgdy5jbGFzc05hbWUgPSAidnFDZWxlYiI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0iYyI+PGRpdiBjbGFzcz0iZSI+JHtlbW9q
aX08L2Rpdj4ke2tpY2tlciA/IGA8ZGl2IGNsYXNzPSJrIj4ke2tpY2tlcn08L2Rpdj5gIDogIiJ9PGRpdiBjbGFzcz0idCI+JHt0aXRsZX08L2Rpdj4ke3N1
YiA/IGA8ZGl2IGNsYXNzPSJzIj4ke3N1Yn08L2Rpdj5gIDogIiJ9CiAgICAke3N0YXJzID8gYDxkaXYgY2xhc3M9InN0YXJzIj4ke1suLi5BcnJheShzdGFy
cyldLm1hcCgoXywgaSkgPT4gYDxpIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6JHsoMC4xNSArIGkgKiAwLjEyKS50b0ZpeGVkKDIpfXMiPuKtkDwvaT5gKS5q
b2luKCIiKX08L2Rpdj5gIDogIiJ9CiAgICAke3hwID8gYDxkaXYgY2xhc3M9IngiPiske3hwfSBYUDwvZGl2PmAgOiAiIn0KICAgIDxidXR0b24gb25jbGlj
az0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxQ2VsZWJXcmFwJykucmVtb3ZlKCkiPiR7Y3RhIHx8ICJDb250aW51ZSDihpIifTwvYnV0dG9uPjwvZGl2
PmA7CiAgdy5vbmNsaWNrID0gZSA9PiB7IGlmIChlLnRhcmdldCA9PT0gdykgdy5yZW1vdmUoKTsgfTsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcp
OwogIHRyeSB7IGNvbmZldHRpKCk7IH0gY2F0Y2ggKGUpIHt9CiAgdnFGYW5mYXJlKCk7IHZxSGFwdGljKCJzdWNjZXNzIik7IHNldFRpbWVvdXQoKCkgPT4g
dnFIYXB0aWMoIm1lZGl1bSIpLCAxODApOwp9Ci8qIHF1ZXN0IGNvbXBsZXRlOiBldmVyeSBzdGFyIGVhcm5lZCDigJQgKzI1IFhQIHRoZSBmaXJzdCB0aW1l
ICovCmZ1bmN0aW9uIHZxUXVlc3RDZWxlYnJhdGUobikgewogIGNvbnN0IEwgPSBMRVNTT05TLmZpbmQobCA9PiBsLm4gPT09IG4pOwogIHNhdmUucXVlc3RE
b25lID0gc2F2ZS5xdWVzdERvbmUgfHwge307CiAgY29uc3QgZmlyc3QgPSAhc2F2ZS5xdWVzdERvbmVbbl07CiAgaWYgKGZpcnN0KSB7IHNhdmUucXVlc3RE
b25lW25dID0gMTsgdHJ5IHsgZ2FpblhwKDI1KTsgfSBjYXRjaCAoZSkge30gcGVyc2lzdENvcmUoKTsgfQogIHZxQ2VsZWJyYXRlKHsgZW1vamk6IEwgPyBM
LmVtb2ppIDogIvCfj4YiLCBraWNrZXI6IGBRVUVTVCAke1N0cmluZyhuKS5wYWRTdGFydCgyLCAiMCIpfSBDT01QTEVURWAsIHRpdGxlOiBMID8gTC5rciA6
ICJRdWVzdCBjb21wbGV0ZSIsCiAgICBzdWI6IEwgPyBgJHtMLmVufSDigJQgZXZlcnkgc3RhciBlYXJuZWQuICR7Zmlyc3QgPyAiVGhlIG5leHQgcXVlc3Qg
aXMgb3Blbi4iIDogIlJlcGxheWVkIHRvIHBlcmZlY3Rpb24uIn1gIDogIiIsIHN0YXJzOiA1LCB4cDogZmlyc3QgPyAyNSA6IDAgfSk7Cn0KLyogc3RyZWFr
IG1pbGVzdG9uZXMsIHNob3duIHJpZ2h0IGFmdGVyIHRoZSBlbmdpbmUncyBkYXktTiBiYW5uZXI7IG9uY2UgcGVyIGRheSBhdCBtb3N0ICovCmNvbnN0IFZR
X1NUUkVBS19NSUxFU1RPTkVTID0gewogIDM6IFsi8J+UpSIsICJUaHJlZSBkYXlzIGluIGEgcm93IiwgIlRoZSBoYXJkZXN0IHBhcnQgaXMgYmVoaW5kIHlv
dSDigJQgbW9zdCBwZW9wbGUgbmV2ZXIgZ2V0IGhlcmUuIl0sCiAgNzogWyLwn4yLIiwgIk9uZSB3aG9sZSB3ZWVrIiwgIlNldmVuIGRheXMgb3V0IGxvdWQu
IFlvdXIgZWFycyBoYXZlIGNoYW5nZWQsIGFuZCBzbyBoYXMgeW91ciB0b25ndWUuIl0sCiAgMTQ6IFsi8J+PriIsICJUd28gd2Vla3MiLCAiRm91cnRlZW4g
ZGF5cy4gVGhpcyBpcyBhIGhhYml0IG5vdy4iXSwKICAzMDogWyLwn6enIiwgIlRoaXJ0eSBkYXlzIiwgIkEgbW9udGggb2YgVmlldG5hbWVzZSwgb3V0IGxv
dWQuIFRoZSBmYW1pbHkgY2FuIGhlYXIgdGhlIGRpZmZlcmVuY2UuIl0sCiAgNTA6IFsi8J+QiSIsICJGaWZ0eSBkYXlzIiwgIkhhbGYgYSBodW5kcmVkLiBZ
b3UgYXJlIG5vdCBhIGJlZ2lubmVyIGFueW1vcmUuIl0sCiAgMTAwOiBbIvCfkZEiLCAiT25lIGh1bmRyZWQgZGF5cyIsICJBIGh1bmRyZWQgZGF5cyBvdXQg
bG91ZC4gTGVnZW5kIHN0YXR1cy4iXSwKfTsKZnVuY3Rpb24gdnFTdHJlYWtNaWxlc3RvbmUoY291bnQpIHsKICBjb25zdCBtID0gVlFfU1RSRUFLX01JTEVT
VE9ORVNbY291bnRdOyBpZiAoIW0pIHJldHVybjsKICBzYXZlLm1pbGVzdG9uZXMgPSBzYXZlLm1pbGVzdG9uZXMgfHwge307CiAgY29uc3QgdCA9IHRvZGF5
U3RyKCk7IGlmIChzYXZlLm1pbGVzdG9uZXNbInMiICsgY291bnRdID09PSB0KSByZXR1cm47CiAgc2F2ZS5taWxlc3RvbmVzWyJzIiArIGNvdW50XSA9IHQ7
IHBlcnNpc3RDb3JlKCk7CiAgc2V0VGltZW91dCgoKSA9PiB2cUNlbGVicmF0ZSh7IGVtb2ppOiBtWzBdLCBraWNrZXI6IGAke2NvdW50fS1EQVkgU1RSRUFL
YCwgdGl0bGU6IG1bMV0sIHN1YjogbVsyXSwgY3RhOiAiS2VlcCBnb2luZyDihpIiIH0pLCA5MDApOwp9Ci8qIGxpZ2h0IGhhcHRpY3Mgd2hlcmV2ZXIgdGhl
IGVuZ2luZSBhbHJlYWR5IHBsYXlzIGl0cyBsaXR0bGUgc291bmRzICh3aXJlZCBvbmNlLCBhZnRlciB0aGUgZW5naW5lIGlzIGRlZmluZWQpICovCmZ1bmN0
aW9uIHZxSGFwdGljV2lyZSgpIHsKICBpZiAod2luZG93Ll9fdnFIYXB0aWNXaXJlZCB8fCB0eXBlb2Ygc2Z4ID09PSAidW5kZWZpbmVkIikgcmV0dXJuOwog
IHdpbmRvdy5fX3ZxSGFwdGljV2lyZWQgPSB0cnVlOwogIGNvbnN0IGcgPSBzZnguZ29vZCwgdyA9IHNmeC53aW47CiAgc2Z4Lmdvb2QgPSBmdW5jdGlvbiAo
KSB7IHRyeSB7IGcuYXBwbHkoc2Z4LCBhcmd1bWVudHMpOyB9IGNhdGNoIChlKSB7fSB2cUhhcHRpYygibGlnaHQiKTsgfTsKICBzZngud2luID0gZnVuY3Rp
b24gKCkgeyB0cnkgeyB3LmFwcGx5KHNmeCwgYXJndW1lbnRzKTsgfSBjYXRjaCAoZSkge30gdnFIYXB0aWMoInN1Y2Nlc3MiKTsgfTsKfQovKiA9PT09PT09
PT09PT09PT0gaVBhZCBMQVlPVVQgKyBUQVAgVEFSR0VUUyAoMS4xLCAyMDI2LTA5LTIwKSA9PT09PT09PT09PT09PT0KICAgUmV2aWV3ZXJzIHVzZSBhbiBp
UGFkIEFpcjsgb24gaXQgdGhlIGFwcCB3YXMgYSA2NDAgcHggcGhvbmUgY29sdW1uIGluIHRoZSBtaWRkbGUgb2YKICAgdGhlIHNjcmVlbiB3aXRoIHBob25l
LXNpemVkIHR5cGUuIEZyb20gNzY4IHB4IHRoZSBwYWdlIHdpZGVucywgdGhlIG1hcCBiZWNvbWVzIHR3bwogICBjb2x1bW5zIChhIHN0aWNreSBUb2RheSBj
b2x1bW4gb24gdGhlIGxlZnQsIHRoZSByb2FkIG9uIHRoZSByaWdodCksIHR5cGUgc3RlcHMgdXAgYQogICBzaXplLCBhbmQgdGhlIHNwZWFraW5nIGNvbnRy
b2xzIGdldCBiaWdnZXIuIE9uIGV2ZXJ5IHNpemUgdGhlIGJ1dHRvbnMgcGVvcGxlIHRhcAogICBtaWQtc2VudGVuY2UgKExpc3RlbiwgU2xvdywgSGludCwg
U2tpcCwgdGhlIHRhYnMsIHRoZSBsZWFybiBhcnJvd3MpIGFyZSBhdCBsZWFzdCA0NCBweC4gKi8KKGZ1bmN0aW9uICgpIHsKICBjb25zdCBjc3MgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogIGNzcy50ZXh0Q29udGVudCA9IGAKICAvKiB0aGUgZW5naW5lJ3MgbGlzdGVuaW5nIHNoZWV0IGRvY2tz
IHRvIHRoZSBCT1RUT00gb24gcGhvbmVzOyBUb20gd2FudHMgaXQgaW4gdGhlIE1JRERMRQogICAgICgyMDI2LTEwLTA2KS4gVGhlIGVuZ2luZSBhbHJlYWR5
IGNlbnRlcnMgaXQgYXQgPj02MDBweCDigJQgZXh0ZW5kIHRoYXQgdG8gZXZlcnkgd2lkdGgsIHNvIGEKICAgICBsZWFybmVyIGhvbGRpbmcgdGhlIHBob25l
IHVwIHRvIHNwZWFrIHJlYWRzIHRoZSB3b3JkIGFuZCAiSSBoZWFyIOKApiIgaGVhZC1vbi4gKi8KICAja3FNaWNTaGVldCB7IGFsaWduLWl0ZW1zOmNlbnRl
ciAhaW1wb3J0YW50OyBwYWRkaW5nOjIwcHggIWltcG9ydGFudDsgfQogICNrcU1pY1NoZWV0IC5rcW1zIHsgYm9yZGVyLXJhZGl1czoyNHB4ICFpbXBvcnRh
bnQ7IHBhZGRpbmctYm90dG9tOjI2cHggIWltcG9ydGFudDsgbWF4LXdpZHRoOjQ0MHB4ICFpbXBvcnRhbnQ7IH0KICAvKiB0aGUgb25lLXRpbWUgImhvdyB0
aGUgbWljIHdvcmtzIiBjb2FjaCBjYXJkIHBhaW50cyB2YXIoLS1iZyksIHRyYW5zcGFyZW50IGluIHRoZSBjcmVhbSB0aGVtZSAqLwogIC5rcU1pY0NvYWNo
IHsgYmFja2dyb3VuZDp2YXIoLS1jYXJkKSAhaW1wb3J0YW50OyB9CiAgLyogdGFwIHRhcmdldHMsIGFsbCBzaXplcyAqLwogIC5zY2FyZCAuc25kYnRuLCAu
dGstY29udHJvbHMgLnNuZGJ0biwgI3RhYi1zdG9yeSAuc25kYnRuLCAudnFTdGVwTmV4dCAuYnRuIHsgbWluLWhlaWdodDo0NHB4OyBwYWRkaW5nOjlweCAx
OHB4OyBmb250LXNpemU6MTVweDsgfQogIC5sZWFybi1uYXYgLmJ0biB7IG1pbi1oZWlnaHQ6NDhweDsgfQogICNsZXNzb24gLnRhYiB7IG1pbi1oZWlnaHQ6
NDRweDsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IH0KICAvKiBpUGFkIGFuZCB1cCAqLwogIEBt
ZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7CiAgICAud3JhcCB7IG1heC13aWR0aDo5NjBweCAhaW1wb3J0YW50OyB9CiAgICAjbWFwLmFjdGl2ZSB7IGRpc3Bs
YXk6Z3JpZCAhaW1wb3J0YW50OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDI4MHB4LDM2JSkgbWlubWF4KDAsMWZyKSAhaW1wb3J0YW50OyBjb2x1
bW4tZ2FwOjIycHggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6c3RhcnQgIWltcG9ydGFudDsgfQogICAgI21hcC5hY3RpdmUgPiBoMSwgI21hcC5hY3RpdmUg
PiAuc3VidGl0bGUgeyBncmlkLWNvbHVtbjoxIC8gLTEgIWltcG9ydGFudDsgfQogICAgI3ZxTGVmdCB7IGdyaWQtY29sdW1uOjEgIWltcG9ydGFudDsgcG9z
aXRpb246c3RpY2t5ICFpbXBvcnRhbnQ7IHRvcDoxMHB4ICFpbXBvcnRhbnQ7IH0KICAgICNtYXBHcmlkIHsgZ3JpZC1jb2x1bW46MiAhaW1wb3J0YW50OyBn
cmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAhaW1wb3J0YW50OyB9CiAgICAjbWFwR3JpZCAubGtyIHsgZm9udC1zaXplOjE3cHggIWltcG9ydGFudDsg
fQogICAgI21hcEdyaWQgLmxlbiB7IGZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7IH0KICAgIC52cVRvZGF5IC5nIHsgZm9udC1zaXplOjIzcHggIWltcG9y
dGFudDsgfQogICAgLnZxVG9kYXkgLm4geyBmb250LXNpemU6MTMuNXB4ICFpbXBvcnRhbnQ7IH0KICAgIC52cVRvZGF5IC5nbyB7IGZvbnQtc2l6ZToxN3B4
ICFpbXBvcnRhbnQ7IHBhZGRpbmc6MTRweCAxNnB4ICFpbXBvcnRhbnQ7IH0KICAgIC52cVRvZGF5IC5nbyBzbWFsbCB7IGZvbnQtc2l6ZToxM3B4ICFpbXBv
cnRhbnQ7IH0KICAgIC52cVRpbGUgeyBmbGV4LWJhc2lzOjE1MHB4ICFpbXBvcnRhbnQ7IH0KICAgIC52cVRpbGUgLnQgeyBmb250LXNpemU6MTRweCAhaW1w
b3J0YW50OyB9CiAgICAudnFUaWxlIC5zIHsgZm9udC1zaXplOjEycHggIWltcG9ydGFudDsgfQogICAgLnZxVGlsZSAuZSB7IGZvbnQtc2l6ZToyNnB4ICFp
bXBvcnRhbnQ7IH0KICAgIC53Y2FyZCwgLnNjYXJkIHsgcGFkZGluZzoyOHB4IDI0cHggMjJweCAhaW1wb3J0YW50OyB9CiAgICAuc2tyIHsgZm9udC1zaXpl
OjMycHggIWltcG9ydGFudDsgfQogICAgLnEtd29yZCB7IGZvbnQtc2l6ZTozNHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5hbnMgeyBmb250LXNpemU6MTdweCAh
aW1wb3J0YW50OyBwYWRkaW5nOjE1cHggMTdweCAhaW1wb3J0YW50OyB9CiAgICAuYnViYmxlIC5ia3IgeyBmb250LXNpemU6MThweCAhaW1wb3J0YW50OyB9
CiAgICAudGstdGFzayB7IGZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7IH0KICAgIC50ay10YXNrIC5oaW50bGluZSB7IGZvbnQtc2l6ZToxOHB4ICFpbXBv
cnRhbnQ7IH0KICAgIC5taWMgeyB3aWR0aDoxMDBweCAhaW1wb3J0YW50OyBoZWlnaHQ6MTAwcHggIWltcG9ydGFudDsgZm9udC1zaXplOjQycHggIWltcG9y
dGFudDsgfQogICAgLmJ0biB7IGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7IH0KICAgICNsZXNzb24gLnRhYiB7IGZvbnQtc2l6ZToxNHB4ICFpbXBvcnRh
bnQ7IH0KICB9CiAgQG1lZGlhIChtaW4td2lkdGg6MTEwMHB4KSB7CiAgICAud3JhcCB7IG1heC13aWR0aDoxMTYwcHggIWltcG9ydGFudDsgfQogICAgI21h
cEdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAxZnIgIWltcG9ydGFudDsgfQogIH0KICBgOwogIChkb2N1bWVudC5ib2R5IHx8IGRvY3Vt
ZW50LmhlYWQpLmFwcGVuZENoaWxkKGNzcyk7IC8vIGFmdGVyIHRoZSBmcmFnbWVudCdzIHN0eWxlc2hlZXQsIHNvIGVxdWFsLXNwZWNpZmljaXR5IG92ZXJy
aWRlcyB3aW4KfSkoKTsKLyogPT09PT09PT09PT09PT09IEhPTUUtU0NSRUVOIFdJREdFVCAoYXBwIG9ubHksIDEuMSkgPT09PT09PT09PT09PT09CiAgIFdo
ZW5ldmVyIHRoZSBUb2RheSBjYXJkIHJlLXJlbmRlcnMsIHRoZSBzdHJlYWssIHRoZSBsYXN0IHNldmVuIGRheXMgYW5kIHRvZGF5J3MgbmV4dAogICBzdGVw
IGFyZSBwdXNoZWQgdG8gdGhlIG5hdGl2ZSB3aWRnZXQgdGhyb3VnaCB0aGUgYXBwIHNoaW0gKFZRX1dJREdFVCDihpIgQXBwIEdyb3VwIOKGkgogICBXaWRn
ZXRLaXQpLiBPbmx5IHdoZW4gc29tZXRoaW5nIGNoYW5nZWQg4oCUIHRoZSB3aWRnZXQgcmVkcmF3cyBvbiBpdHMgb3duIGFmdGVyIG1pZG5pZ2h0LiAqLwpm
dW5jdGlvbiB2cVdpZGdldERhdGEoKSB7CiAgY29uc3Qgc3QgPSBzYXZlLnN0cmVhayB8fCB7IGNvdW50OiAwLCBiZXN0OiAwLCBsYXN0OiAiIiB9LCB0ID0g
dG9kYXlTdHIoKTsKICBjb25zdCBkYXlzID0gdnFEYXlzKCksIHdlZWsgPSBbXTsKICBmb3IgKGxldCBpID0gNjsgaSA+PSAwOyBpLS0pIHsgY29uc3QgZHMg
PSB0b2RheVN0cigtaSk7IHdlZWsucHVzaChkYXlzLmluY2x1ZGVzKGRzKSB8fCBzdC5yZXN0ID09PSBkcyk7IH0KICBsZXQgbmV4dCA9IHsgdDogIk9wZW4g
Vmnhu4d0IFF1ZXN0IiwgczogIiIsIG06IDMgfTsgdHJ5IHsgbmV4dCA9IHZxTmV4dCgpOyB9IGNhdGNoIChlKSB7fQogIHJldHVybiB7IHN0cmVhazogc3Qu
Y291bnQgfHwgMCwgYmVzdDogc3QuYmVzdCB8fCAwLCBkb25lVG9kYXk6IHN0Lmxhc3QgPT09IHQsIGRheXM6IHdlZWssCiAgICAgICAgICAgbmV4dFRpdGxl
OiBuZXh0LnQgfHwgIiIsIG5leHRTdWI6IG5leHQucyB8fCAiIiwgbWluczogbmV4dC5tIHx8IDMsIG5hbWU6IChzYXZlLmZhbWlseSAmJiBzYXZlLmZhbWls
eS5uYW1lKSB8fCAiIiB9Owp9CmZ1bmN0aW9uIHZxV2lkZ2V0U3luYygpIHsKICBpZiAoIXdpbmRvdy5WUV9XSURHRVQpIHJldHVybjsKICB0cnkgewogICAg
Y29uc3QgZGF0YSA9IHZxV2lkZ2V0RGF0YSgpLCBrZXkgPSBKU09OLnN0cmluZ2lmeShkYXRhKTsKICAgIGlmICh3aW5kb3cuX192cVdpZGdldExhc3QgPT09
IGtleSkgcmV0dXJuOwogICAgd2luZG93Ll9fdnFXaWRnZXRMYXN0ID0ga2V5OwogICAgVlFfV0lER0VULnVwZGF0ZShkYXRhKTsKICB9IGNhdGNoIChlKSB7
fQp9Ci8qID09PT09PT09PT09PT09PSBMRVNTT04gU1RFUFBFUiAoMS4xLCAyMDI2LTA5LTIwKSA9PT09PT09PT09PT09PT0KICAgQSBxdWVzdCBpcyBmaXZl
IHBhcnRzOiBMZWFybiDihpIgU3Rvcnkg4oaSIFRhbGsg4oaSIFNwZWFrIOKGkiBCb3NzLiBUaGUgdGFicyBub3cgc2hvdyBhIOKckyBvbgogICBlYWNoIGZp
bmlzaGVkIHBhcnQgYW5kIGEgZG90IG9uIHRoZSBuZXh0IG9uZSwgYW5kIGV2ZXJ5IHBhcnQgZW5kcyB3aXRoIGEgIk5leHQ6IOKApiDihpIiCiAgIGJ1dHRv
biwgc28gYSBxdWVzdCBmbG93cyB0byB0aGUgZW5kIHdpdGhvdXQgYSB0cmlwIGJhY2sgdG8gdGhlIG1hcC4gUHNldWRvLWxlc3NvbnMKICAgKEZvdW5kYXRp
b24sIFThur90LCByZXZpZXcpIGFyZSB1bnRvdWNoZWQuICovCihmdW5jdGlvbiAoKSB7CiAgY29uc3QgY3NzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3R5bGUiKTsKICBjc3MudGV4dENvbnRlbnQgPSBgCiAgI2xlc3NvbiAudGFiLnZxRG9uZXtib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pO2NvbG9yOnZhcigt
LWdyZWVuKX0KICAjbGVzc29uIC50YWIudnFEb25lLm9ue2JhY2tncm91bmQ6IzJGN0Q0RjE0fQogICNsZXNzb24gLnRhYi52cU5leHQ6bm90KC5vbik6OmFm
dGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIo
LS1hY2NlbnQpO21hcmdpbi1sZWZ0OjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9CiAgLnZxU3RlcE5leHR7bWFyZ2luLXRvcDoxMnB4O3RleHQtYWxpZ246
Y2VudGVyfQogIC52cVN0ZXBOZXh0IC5tdXRlZHtmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjV9CiAgLnZxU3Rl
cE5leHQgLmJ0bntwYWRkaW5nOjEycHggMjZweDtmb250LXNpemU6MTVweH0KICBgOwogIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzKTsKfSkoKTsK
Y29uc3QgVlFfU1RFUFMgPSBbWyJsZWFybiIsICLwn5OWIExlYXJuIiwgImxlYXJuIl0sIFsic3RvcnkiLCAi8J+OrSBTdG9yeSIsICJzdG9yeSJdLCBbInRh
bGsiLCAi8J+SrCBUYWxrIiwgInRhbGsiXSwgWyJzcGVhayIsICLwn5ej77iPIFNwZWFrIiwgInNwZWFrIl0sIFsiYm9zcyIsICLwn46uIEJvc3MiLCAicGxh
eSJdXTsKZnVuY3Rpb24gdnFJc1F1ZXN0KCkgeyByZXR1cm4gISEoY3VyICYmIGN1ci5uICYmIExFU1NPTlMuc29tZShMID0+IEwubiA9PT0gY3VyLm4pKTsg
fQovKiB0aGUgbmV4dCB1bmZpbmlzaGVkIHBhcnQgb2YgdGhlIGN1cnJlbnQgcXVlc3Qg4oCUIHRoZSBwYXJ0cyBhZnRlciBgZnJvbWAgZmlyc3QsIHRoZW4g
dGhlIG9uZXMgYmVmb3JlIGl0ICovCmZ1bmN0aW9uIHZxUXVlc3ROZXh0KGZyb20pIHsKICBpZiAoIXZxSXNRdWVzdCgpKSByZXR1cm4gbnVsbDsKICBjb25z
dCBzID0gbHN0YXRlKGN1ci5uKS5zdGFycyB8fCB7fTsKICBjb25zdCBvcmRlciA9IFZRX1NURVBTLm1hcCh4ID0+IHhbMF0pOwogIGNvbnN0IGkgPSBmcm9t
ID8gb3JkZXIuaW5kZXhPZihmcm9tKSA6IC0xOwogIGNvbnN0IHNlcSA9IFsuLi5vcmRlci5zbGljZShpICsgMSksIC4uLm9yZGVyLnNsaWNlKDAsIE1hdGgu
bWF4KDAsIGkpKV07CiAgZm9yIChjb25zdCBrIG9mIHNlcSkgaWYgKCFzW2tdKSByZXR1cm4gVlFfU1RFUFMuZmluZCh4ID0+IHhbMF0gPT09IGspOwogIHJl
dHVybiBudWxsOyAvLyBldmVyeSBzdGFyIGVhcm5lZAp9CmZ1bmN0aW9uIHZxUXVlc3REb25lKCkgewogIGNvbnN0IG4gPSBjdXIubjsKICBnb01hcCgpOwog
IGlmICh0eXBlb2YgdnFRdWVzdENlbGVicmF0ZSA9PT0gImZ1bmN0aW9uIikgeyB2cVF1ZXN0Q2VsZWJyYXRlKG4pOyByZXR1cm47IH0KICBjb25zdCBiID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGIuY2xhc3NOYW1lID0gImxldmVsdXAtYmFubmVyIjsgYi50ZXh0Q29udGVudCA9IGDwn4+GIFF1ZXN0
ICR7bn0gY29tcGxldGUg4oCUIGFsbCBmaXZlIHN0YXJzIWA7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTsgc2V0VGltZW91dCgoKSA9PiBiLnJl
bW92ZSgpLCAyODAwKTsKICB0cnkgeyBjb25mZXR0aSgpOyBzZngud2luKCk7IH0gY2F0Y2ggKGUpIHt9Cn0KZnVuY3Rpb24gdnFTdGVwR28oZnJvbSkgewog
IGNvbnN0IG54ID0gdnFRdWVzdE5leHQoZnJvbSk7CiAgaWYgKG54KSBzZXRUYWIobnhbMl0pOyBlbHNlIHZxUXVlc3REb25lKCk7Cn0KLyogdGFiczog4pyT
IG9uIGZpbmlzaGVkIHBhcnRzLCBhIGRvdCBvbiB0aGUgbmV4dCBvbmUgKi8KZnVuY3Rpb24gdnFTdGVwcGVyKCkgewogIGNvbnN0IHRhYnMgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCIjbGVzc29uIC50YWIiKTsKICBjb25zdCBxdWVzdCA9IHZxSXNRdWVzdCgpOwogIGNvbnN0IHMgPSBxdWVzdCA/IChsc3Rh
dGUoY3VyLm4pLnN0YXJzIHx8IHt9KSA6IHt9OwogIGNvbnN0IG54ID0gcXVlc3QgPyB2cVF1ZXN0TmV4dCgpIDogbnVsbDsKICB0YWJzLmZvckVhY2godCA9
PiB7CiAgICBjb25zdCBzdGVwID0gVlFfU1RFUFMuZmluZCh4ID0+IHhbMl0gPT09IHQuZGF0YXNldC50YWIpOwogICAgbGV0IHRpY2sgPSB0LnF1ZXJ5U2Vs
ZWN0b3IoIi52cVRpY2siKTsKICAgIGNvbnN0IGRvbmUgPSAhIShxdWVzdCAmJiBzdGVwICYmIHNbc3RlcFswXV0pOwogICAgdC5jbGFzc0xpc3QudG9nZ2xl
KCJ2cURvbmUiLCBkb25lKTsKICAgIHQuY2xhc3NMaXN0LnRvZ2dsZSgidnFOZXh0IiwgISEocXVlc3QgJiYgc3RlcCAmJiAhZG9uZSAmJiBueCAmJiBueFsw
XSA9PT0gc3RlcFswXSkpOwogICAgaWYgKGRvbmUgJiYgIXRpY2spIHsgdGljayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsgdGljay5jbGFz
c05hbWUgPSAidnFUaWNrIjsgdGljay50ZXh0Q29udGVudCA9ICIg4pyTIjsgdC5hcHBlbmRDaGlsZCh0aWNrKTsgfQogICAgaWYgKCFkb25lICYmIHRpY2sp
IHRpY2sucmVtb3ZlKCk7CiAgfSk7Cn0KLyogdGhlICJOZXh0IiBiYW5uZXIgYXQgdGhlIGVuZCBvZiBhIHBhcnQ7IGJlZm9yZSB0aGUgcGFydCBpcyBkb25l
IGl0IGlzIGEgcXVpZXQgaGludCBvZiB3aGF0IGNvbWVzIGFmdGVyICovCmZ1bmN0aW9uIHZxU3RlcEJhbm5lcihwYXJ0KSB7CiAgdnFTdGVwcGVyKCk7CiAg
Y29uc3QgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHsgbGVhcm46ICJ0YWItbGVhcm4iLCBzdG9yeTogInN0Q2hvaWNlcyIsIHNwZWFrOiAidGFi
LXNwZWFrIiB9W3BhcnRdKTsKICBpZiAoIWhvc3QpIHJldHVybjsKICBsZXQgYm4gPSBob3N0LnF1ZXJ5U2VsZWN0b3IoIjpzY29wZSA+IC52cVN0ZXBOZXh0
Iik7CiAgaWYgKCF2cUlzUXVlc3QoKSkgeyBpZiAoYm4pIGJuLnJlbW92ZSgpOyByZXR1cm47IH0KICBjb25zdCBzdCA9IGxzdGF0ZShjdXIubiksIHMgPSBz
dC5zdGFycyB8fCB7fTsKICBpZiAoIWJuKSB7IGJuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGJuLmNsYXNzTmFtZSA9ICJ2cVN0ZXBOZXh0
IjsgaG9zdC5hcHBlbmRDaGlsZChibik7IH0KICBpZiAoc1twYXJ0XSkgewogICAgY29uc3QgbnggPSB2cVF1ZXN0TmV4dChwYXJ0KTsKICAgIGJuLmlubmVy
SFRNTCA9IGA8YnV0dG9uIGNsYXNzPSJidG4iIG9uY2xpY2s9InZxU3RlcEdvKCcke3BhcnR9JykiPiR7bnggPyAiTmV4dDogIiArIG54WzFdICsgIiDihpIi
IDogIvCfj4YgRmluaXNoIHF1ZXN0IOKGkiJ9PC9idXR0b24+YDsKICAgIHJldHVybjsKICB9CiAgY29uc3QgbnggPSB2cVF1ZXN0TmV4dChwYXJ0KTsKICBs
ZXQgaGludCA9ICIiOwogIGlmIChwYXJ0ID09PSAibGVhcm4iKSB7IGNvbnN0IGxlZnQgPSBjdXIud29yZHMubGVuZ3RoIC0gc3Qua25vd24ubGVuZ3RoOyBo
aW50ID0gYCR7bGVmdH0gbW9yZSB3b3JkJHtsZWZ0ID09PSAxID8gIiIgOiAicyJ9IHRvIHRoZSDirZBgOyB9CiAgaWYgKHBhcnQgPT09ICJzcGVhayIpIHsg
Y29uc3QgbGVmdCA9IE1hdGgubWF4KDAsIDUgLSAoc3Quc3Bva2VuIHx8IFtdKS5sZW5ndGgpOyBoaW50ID0gYCR7bGVmdH0gbW9yZSBzZW50ZW5jZSR7bGVm
dCA9PT0gMSA/ICIiIDogInMifSB0byB0aGUg4q2QYDsgfQogIGJuLmlubmVySFRNTCA9IGhpbnQgPyBgPGRpdiBjbGFzcz0ibXV0ZWQiPiR7aGludH0ke254
ID8gIiDCtyB0aGVuICIgKyBueFsxXSA6ICIifTwvZGl2PmAgOiAiIjsKfQovKiB0aGUgZW5naW5lJ3Mgb3duIHJlbmRlcmVycywgd3JhcHBlZCBzbyB0aGUg
YmFubmVyIGZvbGxvd3MgZXZlcnkgY2FyZCBjaGFuZ2UgKi8KZnVuY3Rpb24gcmVuZGVyTGVhcm4oKSB7IHJlbmRlckxlYXJuQ29yZSgpOyB2cVN0ZXBCYW5u
ZXIoImxlYXJuIik7IH0KZnVuY3Rpb24gcmVuZGVyU3BlYWsoKSB7IHJlbmRlclNwZWFrQ29yZSgpOyB2cVN0ZXBCYW5uZXIoInNwZWFrIik7IH0KLyogdGhl
IFRhbGsgc2NyZWVuJ3Mgb3duICJOZXh0IOKGkiIgYnV0dG9uIChlbmdpbmUgaG9vaykgKi8Kd2luZG93LmtxQWZ0ZXJUYWxrID0gKCkgPT4gdnFTdGVwR28o
InRhbGsiKTsKLyogdGhlIHJlc3VsdCBzY3JlZW4gKGJvc3MsIHNwZWVkIHF1aXosIG1hdGNoLCBidWlsZGVyLCBlYXIsIHJldmlldyk6IG9uZSBidXR0b24g
dG8gdGhlIG5leHQgcGFydCAqLwpmdW5jdGlvbiB2cVJlc3VsdEdvKCkgewogIGlmICh2cUlzUXVlc3QoKSkgeyBjb25zdCBueCA9IHZxUXVlc3ROZXh0KCk7
IGlmIChueCkgb3Blbkxlc3NvbihjdXIubiwgbnhbMl0pOyBlbHNlIHZxUXVlc3REb25lKCk7IHJldHVybjsgfQogIHRyeSB7IHZxTmV4dCgpLmdvKCk7IH0g
Y2F0Y2ggKGUpIHsgZ29NYXAoKTsgfQp9CmZ1bmN0aW9uIHZxUmVzdWx0TmV4dCgpIHsKICBjb25zdCBybiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXNOZXh0Iik7IGlmICghcm4pIHJldHVybjsKICB0cnkgewogICAgbGV0IGxhYmVsOwogICAgaWYgKHZxSXNRdWVzdCgpKSB7IGNvbnN0IG54ID0gdnFRdWVz
dE5leHQoKTsgbGFiZWwgPSBueCA/IGBOZXh0OiAke254WzFdfSDihpJgIDogIvCfj4YgRmluaXNoIHF1ZXN0IOKGkiI7IH0KICAgIGVsc2UgeyBjb25zdCBu
eCA9IHZxTmV4dCgpOyBsYWJlbCA9IGBOZXh0OiAke254LnR9IOKAlCAke254LnN9IOKGkmA7IH0KICAgIHJuLmlubmVySFRNTCArPSBgPGRpdiBzdHlsZT0i
bWFyZ2luLXRvcDoxMHB4OyI+PGJ1dHRvbiBjbGFzcz0iYnRuIiBzdHlsZT0icGFkZGluZzoxMnB4IDI2cHg7Zm9udC1zaXplOjE1cHg7IiBvbmNsaWNrPSJ2
cVJlc3VsdEdvKCkiPiR7bGFiZWx9PC9idXR0b24+PC9kaXY+YDsKICB9IGNhdGNoIChlKSB7fQp9Ci8qID09PT09PT09PT09PT09PSBNRU1CRVIg4oCUIHNp
Z24gaW4gd2l0aCBhbiBlbWFpbCBjb2RlLCBubyBwYXNzd29yZCA9PT09PT09PT09PT09PT0gKi8KLyogQSBtZW1iZXIgaXMgYW4gZW1haWwgcHJvdmVuIG9u
Y2UgYnkgYSA2LWRpZ2l0IGNvZGUuIFRoZSBzZXJ2ZXIgaGFuZHMgYmFjayB0aGUgc2F2ZSBjb2RlCiAgIHRoZSBnYW1lIGFscmVhZHkgc3luY3Mgd2l0aCwg
c28gc2lnbmluZyBpbiBvbiBhIG5ldyBkZXZpY2Ugc2ltcGx5IGxvYWRzIHlvdXIgcHJvZ3Jlc3MuCiAgIFN0b3JlZCBvbiB0aGUgc2VydmVyOiBzaGEyNTYo
ZW1haWwpIOKGkiBzYXZlIGNvZGUg4oaSIHRoZSBzYXZlLiBMb2NhbGx5OiB0aGUgZW1haWwgKHRvIHNob3cgd2hvCiAgIGlzIHNpZ25lZCBpbikgYW5kIHRo
ZSBzYXZlIGNvZGUuIFNpZ24gb3V0IGZvcmdldHMgYm90aCBoZXJlOyBEZWxldGUgbXkgYWNjb3VudCBlcmFzZXMKICAgdGhlIG1lbWJlciByb3cgYW5kIHRo
ZSBzYXZlIG9uIHRoZSBzZXJ2ZXIgKEFwcCBTdG9yZSA1LjEuMSh2KSkuICovCmNvbnN0IFZRX0FVVEhfVVJMID0gImh0dHBzOi8vdG9tcGhhbS5jYS93cC1q
c29uL3ZxL3YxL2F1dGgiOwpjb25zdCBNQiA9IHsgZW1haWw6ICIiLCBidXN5OiBmYWxzZSB9OwpmdW5jdGlvbiB2cU1lbWJlcigpIHsgdHJ5IHsgcmV0dXJu
IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oInZxTWVtYmVyIikgfHwgIm51bGwiKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gbnVsbDsgfSB9CmZ1
bmN0aW9uIHZxTWVtYmVyU2V0KG0pIHsgdHJ5IHsgaWYgKG0pIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cU1lbWJlciIsIEpTT04uc3RyaW5naWZ5KG0pKTsg
ZWxzZSBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgidnFNZW1iZXIiKTsgfSBjYXRjaCAoZSkge30gfQpmdW5jdGlvbiB2cU1hc2tFbWFpbChlKSB7IGNvbnN0
IFt1LCBkXSA9IFN0cmluZyhlIHx8ICIiKS5zcGxpdCgiQCIpOyBpZiAoIWQpIHJldHVybiBlIHx8ICIiOyByZXR1cm4gKHUubGVuZ3RoIDw9IDIgPyB1WzBd
ICsgIioiIDogdVswXSArICIqKioiICsgdS5zbGljZSgtMSkpICsgIkAiICsgZDsgfQphc3luYyBmdW5jdGlvbiBtYkFwaShwYXRoLCBib2R5KSB7CiAgY29u
c3QgcmVzID0gYXdhaXQgZmV0Y2goVlFfQVVUSF9VUkwgKyBwYXRoLCB7IG1ldGhvZDogIlBPU1QiLCBoZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBw
bGljYXRpb24vanNvbiIgfSwgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSkgfSk7CiAgY29uc3QgaiA9IGF3YWl0IHJlcy5qc29uKCkuY2F0Y2goKCkgPT4g
KHt9KSk7CiAgaWYgKCFyZXMub2spIHRocm93IG5ldyBFcnJvcihqLmVycm9yIHx8ICgiSFRUUCAiICsgcmVzLnN0YXR1cykpOwogIHJldHVybiBqOwp9Ci8q
IHRoZSBtYXAgY2FyZCBzcGVha3MgbWVtYmVyIGZpcnN0OyB0aGUgcmF3IHNhdmUgY29kZSBsaXZlcyBiZWhpbmQgIkFkdmFuY2VkIiAodnEtYnVpbGQgcmVu
YW1lcyB0aGUgc3luYyBtb2R1bGUncyBjYXJkIHRvIHN5Q2FyZEh0bWxDb2RlKSAqLwpmdW5jdGlvbiBzeUNhcmRIdG1sKCkgewogIGlmICghVlFfQVVUSF9V
UkwpIHJldHVybiBzeUNhcmRIdG1sQ29kZSgpOwogIGNvbnN0IG0gPSB2cU1lbWJlcigpOwogIGlmIChtICYmIFNZLmNvZGUpIHsKICAgIGNvbnN0IHN0ID0g
U1kuc3RhdHVzID09PSAib2ZmbGluZSIgPyAib2ZmbGluZSDigJQgd2lsbCBzeW5jIHdoZW4geW91IGFyZSBiYWNrIG9ubGluZSIgOiBTWS5zdGF0dXMgPT09
ICJlcnIiID8gImNvdWxkIG5vdCByZWFjaCB0aGUgc2VydmVyIOKAlCB3aWxsIHJldHJ5IiA6IFNZLndoZW4gPyAic3luY2VkIGp1c3Qgbm93IiA6ICJzeW5j
ZWQiOwogICAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJsbnVtIj5NRU1CRVIgwrcgT048L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibHRpdGxlIj7wn5GkICR7dnFN
YXNrRW1haWwobS5lbWFpbCl9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxzdWIiPllvdXIgcHJvZ3Jlc3MgZm9sbG93cyB5b3UgKCR7c3R9KS4gVGFwIHRv
IHNpZ24gb3V0LCBzd2l0Y2ggZGV2aWNlcywgb3IgZGVsZXRlIHlvdXIgYWNjb3VudC48L2Rpdj5gOwogIH0KICBpZiAoU1kuY29kZSkgcmV0dXJuIGA8ZGl2
IGNsYXNzPSJsbnVtIj5NRU1CRVIgwrcgU0FWRSBDT0RFPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imx0aXRsZSI+4piB77iPICR7c3lGbXQoU1kuY29kZSl9
PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxzdWIiPlN5bmNpbmcgd2l0aCBhIHNhdmUgY29kZS4gU2lnbiBpbiB3aXRoIHlvdXIgZW1haWwgdG8gbWFrZSBp
dCB5b3Vycy48L2Rpdj5gOwogIHJldHVybiBgPGRpdiBjbGFzcz0ibG51bSI+TUVNQkVSPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJsdGl0bGUiPvCfkaQgU2ln
biBpbiDigJQga2VlcCB5b3VyIHByb2dyZXNzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJsc3ViIj5Zb3VyIFZpZXRuYW1lc2UgbGl2ZXMgb25seSBvbiB0aGlz
IGRldmljZSByaWdodCBub3cuIEFuIGVtYWlsIGNvZGUgKG5vIHBhc3N3b3JkKSBzYXZlcyBpdCBhbmQgbGV0cyB5b3UgY29udGludWUgYW55d2hlcmUuPC9k
aXY+YDsKfQpmdW5jdGlvbiB2cU1lbWJlckNzcygpIHsKICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxTWJDc3MiKSkgcmV0dXJuOwogIGNvbnN0
IHN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsgc3QuaWQgPSAidnFNYkNzcyI7CiAgc3QudGV4dENvbnRlbnQgPSBgLm1iSW57d2lkdGg6
MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMnB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tY2FyZDIp
O2JhY2tncm91bmQ6dmFyKC0tYmcpO2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE2cHg7bWFyZ2luLXRvcDo4cHh9
CiAgLm1iQ29kZXtmb250LWZhbWlseTpNZW5sbyxtb25vc3BhY2U7Zm9udC1zaXplOjI0cHg7bGV0dGVyLXNwYWNpbmc6OHB4O3RleHQtYWxpZ246Y2VudGVy
fQogIC5tYlJvd3tkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW4tdG9wOjEwcHh9Lm1iUm93IC5idG4sLm1iUm93IC5zbmRidG57ZmxleDoxO21hcmdpbjow
fQogIC5tYk1zZ3tmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLXRvcDoxMHB4O21pbi1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDox
LjV9YDsKICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0KTsKfQpmdW5jdGlvbiBvcGVuTWVtYmVyKHZpZXcpIHsKICBpZiAoIVZRX0FVVEhfVVJMKSB7
IG9wZW5TeW5jKCk7IHJldHVybjsgfQogIHZxTWVtYmVyQ3NzKCk7CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN5V3JhcCIpOyBp
ZiAob2xkKSBvbGQucmVtb3ZlKCk7CiAgY29uc3QgbSA9IHZxTWVtYmVyKCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyB3
LmlkID0gInN5V3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDIwLDE0LDQsLjU1KTt6
LWluZGV4OjEwMDAyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7b3ZlcmZsb3c6
YXV0bzsiOwogIGNvbnN0IHN1bSA9IHN5U3VtbWFyeShzYXZlKTsKICBsZXQgYm9keSA9ICIiOwogIGlmIChtICYmIFNZLmNvZGUgJiYgdmlldyAhPT0gImNv
ZGUiKSB7CiAgICBib2R5ID0gYDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO2Nv
bG9yOnZhcigtLXRleHQpOyI+8J+RpCBTaWduZWQgaW48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iY29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxM3B4
O21hcmdpbi10b3A6NHB4O2xpbmUtaGVpZ2h0OjEuNTsiPiR7dnFNYXNrRW1haWwobS5lbWFpbCl9IMK3ICR7c3lMaW5lKHN1bSl9PC9kaXY+CiAgICAgIDxk
aXYgc3R5bGU9Im1hcmdpbi10b3A6MTJweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Zm9u
dC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjU1OyI+WW91ciBwcm9ncmVzcyBmb2xsb3dzIHlvdS4gT24gYW5vdGhlciBw
aG9uZSBvciBjb21wdXRlcjogb3BlbiB0aGUgZ2FtZSDihpIgPGI+TWVtYmVyPC9iPiDihpIgc2lnbiBpbiB3aXRoIHRoZSBzYW1lIGVtYWlsLCBhbmQgZXZl
cnl0aGluZyBpcyB0aGVyZS48L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW46MTJweCAwIDA7cGFk
ZGluZzoxMHB4O2ZvbnQtc2l6ZToxM3B4OyIgaWQ9Im1iT3V0Ij5TaWduIG91dCBvbiB0aGlzIGRldmljZTwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNz
PSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo4cHggMCAwO3BhZGRpbmc6MTBweDtmb250LXNpemU6MTNweDsiIGlkPSJtYkFkdiI+QWR2YW5j
ZWQ6IG15IHNhdmUgY29kZTwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo4cHggMCAwO3Bh
ZGRpbmc6MTBweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1yZWQpOyIgaWQ9Im1iRGVsIj5EZWxldGUgbXkgYWNjb3VudCBhbmQgbXkgcHJvZ3Jlc3Mg
ZnJvbSB0aGUgc2VydmVyPC9idXR0b24+YDsKICB9IGVsc2UgaWYgKHZpZXcgPT09ICJjb2RlIikgewogICAgYm9keSA9IGA8ZGl2IHN0eWxlPSJmb250LWZh
bWlseTpHZW9yZ2lhLHNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS10ZXh0KTsiPvCfk6wgQ2hlY2sgeW91ciBlbWFp
bDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHg7bWFyZ2luLXRvcDo0cHg7bGluZS1oZWlnaHQ6MS41
OyI+QSA2LWRpZ2l0IGNvZGUgaXMgb24gaXRzIHdheSB0byA8Yj4ke3ZxTWFza0VtYWlsKE1CLmVtYWlsKX08L2I+LiBJdCB3b3JrcyBmb3IgMTAgbWludXRl
cy4gTm90IHRoZXJlIGluIGEgbWludXRlPyBDaGVjayBzcGFtLCBvciBzZW5kIGFub3RoZXIuPC9kaXY+CiAgICAgIDxpbnB1dCBpZD0ibWJDb2RlIiBjbGFz
cz0ibWJJbiBtYkNvZGUiIGlucHV0bW9kZT0ibnVtZXJpYyIgYXV0b2NvbXBsZXRlPSJvbmUtdGltZS1jb2RlIiBtYXhsZW5ndGg9IjYiIHBsYWNlaG9sZGVy
PSLigKLigKLigKLigKLigKLigKIiPgogICAgICA8ZGl2IGNsYXNzPSJtYlJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ibWJHbyI+U2lnbiBpbjwvYnV0
dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtYlJvdyI+PGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBpZD0ibWJBZ2FpbiI+U2VuZCBhbm90aGVyIGNvZGU8
L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzbmRidG4iIGlkPSJtYkJhY2siPkNoYW5nZSBlbWFpbDwvYnV0dG9uPjwvZGl2PmA7CiAgfSBlbHNlIHsKICAgIGJv
ZHkgPSBgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSxzZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4
dCk7Ij7wn5GkIFNpZ24gaW4g4oCUIGtlZXAgeW91ciBwcm9ncmVzczwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1z
aXplOjEzcHg7bWFyZ2luLXRvcDo0cHg7bGluZS1oZWlnaHQ6MS41OyI+Tm8gcGFzc3dvcmQuIFR5cGUgeW91ciBlbWFpbCwgd2Ugc2VuZCBhIDYtZGlnaXQg
Y29kZSwgeW91IHR5cGUgaXQgb25jZS4gRnJvbSB0aGVuIG9uIHlvdXIgcHJvZ3Jlc3MgKCR7c3lMaW5lKHN1bSl9KSBmb2xsb3dzIHlvdSB0byBhbnkgZGV2
aWNlLjwvZGl2PgogICAgICA8aW5wdXQgaWQ9Im1iRW1haWwiIGNsYXNzPSJtYkluIiB0eXBlPSJlbWFpbCIgaW5wdXRtb2RlPSJlbWFpbCIgYXV0b2NvbXBs
ZXRlPSJlbWFpbCIgYXV0b2NhcGl0YWxpemU9Im9mZiIgcGxhY2Vob2xkZXI9InlvdUBleGFtcGxlLmNvbSIgdmFsdWU9IiR7KE1CLmVtYWlsIHx8ICIiKS5y
ZXBsYWNlKC8iL2csICImcXVvdDsiKX0iPgogICAgICA8ZGl2IGNsYXNzPSJtYlJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ibWJTZW5kIj5TZW5kIG1l
IGEgY29kZTwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41
O21hcmdpbi10b3A6MTBweDsiPldoYXQgaXMgc3RvcmVkOiB5b3VyIGdhbWUgcHJvZ3Jlc3MgYW5kIHlvdXIgZmFtaWx5IHByb2ZpbGUsIHVuZGVyIHlvdXIg
ZW1haWwgKGtlcHQgYXMgYSBvbmUtd2F5IGhhc2gpLiBObyBtYXJrZXRpbmcsIG5vIHNoYXJpbmcsIGRlbGV0ZSBhbnkgdGltZSBmcm9tIHRoaXMgc2NyZWVu
LjwvZGl2PgogICAgICAke1NZLmNvZGUgPyAiIiA6IGA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAgMDtw
YWRkaW5nOjEwcHg7Zm9udC1zaXplOjEzcHg7IiBpZD0ibWJBZHYiPkkgaGF2ZSBhIHNhdmUgY29kZSBpbnN0ZWFkPC9idXR0b24+YH1gOwogIH0KICBib2R5
ICs9IGA8ZGl2IGNsYXNzPSJtYk1zZyIgaWQ9Im1iTXNnIj48L2Rpdj48YnV0dG9uIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjo2
cHggMCAwO3BhZGRpbmc6MTBweDtmb250LXNpemU6MTNweDsiIGlkPSJtYkNsb3NlIj5DbG9zZTwvYnV0dG9uPmA7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBz
dHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czoxOHB4O21heC13aWR0aDo0
MjBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MjJweDsiPiR7Ym9keX08L2Rpdj5gOwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7CiAgY29uc3QgcSA9
IGlkID0+IHcucXVlcnlTZWxlY3RvcigiIyIgKyBpZCksIG1zZyA9IHQgPT4geyBjb25zdCBlbCA9IHEoIm1iTXNnIik7IGlmIChlbCkgZWwudGV4dENvbnRl
bnQgPSB0OyB9OwogIHEoIm1iQ2xvc2UiKS5vbmNsaWNrID0gKCkgPT4gdy5yZW1vdmUoKTsKICBpZiAocSgibWJBZHYiKSkgcSgibWJBZHYiKS5vbmNsaWNr
ID0gKCkgPT4geyB3LnJlbW92ZSgpOyBvcGVuU3luYygpOyB9OwogIGlmIChxKCJtYlNlbmQiKSkgcSgibWJTZW5kIikub25jbGljayA9IGFzeW5jICgpID0+
IHsKICAgIGNvbnN0IGVtYWlsID0gKHEoIm1iRW1haWwiKS52YWx1ZSB8fCAiIikudHJpbSgpOwogICAgaWYgKCEvXlteXHNAXStAW15cc0BdK1wuW15cc0Bd
KyQvLnRlc3QoZW1haWwpKSB7IG1zZygiVGhhdCBkb2VzIG5vdCBsb29rIGxpa2UgYW4gZW1haWwgYWRkcmVzcy4iKTsgcmV0dXJuOyB9CiAgICBNQi5lbWFp
bCA9IGVtYWlsOyBtc2coIlNlbmRpbmfigKYiKTsgcSgibWJTZW5kIikuZGlzYWJsZWQgPSB0cnVlOwogICAgdHJ5IHsgYXdhaXQgbWJBcGkoIi9zdGFydCIs
IHsgZW1haWwgfSk7IG9wZW5NZW1iZXIoImNvZGUiKTsgc2V0VGltZW91dCgoKSA9PiB7IGNvbnN0IGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWJD
b2RlIik7IGlmIChjKSBjLmZvY3VzKCk7IH0sIDUwKTsgfQogICAgY2F0Y2ggKGUpIHsgcSgibWJTZW5kIikuZGlzYWJsZWQgPSBmYWxzZTsgbXNnKGUubWVz
c2FnZSA9PT0gInRvbyBtYW55IGNvZGVzIiA/ICJUb28gbWFueSBjb2RlcyBmb3IgdGhpcyBlbWFpbCBpbiB0aGUgbGFzdCBob3VyIOKAlCB0cnkgYWdhaW4g
bGF0ZXIuIiA6ICJDb3VsZCBub3Qgc2VuZCB0aGUgY29kZSAoIiArIGUubWVzc2FnZSArICIpLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fp
bi4iKTsgfQogIH07CiAgaWYgKHEoIm1iQWdhaW4iKSkgcSgibWJBZ2FpbiIpLm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7IG1zZygiU2VuZGluZyBhbm90aGVy
4oCmIik7IHRyeSB7IGF3YWl0IG1iQXBpKCIvc3RhcnQiLCB7IGVtYWlsOiBNQi5lbWFpbCB9KTsgbXNnKCJTZW50LiBMb29rIGZvciB0aGUgbmV3ZXN0IGNv
ZGUuIik7IH0gY2F0Y2ggKGUpIHsgbXNnKCJDb3VsZCBub3Qgc2VuZCAoIiArIGUubWVzc2FnZSArICIpLiIpOyB9IH07CiAgaWYgKHEoIm1iQmFjayIpKSBx
KCJtYkJhY2siKS5vbmNsaWNrID0gKCkgPT4gb3Blbk1lbWJlcigpOwogIGlmIChxKCJtYkNvZGUiKSkgeyBxKCJtYkNvZGUiKS5vbmlucHV0ID0gKCkgPT4g
eyBxKCJtYkNvZGUiKS52YWx1ZSA9IHEoIm1iQ29kZSIpLnZhbHVlLnJlcGxhY2UoL1xEL2csICIiKS5zbGljZSgwLCA2KTsgfTsgcSgibWJDb2RlIikub25r
ZXlkb3duID0gZSA9PiB7IGlmIChlLmtleSA9PT0gIkVudGVyIikgcSgibWJHbyIpLmNsaWNrKCk7IH07IH0KICBpZiAocSgibWJHbyIpKSBxKCJtYkdvIiku
b25jbGljayA9IGFzeW5jICgpID0+IHsKICAgIGNvbnN0IGNvZGUgPSAocSgibWJDb2RlIikudmFsdWUgfHwgIiIpLnJlcGxhY2UoL1xEL2csICIiKTsKICAg
IGlmIChjb2RlLmxlbmd0aCAhPT0gNikgeyBtc2coIlRoZSBjb2RlIGhhcyA2IGRpZ2l0cy4iKTsgcmV0dXJuOyB9CiAgICBtc2coIkNoZWNraW5n4oCmIik7
IHEoIm1iR28iKS5kaXNhYmxlZCA9IHRydWU7CiAgICB0cnkgewogICAgICBjb25zdCBqID0gYXdhaXQgbWJBcGkoIi92ZXJpZnkiLCB7IGVtYWlsOiBNQi5l
bWFpbCwgY29kZSB9KTsKICAgICAgYXdhaXQgdnFNZW1iZXJBZG9wdChqLmNvZGUsIE1CLmVtYWlsLCBqLmhhc1NhdmUpOwogICAgICB3LnJlbW92ZSgpOwog
ICAgfSBjYXRjaCAoZSkgewogICAgICBxKCJtYkdvIikuZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgbXNnKGUubWVzc2FnZSA9PT0gIndyb25nIGNvZGUiID8g
IlRoYXQgY29kZSBpcyBub3QgcmlnaHQg4oCUIGNoZWNrIHRoZSBuZXdlc3QgZW1haWwuIiA6IGUubWVzc2FnZSA9PT0gImV4cGlyZWQiID8gIlRoYXQgY29k
ZSBleHBpcmVkIOKAlCBzZW5kIGFub3RoZXIuIiA6ICJDb3VsZCBub3Qgc2lnbiBpbiAoIiArIGUubWVzc2FnZSArICIpLiIpOwogICAgfQogIH07CiAgaWYg
KHEoIm1iT3V0IikpIHEoIm1iT3V0Iikub25jbGljayA9ICgpID0+IHsgdnFNZW1iZXJTZXQobnVsbCk7IFNZLmNvZGUgPSAiIjsgU1kudHMgPSAwOyBTWS5z
dGF0dXMgPSAiIjsgdHJ5IHsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZxU3luY0NvZGUiKTsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInZxU3luY1Rz
Iik7IH0gY2F0Y2ggKGUpIHt9IHcucmVtb3ZlKCk7IHN5Q2FyZFJlZnJlc2goKTsgc3lUb2FzdCgiU2lnbmVkIG91dCBvbiB0aGlzIGRldmljZS4gWW91ciBw
cm9ncmVzcyBzdGF5cyBoZXJlLiIpOyBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hcCIpLmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIikpIHJl
bmRlck1hcCgpOyB9OwogIGlmIChxKCJtYkRlbCIpKSBxKCJtYkRlbCIpLm9uY2xpY2sgPSAoKSA9PiB7CiAgICBxKCJtYkRlbCIpLm91dGVySFRNTCA9IGA8
ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2Zv
bnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuNTsiPkRlbGV0ZSB5b3VyIGFjY291bnQ/IFlvdXIgcHJvZ3Jlc3Mgb24gdGhl
IHNlcnZlciBpcyBlcmFzZWQgaW1tZWRpYXRlbHkuIFdoYXQgaXMgb24gdGhpcyBkZXZpY2Ugc3RheXMgdW50aWwgeW91IGNsZWFyIGl0LjxkaXYgY2xhc3M9
Im1iUm93Ij48YnV0dG9uIGNsYXNzPSJzbmRidG4iIGlkPSJtYkRlbE5vIj5LZWVwIGl0PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYnRuIiBzdHlsZT0iYmFj
a2dyb3VuZDp2YXIoLS1yZWQpOyIgaWQ9Im1iRGVsWWVzIj5EZWxldGUgbXkgYWNjb3VudDwvYnV0dG9uPjwvZGl2PjwvZGl2PmA7CiAgICBxKCJtYkRlbE5v
Iikub25jbGljayA9ICgpID0+IG9wZW5NZW1iZXIoKTsKICAgIHEoIm1iRGVsWWVzIikub25jbGljayA9IGFzeW5jICgpID0+IHsKICAgICAgbXNnKCJEZWxl
dGluZ+KApiIpOwogICAgICB0cnkgeyBhd2FpdCBtYkFwaSgiL2RlbGV0ZSIsIHsgZW1haWw6IG0uZW1haWwsIGNvZGU6IFNZLmNvZGUgfSk7IH0gY2F0Y2gg
KGUpIHsgaWYgKGUubWVzc2FnZSAhPT0gIm5vdCBmb3VuZCIpIHsgbXNnKCJDb3VsZCBub3QgZGVsZXRlICgiICsgZS5tZXNzYWdlICsgIikuIik7IHJldHVy
bjsgfSB9CiAgICAgIHZxTWVtYmVyU2V0KG51bGwpOyBTWS5jb2RlID0gIiI7IFNZLnRzID0gMDsgU1kuc3RhdHVzID0gIiI7IHRyeSB7IGxvY2FsU3RvcmFn
ZS5yZW1vdmVJdGVtKCJ2cVN5bmNDb2RlIik7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ2cVN5bmNUcyIpOyB9IGNhdGNoIChlKSB7fQogICAgICB3LnJl
bW92ZSgpOyBzeUNhcmRSZWZyZXNoKCk7IHN5VG9hc3QoIkFjY291bnQgZGVsZXRlZC4gTm90aGluZyBhYm91dCB5b3UgcmVtYWlucyBvbiB0aGUgc2VydmVy
LiIpOyBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hcCIpLmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIikpIHJlbmRlck1hcCgpOwogICAgfTsK
ICB9Owp9Ci8qIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjb2RlOiB0YWtlIHRoZSBtZW1iZXIncyBzYXZlIGNvZGUgYW5kIG1lcmdlIGl0IHdpdGggdGhpcyBkZXZp
Y2UsIGV4YWN0bHkgbGlrZSB0eXBpbmcgYSBzYXZlIGNvZGUgKi8KYXN5bmMgZnVuY3Rpb24gdnFNZW1iZXJBZG9wdChjb2RlLCBlbWFpbCwgaGFzU2F2ZSkg
ewogIGNvbnN0IGFkb3B0ID0gKCkgPT4geyBTWS5jb2RlID0gY29kZTsgdHJ5IHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInZxU3luY0NvZGUiLCBjb2RlKTsg
fSBjYXRjaCAoZSkge30gdnFNZW1iZXJTZXQoeyBlbWFpbCwgc2luY2U6IERhdGUubm93KCkgfSk7IHN5Q2FyZFJlZnJlc2goKTsgaWYgKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtYXAiKS5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSByZW5kZXJNYXAoKTsgfTsKICBsZXQgaiA9IG51bGw7CiAgdHJ5IHsg
aiA9IGF3YWl0IHN5QXBpKCIvZ2V0IiwgeyBjb2RlIH0pOyB9IGNhdGNoIChlKSB7fQogIGNvbnN0IHRoZWlycyA9IGogJiYgai5zYXZlID8gc3lTdW1tYXJ5
KGouc2F2ZSkgOiBudWxsLCBtaW5lID0gc3lTdW1tYXJ5KHNhdmUpOwogIGlmICh0aGVpcnMgJiYgdGhlaXJzLnhwID4gMCAmJiBtaW5lLnhwID4gNSAmJiB0
aGVpcnMueHAgIT09IG1pbmUueHApIHsKICAgIHN5Q29uZmlybSh0aGVpcnMsIG1pbmUsICgpID0+IHsgc3lBcHBseShqLnNhdmUpOyBTWS50cyA9IGoudHM7
IHRyeSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ2cVN5bmNUcyIsIGoudHMpOyB9IGNhdGNoIChlKSB7fSBhZG9wdCgpOyBzeVRvYXN0KCLimIHvuI8gU2ln
bmVkIGluIOKAlCBsb2FkZWQgIiArIHN5TGluZSh0aGVpcnMpKTsgfSwgKCkgPT4geyBhZG9wdCgpOyB2cVN5bmNQdXNoKCk7IHN5VG9hc3QoIvCfkaQgU2ln
bmVkIGluIOKAlCB0aGlzIGRldmljZSdzIHByb2dyZXNzIGlzIG5vdyB5b3VycyBldmVyeXdoZXJlIik7IH0pOwogICAgcmV0dXJuOwogIH0KICBpZiAodGhl
aXJzICYmIHRoZWlycy54cCA+IDAgJiYgbWluZS54cCA8PSA1KSB7IHN5QXBwbHkoai5zYXZlKTsgU1kudHMgPSBqLnRzOyB0cnkgeyBsb2NhbFN0b3JhZ2Uu
c2V0SXRlbSgidnFTeW5jVHMiLCBqLnRzKTsgfSBjYXRjaCAoZSkge30gYWRvcHQoKTsgc3lUb2FzdCgi4piB77iPIFNpZ25lZCBpbiDigJQgd2VsY29tZSBi
YWNrOiAiICsgc3lMaW5lKHRoZWlycykpOyByZXR1cm47IH0KICBhZG9wdCgpOyB2cVN5bmNQdXNoKCk7IHN5VG9hc3QoIvCfkaQgU2lnbmVkIGluIOKAlCB5
b3VyIHByb2dyZXNzIG5vdyBmb2xsb3dzIHlvdSIpOwogIHRyeSB7IGNvbmZldHRpKCk7IHNmeC53aW4oKTsgfSBjYXRjaCAoZSkge30KfQovKiBvbmUtdGlt
ZSBudWRnZSBhZnRlciByZWFsIHByb2dyZXNzOiB0aGUgc2F2ZSBsaXZlcyBvbiBvbmUgZGV2aWNlIHVudGlsIHRoZXkgc2lnbiBpbiAqLwpmdW5jdGlvbiB2
cU1lbWJlck9mZmVyKCkgewogIGlmICghVlFfQVVUSF9VUkwgfHwgdnFNZW1iZXIoKSB8fCBTWS5jb2RlIHx8IHNhdmUubWVtYmVyQXNrZWQpIHJldHVybjsK
ICBpZiAodG90YWxMZWFybmVkKCkgPCAyMCkgcmV0dXJuOwogIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdnFSZW1pbmRPZmZlcldyYXAsI3ZxQ2Vs
ZWJXcmFwLCN2cVdlbFdyYXAsI3ZxUmVjYXBXcmFwLCNzeVdyYXAsI3RldFNoYXJlV3JhcCIpKSByZXR1cm47IC8vIG5ldmVyIHN0YWNrIG9uIGFub3RoZXIg
c2hlZXQKICBzYXZlLm1lbWJlckFza2VkID0gMTsgcGVyc2lzdCgpOwogIGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICB3Lmlk
ID0gInZxTWVtYmVyT2ZmZXJXcmFwIjsKICB3LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA3MDt6
LWluZGV4Ojk5OTk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDsiOwogIHcuaW5u
ZXJIVE1MID0gYDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O21heC13aWR0aDozODBweDt3aWR0aDoxMDAl
O3BhZGRpbmc6MjBweDtib3gtc2hhZG93OjAgMTBweCA0MHB4ICMwMDAwMDA1NTsiPgogICAgPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6
ZToxN3B4O2NvbG9yOnZhcigtLXRleHQpOyI+8J+RpCBUd2VudHkgd29yZHMuIFdvcnRoIGtlZXBpbmcuPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNp
emU6MTMuNXB4O2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tdG9wOjhweDsiPlJpZ2h0IG5vdyB5b3VyIFZpZXRuYW1lc2UgbGl2
ZXMgb25seSBvbiB0aGlzIGRldmljZS4gU2lnbiBpbiB3aXRoIHlvdXIgZW1haWwgb25jZSDigJQgYSA2LWRpZ2l0IGNvZGUsIG5vIHBhc3N3b3JkIOKAlCBh
bmQgaXQgZm9sbG93cyB5b3UgdG8gYW55IHBob25lIG9yIGNvbXB1dGVyLCBhbmQgc3Vydml2ZXMgYSBsb3N0IG9uZS48L2Rpdj4KICAgIDxidXR0b24gb25j
bGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxTWVtYmVyT2ZmZXJXcmFwJykucmVtb3ZlKCk7b3Blbk1lbWJlcigpIiBzdHlsZT0ibWFyZ2luLXRv
cDoxNHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMnB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6
I2ZmZjtmb250LXdlaWdodDo4MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPlNpZ24gaW4gd2l0aCBteSBlbWFpbDwvYnV0dG9uPgog
ICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndnFNZW1iZXJPZmZlcldyYXAnKS5yZW1vdmUoKSIgc3R5bGU9Im1hcmdpbi10
b3A6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZh
cigtLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxM3B4OyI+Tm90IG5vdyDigJQgdGhlIE1lbWJlciBjYXJk
IGlzIGFsd2F5cyBvbiB0aGUgbWFwPC9idXR0b24+CiAgPC9kaXY+YDsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwp9Ci8qID09PT09PT09PT09
PT09PSBNWSBKT1VSTkVZIOKAlCB3aGVyZSB5b3UgYXJlLCBhbmQgdGhlIGF3YXJkcyB0aGF0IHB1bGwgeW91IGZvcndhcmQgPT09PT09PT09PT09PT09ICov
Ci8qIDEuIFRoZSByb2FkOiB0aGUgdG9uZXMg4oaSIGVpZ2h0IHN0YWdlcyBhY3Jvc3MgdHdvIHNlYXNvbnMsIHdpdGggYSAieW91IGFyZSBoZXJlIiBtYXJr
ZXIgYW5kIHJlYWwgbnVtYmVycy4KICAgMi4gTGV2ZWwgYXdhcmRzOiBldmVyeSBsZXZlbC11cCBpcyBhIGNlcmVtb255IOKAlCBhIG1lZGFsIHdpdGggYSBW
aWV0bmFtZXNlIHRpdGxlIGFuZCBhIG5ldyBhdmF0YXIgdG8KICAgICAgY29sbGVjdC4gVGhlIEhVRCBhdmF0YXIgaXMgdGhlIG9uZSB5b3UgY2hvc2U7IHRo
ZSBUb2RheSBjYXJkIHNob3dzIHRoZSBuZXh0IGF3YXJkIGluIFhQLiAqLwpjb25zdCBWUV9BV0FSRFMgPSBbCiAgLy8gbGV2ZWwsIG1lZGFsLCBWaWV0bmFt
ZXNlIHRpdGxlLCBFbmdsaXNoLCBhdmF0YXIgdW5sb2NrZWQsIG9uZSBsaW5lIG9mIHdoeSBpdCBtYXR0ZXJzCiAgWzEsICAi8J+QryIsICJDaMOhdSBuZ29h
biIsICAgICAgICAiVGhlIGdvb2QgZ3JhbmRjaGlsZCIsICAgICAgICAi8J+QryIsICJEYXkgb25lLiBZb3Ugc2hvd2VkIHVwIGZvciBiw6AuIl0sCiAgWzIs
ICAi8J+NmiIsICJC4buvYSBjxqFtIMSR4bqndSB0acOqbiIsICAiRmlyc3QgZmFtaWx5IG1lYWwiLCAgICAgICAgICAi8J+NmiIsICJBIGh1bmRyZWQgWFAg
b2YgVmlldG5hbWVzZSBvdXQgbG91ZC4iXSwKICBbMywgICLimJUiLCAiQ8OgIHBow6ogc+G7r2EgxJHDoSIsICAgICAiQ2Fmw6kgcmVndWxhciIsICAgICAg
ICAgICAgICAgIuKYlSIsICJZb3Ugb3JkZXJlZCBsaWtlIGEgSGFub2lhbi4iXSwKICBbNCwgICLwn5e677iPIiwgIlBo4buRIGPhu5UiLCAgICAgICAgICAg
ICJPbGQgUXVhcnRlciBuYXZpZ2F0b3IiLCAgICAgICLwn5e677iPIiwgIlRoaXJ0eS1zaXggc3RyZWV0cywgYW5kIHlvdSBmb3VuZCB5b3Vycy4iXSwKICBb
NSwgICLwn5u1IiwgIlhlIMO0bSBFeHBsb3JlciIsICAgICJYZSDDtG0gRXhwbG9yZXIiLCAgICAgICAgICAgICAi8J+btSIsICJZb3UgY3Jvc3NlZCB0aGUg
bW90b3JiaWtlIHJpdmVyLiJdLAogIFs2LCAgIvCfpa0iLCAiQ2jhu6MgQ2hhbXBpb24iLCAgICAgICJNYXJrZXQgY2hhbXBpb24iLCAgICAgICAgICAgICLw
n6WtIiwgIkJhcmdhaW5lZCB3aXRoIGhlYXJ0LiBCw6AgYXBwcm92ZWQuIl0sCiAgWzcsICAi8J+Xo++4jyIsICJDaHV54buHbiB0csOyIiwgICAgICAgICJG
YW1pbHkgaW50ZXJ2aWV3IHN1cnZpdm9yIiwgICLwn5ej77iPIiwgIkV2ZXJ5IHJlbGF0aXZlIGFza2VkLiBZb3UgYW5zd2VyZWQuIl0sCiAgWzgsICAi8J+T
niIsICJH4buNaSB24buBIG5ow6AiLCAgICAgICAgIlRoZSBncmFuZGNoaWxkIHdobyBjYWxscyIsICAgIvCfk54iLCAiTW9tIGhlYXJkIGl0IGluIFZpZXRu
YW1lc2UuIl0sCiAgWzksICAi8J+SmyIsICJOw7NpIHRo4bqtdCBsw7JuZyIsICAgICAiRnJvbSB0aGUgaGVhcnQiLCAgICAgICAgICAgICAi8J+SmyIsICJZ
b3Ugc2FpZCB3aGF0IHlvdXIgaGVhcnQgc2F5cy4iXSwKICBbMTAsICLwn6enIiwgIlThur90IFRyYWlsYmxhemVyIiwgICAiVOG6v3QgVHJhaWxibGF6ZXIi
LCAgICAgICAgICAgICLwn6enIiwgIkNow7pjIG3hu6tuZyBuxINtIG3hu5tpLCBpbiB0aGUgcmlnaHQgb3JkZXIuIl0sCiAgWzExLCAi8J+MhiIsICJW4buB
IFPDoGkgR8OybiIsICAgICAgICAiU291dGhlcm4gc2Vhc29uIiwgICAgICAgICAgICAi8J+MhiIsICJRdeG6uW8gdHLDoWkuIFNlYXNvbiAyIGlzIG9wZW4u
Il0sCiAgWzEyLCAi8J+PpSIsICJOZ8aw4budaSBuaMOgIiwgICAgICAgICAiRmFtaWx5LCBmdWxseSIsICAgICAgICAgICAgICAi8J+PpSIsICJUaGUgZG9j
dG9yLCB0aGUgYmFuaywgdGhlIHVuY2xlcyDigJQgaGFuZGxlZC4iXSwKICBbMTUsICLwn5Wv77iPIiwgIsSQw6FtIGdp4buXIiwgICAgICAgICAgICJBdCB0
aGUgYWx0YXIiLCAgICAgICAgICAgICAgICLwn5Wv77iPIiwgIkZpZnRlZW4gbGV2ZWxzLiBZb3Uga25vdyB3aGF0IHRvIGRvLiJdLAogIFsyMCwgIvCfkZEi
LCAiSHV54buBbiB0aG/huqFpIiwgICAgICAgIlZp4buHdCBOYW0gTGVnZW5kIiwgICAgICAgICAgICAi8J+RkSIsICJUd2VudHkgbGV2ZWxzLiBCw6Agbmdv
4bqhaSBpcyBwcm91ZC4iXSwKXTsKZnVuY3Rpb24gdnFBd2FyZEZvcihsdikgeyByZXR1cm4gVlFfQVdBUkRTLmZpbmQoYSA9PiBhWzBdID09PSBsdikgfHwg
bnVsbDsgfQpmdW5jdGlvbiB2cUF3YXJkc0Vhcm5lZCgpIHsgcmV0dXJuIFZRX0FXQVJEUy5maWx0ZXIoYSA9PiBhWzBdIDw9IChzYXZlLmxldmVsIHx8IDEp
KTsgfQpmdW5jdGlvbiB2cU5leHRBd2FyZCgpIHsgcmV0dXJuIFZRX0FXQVJEUy5maW5kKGEgPT4gYVswXSA+IChzYXZlLmxldmVsIHx8IDEpKSB8fCBudWxs
OyB9CmZ1bmN0aW9uIHZxQXZhdGFycygpIHsgcmV0dXJuIHZxQXdhcmRzRWFybmVkKCkubWFwKGEgPT4gYVs0XSk7IH0KZnVuY3Rpb24gdnFBdmF0YXIoKSB7
IGNvbnN0IGxpc3QgPSB2cUF2YXRhcnMoKTsgcmV0dXJuIChzYXZlLmF2YXRhciAmJiBsaXN0LmluY2x1ZGVzKHNhdmUuYXZhdGFyKSkgPyBzYXZlLmF2YXRh
ciA6IGxpc3RbbGlzdC5sZW5ndGggLSAxXTsgfQpmdW5jdGlvbiB2cUF2YXRhclJlbmRlcigpIHsgY29uc3QgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCIuYXZhdGFyIik7IGlmIChlbCkgeyBlbC50ZXh0Q29udGVudCA9IHZxQXZhdGFyKCk7IGVsLnN0eWxlLmN1cnNvciA9ICJwb2ludGVyIjsgZWwudGl0bGUg
PSAiVGFwIHRvIGNob29zZSB5b3VyIGF2YXRhciI7IGVsLm9uY2xpY2sgPSBvcGVuQXZhdGFyczsgfSB9Ci8qIHRoZSBsZXZlbC11cCBjZXJlbW9ueSAocmVw
bGFjZXMgdGhlIGVuZ2luZSdzIHNtYWxsIGJhbm5lciB3aGVuIHRoZXJlIGlzIGFuIGF3YXJkIGZvciB0aGlzIGxldmVsKSAqLwpmdW5jdGlvbiB2cUxldmVs
QXdhcmQobHYpIHsKICBjb25zdCBhID0gdnFBd2FyZEZvcihsdik7CiAgc2F2ZS5tZWRhbHMgPSBzYXZlLm1lZGFscyB8fCBbXTsgaWYgKCFzYXZlLm1lZGFs
cy5pbmNsdWRlcyhsdikpIHNhdmUubWVkYWxzLnB1c2gobHYpOwogIGlmICghYSkgcmV0dXJuIGZhbHNlOwogIGlmICghc2F2ZS5hdmF0YXIgfHwgIXZxQXZh
dGFycygpLmluY2x1ZGVzKHNhdmUuYXZhdGFyKSkgc2F2ZS5hdmF0YXIgPSBhWzRdOwogIHBlcnNpc3QoKTsKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIHZx
Q2VsZWJyYXRlKHsgZW1vamk6IGFbMV0sIGtpY2tlcjogYExFVkVMICR7bHZ9IMK3IEhVWSBDSMavxqBOR2AsIHRpdGxlOiBhWzJdLCBzdWI6IGAke2FbM119
IOKAlCAke2FbNV19PGJyPjxicj5OZXcgYXZhdGFyIHVubG9ja2VkOiA8YiBzdHlsZT0iZm9udC1zaXplOjIwcHg7Ij4ke2FbNF19PC9iPiDigJQgdGFwIHlv
dXIgYXZhdGFyIGF0IHRoZSB0b3AgdG8gc3dpdGNoLmAsIGN0YTogIkPhuqNtIMahbiDihpIiIH0pOwogICAgdnFBdmF0YXJSZW5kZXIoKTsgdHJ5IHsgcmVu
ZGVySHVkKCk7IH0gY2F0Y2ggKGUpIHt9CiAgfSwgMzUwKTsKICByZXR1cm4gdHJ1ZTsKfQpmdW5jdGlvbiBvcGVuQXZhdGFycygpIHsKICBjb25zdCBvbGQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFBdldyYXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNvbnN0IG1pbmUgPSB2cUF2YXRhcigpOwog
IGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgdy5pZCA9ICJ2cUF2V3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9u
OmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMDAwMDAwNzA7ei1pbmRleDo5OTk5O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1j
b250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7IjsKICB3LmlubmVySFRNTCA9IGA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlci1y
YWRpdXM6MTZweDttYXgtd2lkdGg6NDIwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjE4cHg7Ym94LXNoYWRvdzowIDEwcHggNDBweCAjMDAwMDAwNTU7Ij4KICAg
IDxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTdweDtjb2xvcjp2YXIoLS10ZXh0KTsiPllvdXIgYXZhdGFyPC9kaXY+CiAgICA8ZGl2
IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW46NHB4IDAgMTJweDsiPk9uZSBwZXIgbGV2ZWwuIFRhcCBvbmUgeW91
IGhhdmUgZWFybmVkOyB0aGUgcmVzdCB1bmxvY2sgYXMgeW91IGxldmVsIHVwLjwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVt
cGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpO2dhcDo4cHg7Ij4ke1ZRX0FXQVJEUy5tYXAoYSA9PiB7IGNvbnN0IGdvdCA9IGFbMF0gPD0gKHNhdmUubGV2
ZWwgfHwgMSk7IHJldHVybiBgPGJ1dHRvbiAke2dvdCA/IGBvbmNsaWNrPSJzYXZlLmF2YXRhcj0nJHthWzRdfSc7cGVyc2lzdCgpO3ZxQXZhdGFyUmVuZGVy
KCk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxQXZXcmFwJykucmVtb3ZlKCkiYCA6ICJkaXNhYmxlZCJ9IHRpdGxlPSIke2FbMl19IiBzdHlsZT0iYXNw
ZWN0LXJhdGlvOjE7Ym9yZGVyLXJhZGl1czoxNHB4O2JvcmRlcjoycHggc29saWQgJHthWzRdID09PSBtaW5lID8gInZhcigtLWFjY2VudCkiIDogInZhcigt
LWNhcmQyKSJ9O2JhY2tncm91bmQ6JHtnb3QgPyAidmFyKC0tY2FyZDIpIiA6ICJ0cmFuc3BhcmVudCJ9O2ZvbnQtc2l6ZToyOHB4O2N1cnNvcjoke2dvdCA/
ICJwb2ludGVyIiA6ICJkZWZhdWx0In07b3BhY2l0eToke2dvdCA/IDEgOiAuMzV9O3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Ij4k
e2dvdCA/IGFbNF0gOiAi8J+UkiJ9PHNwYW4gc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozcHg7cmlnaHQ6NnB4O2ZvbnQtc2l6ZTo5cHg7Y29s
b3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjgwMDsiPiR7YVswXX08L3NwYW4+PC9idXR0b24+YDsgfSkuam9pbigiIil9PC9kaXY+CiAgICA8YnV0dG9u
IG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2cUF2V3JhcCcpLnJlbW92ZSgpIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O3dpZHRoOjEwMCU7
cGFkZGluZzoxMXB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo4
MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPkRvbmU8L2J1dHRvbj4KICA8L2Rpdj5gOwogIHcub25jbGljayA9IGUgPT4geyBpZiAo
ZS50YXJnZXQgPT09IHcpIHcucmVtb3ZlKCk7IH07CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3KTsKfQovKiAtLS0tIHRoZSBqb3VybmV5OiB0aGUg
dG9uZXMsIHRoZW4gZWlnaHQgc3RhZ2VzIGFjcm9zcyB0d28gc2Vhc29ucyAtLS0tICovCmNvbnN0IFZRX1JPQUQgPSBbCiAgeyBrOiAiRiIsIHQ6ICJUaGFu
aCDEkWnhu4d1IiwgZW46ICJUaGUgRm91bmRhdGlvbiDCtyB0aGUgc2l4IHRvbmVzIiwgcTogW10sIGRvbmU6ICgpID0+IGZvdW5kU3RhdGUoKS5tYXN0ZXJl
ZCwgcGN0OiAoKSA9PiB7IGNvbnN0IGYgPSBmb3VuZFN0YXRlKCk7IHJldHVybiBNYXRoLm1pbigxLCAoZi5jYXJkcyAvIDI0ICogMC42KSArIChNYXRoLm1p
big1LCBmLnByb24pIC8gNSAqIDAuMikgKyAoZi50b25lID49IDgwID8gMC4yIDogZi50b25lIC8gODAgKiAwLjIpKTsgfSB9LAogIHsgazogMSwgdDogIlbh
u4EgbmjDoCIsIGVuOiAiU2Vhc29uIDEgwrcgSMOgIE7hu5lpIMK3IFF1ZXN0cyAx4oCTMyIsIHE6IFsxLCAyLCAzXSB9LAogIHsgazogMiwgdDogIsSQaSBs
4bqhaSIsIGVuOiAiU2Vhc29uIDEgwrcgUXVlc3RzIDTigJM2IiwgcTogWzQsIDUsIDZdIH0sCiAgeyBrOiAzLCB0OiAiS+G6v3QgbuG7kWkiLCBlbjogIlNl
YXNvbiAxIMK3IFF1ZXN0cyA34oCTOSIsIHE6IFs3LCA4LCA5XSB9LAogIHsgazogNCwgdDogIlPhu5FuZyBuaMawIG5nxrDhu51pIFZp4buHdCIsIGVuOiAi
U2Vhc29uIDEgwrcgUXVlc3RzIDEw4oCTMTIiLCBxOiBbMTAsIDExLCAxMl0gfSwKICB7IGs6IDUsIHQ6ICJW4buBIFPDoGkgR8OybiIsIGVuOiAiU2Vhc29u
IDIgwrcgU8OgaSBHw7JuIHbhu5tpIG3hurkgwrcgUXVlc3RzIDEz4oCTMTUiLCBxOiBbMTMsIDE0LCAxNV0gfSwKICB7IGs6IDYsIHQ6ICJDw7RuZyB2aeG7
h2MiLCBlbjogIlNlYXNvbiAyIMK3IFF1ZXN0cyAxNuKAkzE4IiwgcTogWzE2LCAxNywgMThdIH0sCiAgeyBrOiA3LCB0OiAiU+G7qWMga2jhu49lIiwgZW46
ICJTZWFzb24gMiDCtyBRdWVzdHMgMTnigJMyMSIsIHE6IFsxOSwgMjAsIDIxXSB9LAogIHsgazogOCwgdDogIkNodXnhu4duIG5ow6AiLCBlbjogIlNlYXNv
biAyIMK3IFF1ZXN0cyAyMuKAkzI0IiwgcTogWzIyLCAyMywgMjRdIH0sCl07CmZ1bmN0aW9uIHZxUm9hZFN0b3AocykgewogIGlmIChzLnEubGVuZ3RoKSB7
IGNvbnN0IHN0YXJzID0gcy5xLnJlZHVjZSgoYSwgbikgPT4gYSArIHN0YXJDb3VudChuKSwgMCk7IHJldHVybiB7IHBjdDogc3RhcnMgLyAocy5xLmxlbmd0
aCAqIDUpLCBkb25lOiBzdGFycyA+PSBzLnEubGVuZ3RoICogNSwgc3RhcnMsIG1heDogcy5xLmxlbmd0aCAqIDUgfTsgfQogIHJldHVybiB7IHBjdDogcy5w
Y3QoKSwgZG9uZTogcy5kb25lKCksIHN0YXJzOiAwLCBtYXg6IDAgfTsKfQpmdW5jdGlvbiB2cUpvdXJuZXlEYXRhKCkgewogIGNvbnN0IHN0b3BzID0gVlFf
Uk9BRC5tYXAocyA9PiBPYmplY3QuYXNzaWduKHt9LCBzLCB2cVJvYWRTdG9wKHMpKSk7CiAgLy8geW91IGFyZSBhdCB0aGUgZmlyc3QgdW5maW5pc2hlZCBz
dGFnZTsgdGhlIEZvdW5kYXRpb24gaXMgImhlcmUiIG9ubHkgYmVmb3JlIGFueSBxdWVzdCBzdGFyIGV4aXN0cwogIGxldCBoZXJlID0gc3RvcHMuZmluZElu
ZGV4KChzLCBpKSA9PiBpID4gMCAmJiAhcy5kb25lKTsgaWYgKGhlcmUgPCAwKSBoZXJlID0gc3RvcHMubGVuZ3RoOyAvLyBldmVyeXRoaW5nIGRvbmUKICBp
ZiAoaGVyZSA9PT0gMSAmJiAhc3RvcHNbMF0uZG9uZSAmJiBzdG9wc1sxXS5zdGFycyA9PT0gMCkgaGVyZSA9IDA7CiAgY29uc3Qgd29yZHMgPSB0b3RhbExl
YXJuZWQoKSwgdG90VyA9IExFU1NPTlMucmVkdWNlKChhLCBMKSA9PiBhICsgTC53b3Jkcy5sZW5ndGgsIDApOwogIGNvbnN0IHN0b3JpZXMgPSBMRVNTT05T
LmZpbHRlcihMID0+IGxzdGF0ZShMLm4pLnN0YXJzLnN0b3J5KS5sZW5ndGgsIHRhbGtzID0gTEVTU09OUy5maWx0ZXIoTCA9PiBsc3RhdGUoTC5uKS5zdGFy
cy50YWxrKS5sZW5ndGgsIGJvc3NlcyA9IExFU1NPTlMuZmlsdGVyKEwgPT4gbHN0YXRlKEwubikuc3RhcnMuYm9zcykubGVuZ3RoOwogIGNvbnN0IHNhaWQg
PSB0b3RhbFByb24oKSwgZGF5cyA9ICh0eXBlb2YgdnFEYXlzID09PSAiZnVuY3Rpb24iID8gdnFEYXlzKCkgOiAoc2F2ZS5kYXlzIHx8IFtdKSkubGVuZ3Ro
LCBiZXN0ID0gc2F2ZS5zdHJlYWsgPyBzYXZlLnN0cmVhay5iZXN0IDogMDsKICBjb25zdCBjYW5kbyA9IGNhbmRvU3RhdGUoKTsKICAvLyBTZWFzb24gMSDi
iYggQTEgKGZhbWlseSwgbWFya2V0LCBnZXR0aW5nIGFyb3VuZCk7IFNlYXNvbiAyIOKJiCBBMiAod29yaywgaGVhbHRoLCBkZWVwIGZhbWlseSB0YWxrKSDi
gJQgbWVhc3VyZWQgb24gd29yZHMsIGNvbnZlcnNhdGlvbnMsIGNhbi1kb3MKICBjb25zdCBzMSA9IExFU1NPTlMuZmlsdGVyKEwgPT4gTC5uIDw9IDEyKSwg
czIgPSBMRVNTT05TLmZpbHRlcihMID0+IEwubiA+IDEyKTsKICBjb25zdCB3b3Jkc0luID0gc2V0ID0+IHNldC5yZWR1Y2UoKGEsIEwpID0+IGEgKyAobHN0
YXRlKEwubikua25vd24gfHwgW10pLmxlbmd0aCwgMCksIHRhbGtzSW4gPSBzZXQgPT4gc2V0LmZpbHRlcihMID0+IGxzdGF0ZShMLm4pLnN0YXJzLnRhbGsp
Lmxlbmd0aDsKICBjb25zdCBhMSA9IE1hdGgucm91bmQoTWF0aC5taW4oMTAwLCAod29yZHNJbihzMSkgLyBNYXRoLm1heCgxLCBzMS5yZWR1Y2UoKGEsIEwp
ID0+IGEgKyBMLndvcmRzLmxlbmd0aCwgMCkpKSAqIDcwICsgKHRhbGtzSW4oczEpIC8gTWF0aC5tYXgoMSwgczEubGVuZ3RoKSkgKiAyMCArIChjYW5kby5u
IC8gY2FuZG8udG90YWwpICogMTApKTsKICBjb25zdCBhMiA9IE1hdGgucm91bmQoTWF0aC5taW4oMTAwLCAod29yZHNJbihzMikgLyBNYXRoLm1heCgxLCBz
Mi5yZWR1Y2UoKGEsIEwpID0+IGEgKyBMLndvcmRzLmxlbmd0aCwgMCkpKSAqIDgwICsgKHRhbGtzSW4oczIpIC8gTWF0aC5tYXgoMSwgczIubGVuZ3RoKSkg
KiAyMCkpOwogIGNvbnN0IG5leHQgPSB2cU5leHRBd2FyZCgpLCB0b05leHQgPSB4cEZvckxldmVsKHNhdmUubGV2ZWwpIC0gc2F2ZS54cDsKICByZXR1cm4g
eyBzdG9wcywgaGVyZSwgd29yZHMsIHRvdFcsIHN0b3JpZXMsIHRhbGtzLCBib3NzZXMsIHNhaWQsIGRheXMsIGJlc3QsIGNhbmRvLCBhMSwgYTIsIGxldmVs
OiBzYXZlLmxldmVsLCByYW5rOiBSQU5LU1tNYXRoLm1pbihzYXZlLmxldmVsIC0gMSwgUkFOS1MubGVuZ3RoIC0gMSldLCB4cDogc2F2ZS54cCwgdG9OZXh0
LCBuZXh0LCBtZWRhbHM6IHZxQXdhcmRzRWFybmVkKCkubGVuZ3RoLCBuOiBMRVNTT05TLmxlbmd0aCB9Owp9Ci8qIHRhcCBhIHN0YWdlIG9uIHRoZSByb2Fk
OiBvcGVuIGl0cyBmaXJzdCBxdWVzdCB0aGF0IGlzIG5vdCB5ZXQgcGVyZmVjdCAqLwpmdW5jdGlvbiB2cUpvdXJuZXlHbyhmaXJzdCkgewogIGNvbnN0IG4g
PSBbZmlyc3QsIGZpcnN0ICsgMSwgZmlyc3QgKyAyXS5maW5kKHEgPT4gc3RhckNvdW50KHEpIDwgNSkgfHwgZmlyc3Q7CiAgdHJ5IHsgb3Blbkxlc3Nvbihu
KTsgfSBjYXRjaCAoZSkgeyBjb25zdCBjID0gWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNtYXBHcmlkIC5sY2FyZCIpXS5maW5kKGMgPT4gbmV3
IFJlZ0V4cCgiXlFVRVNUICIgKyBTdHJpbmcobikucGFkU3RhcnQoMiwgIjAiKSkudGVzdCgoYy5xdWVyeVNlbGVjdG9yKCIubG51bSIpIHx8IHt9KS50ZXh0
Q29udGVudCB8fCAiIikpOyBpZiAoYyAmJiBjLm9uY2xpY2spIGMub25jbGljaygpOyB9Cn0KZnVuY3Rpb24gdnFKb3VybmV5TGFiZWwoZCkgewogIGlmIChk
LmhlcmUgPT09IDApIHJldHVybiAiTGVhcm5pbmcgdGhlIHRvbmVzIjsKICBpZiAoZC5oZXJlID49IGQuc3RvcHMubGVuZ3RoKSByZXR1cm4gIkJvdGggc2Vh
c29ucyBjb21wbGV0ZSDigJQgbmfGsOG7nWkgVmnhu4d0IHRo4bqtdCBy4buTaSI7CiAgcmV0dXJuICJTdGFnZSAiICsgZC5oZXJlICsgIiDCtyAiICsgZC5z
dG9wc1tkLmhlcmVdLnQ7Cn0KZnVuY3Rpb24gb3BlbkpvdXJuZXkoKSB7CiAgY29uc3Qgb2xkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxSm91cm5l
eVdyYXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNvbnN0IGQgPSB2cUpvdXJuZXlEYXRhKCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOyB3LmlkID0gInZxSm91cm5leVdyYXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91
bmQ6IzAwMDAwMDcwO3otaW5kZXg6OTk5OTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzox
NnB4O292ZXJmbG93OmF1dG87IjsKICBjb25zdCBzdGF0ID0gKHYsIGwpID0+IGA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWNhcmQyKTtib3JkZXIt
cmFkaXVzOjEycHg7cGFkZGluZzo4cHggNHB4O3RleHQtYWxpZ246Y2VudGVyOyI+PGIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjIwcHg7Y29s
b3I6dmFyKC0tdGV4dCk7bGluZS1oZWlnaHQ6MS4xOyI+JHt2fTwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xl
dHRlci1zcGFjaW5nOi42cHg7Zm9udC13ZWlnaHQ6NzAwOyI+JHtsfTwvc3Bhbj48L2Rpdj5gOwogIGNvbnN0IHJvYWQgPSBkLnN0b3BzLm1hcCgocywgaSkg
PT4gewogICAgY29uc3Qgc3RhdGUgPSBzLmRvbmUgPyAiZG9uZSIgOiBpID09PSBkLmhlcmUgPyAiaGVyZSIgOiAoaSA9PT0gMCAmJiBkLmhlcmUgPiAwKSA/
ICJwYXNzZWQiIDogInRvZG8iOwogICAgY29uc3QgcmluZyA9IHN0YXRlID09PSAiZG9uZSIgPyAidmFyKC0tZ3JlZW4pIiA6IHN0YXRlID09PSAiaGVyZSIg
PyAidmFyKC0tYWNjZW50KSIgOiAidmFyKC0tY2FyZDIpIjsgLy8gInBhc3NlZCIgPSB0aGUgdG9uZXMgbGVmdCB1bmZpbmlzaGVkOiBzdGlsbCBvcGVuLCBu
ZXZlciBibG9ja2luZwogICAgY29uc3QgcGN0ID0gTWF0aC5yb3VuZChzLnBjdCAqIDEwMCk7CiAgICBjb25zdCBzZWFzb24gPSBpID09PSAxID8gYDxkaXYg
c3R5bGU9ImZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOjEuNXB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1hY2NlbnQyKTttYXJnaW4tdG9w
OjhweDsiPlNFQVNPTiAxIMK3IEjDgCBO4buYSTwvZGl2PmAgOiBpID09PSA1ID8gYDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5n
OjEuNXB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1hY2NlbnQyKTttYXJnaW4tdG9wOjhweDsiPlNFQVNPTiAyIMK3IFPDgEkgR8OSTiBW4buaSSBN
4bq4PC9kaXY+YCA6ICIiOwogICAgcmV0dXJuIGAke3NlYXNvbn08ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6ZmxleC1z
dGFydDtwYWRkaW5nOjhweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWNhcmQyKTske3N0YXRlID09PSAidG9kbyIgPyAib3BhY2l0eTouNiIgOiAi
In07Y3Vyc29yOnBvaW50ZXIiICR7cy5rID09PSAiRiIgPyAib25jbGljaz1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2cUpvdXJuZXlXcmFwJykucmVt
b3ZlKCk7b3BlbkZvdW5kYXRpb24oKVwiIiA6IGBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndnFKb3VybmV5V3JhcCcpLnJlbW92ZSgpO3Zx
Sm91cm5leUdvKCR7cy5xWzBdfSkiYH0+CiAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpu
b25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo4MDA7
Y29sb3I6JHtzdGF0ZSA9PT0gInRvZG8iID8gInZhcigtLW11dGVkKSIgOiAiI2ZmZiJ9O2JhY2tncm91bmQ6JHtyaW5nfTsiPiR7c3RhdGUgPT09ICJkb25l
IiA/ICLinJMiIDogaX08L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZmxleDoxOyI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6ODAw
O2NvbG9yOnZhcigtLXRleHQpOyI+JHtzLnR9ICR7c3RhdGUgPT09ICJoZXJlIiA/IGA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNp
bmc6MS41cHg7Y29sb3I6dmFyKC0tYWNjZW50KTttYXJnaW4tbGVmdDo2cHg7Ij7wn5ONIFlPVSBBUkUgSEVSRTwvc3Bhbj5gIDogIiJ9PC9kaXY+CiAgICAg
ICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpOyI+JHtzLmVufSR7cy5tYXggPyBgIMK3ICR7cy5zdGFyc30vJHtzLm1h
eH0g4q2QYCA6ICIifTwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDo1cHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Ym9yZGVyLXJhZGl1czo0
cHg7bWFyZ2luLXRvcDo2cHg7b3ZlcmZsb3c6aGlkZGVuOyI+PGkgc3R5bGU9ImRpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6JHtwY3R9JTtiYWNr
Z3JvdW5kOiR7cy5kb25lID8gInZhcigtLWdyZWVuKSIgOiAidmFyKC0tYWNjZW50KSJ9O2JvcmRlci1yYWRpdXM6NHB4OyI+PC9pPjwvZGl2PjwvZGl2Pjwv
ZGl2PmA7CiAgfSkuam9pbigiIik7CiAgY29uc3QgbWVkYWxzID0gVlFfQVdBUkRTLm1hcChhID0+IHsgY29uc3QgZ290ID0gYVswXSA8PSBkLmxldmVsOyBy
ZXR1cm4gYDxkaXYgdGl0bGU9IiR7YVsyXX0g4oCUIEx2ICR7YVswXX0iIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5OiR7Z290ID8gMSA6IC4z
NX07Ij48ZGl2IHN0eWxlPSJmb250LXNpemU6MjZweDsiPiR7Z290ID8gYVsxXSA6ICLwn5SSIn08L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6OXB4O2Nv
bG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo4MDA7Ij5MdiAke2FbMF19PC9kaXY+PC9kaXY+YDsgfSkuam9pbigiIik7CiAgY29uc3QgbSA9ICh0eXBl
b2YgdnFNZW1iZXIgPT09ICJmdW5jdGlvbiIpID8gdnFNZW1iZXIoKSA6IG51bGw7CiAgY29uc3QgbHZsID0gZC5hMSA8IDEwMCA/IHsgazogIlRPV0FSRCBB
MSDCtyBUSEUgRklSU1QgUkVBTCBMRVZFTCIsIHA6IGQuYTEsIHM6ICJBMSBpcyBcIkkgY2FuIGdyZWV0IGV2ZXJ5IHJlbGF0aXZlLCBlYXQgd2l0aCB0aGUg
ZmFtaWx5LCBzaG9wIGF0IHRoZSBtYXJrZXQgYW5kIGdldCBhcm91bmQgSMOgIE7hu5lpLlwiIFNlYXNvbiAxIOKAlCAyODggd29yZHMsIDEyIGNvbnZlcnNh
dGlvbnMgYW5kIHRoZSBjYW4tZG9zIOKAlCBpcyB0aGF0IGxldmVsLCBtZWFzdXJlZCBob25lc3RseS4iIH0KICAgICAgICAgICAgICAgICAgICAgICAgIDog
eyBrOiAiVE9XQVJEIEEyIMK3IFNFQVNPTiAyIiwgcDogZC5hMiwgczogIkEyIGlzIFwiSSBjYW4gdGFsayBhYm91dCB3b3JrLCBtb25leSBhbmQgaGVhbHRo
LCB0YWtlIG3hurkgdG8gdGhlIGRvY3RvciBhbmQgc2l0IGF0IHRoZSBhbHRhciBrbm93aW5nIHdoYXQgdG8gZG8uXCIgU2Vhc29uIDIgaXMgdGhhdCBsZXZl
bC4iIH07CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXItcmFkaXVzOjE4cHg7bWF4LXdpZHRoOjQ2
MHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDo5MnZoO292ZXJmbG93OmF1dG87cGFkZGluZzoyMHB4O2JveC1zaGFkb3c6MCAxMHB4IDQwcHggIzAwMDAwMDU1
OyI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6Y2VudGVyOyI+CiAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjU2
cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZDIpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7
anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MzBweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7Y3Vyc29yOnBvaW50ZXI7IiBvbmNs
aWNrPSJvcGVuQXZhdGFycygpIj4ke3ZxQXZhdGFyKCl9PC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImZsZXg6MTsiPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5
Okdlb3JnaWEsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuMTU7Ij4ke3ZxSm91
cm5leUxhYmVsKGQpfTwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjNweDsi
Pkx2ICR7ZC5sZXZlbH0gwrcgJHtkLnJhbmt9IMK3ICR7ZC50b05leHR9IFhQIHRvIEx2ICR7ZC5sZXZlbCArIDF9JHtkLm5leHQgPyBgIOKGkiAke2QubmV4
dFsxXX0gJHtkLm5leHRbMl19YCA6ICIifTwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7YmFja2dyb3Vu
ZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNCMDNBMkUsIzhFMkExRCk7Y29sb3I6I0ZCRjZFQTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxMnB4IDE0
cHg7Ij4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9udC13ZWlnaHQ6ODAwO29wYWNpdHk6Ljg1OyI+
JHtsdmwua308L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttYXJnaW4tdG9wOjZweDsi
PjxkaXYgc3R5bGU9ImZsZXg6MTtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE4KTtib3JkZXItcmFkaXVzOjZweDtvdmVyZmxv
dzpoaWRkZW47Ij48aSBzdHlsZT0iZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoke2x2bC5wfSU7YmFja2dyb3VuZDojRjZDNDUzO2JvcmRlci1y
YWRpdXM6NnB4OyI+PC9pPjwvZGl2PjxiIHN0eWxlPSJmb250LXNpemU6MThweDsiPiR7bHZsLnB9JTwvYj48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9u
dC1zaXplOjEycHg7b3BhY2l0eTouOTttYXJnaW4tdG9wOjZweDtsaW5lLWhlaWdodDoxLjU7Ij4ke2x2bC5zfTwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2
IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjZweDttYXJnaW4tdG9wOjEycHg7Ij4ke3N0YXQo
ZC53b3JkcyArICIvIiArIGQudG90VywgIldPUkRTIil9JHtzdGF0KGQuc2FpZCwgIlNBSUQg8J+OpCIpfSR7c3RhdChkLnN0b3JpZXMgKyAiLyIgKyBkLm4s
ICJTVE9SSUVTIil9JHtzdGF0KGQudGFsa3MgKyAiLyIgKyBkLm4sICJUQUxLUyIpfSR7c3RhdChkLmJvc3NlcyArICIvIiArIGQubiwgIkJPU1NFUyIpfSR7
c3RhdChkLmNhbmRvLm4gKyAiLyIgKyBkLmNhbmRvLnRvdGFsLCAiQ0FOLURPUyIpfSR7c3RhdChkLmRheXMsICJEQVlTIil9JHtzdGF0KGQuYmVzdCwgIkJF
U1Qg8J+UpSIpfTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9y
OnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjE2cHg7Ij5USEUgUk9BRDwvZGl2PgogICAgJHtyb2FkfQogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7
bGV0dGVyLXNwYWNpbmc6MS41cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tdG9wOjE2cHg7Ij5IVVkgQ0jGr8agTkcgwrcg
JHtkLm1lZGFsc30vJHtWUV9BV0FSRFMubGVuZ3RofTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpy
ZXBlYXQoNywxZnIpO2dhcDo2cHg7bWFyZ2luLXRvcDo4cHg7Ij4ke21lZGFsc308L2Rpdj4KICAgICR7bSA/ICIiIDogYDxkaXYgc3R5bGU9Im1hcmdpbi10
b3A6MTRweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Zm9udC1zaXplOjEyLjVweDtjb2xv
cjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoxLjU7Ij5UaGlzIGpvdXJuZXkgbGl2ZXMgb25seSBvbiB0aGlzIGRldmljZS4gPHNwYW4gb25jbGljaz0iZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxSm91cm5leVdyYXAnKS5yZW1vdmUoKTtvcGVuTWVtYmVyKCkiIHN0eWxlPSJjb2xvcjp2YXIoLS1hY2NlbnQyKTtm
b250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXI7Ij5TaWduIGluIHdpdGggeW91ciBlbWFpbDwvc3Bhbj4gdG8ga2VlcCBpdC48L2Rpdj5gfQogICAgPGRp
diBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLXRvcDoxNHB4OyI+CiAgICAgIDxidXR0b24gb25jbGljaz0idnFKb3VybmV5U2hhcmUoKSIg
c3R5bGU9ImZsZXg6MTtwYWRkaW5nOjExcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6
dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXdlaWdodDo4MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPvCfk6Qg
U2hhcmU8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndnFKb3VybmV5V3JhcCcpLnJlbW92ZSgpIiBz
dHlsZT0iZmxleDoxO3BhZGRpbmc6MTFweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7
Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Ij5Db250aW51ZSDihpI8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwv
ZGl2PmA7CiAgdy5vbmNsaWNrID0gZSA9PiB7IGlmIChlLnRhcmdldCA9PT0gdykgdy5yZW1vdmUoKTsgfTsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHcpOwp9CmZ1bmN0aW9uIHZxSm91cm5leVNoYXJlKCkgewogIGNvbnN0IGQgPSB2cUpvdXJuZXlEYXRhKCk7CiAgY29uc3QgdGV4dCA9IGDwn5ONICR7dnFK
b3VybmV5TGFiZWwoZCl9IMK3IEx2ICR7ZC5sZXZlbH0gJHtkLnJhbmt9XG4ke2Qud29yZHN9IHdvcmRzIMK3ICR7ZC5zYWlkfSBzYWlkIG91dCBsb3VkIMK3
ICR7ZC50YWxrc30gY29udmVyc2F0aW9ucyDCtyAke2QuZGF5c30gZGF5c1xuJHtkLmExIDwgMTAwID8gZC5hMSArICIlIG9mIHRoZSB3YXkgdG8gQTEiIDog
ZC5hMiArICIlIG9mIHRoZSB3YXkgdG8gQTIifSBvbiBWaWV0bmFtZXNlIFF1ZXN0YCArICh3aW5kb3cuVlFfQVBQID8gIiIgOiAiXG50b21waGFtLmNhL3Rv
bXMtdmlldG5hbWVzZS1xdWVzdCIpOwogIGlmIChuYXZpZ2F0b3Iuc2hhcmUpIG5hdmlnYXRvci5zaGFyZSh7IHRleHQgfSkuY2F0Y2goKCkgPT4ge30pOwog
IGVsc2UgaWYgKG5hdmlnYXRvci5jbGlwYm9hcmQpIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpLnRoZW4oKCkgPT4gZmxvYXRGeCgiQ29w
aWVkISIsICIjMkY3RDRGIikpLmNhdGNoKCgpID0+IHt9KTsKfQovKiB0aGUgbWFwIGNhcmQ6IG9uZSBsaW5lIHRoYXQgc2F5cyB3aGVyZSB5b3UgYXJlLCBh
bmQgd2hhdCB0aGUgbmV4dCBhd2FyZCBpcyAqLwpmdW5jdGlvbiBqb3VybmV5Q2FyZCgpIHsKICBjb25zdCBkID0gdnFKb3VybmV5RGF0YSgpOwogIGNvbnN0
IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBjLmNsYXNzTmFtZSA9ICJsY2FyZCI7CiAgYy5zdHlsZS5ncmlkQ29sdW1uID0gIjEgLyAt
MSI7CiAgYy5zdHlsZS5ib3JkZXIgPSAiMnB4IHNvbGlkIHZhcigtLWFjY2VudDIpIjsKICBjLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJsbnVtIj5NWSBK
T1VSTkVZIMK3IExWICR7ZC5sZXZlbH0gwrcgJHtkLmExIDwgMTAwID8gZC5hMSArICIlIFRPIEExIiA6IGQuYTIgKyAiJSBUTyBBMiJ9PC9kaXY+CiAgICA8
ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4OyI+CiAgICAgIDxkaXYgY2xhc3M9ImxlbW9qaSIgc3R5bGU9Im1h
cmdpbjowOyI+8J+TjTwvZGl2PgogICAgICA8ZGl2PjxkaXYgY2xhc3M9ImxrciI+JHt2cUpvdXJuZXlMYWJlbChkKX08L2Rpdj4KICAgICAgPGRpdiBjbGFz
cz0ibGVuIj4ke2Qud29yZHN9LyR7ZC50b3RXfSB3b3JkcyDCtyAke2QudGFsa3N9LyR7ZC5ufSBjb252ZXJzYXRpb25zIMK3ICR7ZC5jYW5kby5ufS8ke2Qu
Y2FuZG8udG90YWx9IGNhbi1kb3Mke2QubmV4dCA/IGAgwrcgbmV4dCBhd2FyZCAke2QubmV4dFsxXX0gaW4gJHtkLnRvTmV4dH0gWFBgIDogIiJ9PC9kaXY+
PC9kaXY+CiAgICA8L2Rpdj5gOwogIGMub25jbGljayA9IG9wZW5Kb3VybmV5OwogIHJldHVybiBjOwp9Ci8qIHRoZSBUb2RheSBjYXJkICh2cS1idWlsZCBy
ZW5hbWVzIHRoZSBvcmlnaW5hbCByZW5kZXJlciB0byB2cVRvZGF5UmVuZGVyQ29yZSk6IHRoZSBhd2FyZCB0aGF0IGlzIGNvbWluZyAqLwpmdW5jdGlvbiB2
cVRvZGF5UmVuZGVyKCkgeyB2cVRvZGF5UmVuZGVyQ29yZSgpOyB0cnkgeyB2cUF3YXJkTGluZSgpOyB9IGNhdGNoIChlKSB7fSB9CmZ1bmN0aW9uIHZxQXdh
cmRMaW5lKCkgewogIGNvbnN0IGNhcmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFUb2RheSIpOyBpZiAoIWNhcmQgfHwgY2FyZC5xdWVyeVNlbGVj
dG9yKCIudnFBd2FyZCIpKSByZXR1cm47CiAgY29uc3QgbiA9IHZxTmV4dEF3YXJkKCk7IGlmICghbikgcmV0dXJuOwogIGNvbnN0IHRvTmV4dCA9IHhwRm9y
TGV2ZWwoc2F2ZS5sZXZlbCkgLSBzYXZlLnhwOwogIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgZWwuY2xhc3NOYW1lID0g
InZxQXdhcmQiOwogIGVsLnN0eWxlLmNzc1RleHQgPSAibWFyZ2luLXRvcDo5cHg7Zm9udC1zaXplOjEycHg7b3BhY2l0eTouOTU7ZGlzcGxheTpmbGV4O2Fs
aWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2N1cnNvcjpwb2ludGVyOyI7CiAgZWwuaW5uZXJIVE1MID0gYDxzcGFuIHN0eWxlPSJmb250LXNpemU6MThweDsi
PiR7blsxXX08L3NwYW4+PHNwYW4+PGI+JHtuWzJdfTwvYj4gYXQgTHYgJHtuWzBdfSDigJQgPGI+JHt0b05leHR9IFhQPC9iPiBhd2F5PC9zcGFuPmA7CiAg
ZWwub25jbGljayA9IG9wZW5Kb3VybmV5OwogIGNvbnN0IHdrID0gY2FyZC5xdWVyeVNlbGVjdG9yKCIud2siKTsKICBpZiAod2spIHdrLmJlZm9yZShlbCk7
IGVsc2UgY2FyZC5hcHBlbmRDaGlsZChlbCk7Cn0KLyogbWFwOiBqb3VybmV5ICsgbMOsIHjDrCByaWdodCBhZnRlciB0aGUgcHJhY3RpY2Ugcm93IChvciBh
dCB0aGUgdG9wIHdoZW4gdGhlIHJvdyBpcyBhYnNlbnQpICovCmZ1bmN0aW9uIHZxSm91cm5leU1vdW50KGcpIHsKICBnID0gZyB8fCBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibWFwR3JpZCIpOyBpZiAoIWcpIHJldHVybjsKICBjb25zdCByb3cgPSBnLnF1ZXJ5U2VsZWN0b3IoIjpzY29wZSA+IC52cVRvb2xzIik7
CiAgY29uc3QgY2FyZHMgPSBbam91cm5leUNhcmQoKSwgYm94Q2FyZCgpXTsKICBpZiAocm93KSByb3cuYWZ0ZXIoLi4uY2FyZHMpOyBlbHNlIGcucHJlcGVu
ZCguLi5jYXJkcyk7Cn0KLyogPT09PT09PT09PT09PT09IEzDjCBYw4wgSMOUTSBOQVkg4oCUIG9uZSBsdWNreSBlbnZlbG9wZSBhIGRheSwgZWFybmVkIGJ5
IHN0dWR5aW5nID09PT09PT09PT09PT09PSAqLwovKiBTdHVkeSBhbnl0aGluZyB0b2RheSBhbmQgYSByZWQgZW52ZWxvcGUgdW5sb2NrcyBvbiB0aGUgbWFw
LiBJbnNpZGU6IGJvbnVzIFhQLCBhbiBldmVyeWRheQogICBleHByZXNzaW9uIGZvciB5b3VyIHPhu5UgdGF5ICgzMCBwaHJhc2VzIHRoZSBmYW1pbHkgYWN0
dWFsbHkgc2F5cywgTm9ydGggYW5kIFNvdXRoKSwgYSAyMC1taW51dGUKICAgZG91YmxlLVhQIGJvb3N0LCBvciBhIGphY2twb3QuIFZhcmlhYmxlIHJld2Fy
ZCwgb25jZSBhIGRheSwgYWx3YXlzIHRpZWQgdG8gaGF2aW5nIHByYWN0aXNlZC4gKi8KY29uc3QgVlFfQ0FSTkVUID0gWwogIFsixIJuIGPGoW0gY2jGsGE/
IiwgIkhhdmUgeW91IGVhdGVuPyAoPSBob3cgYXJlIHlvdSkiLCAiZXZlcnl3aGVyZSIsICJDb24gxINuIGPGoW0gY2jGsGE/IOKAlCBE4bqhIHLhu5NpIOG6
oS4iXSwKICBbIlRy4budaSDGoWkhIiwgIk9oIG15IGdvb2RuZXNzISIsICJldmVyeXdoZXJlIiwgIlRy4budaSDGoWksIMSR4bqvdCBxdcOhISJdLAogIFsi
S2jDtG5nIHNhbyDEkcOidS4iLCAiTm8gcHJvYmxlbS4gSXQgaXMgZmluZS4iLCAiZXZlcnl3aGVyZSIsICJYaW4gbOG7l2khIOKAlCBLaMO0bmcgc2FvIMSR
w6J1LiJdLAogIFsiROG6oS4iLCAiWWVzIChwb2xpdGUsIHRvIGVsZGVycykiLCAiZXZlcnl3aGVyZSIsICJDb24gxINuIHRow6ptIG5ow6k/IOKAlCBE4bqh
LiJdLAogIFsiTeG7h3QgcXXDoSEiLCAiU28gdGlyZWQhIiwgImV2ZXJ5d2hlcmUiLCAiSMO0bSBuYXkgbeG7h3QgcXXDoSEiXSwKICBbIsSQaSDEkcOidSDE
keG6pXk/IiwgIldoZXJlIGFyZSB5b3Ugb2ZmIHRvPyIsICJOb3J0aCIsICLEkGkgxJHDonUgxJHhuqV5PyDigJQgxJBpIGNo4bujIOG6oS4iXSwKICBbIsSQ
aSDEkcOidSDEkcOzPyIsICJXaGVyZSBhcmUgeW91IG9mZiB0bz8iLCAiU291dGgiLCAixJBpIMSRw6J1IMSRw7M/IOKAlCDEkGkgY2jhu6MuIl0sCiAgWyJO
Z29uIHF1w6EhIiwgIlNvIGRlbGljaW91cyEiLCAiZXZlcnl3aGVyZSIsICJQaOG7nyBj4bunYSBiw6AgbmdvbiBxdcOhISJdLAogIFsiVGjDtGkgxJHGsOG7
o2MgcuG7k2kuIiwgIk9LLCBmaW5lIHRoZW4uIiwgImV2ZXJ5d2hlcmUiLCAiVGjDtGkgxJHGsOG7o2MgcuG7k2ksIGNvbiDEkWkuIl0sCiAgWyJU4burIHTh
u6suIiwgIlNsb3dseS4gVGFrZSBpdCBlYXN5LiIsICJldmVyeXdoZXJlIiwgIlThu6sgdOG7qywgxJHhu6tuZyB24buZaS4iXSwKICBbIkNo4bq/dCBy4buT
aSEiLCAiT2ggbm8hIChJIGFtIGRvbmUgZm9yKSIsICJldmVyeXdoZXJlIiwgIkNo4bq/dCBy4buTaSwgcXXDqm4gY2jDrGEga2jDs2EhIl0sCiAgWyJCw7Mg
dGF5LiIsICJJIGdpdmUgdXAuIE5vdGhpbmcgdG8gYmUgZG9uZS4iLCAiZXZlcnl3aGVyZSIsICJL4bq5dCB4ZSB0aOG6vyBuw6B5LCBiw7MgdGF5LiJdLAog
IFsiSOG6v3Qgc+G6o3khIiwgIkF3ZXNvbWUhIiwgIlNvdXRoIiwgIkPGoW0gdOG6pW0g4bufIMSRw6J5IGjhur90IHPhuqN5ISJdLAogIFsiROG7ryBjaMaw
YSEiLCAiV293LCBsb29rIGF0IHlvdSEiLCAiU291dGgiLCAiTsOzaSB0aeG6v25nIFZp4buHdCBnaeG7j2kgZOG7ryBjaMawYSEiXSwKICBbIkdow6ogcXXD
oSEiLCAiVGhhdCBpcyBpbnRlbnNlISBTY2FyeSEiLCAiZXZlcnl3aGVyZSIsICJYZSBjaOG6oXkgbmhhbmggZ2jDqiBxdcOhISJdLAogIFsiS+G7hyDEkWku
IiwgIkxldCBpdCBnby4gTmV2ZXIgbWluZC4iLCAiZXZlcnl3aGVyZSIsICJL4buHIMSRaSwga2jDtG5nIHF1YW4gdHLhu41uZy4iXSwKICBbIk5oYW5oIGzD
qm4hIiwgIkh1cnJ5IHVwISIsICJldmVyeXdoZXJlIiwgIk5oYW5oIGzDqm4sIHRy4buFIHLhu5NpISJdLAogIFsiQ+G6qW4gdGjhuq1uIG5ow6kuIiwgIkJl
IGNhcmVmdWwuIiwgImV2ZXJ5d2hlcmUiLCAixJBpIMSRxrDhu51uZyBj4bqpbiB0aOG6rW4gbmjDqS4iXSwKICBbIkNow7pjIG5n4bunIG5nb24uIiwgIkdv
b2QgbmlnaHQuIiwgImV2ZXJ5d2hlcmUiLCAiQ2jDumMgYsOgIG5n4bunIG5nb24uIl0sCiAgWyJDw7MgZ8OsIMSRw6J1LiIsICJJdCBpcyBub3RoaW5nLiBE
byBub3QgbWVudGlvbiBpdC4iLCAiZXZlcnl3aGVyZSIsICJD4bqjbSDGoW4gY29uLiDigJQgQ8OzIGfDrCDEkcOidSDhuqEuIl0sCiAgWyLEkMO6bmcgcuG7
k2khIiwgIlRoYXQgaXMgcmlnaHQhIiwgImV2ZXJ5d2hlcmUiLCAixJDDum5nIHLhu5NpLCBsw6AgY8O0IExhbi4iXSwKICBbIlRo4bqtdCDDoD8iLCAiUmVh
bGx5PyIsICJOb3J0aCIsICJUaOG6rXQgw6A/IFZ1aSBxdcOhISJdLAogIFsiVGhp4buHdCBo4bqjPyIsICJSZWFsbHk/IiwgIlNvdXRoIiwgIlRoaeG7h3Qg
aOG6oz8gVnVpIHF1w6EhIl0sCiAgWyJUaMawxqFuZyBxdcOhLiIsICJTbyBsb3ZhYmxlLiBJIGZlZWwgZm9yIHlvdS4iLCAiZXZlcnl3aGVyZSIsICJDaMOh
dSB0aMawxqFuZyBiw6AgcXXDoS4iXSwKICBbIk5o4bubIG5ow6kuIiwgIlJlbWVtYmVyLCBPSz8gRG8gbm90IGZvcmdldC4iLCAiZXZlcnl3aGVyZSIsICJH
4buNaSBjaG8gbeG6uSBuaMOpLCBuaOG7myBuaMOpLiJdLAogIFsiTMOidSBxdcOhIGtow7RuZyBn4bq3cCEiLCAiTG9uZyB0aW1lIG5vIHNlZSEiLCAiZXZl
cnl3aGVyZSIsICJMw6J1IHF1w6Ega2jDtG5nIGfhurdwLCBraOG7j2Uga2jDtG5nPyJdLAogIFsiQ2jDumMgbeG7q25nIG7Eg20gbeG7m2khIiwgIkhhcHB5
IE5ldyBZZWFyISIsICJldmVyeXdoZXJlIiwgIkNow7pjIG3hu6tuZyBuxINtIG3hu5tpLCBiw6Ag4bqhISJdLAogIFsiVuG7gSBuaMOgIHRow7RpLiIsICJM
ZXQgdXMgZ28gaG9tZS4iLCAiZXZlcnl3aGVyZSIsICJNdeG7mW4gcuG7k2ksIHbhu4EgbmjDoCB0aMO0aS4iXSwKICBbIuG7qi4iLCAiWWVhaCAoY2FzdWFs
LCB0byBlcXVhbHMgb3IganVuaW9ycykiLCAiZXZlcnl3aGVyZSIsICLEkGkga2jDtG5nPyDigJQg4buqLCDEkWkuIl0sCiAgWyJLaOG7j2Uga2jDtG5nPyIs
ICJIb3cgYXJlIHlvdT8gKGxpdGVyYWxseTogaGVhbHRoeT8pIiwgImV2ZXJ5d2hlcmUiLCAiQsOgIGto4buPZSBraMO0bmcg4bqhPyJdLApdOwpmdW5jdGlv
biB2cUJveFN0YXRlKCkgewogIGNvbnN0IHQgPSB0b2RheVN0cigpOwogIGNvbnN0IHN0dWRpZWQgPSAhIShzYXZlLnN0cmVhayAmJiBzYXZlLnN0cmVhay5s
YXN0ID09PSB0KTsKICBjb25zdCBvcGVuZWQgPSAoc2F2ZS5ib3ggfHwge30pLmRheSA9PT0gdDsKICByZXR1cm4geyB0LCBzdHVkaWVkLCBvcGVuZWQsIGxh
c3Q6IHNhdmUuYm94IHx8IG51bGwgfTsKfQpmdW5jdGlvbiB2cUJvb3N0WHAobikgeyByZXR1cm4gKG4gPiAwICYmIHNhdmUuYm9vc3QgJiYgc2F2ZS5ib29z
dCA+IERhdGUubm93KCkpID8gbiAqIDIgOiBuOyB9CmZ1bmN0aW9uIHZxQm9vc3RMZWZ0KCkgeyByZXR1cm4gc2F2ZS5ib29zdCAmJiBzYXZlLmJvb3N0ID4g
RGF0ZS5ub3coKSA/IE1hdGguY2VpbCgoc2F2ZS5ib29zdCAtIERhdGUubm93KCkpIC8gNjAwMDApIDogMDsgfQpmdW5jdGlvbiB2cUNhcm5ldCgpIHsgcmV0
dXJuIEFycmF5LmlzQXJyYXkoc2F2ZS5jYXJuZXQpID8gc2F2ZS5jYXJuZXQgOiAoc2F2ZS5jYXJuZXQgPSBbXSk7IH0KLyogd2VpZ2h0ZWQgb3V0Y29tZTog
eHAgNTUlIMK3IGV4cHJlc3Npb24gMzAlIMK3IGRvdWJsZSBYUCAxMCUgwrcgamFja3BvdCA1JTsgZXhwcmVzc2lvbnMgbmV2ZXIgcmVwZWF0IHVudGlsIGFs
bCAzMCBhcmUgaW4gdGhlIHPhu5UgdGF5ICovCmZ1bmN0aW9uIHZxQm94RHJhdygpIHsKICBjb25zdCByID0gTWF0aC5yYW5kb20oKTsKICBjb25zdCBsZWZ0
ID0gVlFfQ0FSTkVULm1hcCgoXywgaSkgPT4gaSkuZmlsdGVyKGkgPT4gIXZxQ2FybmV0KCkuaW5jbHVkZXMoaSkpOwogIGlmIChyIDwgMC4wNSkgcmV0dXJu
IHsga2luZDogImphY2twb3QiLCB4cDogNTAgfTsKICBpZiAociA8IDAuMTUpIHJldHVybiB7IGtpbmQ6ICJib29zdCIsIHhwOiAwIH07CiAgaWYgKHIgPCAw
LjQ1ICYmIGxlZnQubGVuZ3RoKSByZXR1cm4geyBraW5kOiAiY2FybmV0IiwgeHA6IDEwLCBpOiBsZWZ0W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxl
ZnQubGVuZ3RoKV0gfTsKICByZXR1cm4geyBraW5kOiAieHAiLCB4cDogWzEwLCAxNSwgMTUsIDIwLCAyMCwgMzBdW01hdGguZmxvb3IoTWF0aC5yYW5kb20o
KSAqIDYpXSB9Owp9CmZ1bmN0aW9uIHZxQm94T3BlbigpIHsKICBjb25zdCBzID0gdnFCb3hTdGF0ZSgpOwogIGlmICghcy5zdHVkaWVkKSB7IG9wZW5Cb3hJ
bmZvKCk7IHJldHVybjsgfQogIGlmIChzLm9wZW5lZCkgeyBvcGVuQ2FybmV0KCk7IHJldHVybjsgfQogIGNvbnN0IGQgPSB2cUJveERyYXcoKTsKICBzYXZl
LmJveCA9IHsgZGF5OiBzLnQsIGtpbmQ6IGQua2luZCwgeHA6IGQueHAsIGk6IGQuaSB9OwogIGlmIChkLmtpbmQgPT09ICJjYXJuZXQiKSB2cUNhcm5ldCgp
LnB1c2goZC5pKTsKICBpZiAoZC5raW5kID09PSAiYm9vc3QiKSBzYXZlLmJvb3N0ID0gRGF0ZS5ub3coKSArIDIwICogNjAwMDA7CiAgcGVyc2lzdCgpOwog
IGlmIChkLnhwKSB7IHRyeSB7IGdhaW5YcChkLnhwKTsgfSBjYXRjaCAoZSkge30gfQogIGNvbnN0IGV4ID0gZC5raW5kID09PSAiY2FybmV0IiA/IFZRX0NB
Uk5FVFtkLmldIDogbnVsbDsKICBjb25zdCBib2R5ID0gewogICAgeHA6IHsgZW1vamk6ICLwn6enIiwga2lja2VyOiAiTMOMIFjDjCBIw5RNIE5BWSIsIHRp
dGxlOiBgKyR7ZC54cH0gWFBgLCBzdWI6ICJGb3Igc2hvd2luZyB1cCB0b2RheS4gVG9tb3Jyb3cncyBlbnZlbG9wZSBpcyBhbHJlYWR5IHdhaXRpbmcuIiB9
LAogICAgamFja3BvdDogeyBlbW9qaTogIvCfko4iLCBraWNrZXI6ICJMw4wgWMOMIEjDlE0gTkFZIMK3IEpBQ0tQT1QiLCB0aXRsZTogIis1MCBYUCIsIHN1
YjogIlRoZSByYXJlIG9uZS4gRml2ZSBwZXJjZW50IG9mIGVudmVsb3Blcy4gVG9kYXkgd2FzIHlvdXJzLiIgfSwKICAgIGJvb3N0OiB7IGVtb2ppOiAi4pqh
Iiwga2lja2VyOiAiTMOMIFjDjCBIw5RNIE5BWSIsIHRpdGxlOiAiRG91YmxlIFhQIGZvciAyMCBtaW51dGVzIiwgc3ViOiAiRXZlcnl0aGluZyB5b3UgbGVh
cm4gb3Igc2F5IHVudGlsICIgKyBuZXcgRGF0ZShzYXZlLmJvb3N0KS50b0xvY2FsZVRpbWVTdHJpbmcoW10sIHsgaG91cjogIjItZGlnaXQiLCBtaW51dGU6
ICIyLWRpZ2l0IiB9KSArICIgY291bnRzIHR3aWNlLiBHby4iIH0sCiAgICBjYXJuZXQ6IGV4ID8geyBlbW9qaTogIvCfk5IiLCBraWNrZXI6ICJMw4wgWMOM
IEjDlE0gTkFZIMK3IEVYUFJFU1NJT04iLCB0aXRsZTogZXhbMF0sIHN1YjogYDxiPiR7ZXhbMV19PC9iPiA8c3BhbiBzdHlsZT0ib3BhY2l0eTouNyI+KCR7
ZXhbMl19KTwvc3Bhbj48YnI+PGk+JHtleFszXX08L2k+PGJyPjxicj5BZGRlZCB0byB5b3VyIHPhu5UgdGF5OiAke3ZxQ2FybmV0KCkubGVuZ3RofS8ke1ZR
X0NBUk5FVC5sZW5ndGh9LiBUYXAgaXQgYW55IHRpbWUgdG8gaGVhciBpdC5gIH0gOiBudWxsLAogIH1bZC5raW5kXTsKICB2cUNlbGVicmF0ZShPYmplY3Qu
YXNzaWduKHsgY3RhOiBkLmtpbmQgPT09ICJjYXJuZXQiID8gIvCflIogSGVhciBpdCDihpIiIDogIkPhuqNtIMahbiDihpIiIH0sIGJvZHkpKTsKICBpZiAo
ZXgpIHsgY29uc3QgYiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN2cUNlbGViV3JhcCBidXR0b24iKTsgaWYgKGIpIGIub25jbGljayA9ICgpID0+IHsg
dHJ5IHsgc2F5KGV4WzBdKTsgfSBjYXRjaCAoZSkge30gc2V0VGltZW91dCgoKSA9PiB7IGNvbnN0IHcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidnFD
ZWxlYldyYXAiKTsgaWYgKHcpIHcucmVtb3ZlKCk7IH0sIDEyMDApOyB9OyB9CiAgdnFCb3hDYXJkUmVmcmVzaCgpOwp9CmZ1bmN0aW9uIG9wZW5Cb3hJbmZv
KCkgewogIGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgdy5pZCA9ICJ2cUJveFdyYXAiOwogIHcuc3R5bGUuY3NzVGV4dCA9ICJw
b3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6IzAwMDAwMDcwO3otaW5kZXg6OTk5OTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1
c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4OyI7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jYXJkKTti
b3JkZXItcmFkaXVzOjE2cHg7bWF4LXdpZHRoOjM4MHB4O3dpZHRoOjEwMCU7cGFkZGluZzoyMHB4O2JveC1zaGFkb3c6MCAxMHB4IDQwcHggIzAwMDAwMDU1
OyI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn6enIFRoZSBlbnZlbG9wZSBv
cGVucyBhZnRlciB5b3UgcHJhY3Rpc2U8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tdGV4dCk7bGluZS1oZWln
aHQ6MS42O21hcmdpbi10b3A6OHB4OyI+TGVhcm4gb25lIHdvcmQsIHNheSBvbmUgbGluZSwgcGxheSBvbmUgcm91bmQg4oCUIGFueXRoaW5nIGNvdW50cy4g
VGhlbiBjb21lIGJhY2sgYW5kIG9wZW4gaXQuIEluc2lkZTogYm9udXMgWFAsIGFuIGV4cHJlc3Npb24gZm9yIHlvdXIgc+G7lSB0YXksIGEgZG91YmxlLVhQ
IGJvb3N0LCBvciB0aGUgamFja3BvdC48L2Rpdj4KICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxQm94V3JhcCcpLnJl
bW92ZSgpO3ZxTmV4dCYmdnFOZXh0KCkuZ28mJnZxTmV4dCgpLmdvKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjEycHg7
Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjgwMDtjdXJzb3I6cG9p
bnRlcjtmb250LWZhbWlseTppbmhlcml0OyI+UHJhY3Rpc2Ugbm93IOKGkjwvYnV0dG9uPgogICAgPGJ1dHRvbiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndnFCb3hXcmFwJykucmVtb3ZlKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjhweDt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtib3JkZXItcmFkaXVz
OjEwcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJp
dDtmb250LXNpemU6MTNweDsiPkxhdGVyPC9idXR0b24+CiAgPC9kaXY+YDsKICB3Lm9uY2xpY2sgPSBlID0+IHsgaWYgKGUudGFyZ2V0ID09PSB3KSB3LnJl
bW92ZSgpOyB9OwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7Cn0KLyogdGhlIHPhu5UgdGF5OiBldmVyeSBleHByZXNzaW9uIHlvdSBoYXZlIGZv
dW5kLCB0YXAgdG8gaGVhciAqLwpmdW5jdGlvbiBvcGVuQ2FybmV0KCkgewogIGNvbnN0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2cUJveFdy
YXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNvbnN0IGdvdCA9IHZxQ2FybmV0KCk7CiAgY29uc3QgdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOyB3LmlkID0gInZxQm94V3JhcCI7CiAgdy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMDAwMDAw
NzA7ei1pbmRleDo5OTk5O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjE2cHg7b3ZlcmZs
b3c6YXV0bzsiOwogIGNvbnN0IHJvd3MgPSBWUV9DQVJORVQubWFwKChleCwgaSkgPT4gZ290LmluY2x1ZGVzKGkpCiAgICA/IGA8ZGl2IG9uY2xpY2s9InRy
eXtzYXkoJHtKU09OLnN0cmluZ2lmeShleFswXSkucmVwbGFjZSgvIi9nLCAiJnF1b3Q7Iil9KX1jYXRjaChlKXt9IiBzdHlsZT0icGFkZGluZzo5cHggMTBw
eDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkMik7Y3Vyc29yOnBvaW50ZXI7Ij48ZGl2IHN0eWxlPSJmb250LXdlaWdodDo4MDA7
Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn5SKICR7ZXhbMF19PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFy
KC0tbXV0ZWQpOyI+JHtleFsxXX0gwrcgJHtleFsyXX08L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0KTtmb250LXN0
eWxlOml0YWxpYzttYXJnaW4tdG9wOjJweDsiPiR7ZXhbM119PC9kaXY+PC9kaXY+YAogICAgOiBgPGRpdiBzdHlsZT0icGFkZGluZzo5cHggMTBweDtib3Jk
ZXItcmFkaXVzOjEycHg7Ym9yZGVyOjEuNXB4IGRhc2hlZCB2YXIoLS1jYXJkMik7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxM3B4OyI+8J+UkiAk
eyLigKIiLnJlcGVhdChNYXRoLm1pbigxNCwgZXhbMF0ubGVuZ3RoKSl9PC9kaXY+YCkuam9pbigiIik7CiAgdy5pbm5lckhUTUwgPSBgPGRpdiBzdHlsZT0i
YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXItcmFkaXVzOjE2cHg7bWF4LXdpZHRoOjQyMHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDo5MHZoO292ZXJm
bG93OmF1dG87cGFkZGluZzoxOHB4O2JveC1zaGFkb3c6MCAxMHB4IDQwcHggIzAwMDAwMDU1OyI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXdlaWdodDo4MDA7
Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tdGV4dCk7Ij7wn5OSIFPhu5UgdGF5IMK3ICR7Z290Lmxlbmd0aH0vJHtWUV9DQVJORVQubGVuZ3RofTwvZGl2
PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjRweCAwIDEycHg7bGluZS1oZWlnaHQ6MS41OyI+
VGhlIGV4cHJlc3Npb25zIHRoZSBmYW1pbHkgYWN0dWFsbHkgc2F5cywgTm9ydGggYW5kIFNvdXRoLiBPbmUgZW52ZWxvcGUgYSBkYXk7IGFib3V0IGEgdGhp
cmQgb2YgdGhlbSBoaWRlIGFuIGV4cHJlc3Npb24uICR7Z290Lmxlbmd0aCA8IFZRX0NBUk5FVC5sZW5ndGggPyAiVG9tb3Jyb3cncyBlbnZlbG9wZSBpcyB3
YWl0aW5nLiIgOiAiWW91IGZvdW5kIHRoZW0gYWxsLiJ9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z2FwOjZweDsiPiR7cm93c308L2Rp
dj4KICAgIDxidXR0b24gb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZxQm94V3JhcCcpLnJlbW92ZSgpIiBzdHlsZT0ibWFyZ2luLXRvcDox
NHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMXB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2Zm
Zjtmb250LXdlaWdodDo4MDA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDsiPkNsb3NlPC9idXR0b24+CiAgPC9kaXY+YDsKICB3Lm9uY2xp
Y2sgPSBlID0+IHsgaWYgKGUudGFyZ2V0ID09PSB3KSB3LnJlbW92ZSgpOyB9OwogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7Cn0KZnVuY3Rpb24g
dnFCb3hDYXJkSHRtbCgpIHsKICBjb25zdCBzID0gdnFCb3hTdGF0ZSgpLCBsZWZ0ID0gdnFCb29zdExlZnQoKTsKICBpZiAobGVmdCkgcmV0dXJuIGA8ZGl2
IGNsYXNzPSJsbnVtIj7imqEgRE9VQkxFIFhQIMK3ICR7bGVmdH0gTUlOIExFRlQ8L2Rpdj48ZGl2IGNsYXNzPSJsdGl0bGUiPkV2ZXJ5dGhpbmcgY291bnRz
IHR3aWNlIHJpZ2h0IG5vdzwvZGl2PjxkaXYgY2xhc3M9ImxzdWIiPkxlYXJuLCBzYXksIHBsYXkg4oCUIHRoZSBjbG9jayBpcyBydW5uaW5nLiBUYXAgdG8g
c2VlIHlvdXIgc+G7lSB0YXkuPC9kaXY+YDsKICBpZiAoIXMuc3R1ZGllZCkgcmV0dXJuIGA8ZGl2IGNsYXNzPSJsbnVtIj5Mw4wgWMOMIEjDlE0gTkFZIMK3
IExPQ0tFRDwvZGl2PjxkaXYgY2xhc3M9Imx0aXRsZSI+8J+npyBQcmFjdGlzZSBhbnl0aGluZyB0b2RheSB0byBvcGVuIGl0PC9kaXY+PGRpdiBjbGFzcz0i
bHN1YiI+Qm9udXMgWFAsIGFuIGV4cHJlc3Npb24gZm9yIHlvdXIgc+G7lSB0YXksIGEgZG91YmxlLVhQIGJvb3N0LCBvciB0aGUgamFja3BvdC4gU+G7lSB0
YXk6ICR7dnFDYXJuZXQoKS5sZW5ndGh9LyR7VlFfQ0FSTkVULmxlbmd0aH0uPC9kaXY+YDsKICBpZiAoIXMub3BlbmVkKSByZXR1cm4gYDxkaXYgY2xhc3M9
ImxudW0iPkzDjCBYw4wgSMOUTSBOQVkgwrcgUkVBRFk8L2Rpdj48ZGl2IGNsYXNzPSJsdGl0bGUiPvCfp6cgVGFwIHRvIG9wZW4gdG9kYXkncyBlbnZlbG9w
ZTwvZGl2PjxkaXYgY2xhc3M9ImxzdWIiPllvdSBwcmFjdGlzZWQgdG9kYXkuIFNvbWV0aGluZyBpcyBpbnNpZGUuPC9kaXY+YDsKICBjb25zdCBrID0gcy5s
YXN0LmtpbmQsIGV4ID0gayA9PT0gImNhcm5ldCIgPyBWUV9DQVJORVRbcy5sYXN0LmldIDogbnVsbDsKICByZXR1cm4gYDxkaXYgY2xhc3M9ImxudW0iPkzD
jCBYw4wgSMOUTSBOQVkgwrcgT1BFTkVEPC9kaXY+PGRpdiBjbGFzcz0ibHRpdGxlIj4ke2sgPT09ICJjYXJuZXQiICYmIGV4ID8gIvCfk5IgIiArIGV4WzBd
IDogayA9PT0gImJvb3N0IiA/ICLimqEgRG91YmxlIFhQIGJvb3N0IiA6IGsgPT09ICJqYWNrcG90IiA/ICLwn5KOIEphY2twb3QgKzUwIFhQIiA6ICLwn6en
ICsiICsgcy5sYXN0LnhwICsgIiBYUCJ9PC9kaXY+PGRpdiBjbGFzcz0ibHN1YiI+TmV4dCBlbnZlbG9wZSB0b21vcnJvdy4gVGFwIHRvIG9wZW4geW91ciBz
4buVIHRheSAoJHt2cUNhcm5ldCgpLmxlbmd0aH0vJHtWUV9DQVJORVQubGVuZ3RofSkuPC9kaXY+YDsKfQpmdW5jdGlvbiB2cUJveENhcmRSZWZyZXNoKCkg
eyBjb25zdCBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZxQm94Q2FyZCIpOyBpZiAoYykgeyBjLmlubmVySFRNTCA9IHZxQm94Q2FyZEh0bWwoKTsg
Yy5jbGFzc0xpc3QudG9nZ2xlKCJ2cUJveFJlYWR5IiwgdnFCb3hTdGF0ZSgpLnN0dWRpZWQgJiYgIXZxQm94U3RhdGUoKS5vcGVuZWQpOyB9IH0KZnVuY3Rp
b24gYm94Q2FyZCgpIHsKICBjb25zdCBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgYy5pZCA9ICJ2cUJveENhcmQiOyBjLmNsYXNzTmFt
ZSA9ICJsY2FyZCI7CiAgYy5zdHlsZS5ncmlkQ29sdW1uID0gIjEgLyAtMSI7CiAgYy5pbm5lckhUTUwgPSB2cUJveENhcmRIdG1sKCk7CiAgY29uc3QgcyA9
IHZxQm94U3RhdGUoKTsgYy5jbGFzc0xpc3QudG9nZ2xlKCJ2cUJveFJlYWR5Iiwgcy5zdHVkaWVkICYmICFzLm9wZW5lZCk7CiAgYy5vbmNsaWNrID0gdnFC
b3hPcGVuOwogIHJldHVybiBjOwp9CihmdW5jdGlvbiAoKSB7IGNvbnN0IHN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsgc3QudGV4dENv
bnRlbnQgPSBgLnZxQm94UmVhZHl7Ym9yZGVyOjJweCBzb2xpZCAjRjZDNDUzICFpbXBvcnRhbnQ7YW5pbWF0aW9uOnZxQm94UHVsc2UgMS42cyBlYXNlLWlu
LW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHZxQm94UHVsc2V7MCUsMTAwJXtib3gtc2hhZG93OjAgMCAwIDAgcmdiYSgyNDYsMTk2LDgzLC4wKX01MCV7Ym94
LXNoYWRvdzowIDAgMCA2cHggcmdiYSgyNDYsMTk2LDgzLC4yOCl9fWA7IGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3QpOyB9KSgpOwovKiA9PT09PT09
PT09PT09PT0gTEVTU09OID09PT09PT09PT09PT09PSAqLwpsZXQgY3VycmVudFRhYiA9ICJsZWFybiI7CmZ1bmN0aW9uIG9wZW5MZXNzb24obiwgdGFiID0g
ImxlYXJuIikgewogIGN1ciA9IExFU1NPTlMuZmluZChMID0+IEwubiA9PT0gbik7CiAgbGVhcm5JZHggPSAwOyBzcGVha0lkeCA9IDA7CiAgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiLnRhYiIpLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICIiKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bFRpdGxlIikudGV4dENvbnRlbnQgPSBgJHtjdXIuZW1vaml9ICR7Y3VyLmtyfSDigJQgJHtjdXIuZW59YDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bFN1YiIpLnRleHRDb250ZW50ID0gYFF1ZXN0ICR7Y3VyLm59IMK3ICR7Y3VyLnZpfSDCtyAke2N1ci53b3Jkcy5sZW5ndGh9IHdvcmRzIMK3ICR7Y3VyLmdy
YW1tYXIubGVuZ3RofSBwYXR0ZXJuc2A7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdGFycyIpLnRleHRDb250ZW50ID0gc3RhcnNPZihuKTsKICBy
ZW5kZXJHcmFtbWFyKCk7CiAgc2V0VGFiKHRhYik7CiAgc2hvdygibGVzc29uIik7Cn0KZnVuY3Rpb24gc2V0VGFiKHQpIHsKICBjdXJyZW50VGFiID0gdDsK
ICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudGFiIikuZm9yRWFjaChlbCA9PiBlbC5jbGFzc0xpc3QudG9nZ2xlKCJvbiIsIGVsLmRhdGFzZXQudGFi
ID09PSB0KSk7CiAgWyJsZWFybiIsInN0b3J5IiwidGFsayIsImdyYW1tYXIiLCJzcGVhayIsInBsYXkiXS5mb3JFYWNoKHggPT4gewogICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhYi0iICsgeCkuc3R5bGUuZGlzcGxheSA9IHggPT09IHQgPyAiIiA6ICJub25lIjsKICB9KTsKICBpZiAodCA9PT0gImxlYXJu
IikgcmVuZGVyTGVhcm4oKTsKICBpZiAodCA9PT0gInN0b3J5IikgeyBzdG9yeUlkeCA9IDA7IHJlbmRlclN0b3J5KCk7IH0KICBpZiAodCA9PT0gInRhbGsi
KSByZW5kZXJUYWxrKCk7CiAgaWYgKHQgPT09ICJzcGVhayIpIHJlbmRlclNwZWFrKCk7CiAgdnFTdGVwcGVyKCk7Cn0KCi8qIC0tLSBTdG9yeSB0YWIgLS0t
ICovCmxldCBzdG9yeUlkeCA9IDA7CmZ1bmN0aW9uIHNlZ21lbnRFbW9qaShzKSB7CiAgaWYgKHR5cGVvZiBJbnRsICE9PSAidW5kZWZpbmVkIiAmJiBJbnRs
LlNlZ21lbnRlcikgewogICAgcmV0dXJuIFsuLi5uZXcgSW50bC5TZWdtZW50ZXIoImVuIiwge2dyYW51bGFyaXR5OiJncmFwaGVtZSJ9KS5zZWdtZW50KHMp
XS5tYXAoeCA9PiB4LnNlZ21lbnQpOwogIH0KICByZXR1cm4gWy4uLnNdOyAvLyBmYWxsYmFjazogbWF5IHNwbGl0IFpXSiBlbW9qaSBvbiB2ZXJ5IG9sZCBi
cm93c2Vycwp9CmZ1bmN0aW9uIHJlbmRlclN0b3J5KCkgewogIGNvbnN0IHN0ID0gY3VyLnN0b3J5LCBzdGVwID0gc3Quc3RlcHNbc3RvcnlJZHhdOwogIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdFRpdGxlIikudGV4dENvbnRlbnQgPSBzdC50OwogIGNvbnN0IHN0YWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0U3RhZ2UiKTsKICBzdGFnZS5jbGFzc05hbWUgPSAic3RhZ2UgYmctIiArIHN0ZXAuYmcgKyAoc3RlcC5meCA/ICIgZngtIiArIHN0ZXAuZnggOiAi
Iik7CiAgc3RhZ2UuaW5uZXJIVE1MID0gc2VnbWVudEVtb2ppKHN0ZXAuc2MpLm1hcChlID0+IGA8c3BhbiBjbGFzcz0iYWN0b3IiPiR7ZX08L3NwYW4+YCku
am9pbigiIik7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0TmFyIikudGV4dENvbnRlbnQgPSBzdGVwLm5hcjsKICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3RXaG8iKS50ZXh0Q29udGVudCA9IHN0ZXAud2hvOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdEtyIikudGV4dENvbnRlbnQgPSBzdGVw
LmtyICsgIiDwn5SKIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RFbiIpLnRleHRDb250ZW50ID0gc3RlcC5lbjsKICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3RQcm9tcHQiKS50ZXh0Q29udGVudCA9ICJXaGF0IGRvIHlvdSBzYXk/IjsKICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic3RDaG9pY2VzIik7CiAgYm94LmlubmVySFRNTCA9ICIiOwogIHNodWZmbGUoc3RlcC5jaCkuZm9yRWFjaChjID0+IHsKICAgIGNvbnN0IGIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKICAgIGIuY2xhc3NOYW1lID0gImFucyI7CiAgICBiLmlubmVySFRNTCA9IGA8ZGl2PiR7Y1swXX08L2Rp
dj48ZGl2IGNsYXNzPSJhZW4iPiR7Y1sxXX08L2Rpdj5gOwogICAgYi5vbmNsaWNrID0gZXYgPT4gc3RvcnlDaG9pY2UoYiwgYywgZXYpOwogICAgYm94LmFw
cGVuZENoaWxkKGIpOwogIH0pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdERvdHMiKS50ZXh0Q29udGVudCA9CiAgICBzdC5zdGVwcy5tYXAoKF8s
IGkpID0+IGkgPCBzdG9yeUlkeCA/ICLil48iIDogaSA9PT0gc3RvcnlJZHggPyAi4peJIiA6ICLil4siKS5qb2luKCIgIik7CiAgc2F5KHN0ZXAua3IucmVw
bGFjZSgvXCguKj9cKS9nLCAiIikpOwp9CmZ1bmN0aW9uIHNheVN0b3J5KCkgeyBzYXkoY3VyLnN0b3J5LnN0ZXBzW3N0b3J5SWR4XS5rci5yZXBsYWNlKC9c
KC4qP1wpL2csICIiKSk7IH0KZnVuY3Rpb24gc3RvcnlDaG9pY2UoYnRuLCBjLCBldikgewogIGlmIChjWzJdKSB7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCIjc3RDaG9pY2VzIC5hbnMiKS5mb3JFYWNoKGIgPT4gYi5vbmNsaWNrID0gbnVsbCk7CiAgICBidG4uY2xhc3NMaXN0LmFkZCgiY29ycmVjdCIp
OwogICAgc2Z4Lmdvb2QoKTsKICAgIGdhaW5YcCg0KTsgZmxvYXRGeCgiKzQgWFAiLCAiIzJGN0Q0RiIsIGV2LmNsaWVudFgsIGV2LmNsaWVudFkpOwogICAg
c3RvcnlJZHgrKzsKICAgIC8vIHNwZWFrIHRoZSBjaG9zZW4gc2VudGVuY2UgaW4gZnVsbCwgVEhFTiBhZHZhbmNlIChmYWxsYmFjayB0aW1lciBpZiBUVFMg
aXMgc2lsZW50KQogICAgbGV0IGFkdmFuY2VkID0gZmFsc2U7CiAgICBjb25zdCBhZHZhbmNlID0gKCkgPT4gewogICAgICBpZiAoYWR2YW5jZWQpIHJldHVy
bjsKICAgICAgYWR2YW5jZWQgPSB0cnVlOwogICAgICBzdG9yeUFkdmFuY2UoKTsKICAgIH07CiAgICBzYXkoY1swXSwgMC45LCAoKSA9PiBzZXRUaW1lb3V0
KGFkdmFuY2UsIDI1MCkpOwogICAgc2V0VGltZW91dChhZHZhbmNlLCBNYXRoLm1heCgzNTAwLCBjWzBdLmxlbmd0aCAqIDIyMCkpOwogIH0gZWxzZSB7CiAg
ICBidG4uY2xhc3NMaXN0LmFkZCgid3JvbmciKTsgc2Z4LmJhZCgpOwogICAgZmxvYXRGeCgi8J+YrCDigKZhd2t3YXJkIHNpbGVuY2XigKYiLCAiI0IwN0Qy
OCIsIGV2LmNsaWVudFgsIGV2LmNsaWVudFkgLSAzMCk7CiAgICBzZXRUaW1lb3V0KCgpID0+IGJ0bi5jbGFzc0xpc3QucmVtb3ZlKCJ3cm9uZyIpLCA2MDAp
OwogIH0KfQpmdW5jdGlvbiBzdG9yeUFkdmFuY2UoKSB7CiAgaWYgKHN0b3J5SWR4ID49IGN1ci5zdG9yeS5zdGVwcy5sZW5ndGgpIHsKICAgIGNvbnN0IGxz
ID0gbHN0YXRlKGN1ci5uKTsKICAgIGNvbnN0IGZpcnN0ID0gIWxzLnN0YXJzLnN0b3J5OwogICAgbHMuc3RhcnMuc3RvcnkgPSB0cnVlOyBwZXJzaXN0KCk7
CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibFN0YXJzIikudGV4dENvbnRlbnQgPSBzdGFyc09mKGN1ci5uKTsKICAgIGdhaW5YcCgxNSk7IGNvbmZl
dHRpKCk7IHNmeC53aW4oKTsKICAgIGRhaWx5QnVtcCgiY29udm8iKTsKICAgIGNvbnN0IHN0YWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0U3Rh
Z2UiKTsKICAgIHN0YWdlLmNsYXNzTmFtZSA9ICJzdGFnZSBiZy1mZXN0aXZlIjsKICAgIHN0YWdlLmlubmVySFRNTCA9ICI8c3BhbiBjbGFzcz0nYWN0b3In
PvCfjok8L3NwYW4+PHNwYW4gY2xhc3M9J2FjdG9yJz7wn4+GPC9zcGFuPjxzcGFuIGNsYXNzPSdhY3Rvcic+8J+Oijwvc3Bhbj4iOwogICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0TmFyIikudGV4dENvbnRlbnQgPSAiU2NlbmFyaW8gY29tcGxldGUhIFlvdSBzdXJ2aXZlZCB0aGUgc2l0dWF0aW9uIGluIFZp
ZXRuYW1lc2UuICsxNSBYUCIgKyAoZmlyc3QgPyAiIGFuZCBhIOKtkCBTdG9yeSBzdGFyISIgOiAiIik7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3RXaG8iKS50ZXh0Q29udGVudCA9ICLwn46tIFRoZSBFbmQiOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0S3IiKS50ZXh0Q29udGVudCA9ICJC
4bqhbiBnaeG7j2kgbOG6r20hIjsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdEVuIikudGV4dENvbnRlbnQgPSAiWW91IGRpZCByZWFsbHkgd2Vs
bCEiOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0UHJvbXB0IikudGV4dENvbnRlbnQgPSAiIjsKICAgIGNvbnN0IGJveCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdENob2ljZXMiKTsKICAgIGJveC5pbm5lckhUTUwgPSAiIjsKICAgIGNvbnN0IGFnYWluID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYnV0dG9uIik7CiAgICBhZ2Fpbi5jbGFzc05hbWUgPSAiYnRuIjsgYWdhaW4udGV4dENvbnRlbnQgPSAiUmVwbGF5IHN0b3J5IPCflIEiOwogICAgYWdh
aW4ub25jbGljayA9ICgpID0+IHsgc3RvcnlJZHggPSAwOyByZW5kZXJTdG9yeSgpOyB9OwogICAgYm94LmFwcGVuZENoaWxkKGFnYWluKTsKICAgIHZxU3Rl
cEJhbm5lcigic3RvcnkiKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdERvdHMiKS50ZXh0Q29udGVudCA9IGN1ci5zdG9yeS5zdGVwcy5tYXAo
KCkgPT4gIuKXjyIpLmpvaW4oIiAiKTsKICAgIHNheSgiQuG6oW4gZ2nhu49pIGzhuq9tISIpOwogIH0gZWxzZSB7CiAgICByZW5kZXJTdG9yeSgpOwogIH0K
fQoKLyogLS0tIExlYXJuIHRhYiAtLS0gKi8KZnVuY3Rpb24gcmVuZGVyTGVhcm5Db3JlKCkgeyBzZXRUaW1lb3V0KGZ2QmFkZ2UsIDApOyBpZiAoY3VyICYm
IGN1ci5uID09PSAiVCIpIHNldFRpbWVvdXQodGV0Q2hlY2tEb25lLCAwKTsKICBjb25zdCB3ID0gY3VyLndvcmRzW2xlYXJuSWR4XTsKICBjb25zdCBzdCA9
IGxzdGF0ZShjdXIubik7CiAgY29uc3Qga25vd24gPSBzdC5rbm93bi5pbmNsdWRlcyh3WzBdKTsKICBjb25zdCBzYWlkID0gKHN0LnByb24gfHwgW10pLmlu
Y2x1ZGVzKHdbMF0pOwogIC8vIHRoZSDihpAg4oaSIGFycm93cyBhcHBlYXIgYWZ0ZXIgdGhlIGZpcnN0ICJHb3QgaXQiOiBvbmUgZGVjaXNpb24gcGVyIGNh
cmQgZm9yIGEgZmlyc3QtdGltZXIKICBjb25zdCBmaXJzdENhcmQgPSAhT2JqZWN0LnZhbHVlcyhzYXZlLmxlc3NvbnMpLnNvbWUobCA9PiBsLmtub3duICYm
IGwua25vd24ubGVuZ3RoKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjdGFiLWxlYXJuIC5sZWFybi1uYXYgLmJ0bi5naG9zdCIpLmZvckVhY2go
YiA9PiBiLnN0eWxlLmRpc3BsYXkgPSBmaXJzdENhcmQgPyAibm9uZSIgOiAiIik7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndjYXJkIikuaW5uZXJI
VE1MID0gYAogICAgPGRpdiBjbGFzcz0id2Vtb2ppIj4ke3dbNF19PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ3a3IiIG9uY2xpY2s9InNheSgnJHt3WzBdLnJl
cGxhY2UoLycvZywiXFwnIil9JykiPiR7d1swXX08c3BhbiBpZD0id0JhZGdlIj4ke3NhaWQgPyAiIPCfjpYiIDogIiJ9PC9zcGFuPiA8c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjE2cHg7Y29sb3I6dmFyKC0tYWNjZW50MikiPvCflIo8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ3cm8iPiR7d1sxXX08L2Rpdj4K
ICAgIDxkaXYgY2xhc3M9IndtZWFuIj4ke3dbMl19PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ3dmkiPvCfkqEgJHt3WzNdfTwvZGl2PgogICAgPGRpdiBjbGFz
cz0id2V4IiBvbmNsaWNrPSJzYXkoJyR7d1s1XS5yZXBsYWNlKC8nL2csIlxcJyIpfScpIj4KICAgICAgJHt3WzVdfSA8c3BhbiBzdHlsZT0iY29sb3I6dmFy
KC0tYWNjZW50Mik7Zm9udC1zaXplOjEycHgiPvCflIo8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImV4ZW4iPiR7d1s2XX08L2Rpdj4KICAgIDwvZGl2Pgog
ICAgPGRpdiBjbGFzcz0ic2F5cm93Ij4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIHNheWJ0biIgaWQ9IndNaWMiIG9uY2xpY2s9IndvcmRNaWNUYXAoKSI+
8J+OpCBTYXkgaXQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InNheSgnJHt3WzBdLnJlcGxhY2UoLycvZywiXFwnIil9JywwLjU1
KSI+8J+QoiBTbG93PC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNyZXN1bHQiIGlkPSJ3UHJvblJlcyIgc3R5bGU9Im1pbi1oZWlnaHQ6
MDtmb250LXNpemU6MTMuNXB4OyI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcGstZGlmZiIgaWQ9IndQcm9uRGlmZiIgc3R5bGU9ImZvbnQtc2l6ZToyMnB4
OyI+PC9kaXY+YDsKICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgia25vd0J0biIpOwogIGJ0bi50ZXh0Q29udGVudCA9IGtub3duID8g
IuKckyBMZWFybmVkISIgOiAi4pyTIEdvdCBpdCDCtyArMyBYUCI7CiAgYnRuLnN0eWxlLm9wYWNpdHkgPSBrbm93biA/IC41NSA6IDE7CiAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxlYXJuQ291bnQiKS50ZXh0Q29udGVudCA9CiAgICBgJHtsZWFybklkeCArIDF9IC8gJHtjdXIud29yZHMubGVuZ3RofSDCtyBs
ZWFybmVkICR7c3Qua25vd24ubGVuZ3RofS8ke2N1ci53b3Jkcy5sZW5ndGh9YDsKICBzYXkod1swXSk7Cn0KZnVuY3Rpb24gbGVhcm5Nb3ZlKGQpIHsKICBs
ZWFybklkeCA9IChsZWFybklkeCArIGQgKyBjdXIud29yZHMubGVuZ3RoKSAlIGN1ci53b3Jkcy5sZW5ndGg7CiAgcmVuZGVyTGVhcm4oKTsKfQpmdW5jdGlv
biBsZWFybktub3coKSB7CiAgY29uc3QgdyA9IGN1ci53b3Jkc1tsZWFybklkeF07CiAgY29uc3Qgc3QgPSBsc3RhdGUoY3VyLm4pOwogIGlmICghc3Qua25v
d24uaW5jbHVkZXMod1swXSkpIHsKICAgIHN0Lmtub3duLnB1c2god1swXSk7CiAgICBydlN0YXRlKClbd1swXV0gPSBbMSwgcnZUb2RheSgpICsgMV07CiAg
ICB2cUhpc3RXb3JkKHcpOwogICAgZ2FpblhwKDMpOyBzZnguZ29vZCgpOyBmbG9hdEZ4KCIrMyBYUCIsICIjMkY3RDRGIik7CiAgICBkYWlseUJ1bXAoIndv
cmRzIik7CiAgICAvLyBtaWxlc3RvbmUgcmV3YXJkOiBldmVyeSAxMHRoIHdvcmQgbGVhcm5lZCBhY3Jvc3MgYWxsIGxlc3NvbnMKICAgIGNvbnN0IHRvdGFs
ID0gT2JqZWN0LnZhbHVlcyhzYXZlLmxlc3NvbnMpLnJlZHVjZSgoYSwgbCkgPT4gYSArIChsLmtub3duID8gbC5rbm93bi5sZW5ndGggOiAwKSwgMCk7CiAg
ICBpZiAodG90YWwgPiAwICYmIHRvdGFsICUgMTAgPT09IDApIHsKICAgICAgZ2FpblhwKDEwKTsgY29uZmV0dGkoKTsgc2Z4LndpbigpOwogICAgICBmbG9h
dEZ4KCLwn5OaICIgKyB0b3RhbCArICIgd29yZHMhICsxMCBib251cyIsICIjQjA3RDI4IiwgbnVsbCwgd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIDYwKTsK
ICAgIH0KICAgIGlmIChzdC5rbm93bi5sZW5ndGggPT09IGN1ci53b3Jkcy5sZW5ndGggJiYgIXN0LnN0YXJzLmxlYXJuKSB7CiAgICAgIHN0LnN0YXJzLmxl
YXJuID0gdHJ1ZTsgcGVyc2lzdCgpOyBjb25mZXR0aSgpOyBzZngud2luKCk7CiAgICAgIGZsb2F0RngoIuKtkCBWb2NhYnVsYXJ5IHN0YXIhIiwgIiNCMDdE
MjgiKTsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxTdGFycyIpLnRleHRDb250ZW50ID0gc3RhcnNPZihjdXIubik7CiAgICB9CiAgICBwZXJz
aXN0KCk7CiAgfQogIGxlYXJuTW92ZSgxKTsKfQoKLyogLS0tIEdyYW1tYXIgdGFiIC0tLSAqLwpmdW5jdGlvbiByZW5kZXJHcmFtbWFyKCkgewogIGNvbnN0
IGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YWItZ3JhbW1hciIpOwogIGJveC5pbm5lckhUTUwgPSAiIjsKICBjdXIuZ3JhbW1hci5mb3JFYWNo
KGcgPT4gewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgZC5jbGFzc05hbWUgPSAiZ2NhcmQiOwogICAgZC5pbm5l
ckhUTUwgPSBgCiAgICAgIDxkaXYgY2xhc3M9ImdwYXQiPiR7Z1swXX08L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZ21lYW4iPiR7Z1sxXX08L2Rpdj4KICAg
ICAgPGRpdiBjbGFzcz0iZ3ZpIj7wn5ejIFdoZW4gdG8gdXNlOiAke2dbMl19PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imdub3RlIj7wn5KhICR7Z1szXX08
L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZ2V4IiBvbmNsaWNrPSJzYXkoJyR7Z1s0XS5yZXBsYWNlKC8nL2csIlxcJyIpfScpIj48ZGl2IGNsYXNzPSJrIj4k
e2dbNF19IDxzcGFuIGNsYXNzPSJzcGsiPvCflIo8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iZSI+JHtnWzVdfTwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNs
YXNzPSJnZXgiIG9uY2xpY2s9InNheSgnJHtnWzZdLnJlcGxhY2UoLycvZywiXFwnIil9JykiPjxkaXYgY2xhc3M9ImsiPiR7Z1s2XX0gPHNwYW4gY2xhc3M9
InNwayI+8J+Uijwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJlIj4ke2dbN119PC9kaXY+PC9kaXY+YDsKICAgIGJveC5hcHBlbmRDaGlsZChkKTsKICB9KTsK
fQoKLyogLS0tIFNwZWFrIHRhYiAtLS0gKi8KZnVuY3Rpb24gc3BlYWtTZW50ZW5jZXMoKSB7CiAgcmV0dXJuIGN1ci53b3Jkcy5maWx0ZXIodyA9PiB3WzVd
LnNwbGl0KCIgIikubGVuZ3RoID49IDIpLnNsaWNlKDAsIDgpLm1hcCh3ID0+IFt3WzVdLCB3WzZdXSk7Cn0KZnVuY3Rpb24gcmVuZGVyU3BlYWtDb3JlKCkg
ewogIGNvbnN0IHNzID0gc3BlYWtTZW50ZW5jZXMoKTsKICBjb25zdCBzID0gc3Nbc3BlYWtJZHggJSBzcy5sZW5ndGhdOwogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzcGtLciIpLnRleHRDb250ZW50ID0gc1swXTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BrRW4iKS50ZXh0Q29udGVudCA9IHNbMV07
CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa1Jlc3VsdCIpLmlubmVySFRNTCA9ICIiOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGtEaWZm
IikuaW5uZXJIVE1MID0gIiI7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa0ZpeGVzIikuaW5uZXJIVE1MID0gIiI7CiAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNwa1BsYXliYWNrIikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZkdyYWRlIikuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKICBjb25zdCBtaWMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWljQnRuIik7CiAgbWljLnRleHRDb250ZW50ID0g
IvCfjqQiOyBtaWMuY2xhc3NMaXN0LnJlbW92ZSgibGlzdGVuaW5nIik7CiAgcmVjb3JkaW5nID0gZmFsc2U7IHN0b3BSZWNvcmRpbmcoKTsKICBjb25zdCBz
dCA9IGxzdGF0ZShjdXIubik7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwZWFrQ291bnQiKS50ZXh0Q29udGVudCA9CiAgICBgJHsoc3BlYWtJZHgg
JSBzcy5sZW5ndGgpICsgMX0gLyAke3NzLmxlbmd0aH0gwrcgc3Bva2VuICR7c3Quc3Bva2VuLmxlbmd0aH0vNSBmb3Ig4q2QYDsKfQpmdW5jdGlvbiBzYXlD
dXIocmF0ZSA9IDAuOSkgeyBzYXkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa0tyIikudGV4dENvbnRlbnQsIHJhdGUpOyB9CmZ1bmN0aW9uIHNwZWFr
TW92ZShkKSB7CiAgY29uc3Qgc3MgPSBzcGVha1NlbnRlbmNlcygpOwogIHNwZWFrSWR4ID0gKHNwZWFrSWR4ICsgZCArIHNzLmxlbmd0aCkgJSBzcy5sZW5n
dGg7CiAgcmVuZGVyU3BlYWsoKTsKfQovKiAtLS0gVGFsayB0YWI6IHNwb2tlbiBjb252ZXJzYXRpb24gd2l0aCB0aGUgZ2FtZSAtLS0gKi8KbGV0IFRLID0g
e307ICAgICAgICAvLyBwZXItbGVzc29uIGluLXNlc3Npb24gY29udmVyc2F0aW9uIHN0YXRlCmxldCBlYXJNb2RlID0gZmFsc2U7CmZ1bmN0aW9uIHRhbGtT
dGF0ZSgpIHsKICBpZiAoIVRLW2N1ci5uXSkgVEtbY3VyLm5dID0geyBpOiAwLCBsb2c6IFtdLCBkb25lOiBmYWxzZSwgaGludFVzZWQ6IGZhbHNlIH07CiAg
cmV0dXJuIFRLW2N1ci5uXTsKfQpmdW5jdGlvbiB0YWxrKCkgeyByZXR1cm4gVEFMS1NbY3VyLm5dOyB9CmZ1bmN0aW9uIHJlbmRlclRhbGsoKSB7CiAgY29u
c3QgVCA9IHRhbGsoKSwgc3QgPSB0YWxrU3RhdGUoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtUaXRsZSIpLnRleHRDb250ZW50ID0gIvCfkqwg
IiArIFQudDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtSZXN1bHQiKS5pbm5lckhUTUwgPSAiIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGtTZWxmR3JhZGUiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogIHJlYnVpbGRDaGF0KCk7CiAgaWYgKHN0LmxvZy5sZW5ndGggPT09IDAgJiYgIXN0LmRv
bmUpIG5wY1R1cm4odHJ1ZSk7CiAgZWxzZSBpZiAoIXN0LmRvbmUpIHNob3dUYXNrKCk7CiAgZWxzZSBzaG93VGFzaygpOyAvLyBkb25lOiB0YXNrIGJveCBz
aG93cyBjb21wbGV0aW9uIG5vdGUgZnJvbSBsb2cKfQpmdW5jdGlvbiByZWJ1aWxkQ2hhdCgpIHsKICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGtDaGF0Iik7CiAgYm94LmlubmVySFRNTCA9ICIiOwogIHRhbGtTdGF0ZSgpLmxvZy5mb3JFYWNoKG0gPT4gYm94LmFwcGVuZENoaWxkKG1ha2VC
dWJibGUobSkpKTsKICBzY3JvbGxDaGF0KCk7Cn0KZnVuY3Rpb24gbWFrZUJ1YmJsZShtKSB7CiAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogIGQuY2xhc3NOYW1lID0gIm1zZyAiICsgbS53aG87CiAgaWYgKG0ud2hvID09PSAibnBjIikgewogICAgY29uc3QgbWFza2VkID0gZWFyTW9k
ZSAmJiAhbS5yZXZlYWxlZDsKICAgIGQuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9IndobyI+JHttLm5wY1dobyB8fCB0YWxrKCkud2hvfTwvZGl2PmAgKwog
ICAgICAobWFza2VkID8gYDxzcGFuIGNsYXNzPSJtYXNrZWQiPvCfjqcgdGFwIHRvIHJldmVhbDwvc3Bhbj5gCiAgICAgICAgICAgICAgOiBgJHttLmtyfSA8
c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC1zaXplOjEycHgiPvCflIo8L3NwYW4+PGRpdiBjbGFzcz0ibWVuIj4ke20uZW59PC9kaXY+
YCk7CiAgICBkLm9uY2xpY2sgPSAoKSA9PiB7IG0ucmV2ZWFsZWQgPSB0cnVlOyByZWJ1aWxkQ2hhdCgpOyBzYXkobS5rcik7IH07CiAgfSBlbHNlIGlmICht
LndobyA9PT0gIm1lIikgewogICAgZC5pbm5lckhUTUwgPSBgJHttLmtyfSR7bS5zY29yZSA/IGA8ZGl2IGNsYXNzPSJzY29yZSI+JHttLnNjb3JlfTwvZGl2
PmAgOiAiIn1gOwogICAgZC5vbmNsaWNrID0gKCkgPT4gc2F5KG0ua3IpOwogIH0gZWxzZSB7CiAgICBkLnRleHRDb250ZW50ID0gbS5rcjsKICB9CiAgcmV0
dXJuIGQ7Cn0KZnVuY3Rpb24gc2Nyb2xsQ2hhdCgpIHsKICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtDaGF0Iik7CiAgaWYgKGJv
eC5sYXN0Q2hpbGQpIGJveC5sYXN0Q2hpbGQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogInNtb290aCIsIGJsb2NrOiAibmVhcmVzdCIgfSk7Cn0KZnVu
Y3Rpb24gbnBjVHVybihmaXJzdCkgewogIGNvbnN0IHN0ID0gdGFsa1N0YXRlKCksIFQgPSB0YWxrKCk7CiAgY29uc3QgdHVybiA9IFQudHVybnNbc3QuaV07
CiAgY29uc3QgdHlwaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgdHlwaW5nLmNsYXNzTmFtZSA9ICJtc2cgbnBjIHR5cGluZyI7CiAg
dHlwaW5nLmlubmVySFRNTCA9ICI8c3Bhbj7il488L3NwYW4+PHNwYW4+4pePPC9zcGFuPjxzcGFuPuKXjzwvc3Bhbj4iOwogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0a0NoYXQiKS5hcHBlbmRDaGlsZCh0eXBpbmcpOwogIHNjcm9sbENoYXQoKTsKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIHR5cGluZy5yZW1v
dmUoKTsKICAgIHN0LmxvZy5wdXNoKHsgd2hvOiAibnBjIiwga3I6IHR1cm4ucSwgZW46IHR1cm4ucUVuLCBucGNXaG86IHR1cm4ubnBjV2hvIH0pOwogICAg
cmVidWlsZENoYXQoKTsKICAgIHNheSh0dXJuLnEpOwogICAgc2hvd1Rhc2soKTsKICB9LCBmaXJzdCA/IDUwMCA6IDEwMDApOwp9CmZ1bmN0aW9uIHNob3dU
YXNrKCkgewogIGNvbnN0IHN0ID0gdGFsa1N0YXRlKCksIFQgPSB0YWxrKCk7CiAgaWYgKCFUIHx8ICFULnR1cm5zIHx8ICFzdCkgcmV0dXJuOwogIGNvbnN0
IGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a1Rhc2siKTsKICBpZiAoc3QuZG9uZSkgewogICAgYm94LmlubmVySFRNTCA9ICLwn4+BIENvbnZl
cnNhdGlvbiBjb21wbGV0ZSEgUmVwbGF5IGl0IHdpdGgg4oa6LCBvciB0cnkg8J+OpyBMaXN0ZW5pbmcgbW9kZSBmb3IgZXh0cmEgZWFyIHRyYWluaW5nLiIg
KwogICAgICAnPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4O3RleHQtYWxpZ246Y2VudGVyOyI+PGJ1dHRvbiBjbGFzcz0iYnRuIiBzdHlsZT0icGFkZGlu
ZzoxMXB4IDI2cHg7Zm9udC1zaXplOjE1cHg7IiBvbmNsaWNrPSIod2luZG93LmtxQWZ0ZXJUYWxrP3dpbmRvdy5rcUFmdGVyVGFsaygpOmJhY2tUb0xlc3Nv
bigpKSI+TmV4dCDihpI8L2J1dHRvbj48L2Rpdj4nOwogICAgY29uc3QgY3RybHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdGFiLXRhbGsgLnRrLWNv
bnRyb2xzIik7CiAgICBpZiAoY3RybHMpIGN0cmxzLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGN0cmxzID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiI3RhYi10YWxrIC50ay1jb250cm9scyIpOwogIGlmIChjdHJscykgY3RybHMuc3R5bGUuZGlzcGxheSA9ICIiOwogIGNv
bnN0IHR1cm4gPSBULnR1cm5zW3N0LmldOwogIGJveC5pbm5lckhUTUwgPSBg8J+OryA8Yj5Zb3VyIHR1cm4gKCR7c3QuaSArIDF9LyR7VC50dXJucy5sZW5n
dGh9KTo8L2I+ICR7dHVybi50YXNrfTxkaXYgaWQ9InRrSGludEJveCI+PC9kaXY+YDsKICBzdC5oaW50VXNlZCA9IGZhbHNlOwogIGNvbnN0IHRkID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRrRGlmZiIpLCB0ZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a0ZpeGVzIik7CiAgaWYgKHRkKSB0ZC5pbm5l
ckhUTUwgPSAiIjsKICBpZiAodGYpIHRmLmlubmVySFRNTCA9ICIiOwp9CmZ1bmN0aW9uIHRrSGludCgpIHsKICBjb25zdCBzdCA9IHRhbGtTdGF0ZSgpOwog
IGlmIChzdC5kb25lKSByZXR1cm47CiAgY29uc3QgdHVybiA9IHRhbGsoKS50dXJuc1tzdC5pXTsKICBzdC5oaW50VXNlZCA9IHRydWU7CiAgY29uc3QgaGIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtIaW50Qm94Iik7CiAgaWYgKGhiKSBoYi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0iaGludGxpbmUiPvCf
kqEgJHt0dXJuLmF9IDxzcGFuIGNsYXNzPSJzbmRidG4iIHN0eWxlPSJwYWRkaW5nOjNweCA5cHg7Zm9udC1zaXplOjEycHg7IiBvbmNsaWNrPSJzYXkoJyR7
dHVybi5hLnJlcGxhY2UoLycvZywiXFwnIil9JywwLjcpIj7wn5CiPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnZhcigtLW11dGVkKTtmb250LXNp
emU6MTJweDsiPiR7dHVybi5hRW59PC9kaXY+YDsKfQpmdW5jdGlvbiB0a1NraXAoKSB7CiAgY29uc3Qgc3QgPSB0YWxrU3RhdGUoKTsKICBpZiAoc3QuZG9u
ZSkgcmV0dXJuOwogIGNvbnN0IHR1cm4gPSB0YWxrKCkudHVybnNbc3QuaV07CiAgc3QubG9nLnB1c2goeyB3aG86ICJtZSIsIGtyOiB0dXJuLmEsIHNjb3Jl
OiAi4o+tIHNraXBwZWQg4oCUIHJlcGVhdCBpdCBhZnRlciB0aGUgdm9pY2UhIiB9KTsKICByZWJ1aWxkQ2hhdCgpOwogIGxldCBhZHZhbmNlZCA9IGZhbHNl
OwogIGNvbnN0IGdvID0gKCkgPT4geyBpZiAoYWR2YW5jZWQpIHJldHVybjsgYWR2YW5jZWQgPSB0cnVlOyB0a05leHQoKTsgfTsKICBzYXkodHVybi5hLCAw
LjgsICgpID0+IHNldFRpbWVvdXQoZ28sIDIwMCkpOwogIHNldFRpbWVvdXQoZ28sIE1hdGgubWF4KDM1MDAsIHR1cm4uYS5sZW5ndGggKiAyMjApKTsKfQpm
dW5jdGlvbiB0a05leHQoKSB7CiAgY29uc3Qgc3QgPSB0YWxrU3RhdGUoKSwgVCA9IHRhbGsoKTsKICBpZiAoIVQgfHwgIVQudHVybnMgfHwgIXN0KSByZXR1
cm47CiAgaWYgKHN0LmkgKyAxID49IFQudHVybnMubGVuZ3RoKSB7CiAgICBzdC5kb25lID0gdHJ1ZTsKICAgIHN0LmxvZy5wdXNoKHsgd2hvOiAibnBjIiwg
a3I6ICJIw7RtIG5heSBuw7NpIGNodXnhu4duIGhheSBs4bqvbSEgTOG6p24gc2F1IG7Ds2kgdGnhur9wIG5ow6khIPCfjokiLCBlbjogIlRvZGF5J3MgY29u
dmVyc2F0aW9uIHdhcyBncmVhdCEgTGV0J3MgdGFsayBhZ2FpbiBuZXh0IHRpbWUhIiwgcmV2ZWFsZWQ6IHRydWUgfSk7CiAgICByZWJ1aWxkQ2hhdCgpOwog
ICAgc2F5KCJIw7RtIG5heSBuw7NpIGNodXnhu4duIGhheSBs4bqvbSEgTOG6p24gc2F1IG7Ds2kgdGnhur9wIG5ow6khIik7CiAgICBnYWluWHAoMjApOyBj
b25mZXR0aSgpOyBzZngud2luKCk7CiAgICBkYWlseUJ1bXAoImNvbnZvIik7CiAgICBpZiAoY3VyLm4gPT09ICJSIikgewogICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGtSZXN1bHQiKS5pbm5lckhUTUwgPQogICAgICAgIGDwn4+GIDxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1nb2xkKSI+UmV2aWV3IHdv
cmtvdXQgY29tcGxldGUhICsyMCBYUCDigJQgdGFwIOKGuiBmb3IgYSBmcmVzaCByYW5kb20gbWl4Ljwvc3Bhbj5gOwogICAgfSBlbHNlIHsKICAgICAgY29u
c3QgbHMgPSBsc3RhdGUoY3VyLm4pOwogICAgICBjb25zdCBmaXJzdFdpbiA9ICFscy5zdGFycy50YWxrOwogICAgICBscy5zdGFycy50YWxrID0gdHJ1ZTsg
cGVyc2lzdCgpOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibFN0YXJzIikudGV4dENvbnRlbnQgPSBzdGFyc09mKGN1ci5uKTsKICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRrUmVzdWx0IikuaW5uZXJIVE1MID0KICAgICAgICBg8J+PhiA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tZ29sZCki
PkNvbnZlcnNhdGlvbiBjb21wbGV0ZSEgKzIwIFhQJHtmaXJzdFdpbiA/ICIgYW5kIGEg4q2QIFRhbGsgc3RhciEiIDogIiJ9PC9zcGFuPmA7CiAgICB9CiAg
ICBzaG93VGFzaygpOwogIH0gZWxzZSB7CiAgICBzdC5pKys7CiAgICBucGNUdXJuKGZhbHNlKTsKICB9Cn0KZnVuY3Rpb24gdGtHcmFkZShvaykgewogIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a1NlbGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgY29uc3Qgc3QgPSB0YWxrU3RhdGUoKTsKICBj
b25zdCB0dXJuID0gdGFsaygpLnR1cm5zW3N0LmldOwogIGlmIChvaykgewogICAgc3QubG9nLnB1c2goeyB3aG86ICJtZSIsIGtyOiB0dXJuLmEsIHNjb3Jl
OiAi8J+OmSBzZWxmLWNoZWNrZWQg4pyTIiB9KTsKICAgIHJlYnVpbGRDaGF0KCk7CiAgICBnYWluWHAoc3QuaGludFVzZWQgPyA0IDogOCk7CiAgICBmbG9h
dEZ4KCIrIiArIChzdC5oaW50VXNlZCA/IDQgOiA4KSArICIgWFAiLCAiIzJGN0Q0RiIpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRrUmVzdWx0
IikuaW5uZXJIVE1MID0gIiI7CiAgICBzZXRUaW1lb3V0KHRrTmV4dCwgNjAwKTsKICB9IGVsc2UgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRr
UmVzdWx0IikuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+TGlzdGVuIPCfkKIgd2l0aCB0aGUgaGludCwgdGhlbiB0cnkgb25jZSBtb3JlITwv
c3Bhbj5gOwogICAgdGtIaW50KCk7CiAgfQp9CmFzeW5jIGZ1bmN0aW9uIHRrTWljVGFwKCkgewogIGNvbnN0IHN0ID0gdGFsa1N0YXRlKCk7CiAgaWYgKHN0
LmRvbmUpIHJldHVybjsKICBjb25zdCB0dXJuID0gdGFsaygpLnR1cm5zW3N0LmldOwogIGNvbnN0IHJlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
a1Jlc3VsdCIpOwogIGNvbnN0IG1pYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a01pYyIpOwogIGlmIChTUiAmJiAhc3JCbG9ja2VkKSB7CiAgICBp
ZiAocmVjb2duaXppbmcgJiYgYWN0aXZlUmVjKSB7IGZvcmNlRW5kTGlzdGVuKGFjdGl2ZVJlYyk7IHJldHVybjsgfSAvLyB0YXAg4o+5ID0gZG9uZSBzcGVh
a2luZwogICAgaWYgKHJlY29nbml6aW5nKSByZXR1cm47CiAgICBpZiAodGFsa0NvYWNoKHRrTWljVGFwKSkgcmV0dXJuOwogICAgaWYgKCEoU1IgJiYgU1Iu
bmF0aXZlKSAmJiAhKGF3YWl0IGVuc3VyZU1pYygpKSkgewogICAgICByZXMuaW5uZXJIVE1MID0gbWljSGVscEh0bWwoKTsKICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRrU2VsZkdyYWRlIikuc3R5bGUuZGlzcGxheSA9ICJmbGV4IjsKICAgICAgdGtIaW50KCk7CiAgICAgIHJldHVybjsKICAgIH0KICAg
IHJlY29nbml6aW5nID0gdHJ1ZTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a1NlbGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAg
ICBjb25zdCByZWMgPSBuZXcgU1IoKTsKICAgIGFjdGl2ZVJlYyA9IHJlYzsKICAgIHJlYy5sYW5nID0gInZpLVZOIjsgcmVjLm1heEFsdGVybmF0aXZlcyA9
IDU7CiAgICBtaWMudGV4dENvbnRlbnQgPSAi4o+zIjsKICAgIHJlcy50ZXh0Q29udGVudCA9ICLij7MgT3BlbmluZyB0aGUgbWlj4oCmIjsKICAgIHJlYy5o
aW50cyA9IFt0dXJuLmFdLmNvbmNhdCh0dXJuLmFsdCB8fCBbXSk7ICAgLy8gdGhlIGFuc3dlciB3ZSBleHBlY3QgLS0gdGhlIHJlY29nbml6ZXIgbGVhbnMg
dG93YXJkIGl0CiAgICByZWMub25lcnJvciA9IGV2ID0+IHsKICAgICAgcmVjLmVyckNvZGUgPSBldi5lcnJvcjsKICAgICAgLy8gbWljIGl0c2VsZiBpcyBm
aW5lIChwcmVmbGlnaHQgcGFzc2VkKSBidXQgdGhlIHJlY29nbml0aW9uIHNlcnZpY2UgaXMgYmxvY2tlZAogICAgICAvLyBpbiB0aGlzIGJyb3dzZXIg4oaS
IHBlcm1hbmVudGx5IHN3aXRjaCB0byByZWNvcmQgJiBzZWxmLWNoZWNrIG1vZGUKICAgICAgaWYgKGV2LmVycm9yID09PSAibm90LWFsbG93ZWQiIHx8IGV2
LmVycm9yID09PSAic2VydmljZS1ub3QtYWxsb3dlZCIgfHwgZXYuZXJyb3IgPT09ICJuZXR3b3JrIikgc3JCbG9ja2VkID0gdHJ1ZTsKICAgIH07CiAgICBz
dGFydExpc3RlbmluZyhyZWMsIHsKICAgICAgaWRsZU1zOiAyMjAwLCBjYXBNczogMzAwMDAsCiAgICAgIG9uUmVhZHk6ICgpID0+IHsgbWljLmNsYXNzTGlz
dC5hZGQoImxpc3RlbmluZyIpOyBtaWMudGV4dENvbnRlbnQgPSAi4o+5IjsgcmVzLnRleHRDb250ZW50ID0gIvCflLQgU3BlYWsgeW91ciBhbnN3ZXIg4oCU
IGl0IGNoZWNrcyB3aGVuIHlvdSBwYXVzZS4iOyBtaWNTaGVldFNob3coeyB0YXJnZXQ6IHR1cm4udGFzaywgc21hbGw6IHRydWUsIGhpbnQ6ICJTYXkgeW91
ciBhbnN3ZXIgb3V0IGxvdWQiIH0pOyB0cnkgeyBiZWVwKDk5MCwgLjA3KTsgfSBjYXRjaCAoZSkge30gfSwKICAgICAgb25MaXZlOiB0ID0+IHsgbWljU2hl
ZXRMaXZlKHQpOyBpZiAodCkgcmVzLnRleHRDb250ZW50ID0gIvCfjqcg4oCc4oCmIiArIHQuc2xpY2UoLTUwKSArICLigJ0iOyB9LAogICAgICBvbkZpbmlz
aDogKHRleHQsIGFsdHMpID0+IHsKICAgICAgICByZWNvZ25pemluZyA9IGZhbHNlOyBpZiAoYWN0aXZlUmVjID09PSByZWMpIGFjdGl2ZVJlYyA9IG51bGw7
CiAgICAgICAgbWljLmNsYXNzTGlzdC5yZW1vdmUoImxpc3RlbmluZyIpOyBtaWMudGV4dENvbnRlbnQgPSAi8J+OpCI7CiAgICAgICAgaWYgKCF0ZXh0KSB7
CiAgICAgICAgICBpZiAoc3JCbG9ja2VkKSB7CiAgICAgICAgICAgIHJlcy5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9ImhlYXJkIj5Wb2ljZSByZWNvZ25p
dGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgYnJvd3NlciDigJQgc3dpdGNoaW5nIHRvIPCfjpkgcmVjb3JkICZhbXA7IHNlbGYtY2hlY2sgbW9kZS4g
VGFwIHRoZSBtaWMgYWdhaW4hPC9zcGFuPmA7CiAgICAgICAgICB9IGVsc2UgaWYgKCFyZWMuZXJyQ29kZSB8fCByZWMuZXJyQ29kZSA9PT0gIm5vLXNwZWVj
aCIgfHwgcmVjLmVyckNvZGUgPT09ICJhYm9ydGVkIikgewogICAgICAgICAgICByZXMuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+SSBkaWQg
bm90IGhlYXIgYW55dGhpbmcg4oCUIHRhcCB0aGUgbWljIGFuZCB0cnkgYWdhaW4uPC9zcGFuPmA7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBy
ZXMuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+U3BlZWNoIGNoZWNrIGZhaWxlZCAoJHtyZWMuZXJyQ29kZX0pLiBVc2Ug8J+SoSBoaW50LCBz
YXkgaXQgYWxvdWQsIHRoZW4gZ3JhZGUgeW91cnNlbGY6PC9zcGFuPmA7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a1NlbGZHcmFk
ZSIpLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CiAgICAgICAgICAgIHRrSGludCgpOwogICAgICAgICAgfQogICAgICAgICAgbWljU2hlZXRSZXN1bHQoeyBv
azogZmFsc2UsIHBjdDogMCwgdGl0bGU6ICJJIGRpZCBub3QgY2F0Y2ggdGhhdCIsIHN1YjogIlNheSB5b3VyIGFuc3dlciBhIGxpdHRsZSBsb3VkZXIsIGNs
b3NlciB0byB0aGUgcGhvbmUuIPCfkqEgSGludCBzaG93cyB0aGUgc2VudGVuY2UuIiwgcmV0cnk6ICgpID0+IHRrTWljVGFwKCksIGJ1dHRvbnM6IFt7IGxh
YmVsOiAi8J+SoSBIaW50IiwgZm46ICgpID0+IHRrSGludCgpIH1dIH0pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBjb25zdCB0YXJn
ZXRzID0gW3R1cm4uYSwgLi4uKHR1cm4uYWx0IHx8IFtdKV07CiAgICAgICAgbGV0IGJlc3QgPSB7IHBjdDogLTEsIGhlYXJkOiAiIiwgdGFyZ2V0OiB0dXJu
LmEsIGRpZmZIdG1sOiAiIiwgZml4ZXNIdG1sOiAiIiB9OwogICAgICAgIHRhcmdldHMuZm9yRWFjaCh0ID0+IHsKICAgICAgICAgIGFsdHMuZm9yRWFjaChh
ID0+IHsKICAgICAgICAgICAgY29uc3QgZmIgPSBwcm9uRmVlZGJhY2sodCwgYSk7CiAgICAgICAgICAgIGlmIChmYi5wY3QgPiBiZXN0LnBjdCkgYmVzdCA9
IHsgLi4uZmIsIGhlYXJkOiBhLnRyaW0oKSwgdGFyZ2V0OiB0IH07CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBtaWNTaGVldFJlc3VsdCh7
IG9rOiBiZXN0LnBjdCA+PSA2MCwgcGN0OiBiZXN0LnBjdCwgaGVhcmQ6IGJlc3QuaGVhcmQsIHRpdGxlOiBiZXN0LnBjdCA+PSA2MCA/IGAke2Jlc3QucGN0
fSUg4oCUIGdvdCBpdGAgOiBgJHtiZXN0LnBjdH0lIOKAlCBub3QgcXVpdGVgLAogICAgICAgICAgc3ViOiBiZXN0LnBjdCA+PSA2MCA/ICJZb3VyIHBhcnRu
ZXIgaGVhcmQgeW91LiIgOiAiQ29tcGFyZSB3aXRoIHRoZSBzZW50ZW5jZSBiZWxvdyB0aGUgY2hhdCwgdGhlbiB0cnkgb25jZSBtb3JlLiIsIHJldHJ5OiAo
KSA9PiB0a01pY1RhcCgpLCBidXR0b25zOiBiZXN0LnBjdCA+PSA2MCA/IFtdIDogW3sgbGFiZWw6ICLwn5KhIEhpbnQiLCBmbjogKCkgPT4gdGtIaW50KCkg
fV0gfSk7CiAgICAgICAgY29uc3QgZGlmZkJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a0RpZmYiKTsKICAgICAgICBjb25zdCBmaXhCb3ggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtGaXhlcyIpOwogICAgICAgIGlmIChiZXN0LnBjdCA+PSA2MCkgewogICAgICAgICAgc3QubG9nLnB1c2goeyB3
aG86ICJtZSIsIGtyOiBiZXN0LmhlYXJkLCBzY29yZTogYOKckyAke2Jlc3QucGN0fSUgbWF0Y2hgIH0pOwogICAgICAgICAgcmVidWlsZENoYXQoKTsKICAg
ICAgICAgIHNmeC5nb29kKCk7CiAgICAgICAgICBkYWlseUJ1bXAoInByb24iKTsKICAgICAgICAgIGdhaW5YcChzdC5oaW50VXNlZCA/IDQgOiA4KTsKICAg
ICAgICAgIGZsb2F0RngoIisiICsgKHN0LmhpbnRVc2VkID8gNCA6IDgpICsgIiBYUCIsICIjMkY3RDRGIik7CiAgICAgICAgICBpZiAoYmVzdC5wY3QgPj0g
OTApIHsKICAgICAgICAgICAgcmVzLmlubmVySFRNTCA9IGDinIUgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWdyZWVuKSI+JHtiZXN0LnBjdH0lIOKAlCBw
ZXJmZWN0IHJlcGx5ITwvc3Bhbj5gOwogICAgICAgICAgICBkaWZmQm94LmlubmVySFRNTCA9ICIiOyBmaXhCb3guaW5uZXJIVE1MID0gIiI7CiAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICByZXMuaW5uZXJIVE1MID0gYOKchSA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tZ3JlZW4pIj4ke2Jlc3QucGN0fSUg
4oCUIHVuZGVyc3Rvb2QhIFBvbGlzaCBmb3IgbmV4dCB0aW1lOjwvc3Bhbj5gOwogICAgICAgICAgICBkaWZmQm94LmlubmVySFRNTCA9IGJlc3QuZGlmZkh0
bWw7CiAgICAgICAgICAgIGZpeEJveC5pbm5lckhUTUwgPSBiZXN0LmZpeGVzSHRtbDsKICAgICAgICAgIH0KICAgICAgICAgIHNldFRpbWVvdXQodGtOZXh0
LCBiZXN0LnBjdCA+PSA5MCA/IDkwMCA6IDI2MDApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZnguYmFkKCk7CiAgICAgICAgICByZXMuaW5uZXJI
VE1MID0gYPCfmYkgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWdvbGQpIj4ke2Jlc3QucGN0fSUg4oCUIG5vdCBxdWl0ZS4gSGVyZSBpcyB3aGF0IHRvIGZp
eCwgdGhlbiB0YXAg8J+OpCBhbmQgdHJ5IGFnYWluOjwvc3Bhbj48ZGl2IGNsYXNzPSJoZWFyZCI+SGVhcmQ6IOKAnCR7YmVzdC5oZWFyZH3igJ08L2Rpdj5g
OwogICAgICAgICAgZGlmZkJveC5pbm5lckhUTUwgPSBiZXN0LmRpZmZIdG1sOwogICAgICAgICAgZml4Qm94LmlubmVySFRNTCA9IGJlc3QuZml4ZXNIdG1s
OwogICAgICAgICAgdGtIaW50KCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9IGVsc2UgewogICAgLy8gTm8gcmVjb2duaXRpb24gc2VydmljZSAo
b2xkZXIgaVBob25lcywgYXBwIHByZXZpZXdzKTogcmVjb3JkIHdpdGggYXV0by1zdG9wLAogICAgLy8gdGhlbiBjb21wYXJlIHlvdXIgdm9pY2UgdG8gdGhl
IGhpbnQgYW5kIHNlbGYtZ3JhZGUuCiAgICBpZiAocmVjb3JkaW5nKSB7IC8vIG1hbnVhbCBzdG9wIHN0aWxsIHBvc3NpYmxlCiAgICAgIHJlY29yZGluZyA9
IGZhbHNlOyBzdG9wUmVjb3JkaW5nKCk7CiAgICAgIG1pYy5jbGFzc0xpc3QucmVtb3ZlKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCfjqQi
OwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBvayA9IGF3YWl0IHN0YXJ0UmVjb3JkaW5nKHRydWUsICgpID0+IHsKICAgICAgcmVjb3JkaW5nID0g
ZmFsc2U7CiAgICAgIG1pYy5jbGFzc0xpc3QucmVtb3ZlKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCfjqQiOwogICAgICByZXMuaW5uZXJI
VE1MID0gYDxidXR0b24gY2xhc3M9InNuZGJ0biIgb25jbGljaz0icGxheU15UmVjKCkiIHN0eWxlPSJtYXJnaW46MCA2cHggMCAwOyI+4pa277iPIE15IGFu
c3dlcjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJoZWFyZCI+Q29tcGFyZSB3aXRoIHRoZSDwn5KhIGhpbnQsIHRoZW4gZ3JhZGUgeW91cnNlbGY6PC9zcGFuPmA7
CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0a1NlbGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CiAgICAgIHRrSGludCgpOwogICAg
fSk7CiAgICBpZiAoIW9rKSB7CiAgICAgIHJlcy5pbm5lckhUTUwgPSBtaWNIZWxwSHRtbCgpOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGtT
ZWxmR3JhZGUiKS5zdHlsZS5kaXNwbGF5ID0gImZsZXgiOwogICAgICB0a0hpbnQoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgcmVjb3JkaW5nID0gdHJ1
ZTsgbWljLmNsYXNzTGlzdC5hZGQoImxpc3RlbmluZyIpOyBtaWMudGV4dENvbnRlbnQgPSAi4o+5IjsKICAgIHJlcy50ZXh0Q29udGVudCA9ICLwn5S0IFJl
Y29yZGluZ+KApiBzcGVhayB5b3VyIGFuc3dlciwgdGhlbiBwYXVzZSDigJQgaXQgc3RvcHMgYnkgaXRzZWxmLiI7CiAgfQp9CmZ1bmN0aW9uIHRvZ2dsZUVh
cigpIHsKICBlYXJNb2RlID0gIWVhck1vZGU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRrRWFyIikudGV4dENvbnRlbnQgPSBlYXJNb2RlID8gIvCf
kYAgU2hvdyB0ZXh0IiA6ICLwn46nIExpc3RlbmluZyBtb2RlIjsKICByZWJ1aWxkQ2hhdCgpOwp9CmZ1bmN0aW9uIHRrUmVzdGFydCgpIHsKICBpZiAoY3Vy
Lm4gPT09ICJSIikgeyBvcGVuUmV2aWV3KCk7IHJldHVybjsgfSAvLyBmcmVzaCByYW5kb20gbWl4CiAgZGVsZXRlIFRLW2N1ci5uXTsKICByZW5kZXJUYWxr
KCk7Cn0KCi8qIC0tLSBQcm9udW5jaWF0aW9uIGNvYWNoIC0tLSAqLwovLyBLUVNSOiBuYXRpdmUtYXBwIHNoaW0gc2xvdCDigJQgdGhlIGlPUyBhcHAgaW5q
ZWN0cyBhIHJlY29nbml6ZXIgd2l0aCB0aGUgc2FtZSBpbnRlcmZhY2UKY29uc3QgU1IgPSB3aW5kb3cuS1FTUiB8fCB3aW5kb3cuU3BlZWNoUmVjb2duaXRp
b24gfHwgd2luZG93LndlYmtpdFNwZWVjaFJlY29nbml0aW9uOwpsZXQgcmVjb2duaXppbmcgPSBmYWxzZSwgbWVkaWFSZWMgPSBudWxsLCByZWNDaHVua3Mg
PSBbXSwgbXlSZWNVcmwgPSBudWxsLCByZWNvcmRpbmcgPSBmYWxzZTsKbGV0IG1pY1Blcm0gPSBudWxsLCBzckJsb2NrZWQgPSBmYWxzZSwgdmFkQ2FuY2Vs
ID0gbnVsbCwgYWN0aXZlUmVjID0gbnVsbDsKCi8qIFJlbGVhc2UgdGhlIG1pY3JvcGhvbmUgQ09NUExFVEVMWSDigJQgY2FsbGVkIHdoZW4gbGVhdmluZyB0
aGUgcGFnZS9zY3JlZW4gc28gdGhlCiAgIE9TIG1pYyBpbmRpY2F0b3IgbmV2ZXIgbGluZ2VycyBhZnRlciB0aGUgYnJvd3NlciBpcyBjbG9zZWQgb3IgYmFj
a2dyb3VuZGVkLiAqLwpsZXQgbWljU3RyZWFtID0gbnVsbCwgbGlzdGVuVGltZW91dCA9IG51bGw7CmZ1bmN0aW9uIGtpbGxNaWNTdHJlYW0oKSB7CiAgdHJ5
IHsgaWYgKG1pY1N0cmVhbSkgbWljU3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godCA9PiB0LnN0b3AoKSk7IH0gY2F0Y2ggKGUpIHt9CiAgbWljU3RyZWFt
ID0gbnVsbDsKfQpmdW5jdGlvbiBhcm1MaXN0ZW4ocmVjLCBtcyA9IDE1MDAwKSB7CiAgY2xlYXJUaW1lb3V0KGxpc3RlblRpbWVvdXQpOwogIC8vIGhhcmQg
Y2FwOiBuZXZlciBob2xkIHRoZSBtaWMgbG9uZ2VyIHRoYW4gdGhpcyB3aXRob3V0IGZpbmlzaGluZyAoaU9TIHJhcmVseSBhdXRvLWVuZHMpCiAgbGlzdGVu
VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4geyBpZiAoYWN0aXZlUmVjID09PSByZWMpIGZvcmNlRW5kTGlzdGVuKHJlYyk7IH0sIG1zKTsKfQovKiBpT1Mg
V2ViS2l0IHNvbWV0aW1lcyBpZ25vcmVzIHN0b3AoKSBhbmQgbmV2ZXIgZmlyZXMgb25lbmQg4oCUIGVzY2FsYXRlOgogICBzdG9wIOKGkiBhYm9ydCAoMC44
cykg4oaSIGZvcmNlIHRoZSBmaW5pc2ggaGFuZGxlciBvdXJzZWx2ZXMgKDEuNnMpIHNvIHRoZQogICDij7kgYnV0dG9uIEFMV0FZUyByZXNvbHZlcyBpbnRv
IGEgcmVzdWx0IG9yIGEgY2xlYXIgImRpZCBub3QgaGVhciIgbWVzc2FnZS4gKi8KZnVuY3Rpb24gZm9yY2VFbmRMaXN0ZW4ocmVjKSB7CiAgbWljQ2hlY2tp
bmdVSSgpOwogIHRyeSB7IHJlYy5zdG9wKCk7IH0gY2F0Y2ggKGUpIHt9CiAgLy8gdGhlIG5hdGl2ZSBpT1MgcmVjb2duaXplciAoS1FTUikgcmV0dXJucyBp
dHMgZmluYWwgdHJhbnNjcmlwdCBvbmx5IHdoZW4gc3RvcCgpCiAgLy8gcmVzb2x2ZXMsIHdoaWNoIGNhbiB0YWtlIDEtMyBzIGZvciBzaG9ydCBhdWRpbyAt
LSBnaXZlIGl0IHJvb20gYmVmb3JlIGVzY2FsYXRpbmcsCiAgLy8gb3RoZXJ3aXNlIHRoZSBsZWFybmVyJ3Mgd29yZHMgYXJlIHRocm93biBhd2F5IHJpZ2h0
IGFmdGVyIHRoZXkgdGFwcGVkIHN0b3AKICBjb25zdCBuYXRpdmUgPSAhIShTUiAmJiBTUi5uYXRpdmUpOwogIHNldFRpbWVvdXQoKCkgPT4geyBpZiAoYWN0
aXZlUmVjID09PSByZWMpIHsgdHJ5IHsgcmVjLmFib3J0KCk7IH0gY2F0Y2ggKGUpIHt9IH0gfSwgbmF0aXZlID8gMzIwMCA6IDgwMCk7CiAgc2V0VGltZW91
dCgoKSA9PiB7IGlmIChhY3RpdmVSZWMgPT09IHJlYyAmJiByZWMub25lbmQpIHsgdHJ5IHsgcmVjLm9uZW5kKCk7IH0gY2F0Y2ggKGUpIHt9IH0gfSwgbmF0
aXZlID8gNDUwMCA6IDE2MDApOwp9Ci8qIHRoZSBtb21lbnQgc3RvcCBpcyB0YXBwZWQsIGV2ZXJ5IG1pYyBjb250cm9sIHNheXMgc28gLS0gc2lsZW5jZSBh
ZnRlciBhIHRhcCByZWFkcyBhcyAiYnJva2VuIiAqLwpmdW5jdGlvbiBtaWNDaGVja2luZ1VJKCkgewogIHRyeSB7IG1pY1NoZWV0Q2hlY2tpbmcoKTsgfSBj
YXRjaCAoZSkge30KICBjb25zdCB3bSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3TWljIik7CiAgaWYgKHdtICYmIHdtLmNsYXNzTGlzdC5jb250YWlu
cygic3RvcG1vZGUiKSkgeyB3bS50ZXh0Q29udGVudCA9ICLij7MgQ2hlY2tpbmfigKYiOyB3bS5jbGFzc0xpc3QucmVtb3ZlKCJzdG9wbW9kZSIpOyB3bS5j
bGFzc0xpc3QuYWRkKCJjaGVja2luZyIpOyB9CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1pYy5saXN0ZW5pbmciKS5mb3JFYWNoKG0gPT4geyBt
LnRleHRDb250ZW50ID0gIuKPsyI7IH0pOwogIGNvbnN0IHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid1Byb25SZXMiKTsKICBpZiAociAmJiByLmNs
YXNzTGlzdC5jb250YWlucygibWljQ29hY2giKSkgci5pbm5lckhUTUwgPSAi4o+zIENoZWNraW5nIHlvdXIgcHJvbnVuY2lhdGlvbuKApjxzbWFsbD5vbmUg
c2Vjb25kPC9zbWFsbD4iOwp9Ci8qIENvbnRpbnVvdXMgbGlzdGVuaW5nIHNlc3Npb246IGNvbGxlY3RzIEVWRVJZIHNlbnRlbmNlIChmaW5hbCBzZWdtZW50
cyArIHRoZQogICB0cmFpbGluZyBub3QteWV0LWZpbmFsIHRleHQpIHVudGlsIHRoZSBzcGVha2VyIHBhdXNlcyBmb3IgaWRsZU1zLCB0YXBzIOKPuSwKICAg
b3IgY2FwTXMgcGFzc2VzLiBGaXhlcyBvbmUtc2hvdCByZWNvZ25pdGlvbiBvbmx5IGtlZXBpbmcgdGhlIGZpcnN0IHNlbnRlbmNlLiAqLwovKiAtLS0tIHRo
ZSBtaWNyb3Bob25lIGxldmVsIG1ldGVyOiBvbmUgc2xpbSBiYXIsIHNob3duIG5leHQgdG8gd2hpY2hldmVyIG1pYyBpcyBsaXZlIC0tLS0gKi8KLyogLS0t
LSB0aGUgbGlzdGVuaW5nIHNoZWV0OiB0aGUgd29yZCwgd2hhdCB0aGUgbWljIGhlYXJzLCB0aGVuIHRoZSB2ZXJkaWN0IC0tIGFsbCBpbiBvbmUgcGxhY2Us
IG5vIHRhcCAtLS0tICovCmxldCBtaWNTaGVldFRpbWVyID0gMDsKZnVuY3Rpb24gbWljU2hlZXRTaG93KG8pIHsKICBtaWNTaGVldEhpZGUoKTsKICBjb25z
dCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgcy5pZCA9ICJrcU1pY1NoZWV0IjsKICBzLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJr
cW1zIj4KICAgIDxkaXYgY2xhc3M9ImtxbXMtdGFnIiBpZD0ia3FNc1RhZyI+8J+UtCBMaXN0ZW5pbmc8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImtxbXMtdGFy
Z2V0JHtvLnNtYWxsID8gIiBzbWFsbCIgOiAiIn0iIGlkPSJrcU1zVGFyZ2V0Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImtxbXMtaGludCIgaWQ9ImtxTXNI
aW50Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1pY01ldGVyIiBpZD0ia3FNaWNNZXRlciI+PGk+PC9pPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ia3Ftcy1o
ZWFyZCIgaWQ9ImtxTXNIZWFyZCI+4oCmPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJrcW1zLWZvb3QiIGlkPSJrcU1zRm9vdCI+PHNwYW4+SXQgc3RvcHMgYnkg
aXRzZWxmIHdoZW4geW91IHBhdXNlPC9zcGFuPjxidXR0b24gY2xhc3M9ImtxbXMtc3RvcCIgaWQ9ImtxTXNTdG9wIj5TdG9wIG5vdzwvYnV0dG9uPjwvZGl2
PgogIDwvZGl2PmA7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKTsKICBzLnF1ZXJ5U2VsZWN0b3IoIiNrcU1zVGFyZ2V0IikudGV4dENvbnRlbnQg
PSBvLnRhcmdldCB8fCAiIjsKICBzLnF1ZXJ5U2VsZWN0b3IoIiNrcU1zSGludCIpLnRleHRDb250ZW50ID0gby5oaW50IHx8ICIiOwogIGNvbnN0IHN0b3Ag
PSAoKSA9PiB7IHRyeSB7IGlmIChhY3RpdmVSZWMpIGZvcmNlRW5kTGlzdGVuKGFjdGl2ZVJlYyk7IH0gY2F0Y2ggKGUpIHt9IH07CiAgcy5xdWVyeVNlbGVj
dG9yKCIja3FNc1N0b3AiKS5vbmNsaWNrID0gc3RvcDsKICBzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZSA9PiB7IGlmIChlLnRhcmdldCA9PT0gcykg
c3RvcCgpOyB9KTsgICAvLyB0YXBwaW5nIG91dHNpZGUgPSBzdG9wIG5vdwogIHJldHVybiBzOwp9CmZ1bmN0aW9uIG1pY1NoZWV0TGl2ZSh0KSB7CiAgY29u
c3QgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrcU1zSGVhcmQiKTsgaWYgKCFoKSByZXR1cm47CiAgaWYgKCF0KSByZXR1cm47CiAgaC50ZXh0Q29u
dGVudCA9IHQuc2xpY2UoLTYwKTsgaC5jbGFzc0xpc3QuYWRkKCJvbiIpOwogIGNvbnN0IHRhZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrcU1zVGFn
Iik7IGlmICh0YWcpIHRhZy50ZXh0Q29udGVudCA9ICLwn46nIEhlYXJpbmcgeW91IjsKfQpmdW5jdGlvbiBtaWNTaGVldENoZWNraW5nKCkgewogIGNvbnN0
IHRhZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrcU1zVGFnIik7IGlmICh0YWcpIHRhZy50ZXh0Q29udGVudCA9ICLij7MgQ2hlY2tpbmciOwogIGNv
bnN0IGYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgia3FNc0Zvb3QiKTsgaWYgKGYpIGYuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwp9Ci8qIHIg
PSB7IG9rLCBwY3QsIHRpdGxlLCBzdWIsIGhlYXJkLCBkaWZmSHRtbCwgdGFyZ2V0LCByZXRyeSwgYnV0dG9uczpbe2xhYmVsLCBjbHMsIGZufV0gfSAqLwpm
dW5jdGlvbiBtaWNTaGVldFJlc3VsdChyKSB7CiAgY29uc3QgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrcU1pY1NoZWV0Iik7IGlmICghcykgcmV0
dXJuOwogIGNsZWFyVGltZW91dChtaWNTaGVldFRpbWVyKTsKICBjb25zdCBlbSA9IHIub2sgPyAi4pyFIiA6IChyLnBjdCA+PSA1MCA/ICLwn5+hIiA6ICLw
n5mJIik7CiAgY29uc3QgYm94ID0gcy5xdWVyeVNlbGVjdG9yKCIua3FtcyIpOwogIGJveC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0ia3Ftcy1yZXMtZW1v
amkiPiR7ZW19PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJrcW1zLXJlcy10aXRsZSIgaWQ9ImtxTXNUaXRsZSI+PC9kaXY+CiAgICAke3IuaGVhcmQgPyBgPGRp
diBjbGFzcz0ia3Ftcy1yZXMtaGVhcmQiIGlkPSJrcU1zUmgiPjwvZGl2PmAgOiAiIn0KICAgICR7ci5kaWZmSHRtbCA/IGA8ZGl2IGNsYXNzPSJrcW1zLXJl
cy1kaWZmIj4ke3IuZGlmZkh0bWx9PC9kaXY+YCA6ICIifQogICAgPGRpdiBjbGFzcz0ia3Ftcy1yZXMtc3ViIiBpZD0ia3FNc1N1YiI+PC9kaXY+CiAgICA8
ZGl2IGNsYXNzPSJrcW1zLWJ0bnMiIGlkPSJrcU1zQnRucyI+PC9kaXY+YDsKICBib3gucXVlcnlTZWxlY3RvcigiI2txTXNUaXRsZSIpLnRleHRDb250ZW50
ID0gci50aXRsZSB8fCAiIjsKICBib3gucXVlcnlTZWxlY3RvcigiI2txTXNUaXRsZSIpLnN0eWxlLmNvbG9yID0gci5vayA/ICJ2YXIoLS1ncmVlbikiIDog
KHIucGN0ID49IDUwID8gInZhcigtLWdvbGQpIiA6ICJ2YXIoLS1yZWQpIik7CiAgaWYgKHIuaGVhcmQpIGJveC5xdWVyeVNlbGVjdG9yKCIja3FNc1JoIiku
dGV4dENvbnRlbnQgPSAi4oCcIiArIHIuaGVhcmQgKyAi4oCdIjsKICBib3gucXVlcnlTZWxlY3RvcigiI2txTXNTdWIiKS5pbm5lckhUTUwgPSByLnN1YiB8
fCAiIjsKICBjb25zdCBidCA9IGJveC5xdWVyeVNlbGVjdG9yKCIja3FNc0J0bnMiKTsKICBjb25zdCBhZGQgPSAobGFiZWwsIGZuLCBwcmltYXJ5KSA9PiB7
IGNvbnN0IGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsgYi5jbGFzc05hbWUgPSBwcmltYXJ5ID8gImJ0biIgOiAic25kYnRuIjsgYi50
ZXh0Q29udGVudCA9IGxhYmVsOyBiLm9uY2xpY2sgPSAoKSA9PiB7IG1pY1NoZWV0SGlkZSgpOyB0cnkgeyBmbiAmJiBmbigpOyB9IGNhdGNoIChlKSB7fSB9
OyBidC5hcHBlbmRDaGlsZChiKTsgfTsKICBpZiAoci5vaykgewogICAgYWRkKCJOZXh0IOKGkiIsIG51bGwsIHRydWUpOwogICAgbWljU2hlZXRUaW1lciA9
IHNldFRpbWVvdXQobWljU2hlZXRIaWRlLCAyMjAwKTsgICAgLy8gYSBwYXNzIGNsb3NlcyBieSBpdHNlbGY7IG5vdGhpbmcgdG8gZGVjaWRlCiAgfSBlbHNl
IHsKICAgIChyLmJ1dHRvbnMgfHwgW10pLmZvckVhY2goYiA9PiBhZGQoYi5sYWJlbCwgYi5mbiwgYi5wcmltYXJ5KSk7CiAgICBpZiAoci5yZXRyeSkgYWRk
KCLwn46kIFRyeSBhZ2FpbiIsIHIucmV0cnksIHRydWUpOwogICAgYWRkKCJDbG9zZSIsIG51bGwsIGZhbHNlKTsKICB9Cn0KZnVuY3Rpb24gbWljU2hlZXRI
aWRlKCkgeyBjbGVhclRpbWVvdXQobWljU2hlZXRUaW1lcik7IGNvbnN0IHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgia3FNaWNTaGVldCIpOyBpZiAo
cykgcy5yZW1vdmUoKTsgfQpmdW5jdGlvbiBtaWNNZXRlclNob3coYWZ0ZXJFbCkgewogIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIja3FNaWNTaGVl
dCAja3FNaWNNZXRlciIpKSByZXR1cm47ICAgLy8gdGhlIHNoZWV0IGNhcnJpZXMgaXRzIG93biBtZXRlcgogIG1pY01ldGVySGlkZSgpOwogIGlmICghYWZ0
ZXJFbCkgcmV0dXJuOwogIGNvbnN0IG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBtLmNsYXNzTmFtZSA9ICJtaWNNZXRlciI7IG0uaWQg
PSAia3FNaWNNZXRlciI7IG0uaW5uZXJIVE1MID0gIjxpPjwvaT4iOwogIGFmdGVyRWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmVuZCIsIG0pOwp9
CmZ1bmN0aW9uIG1pY01ldGVyU2V0KHYpIHsgY29uc3QgaSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNrcU1pY01ldGVyIGkiKTsgaWYgKGkpIGkuc3R5
bGUud2lkdGggPSBNYXRoLnJvdW5kKE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHYpKSAqIDEwMCkgKyAiJSI7IH0KZnVuY3Rpb24gbWljTWV0ZXJIaWRlKCkg
eyBjb25zdCBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtxTWljTWV0ZXIiKTsgaWYgKG0pIG0ucmVtb3ZlKCk7IH0KLyogd2ViIGZhbGxiYWNrIGZv
ciB0aGUgbWV0ZXI6IHJlYWQgdGhlIGxldmVsIG9mZiB0aGUgcmVjb3JkaW5nIHN0cmVhbSB0aGUgd2ViIGJ1aWxkIGFscmVhZHkgb3BlbnMgKi8KZnVuY3Rp
b24gbGV2ZWxNZXRlckZyb20oc3RyZWFtLCBjYikgewogIGxldCBjdHggPSBudWxsLCByYWYgPSAwOwogIHRyeSB7CiAgICBjdHggPSBuZXcgKHdpbmRvdy5B
dWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCkoKTsKICAgIGNvbnN0IHNyYyA9IGN0eC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShz
dHJlYW0pLCBhbiA9IGN0eC5jcmVhdGVBbmFseXNlcigpOwogICAgYW4uZmZ0U2l6ZSA9IDUxMjsgc3JjLmNvbm5lY3QoYW4pOwogICAgY29uc3QgYnVmID0g
bmV3IFVpbnQ4QXJyYXkoYW4uZmZ0U2l6ZSk7CiAgICBjb25zdCB0aWNrID0gKCkgPT4gewogICAgICBhbi5nZXRCeXRlVGltZURvbWFpbkRhdGEoYnVmKTsK
ICAgICAgbGV0IHMgPSAwOyBmb3IgKGxldCBpID0gMDsgaSA8IGJ1Zi5sZW5ndGg7IGkrKykgeyBjb25zdCBkID0gKGJ1ZltpXSAtIDEyOCkgLyAxMjg7IHMg
Kz0gZCAqIGQ7IH0KICAgICAgY29uc3QgZGIgPSAyMCAqIE1hdGgubG9nMTAoTWF0aC5tYXgoTWF0aC5zcXJ0KHMgLyBidWYubGVuZ3RoKSwgMWUtNCkpOwog
ICAgICBjYihNYXRoLm1pbigxLCBNYXRoLm1heCgwLCAoZGIgKyA1NSkgLyA0NSkpKTsKICAgICAgcmFmID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRpY2sp
OwogICAgfTsKICAgIHRpY2soKTsKICB9IGNhdGNoIChlKSB7fQogIHJldHVybiAoKSA9PiB7IHRyeSB7IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZik7IH0g
Y2F0Y2ggKGUpIHt9IHRyeSB7IGlmIChjdHgpIGN0eC5jbG9zZSgpOyB9IGNhdGNoIChlKSB7fSB9Owp9CmZ1bmN0aW9uIHN0YXJ0TGlzdGVuaW5nKHJlYywg
eyBpZGxlTXMsIGNhcE1zLCBvbkxpdmUsIG9uRmluaXNoLCBvblJlYWR5LCBvbkxldmVsIH0pIHsKICByZWMuY29udGludW91cyA9IHRydWU7CiAgcmVjLmlu
dGVyaW1SZXN1bHRzID0gdHJ1ZTsKICAvLyB0aGUgbmF0aXZlIHJlY29nbml6ZXIgc3RvcHMgb24gaXRzIG93biBhYm91dCBhIHNlY29uZCBhZnRlciB0aGUg
bGVhcm5lciBnb2VzIHF1aWV0OwogIC8vIDAgbWVhbnMgIm5ldmVyIG9uIGl0cyBvd24iICh0aGUgbGVhcm5lciB0YXBzKSwgZS5nLiBvcGVuIGNvbnZlcnNh
dGlvbgogIHJlYy5zaWxlbmNlTXMgPSBpZGxlTXMgPyBNYXRoLm1heCg5MDAsIE1hdGgubWluKDE0MDAsIGlkbGVNcyAtIDQwMCkpIDogMDsKICBsZXQgbWV0
ZXJTdG9wID0gbnVsbDsKICByZWMub25sZXZlbCA9IHYgPT4geyBtaWNNZXRlclNldCh2KTsgaWYgKG9uTGV2ZWwpIG9uTGV2ZWwodik7IH07CiAgaWYgKCEo
U1IgJiYgU1IubmF0aXZlKSAmJiB0eXBlb2YgbWljU3RyZWFtICE9PSAidW5kZWZpbmVkIiAmJiBtaWNTdHJlYW0pIG1ldGVyU3RvcCA9IGxldmVsTWV0ZXJG
cm9tKG1pY1N0cmVhbSwgcmVjLm9ubGV2ZWwpOwogIGxldCBmaW5hbHMgPSBbXSwgaW50ZXJpbSA9ICIiLCBzZWdBbHRzID0gbnVsbCwgc2VnQ291bnQgPSAw
OwogIGxldCBsYXN0QWN0aXZpdHkgPSBEYXRlLm5vdygpLCBnb3RTcGVlY2ggPSBmYWxzZSwgZmluaXNoZWQgPSBmYWxzZTsKICByZWMub25yZXN1bHQgPSBl
ID0+IHsKICAgIGludGVyaW0gPSAiIjsKICAgIGZvciAobGV0IGkgPSBlLnJlc3VsdEluZGV4OyBpIDwgZS5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7CiAgICAg
IGNvbnN0IHNlZyA9IGUucmVzdWx0c1tpXTsKICAgICAgaWYgKHNlZy5pc0ZpbmFsKSB7CiAgICAgICAgZmluYWxzLnB1c2goc2VnWzBdLnRyYW5zY3JpcHQu
dHJpbSgpKTsKICAgICAgICBzZWdDb3VudCsrOwogICAgICAgIC8vIGtlZXAgcmVjb2duaXplciBhbHRlcm5hdGl2ZXMgb25seSBpbiB0aGUgc2ltcGxlIG9u
ZS1zZW50ZW5jZSBjYXNlCiAgICAgICAgc2VnQWx0cyA9IHNlZ0NvdW50ID09PSAxID8gWy4uLnNlZ10ubWFwKHIgPT4gci50cmFuc2NyaXB0KSA6IG51bGw7
CiAgICAgIH0gZWxzZSBpbnRlcmltICs9IHNlZ1swXS50cmFuc2NyaXB0OwogICAgfQogICAgZ290U3BlZWNoID0gdHJ1ZTsgbGFzdEFjdGl2aXR5ID0gRGF0
ZS5ub3coKTsKICAgIGlmIChvbkxpdmUpIG9uTGl2ZSgoZmluYWxzLmpvaW4oIiAiKSArICIgIiArIGludGVyaW0pLnRyaW0oKSk7CiAgfTsKICBjb25zdCBp
ZGxlID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgaWYgKGZpbmlzaGVkIHx8IGFjdGl2ZVJlYyAhPT0gcmVjKSB7IGNsZWFySW50ZXJ2YWwoaWRsZSk7IHJl
dHVybjsgfQogICAgLy8gaWRsZU1zIG9mIDAgbWVhbnMgIm5ldmVyIHN0b3Agb24geW91ciBvd24iIC0tIHRoZSBsZWFybmVyIHRhcHMgdG8gZmluaXNoCiAg
ICBpZiAoaWRsZU1zICYmIGdvdFNwZWVjaCAmJiBEYXRlLm5vdygpIC0gbGFzdEFjdGl2aXR5ID4gaWRsZU1zKSB7IHRyeSB7IHJlYy5zdG9wKCk7IH0gY2F0
Y2ggKGUpIHt9IH0KICB9LCAzMDApOwogIHJlYy5vbmVuZCA9ICgpID0+IHsKICAgIGlmIChmaW5pc2hlZCkgcmV0dXJuOwogICAgZmluaXNoZWQgPSB0cnVl
OwogICAgY2xlYXJJbnRlcnZhbChpZGxlKTsKICAgIGlmIChtZXRlclN0b3ApIHsgdHJ5IHsgbWV0ZXJTdG9wKCk7IH0gY2F0Y2ggKGUpIHt9IH0KICAgIG1p
Y01ldGVySGlkZSgpOwogICAgY29uc3QgdGV4dCA9IChmaW5hbHMuam9pbigiICIpICsgIiAiICsgaW50ZXJpbSkudHJpbSgpOwogICAgY29uc3QgYWx0cyA9
IChzZWdDb3VudCA9PT0gMSAmJiAhaW50ZXJpbS50cmltKCkgJiYgc2VnQWx0cykgPyBzZWdBbHRzIDogKHRleHQgPyBbdGV4dF0gOiBbXSk7CiAgICBvbkZp
bmlzaCh0ZXh0LCBhbHRzKTsKICB9OwogIC8vICJyZWFkeSIgPSB0aGUgbWljcm9waG9uZSBpcyBhY3R1YWxseSBvcGVuLiBDYWxsZXJzIHR1cm4gdGhlaXIg
VUkgcmVkIEhFUkUsIG5vdCBvbiB0aGUgdGFwLAogIC8vIHNvIG5vYm9keSBzdGFydHMgdGFsa2luZyBpbnRvIGEgbWljIHRoYXQgaXMgc3RpbGwgb3Blbmlu
ZyAtLSB0aGUgZmlyc3Qgc3lsbGFibGUgd2FzIGJlaW5nIGxvc3QuCiAgY29uc3QgcHJldlN0YXJ0ID0gcmVjLm9uc3RhcnQ7CiAgcmVjLm9uc3RhcnQgPSAo
KSA9PiB7CiAgICBpZiAoZmluaXNoZWQpIHJldHVybjsKICAgIGFybUxpc3RlbihyZWMsIGNhcE1zKTsgICAgICAgICAgICAvLyB0aGUgbGlzdGVuaW5nIGJ1
ZGdldCBzdGFydHMgd2hlbiB0aGUgbWljIGlzIG9wZW4sIG5vdCBhdCB0aGUgdGFwCiAgICBpZiAocHJldlN0YXJ0KSB7IHRyeSB7IHByZXZTdGFydCgpOyB9
IGNhdGNoIChlKSB7fSB9CiAgICBpZiAob25SZWFkeSkgeyB0cnkgeyBvblJlYWR5KCk7IH0gY2F0Y2ggKGUpIHt9IH0KICB9OwogIC8vIGJlZm9yZSB0aGUg
bWljIGlzIG9wZW4gb25seSBhIGxvbmcgc2FmZXR5IGNhcCBydW5zOiBvbiBmaXJzdCB1c2UgdGhlIHR3byBwZXJtaXNzaW9uCiAgLy8gZGlhbG9ncyBjYW4g
dGFrZSBsb25nZXIgdGhhbiB0aGUgd2hvbGUgbGlzdGVuaW5nIGJ1ZGdldCwgYW5kIHVzZWQgdG8gZW5kIHRoZSBhdHRlbXB0CiAgYXJtTGlzdGVuKHJlYywg
TWF0aC5tYXgoY2FwTXMgfHwgMCwgNDUwMDApKTsKICByZWMuc3RhcnQoKTsKfQpmdW5jdGlvbiBoYXJkU3RvcEF1ZGlvKCkgewogIGNsZWFyVGltZW91dChs
aXN0ZW5UaW1lb3V0KTsKICB0cnkgewogICAgaWYgKGFjdGl2ZVJlYykgewogICAgICBhY3RpdmVSZWMub25yZXN1bHQgPSBudWxsOyBhY3RpdmVSZWMub25l
cnJvciA9IG51bGw7IGFjdGl2ZVJlYy5vbmVuZCA9IG51bGw7CiAgICAgIHRyeSB7IGFjdGl2ZVJlYy5zdG9wKCk7IH0gY2F0Y2ggKGUpIHt9CiAgICAgIHRy
eSB7IGFjdGl2ZVJlYy5hYm9ydCgpOyB9IGNhdGNoIChlKSB7fQogICAgfQogIH0gY2F0Y2ggKGUpIHt9CiAgYWN0aXZlUmVjID0gbnVsbDsgcmVjb2duaXpp
bmcgPSBmYWxzZTsKICBzdG9wUmVjb3JkaW5nKCk7IHJlY29yZGluZyA9IGZhbHNlOwogIHRyeSB7IHBpdGNoU3RvcCgpOyB9IGNhdGNoIChlKSB7fQogIGtp
bGxNaWNTdHJlYW0oKTsKICB0cnkgeyBzcGVlY2hTeW50aGVzaXMuY2FuY2VsKCk7IH0gY2F0Y2ggKGUpIHt9CiAgdHJ5IHsgRi5hdXRvID0gZmFsc2U7IH0g
Y2F0Y2ggKGUpIHt9CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1pYyIpLmZvckVhY2gobSA9PiB7IG0uY2xhc3NMaXN0LnJlbW92ZSgibGlzdGVu
aW5nIik7IG0udGV4dENvbnRlbnQgPSAi8J+OpCI7IH0pOwogIGNvbnN0IHdtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndNaWMiKTsgaWYgKHdtKSB7
IHdtLnRleHRDb250ZW50ID0gIvCfjqQgU2F5IGl0Ijsgd20uY2xhc3NMaXN0LnJlbW92ZSgic3RvcG1vZGUiKTsgfQogIHRyeSB7IG1pY1NoZWV0SGlkZSgp
OyB9IGNhdGNoIChlKSB7fQogIHRyeSB7IGxlYXJuTmF2TG9jayhmYWxzZSk7IH0gY2F0Y2ggKGUpIHt9CiAgY29uc3QgZmEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZnRBdXRvIik7IGlmIChmYSkgZmEudGV4dENvbnRlbnQgPSAi8J+UgSBBdXRvOiBvZmYiOwp9CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
InZpc2liaWxpdHljaGFuZ2UiLCAoKSA9PiB7IGlmIChkb2N1bWVudC5oaWRkZW4pIGhhcmRTdG9wQXVkaW8oKTsgfSk7CndpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJwYWdlaGlkZSIsIGhhcmRTdG9wQXVkaW8pOwp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwgaGFyZFN0b3BBdWRpbyk7Cgov
KiBBc2sgZm9yIHRoZSBtaWMgdGhyb3VnaCBnZXRVc2VyTWVkaWEgZmlyc3Qg4oCUIHRoaXMgcmVsaWFibHkgc2hvd3MgdGhlIGJyb3dzZXIncwogICBwZXJt
aXNzaW9uIHByb21wdC4gU3BlZWNoUmVjb2duaXRpb24gYWxvbmUgY2FuIGZhaWwgd2l0aCAibm90LWFsbG93ZWQiIHdpdGhvdXQgYXNraW5nLiAqLwphc3lu
YyBmdW5jdGlvbiBlbnN1cmVNaWMoKSB7CiAgaWYgKG1pY1Blcm0gPT09ICJncmFudGVkIikgcmV0dXJuIHRydWU7CiAgaWYgKCFuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzIHx8ICFuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSkgeyBtaWNQZXJtID0gImRlbmllZCI7IHJldHVybiBmYWxzZTsgfQogIHRy
eSB7CiAgICBjb25zdCBzID0gYXdhaXQgUHJvbWlzZS5yYWNlKFtuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlIH0p
LCBuZXcgUHJvbWlzZSgoXywgcmVqKSA9PiBzZXRUaW1lb3V0KCgpID0+IHJlaihuZXcgRXJyb3IoIm1pYy10aW1lb3V0IikpLCA4MDAwKSldKTsKICAgIHMu
Z2V0VHJhY2tzKCkuZm9yRWFjaCh0ID0+IHQuc3RvcCgpKTsKICAgIG1pY1Blcm0gPSAiZ3JhbnRlZCI7IHJldHVybiB0cnVlOwogIH0gY2F0Y2ggKGUpIHsg
bWljUGVybSA9ICJkZW5pZWQiOyByZXR1cm4gZmFsc2U7IH0KfQpmdW5jdGlvbiBtaWNIZWxwSHRtbCgpIHsKICByZXR1cm4gYDxzcGFuIGNsYXNzPSJoZWFy
ZCI+8J+Ome+4jyBUaGUgbWljcm9waG9uZSBpcyBibG9ja2VkIGhlcmUuPGJyPgogIOKAoiBDbGljayB0aGUg8J+UkiAvIG1pYyBpY29uIGluIHRoZSBhZGRy
ZXNzIGJhciDihpIgPGI+QWxsb3cgbWljcm9waG9uZTwvYj4sIHRoZW4gcmVsb2FkLjxicj4KICDigKIgVmlld2luZyB0aGlzIGluc2lkZSBhbiBhcHAgcHJl
dmlldz8gPGEgaHJlZj0iIyIgb25jbGljaz0id2luZG93Lm9wZW4obG9jYXRpb24uaHJlZiwnX2JsYW5rJyk7cmV0dXJuIGZhbHNlIiBzdHlsZT0iY29sb3I6
dmFyKC0tYWNjZW50MikiPk9wZW4gaW4geW91ciBicm93c2VyPC9hPiDigJQgdm9pY2Ugd29ya3MgYmVzdCBpbiBDaHJvbWUuPC9zcGFuPmA7Cn0KLyogVm9p
Y2UtYWN0aXZpdHkgZGV0ZWN0aW9uOiBhdXRvLXN0b3AgcmVjb3JkaW5nIH4xLjRzIGFmdGVyIHlvdSBzdG9wIHNwZWFraW5nICovCmZ1bmN0aW9uIGF0dGFj
aFZBRChzdHJlYW0sIG9uU2lsZW5jZSkgewogIGxldCBjdHg7CiAgdHJ5IHsgY3R4ID0gbmV3ICh3aW5kb3cuQXVkaW9Db250ZXh0IHx8IHdpbmRvdy53ZWJr
aXRBdWRpb0NvbnRleHQpKCk7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIG51bGw7IH0KICBjb25zdCBhbiA9IGN0eC5jcmVhdGVBbmFseXNlcigpOyBhbi5mZnRT
aXplID0gNTEyOwogIGN0eC5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShzdHJlYW0pLmNvbm5lY3QoYW4pOwogIGNvbnN0IGRhdGEgPSBuZXcgVWludDhBcnJh
eShhbi5mcmVxdWVuY3lCaW5Db3VudCk7CiAgbGV0IHNwb2tlID0gZmFsc2UsIHF1aWV0U2luY2UgPSAwLCBzdG9wcGVkID0gZmFsc2U7CiAgZnVuY3Rpb24g
bG9vcCh0cykgewogICAgaWYgKHN0b3BwZWQpIHJldHVybjsKICAgIGFuLmdldEJ5dGVUaW1lRG9tYWluRGF0YShkYXRhKTsKICAgIGxldCBzdW0gPSAwOwog
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7IGNvbnN0IHYgPSAoZGF0YVtpXSAtIDEyOCkgLyAxMjg7IHN1bSArPSB2ICogdjsg
fQogICAgY29uc3Qgcm1zID0gTWF0aC5zcXJ0KHN1bSAvIGRhdGEubGVuZ3RoKTsKICAgIGlmIChybXMgPiAwLjA0NSkgeyBzcG9rZSA9IHRydWU7IHF1aWV0
U2luY2UgPSAwOyB9CiAgICBlbHNlIGlmIChzcG9rZSkgewogICAgICBpZiAoIXF1aWV0U2luY2UpIHF1aWV0U2luY2UgPSB0czsKICAgICAgZWxzZSBpZiAo
dHMgLSBxdWlldFNpbmNlID4gMTQwMCkgeyBzdG9wcGVkID0gdHJ1ZTsgdHJ5IHsgY3R4LmNsb3NlKCk7IH0gY2F0Y2ggKGUpIHt9IG9uU2lsZW5jZSgpOyBy
ZXR1cm47IH0KICAgIH0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTsKICB9CiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApOwogIHJldHVy
biAoKSA9PiB7IHN0b3BwZWQgPSB0cnVlOyB0cnkgeyBjdHguY2xvc2UoKTsgfSBjYXRjaCAoZSkge30gfTsKfQoKYXN5bmMgZnVuY3Rpb24gc3RhcnRSZWNv
cmRpbmcoYXV0b1N0b3AgPSBmYWxzZSwgb25BdXRvU3RvcCA9IG51bGwpIHsKICBsZXQgc3RyZWFtOwogIHRyeSB7CiAgICBzdHJlYW0gPSBhd2FpdCBQcm9t
aXNlLnJhY2UoW25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUgfSksIG5ldyBQcm9taXNlKChfLCByZWopID0+IHNl
dFRpbWVvdXQoKCkgPT4gcmVqKG5ldyBFcnJvcigibWljLXRpbWVvdXQiKSksIDgwMDApKV0pOwogICAgbWljUGVybSA9ICJncmFudGVkIjsKICB9IGNhdGNo
IChlKSB7IG1pY1Blcm0gPSAiZGVuaWVkIjsgcmV0dXJuIGZhbHNlOyB9CiAgbWljU3RyZWFtID0gc3RyZWFtOyAvLyBrZWVwIGEgaGFuZGxlIHNvIGhhcmRT
dG9wQXVkaW8gY2FuIGZvcmNlLXJlbGVhc2UgdGhlIG1pYwogIHRyeSB7CiAgICBtZWRpYVJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7CiAgfSBj
YXRjaCAoZSkgewogICAgLy8gZS5nLiBpT1MgU2FmYXJpIHdpdGhvdXQgTWVkaWFSZWNvcmRlciDigJQgcmVsZWFzZSB0aGUgbWljIHdlIGp1c3Qgb3BlbmVk
LCBuZXZlciBsZWFrIGl0CiAgICBraWxsTWljU3RyZWFtKCk7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIHJlY0NodW5rcyA9IFtdOwogIG1lZGlhUmVjLm9u
ZGF0YWF2YWlsYWJsZSA9IGUgPT4geyBpZiAoZS5kYXRhLnNpemUpIHJlY0NodW5rcy5wdXNoKGUuZGF0YSk7IH07CiAgbWVkaWFSZWMub25zdG9wID0gKCkg
PT4gewogICAgdHJ5IHsKICAgICAgaWYgKG15UmVjVXJsKSBVUkwucmV2b2tlT2JqZWN0VVJMKG15UmVjVXJsKTsKICAgICAgbXlSZWNVcmwgPSBVUkwuY3Jl
YXRlT2JqZWN0VVJMKG5ldyBCbG9iKHJlY0NodW5rcywgeyB0eXBlOiBtZWRpYVJlYy5taW1lVHlwZSB8fCAiYXVkaW8vd2VibSIgfSkpOwogICAgICBjb25z
dCBwYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGtQbGF5YmFjayIpOyBpZiAocGIpIHBiLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwogICAgfSBj
YXRjaCAoZSkge30KICAgIGtpbGxNaWNTdHJlYW0oKTsKICAgIGlmICh2YWRDYW5jZWwpIHsgdmFkQ2FuY2VsKCk7IHZhZENhbmNlbCA9IG51bGw7IH0KICB9
OwogIG1lZGlhUmVjLnN0YXJ0KCk7CiAgaWYgKGF1dG9TdG9wICYmIG9uQXV0b1N0b3ApIHZhZENhbmNlbCA9IGF0dGFjaFZBRChzdHJlYW0sICgpID0+IHsg
c3RvcFJlY29yZGluZygpOyBzZXRUaW1lb3V0KG9uQXV0b1N0b3AsIDM1MCk7IH0pOwogIHJldHVybiB0cnVlOwp9CmZ1bmN0aW9uIHN0b3BSZWNvcmRpbmco
KSB7CiAgdHJ5IHsgaWYgKG1lZGlhUmVjICYmIG1lZGlhUmVjLnN0YXRlICE9PSAiaW5hY3RpdmUiKSBtZWRpYVJlYy5zdG9wKCk7IH0gY2F0Y2ggKGUpIHt9
Cn0KZnVuY3Rpb24gcGxheU15UmVjKCkgewogIGlmICghbXlSZWNVcmwpIHJldHVybjsKICBzcGVlY2hTeW50aGVzaXMuY2FuY2VsKCk7CiAgbmV3IEF1ZGlv
KG15UmVjVXJsKS5wbGF5KCk7Cn0KCi8qIC0tLSBXb3JkIHByb251bmNpYXRpb24gY2hlY2sgb24gdGhlIExlYXJuIGNhcmQ6IHNheSB0aGUgd29yZCwgZ2V0
IGEgdmVyZGljdCAtLS0gKi8KZnVuY3Rpb24gbGVhcm5OYXZMb2NrKG9uKSB7CiAgLy8gd2hpbGUgdGhlIG1pYyBpcyBsaXZlLCBmcmVlemUgdGhlIGJpZyBu
YXYgYnV0dG9ucyBzbyBhIHN0cmF5IHRhcAogIC8vIGNhbm5vdCBoaXQgIkxlYXJuZWQhIiBpbnN0ZWFkIG9mIHN0b3AKICBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCIubGVhcm4tbmF2IC5idG4iKS5mb3JFYWNoKGIgPT4gewogICAgYi5kaXNhYmxlZCA9IG9uOwogICAgYi5zdHlsZS5vcGFjaXR5ID0gb24gPyAi
LjM1IiA6ICIiOwogICAgYi5zdHlsZS5wb2ludGVyRXZlbnRzID0gb24gPyAibm9uZSIgOiAiIjsKICB9KTsKfQovKiBGaXJzdCBtaWMgdXNlIGV2ZXI6IGEg
b25lLXRpbWUgY2FyZCB0aGF0IHNheXMgaG93IGl0IHdvcmtzLCBpbiBiaWcgdHlwZS4gQSBmaXJzdC10aW1lCiAgIGxlYXJuZXIgd2hvIHRhcHMg8J+OpCwg
c2F5cyB0aGUgd29yZCBvbmNlLCBhbmQgc2VlcyBub3RoaW5nIGhhcHBlbiBhc3N1bWVzIHRoZSBhcHAgaXMKICAgYnJva2VuIC0tIHRoZSB0aHJlZS10aW1l
cyBydWxlIGFuZCB0aGUgc3RvcCB0YXAgaGF2ZSB0byBiZSBzYWlkIEJFRk9SRSB0aGUgZmlyc3QgdHJ5LiAqLwpmdW5jdGlvbiBjb2FjaENhcmQoa2V5LCB0
aXRsZSwgc3RlcHMsIG5vdGUsIGN0YSwgb25HbykgewogIGxldCBzZWVuID0gZmFsc2U7IHRyeSB7IHNlZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkp
ID09PSAiMSI7IH0gY2F0Y2ggKGUpIHt9CiAgaWYgKHNlZW4pIHJldHVybiBmYWxzZTsKICBjb25zdCBvbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
a3FNaWNDb2FjaFdyYXAiKTsgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwogIGNvbnN0IHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICB3Lmlk
ID0gImtxTWljQ29hY2hXcmFwIjsKICB3LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJrcU1pY0NvYWNoIj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToz
NHB4OyI+8J+OpDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSxzZXJpZjtmb250LXNpemU6MjFweDtmb250LXdlaWdodDo4MDA7
bWFyZ2luLXRvcDo2cHg7Ij4ke3RpdGxlfTwvZGl2PgogICAgPG9sPiR7c3RlcHMubWFwKHMgPT4gIjxsaT4iICsgcyArICI8L2xpPiIpLmpvaW4oIiIpfTwv
b2w+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41OyI+JHtub3RlfTwvZGl2PgogICAg
PGJ1dHRvbiBjbGFzcz0iYnRuIiBpZD0ia3FNaWNDb2FjaEdvIiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW4tdG9wOjE0cHg7cGFkZGluZzoxNHB4O2ZvbnQt
c2l6ZToxNnB4OyI+JHtjdGF9PC9idXR0b24+CiAgPC9kaXY+YDsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHcpOwogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJrcU1pY0NvYWNoR28iKS5vbmNsaWNrID0gKCkgPT4geyB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksICIxIik7IH0gY2F0Y2ggKGUp
IHt9IHcucmVtb3ZlKCk7IG9uR28oKTsgfTsKICByZXR1cm4gdHJ1ZTsKfQpmdW5jdGlvbiBtaWNDb2FjaChvbkdvLCBzYW1wbGUpIHsKICBjb25zdCBzID0g
c2FtcGxlIHx8ICLigKYiOwogIHJldHVybiBjb2FjaENhcmQoImtxTWljQ29hY2hlZCIsICJIb3cgdGhlIG1pYyB3b3JrcyIsIFsKICAgICI8Yj5UYXAg8J+O
pCBTYXkgaXQuPC9iPiBBIHBhbmVsIG9wZW5zIHRoZSBtb21lbnQgdGhlIG1pYyBpcyByZWFkeSDigJQgeW91IHdpbGwgaGVhciBhIGJlZXAuIiwKICAgIGA8
Yj5TYXkgaXQgb3V0IGxvdWQuPC9iPiBTaG9ydCB3b3JkcyBhcmUgaGFyZCBmb3IgYW55IG1pYyDigJQgc2F5IHRoZW0gPGI+dGhyZWUgdGltZXM8L2I+OiAk
e3N9LCAke3N9LCAke3N9LmAsCiAgICAiPGI+UGF1c2Ugd2hlbiB5b3UgYXJlIGRvbmUuPC9iPiBJdCBzdG9wcyBieSBpdHNlbGYgYW5kIHNob3dzIHlvdSB0
aGUgcmVzdWx0LiBOb3RoaW5nIHRvIHRhcC4iCiAgXSwgIllvdSB3aWxsIHNlZSB0aGUgd29yZHMgYXBwZWFyIGFzIGl0IGhlYXJzIHRoZW0uIFdyb25nIGlz
IGZpbmUg4oCUIHRoYXQgaXMgdGhlIHdob2xlIHBvaW50IG9mIHRoZSBtaWMuIiwgIkdvdCBpdCDigJQgbGV0IG1lIHRyeSIsIG9uR28pOwp9CmZ1bmN0aW9u
IHRhbGtDb2FjaChvbkdvKSB7CiAgcmV0dXJuIGNvYWNoQ2FyZCgia3FUYWxrQ29hY2hlZCIsICJIb3cgVGFsayB3b3JrcyIsIFsKICAgICI8Yj5SZWFkIHRo
ZSBsaW5lIHVuZGVyIHRoZSBjaGF0PC9iPiDigJQgaXQgdGVsbHMgeW91IHdoYXQgdG8gc2F5LiIsCiAgICAiPGI+VGFwIHRoZSByb3VuZCDwn46kPC9iPiBh
bmQgc2F5IHlvdXIgYW5zd2VyIG91dCBsb3VkLiBBIHBhbmVsIHNob3dzIHdoYXQgaXQgaGVhcnM7IGl0IGNoZWNrcyB3aGVuIHlvdSBwYXVzZS4iLAogICAg
IjxiPlN0dWNrPzwvYj4g8J+SoSBIaW50IHNob3dzIHRoZSBzZW50ZW5jZS4g4o+tIFNraXAgbW92ZXMgb24uIE5vYm9keSBpcyBncmFkaW5nIHlvdSBidXQg
eW91LiIKICBdLCAiQW5zd2VycyBkbyBub3QgaGF2ZSB0byBtYXRjaCB3b3JkIGZvciB3b3JkIOKAlCBjbG9zZSBjb3VudHMsIGFuZCB3aGVuIGl0IGRvZXMg
bm90LCB5b3UgYXJlIHNob3duIHdoYXQgdG8gZml4LiIsICJHb3QgaXQg4oCUIGxldCBtZSB0YWxrIiwgb25Hbyk7Cn0KbGV0IHdTZW50TW9kZSA9IGZhbHNl
OyAgIC8vIHNldCBieSAic2F5IHRoZSBzZW50ZW5jZSBpbnN0ZWFkIiBmb3IgdGhlIG5leHQgYXR0ZW1wdCBvbmx5CmFzeW5jIGZ1bmN0aW9uIHdvcmRNaWNU
YXAoKSB7CiAgcGl0Y2hQcmltZSgpOwogIGNvbnN0IHcgPSBjdXIud29yZHNbbGVhcm5JZHhdOwogIGNvbnN0IHRhcmdldCA9IHdbMF0ucmVwbGFjZSgvXCgu
Kj9cKS9nLCAiIikudHJpbSgpOwogIC8vIHJlY29nbml6ZXJzIHN0cnVnZ2xlIHdpdGggaXNvbGF0ZWQgc2hvcnQgc3lsbGFibGVzIOKAlCBhc2sgZm9yIHJl
cGVhdHMgYW5kCiAgLy8gYWxzbyBhY2NlcHQgdGhlIGV4YW1wbGUgc2VudGVuY2UgYXMgYSB2YWxpZCB3YXkgdG8gcHJvdmUgdGhlIHdvcmQKICBjb25zdCBz
aG9ydFdvcmQgPSBzeWxzT2YodGFyZ2V0KS5sZW5ndGggPD0gMTsKICBjb25zdCByZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid1Byb25SZXMiKTsK
ICBjb25zdCBkaWZmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndQcm9uRGlmZiIpOwogIGNvbnN0IGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ3TWljIik7CiAgY29uc3QgZmluaXNoVUkgPSAoKSA9PiB7IGJ0bi50ZXh0Q29udGVudCA9ICLwn46kIFNheSBpdCI7IGJ0bi5jbGFzc0xpc3QucmVtb3Zl
KCJzdG9wbW9kZSIsICJjaGVja2luZyIpOyByZXMuY2xhc3NMaXN0LnJlbW92ZSgibWljQ29hY2giKTsgbGVhcm5OYXZMb2NrKGZhbHNlKTsgfTsKICBpZiAo
U1IgJiYgIXNyQmxvY2tlZCkgewogICAgaWYgKHJlY29nbml6aW5nICYmIGFjdGl2ZVJlYykgeyBmb3JjZUVuZExpc3RlbihhY3RpdmVSZWMpOyByZXR1cm47
IH0KICAgIGlmIChtaWNDb2FjaCh3b3JkTWljVGFwLCB0YXJnZXQpKSByZXR1cm47CiAgICByZXMudGV4dENvbnRlbnQgPSAi8J+OmSBPcGVuaW5nIHRoZSBt
aWNyb3Bob25l4oCmIjsKICAgIGlmICghKFNSICYmIFNSLm5hdGl2ZSkgJiYgIShhd2FpdCBlbnN1cmVNaWMoKSkpIHsgcmVzLmlubmVySFRNTCA9IG1pY0hl
bHBIdG1sKCk7IHJldHVybjsgfQogICAgY29uc3Qgc2VudE1vZGUgPSB3U2VudE1vZGUgJiYgISF3WzVdOyB3U2VudE1vZGUgPSBmYWxzZTsKICAgIHJlY29n
bml6aW5nID0gdHJ1ZTsKICAgIGJ0bi50ZXh0Q29udGVudCA9ICLij7MgT3BlbmluZyB0aGUgbWlj4oCmIjsKICAgIGJ0bi5jbGFzc0xpc3QucmVtb3ZlKCJz
dG9wbW9kZSIpOwogICAgbGVhcm5OYXZMb2NrKHRydWUpOwogICAgZGlmZi5pbm5lckhUTUwgPSAiIjsKICAgIHJlcy5jbGFzc0xpc3QuYWRkKCJtaWNDb2Fj
aCIpOwogICAgY29uc3Qgc3RvcEhpbnQgPSAoU1IgJiYgU1IubmF0aXZlKSA/ICJpdCBzdG9wcyBieSBpdHNlbGYgd2hlbiB5b3UgcGF1c2Ugwrcgb3IgdGFw
IOKPuSIgOiAidGhlbiB0YXAg4o+5IjsKICAgIGNvbnN0IHByb21wdEh0bWwgPSBzZW50TW9kZQogICAgICA/IGDwn5S0IFNheSB0aGUgc2VudGVuY2U6PGJy
PiR7d1s1XX08c21hbGw+JHtzdG9wSGludH08L3NtYWxsPmAKICAgICAgOiBzaG9ydFdvcmQKICAgICAgICA/IGDwn5S0IFNheSBpdCA8dT50aHJlZSB0aW1l
czwvdT46PGJyPiR7dGFyZ2V0fSDCtyAke3RhcmdldH0gwrcgJHt0YXJnZXR9PHNtYWxsPiR7c3RvcEhpbnR9PC9zbWFsbD5gCiAgICAgICAgOiBg8J+UtCBT
YXk6ICR7dGFyZ2V0fTxzbWFsbD4ke3N0b3BIaW50fTwvc21hbGw+YDsKICAgIHJlcy5pbm5lckhUTUwgPSBg4o+zIE9uZSBtb21lbnTigKY8c21hbGw+dGhl
IG1pYyBpcyBvcGVuaW5nPC9zbWFsbD5gOwogICAgLy8gaW4gdGhlIGFwcCB0aGUgbmF0aXZlIHJlY29nbml6ZXIgb3ducyB0aGUgbWljcm9waG9uZTsgYSBz
ZWNvbmQgY2FwdHVyZSBmb3IgcGxheWJhY2sgY29tcGV0ZXMgd2l0aCBpdAogICAgYXdhaXQgc3RhcnRSZWNvcmRpbmcoKTsgLy8ga2VlcCB5b3VyIHZvaWNl
IGZvciDilrbvuI8gcGxheWJhY2sgKyB0aGUgdG9uZSBjaGVjayBuZWVkcyB0aGlzIHN0cmVhbQogICAgcGl0Y2hTdGFydChtaWNTdHJlYW0pOwogICAgY29u
c3QgcmVjID0gbmV3IFNSKCk7CiAgICBhY3RpdmVSZWMgPSByZWM7CiAgICByZWMubGFuZyA9ICJ2aS1WTiI7IHJlYy5tYXhBbHRlcm5hdGl2ZXMgPSA1Owog
ICAgcmVjLmhpbnRzID0gc2VudE1vZGUgJiYgd1s1XSA/IFt3WzVdLCB0YXJnZXRdIDogKHdbNV0gPyBbdGFyZ2V0LCB3WzVdXSA6IFt0YXJnZXRdKTsgICAv
LyB3aGF0IHRvIGxpc3RlbiBmb3IKICAgIHJlYy5vbmVycm9yID0gZXYgPT4gewogICAgICByZWMuZXJyQ29kZSA9IGV2LmVycm9yOwogICAgICBpZiAoZXYu
ZXJyb3IgPT09ICJub3QtYWxsb3dlZCIgfHwgZXYuZXJyb3IgPT09ICJzZXJ2aWNlLW5vdC1hbGxvd2VkIiB8fCBldi5lcnJvciA9PT0gIm5ldHdvcmsiKSBz
ckJsb2NrZWQgPSB0cnVlOwogICAgfTsKICAgIHN0YXJ0TGlzdGVuaW5nKHJlYywgewogICAgICBpZGxlTXM6IDE1MDAsIGNhcE1zOiBzaG9ydFdvcmQgPyAx
MDAwMCA6IDgwMDAsCiAgICAgIG9uUmVhZHk6ICgpID0+IHsKICAgICAgICBidG4udGV4dENvbnRlbnQgPSAi8J+UtCBMaXN0ZW5pbmfigKYiOyBidG4uY2xh
c3NMaXN0LmFkZCgic3RvcG1vZGUiKTsgcmVzLmlubmVySFRNTCA9IHByb21wdEh0bWw7CiAgICAgICAgbWljU2hlZXRTaG93KHsgdGFyZ2V0OiBzZW50TW9k
ZSA/IHdbNV0gOiB0YXJnZXQsIHNtYWxsOiBzZW50TW9kZSwgaGludDogc2VudE1vZGUgPyAiU2F5IHRoZSB3aG9sZSBzZW50ZW5jZSBvdXQgbG91ZCIgOiBz
aG9ydFdvcmQgPyBgU2hvcnQgd29yZCDigJQgc2F5IGl0IHRocmVlIHRpbWVzOiAke3RhcmdldH0gwrcgJHt0YXJnZXR9IMK3ICR7dGFyZ2V0fWAgOiAiU2F5
IGl0IG91dCBsb3VkLCBhdCBub3JtYWwgc3BlZWQiIH0pOwogICAgICAgIHRyeSB7IGJlZXAoOTkwLCAuMDcpOyB9IGNhdGNoIChlKSB7fQogICAgICB9LAog
ICAgICBvbkxpdmU6IHQgPT4geyBtaWNTaGVldExpdmUodCk7IGlmICh0ICYmIHJlcy5jbGFzc0xpc3QuY29udGFpbnMoIm1pY0NvYWNoIikpIHJlcy5pbm5l
ckhUTUwgPSBg8J+OpyBJIGhlYXI6IOKAnCR7dC5zbGljZSgtNDApfeKAnTxzbWFsbD5wYXVzZSB3aGVuIHlvdSBmaW5pc2g8L3NtYWxsPmA7IH0sCiAgICAg
IG9uRmluaXNoOiAodGV4dCwgYWx0cykgPT4gewogICAgICAgIHJlY29nbml6aW5nID0gZmFsc2U7IGlmIChhY3RpdmVSZWMgPT09IHJlYykgYWN0aXZlUmVj
ID0gbnVsbDsKICAgICAgICBmaW5pc2hVSSgpOyBzdG9wUmVjb3JkaW5nKCk7IGNvbnN0IHB2ID0gcGl0Y2hTdG9wKCk7CiAgICAgICAgaWYgKCF0ZXh0KSB7
CiAgICAgICAgICBjb25zdCB0cnlCdG4gPSBgPGJ1dHRvbiBjbGFzcz0ic25kYnRuIiBvbmNsaWNrPSJ3b3JkTWljVGFwKCkiPvCfjqQgVHJ5IGFnYWluPC9i
dXR0b24+YDsKICAgICAgICAgIGNvbnN0IHNlbnRCdG4gPSB3WzVdID8gYDxidXR0b24gY2xhc3M9InNuZGJ0biIgb25jbGljaz0id1NlbnRNb2RlPXRydWU7
d29yZE1pY1RhcCgpIj7wn5ejIFNheSB0aGUgc2VudGVuY2UgaW5zdGVhZDwvYnV0dG9uPmAgOiAiIjsKICAgICAgICAgIC8vIHRoZSBuYXRpdmUgcmVjb2du
aXplciBzYXlzIFdIWSBpdCBlbmRlZDsgYW4gaG9uZXN0IG1lc3NhZ2UgYmVhdHMgYSBnZW5lcmljIG9uZQogICAgICAgICAgY29uc3Qgd2h5ID0gKFNSICYm
IFNSLm5hdGl2ZSAmJiB3aW5kb3cuS1FfTUlDX0xBU1QgJiYgRGF0ZS5ub3coKSAtIHdpbmRvdy5LUV9NSUNfTEFTVC5hdCA8IDgwMDApID8gd2luZG93LktR
X01JQ19MQVNULnJlYXNvbiA6ICIiOwogICAgICAgICAgY29uc3Qgd2h5TGluZSA9IC9eZXJyb3IvLnRlc3Qod2h5KSA/IGA8ZGl2IGNsYXNzPSJoZWFyZCI+
VGhlIHNwZWVjaCBzZXJ2aWNlIHJldHVybmVkIGFuIGVycm9yICgke3doeS5yZXBsYWNlKCJlcnJvcjoiLCAiY29kZSAiKX0pIOKAlCB1c3VhbGx5IGEgbW9t
ZW50IG9mZmxpbmUuIFRyeSBhZ2Fpbi48L2Rpdj5gCiAgICAgICAgICAgIDogL15zdGFydDovLnRlc3Qod2h5KSA/IGA8ZGl2IGNsYXNzPSJoZWFyZCI+VGhl
IG1pY3JvcGhvbmUgY291bGQgbm90IHN0YXJ0OiAke3doeS5zbGljZSg2KS5yZXBsYWNlKC88L2csICImbHQ7Iil9LiBJZiB0aGlzIGtlZXBzIGhhcHBlbmlu
ZywgY2hlY2sgdGhpcyBhcHAgaW4gU2V0dGluZ3M6IE1pY3JvcGhvbmUgYW5kIFNwZWVjaCBSZWNvZ25pdGlvbiBtdXN0IGJvdGggYmUgYWxsb3dlZC48L2Rp
dj5gCiAgICAgICAgICAgIDogd2h5ID09PSAic2lsZW5jZSIgPyBgPGRpdiBjbGFzcz0iaGVhcmQiPkkgaGVhcmQgc291bmQgYnV0IG5vIHdvcmRzIOKAlCBh
IGxpdHRsZSBsb3VkZXIsIGFuZCBjbG9zZXIgdG8gdGhlIHBob25lLjwvZGl2PmAgOiAiIjsKICAgICAgICAgIG1pY1NoZWV0UmVzdWx0KHsgb2s6IGZhbHNl
LCBwY3Q6IDAsIHRpdGxlOiAiSSBkaWQgbm90IGNhdGNoIGl0IiwKICAgICAgICAgICAgc3ViOiBzckJsb2NrZWQgPyAiVm9pY2UgY2hlY2sgaXMgbm90IGF2
YWlsYWJsZSBoZXJlLiIgOiB3aHlMaW5lID8gd2h5TGluZS5yZXBsYWNlKC88W14+XSs+L2csICIiKSA6IHNob3J0V29yZCA/ICJPbmUgc3lsbGFibGUgaXMg
aGFyZCBmb3IgYW55IG1pYy4gU2F5IGl0IHRocmVlIHRpbWVzIGluIGEgcm93LCBvciBzYXkgdGhlIHdob2xlIHNlbnRlbmNlLiIgOiAiQSBsaXR0bGUgbG91
ZGVyLCBhbmQgY2xvc2VyIHRvIHRoZSBwaG9uZS4iLAogICAgICAgICAgICByZXRyeTogKCkgPT4gd29yZE1pY1RhcCgpLAogICAgICAgICAgICBidXR0b25z
OiAoc2hvcnRXb3JkICYmIHdbNV0pID8gW3sgbGFiZWw6ICLwn5ejIFNheSB0aGUgc2VudGVuY2UgaW5zdGVhZCIsIGZuOiAoKSA9PiB7IHdTZW50TW9kZSA9
IHRydWU7IHdvcmRNaWNUYXAoKTsgfSB9XSA6IFtdIH0pOwogICAgICAgICAgcmVzLmlubmVySFRNTCA9IHNyQmxvY2tlZAogICAgICAgICAgICA/IGA8c3Bh
biBjbGFzcz0iaGVhcmQiPlZvaWNlIGNoZWNrIGlzIG5vdCBhdmFpbGFibGUgaGVyZSDigJQgbmV4dCB0YXAgcmVjb3JkcyB5b3UgZm9yIHNlbGYtY29tcGFy
ZS48L3NwYW4+YAogICAgICAgICAgICA6IHdoeUxpbmUgJiYgIXNob3J0V29yZCA/IGA8ZGl2IGNsYXNzPSJtaWNNaXNzIj7wn5mJIEkgZGlkIG5vdCBjYXRj
aCDigJwke3RhcmdldH3igJ0uJHt3aHlMaW5lfTxkaXYgY2xhc3M9Im1pY1RyeSI+JHt0cnlCdG59PC9kaXY+PC9kaXY+YAogICAgICAgICAgICA6IHNob3J0
V29yZAogICAgICAgICAgICAgID8gYDxkaXYgY2xhc3M9Im1pY01pc3MiPvCfmYkgSSBjb3VsZCBub3QgY2F0Y2ggaXQuIE9uZSBzeWxsYWJsZSBpcyBoYXJk
IGZvciBhbnkgbWljIOKAlCBzYXkgaXQgPGI+dGhyZWUgdGltZXMgaW4gYSByb3c8L2I+LCBvciBzYXkgdGhlIHdob2xlIHNlbnRlbmNlLCB3aGljaCBtaWNz
IGhlYXIgbXVjaCBiZXR0ZXIuPGRpdiBjbGFzcz0ibWljVHJ5Ij4ke3RyeUJ0bn0ke3NlbnRCdG59PC9kaXY+PC9kaXY+YAogICAgICAgICAgICAgIDogYDxk
aXYgY2xhc3M9Im1pY01pc3MiPvCfmYkgSSBkaWQgbm90IGhlYXIgaXQg4oCUIHRhcCDwn46kIGFuZCBzYXkg4oCcJHt0YXJnZXR94oCdLjxkaXYgY2xhc3M9
Im1pY1RyeSI+JHt0cnlCdG59PC9kaXY+PC9kaXY+YDsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgLy8gc2hvcnQgd29yZHMgYWxzbyBh
Y2NlcHQgdGhlIGV4YW1wbGUgc2VudGVuY2Ug4oCUIGNvbnRleHQgbWFrZXMgcmVjb2duaXRpb24gcmVsaWFibGUKICAgICAgICBjb25zdCB0YXJnZXRzID0g
KHNob3J0V29yZCB8fCBzZW50TW9kZSkgJiYgd1s1XSA/IFt0YXJnZXQsIHdbNV1dIDogW3RhcmdldF07CiAgICAgICAgbGV0IGJlc3QgPSB7IHBjdDogLTEs
IGhlYXJkOiAiIiwgdGd0OiB0YXJnZXQgfTsKICAgICAgICB0YXJnZXRzLmZvckVhY2godCA9PiBhbHRzLmZvckVhY2goYSA9PiB7IGNvbnN0IGZiID0gcHJv
bkZlZWRiYWNrKHQsIGEpOyBpZiAoZmIucGN0ID4gYmVzdC5wY3QpIGJlc3QgPSB7IC4uLmZiLCBoZWFyZDogYS50cmltKCksIHRndDogdCB9OyB9KSk7CiAg
ICAgICAgY29uc3QgdmlhID0gYmVzdC50Z3QgIT09IHRhcmdldCA/IGAgPHNwYW4gY2xhc3M9ImhlYXJkIj4odmlhIHRoZSBleGFtcGxlIHNlbnRlbmNlKTwv
c3Bhbj5gIDogIiI7CiAgICAgICAgLy8gbm90ZWJvb2sgaG9vazogdGhlIHByZW1pdW0gdHV0b3IgbGF5ZXIgcmVjb3JkcyB3aW5zIGFuZCBtaXNzZXMgKG5v
LW9wIGluIHRoZSBmcmVlIGdhbWUpCiAgICAgICAgaWYgKHdpbmRvdy5rcU5vdGUpIHsgaWYgKGJlc3QucGN0ID49IDg1KSB3aW5kb3cua3FOb3RlKCJ3b3Jk
LW9rIiwgd1swXSk7IGVsc2Ugd2luZG93LmtxTm90ZSgid29yZCIsIHdbMF0sICJoZWFyZCAiICsgKGJlc3QuaGVhcmQgfHwgIm5vdGhpbmcgY2xlYXIiKSk7
IH0KICAgICAgICBkaWZmLmlubmVySFRNTCA9IGJlc3QuZGlmZkh0bWw7IHBpdGNoUmVuZGVyKGRpZmYsIGJlc3QudGd0LCBwdik7CiAgICAgICAgbWljU2hl
ZXRSZXN1bHQoeyBvazogYmVzdC5wY3QgPj0gODUsIHBjdDogYmVzdC5wY3QsIGhlYXJkOiBiZXN0LmhlYXJkLCBkaWZmSHRtbDogYmVzdC5wY3QgPCA4NSA/
IGJlc3QuZGlmZkh0bWwgOiAiIiwKICAgICAgICAgIHRpdGxlOiBiZXN0LnBjdCA+PSA4NSA/IGAke2Jlc3QucGN0fSUg4oCUIGNvcnJlY3QhYCA6IGJlc3Qu
cGN0ID49IDUwID8gYCR7YmVzdC5wY3R9JSDigJQgY2xvc2VgIDogYCR7YmVzdC5wY3R9JSDigJQgbm90IHlldGAsCiAgICAgICAgICBzdWI6IGJlc3QucGN0
ID49IDg1ID8gKGJlc3QudGd0ICE9PSB0YXJnZXQgPyAiSGVhcmQgdGhyb3VnaCB0aGUgZXhhbXBsZSBzZW50ZW5jZSDigJQgdGhhdCBjb3VudHMuIiA6ICJU
aGF0IGlzIHRoZSB3b3JkLiIpIDogYmVzdC5wY3QgPj0gNTAgPyAiVGhlIHJlZCBzeWxsYWJsZXMgYXJlIHRoZSBvbmVzIHRvIGZpeC4gSGVhciBpdCBzbG93
LCB0aGVuIHRyeSBhZ2Fpbi4iIDogIkxpc3RlbiB0byBpdCBzbG93IGZpcnN0LCB0aGVuIHRyeSBhZ2FpbiIgKyAoc2hvcnRXb3JkID8gIiwgb3Igc2F5IHRo
ZSBleGFtcGxlIHNlbnRlbmNlLiIgOiAiLiIpLAogICAgICAgICAgcmV0cnk6ICgpID0+IHdvcmRNaWNUYXAoKSwKICAgICAgICAgIGJ1dHRvbnM6IFt7IGxh
YmVsOiAi8J+QoiBIZWFyIGl0IHNsb3ciLCBmbjogKCkgPT4geyBzYXkoYmVzdC50Z3QsIDAuNTUpOyBzZXRUaW1lb3V0KCgpID0+IHt9LCAwKTsgfSB9XSB9
KTsKICAgICAgICBjb25zdCBtZSA9IG15UmVjVXJsID8gYCA8YnV0dG9uIGNsYXNzPSJzbmRidG4iIG9uY2xpY2s9InBsYXlNeVJlYygpIiBzdHlsZT0icGFk
ZGluZzozcHggOXB4O2ZvbnQtc2l6ZToxMnB4O21hcmdpbjowOyI+4pa277iPIE1lPC9idXR0b24+YCA6ICIiOwogICAgICAgIGlmIChiZXN0LnBjdCA+PSA4
NSkgewogICAgICAgICAgc2Z4Lmdvb2QoKTsKICAgICAgICAgIGxldCBib251cyA9ICIiOwogICAgICAgICAgY29uc3Qgc3QgPSBsc3RhdGUoY3VyLm4pOyBz
dC5wcm9uID0gc3QucHJvbiB8fCBbXTsKICAgICAgICAgIGlmICghc3QucHJvbi5pbmNsdWRlcyh3WzBdKSkgeyBzdC5wcm9uLnB1c2god1swXSk7IHBlcnNp
c3QoKTsgZ2FpblhwKDIpOyBib251cyA9ICIgKzIgWFAg8J+OliI7IH0KICAgICAgICAgIGNvbnN0IGJhZGdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
IndCYWRnZSIpOyBpZiAoYmFkZ2UpIGJhZGdlLnRleHRDb250ZW50ID0gIiDwn46WIjsKICAgICAgICAgIGRhaWx5QnVtcCgicHJvbiIpOwogICAgICAgICAg
cmVzLmlubmVySFRNTCA9IGDinIUgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWdyZWVuKSI+JHtiZXN0LnBjdH0lIOKAlCBjb3JyZWN0IHByb251bmNpYXRp
b24hJHtib251c308L3NwYW4+JHt2aWF9JHttZX1gOwogICAgICAgIH0gZWxzZSBpZiAoYmVzdC5wY3QgPj0gNTApIHsKICAgICAgICAgIHNmeC5iYWQoKTsK
ICAgICAgICAgIHJlcy5pbm5lckhUTUwgPSBg8J+foSA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tZ29sZCkiPiR7YmVzdC5wY3R9JSDigJQgbmVlZHMgYSBs
aXR0bGUgd29yay4gVGFwIHRoZSByZWQgc3lsbGFibGVzLCBsaXN0ZW4g8J+QoiwgYW5kIHRyeSBhZ2Fpbi48L3NwYW4+JHt2aWF9JHttZX08ZGl2IGNsYXNz
PSJoZWFyZCI+SGVhcmQ6IOKAnCR7YmVzdC5oZWFyZH3igJ08L2Rpdj5gOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzZnguYmFkKCk7CiAgICAgICAg
ICBjb25zdCBsb2MgPSAoU1IgJiYgU1IubmF0aXZlICYmIHdpbmRvdy5LUV9NSUNfTEFTVCAmJiB3aW5kb3cuS1FfTUlDX0xBU1QubG9jYWxlICYmICEvXnZp
L2kudGVzdCh3aW5kb3cuS1FfTUlDX0xBU1QubG9jYWxlKSkgPyBgPGRpdiBjbGFzcz0iaGVhcmQiPuKaoO+4jyBUaGUgcmVjb2duaXplciByYW4gYXMgJHt3
aW5kb3cuS1FfTUlDX0xBU1QubG9jYWxlfSwgbm90IFZpZXRuYW1lc2Ug4oCUIFZpZXRuYW1lc2UgZGljdGF0aW9uIG1heSBub3QgYmUgaW5zdGFsbGVkIG9u
IHRoaXMgZGV2aWNlLjwvZGl2PmAgOiAiIjsKICAgICAgICAgIHJlcy5pbm5lckhUTUwgPSBg8J+ZiSA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tcmVkKSI+
JHtiZXN0LnBjdH0lIOKAlCBsaXN0ZW4g8J+QoiBzbG93IGZpcnN0LCB0aGVuIHRyeSBhZ2FpbiR7c2hvcnRXb3JkID8gIiwgb3Igc2F5IHRoZSBleGFtcGxl
IHNlbnRlbmNlIiA6ICIifS48L3NwYW4+JHttZX08ZGl2IGNsYXNzPSJoZWFyZCI+SGVhcmQ6IOKAnCR7YmVzdC5oZWFyZH3igJ08L2Rpdj4ke2xvY31gOwog
ICAgICAgIH0KICAgICAgfQogICAgfSk7CiAgfSBlbHNlIHsKICAgIC8vIG5vIHJlY29nbml0aW9uIHNlcnZpY2U6IHJlY29yZCDihpQgY29tcGFyZSDihpQg
c2VsZi1jaGVjawogICAgaWYgKHJlY29yZGluZykgeyByZWNvcmRpbmcgPSBmYWxzZTsgc3RvcFJlY29yZGluZygpOyBmaW5pc2hVSSgpOyBzZXRUaW1lb3V0
KCgpID0+IHdvcmRTZWxmUmVzdWx0KHJlcywgdGFyZ2V0KSwgMzUwKTsgcmV0dXJuOyB9CiAgICByZXMudGV4dENvbnRlbnQgPSAi8J+OmSBPcGVuaW5nIHRo
ZSBtaWNyb3Bob25l4oCmIjsKICAgIGNvbnN0IG9rID0gYXdhaXQgc3RhcnRSZWNvcmRpbmcodHJ1ZSwgKCkgPT4gewogICAgICByZWNvcmRpbmcgPSBmYWxz
ZTsgZmluaXNoVUkoKTsgd29yZFNlbGZSZXN1bHQocmVzLCB0YXJnZXQpOwogICAgfSk7CiAgICBpZiAoIW9rKSB7IHJlcy5pbm5lckhUTUwgPSBtaWNIZWxw
SHRtbCgpOyByZXR1cm47IH0KICAgIHBpdGNoU3RhcnQobWljU3RyZWFtKTsKICAgIHJlY29yZGluZyA9IHRydWU7CiAgICBidG4udGV4dENvbnRlbnQgPSAi
4o+5IFRhcCB3aGVuIHlvdSBmaW5pc2giOwogICAgYnRuLmNsYXNzTGlzdC5hZGQoInN0b3Btb2RlIik7CiAgICBsZWFybk5hdkxvY2sodHJ1ZSk7CiAgICBy
ZXMudGV4dENvbnRlbnQgPSAi8J+UtCBTYXkg4oCcIiArIHRhcmdldCArICLigJ0g4oCUIGl0IHN0b3BzIGJ5IGl0c2VsZi4iOwogIH0KfQpmdW5jdGlvbiB3
b3JkU2VsZlBhc3MoKSB7CiAgY29uc3QgdyA9IGN1ci53b3Jkc1tsZWFybklkeF07CiAgY29uc3Qgc3QgPSBsc3RhdGUoY3VyLm4pOyBzdC5wcm9uID0gc3Qu
cHJvbiB8fCBbXTsKICBpZiAoIXN0LnByb24uaW5jbHVkZXMod1swXSkpIHsgc3QucHJvbi5wdXNoKHdbMF0pOyBwZXJzaXN0KCk7IGdhaW5YcCgyKTsgZmxv
YXRGeCgiKzIgWFAiLCAiIzJGN0Q0RiIpOyB9CiAgY29uc3QgYmFkZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid0JhZGdlIik7IGlmIChiYWRnZSkg
YmFkZ2UudGV4dENvbnRlbnQgPSAiIPCfjpYiOwogIGRhaWx5QnVtcCgicHJvbiIpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3UHJvblJlcyIpLmlu
bmVySFRNTCA9IGDinIUgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWdyZWVuKSI+TWFya2VkIGFzIHByb25vdW5jZWQhIPCfjpY8L3NwYW4+YDsKICBzZngu
Z29vZCgpOwp9Cgphc3luYyBmdW5jdGlvbiBtaWNUYXAoKSB7CiAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa0tyIikudGV4
dENvbnRlbnQ7CiAgY29uc3QgcmVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa1Jlc3VsdCIpOwogIGNvbnN0IG1pYyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJtaWNCdG4iKTsKCiAgaWYgKFNSICYmICFzckJsb2NrZWQpIHsKICAgIC8vIEZ1bGwgY29hY2g6IHJlY29nbml6ZSBzcGVlY2ggKyByZWNv
cmQgYXVkaW8gYXQgdGhlIHNhbWUgdGltZQogICAgaWYgKHJlY29nbml6aW5nICYmIGFjdGl2ZVJlYykgeyBmb3JjZUVuZExpc3RlbihhY3RpdmVSZWMpOyBy
ZXR1cm47IH0gLy8gdGFwIOKPuSA9IGRvbmUKICAgIGlmIChyZWNvZ25pemluZykgcmV0dXJuOwogICAgaWYgKCEoU1IgJiYgU1IubmF0aXZlKSAmJiAhKGF3
YWl0IGVuc3VyZU1pYygpKSkgewogICAgICByZXMuaW5uZXJIVE1MID0gbWljSGVscEh0bWwoKTsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNl
bGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJlY29nbml6aW5nID0gdHJ1ZTsKICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzcGtEaWZmIikuaW5uZXJIVE1MID0gIiI7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZkdyYWRlIikuc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKICAgIGlmICghKFNSICYmIFNSLm5hdGl2ZSkpIGF3YWl0IHN0YXJ0UmVjb3JkaW5nKCk7IC8vIGJlc3QgZWZmb3J0ICh3ZWIp
OyBpbiB0aGUgYXBwIHRoZSBuYXRpdmUgcmVjb2duaXplciBvd25zIHRoZSBtaWMKICAgIGNvbnN0IHJlYyA9IG5ldyBTUigpOwogICAgYWN0aXZlUmVjID0g
cmVjOwogICAgcmVjLmxhbmcgPSAidmktVk4iOyByZWMubWF4QWx0ZXJuYXRpdmVzID0gNTsKICAgIHJlYy5oaW50cyA9IFt0YXJnZXRdOwogICAgbWljLnRl
eHRDb250ZW50ID0gIuKPsyI7CiAgICByZXMudGV4dENvbnRlbnQgPSAi4o+zIE9wZW5pbmcgdGhlIG1pY+KApiI7CiAgICByZWMub25lcnJvciA9IGV2ID0+
IHsKICAgICAgcmVjLmVyckNvZGUgPSBldi5lcnJvcjsKICAgICAgaWYgKGV2LmVycm9yID09PSAibm90LWFsbG93ZWQiIHx8IGV2LmVycm9yID09PSAic2Vy
dmljZS1ub3QtYWxsb3dlZCIgfHwgZXYuZXJyb3IgPT09ICJuZXR3b3JrIikgc3JCbG9ja2VkID0gdHJ1ZTsKICAgIH07CiAgICBzdGFydExpc3RlbmluZyhy
ZWMsIHsKICAgICAgaWRsZU1zOiAyMjAwLCBjYXBNczogMzAwMDAsCiAgICAgIG9uUmVhZHk6ICgpID0+IHsgbWljLmNsYXNzTGlzdC5hZGQoImxpc3Rlbmlu
ZyIpOyBtaWMudGV4dENvbnRlbnQgPSAi4o+5IjsgcmVzLnRleHRDb250ZW50ID0gIvCflLQgUmVhZCB0aGUgc2VudGVuY2Ug4oCUIGl0IGNoZWNrcyB3aGVu
IHlvdSBwYXVzZS4iOyBtaWNTaGVldFNob3coeyB0YXJnZXQsIHNtYWxsOiBjbGVhbktyKHRhcmdldCkubGVuZ3RoID4gMTAsIGhpbnQ6ICJSZWFkIGl0IG91
dCBsb3VkIiB9KTsgdHJ5IHsgYmVlcCg5OTAsIC4wNyk7IH0gY2F0Y2ggKGUpIHt9IH0sCiAgICAgIG9uTGl2ZTogdCA9PiB7IG1pY1NoZWV0TGl2ZSh0KTsg
aWYgKHQpIHJlcy50ZXh0Q29udGVudCA9ICLwn46nIOKAnOKApiIgKyB0LnNsaWNlKC01MCkgKyAi4oCdIjsgfSwKICAgICAgb25GaW5pc2g6ICh0ZXh0LCBh
bHRzKSA9PiB7CiAgICAgICAgcmVjb2duaXppbmcgPSBmYWxzZTsgaWYgKGFjdGl2ZVJlYyA9PT0gcmVjKSBhY3RpdmVSZWMgPSBudWxsOwogICAgICAgIG1p
Yy5jbGFzc0xpc3QucmVtb3ZlKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCfjqQiOwogICAgICAgIHN0b3BSZWNvcmRpbmcoKTsKICAgICAg
ICBpZiAodGV4dCkgewogICAgICAgICAgbGV0IGJlc3QgPSB7IHBjdDogLTEsIGhlYXJkOiAiIiB9OwogICAgICAgICAgYWx0cy5mb3JFYWNoKGEgPT4geyBj
b25zdCBmYiA9IHByb25GZWVkYmFjayh0YXJnZXQsIGEpOyBpZiAoZmIucGN0ID4gYmVzdC5wY3QpIGJlc3QgPSB7IC4uLmZiLCBoZWFyZDogYS50cmltKCkg
fTsgfSk7CiAgICAgICAgICBtaWNTaGVldFJlc3VsdCh7IG9rOiBiZXN0LnBjdCA+PSA4NSwgcGN0OiBiZXN0LnBjdCwgaGVhcmQ6IGJlc3QuaGVhcmQsIGRp
ZmZIdG1sOiBiZXN0LnBjdCA8IDg1ID8gYmVzdC5kaWZmSHRtbCA6ICIiLCB0aXRsZTogYmVzdC5wY3QgPj0gODUgPyBgJHtiZXN0LnBjdH0lIOKAlCBjb3Jy
ZWN0IWAgOiBiZXN0LnBjdCA+PSA1MCA/IGAke2Jlc3QucGN0fSUg4oCUIGNsb3NlYCA6IGAke2Jlc3QucGN0fSUg4oCUIG5vdCB5ZXRgLCBzdWI6IGJlc3Qu
cGN0ID49IDg1ID8gIiIgOiAiVGhlIHJlZCBzeWxsYWJsZXMgYXJlIHRoZSBvbmVzIHRvIGZpeC4iLCByZXRyeTogKCkgPT4gbWljVGFwKCksIGJ1dHRvbnM6
IFt7IGxhYmVsOiAi8J+QoiBIZWFyIGl0IHNsb3ciLCBmbjogKCkgPT4gc2F5KHRhcmdldCwgMC41NSkgfV0gfSk7CiAgICAgICAgICBhbmFseXplUHJvbih0
YXJnZXQsIGFsdHMpOyByZXR1cm47CiAgICAgICAgfQogICAgICAgIG1pY1NoZWV0UmVzdWx0KHsgb2s6IGZhbHNlLCBwY3Q6IDAsIHRpdGxlOiAiSSBkaWQg
bm90IGNhdGNoIHRoYXQiLCBzdWI6ICJBIGxpdHRsZSBsb3VkZXIsIGFuZCBjbG9zZXIgdG8gdGhlIHBob25lLiIsIHJldHJ5OiAoKSA9PiBtaWNUYXAoKSB9
KTsKICAgICAgICBpZiAoc3JCbG9ja2VkKSB7CiAgICAgICAgICByZXMuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+Vm9pY2UgcmVjb2duaXRp
b24gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGJyb3dzZXIg4oCUIHN3aXRjaGluZyB0byDwn46ZIHJlY29yZCAmYW1wOyBjb21wYXJlIG1vZGUuIFRhcCB0
aGUgbWljIGFnYWluITwvc3Bhbj5gOwogICAgICAgIH0gZWxzZSBpZiAoIXJlYy5lcnJDb2RlIHx8IHJlYy5lcnJDb2RlID09PSAibm8tc3BlZWNoIiB8fCBy
ZWMuZXJyQ29kZSA9PT0gImFib3J0ZWQiKSB7CiAgICAgICAgICByZXMuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+SSBkaWQgbm90IGhlYXIg
YW55dGhpbmcg4oCUIHRhcCB0aGUgbWljIGFuZCB0cnkgYWdhaW4uPC9zcGFuPmA7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJlcy5pbm5lckhUTUwg
PSBgPHNwYW4gY2xhc3M9ImhlYXJkIj5TcGVlY2ggY2hlY2sgZmFpbGVkICgke3JlYy5lcnJDb2RlfSkuIFJlY29yZCwgY29tcGFyZSwgYW5kIGdyYWRlIHlv
dXJzZWxmOjwvc3Bhbj5gOwogICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CiAg
ICAgICAgfQogICAgICB9CiAgICB9KTsKICB9IGVsc2UgewogICAgLy8gTm8gcmVjb2duaXRpb24gc2VydmljZTogcmVjb3JkIHdpdGggYXV0by1zdG9wIOKG
lCBjb21wYXJlIOKGlCBzZWxmLWdyYWRlCiAgICBpZiAocmVjb3JkaW5nKSB7IC8vIG1hbnVhbCBzdG9wIHN0aWxsIHBvc3NpYmxlCiAgICAgIHJlY29yZGlu
ZyA9IGZhbHNlOyBzdG9wUmVjb3JkaW5nKCk7CiAgICAgIG1pYy5jbGFzc0xpc3QucmVtb3ZlKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCf
jqQiOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBvayA9IGF3YWl0IHN0YXJ0UmVjb3JkaW5nKHRydWUsICgpID0+IHsKICAgICAgcmVjb3JkaW5n
ID0gZmFsc2U7CiAgICAgIG1pYy5jbGFzc0xpc3QucmVtb3ZlKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIvCfjqQiOwogICAgICByZXMuaW5u
ZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJoZWFyZCI+Tm93IGNvbXBhcmU6IOKWtu+4jyB5b3VyIHZvaWNlIHZzIPCflIogbmF0aXZlLiBIb3cgY2xvc2Ugd2Vy
ZSB5b3U/PC9zcGFuPmA7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxmR3JhZGUiKS5zdHlsZS5kaXNwbGF5ID0gImZsZXgiOwogICAgfSk7
CiAgICBpZiAoIW9rKSB7CiAgICAgIHNheSh0YXJnZXQpOwogICAgICByZXMuaW5uZXJIVE1MID0gbWljSGVscEh0bWwoKTsKICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNlbGZHcmFkZSIpLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJlY29yZGluZyA9IHRydWU7
IG1pYy5jbGFzc0xpc3QuYWRkKCJsaXN0ZW5pbmciKTsgbWljLnRleHRDb250ZW50ID0gIuKPuSI7CiAgICByZXMudGV4dENvbnRlbnQgPSAi8J+UtCBSZWNv
cmRpbmfigKYgcmVhZCB0aGUgc2VudGVuY2UsIHRoZW4gcGF1c2Ug4oCUIGl0IHN0b3BzIGJ5IGl0c2VsZi4iOwogIH0KfQoKZnVuY3Rpb24gY2xlYW5Lcihz
KSB7IHJldHVybiAocyB8fCAiIikubm9ybWFsaXplKCJORkMiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1suLCE/4oCmflwt4oCT4oCU4oCc4oCdIicoKVwv
XS9nLCAiIikucmVwbGFjZSgvXHMrL2csICIgIikudHJpbSgpOyB9CmZ1bmN0aW9uIHN5bHNPZihzKSB7IGNvbnN0IGMgPSBjbGVhbktyKHMpOyByZXR1cm4g
YyA/IGMuc3BsaXQoIiAiKSA6IFtdOyB9Ci8qIExldmVuc2h0ZWluIGFsaWdubWVudCB3aXRoIGJhY2t0cmFjZSBvdmVyIFNZTExBQkxFUyAoc3BhY2Utc2Vw
YXJhdGVkIHdvcmRzKToKICAgZm9yIGVhY2ggdGFyZ2V0IHN5bGxhYmxlLCB3YXMgaXQgbWF0Y2hlZCBhbmQgV0hBVCB3YXMgaGVhcmQgaW5zdGVhZAogICAo
c3Vic3RpdHV0aW9uKSBvciBub3RoaW5nIChza2lwcGVkKS4gKi8KZnVuY3Rpb24gYWxpZ25QYWlycyh0LCBoKSB7CiAgY29uc3QgbSA9IHQubGVuZ3RoLCBu
ID0gaC5sZW5ndGg7CiAgY29uc3QgZCA9IEFycmF5LmZyb20oeyBsZW5ndGg6IG0gKyAxIH0sICgpID0+IEFycmF5KG4gKyAxKS5maWxsKDApKTsKICBmb3Ig
KGxldCBpID0gMDsgaSA8PSBtOyBpKyspIGRbaV1bMF0gPSBpOwogIGZvciAobGV0IGogPSAwOyBqIDw9IG47IGorKykgZFswXVtqXSA9IGo7CiAgZm9yIChs
ZXQgaSA9IDE7IGkgPD0gbTsgaSsrKQogICAgZm9yIChsZXQgaiA9IDE7IGogPD0gbjsgaisrKQogICAgICBkW2ldW2pdID0gTWF0aC5taW4oZFtpLTFdW2ot
MV0gKyAodFtpLTFdID09PSBoW2otMV0gPyAwIDogMSksIGRbaS0xXVtqXSArIDEsIGRbaV1bai0xXSArIDEpOwogIGNvbnN0IG91dCA9IEFycmF5KG0pLmZp
bGwobnVsbCk7CiAgbGV0IGkgPSBtLCBqID0gbjsKICB3aGlsZSAoaSA+IDAgfHwgaiA+IDApIHsKICAgIGlmIChpID4gMCAmJiBqID4gMCAmJiBkW2ldW2pd
ID09PSBkW2ktMV1bai0xXSArICh0W2ktMV0gPT09IGhbai0xXSA/IDAgOiAxKSkgewogICAgICBvdXRbaS0xXSA9IHsgb2s6IHRbaS0xXSA9PT0gaFtqLTFd
LCBoZWFyZDogaFtqLTFdIH07IGktLTsgai0tOwogICAgfSBlbHNlIGlmIChpID4gMCAmJiAoaiA9PT0gMCB8fCBkW2ldW2pdID09PSBkW2ktMV1bal0gKyAx
KSkgewogICAgICBvdXRbaS0xXSA9IHsgb2s6IGZhbHNlLCBoZWFyZDogbnVsbCB9OyBpLS07CiAgICB9IGVsc2Ugai0tOwogIH0KICByZXR1cm4gb3V0Owp9
CmZ1bmN0aW9uIHNjb3JlT2YocGFpcnMpIHsgcmV0dXJuIHBhaXJzLmZpbHRlcihwID0+IHAgJiYgcC5vaykubGVuZ3RoIC8gTWF0aC5tYXgoMSwgcGFpcnMu
bGVuZ3RoKTsgfQoKLyogLS0tIFZpZXRuYW1lc2Ugc3lsbGFibGUgPSBiYXNlIHNvdW5kcyArIE9ORSB0b25lIG1hcmsuCiAgIERlY29tcG9zZSB0byBleHBs
YWluIGV4YWN0bHkgSE9XIGEgc3lsbGFibGUgd2FzIG1pc3Byb25vdW5jZWQ6CiAgIHdyb25nIHNvdW5kLCBvciByaWdodCBzb3VuZCB3aXRoIHRoZSB3cm9u
ZyB0b25lLiAtLS0gKi8KY29uc3QgVE9ORV9JTkZPID0gewogICIiOiBbIm5nYW5nIiwgIuKGkiIsICJmbGF0LCBsZXZlbCJdLAogICJcdTAzMDEiOiBbInPh
uq9jIiwgIuKGlyIsICJyaXNpbmciXSwKICAiXHUwMzAwIjogWyJodXnhu4FuIiwgIuKGmCIsICJsb3cgZmFsbGluZyJdLAogICJcdTAzMDkiOiBbImjhu49p
IiwgIuKktSIsICJkaXBwaW5nIl0sCiAgIlx1MDMwMyI6IFsibmfDoyIsICJ+4oaXIiwgImJyb2tlbiByaXNpbmciXSwKICAiXHUwMzIzIjogWyJu4bq3bmci
LCAi4oaTIiwgInNob3J0LCBoZWF2eSJdCn07CmZ1bmN0aW9uIGRlY1N5bChzeWwpIHsKICBsZXQgdG9uZSA9ICIiLCBiYXNlID0gIiI7CiAgZm9yIChjb25z
dCBjaCBvZiAoc3lsIHx8ICIiKS5ub3JtYWxpemUoIk5GRCIpKSB7CiAgICBpZiAoVE9ORV9JTkZPW2NoXSkgdG9uZSA9IGNoOyBlbHNlIGJhc2UgKz0gY2g7
CiAgfQogIHJldHVybiB7IGJhc2U6IGJhc2Uubm9ybWFsaXplKCJORkMiKSwgdG9uZSB9Owp9Ci8qIE5vcnRoZXJuIHNvdW5kIG5vcm1hbGl6YXRpb246IHNw
ZWxsaW5ncyB0aGF0IFNPVU5EIGlkZW50aWNhbCBjb3VudCBhcyBjb3JyZWN0CiAgIChkID0gZ2kgPSByIOKGkiB6LCB0ciA9IGNoLCBzID0geCwgZmluYWwg
eSA9IGksIGsvYywgbmdoL25nLCBnaC9nKS4KICAgUmVjb2duaXplcnMgb2Z0ZW4gcGljayBhIGhvbW9waG9uZSBzcGVsbGluZyDigJQgdGhlIGxlYXJuZXIg
c2hvdWxkIG5vdCBiZQogICBwdW5pc2hlZCBmb3IgdGhhdC4gKi8KZnVuY3Rpb24gdnFTb3V0aCgpIHsgLy8gU2Vhc29uIDIgcXVlc3RzLCBvciBhIGZhbWls
eSB0aGF0IHNwZWFrcyBTb3V0aGVybgogIHRyeSB7IHJldHVybiAoY3VyICYmIHR5cGVvZiBjdXIubiA9PT0gIm51bWJlciIgJiYgY3VyLm4gPj0gMTMpIHx8
IChzYXZlLmZhbWlseSAmJiBzYXZlLmZhbWlseS5kaWFsZWN0ID09PSAiTmFtIik7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9Cn0KZnVuY3Rpb24g
bm9ybUJhc2UoYikgewogIGxldCB4ID0gYjsKICBpZiAodnFTb3V0aCgpKSB7CiAgICAvLyBTb3V0aGVybiBtZXJnZXJzOiBkID0gZ2kgPSB2IOKGkiB5OyBm
aW5hbCBuIOKGkiBuZywgdCDihpIgYyAoxINuID0gxINuZywgbeG6r3QgPSBt4bqvYyk7IGjhu49pL25nw6MgbWVyZ2UgaGFuZGxlZCBieSB0b25lIGxlbmll
bmN5IGJlbG93CiAgICBpZiAoL15naSQvLnRlc3QoeCkpIHggPSAieWkiOyBlbHNlIHggPSB4LnJlcGxhY2UoL15naSg/PVthZWlvdXnEg8Oiw6rDtMahxrBd
KS8sICJ5Iik7CiAgICB4ID0geC5yZXBsYWNlKC9eW2R2XS8sICJ5IikucmVwbGFjZSgvbiQvLCAibmciKS5yZXBsYWNlKC90JC8sICJjIik7CiAgfSBlbHNl
IHsKICAgIGlmICgvXmdpJC8udGVzdCh4KSkgeCA9ICJ6aSI7CiAgICBlbHNlIGlmICgvXmdpLy50ZXN0KHgpKSB4ID0geC5yZXBsYWNlKC9eZ2kvLCAieiIp
OwogICAgeCA9IHgucmVwbGFjZSgvXltkcl0vLCAieiIpOwogIH0KICB4ID0geC5yZXBsYWNlKC9edHIvLCAiY2giKS5yZXBsYWNlKC9ecy8sICJ4IikKICAg
ICAgIC5yZXBsYWNlKC9ebmdoLywgIm5nIikucmVwbGFjZSgvXmdoLywgImciKS5yZXBsYWNlKC9eayg/PVtlw6ppeV0pLywgImMiKTsKICBpZiAoL1teYWVp
b3XEg8Oiw6rDtMahxrBdeSQvLnRlc3QoeCkpIHggPSB4LnNsaWNlKDAsIC0xKSArICJpIjsKICByZXR1cm4geDsKfQpmdW5jdGlvbiBzeWxTY29yZSh0U3ls
LCBwKSB7CiAgaWYgKCFwKSByZXR1cm4gMDsKICBpZiAocC5vaykgcmV0dXJuIDE7CiAgaWYgKHAuaGVhcmQgPT09IG51bGwpIHJldHVybiAwOwogIGNvbnN0
IGEgPSBkZWNTeWwodFN5bCksIGIgPSBkZWNTeWwocC5oZWFyZCk7CiAgbGV0IHB0cyA9IDA7CiAgaWYgKG5vcm1CYXNlKGEuYmFzZSkgPT09IG5vcm1CYXNl
KGIuYmFzZSkpIHB0cyArPSAyOyAvLyB0aGUgc291bmRzOiAyLzMgb2YgdGhlIHNjb3JlCiAgY29uc3QgdG9uZUVxID0gYS50b25lID09PSBiLnRvbmUgfHwg
KHZxU291dGgoKSAmJiAiXHUwMzA5XHUwMzAzIi5pbmNsdWRlcyhhLnRvbmUpICYmICJcdTAzMDlcdTAzMDMiLmluY2x1ZGVzKGIudG9uZSkgJiYgYS50b25l
ICYmIGIudG9uZSk7IC8vIFNvdXRoOiBo4buPaSA9IG5nw6MKICBpZiAodG9uZUVxKSBwdHMgKz0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gdGhlIHRvbmU6IDEvMyBvZiB0aGUgc2NvcmUKICByZXR1cm4gcHRzIC8gMzsKfQpmdW5jdGlvbiB0b25lTmFtZSh0KSB7IGNvbnN0IGkgPSBUT05F
X0lORk9bdF0gfHwgVE9ORV9JTkZPWyIiXTsgcmV0dXJuIGA8Yj4ke2lbMF19ICR7aVsxXX08L2I+ICgke2lbMl19KWA7IH0KZnVuY3Rpb24gZml4VGlwKHRT
eWwsIHApIHsKICBpZiAoIXAgfHwgcC5oZWFyZCA9PT0gbnVsbCkgcmV0dXJuICJ5b3Ugc2tpcHBlZCB0aGlzIHN5bGxhYmxlIOKAlCBzYXkgaXQgY2xlYXJs
eSI7CiAgY29uc3QgYSA9IGRlY1N5bCh0U3lsKSwgYiA9IGRlY1N5bChwLmhlYXJkKTsKICBjb25zdCB0aXBzID0gW107CiAgaWYgKG5vcm1CYXNlKGEuYmFz
ZSkgIT09IG5vcm1CYXNlKGIuYmFzZSkpIHRpcHMucHVzaChgdGhlIHNvdW5kIGlzIDxiPiR7YS5iYXNlfTwvYj4g4oCUIEkgaGVhcmQg4oCcJHtiLmJhc2V9
4oCdYCk7CiAgaWYgKGEudG9uZSAhPT0gYi50b25lKSB0aXBzLnB1c2goYHRoZSB0b25lIGlzICR7dG9uZU5hbWUoYS50b25lKX0g4oCUIEkgaGVhcmQgJHt0
b25lTmFtZShiLnRvbmUpfWApOwogIHJldHVybiB0aXBzLmpvaW4oIjsgIikgfHwgInNvdW5kcyByaWdodCDigJQgc2F5IGl0IGEgdG91Y2ggbW9yZSBjbGVh
cmx5IjsKfQovKiBGdWxsIGZlZWRiYWNrOiBjb2xvcmVkIHN5bGxhYmxlcyArIGNvbmNyZXRlIGZpeCBpbnN0cnVjdGlvbnMgKi8KZnVuY3Rpb24gcHJvbkZl
ZWRiYWNrKHRhcmdldCwgaGVhcmRSYXcpIHsKICBjb25zdCB0cyA9IHN5bHNPZih0YXJnZXQpLCBocyA9IHN5bHNPZihoZWFyZFJhdyk7CiAgY29uc3QgcGFp
cnMgPSBhbGlnblBhaXJzKHRzLCBocyk7CiAgY29uc3Qgc2NvcmVzID0gdHMubWFwKChzLCBpKSA9PiBzeWxTY29yZShzLCBwYWlyc1tpXSkpOwogIGxldCBr
ID0gMDsKICBjb25zdCBkaWZmSHRtbCA9IHRhcmdldC5zcGxpdCgvKFxzKykvKS5tYXAodG9rID0+IHsKICAgIGlmIChjbGVhbktyKHRvaykgPT09ICIiKSBy
ZXR1cm4gdG9rOwogICAgY29uc3QgZ29vZCA9IHNjb3Jlc1trXSA9PT0gMTsgY29uc3Qgc3lsID0gdHNba107IGsrKzsKICAgIHJldHVybiBgPHNwYW4gY2xh
c3M9IiR7Z29vZCA/ICJzeWwtb2siIDogInN5bC1iYWQifSIgb25jbGljaz0ic2F5KCcke3N5bH0nLDAuNDUpIj4ke3Rva308L3NwYW4+YDsKICB9KS5qb2lu
KCIiKTsKICBjb25zdCBmaXhlcyA9IFtdOwogIGZvciAobGV0IGYgPSAwOyBmIDwgdHMubGVuZ3RoOyBmKyspIHsKICAgIGlmIChzY29yZXNbZl0gPCAxICYm
IGZpeGVzLmxlbmd0aCA8IDQpCiAgICAgIGZpeGVzLnB1c2goYDxkaXYgY2xhc3M9ImZpeGxpbmUiIG9uY2xpY2s9InNheSgnJHt0c1tmXX0nLDAuNCkiPjxi
PiR7dHNbZl19PC9iPiDigJQgJHtmaXhUaXAodHNbZl0sIHBhaXJzW2ZdKX0gPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudDIpO3doaXRlLXNwYWNl
Om5vd3JhcDsiPvCflIogdGFwID0gc2xvdzwvc3Bhbj48L2Rpdj5gKTsKICB9CiAgY29uc3QgcGN0ID0gc2NvcmVzLmxlbmd0aCA/IE1hdGgucm91bmQoc2Nv
cmVzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gc2NvcmVzLmxlbmd0aCAqIDEwMCkgOiAwOwogIHJldHVybiB7IHBjdCwgZGlmZkh0bWwsIGZpeGVz
SHRtbDogZml4ZXMuam9pbigiIikgfTsKfQoKZnVuY3Rpb24gYW5hbHl6ZVByb24odGFyZ2V0LCBhbHRzKSB7CiAgbGV0IGJlc3QgPSB7IHBjdDogLTEsIGhl
YXJkOiAiIiB9OwogIGFsdHMuZm9yRWFjaChhID0+IHsKICAgIGNvbnN0IGZiID0gcHJvbkZlZWRiYWNrKHRhcmdldCwgYSk7CiAgICBpZiAoZmIucGN0ID4g
YmVzdC5wY3QpIGJlc3QgPSB7IC4uLmZiLCBoZWFyZDogYS50cmltKCkgfTsKICB9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BrRGlmZiIpLmlu
bmVySFRNTCA9IGJlc3QuZGlmZkh0bWw7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa0ZpeGVzIikuaW5uZXJIVE1MID0gYmVzdC5maXhlc0h0bWw7
CiAgY29uc3QgcmVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwa1Jlc3VsdCIpOwogIGNvbnN0IGhlYXJkID0gYDxkaXYgY2xhc3M9ImhlYXJkIj5I
ZWFyZDog4oCcJHtiZXN0LmhlYXJkfeKAnTwvZGl2PmA7CiAgaWYgKGJlc3QucGN0ID49IDk1KSB7CiAgICByZXMuaW5uZXJIVE1MID0gYOKchSA8c3BhbiBz
dHlsZT0iY29sb3I6dmFyKC0tZ3JlZW4pIj4ke2Jlc3QucGN0fSUg4oCUIHBlcmZlY3QgcHJvbnVuY2lhdGlvbiE8L3NwYW4+JHtoZWFyZH1gOwogICAgc3Bl
YWtHcmFkZSh0cnVlLCB0cnVlKTsKICB9IGVsc2UgaWYgKGJlc3QucGN0ID49IDgwKSB7CiAgICByZXMuaW5uZXJIVE1MID0gYOKchSA8c3BhbiBzdHlsZT0i
Y29sb3I6dmFyKC0tZ3JlZW4pIj4ke2Jlc3QucGN0fSUg4oCUIGdyZWF0ISBTbWFsbCBwb2xpc2ggYmVsb3c6PC9zcGFuPiR7aGVhcmR9YDsKICAgIHNwZWFr
R3JhZGUodHJ1ZSwgdHJ1ZSk7CiAgfSBlbHNlIGlmIChiZXN0LnBjdCA+PSA1MCkgewogICAgcmVzLmlubmVySFRNTCA9IGDwn5+hIDxzcGFuIHN0eWxlPSJj
b2xvcjp2YXIoLS1nb2xkKSI+JHtiZXN0LnBjdH0lIOKAlCBjbG9zZSEgRml4IHRoZSByZWQgc3lsbGFibGVzIGJlbG93LCB0aGVuIHRyeSBhZ2Fpbi48L3Nw
YW4+JHtoZWFyZH1gOwogICAgc2Z4LmJhZCgpOwogIH0gZWxzZSB7CiAgICByZXMuaW5uZXJIVE1MID0gYPCfmYkgPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigt
LXJlZCkiPiR7YmVzdC5wY3R9JSDigJQgbGlzdGVuIPCfkKIgc2xvdyBmaXJzdCwgdGhlbiByZXBlYXQgb25lIHdvcmQgYXQgYSB0aW1lLjwvc3Bhbj4ke2hl
YXJkfWA7CiAgICBzZnguYmFkKCk7CiAgfQp9CmZ1bmN0aW9uIHNwZWFrR3JhZGUob2ssIHNpbGVudCkgewogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
ZWxmR3JhZGUiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogIGlmIChvaykgewogICAgY29uc3Qgc3QgPSBsc3RhdGUoY3VyLm4pOwogICAgY29uc3Qga2V5
ID0gc3BlYWtJZHggJSBzcGVha1NlbnRlbmNlcygpLmxlbmd0aDsKICAgIGlmICghc3Quc3Bva2VuLmluY2x1ZGVzKGtleSkpIHN0LnNwb2tlbi5wdXNoKGtl
eSk7CiAgICBnYWluWHAoNSk7IGRhaWx5QnVtcCgicHJvbiIpOyBpZiAoIXNpbGVudCkgeyBzZnguZ29vZCgpOyBmbG9hdEZ4KCIrNSBYUCIsICIjMkY3RDRG
Iik7IH0KICAgIGlmIChzdC5zcG9rZW4ubGVuZ3RoID49IDUgJiYgIXN0LnN0YXJzLnNwZWFrKSB7CiAgICAgIHN0LnN0YXJzLnNwZWFrID0gdHJ1ZTsgY29u
ZmV0dGkoKTsgc2Z4LndpbigpOyBmbG9hdEZ4KCLirZAgU3BlYWtpbmcgc3RhciEiLCAiI0IwN0QyOCIpOyBzZXRUaW1lb3V0KCgpID0+IHZxU3RlcEJhbm5l
cigic3BlYWsiKSwgMCk7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsU3RhcnMiKS50ZXh0Q29udGVudCA9IHN0YXJzT2YoY3VyLm4pOwogICAg
fQogICAgcGVyc2lzdCgpOwogICAgc2V0VGltZW91dCgoKSA9PiBzcGVha01vdmUoMSksIDE4MDApOyAvLyBnaXZlIHRpbWUgdG8gc2VlIHRoZSBzY29yZS9k
aWZmIGJlZm9yZSBhZHZhbmNpbmcKICB9IGVsc2UgewogICAgZ2FpblhwKDEpOyBmbG9hdEZ4KCIrMSBYUCBmb3IgdHJ5aW5nIiwgIiM3NTY2NEQiKTsKICB9
Cn0KCi8qID09PT09PT09PT09PT09PSBHQU1FIEhFTFBFUlMgPT09PT09PT09PT09PT09ICovCmZ1bmN0aW9uIGdhbWVQb29sKCkgeyByZXR1cm4gY3VyLndv
cmRzOyB9CmZ1bmN0aW9uIHNob3dSZXN1bHQoe2Vtb2ppLCB0aXRsZSwgc3ViLCBzY29yZSwgeHAsIGNvbWJvLCByZXBsYXl9KSB7CiAgY2xlYXJJbnRlcnZh
bChhY3RpdmVUaW1lcik7IGFjdGl2ZVRpbWVyID0gbnVsbDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzRW1vamkiKS50ZXh0Q29udGVudCA9IGVt
b2ppOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXNUaXRsZSIpLnRleHRDb250ZW50ID0gdGl0bGU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc1N1YiIpLnRleHRDb250ZW50ID0gc3ViIHx8ICIiOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXNTY29yZSIpLnRleHRDb250ZW50ID0gc2Nv
cmU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc1hwIikudGV4dENvbnRlbnQgPSAiKyIgKyB4cDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzQ29tYm8iKS50ZXh0Q29udGVudCA9IGNvbWJvOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXNSZXBsYXkiKS5vbmNsaWNrID0gcmVwbGF5Owog
IGlmIChjb21ibyA+IHNhdmUuYmVzdENvbWJvKSBzYXZlLmJlc3RDb21ibyA9IGNvbWJvOwogIGdhaW5YcCh4cCk7IHBlcnNpc3QoKTsgcmVuZGVySHVkKCk7
CiAgLy8gdGhlIGxhc3QgbGluZSBvZiBldmVyeSBzZXNzaW9uIGlzIHRvbW9ycm93OiB0aGUgc3RyZWFrIHlvdSBub3cgaG9sZCwgYW5kIHdoYXQgaXMgbGVm
dCB0b2RheQogIGNvbnN0IHJuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc05leHQiKTsKICBpZiAocm4pIHsKICAgIGNvbnN0IHNrID0gc2F2ZS5z
dHJlYWsgfHwgeyBjb3VudDogMCB9LCBkID0gZGFpbHkoKTsKICAgIGNvbnN0IGxlZnQgPSBbZC53b3JkcyA8IDUgPyAoNSAtIGQud29yZHMpICsgIiB3b3Jk
cyIgOiBudWxsLCBkLnByb24gPCAzID8gKDMgLSBkLnByb24pICsgIiDwn46kIiA6IG51bGwsIGQuY29udm8gPCAxID8gIjEgc3Rvcnkgb3IgdGFsayIgOiBu
dWxsXS5maWx0ZXIoQm9vbGVhbik7CiAgICBybi5pbm5lckhUTUwgPSBg8J+UpSAke3NrLmNvdW50fS1kYXkgc3RyZWFrJHtzay5jb3VudCA+IDEgPyAiIOKA
lCB0b21vcnJvdyBtYWtlcyBpdCAiICsgKHNrLmNvdW50ICsgMSkgOiAiIOKAlCBjb21lIGJhY2sgdG9tb3Jyb3cgdG8gbWFrZSBpdCAyIn1gCiAgICAgICsg
KGxlZnQubGVuZ3RoID8gYDxicj7wn46vIFRvZGF5J3MgZ29hbHM6ICR7bGVmdC5qb2luKCIgwrcgIil9IHRvIGdvYCA6IGA8YnI+8J+OgSBBbGwgdGhyZWUg
Z29hbHMgZG9uZSDigJQgY2xhaW0gKzMwIFhQIG9uIHRoZSBob21lIHNjcmVlbmApOwogIH0KICB2cVJlc3VsdE5leHQoKTsKICBzaG93KCJyZXN1bHQiKTsK
ICBpZiAoeHAgPiAwKSB7IGNvbmZldHRpKCk7IHNmeC53aW4oKTsgfQp9CgovKiA9PT09PT09PT09PT09PT0gU1BFRUQgUVVJWiA9PT09PT09PT09PT09PT0g
Ki8KbGV0IFEgPSB7fTsKZnVuY3Rpb24gc3RhcnRRdWl6KCkgewogIFEgPSB7IHNjb3JlOjAsIGNvbWJvOjAsIG1heENvbWJvOjAsIHRpbWU6NjAsIHhwOjAg
fTsKICBzaG93KCJxdWl6Iik7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aXpTY29yZSIpLnRleHRDb250ZW50ID0gMDsKICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicXVpekNvbWJvIikudGV4dENvbnRlbnQgPSAiIjsKICBxdWl6TmV4dCgpOyBxdWl6VGljaygpOwogIGFjdGl2ZVRpbWVyID0gc2V0SW50
ZXJ2YWwocXVpelRpY2ssIDEwMDApOwp9CmZ1bmN0aW9uIHF1aXpUaWNrKCkgewogIGNvbnN0IHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpelRp
bWVyIik7CiAgdC50ZXh0Q29udGVudCA9IFEudGltZTsgdC5jbGFzc0xpc3QudG9nZ2xlKCJsb3ciLCBRLnRpbWUgPD0gMTApOwogIGlmIChRLnRpbWUgPD0g
MCkgewogICAgc2hvd1Jlc3VsdCh7IGVtb2ppOiBRLnNjb3JlID49IDEwMCA/ICLwn4+GIiA6ICLwn5KqIiwgdGl0bGU6ICJUaW1lJ3MgdXAhIiwKICAgICAg
c3ViOiAiTWF4IGNvbWJvIMOXIiArIFEubWF4Q29tYm8sIHNjb3JlOiBRLnNjb3JlLCB4cDogUS54cCwgY29tYm86IFEubWF4Q29tYm8sIHJlcGxheTogc3Rh
cnRRdWl6IH0pOwogICAgcmV0dXJuOwogIH0KICBRLnRpbWUtLTsKfQpmdW5jdGlvbiBxdWl6TmV4dCgpIHsKICBjb25zdCBjYXJkcyA9IHNodWZmbGUoZ2Ft
ZVBvb2woKSk7CiAgY29uc3QgY2FyZCA9IGNhcmRzWzBdOyBRLmNhcmQgPSBjYXJkOwogIGNvbnN0IHJldmVyc2UgPSBNYXRoLnJhbmRvbSgpID4gMC41Owog
IFEuYW5zd2VyID0gcmV2ZXJzZSA/IGNhcmRbMF0gOiBjYXJkWzJdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWl6TGFiZWwiKS50ZXh0Q29udGVu
dCA9IHJldmVyc2UgPyAiV2hpY2ggaXMgVmlldG5hbWVzZSBmb3LigKYiIDogIldoYXQgZG9lcyB0aGlzIG1lYW4/IjsKICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicXVpeldvcmQiKS50ZXh0Q29udGVudCA9IChyZXZlcnNlID8gIiIgOiBjYXJkWzRdICsgIiAiKSArIChyZXZlcnNlID8gY2FyZFsyXSA6IGNhcmRb
MF0pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWl6SGludCIpLnRleHRDb250ZW50ID0gcmV2ZXJzZSA/ICIiIDogY2FyZFsxXTsKICBpZiAoIXJl
dmVyc2UpIHNheShjYXJkWzBdKTsKICBjb25zdCBvcHRpb25zID0gc2h1ZmZsZShjYXJkcy5zbGljZSgwLCA0KSk7CiAgY29uc3QgYm94ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInF1aXpBbnN3ZXJzIik7CiAgYm94LmlubmVySFRNTCA9ICIiOwogIG9wdGlvbnMuZm9yRWFjaChvID0+IHsKICAgIGNvbnN0IGxh
YmVsID0gcmV2ZXJzZSA/IG9bMF0gOiBvWzJdOwogICAgY29uc3QgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAgYi5jbGFzc05h
bWUgPSAiYW5zIjsgYi50ZXh0Q29udGVudCA9IGxhYmVsOwogICAgYi5vbmNsaWNrID0gZXYgPT4gcXVpekFuc3dlcihiLCBsYWJlbCA9PT0gUS5hbnN3ZXIs
IGV2KTsKICAgIGJveC5hcHBlbmRDaGlsZChiKTsKICB9KTsKfQpmdW5jdGlvbiBxdWl6QW5zd2VyKGJ0biwgb2ssIGV2KSB7CiAgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiI3F1aXpBbnN3ZXJzIC5hbnMiKS5mb3JFYWNoKGIgPT4gYi5vbmNsaWNrID0gbnVsbCk7CiAgaWYgKFJWLm9uICYmIFEuY2FyZCkgcmV2
TWFyayhRLmNhcmRbMF0sIG9rKTsKICBpZiAob2spIHsKICAgIGJ0bi5jbGFzc0xpc3QuYWRkKCJjb3JyZWN0Iik7CiAgICBRLmNvbWJvKys7IFEubWF4Q29t
Ym8gPSBNYXRoLm1heChRLm1heENvbWJvLCBRLmNvbWJvKTsKICAgIGNvbnN0IG11bHQgPSAxICsgTWF0aC5mbG9vcihRLmNvbWJvIC8gMyk7CiAgICBjb25z
dCBwdHMgPSAxMCAqIG11bHQ7CiAgICBRLnNjb3JlICs9IHB0czsgUS54cCArPSAyICogbXVsdDsKICAgIHNmeC5nb29kKCk7CiAgICBmbG9hdEZ4KCIrIiAr
IHB0cyArIChtdWx0ID4gMSA/ICIgw5ciICsgbXVsdCA6ICIiKSwgIiMyRjdENEYiLCBldi5jbGllbnRYLCBldi5jbGllbnRZKTsKICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJxdWl6U2NvcmUiKS50ZXh0Q29udGVudCA9IFEuc2NvcmU7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpekNvbWJvIiku
dGV4dENvbnRlbnQgPSBRLmNvbWJvID49IDMgPyAi8J+UpcOXIiArIG11bHQgOiAiIjsKICAgIHNldFRpbWVvdXQocXVpek5leHQsIDM1MCk7CiAgfSBlbHNl
IHsKICAgIGJ0bi5jbGFzc0xpc3QuYWRkKCJ3cm9uZyIpOwogICAgUS5jb21ibyA9IDA7IHNmeC5iYWQoKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJxdWl6Q29tYm8iKS50ZXh0Q29udGVudCA9ICIiOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3F1aXpBbnN3ZXJzIC5hbnMiKS5mb3JFYWNo
KGIgPT4gewogICAgICBpZiAoYi50ZXh0Q29udGVudCA9PT0gUS5hbnN3ZXIpIGIuY2xhc3NMaXN0LmFkZCgiY29ycmVjdCIpOwogICAgfSk7CiAgICBzZXRU
aW1lb3V0KHF1aXpOZXh0LCA5MDApOwogIH0KfQoKLyogPT09PT09PT09PT09PT09IFdPUkQgTUFUQ0ggPT09PT09PT09PT09PT09ICovCmxldCBNID0ge307
CmZ1bmN0aW9uIHN0YXJ0TWF0Y2goKSB7CiAgY29uc3QgY2FyZHMgPSBzaHVmZmxlKGdhbWVQb29sKCkpLnNsaWNlKDAsIDgpOwogIE0gPSB7IHRpbWU6OTAs
IGxlZnQ6Y2FyZHMubGVuZ3RoLCBzZWw6bnVsbCwgc3RhcnQ6RGF0ZS5ub3coKSwgeHA6MCB9OwogIHNob3coIm1hdGNoIik7CiAgY29uc3QgdGlsZXMgPSBz
aHVmZmxlKFsKICAgIC4uLmNhcmRzLm1hcChjID0+ICh7aWQ6Y1swXSwgbGFiZWw6Y1swXSwgc2lkZToia3IifSkpLAogICAgLi4uY2FyZHMubWFwKGMgPT4g
KHtpZDpjWzBdLCBsYWJlbDpjWzRdICsgIiAiICsgY1syXSwgc2lkZToiZW4ifSkpCiAgXSk7CiAgY29uc3QgZ3JpZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJtYXRjaEdyaWQiKTsKICBncmlkLmlubmVySFRNTCA9ICIiOwogIHRpbGVzLmZvckVhY2godCA9PiB7CiAgICBjb25zdCBkID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICBkLmNsYXNzTmFtZSA9ICJ0aWxlIjsgZC50ZXh0Q29udGVudCA9IHQubGFiZWw7CiAgICBkLmRhdGFzZXQuaWQgPSB0
LmlkOyBkLmRhdGFzZXQuc2lkZSA9IHQuc2lkZTsKICAgIGQub25jbGljayA9ICgpID0+IG1hdGNoUGljayhkKTsKICAgIGdyaWQuYXBwZW5kQ2hpbGQoZCk7
CiAgfSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hdGNoTGVmdCIpLnRleHRDb250ZW50ID0gTS5sZWZ0OwogIG1hdGNoVGljaygpOwogIGFjdGl2
ZVRpbWVyID0gc2V0SW50ZXJ2YWwobWF0Y2hUaWNrLCAxMDAwKTsKfQpmdW5jdGlvbiBtYXRjaFRpY2soKSB7CiAgY29uc3QgdCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJtYXRjaFRpbWVyIik7CiAgdC50ZXh0Q29udGVudCA9IE0udGltZTsgdC5jbGFzc0xpc3QudG9nZ2xlKCJsb3ciLCBNLnRpbWUgPD0gMTUp
OwogIGlmIChNLnRpbWUgPD0gMCkgewogICAgc2hvd1Jlc3VsdCh7IGVtb2ppOiLij7AiLCB0aXRsZToiT3V0IG9mIHRpbWUhIiwgc3ViOk0ubGVmdCArICIg
cGFpcnMgbGVmdCDigJQgdHJ5IGFnYWluISIsCiAgICAgIHNjb3JlOig4IC0gTS5sZWZ0KSArICIvOCIsIHhwOk0ueHAsIGNvbWJvOjAsIHJlcGxheTpzdGFy
dE1hdGNoIH0pOwogICAgcmV0dXJuOwogIH0KICBNLnRpbWUtLTsKfQpmdW5jdGlvbiBtYXRjaFBpY2sodGlsZSkgewogIGlmICh0aWxlLmNsYXNzTGlzdC5j
b250YWlucygiZG9uZSIpKSByZXR1cm47CiAgaWYgKE0uc2VsID09PSB0aWxlKSB7IHRpbGUuY2xhc3NMaXN0LnJlbW92ZSgic2VsIik7IE0uc2VsID0gbnVs
bDsgcmV0dXJuOyB9CiAgaWYgKHRpbGUuZGF0YXNldC5zaWRlID09PSAia3IiKSBzYXkodGlsZS5kYXRhc2V0LmlkLCAxKTsKICBpZiAoIU0uc2VsKSB7IE0u
c2VsID0gdGlsZTsgdGlsZS5jbGFzc0xpc3QuYWRkKCJzZWwiKTsgcmV0dXJuOyB9CiAgY29uc3QgYSA9IE0uc2VsLCBiID0gdGlsZTsKICBNLnNlbCA9IG51
bGw7IGEuY2xhc3NMaXN0LnJlbW92ZSgic2VsIik7CiAgaWYgKGEuZGF0YXNldC5pZCA9PT0gYi5kYXRhc2V0LmlkICYmIGEuZGF0YXNldC5zaWRlICE9PSBi
LmRhdGFzZXQuc2lkZSkgewogICAgYS5jbGFzc0xpc3QuYWRkKCJkb25lIik7IGIuY2xhc3NMaXN0LmFkZCgiZG9uZSIpOwogICAgTS5sZWZ0LS07IE0ueHAg
Kz0gNTsgc2Z4Lmdvb2QoKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXRjaExlZnQiKS50ZXh0Q29udGVudCA9IE0ubGVmdDsKICAgIGlmIChN
LmxlZnQgPT09IDApIHsKICAgICAgY29uc3Qgc2VjcyA9IE1hdGgucm91bmQoKERhdGUubm93KCkgLSBNLnN0YXJ0KSAvIDEwMDApOwogICAgICBNLnhwICs9
IE1hdGguZmxvb3IoTWF0aC5tYXgoMCwgOTAgLSBzZWNzKSAvIDMpOwogICAgICBzaG93UmVzdWx0KHsgZW1vamk6IvCfp6kiLCB0aXRsZToiQWxsIG1hdGNo
ZWQgaW4gIiArIHNlY3MgKyAicyEiLAogICAgICAgIHN1YjoiU3BlZWQgYm9udXMgaW5jbHVkZWQiLCBzY29yZTpzZWNzICsgInMiLCB4cDpNLnhwLCBjb21i
bzowLCByZXBsYXk6c3RhcnRNYXRjaCB9KTsKICAgIH0KICB9IGVsc2UgewogICAgYS5jbGFzc0xpc3QuYWRkKCJiYWQiKTsgYi5jbGFzc0xpc3QuYWRkKCJi
YWQiKTsgc2Z4LmJhZCgpOwogICAgc2V0VGltZW91dCgoKSA9PiB7IGEuY2xhc3NMaXN0LnJlbW92ZSgiYmFkIik7IGIuY2xhc3NMaXN0LnJlbW92ZSgiYmFk
Iik7IH0sIDQwMCk7CiAgfQp9CgovKiA9PT09PT09PT09PT09PT0gU0VOVEVOQ0UgQlVJTERFUiA9PT09PT09PT09PT09PT0gKi8KbGV0IEIgPSB7fTsKZnVu
Y3Rpb24gc3RhcnRCdWlsZGVyKCkgewogIGNvbnN0IHVzYWJsZSA9IGdhbWVQb29sKCkuZmlsdGVyKGMgPT4gY1s1XS5zcGxpdCgiICIpLmxlbmd0aCA+PSAz
KTsKICBCID0geyByb3VuZHM6IHNodWZmbGUodXNhYmxlKS5zbGljZSgwLCA1KSwgaTowLCBzY29yZTowLCB4cDowLCB0cmllczowIH07CiAgaWYgKCFCLnJv
dW5kcy5sZW5ndGgpIHsgY29uc3QgbmIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsgbmIuY2xhc3NOYW1lID0gImxldmVsdXAtYmFubmVyIjsg
bmIudGV4dENvbnRlbnQgPSAiVGhpcyBsZXNzb24gaGFzIG5vIGxvbmcgc2VudGVuY2VzIHlldCDigJQgdHJ5IGFub3RoZXIgbW9kZSEiOyBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKG5iKTsgc2V0VGltZW91dCgoKSA9PiBuYi5yZW1vdmUoKSwgMzYwMCk7IHJldHVybjsgfQogIHNob3coImJ1aWxkZXIiKTsKICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVpbGRTY29yZSIpLnRleHRDb250ZW50ID0gMDsKICBidWlsZGVyUm91bmQoKTsKfQpmdW5jdGlvbiBidWlsZGVy
Um91bmQoKSB7CiAgY29uc3QgY2FyZCA9IEIucm91bmRzW0IuaV07CiAgQi53b3JkcyA9IGNhcmRbNV0uc3BsaXQoIiAiKTsKICBCLnBsYWNlZCA9IFtdOyBC
LnRyaWVzID0gMDsgQi5zZW50ZW5jZSA9IGNhcmRbNV07CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1aWxkUHJvZ3Jlc3MiKS50ZXh0Q29udGVudCA9
IChCLmkgKyAxKSArICIgLyAiICsgQi5yb3VuZHMubGVuZ3RoOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidWlsZEVuIikudGV4dENvbnRlbnQgPSBj
YXJkWzZdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidWlsZFNsb3QiKS5pbm5lckhUTUwgPSAiIjsKICBjb25zdCBwb29sQm94ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImJ1aWxkUG9vbCIpOwogIHBvb2xCb3guaW5uZXJIVE1MID0gIiI7CiAgc2h1ZmZsZShCLndvcmRzLm1hcCgodywgaWR4KSA9PiAo
e3csIGlkeH0pKSkuZm9yRWFjaChpdGVtID0+IHsKICAgIGNvbnN0IGNoaXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGNoaXAuY2xh
c3NOYW1lID0gIndvcmRjaGlwIjsgY2hpcC50ZXh0Q29udGVudCA9IGl0ZW0udzsKICAgIGNoaXAub25jbGljayA9ICgpID0+IHsKICAgICAgaWYgKGNoaXAu
Y2xhc3NMaXN0LmNvbnRhaW5zKCJwbGFjZWQiKSkgcmV0dXJuOwogICAgICBjaGlwLmNsYXNzTGlzdC5hZGQoInBsYWNlZCIpOwogICAgICBCLnBsYWNlZC5w
dXNoKHsgdzogaXRlbS53LCBjaGlwIH0pOwogICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgIHMuY2xhc3NOYW1l
ID0gIndvcmRjaGlwIjsgcy50ZXh0Q29udGVudCA9IGl0ZW0udzsKICAgICAgcy5vbmNsaWNrID0gKCkgPT4geyBCLnBsYWNlZCA9IEIucGxhY2VkLmZpbHRl
cihwID0+IHAuY2hpcCAhPT0gY2hpcCk7IGNoaXAuY2xhc3NMaXN0LnJlbW92ZSgicGxhY2VkIik7IHMucmVtb3ZlKCk7IH07CiAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJidWlsZFNsb3QiKS5hcHBlbmRDaGlsZChzKTsKICAgIH07CiAgICBwb29sQm94LmFwcGVuZENoaWxkKGNoaXApOwogIH0pOwp9CmZ1
bmN0aW9uIGJ1aWxkZXJSZXNldCgpIHsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVpbGRTbG90IikuaW5uZXJIVE1MID0gIiI7CiAgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiI2J1aWxkUG9vbCAud29yZGNoaXAiKS5mb3JFYWNoKGMgPT4gYy5jbGFzc0xpc3QucmVtb3ZlKCJwbGFjZWQiKSk7CiAgQi5w
bGFjZWQgPSBbXTsKfQpmdW5jdGlvbiBidWlsZGVyQ2hlY2soKSB7CiAgY29uc3QgYXR0ZW1wdCA9IEIucGxhY2VkLm1hcChwID0+IHAudykuam9pbigiICIp
OwogIGlmIChhdHRlbXB0ID09PSBCLndvcmRzLmpvaW4oIiAiKSkgewogICAgY29uc3QgcHRzID0gQi50cmllcyA9PT0gMCA/IDIwIDogMTA7CiAgICBCLnNj
b3JlICs9IHB0czsgQi54cCArPSBCLnRyaWVzID09PSAwID8gOCA6IDQ7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVpbGRTY29yZSIpLnRleHRD
b250ZW50ID0gQi5zY29yZTsKICAgIHNmeC5nb29kKCk7IGZsb2F0RngoIisiICsgcHRzLCAiIzJGN0Q0RiIpOwogICAgc2F5KEIuc2VudGVuY2UpOwogICAg
Qi5pKys7CiAgICBpZiAoQi5pID49IEIucm91bmRzLmxlbmd0aCkgewogICAgICBzaG93UmVzdWx0KHsgZW1vamk6IEIuc2NvcmUgPT09IDEwMCA/ICLwn5Kv
IiA6ICLwn5SoIiwKICAgICAgICB0aXRsZTogQi5zY29yZSA9PT0gMTAwID8gIlBFUkZFQ1QgcnVuISIgOiAiU2VudGVuY2VzIGJ1aWx0ISIsCiAgICAgICAg
c3ViOiAiUmVhbCBzZW50ZW5jZXMgZnJvbSBRdWVzdCAiICsgY3VyLm4sIHNjb3JlOiBCLnNjb3JlLCB4cDogQi54cCwgY29tYm86IDAsIHJlcGxheTogc3Rh
cnRCdWlsZGVyIH0pOwogICAgfSBlbHNlIHNldFRpbWVvdXQoYnVpbGRlclJvdW5kLCA5MDApOwogIH0gZWxzZSB7CiAgICBCLnRyaWVzKys7IHNmeC5iYWQo
KTsKICAgIGNvbnN0IHNsb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVpbGRTbG90Iik7CiAgICBzbG90LnN0eWxlLmFuaW1hdGlvbiA9ICJzaGFr
ZSAuM3MiOwogICAgc2V0VGltZW91dCgoKSA9PiBzbG90LnN0eWxlLmFuaW1hdGlvbiA9ICIiLCAzNTApOwogICAgaWYgKEIudHJpZXMgPj0gMikgZmxvYXRG
eCgiSGludDogIiArIEIud29yZHNbMF0gKyAiIOKApiIsICIjQjA3RDI4Iik7CiAgfQp9CgovKiA9PT09PT09PT09PT09PT0gQk9TUyBCQVRUTEUgPT09PT09
PT09PT09PT09ICovCmxldCBYID0ge307CmZ1bmN0aW9uIHN0YXJ0Qm9zcygpIHsKICBYID0geyBocDoxMDAsIGhlYXJ0czozLCBkbWc6MCwgeHA6MCwgY29t
Ym86MCwgbWF4Q29tYm86MCB9OwogIHNob3coImJvc3MiKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9zc1RpdGxlIikudGV4dENvbnRlbnQgPSBj
dXIuYm9zcyArICIgIiArIGN1ci5ib3NzTmFtZTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9zc1Nwcml0ZSIpLnRleHRDb250ZW50ID0gY3VyLmJv
c3M7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvc3NIcCIpLnN0eWxlLndpZHRoID0gIjEwMCUiOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJi
b3NzSGVhcnRzIikudGV4dENvbnRlbnQgPSAi4p2k77iP4p2k77iP4p2k77iPIjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9zc0RtZyIpLnRleHRD
b250ZW50ID0gMDsKICBib3NzTmV4dCgpOwp9CmZ1bmN0aW9uIGJvc3NOZXh0KCkgewogIGNvbnN0IGNhcmRzID0gc2h1ZmZsZShnYW1lUG9vbCgpKTsKICBj
b25zdCBjYXJkID0gY2FyZHNbMF07CiAgY29uc3QgbW9kZSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDMpOwogIGxldCBsYWJlbCwgd29yZCwgYW5z
d2VyLCBvcHRzOwogIGlmIChtb2RlID09PSAwKSB7IGxhYmVsID0gIlRyYW5zbGF0ZSB0byBFbmdsaXNoIjsgd29yZCA9IGNhcmRbNF0gKyAiICIgKyBjYXJk
WzBdOyBhbnN3ZXIgPSBjYXJkWzJdOyBvcHRzID0gY2FyZHMuc2xpY2UoMSw0KS5tYXAoYyA9PiBjWzJdKTsgc2F5KGNhcmRbMF0pOyB9CiAgZWxzZSBpZiAo
bW9kZSA9PT0gMSkgeyBsYWJlbCA9ICJXaGljaCBpcyBWaWV0bmFtZXNlIGZvcuKApiI7IHdvcmQgPSBjYXJkWzRdICsgIiAiICsgY2FyZFsyXTsgYW5zd2Vy
ID0gY2FyZFswXTsgb3B0cyA9IGNhcmRzLnNsaWNlKDEsNCkubWFwKGMgPT4gY1swXSk7IH0KICBlbHNlIHsKICAgIGNvbnN0IGZpcnN0ID0gY2FyZFswXS5z
cGxpdCgiICIpWzBdOwogICAgbGFiZWwgPSAiQ29tcGxldGU6ICIgKyBjYXJkWzZdOwogICAgd29yZCA9IGNhcmRbNV0ucmVwbGFjZShmaXJzdCwgIl9fX18i
KTsKICAgIGFuc3dlciA9IGZpcnN0OyBvcHRzID0gY2FyZHMuc2xpY2UoMSw0KS5tYXAoYyA9PiBjWzBdLnNwbGl0KCIgIilbMF0pOwogIH0KICBYLmFuc3dl
ciA9IGFuc3dlcjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9zc0xhYmVsIikudGV4dENvbnRlbnQgPSBsYWJlbDsKICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiYm9zc1dvcmQiKS50ZXh0Q29udGVudCA9IHdvcmQ7CiAgY29uc3QgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvc3NBbnN3ZXJz
Iik7CiAgYm94LmlubmVySFRNTCA9ICIiOwogIHNodWZmbGUoW2Fuc3dlciwgLi4ub3B0c10pLmZvckVhY2gobyA9PiB7CiAgICBjb25zdCBiID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CiAgICBiLmNsYXNzTmFtZSA9ICJhbnMiOyBiLnRleHRDb250ZW50ID0gbzsKICAgIGIub25jbGljayA9IGV2
ID0+IGJvc3NBbnN3ZXIoYiwgbyA9PT0gYW5zd2VyLCBldik7CiAgICBib3guYXBwZW5kQ2hpbGQoYik7CiAgfSk7Cn0KZnVuY3Rpb24gYm9zc0Fuc3dlcihi
dG4sIG9rLCBldikgewogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNib3NzQW5zd2VycyAuYW5zIikuZm9yRWFjaChiID0+IGIub25jbGljayA9IG51
bGwpOwogIGNvbnN0IHNwcml0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3NzU3ByaXRlIik7CiAgaWYgKG9rKSB7CiAgICBYLmNvbWJvKys7IFgu
bWF4Q29tYm8gPSBNYXRoLm1heChYLm1heENvbWJvLCBYLmNvbWJvKTsKICAgIGNvbnN0IGRtZyA9IDEwICsgKFguY29tYm8gPj0gMyA/IDUgOiAwKTsKICAg
IFguaHAgPSBNYXRoLm1heCgwLCBYLmhwIC0gZG1nKTsKICAgIFguZG1nICs9IGRtZzsgWC54cCArPSA0OwogICAgYnRuLmNsYXNzTGlzdC5hZGQoImNvcnJl
Y3QiKTsgc2Z4LmhpdCgpOwogICAgc3ByaXRlLmNsYXNzTGlzdC5hZGQoImhpdCIpOyBzZXRUaW1lb3V0KCgpID0+IHNwcml0ZS5jbGFzc0xpc3QucmVtb3Zl
KCJoaXQiKSwgNDAwKTsKICAgIGZsb2F0RngoIi0iICsgZG1nICsgIiBIUCIsICIjQ0YyRTJFIiwgZXYuY2xpZW50WCwgZXYuY2xpZW50WSk7CiAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiYm9zc0hwIikuc3R5bGUud2lkdGggPSBYLmhwICsgIiUiOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvc3NE
bWciKS50ZXh0Q29udGVudCA9IFguZG1nOwogICAgaWYgKFguaHAgPD0gMCkgewogICAgICBzcHJpdGUudGV4dENvbnRlbnQgPSAi8J+SgCI7IFgueHAgKz0g
MzA7CiAgICAgIGRhaWx5QnVtcCgiY29udm8iKTsKICAgICAgY29uc3Qgc3QgPSBsc3RhdGUoY3VyLm4pOwogICAgICBjb25zdCBmaXJzdFdpbiA9ICFzdC5z
dGFycy5ib3NzOwogICAgICBzdC5zdGFycy5ib3NzID0gdHJ1ZTsgcGVyc2lzdCgpOwogICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBzaG93UmVz
dWx0KHsgZW1vamk6IuKalO+4jyIsIHRpdGxlOiBjdXIuYm9zc05hbWUgKyAiIGRlZmVhdGVkISIsCiAgICAgICAgICBzdWI6IGZpcnN0V2luID8gIuKtkCBC
b3NzIHN0YXIgZWFybmVkISArMzAgWFAgYm9udXMiIDogIiszMCBYUCB2aWN0b3J5IGJvbnVzIiwKICAgICAgICAgIHNjb3JlOiBYLmRtZywgeHA6IFgueHAs
IGNvbWJvOiBYLm1heENvbWJvLCByZXBsYXk6IHN0YXJ0Qm9zcyB9KTsKICAgICAgfSwgODAwKTsKICAgICAgcmV0dXJuOwogICAgfQogIH0gZWxzZSB7CiAg
ICBYLmNvbWJvID0gMDsgWC5oZWFydHMtLTsKICAgIGJ0bi5jbGFzc0xpc3QuYWRkKCJ3cm9uZyIpOyBzZnguYmFkKCk7CiAgICBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCIjYm9zc0Fuc3dlcnMgLmFucyIpLmZvckVhY2goYiA9PiB7CiAgICAgIGlmIChiLnRleHRDb250ZW50ID09PSBYLmFuc3dlcikgYi5jbGFz
c0xpc3QuYWRkKCJjb3JyZWN0Iik7CiAgICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3NzSGVhcnRzIikudGV4dENvbnRlbnQgPSAi4p2k
77iPIi5yZXBlYXQoWC5oZWFydHMpICsgIvCflqQiLnJlcGVhdCgzIC0gWC5oZWFydHMpOwogICAgaWYgKFguaGVhcnRzIDw9IDApIHsKICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7CiAgICAgICAgc2hvd1Jlc3VsdCh7IGVtb2ppOiLwn5i1IiwgdGl0bGU6IkRlZmVhdGVk4oCmIiwKICAgICAgICAgIHN1YjogY3VyLmJv
c3NOYW1lICsgIiBoYWQgIiArIFguaHAgKyAiIEhQIGxlZnQuIFJldmlldyB0aGUgbGVzc29uIGFuZCByZXR1cm4hIiwKICAgICAgICAgIHNjb3JlOiBYLmRt
ZywgeHA6IE1hdGguZmxvb3IoWC54cCAvIDIpLCBjb21ibzogWC5tYXhDb21ibywgcmVwbGF5OiBzdGFydEJvc3MgfSk7CiAgICAgIH0sIDkwMCk7CiAgICAg
IHJldHVybjsKICAgIH0KICB9CiAgc2V0VGltZW91dChib3NzTmV4dCwgb2sgPyA1MDAgOiAxMDAwKTsKfQoKZnZMb2FkKCkudGhlbigoKSA9PiB7IGlmIChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFwIikuY2xhc3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKSkgcmVuZGVyTWFwKCk7IH0pOwp2cUFwcGx5RmFtaWx5
KCk7IHZxU3luY0luaXQoKTsgc2V0VGltZW91dCh0ZXROb3RpZnksIDMwMDApOwpyZW5kZXJNYXAoKTsgcmVuZGVySHVkKCk7IHJlbmRlclNwZCgpOwp3aW5k
b3cuVlFfUkVBRFkgPSB0cnVlOyAvLyB0aGUgYXBwIHNwbGFzaCB3YWl0cyBmb3IgdGhpcyB2cVdlbGNvbWVMaW5rKCk7CmlmICghc2F2ZS53ZWxjb21lZCkg
c2V0VGltZW91dCgoKSA9PiB2cVdlbGNvbWUoMSksIDM1MCk7IGZhbWlseUxpbmUoKTsKPC9zY3JpcHQ+CjwvZGl2Pg==