Stop Toxic Beauty Product Ingredients From Causing
Harm to Your Health & Skin & Hair Problems

Enter Products You’re Using or Plan to Purchase
We will Email You a FREE Ingredient Analysis

PGRpdiBjbGFzcz0iY29udGFpbmVyIHByZHVjdGRyb3Bkb3duIiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87d2lkdGg6IDEwMCU7Ij4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgPGZvcm0gaWQ9ImVudGVyX3Byb2R1Y3RfZm9ybSI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJ1c2VyX2lkIiBuYW1lPSJ1c2VyX2lkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIgbXQtMTAgZC1ibG9jayBteC1hdXRvIj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJicmFuZC10YWJsZSBicmFuZC10YWJsZSB0YS10YWJsZSBtdC0xMCBtZXNzYWdlLWJveC0yIiBpZD0iZl9wcm9kdWN0cyIgd2lkdGg9IjEwMCUiCiAgICAgICAgICAgICAgICBjZWxscGFkZGluZz0iNSIgYm9yZGVyPSIxIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgogICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjNDA2MTNiOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxOHB4OyI+PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LWNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICM0MDYxM2I7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDE4cHg7IHdpZHRoOjI1JTsiPkJyYW5kPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LWNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICM0MDYxM2I7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDE4cHg7Ij5FbnRlciBQcm9kdWN0IE5hbWUgRXhhY3RseSBhcyBpdCA8YnI+IEFwcGVhcnMgb24gdGhlIGxhYmVsPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LWNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICM0MDYxM2I7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDE4cHg7IHdpZHRoOjI1JTsiPlByb2R1Y3QgVHlwZTwvdGg+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KCiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjogY2VudGVyOzsiPjxzcGFuIGNsYXNzPSJiZy1yb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAwOyI+MS48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6MzAwcHg7cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJyYW5kW10iIGlkPSJicmFuZF9zZWFyY2hfMSIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMSIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0xPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9icmFuZF9yZXN1bHRfMSIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDphdXRvO3Bvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0X2lkW10iIGlkPSJwcm9kdWN0X2lkXzEiIHZhbHVlPTAgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X2lkXzEiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEiIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9zZWFyY2hfMSIgc3R5bGU9IndpZHRoOi13ZWJraXQtZmlsbC1hdmFpbGFibGU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0xPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xIiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHQgc2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzEiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPHRkICBjbGFzcz0iYmRzLWNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0icHJvZHVjdF90eXBlW10iIGlkPSJwcm9kdWN0X3R5cGVfMSIgY2xhc3M9InByb2R1Y3RfdHlwZV8xIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBkYXRhLXJvdz0xPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2tpbmNhcmUiPlNraW5jYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSGFpciI+SGFpciBDYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29zbWV0aWNzIj5Db3NtZXRpY3M8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjI8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6MzAwcHg7cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJyYW5kW10iIGlkPSJicmFuZF9zZWFyY2hfMiIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMiIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9icmFuZF9yZXN1bHRfMiIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzIiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDphdXRvO3Bvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0X2lkW10iIGlkPSJwcm9kdWN0X2lkXzIiIHZhbHVlPTAgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X2lkXzIiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzIiIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9zZWFyY2hfMiIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8yIiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHQgc2VhcmN
oX3Byb2R1Y3RfcmVzdWx0XzIiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPHRkICBjbGFzcz0iYmRzLWNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0icHJvZHVjdF90eXBlW10iIGlkPSJwcm9kdWN0X3R5cGVfMiIgc3R5bGU9ImJvcmRlcjpub25lOyIgY2xhc3M9InByb2R1Y3RfdHlwZV8yIiBkYXRhLXJvdz0yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2tpbmNhcmUiPlNraW5jYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSGFpciI+SGFpciBDYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29zbWV0aWNzIj5Db3NtZXRpY3M8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjM8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6MzAwcHg7cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJyYW5kW10iIGlkPSJicmFuZF9zZWFyY2hfMyIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMyIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9icmFuZF9yZXN1bHRfMyIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzMiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDphdXRvO3Bvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0X2lkW10iIGlkPSJwcm9kdWN0X2lkXzMiIHZhbHVlPTAgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X2lkXzMiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzMiIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9zZWFyY2hfMyIgc3R5bGU9IndpZHRoOi13ZWJraXQtZmlsbC1hdmFpbGFibGU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz0zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8zIiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHQgc2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzMiPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICA8dGQgIGNsYXNzPSJiZHMtY3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJwcm9kdWN0X3R5cGVbXSIgaWQ9InByb2R1Y3RfdHlwZV8zIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzMiIGRhdGEtcm93PTM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3Q8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTa2luY2FyZSI+U2tpbmNhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIYWlyIj5IYWlyIENhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3NtZXRpY3MiPkNvc21ldGljczwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjogY2VudGVyOzsiPjxzcGFuIGNsYXNzPSJiZy1yb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAwOyI+NDwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF80IiBjbGFzcz0iZm9ybS1jb250cm9sIGJyYW5kX3NlYXJjaF80IiBzdHlsZT0id2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF80IiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfYnJhbmRfcmVzdWx0IHNlYXJjaF9icmFuZF9yZXN1bHRfNCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWJveCIgc3R5bGU9IndpZHRoOmF1dG87cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RfaWRbXSIgaWQ9InByb2R1Y3RfaWRfNCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfNCIgdHlwZT0iaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdFtdIiBpZD0icHJvZHVjdF9zZWFyY2hfNCIgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X3NlYXJjaF80IiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzQiIHN0eWxlPSJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiAjZTZlNmU2O21hcmdpbi10b3A6IDJweDtib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzogMTBweDtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5OTk5O3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbWF4LWhlaWdodCA6IDMwMHB4OyBvdmVyZmxvdzogc2Nyb2xsOyIgY2xhc3M9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdCBzZWFyY2hfcHJvZHVjdF9yZXN1bHRfNCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8dGQgIGNsYXNzPSJiZHMtY3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJwcm9kdWN0X3R5cGVbXSIgaWQ9InByb2R1Y3RfdHlwZV80IiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzQiIGRhdGEtcm93PTQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3Q8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTa2luY2FyZSI+U2tpbmNhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIYWlyIj5IYWlyIENhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3NtZXRpY3MiPkNvc21ldGljczwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjogY2VudGVyOzsiPjxzcGFuIGNsYXNzPSJiZy1yb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAwOyI+NTwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF81IiBjbGFzcz0iZm9ybS1jb250cm9sIGJyYW5kX3NlYXJjaF81IiBzdHlsZT0id2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF81IiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2
dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfYnJhbmRfcmVzdWx0IHNlYXJjaF9icmFuZF9yZXN1bHRfNSI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWJveCIgc3R5bGU9IndpZHRoOmF1dG87cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RfaWRbXSIgaWQ9InByb2R1Y3RfaWRfNSIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfNSIgdHlwZT0iaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdFtdIiBpZD0icHJvZHVjdF9zZWFyY2hfNSIgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X3NlYXJjaF81IiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzUiIHN0eWxlPSJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiAjZTZlNmU2O21hcmdpbi10b3A6IDJweDtib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzogMTBweDtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5OTk5O3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbWF4LWhlaWdodCA6IDMwMHB4OyBvdmVyZmxvdzogc2Nyb2xsOyIgY2xhc3M9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdCBzZWFyY2hfcHJvZHVjdF9yZXN1bHRfNSI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8dGQgIGNsYXNzPSJiZHMtY3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJwcm9kdWN0X3R5cGVbXSIgaWQ9InByb2R1Y3RfdHlwZV81IiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzUiIGRhdGEtcm93PTU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3Q8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTa2luY2FyZSI+U2tpbmNhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIYWlyIj5IYWlyIENhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3NtZXRpY3MiPkNvc21ldGljczwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjogY2VudGVyOzsiPjxzcGFuIGNsYXNzPSJiZy1yb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAwOyI+Njwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF82IiBjbGFzcz0iZm9ybS1jb250cm9sIGJyYW5kX3NlYXJjaF82IiBzdHlsZT0id2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF82IiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfYnJhbmRfcmVzdWx0IHNlYXJjaF9icmFuZF9yZXN1bHRfNiI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWJveCIgc3R5bGU9IndpZHRoOmF1dG87cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RfaWRbXSIgaWQ9InByb2R1Y3RfaWRfNiIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfNiIgdHlwZT0iaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdFtdIiBpZD0icHJvZHVjdF9zZWFyY2hfNiIgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X3NlYXJjaF82IiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzYiIHN0eWxlPSJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiAjZTZlNmU2O21hcmdpbi10b3A6IDJweDtib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzogMTBweDtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5OTk5O3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbWF4LWhlaWdodCA6IDMwMHB4OyBvdmVyZmxvdzogc2Nyb2xsOyIgY2xhc3M9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdCBzZWFyY2hfcHJvZHVjdF9yZXN1bHRfNiI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgPHRkICBjbGFzcz0iYmRzLWNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0icHJvZHVjdF90eXBlW10iIGlkPSJwcm9kdWN0X3R5cGVfNiIgc3R5bGU9ImJvcmRlcjpub25lOyIgY2xhc3M9InByb2R1Y3RfdHlwZV82IiBkYXRhLXJvdz02PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2tpbmNhcmUiPlNraW5jYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSGFpciI+SGFpciBDYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29zbWV0aWNzIj5Db3NtZXRpY3M8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6MzAwcHg7cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJyYW5kW10iIGlkPSJicmFuZF9zZWFyY2hfNyIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfNyIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz03PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9icmFuZF9yZXN1bHRfNyIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzciPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDphdXRvO3Bvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0X2lkW10iIGlkPSJwcm9kdWN0X2lkXzciIHZhbHVlPTAgY2xhc3M9ImZvcm0tY29udHJvbCBwcm9kdWN0X2lkXzciIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzciIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9zZWFyY2hfNyIgc3R5bGU9IndpZHRoOi13ZWJraXQtZmlsbC1hdmFpbGFibGU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiBkYXRhLXJvdz03PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF83IiBzdHlsZT0id2lkdGg6IDEwMCU7YmFja2dyb3VuZDogI2U2ZTZlNjttYXJnaW4tdG9wOiAycHg7Ym9yZGVyLXJhZGl1czogNXB4O3BhZGRpbmc6IDEwcHg7ZGlzcGxheTogbm9uZTt6LWluZGV4OiA5OTk5OTtwb3NpdGlvbjogYWJzb2x1dGU7IG1heC1oZWlnaHQgOiAzMDBweDsgb3ZlcmZsb3c6IHNjcm9sbDsiIGNsYXNzPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHQgc2VhcmNoX3Byb2R1Y3RfcmVzdWx0XzciPmNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICA8dGQgIGNsYXNzPSJiZHMtY3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJwcm9kdWN0X3R5cGVbXSIgaWQ9InByb2R1Y3RfdHlwZV83IiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzciIGRhdGEtcm93PTc+CiAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3Q8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTa2luY2FyZSI+U2tpbmNhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIYWlyIj5IYWlyIENhcmU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3NtZXRpY3MiPkNvc21ldGljczwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjogY2VudGVyOzsiPjxzcGFuIGNsYXNzPSJiZy1yb3VuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAwOyI+OC48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6MzAwcHg7cG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJyYW5kW10iIGlkPSJicmFuZF9zZWFyY2hfOCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfOCIgc3R5bGU9IndpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1cHg7dGV4dC1hbGlnbjogY2VudGVyOyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIiAgZGF0YS1yb3c9OD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2hfYnJhbmRfcmVzdWx0XzgiIHN0eWxlPSJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiAjZTZlNmU2O21hcmdpbi10b3A6IDJweDtib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzogMTBweDtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5OTk5O3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbWF4LWhlaWdodCA6IDMwMHB4OyBvdmVyZmxvdzogc2Nyb2xsOyIgY2xhc3M9InNlYXJjaF9icmFuZF9yZXN1bHQgc2VhcmNoX2JyYW5kX3Jlc3VsdF84Ij5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF84IiB2YWx1ZT0wIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9pZF84IiB0eXBlPSJoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0W10iIGlkPSJwcm9kdWN0X3NlYXJjaF84IiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzgiIHN0eWxlPSJ3aWR0aDotd2Via2l0LWZpbGwtYXZhaWxhYmxlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9OD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHRfOCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF84Ij5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgPHRkICBjbGFzcz0iYmRzLWNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0icHJvZHVjdF90eXBlW10iIGlkPSJwcm9kdWN0X3R5cGVfOCIgc3R5bGU9ImJvcmRlcjpub25lOyIgY2xhc3M9InByb2R1Y3RfdHlwZV84IiBkYXRhLXJvdz04PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2tpbmNhcmUiPlNraW5jYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSGFpciI+SGFpciBDYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29zbWV0aWNzIj5Db3NtZXRpY3M8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjkuPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWJveCIgc3R5bGU9IndpZHRoOjMwMHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJicmFuZFtdIiBpZD0iYnJhbmRfc2VhcmNoXzkiIGNsYXNzPSJmb3JtLWNvbnRyb2wgYnJhbmRfc2VhcmNoXzkiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9OT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2hfYnJhbmRfcmVzdWx0XzkiIHN0eWxlPSJ3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiAjZTZlNmU2O21hcmdpbi10b3A6IDJweDtib3JkZXItcmFkaXVzOiA1cHg7cGFkZGluZzogMTBweDtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5OTk5O3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbWF4LWhlaWdodCA6IDMwMHB4OyBvdmVyZmxvdzogc2Nyb2xsOyIgY2xhc3M9InNlYXJjaF9icmFuZF9yZXN1bHQgc2VhcmNoX2JyYW5kX3Jlc3VsdF85Ij5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF85IiB2YWx1ZT0wIGNsYXNzPSJmb3JtLWNvbnRyb2wgcHJvZHVjdF9pZF85IiB0eXBlPSJoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJwcm9kdWN0W10iIGlkPSJwcm9kdWN0X3NlYXJjaF85IiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzkiIHN0eWxlPSJ3aWR0aDotd2Via2l0LWZpbGwtYXZhaWxhYmxlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9OT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2hfcHJvZHVjdF9yZXN1bHRfOSIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF85Ij5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgPHRkICBjbGFzcz0iYmRzLWNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0icHJvZHVjdF90eXBlW10iIGlkPSJwcm9kdWN0X3R5cGVfOSIgc3R5bGU9ImJvcmRlcjpub25lOyIgY2xhc3M9InByb2R1Y3RfdHlwZV85IiBkYXRhLXJvdz05PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2tpbmNhcmUiPlNraW5jYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSGFpciI+SGFpciBDYXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29zbWV0aWNzIj5Db3NtZXRpY3M8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjEwLjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjExLjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjEyLjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICA
gICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjEzLjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjE0Ljwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXzEwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCjx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjs7Ij48c3BhbiBjbGFzcz0iYmctcm91bmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMDsiPjE1Ljwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giIHN0eWxlPSJ3aWR0aDozMDBweDtwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYnJhbmRbXSIgaWQ9ImJyYW5kX3NlYXJjaF8xMCIgY2xhc3M9ImZvcm0tY29udHJvbCBicmFuZF9zZWFyY2hfMTAiIHN0eWxlPSJ3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246IGNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciIgZGF0YS1yb3c9MTA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2VhcmNoX2JyYW5kX3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX2JyYW5kX3Jlc3VsdCBzZWFyY2hfYnJhbmRfcmVzdWx0XzEwIj5jb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94IiBzdHlsZT0id2lkdGg6YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0icHJvZHVjdF9pZFtdIiBpZD0icHJvZHVjdF9pZF8xMCIgdmFsdWU9MCBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3RfaWRfMTAiIHR5cGU9ImhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InByb2R1Y3RbXSIgaWQ9InByb2R1Y3Rfc2VhcmNoXz
EwIiBjbGFzcz0iZm9ybS1jb250cm9sIHByb2R1Y3Rfc2VhcmNoXzEwIiBzdHlsZT0id2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtib3JkZXItcmFkaXVzOjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIiIGRhdGEtcm93PTEwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCIgc3R5bGU9IndpZHRoOiAxMDAlO2JhY2tncm91bmQ6ICNlNmU2ZTY7bWFyZ2luLXRvcDogMnB4O2JvcmRlci1yYWRpdXM6IDVweDtwYWRkaW5nOiAxMHB4O2Rpc3BsYXk6IG5vbmU7ei1pbmRleDogOTk5OTk7cG9zaXRpb246IGFic29sdXRlOyBtYXgtaGVpZ2h0IDogMzAwcHg7IG92ZXJmbG93OiBzY3JvbGw7IiBjbGFzcz0ic2VhcmNoX3Byb2R1Y3RfcmVzdWx0IHNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8xMCI+Y29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9ImJkcy1jcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9InByb2R1Y3RfdHlwZVtdIiBpZD0icHJvZHVjdF90eXBlXzEwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IiBjbGFzcz0icHJvZHVjdF90eXBlXzEwIiBkYXRhLXJvdz0xMD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNraW5jYXJlIj5Ta2luY2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXIiPkhhaXIgQ2FyZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvc21ldGljcyI+Q29zbWV0aWNzPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgPC90cj4KCgogICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KCgogICAgICAgIDwvZGl2PgogICAgICAgIDwvZm9ybT4KICAgIDwvZGl2PgogICAKPC9kaXY+CjxzY3JpcHQ+CiAgICAkKCBkb2N1bWVudCApLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1c2VyX2lkIikudmFsdWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c2VyX2lkJyk7CiAgICB9KTsKICAgIAo8L3NjcmlwdD4KPHNjcmlwdD4KICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gMTA7IGluZGV4KyspIHsKICAgICAgICAkKCIucHJvZHVjdF9mcm9tXyIraW5kZXgpLmZvY3VzKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICQoIi5zZWFyY2hfYnJhbmRfcmVzdWx0IikuY3NzKCJkaXNwbGF5IiwgIm5vbmUiKTsKICAgICAgICAgICAgJCgiLnNlYXJjaF9wcm9kdWN0X3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgfSk7CiAgICAgICAgJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS5mb2N1cyhmdW5jdGlvbigpewogICAgICAgICAgICAkKCIuc2VhcmNoX2JyYW5kX3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgICAgICQoIi5zZWFyY2hfcHJvZHVjdF9yZXN1bHQiKS5jc3MoImRpc3BsYXkiLCAibm9uZSIpOwogICAgICAgIH0pOwogICAgICAgICQoIi5icmFuZF9zZWFyY2hfIitpbmRleCkuZm9jdXMoZnVuY3Rpb24oKXsKICAgICAgICAgICAgJCgiLnNlYXJjaF9wcm9kdWN0X3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgfSk7CiAgICAgICAgJCgiLmJyYW5kX3NlYXJjaF8iK2luZGV4KS5rZXl1cChmdW5jdGlvbigpewogICAgICAgICAgICB2YXIgYnJhbmQ9dGhpcy52YWx1ZTsKICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgiYnJhbmRfc2VhcmNoXyIraW5kZXgsIGJyYW5kKTsKICAgICAgICAgICAgdmFyIGlucHV0X2lkID0gJCh0aGlzKS5hdHRyKCdpZCcpOwogICAgICAgICAgICAkKCIuIitpbnB1dF9pZCkudmFsKCQodGhpcykudmFsKCkpOwogICAgICAgICAgICB2YXIgcm93X2lkID0gJCh0aGlzKS5hdHRyKCdkYXRhLXJvdycpOwogICAgICAgICAgICB2YXIgcHJvZHVjdF9zZWFyY2ggPSAnJzsKICAgICAgICAgICAgdmFyIHByb2R1Y3RfaWQgPSAwOwogICAgICAgICAgICB2YXIgcHJvZHVjdF9mcm9tID0gJyc7CiAgICAgICAgICAgIHZhciBwcm9kdWN0X3R5cGUgPSAnJzsKICAgICAgICAgICAgdmFyIHVzZXJfaWQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZXJfaWQiKS52YWx1ZQogICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgICAgICAgICAgdXJsOiAiaHR0cHM6Ly9hZG1pbi5hY2hpZXZlYmVhdXR5LmNvbS93cC1hcGkvYnJhbmQtc2VhcmNoLWlucHV0LnBocCIsCiAgICAgICAgICAgICAgICBkYXRhOiB7YnJhbmRfbmFtZTogYnJhbmQsaW5wdXRpZDppbnB1dF9pZCxyb3dpZDpyb3dfaWQscHJvZHVjdHNlYXJjaDpwcm9kdWN0X3NlYXJjaCxwcm9kdWN0aWQ6cHJvZHVjdF9pZCxwcm9kdWN0ZnJvbTpwcm9kdWN0X2Zyb20scHJvZHVjdHR5cGU6cHJvZHVjdF90eXBlLHVzZXJpZDp1c2VyX2lkfSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpewogICAgICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInByb2R1Y3Rfc2VhcmNoXyIraW5kZXgsICIiKTsKICAgICAgICAgICAgICAgICAgICAkKCIucHJvZHVjdF9zZWFyY2hfIitpbmRleCkudmFsKCIiKTsKICAgICAgICAgICAgICAgICAgICAkKCIucHJvZHVjdF9mcm9tXyIraW5kZXgpLnZhbCgiIik7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS52YWwoIiIpOwogICAgICAgICAgICAgICAgICAgICQoIi5wcm9kdWN0X2lkXyIraW5kZXgpLnZhbCgwKTsKICAgICAgICAgICAgICAgICAgICAkKCIuc2VhcmNoX2JyYW5kX3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgICAgICAgICAgICAgJCgiLnNlYXJjaF9wcm9kdWN0X3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgICAgICAgICAgICAgJCgnLnNlYXJjaF9icmFuZF9yZXN1bHRfJytpbmRleCkuaHRtbChkYXRhKTsKICAgICAgICAgICAgICAgICAgICAkKCIuc2VhcmNoX2JyYW5kX3Jlc3VsdF8iK2luZGV4KS5jc3MoJ2Rpc3BsYXknLCAnZ3JpZCcpOwogICAgICAgICAgICAgICAgICAgIC8vIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInNlYXJjaF9icmFuZF9yZXN1bHRfIitpbmRleCkuc3R5bGUuZGlzcGxheSA9ICJncmlkIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cjwvc2NyaXB0PgoKPHNjcmlwdD4KICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gMTA7IGluZGV4KyspIHsKICAgICAgICAkKCIucHJvZHVjdF9zZWFyY2hfIitpbmRleCkua2V5dXAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgLy8gdmFyIGJyYW5kPSQoIiNicmFuZF9zZWFyY2hfIitpbmRleCkudmFsKCk7CiAgICAgICAgICAgIHZhciBicmFuZD0kKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoIi5icmFuZF9zZWFyY2hfIitpbmRleCkudmFsKCk7CiAgICAgICAgICAgIHZhciBwcm9kdWN0PXRoaXMudmFsdWU7CiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInByb2R1Y3Rfc2VhcmNoXyIraW5kZXgsIHByb2R1Y3QpOwogICAgICAgICAgICB2YXIgaW5wdXRfaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CiAgICAgICAgICAgICQoIi4iK2lucHV0X2lkKS52YWwoJCh0aGlzKS52YWwoKSk7CiAgICAgICAgICAgIHZhciByb3dfaWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtcm93Jyk7CiAgICAgICAgICAgIHZhciBwcm9kdWN0X2lkID0gJCgiLnByb2R1Y3RfaWRfIitpbmRleCkudmFsKCk7CiAgICAgICAgICAgIHZhciBwcm9kdWN0X2Zyb20gPSAnJzsKICAgICAgICAgICAgdmFyIHByb2R1Y3RfdHlwZSA9ICcnOwogICAgICAgICAgICB2YXIgdXNlcl9pZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNlcl9pZCIpLnZhbHVlCiAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsCiAgICAgICAgICAgICAgICB1cmw6ICJodHRwczovL2FkbWluLmFjaGlldmViZWF1dHkuY29tL3dwLWFwaS9wcm9kdWN0LXNlYXJjaC1pbnB1dC5waHAiLAogICAgICAgICAgICAgICAgZGF0YToge2JyYW5kX25hbWU6IGJyYW5kLGlucHV0aWQ6aW5wdXRfaWQscm93aWQ6cm93X2lkLHByb2R1Y3RzZWFyY2g6cHJvZHVjdCxwcm9kdWN0aWQ6cHJvZHVjdF9pZCxwcm9kdWN0ZnJvbTpwcm9kdWN0X2Zyb20scHJvZHVjdHR5cGU6cHJvZHVjdF90eXBlLHVzZXJpZDp1c2VyX2lkfSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpewogICAgICAgICAgICAgICAgICAgICQoIi5wcm9kdWN0X2Zyb21fIitpbmRleCkudmFsKCIiKTsKICAgICAgICAgICAgICAgICAgICAkKCIucHJvZHVjdF90eXBlXyIraW5kZXgpLnZhbCgiIik7CiAgICAgICAgICAgICAgICAgICAgJCgiLnNlYXJjaF9icmFuZF9yZXN1bHQiKS5jc3MoImRpc3BsYXkiLCAibm9uZSIpOwogICAgICAgICAgICAgICAgICAgICQoIi5zZWFyY2hfcHJvZHVjdF9yZXN1bHQiKS5jc3MoImRpc3BsYXkiLCAibm9uZSIpOwogICAgICAgICAgICAgICAgICAgICQoJy5zZWFyY2hfcHJvZHVjdF9yZXN1bHRfJytpbmRleCkuaHRtbChkYXRhKTsKICAgICAgICAgICAgICAgICAgICAkKCIuc2VhcmNoX3Byb2R1Y3RfcmVzdWx0XyIraW5kZXgpLmNzcygnZGlzcGxheScsICdncmlkJyk7CiAgICAgICAgICAgICAgICAgICAgLy8gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgic2VhcmNoX3Byb2R1Y3RfcmVzdWx0XyIraW5kZXgpLnN0eWxlLmRpc3BsYXkgPSAiZ3JpZCI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQo8L3NjcmlwdD4KPHNjcmlwdD4KICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gMTA7IGluZGV4KyspIHsKICAgICAgICAkKCIucHJvZHVjdF9zZWFyY2hfIitpbmRleCkuZm9jdXMoZnVuY3Rpb24oKXsKICAgICAgICAgICAgdmFyIGJyYW5kPSQodGhpcykucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLmJyYW5kX3NlYXJjaF8iK2luZGV4KS52YWwoKTsKICAgICAgICAgICAgdmFyIHByb2R1Y3Q9dGhpcy52YWx1ZTsKICAgICAgICAgICAgdmFyIGlucHV0X2lkID0gJCh0aGlzKS5hdHRyKCdpZCcpOwogICAgICAgICAgICB2YXIgcm93X2lkID0gJCh0aGlzKS5hdHRyKCdkYXRhLXJvdycpOwogICAgICAgICAgICB2YXIgcHJvZHVjdF9pZCA9ICQoIi5wcm9kdWN0X2lkXyIraW5kZXgpLnZhbCgpOwogICAgICAgICAgICB2YXIgcHJvZHVjdF9mcm9tID0gJyc7CiAgICAgICAgICAgIHZhciBwcm9kdWN0X3R5cGUgPSAnJzsKICAgICAgICAgICAgdmFyIHVzZXJfaWQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZXJfaWQiKS52YWx1ZQoKICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKICAgICAgICAgICAgICAgIHVybDogImh0dHBzOi8vYWRtaW4uYWNoaWV2ZWJlYXV0eS5jb20vd3AtYXBpL3Byb2R1Y3Qtc2VhcmNoLWlucHV0LnBocCIsCiAgICAgICAgICAgICAgICBkYXRhOiB7YnJhbmRfbmFtZTogYnJhbmQsaW5wdXRpZDppbnB1dF9pZCxyb3dpZDpyb3dfaWQscHJvZHVjdHNlYXJjaDpwcm9kdWN0LHByb2R1Y3RpZDpwcm9kdWN0X2lkLHByb2R1Y3Rmcm9tOnByb2R1Y3RfZnJvbSxwcm9kdWN0dHlwZTpwcm9kdWN0X3R5cGUsdXNlcmlkOnVzZXJfaWR9LAogICAgICAgICAgICAgICAgc3VjY2Vzc
zogZnVuY3Rpb24oZGF0YSl7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3RfZnJvbV8iK2luZGV4KS52YWwoIiIpOwogICAgICAgICAgICAgICAgICAgICQoIi5wcm9kdWN0X3R5cGVfIitpbmRleCkudmFsKCIiKTsKICAgICAgICAgICAgICAgICAgICAkKCIuc2VhcmNoX2JyYW5kX3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgICAgICAgICAgICAgJCgiLnNlYXJjaF9wcm9kdWN0X3Jlc3VsdCIpLmNzcygiZGlzcGxheSIsICJub25lIik7CiAgICAgICAgICAgICAgICAgICAgJCgnLnNlYXJjaF9wcm9kdWN0X3Jlc3VsdF8nK2luZGV4KS5odG1sKGRhdGEpOwogICAgICAgICAgICAgICAgICAgICQoIi5zZWFyY2hfcHJvZHVjdF9yZXN1bHRfIitpbmRleCkuY3NzKCdkaXNwbGF5JywgJ2dyaWQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cjwvc2NyaXB0Pgo8c2NyaXB0PgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gMTA7IGluZGV4KyspIHsKICAgICQoIi5wcm9kdWN0X2Zyb21fIitpbmRleCkua2V5dXAoZnVuY3Rpb24oKXsKICAgICAgICB2YXIgaW5wdXRfaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CiAgICAgICAgJCgiLiIraW5wdXRfaWQpLnZhbCgkKHRoaXMpLnZhbCgpKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGlucHV0X2lkKS52YWx1ZSA9ICQodGhpcykudmFsKCk7CiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShpbnB1dF9pZCwgJCh0aGlzKS52YWwoKSk7CiAgICAgICAgdmFyIGJyYW5kPSQoIi5icmFuZF9zZWFyY2hfIitpbmRleCkudmFsKCk7CiAgICAgICAgdmFyIHByb2R1Y3Q9JCgiLnByb2R1Y3Rfc2VhcmNoXyIraW5kZXgpLnZhbCgpOwogICAgICAgIHZhciByb3dfaWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtcm93Jyk7CiAgICAgICAgdmFyIHByb2R1Y3RfaWQgPSAkKCIucHJvZHVjdF9pZF8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgcHJvZHVjdF9mcm9tID0gJCgiLnByb2R1Y3RfZnJvbV8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgcHJvZHVjdF90eXBlID0gJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgdXNlcl9pZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNlcl9pZCIpLnZhbHVlCgogICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgICAgICAgICAgdXJsOiAiaHR0cHM6Ly9hZG1pbi5hY2hpZXZlYmVhdXR5LmNvbS93cC1hcGkvZW50ZXItcHJvZHVjdC5waHAiLAogICAgICAgICAgICAgICAgZGF0YToge2JyYW5kX25hbWU6IGJyYW5kLGlucHV0aWQ6aW5wdXRfaWQscm93aWQ6cm93X2lkLHByb2R1Y3RzZWFyY2g6cHJvZHVjdCxwcm9kdWN0aWQ6cHJvZHVjdF9pZCxwcm9kdWN0ZnJvbTpwcm9kdWN0X2Zyb20scHJvZHVjdHR5cGU6cHJvZHVjdF90eXBlLHVzZXJpZDp1c2VyX2lkfSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpewogICAgICAgICAgICAgICAgICAgICQoIi5wcm9kdWN0X3R5cGVfIitpbmRleCkudmFsKCIiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICB9KTsKICB9Cn0pOwoKPC9zY3JpcHQ+CjxzY3JpcHQ+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8PSAxMDsgaW5kZXgrKykgewogICAgJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgICAgICB2YXIgaW5wdXRfaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CiAgICAgICAgJCgiLiIraW5wdXRfaWQpLnZhbCgkKHRoaXMpLnZhbCgpKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGlucHV0X2lkKS52YWx1ZSA9ICQodGhpcykudmFsKCk7CiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShpbnB1dF9pZCwgJCh0aGlzKS52YWwoKSk7CiAgICAgICAgdmFyIGJyYW5kPSQoIi5icmFuZF9zZWFyY2hfIitpbmRleCkudmFsKCk7CiAgICAgICAgdmFyIHByb2R1Y3Q9JCgiLnByb2R1Y3Rfc2VhcmNoXyIraW5kZXgpLnZhbCgpOwogICAgICAgIHZhciByb3dfaWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtcm93Jyk7CiAgICAgICAgdmFyIHByb2R1Y3RfaWQgPSAkKCIucHJvZHVjdF9pZF8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgcHJvZHVjdF9mcm9tID0gJCgiLnByb2R1Y3RfZnJvbV8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgcHJvZHVjdF90eXBlID0gJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS52YWwoKTsKICAgICAgICB2YXIgdXNlcl9pZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNlcl9pZCIpLnZhbHVlCgogICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAgICAgICAgICAgdXJsOiAiaHR0cHM6Ly9hZG1pbi5hY2hpZXZlYmVhdXR5LmNvbS93cC1hcGkvZW50ZXItcHJvZHVjdC5waHAiLAogICAgICAgICAgICAgICAgZGF0YToge2JyYW5kX25hbWU6IGJyYW5kLGlucHV0aWQ6aW5wdXRfaWQscm93aWQ6cm93X2lkLHByb2R1Y3RzZWFyY2g6cHJvZHVjdCxwcm9kdWN0aWQ6cHJvZHVjdF9pZCxwcm9kdWN0ZnJvbTpwcm9kdWN0X2Zyb20scHJvZHVjdHR5cGU6cHJvZHVjdF90eXBlLHVzZXJpZDp1c2VyX2lkfSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpewogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgIH0pOwogIH0KfSk7Cgo8L3NjcmlwdD4=

Product Name

Product Description

PHNjcmlwdD4KICAgICQoIGRvY3VtZW50ICkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHVzZXJpZD1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c2VyX2lkJyk7CiAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgdXJsOiAiaHR0cHM6Ly93d3cuYWRtaW4uYWNoaWV2ZWJlYXV0eS5jb20vd3AtYXBpL2dldC1lbnRlcmVkLXByb2R1Y3QucGhwIiwKICAgICAgICAgICAgZGF0YToge3Byb2R1Y3RfdHlwZToiU2tpbmNhcmUiLHVzZXJfaWQ6dXNlcmlkfSwKICAgICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgIHZhciByZXR1cm5lZERhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlKTsKICAgICAgICAgICAgICAgIHZhciBkYXRhPXJldHVybmVkRGF0YVsnZGF0YSddCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmxlbmd0aDsgaW5kZXgrKykgewogICAgICAgICAgICAgICAgICAgIHZhciBpID1pbmRleCsxOwogICAgICAgICAgICAgICAgICAgICQoIi5icmFuZF9zZWFyY2hfIitpKS52YWwoZGF0YVtpbmRleF1bJ2JyYW5kX25hbWUnXSk7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3Rfc2VhcmNoXyIraSkudmFsKGRhdGFbaW5kZXhdWydwcm9kdWN0X25hbWUnXSk7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3RfZnJvbV8iK2kpLnZhbChkYXRhW2luZGV4XVsncHVyY2hhc2VfZnJvbSddKTsKICAgICAgICAgICAgICAgICAgICAkKCIucHJvZHVjdF90eXBlXyIraSkudmFsKGRhdGFbaW5kZXhdWydwcm9kdWN0X3R5cGUnXSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgiYnJhbmRfc2VhcmNoXyIraSwgZGF0YVtpbmRleF1bJ2JyYW5kX25hbWUnXSk7Ci
AgICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgicHJvZHVjdF9zZWFyY2hfIitpLCBkYXRhW2luZGV4XVsncHJvZHVjdF9uYW1lJ10pOwogICAgICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInByb2R1Y3RfZnJvbV8iK2ksIGRhdGFbaW5kZXhdWydwdXJjaGFzZV9mcm9tJ10pOwogICAgICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInByb2R1Y3RfdHlwZV8iK2ksIGRhdGFbaW5kZXhdWydwcm9kdWN0X3R5cGUnXSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdza2luX2NvbmNlcm5zX2lkcycpID09ICcnIHx8IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3NraW5fY29uY2VybnNfaWRzJykgPT0gbnVsbCkgewogICAgICAgICAgICAgICAgdmFyIHNraW5fY29uY2VybnNfaWRzID0gW107CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgdnh5ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnc2tpbl9jb25jZXJuc19pZHMnKTsKICAgICAgICAgICAgICAgIHZhciBza2luX2NvbmNlcm5zX2lkcyA9IHZ4eS5zcGxpdCgiLCIpOwogICAgICAgICAgICAgICAgc2tpbl9jb25jZXJuc19pZHMuZm9yRWFjaChlbGVtZW50ID0+IHsKICAgICAgICAgICAgICAgICAgICAkKCAiI3RyMV8iK2VsZW1lbnQpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgMTU7IGluZGV4KyspIHsKICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdicmFuZF9zZWFyY2hfJytpbmRleCkgPT0gJycgfHwgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYnJhbmRfc2VhcmNoXycraW5kZXgpID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc2tpbl9jb25jZXJuc19pZHMgPSBbXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCgiLmJyYW5kX3NlYXJjaF8iK2luZGV4KS52YWwoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYnJhbmRfc2VhcmNoXycraW5kZXgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0X3NlYXJjaF8nK2luZGV4KSA9PSAnJyB8fCBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0X3NlYXJjaF8nK2luZGV4KSA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHNraW5fY29uY2VybnNfaWRzID0gW107CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICQoIi5wcm9kdWN0X3NlYXJjaF8iK2luZGV4KS52YWwoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdF9zZWFyY2hfJytpbmRleCkpOyAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0X2Zyb21fJytpbmRleCkgPT0gJycgfHwgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdF9mcm9tXycraW5kZXgpID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc2tpbl9jb25jZXJuc19pZHMgPSBbXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3RfZnJvbV8iK2luZGV4KS52YWwoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdF9mcm9tXycraW5kZXgpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0X3R5cGVfJytpbmRleCkgPT0gJycgfHwgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdF90eXBlXycraW5kZXgpID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc2tpbl9jb25jZXJuc19pZHMgPSBbXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCgiLnByb2R1Y3RfdHlwZV8iK2luZGV4KS52YWwoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdF90eXBlXycraW5kZXgpKTsKICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgIH0pOwo8L3NjcmlwdD4=