Error:
U21hcnR5RXhjZXB0aW9uIE9iamVjdAooCiAgICBbbWVzc2FnZTpwcm90ZWN0ZWRdID0+IHVuYWJsZSB0byB3cml0ZSBmaWxlIC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy93cnQ2ODdkM2ZiOTg2ZDE3NF8yODEzNDI1NwogICAgW3N0cmluZzpFeGNlcHRpb246cHJpdmF0ZV0gPT4gCiAgICBbY29kZTpwcm90ZWN0ZWRdID0+IDAKICAgIFtmaWxlOnByb3RlY3RlZF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvc3lzcGx1Z2lucy9zbWFydHlfaW50ZXJuYWxfcnVudGltZV93cml0ZWZpbGUucGhwCiAgICBbbGluZTpwcm90ZWN0ZWRdID0+IDU5CiAgICBbdHJhY2U6RXhjZXB0aW9uOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgKAogICAgICAgICAgICBbMF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvc3lzcGx1Z2lucy9zbWFydHlfdGVtcGxhdGVfY29tcGlsZWQucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDIxMAogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gd3JpdGVGaWxlCiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gLT4KICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8wYTUzMDZlODM4ZDcyYmNhYWM1ZjVhODBmZTMwZTY3MWM0Y2Y3NzVkXzAuZmlsZS5fZ2xvYmFsLnRwbC5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiA8P3BocAovKiBTbWFydHkgdmVyc2lvbiAzLjEuMzIsIGNyZWF0ZWQgb24gMjAyNS0wNy0yMCAyMjoxMjo1NwogIGZyb20gJy9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsJyAqLwoKLyogQHZhciBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUgJF9zbWFydHlfdHBsICovCmlmICgkX3NtYXJ0eV90cGwtPl9kZWNvZGVQcm9wZXJ0aWVzKCRfc21hcnR5X3RwbCwgYXJyYXkgKAogICd2ZXJzaW9uJyA9PiAnMy4xLjMyJywKICAndW5pZnVuYycgPT4gJ2NvbnRlbnRfNjg3ZDNmYjk4NmEwYjhfMzA0NDAzNDUnLAogICdoYXNfbm9jYWNoZV9jb2RlJyA9PiBmYWxzZSwKICAnZmlsZV9kZXBlbmRlbmN5JyA9PiAKICBhcnJheSAoCiAgICAnMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZCcgPT4gCiAgICBhcnJheSAoCiAgICAgIDAgPT4gJy9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsJywKICAgICAgMSA9PiAxNzQxODcyODkzLAogICAgICAyID0+ICdmaWxlJywKICAgICksCiAgKSwKICAnaW5jbHVkZXMnID0+IAogIGFycmF5ICgKICApLAopLGZhbHNlKSkgewpmdW5jdGlvbiBjb250ZW50XzY4N2QzZmI5ODZhMGI4XzMwNDQwMzQ1IChTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUgJF9zbWFydHlfdHBsKSB7Cj8+PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9Ijw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6JGxhbmc7Pz4KIj4KPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KCgk8P3BocCBlY2hvIENvcmVfU2V0dGluZ3M6OmdldExvY2FsaXplZCgnbWV0YV90YWdfY29kZXMnLHRydWUsQ29yZV9MYW5ndWFnZTo6JGxhbmcpOz8+CgoKICAgIDx0aXRsZT48P3BocCBlY2hvIENvcmVfQm9vdHN0cmFwOjokaGVhZFsndGl0bGUnXTs/Pgo8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJhbGwiIC8+CiAgICA8bWV0YSBuYW1lPSJyZXZpc2l0LWFmdGVyIiBjb250ZW50PSIxIGRheXMiIC8+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iPD9waHAgZWNobyBDb3JlX0Jvb3RzdHJhcDo6JGhlYWRbJ2tleXdvcmRzJ107Pz4KIiAvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ijw/cGhwIGVjaG8gQ29yZV9Cb290c3RyYXA6OiRoZWFkWydkZXNjcmlwdGlvbiddOz8+CiIgLz4KICAgIAogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KCgk8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9JTUFHRVMnXS0+dmFsdWU7Pz4KZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNvbiIgLz4KCTxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX0lNQUdFUyddLT52YWx1ZTs/PgpmYXZpY29uLmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgoKICAgIDw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/PgogdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQl2YXIgcGF0aF9zaXRlID0gIjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9TSVRFX0ZVTEwnXS0+dmFsdWU7Pz4KIjsKCQl2YXIgcGF0aF9zaXRlX2NsZWFyID0gJzw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncGF0aF9zaXRlX2NsZWFyJ10tPnZhbHVlOz8+Cic7CgkJdmFyIGxhbmd1YWdlID0gIjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6JGxhbmc7Pz4KIjsKCQl2YXIgc2l0ZV9uYW1lID0gIjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snU0lURV9OQU1FJ10tPnZhbHVlOz8+CiI7CgkJdmFyIGN1c3RvbV91cmxfaWQgPSAiPD9waHAgZWNobyBDb3JlX0Jvb3RzdHJhcDo6JF9jdXN0b21fdXJsWydpZCddOz8+CiI7CgkJdmFyIGN1c3RvbV91cmxfcGF0cyA9IDw/cGhwIGVjaG8ganNvbl9lbmNvZGUoQ29yZV9Cb290c3RyYXA6OiRfY3VzdG9tX3VybFsicGF0aHMiXSk7Pz4KOwoJCXZhciBnbG9iYWxfbGFuZ3VhZ2VzID0gPD9waHAgZWNobyBqc29uX2VuY29kZShDb3JlX0xhbmd1YWdlOjokbGFuZ3VhZ2Vfa2V5cyk7Pz4KOwoJCXZhciBzaWQgPSA8P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uWydpZCddOz8+CjsKICAgIDw/cGhwIGVjaG8gJzwvc2NyaXB0JzsgPz4KPgoKICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfU0lURV9GVUxMJ10tPnZhbHVlOz8+CiIgLz4KCiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX1NJVEVfRlVMTCddLT52YWx1ZTs/PgoiIGhyZWZsYW5nPSJ4LWRlZmF1bHQiIC8+CgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjQuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiPgoJPGxpbmsgaHJlZj0naHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUZpcmErU2FuczozMDAsNDAwLDUwMCw3MDAmc3Vic2V0PWN5cmlsbGljLWV4dCxsYXRpbicgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLy9jZG4uanNkZWxpdnIubmV0L25wbS9zbGljay1jYXJvdXNlbEAxLjguMS9zbGljay9zbGljay5jc3MiLz4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc2xpY2stY2Fyb3VzZWxAMS44LjEvc2xpY2svc2xpY2stdGhlbWUuY3NzIi8+CgogICAgPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvYm9vdHN0cmFwL2Nzcy9ib290c3RyYXAuY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9mYW5jeWJveC9qcXVlcnkuZmFuY3lib3guY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9pb24ucmFuZ2VTbGlkZXItMi4zLjEvY3NzL2lvbi5yYW5nZVNsaWRlci5taW4uY3NzJyk7Pz4KCiAgICAKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3MvZ2xvYmFsLmNzcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9tYWluLmNzcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9vdGhlci5jc3MnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3MvcmVzcG9uc2l2ZS5jc3MnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3MvX2VkaXQuY3NzJyk7Pz4KCiAgICA8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzL19lZGl0X3MuY3NzJyk7Pz4KCiAgICA8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzLzIwMTdhZHYuY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzL3NsaWNrLXRoZW1lLmNzcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9jb29raWVzLmNzcycpOz8+CgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6aHRtbENzcygpOz8+CgoKCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9TSVRFJ10tPnZhbHVlOz8+CmVuZ2luZS9jc3MvbWFnbmlmaWVyLmNzcyIvPgoJCgk8IS0tW2lmIGx0ZSBJRSA4XT4KCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2llNnVwZGF0ZS9pZTZ1cGRhdGUuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6aHRtbCgpOz8+CgoJPCFbZW5kaWZdLS0+CgoJPD9waHAgZWNobyBDb3JlX0Jvb3RzdHJhcDo6Z2V0R29vZ2xlQW5hbHl0aWNzKCk7Pz4KCgoJPD9waHAgaWYgKFNvY2lhbHM6OmNoZWNrVksoKSkgez8+CiAgICAKICAgIDw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/PgogdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vdmsuY29tL2pzL2FwaS9vcGVuYXBpLmpzPzEyNSI+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgogICAgPD9waHAgZWNobyAnPHNjcmlwdCc7ID8+CiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICBWSy5pbml0KHthcGlJZDogNTQ5NjQ2MSwgb25seVdpZGdldHM6IHRydWV9KTsKICAgIDw/cGhwIGVjaG8gJzwvc2NyaXB0JzsgPz4KPgogICAgCgk8P3BocCB9Pz4KCgk8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHNyYz0iLy9jb2RlLWV1MS5qaXZvc2l0ZS5jb20vd2lkZ2V0LzNoVGJORVFHak0iIGFzeW5jPjw/cGhwIGVjaG8gJzwvc2NyaXB0JzsgPz4KPgoKCTxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgoJPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iPD9waHAgZWNobyBDb3JlX1NlY3Rpb25zOjokdXJsOz8+CiIgLz4KCTw/cGhwIGlmICgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydvYmplY3QnXS0+dmFsdWUpIHs/PgoJCTxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKHByZWdfcmVwbGFjZSgnITxbXj5dKj8+IScsICcgJywgQ29yZV9MYW5ndWFnZTo6Z2V0VmFyQnlMYW5nKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ29iamVjdCddLT52YWx1ZSwndGl0bGUnKSkpOz8+CiIvPgoJCTxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKHByZWdfcmVwbGFjZSgnITxbXj5dKj8+IScsICcgJywgQ29yZV9MYW5ndWFnZTo6Z2V0VmFyQnlMYW5nKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ29iamVjdCddLT52YWx1ZSwndGV4dCcpKSk7Pz4KIi8+CgkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ29iamVjdCddLT52YWx1ZVsnaW1hZ2UnXVsnZmlsZW5hbWUnXSkgez8+CgkJCTxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iPD9waHAgZWNobyBDb3JlX0ltYWdlczo6R2V0KCdjYXRhbG9nJywkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydvYmplY3QnXS0+dmFsdWVbJ2ltYWdlJ11bJ2ZpbGVuYW1lJ10sJ3ctODAwLScpOz8+CiIvPgoJCTw/cGhwIH0gZWxzZSB7ID8+CgkJCTxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/Pgpsb2dvX2NvbG9yLmpwZyIvPgoJCTw/cGhwIH0/PgoJPD9waHAgfSBlbHNlIHsgPz4KCQk8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9Ijw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycyhDb3JlX0Jvb3RzdHJhcDo6JGhlYWRbJ3RpdGxlJ10pOz8+CiIvPgoJCTxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKENvcmVfTGFuZ3VhZ2U6OmcoJ2dsb2JhbF9fbWV0YV9kZXNjcmlwdGlvbicpKTs/PgoiLz4KCQk8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Ijw/cGhwIGVjaG8gUEFUSF9JTUFHRVM7Pz4KbG9nb19jb2xvci5qcGciLz4KCTw/cGhwIH0/PgoKCTw/cGhwCiRfZnJvbSA9ICRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5pbml0KCRfc21hcnR5X3RwbCwgQ29yZV9MYW5ndWFnZTo6JGxhbmd1YWdlc19saXN0LCAndicpOwppZiAoJF9mcm9tICE9PSBudWxsKSB7CmZvcmVhY2ggKCRfZnJvbSBhcyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlKSB7Cj8+CgkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ2FjdGl2ZV9mb3JfcHVibGljJ10gPiAxKSB7Pz4KCQkJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ2tleSddOz8+CiIgaHJlZj0iPD9waHAgZWNobyBDb3JlX1NlY3Rpb25zOjokc2VjdGlvblsndXJsX2Z1bGxfYWxsJ11bJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsna2V5J11dOwppZiAoQ29yZV9TZWN0aW9uczo6JG1vZHVsZVsndXJsJ10pIHsKZWNobyBpbXBsb2RlKENvcmVfU2VjdGlvbnM6OiRtb2R1bGVbJ3VybCddLCcvJyk7Pz4KLzw/cGhwIH0/PiIgLz4KCQk8P3BocCB9Pz4KCTw/cGhwCn0KfQokX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+cmVzdG9yZSgkX3NtYXJ0eV90cGwsIDEpOz8+CgoJPCEtLSA8P3BocCBlY2hvIENvcmVfR2VvaXA6OmdldENvdW50cnkoKTs/PgogLS0+CjwvaGVhZD4KPGJvZHk+CgoJPCEtLSBGYWNlYm9vayAtLT4KICAgIDxkaXYgaWQ9ImZiLXJvb3QiPjwvZGl2PgogICAgPD9waHAgZWNobyAnPHNjcmlwdCc7ID8+Cj4oZnVuY3Rpb24oZCwgcywgaWQpIHsKICAgICAgICB2YXIganMsIGZqcyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF07CiAgICAgICAgaWYgKGQuZ2V0RWxlbWVudEJ5SWQoaWQpKSByZXR1cm47CiAgICAgICAganMgPSBkLmNyZWF0ZUVsZW1lbnQocyk7IGpzLmlkID0gaWQ7CiAgICAgICAganMuc3JjID0gIi8vY29ubmVjdC5mYWNlYm9vay5uZXQvPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjokbGFuZzs/PgpfPD9waHAgZWNobyBzdHJ0b3VwcGVyKENvcmVfTGFuZ3VhZ2U6OiRsYW5nKTs/Pgovc2RrLmpzI3hmYm1sPTEmdmVyc2lvbj12Mi41IjsKICAgICAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7CiAgICB9KGRvY3VtZW50LCAnc2NyaXB0JywgJ2ZhY2Vib29rLWpzc2RrJykpOwogICAgPD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgkKCTwhLS0gTW9kYWwgLS0+Cgk8P3BocCBlY2hvIENvcmVfTGF5b3V0OjpmZXRjaCgndXNlci5zdWJzY3JpYmUubW9kYWwudHBsJyk7Pz4KCgk8IS0tICA9PT09PT09PT09PSBIRUFERVIgPT09PT09PT09PT09IC0tPgoJPGRpdiBjbGFzcz0iaGVhZGVyIj4KCQk8P3BocCBpZiAoVXNlcjo6aXNTaWduZWRJbigpID09IEZBTFNFKSB7Pz4KCQkJPGRpdiBjbGFzcz0ic2lnbnVwLWJhciI+CgkJCQk8ZGl2IGlkPSJsb2dpbi1wb3B1cCIgY2xhc3M9Ijw/cGhwIGlmICghJF9zbWFydHlfdHBsLT50cGxfdmFyc1snbG9naW5fcG9wdXBfYWN0aXZlJ10tPnZhbHVlKSB7Pz5qei1pcy1oaWRkZW48P3BocCB9Pz4gc2lnbnVwLXBvcHVwLXRhcmdldCI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ3VzZXIucG9wdXAubG9naW4udHBsJyk7Pz4KPC9kaXY+CQoJCQkJPGRpdiBpZD0icmVnaXN0ZXItcG9wdXAiIGNsYXNzPSI8P3BocCBpZiAoISRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZSddLT52YWx1ZSkgez8+anotaXMtaGlkZGVuPD9waHAgfT8+IHNpZ251cC1wb3B1cC10YXJnZXQiPjw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCd1c2VyLnBvcHVwLnJlZ2lzdGVyLnRwbCcpOz8+CjwvZGl2PgoJCQkJPGRpdiBpZD0icmVtaW5kZXItcG9wdXAiIGNsYXNzPSI8P3BocCBpZiAoISRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3JlbWluZGVyX3BvcHVwX2FjdGl2ZSddLT52YWx1ZSkgez8+anotaXMtaGlkZGVuPD9waHAgfT8+IHNpZ251cC1wb3B1cC10YXJnZXQiPjw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCd1c2VyLnBvcHVwLnJlbWluZGVyLnRwbCcpOz8+CjwvZGl2PgoJCQkJPGRpdiBpZD0icmVtaW5kZXItcGFzc3dvcmQtcG9wdXAiIGNsYXNzPSI8P3BocCBpZiAoISRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3JlbWluZGVyX3Bhc3N3b3JkX3BvcHVwX2FjdGl2ZSddLT52YWx1ZSkgez8+anotaXMtaGlkZGVuPD9waHAgfT8+IHNpZ251cC1wb3B1cC10YXJnZXQiPjw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCd1c2VyLnBvcHVwLnJlbWluZGVyLnBhc3N3b3JkLnRwbCcpOz8+CjwvZGl2PgoJCQk8L2Rpdj4KCQk8P3BocCB9Pz4KCQk8ZGl2IGNsYXNzPSJ0b3AtYmFyIj4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4JCgkJCQk8YSBocmVmPSI8P3BocCBlY2hvIFBBVEhfU0lURV9GVUxMOz8+CiIgdGl0bGU9Ijw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycyhDb3JlX0xhbmd1YWdlOjpnKCdnbG9iYWxfX3NpdGVfdGl0bGUnKSk7Pz4KIiBjbGFzcz0ibG9nbyI+PGltZyB3aWR0aD0iMTIwIiBzcmM9Ijw/cGhwIGVjaG8gUEFUSF9JTUFHRVM7Pz4KbG9nbzEucG5nIiBhbHQ9IiI+PC9hPgoJCQkJPGZvcm0gaWQ9ImNhdGFsb2ctc2VhcmNoLWZvcm0iIGNsYXNzPSJzZWFyY2giIGFjdGlvbj0iPD9waHAgZWNobyBTZWFyY2g6OnVybCgpOz8+CiI+CgkJCQkJPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgoJCQkJCQk8aW5wdXQgaWQ9ImNhdGFsb2ctc2VhcmNoLWlucHV0IiBuYW1lPSJxIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdjYXRhbG9nX19zZWFyY2hfcGxhY2Vob2xkZXInKTs/PgoiIHZhbHVlPSI8P3BocCBpZiAoU2VhcmNoOjppcygpKSB7CmVjaG8gdXJsZGVjb2RlKENvcmVfU2VjdGlvbnM6OiRtb2R1bGVbJ3VybCddWzBdKTsKfT8+IiBhdXRvY29tcGxldGU9Im9mZiI+CgkJCQkJCTxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPgoJCQkJCQkJPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4gcy1idG4iIHR5cGU9ImJ1dHRvbiI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaCI+PC9pPjwvYnV0dG9uPgoJCQkJCQk8L3NwYW4+CgkJCQkJPC9kaXY+CgkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1zZWFyY2giPgoJCQkJCQk8bGk+CgkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KCQkJCQkJCQk8dGFibGUgaWQ9ImNhdGFsb2ctc2VhcmNoLXRhYmxlIiBjbGFzcz0idGFibGUgc2VhcmNoLXRhYmxlIj48dGJvZHk+PC90Ym9keT48L3RhYmxlPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQk8ZGl2IGlkPSJjYXRhbG9nLXNlYXJjaC1tc2ciPjwvZGl2PgoJCQkJCQkJPGRpdiBpZD0iY2F0YWxvZy1zZWFyY2gtcHJlbG9hZGVyIj48aW1nIHNyYz0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX0lNQUdFUyddLT52YWx1ZTs/PgphamF4LWxvYWRlci5naWYiIC8+PC9kaXY+CgkJCQkJCTwvbGk+CgkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24tZm9vdGVyIj48YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InRleHQtY2VudGVyIGJvdHRvbSI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdjYXRhbG9nX19zZWFyY2hfc2hvd19hbGwnKTs/Pgo8aSBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiIHN0eWxlPSJtYXJnaW4tbGVmdDogNXB4OyI+PC9pPjwvYnV0dG9uPjwvbGk+CgkJCQkJPC91bD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgkJCQk8L2Zvcm0+CgkJCQk8dWwgY2xhc3M9InRvcC1tZW51IG5hdmJhci1uYXYiPgoJCQkJCTw/cGhwICRfc21hcnR5X3RwbC0+X2Fzc2lnbkluU2NvcGUoJ2ZpcnN0X3Bob25lJywgZXhwbG9kZSgnICcsQ29yZV9MYW5ndWFnZTo6ZygnY29udGFjdHNfX3Bob25lX2ZpcnN0JykpKTs/PgoJCQkJCTw/cGhwICRfc21hcnR5X3RwbC0+X2Fzc2lnbkluU2NvcGUoJ3NlY29uZF9waG9uZScsIGV4cGxvZGUoJyAnLENvcmVfTGFuZ3VhZ2U6OmcoJ2NvbnRhY3RzX19waG9uZV9zZWNvbmQnKSkpOz8+CgkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnd29ya190aW1lJywgQ29yZV9MYW5ndWFnZTo6ZygnY29udGFjdHNfX3dvcmtfdGltZScpKTs/PgoJCQkJCQoJCQkJCTw/cGhwIGlmICgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd3b3JrX3RpbWUnXS0+dmFsdWUpIHs/PjxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtcGhvbmUiPjwvaT48c3BhbiBjbGFzcz0idHh0LW1kIj4gPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd3b3JrX3RpbWUnXS0+dmFsdWU7Pz4KPC9zcGFuPjwvYT48L2xpPjw/cGhwIH0/PgoKCQkJCQk8P3BocCBpZiAoIWVtcHR5KCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2ZpcnN0X3Bob25lJ10tPnZhbHVlKSAmJiBjb3VudCgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydmaXJzdF9waG9uZSddLT52YWx1ZSkgPT0gMikgez8+PGxpPjxhIGhyZWY9InRlbDo8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2ZpcnN0X3Bob25lJ10tPnZhbHVlWzBdOwplY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2ZpcnN0X3Bob25lJ10tPnZhbHVlWzFdOz8+CiI+PGkgY2xhc3M9ImZhIGZhLXBob25lIj48L2k+PHNwYW4gY2xhc3M9InR4dC14cyI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydmaXJzdF9waG9uZSddLT52YWx1ZVswXTs/Pgo8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC1tZCI+IDw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snZmlyc3RfcGhvbmUnXS0+dmFsdWVbMV07Pz4KPC9zcGFuPjwvYT48L2xpPjw/cGhwIH0/PgoJCQkJCTw/cGhwIGlmICghZW1wdHkoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc2Vjb25kX3Bob25lJ10tPnZhbHVlKSAmJiBjb3VudCgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzZWNvbmRfcGhvbmUnXS0+dmFsdWUpID09IDIpIHs/PjxsaT48YSBocmVmPSJ0ZWw6PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzZWNvbmRfcGhvbmUnXS0+dmFsdWVbMF07CmVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc2Vjb25kX3Bob25lJ10tPnZhbHVlWzFdOz8+CiI+PGkgY2xhc3M9ImZhIGZhLXBob25lIj48L2k+PHNwYW4gY2xhc3M9InR4dC14cyI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzZWNvbmRfcGhvbmUnXS0+dmFsdWVbMF07Pz4KPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtbWQiPiA8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NlY29uZF9waG9uZSddLT52YWx1ZVsxXTs/Pgo8L3NwYW4+PC9hPjwvbGk+PD9waHAgfT8+CgkJCQkJPGxpIGNsYXNzPSJjYXJ0LXdyYXBwZXIiPjw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCdjYXJ0LnNtYWxsLnRwbCcpOz8+CjwvbGk+CgkJCQkJPD9waHAgaWYgKFVzZXI6OmlzU2lnbmVkSW4oKSkgez8+CgkJCQkJCTxsaT4KCQkJCQkJCTxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6dXJsKCk7Pz4Kd2lzaGxpc3QvIiBjbGFzcz0idGh1bWJzIj48aW1nIHNyYz0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/Pgp0aHVtYnMucG5nIiBhbHQ9IiI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCd1c2VyX19teV9saXN0Jyk7Pz4KPC9hPgoJCQkJCQkJPGRpdiBjbGFzcz0ianotaXMtaGlkZGVuIGp6LXRvcC1tZW51LW1zZyIgaWQ9Indpc2hsaXN0LW1zZyI+PGRpdj48L2Rpdj48L2Rpdj4JCQkJCQkJCgkJCQkJCTwvbGk+CgkJCQkJCTxsaSBjbGFzcz0icHJvZmlsZS1kcm9wZG93biI+CgkJCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIFVzZXI6OnVybCgpOz8+CnNldHRpbmdzLyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+PD9waHAgaWYgKCRfU0VTU0lPTlsndXNlciddWyduYW1lJ10pIHsKZWNobyAkX1NFU1NJT05bJ3VzZXInXVsnbmFtZSddOz8+CiA8P3BocCBlY2hvICRfU0VTU0lPTlsndXNlciddWydzdXJuYW1lJ107Cn0gZWxzZSB7CmVjaG8gc3Vic3RyKCRfU0VTU0lPTlsndXNlciddWydlbWFpbCddLDAsc3RycG9zKCRfU0VTU0lPTlsndXNlciddWydlbWFpbCddLCJAIikpOwp9Pz48L2E+CgkJCQkJCQk8dWwgY2xhc3M9InByb2ZpbGUtZHJvcGRvd24tbWVudSI+CgkJCQkJCQkJPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6dXJsKCk7Pz4KaGlzdG9yeS8iPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6Zygnb3JkZXJzX19saW5rc19oaXN0b3J5Jyk7Pz4KPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6dXJsKCk7Pz4KYWNjb3VudC8iPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygndXNlcl9fbGlua19wcm9maWxlJyk7Pz4KPC9hPjwvbGk+CgkJCQkJCQkJPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6dXJsKCk7Pz4KbG9nb3V0LyI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCd1c2VyX19sb2dvdXQnKTs/Pgo8L2E+PC9saT4KCQkJCQkJCTwvdWw+CgkJCQkJCTwvbGk+CgkJCQkJPD9waHAgfSBlbHNlIHsgPz4KCQkJCQkKCQkJCQkJPCEtLTxsaT48YSBocmVmPSI8P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uc1sxMzRdWyd1cmxfZnVsbCddOz8+CiI+PGkgY2xhc3M9ImZhIGZhLXVzZXIiPjwvaT48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3VzZXJfX2xpbmtfcmVnaXN0ZXInKTs/Pgo8L2E+PC9saT4tLT4KCQkJCQkJPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6cG9wdXBVcmwoJ3JlZ2lzdGVyJyk7Pz4KIiBjbGFzcz0ic2lnbnVwLXBvcHVwLXRyaWdnZXIiPjxpIGNsYXNzPSJmYSBmYS11c2VyIj48L2k+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCd1c2VyX19saW5rX3JlZ2lzdGVyJyk7Pz4KPC9hPjwvbGk+CgkJCQkJCQoJCQkJCQk8bGk+CgkJCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIFVzZXI6OnBvcHVwVXJsKCdsb2dpbicpOz8+CiIgY2xhc3M9InNpZ251cC1wb3B1cC10cmlnZ2VyIj48aSBjbGFzcz0iZmEgZmEtbG9jayI+PC9pPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygndXNlcl9fbG9naW4nKTs/Pgo8L2E+CgkJCQkJCQk8ZGl2IGNsYXNzPSJqei1pcy1oaWRkZW4ganotdG9wLW1lbnUtbXNnIiBpZD0id2lzaGxpc3QtbXNnIj48ZGl2PjwvZGl2PjwvZGl2PgoJCQkJCQk8L2xpPgoJCQkJCTw/cGhwIH0/PgoJCQkJCTxsaSBjbGFzcz0ibGFuZy1kcm9wZG93biI+CgkJCQkJCTxhIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGhyZWY9IiMiPgoJCQkJCQkJPGltZyB3aWR0aD0iMTgiIHNyYz0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/PgpmbGFncy88P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OiRsYW5nOz8+Ci5wbmciIGFsdD0iIj4KCQkJCQkJCTxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgoJCQkJCQk8L2E+CgkJCQkJCTx1bCBjbGFzcz0ibGFuZy1kcm9wZG93bi1tZW51Ij4KCQkJCQkJCTw/cGhwCiRfZnJvbSA9ICRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5pbml0KCRfc21hcnR5X3RwbCwgQ29yZV9MYW5ndWFnZTo6JGxhbmd1YWdlc19saXN0LCAndicpOwppZiAoJF9mcm9tICE9PSBudWxsKSB7CmZvcmVhY2ggKCRfZnJvbSBhcyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlKSB7Cj8+CgkJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ2FjdGl2ZV9mb3JfcHVibGljJ10gPiAxKSB7Pz4KCQkJCQkJCQkJPGxpPgoJCQkJCQkJCQkJPGEgaHJlZj0iPD9waHAgZWNobyBDb3JlX1NlY3Rpb25zOjokc2VjdGlvblsndXJsX2Z1bGxfYWxsJ11bJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsna2V5J11dOwppZiAoQ29yZV9TZWN0aW9uczo6JG1vZHVsZVsndXJsJ10pIHsKZWNobyBpbXBsb2RlKENvcmVfU2VjdGlvbnM6OiRtb2R1bGVbJ3VybCddLCcvJyk7Pz4KLzw/cGhwIH0/PiI+CgkJCQkJCQkJCQkJPGltZyB3aWR0aD0iMjIiIHNyYz0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX0lNQUdFUyddLT52YWx1ZTs/PgpmbGFncy88P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ2tleSddOz8+Ci5wbmciIGFsdD0iPD9waHAgZWNobyBzdHJ0b3VwcGVyKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ3Nob3J0J10pOz8+CiIgLz4KCQkJCQkJCQkJCTwvYT4KCQkJCQkJCQkJPC9saT4KCQkJCQkJCQk8P3BocCB9Pz4KCQkJCQkJCTw/cGhwCn0KfQokX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+cmVzdG9yZSgkX3NtYXJ0eV90cGwsIDEpOz8+CgkJCQkJCTwvdWw+CgkJCQkJPC9saT4KCQkJCTwvdWw+CgkJCTwvZGl2PgoJCTwvZGl2PgkKCQk8ZGl2IGNsYXNzPSJtZWdhLW1lbnUtcm93Ij4KCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgoJCQkJCTwhLS0gc3RhcnQgbWVnYSBtZW51IC0tPgoJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5qcy1uYXZiYXItY29sbGFwc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KCQkJCQkJPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgoJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KCQkJCQkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJCQkJCTxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgoJCQkJCTwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJtZWdhLW1lbnUiPgoJCQkJCTxuYXYgY2xhc3M9Im5hdmJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSBqcy1uYXZiYXItY29sbGFwc2UiPgoJCQkJCQkJPHVsIGNsYXNzPSJuYXZiYXItbmF2Ij4KCQkJCQkJCQk8P3BocAokX2Zyb20gPSAkX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+aW5pdCgkX3NtYXJ0eV90cGwsIENvcmVfU2VjdGlvbnM6OiRzc3NbNjNdLCAndicsIGZhbHNlLCAnaycpOwppZiAoJF9mcm9tICE9PSBudWxsKSB7CmZvcmVhY2ggKCRfZnJvbSBhcyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID0+ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWUpIHsKPz4KCQkJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ2hpZGVfbWVudSddKSB7CmNvbnRpbnVlIDE7Cn0/PgoKCQkJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT0gMzkgfHwgJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSA9PSA0MyB8fCAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID09IDQ0IHx8ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT0gNDUgfHwgJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSA9PSA0NiB8fCAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID09IDEzMyB8fCAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID09IDEzNCkgez8+CgkJCQkJCQkJCQk8bGkgY2xhc3M9ImRyb3Bkb3duIG1lZ2EtZHJvcGRvd24iPgoJCQkJCQkJCQkJCTxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndXJsX2Z1bGwnXTs/PgoiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiID48P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWVbJ3RpdGxlJ107Pz4KPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+PC9hPgoJCQkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBtZWdhLWRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCQkJCQkJCQkJCQkJPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAKJF9mcm9tID0gJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPmluaXQoJF9zbWFydHlfdHBsLCBDb3JlX1NlY3Rpb25zOjokc3NzWyRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWVdLCAndjMnLCBmYWxzZSwgJ2szJyk7CmlmICgkX2Zyb20gIT09IG51bGwpIHsKZm9yZWFjaCAoJF9mcm9tIGFzICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2szJ10tPnZhbHVlID0+ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YzJ10tPnZhbHVlKSB7Cj8+CgkJCQkJCQkJCQkJCQk8dWw+CQkJCQkJCQkJCQkJCQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YzJ10tPnZhbHVlWyd1cmxfZnVsbCddOz8+CiI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2MyddLT52YWx1ZVsndGl0bGUnXTs/Pgo8L2E+PC9saT4KCQkJCQkJCQkJCQkJCTwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAKfQp9CiRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5yZXN0b3JlKCRfc21hcnR5X3RwbCwgMSk7Pz4KCQkJCQkJCQkJCQkJPC9saT4KCQkJCQkJCQkJCQk8L3VsPgkJCQkKCQkJCQkJCQkJCTwvbGk+CQkJCQkJCQkJCgkJCQkJCQkJCTw/cGhwIH0gZWxzZSB7ID8+CgkJCQkJCQkJCQk8bGk+CgkJCQkJCQkJCQkJPGEgY2xhc3M9Ijw/cGhwIGlmIChpbl9hcnJheSgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlLENvcmVfU2VjdGlvbnM6OiRhY3RpdmVfbGlzdCkpIHs/PiBhY3RpdmU8P3BocCB9Pz4iIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndXJsX2Z1bGwnXTs/PgoiPjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndGl0bGUnXTs/Pgo8L2E+CgkJCQkJCQkJCQk8L2xpPgoJCQkJCQkJCQk8P3BocCB9Pz4KCQkJCQkJCQk8P3BocAp9Cn0KJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPnJlc3RvcmUoJF9zbWFydHlfdHBsLCAxKTs/PgoJCQkJCQkJPC91bD4KCQkJCQkJPC9kaXY+CgkJCQkJPC9uYXY+CgkJCQk8L2Rpdj4JCgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9kaXY+CgkKCTwhLS0gID09PT09PT09PT09IENPTlRFTlQgPT09PT09PT09PT09IC0tPgoJPD9waHAgaWYgKENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uWydtYWluX3BhZ2UnXSkgez8+CQkKCQk8P3BocCBlY2hvIENvcmVfTGF5b3V0OjpmZXRjaCgnX21haW4ucGFnZS50cGwnKTs/PgoKCTw/cGhwIH0gZWxzZSB7ID8+CgkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj48P3BocCBlY2hvIENvcmVfQm9vdHN0cmFwOjokY29udGVudF90ZXh0Oz8+CjwvZGl2PgoJPD9waHAgfT8+CgoJPCEtLSBGb290ZXIKCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoJPGZvb3Rlcj4KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgkKCQkJPGRpdiBjbGFzcz0iZm9vdGVyLXRvcCI+CQoJCQkJPGRpdiBjbGFzcz0icm93Ij4JCgkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTQiPgkKCQkJCQkJPGRpdiBjbGFzcz0ibmV3c2xldHRlci1ibG9jayIgaWQ9Im5ld3Mtc3Vic2NyaWJlLXdyYXBwZXIiPgkJCQoJCQkJCQkJPGRpdiBjbGFzcz0ianotbXNnIGp6LWlzLWhpZGRlbiI+PC9kaXY+CgkJCQkJCQk8Zm9ybSBtZXRob2Q9InBvc3QiPgoJCQkJCQkJCTxkaXYgY2xhc3M9Im5ld3NsZXR0ZXItZm9ybSI+CgkJCQkJCQkJCTxkaXYgY2xhc3M9Im5ld3NsZXR0ZXItaW5wdXQiPgoJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImVtYWlsIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdzdWJzY3JpYmVfX2Zvcm1faW5wdXQnKTs/PgoiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZCAvPgoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4gc3VibWl0LWZpZWxkIGJ0bi1ibHVlIj48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3N1YnNjcmliZV9fZm9ybV9zdWJtaXQnKTs/Pgo8L2J1dHRvbj4KCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCTwvZm9ybT4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTQiPgkJCgkJCQkJCTxwPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygnbmV3c19fc3Vic2NyaWJlX3RleHQnKTs/Pgo8L3A+CgkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0iZm9vdGVyLW1haW4iPgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+CgkJCQkJCTx1bD4KCQkJCQkJCTxsaSBjbGFzcz0idGl0bGUiPjw/cGhwIGVjaG8gQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25zWzU2XVsndGl0bGUnXTs/Pgo8L2xpPgoJCQkJCQkJPD9waHAKJF9mcm9tID0gJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPmluaXQoJF9zbWFydHlfdHBsLCBDb3JlX1NlY3Rpb25zOjokc3NzWzU2XSwgJ3YnLCBmYWxzZSwgJ2snKTsKaWYgKCRfZnJvbSAhPT0gbnVsbCkgewpmb3JlYWNoICgkX2Zyb20gYXMgJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSA9PiAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlKSB7Cj8+CgkJCQkJCQkJPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndXJsX2Z1bGwnXTs/PgoiPjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndGl0bGUnXTs/Pgo8L2E+PC9saT4KCQkJCQkJCTw/cGhwCn0KfQokX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+cmVzdG9yZSgkX3NtYXJ0eV90cGwsIDEpOz8+ICAgICAgICAgCgkJCQkJCTwvdWw+CgkJCQkJPC9kaXY+CgoJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KCQkJCQkJPCEtLQoJCQkJCQk8dWw+CgkJCQkJCQk8bGkgY2xhc3M9InRpdGxlIj48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ2dsb2JhbF9fY2F0ZWdvcmllcycpOz8+CjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocAokX2Zyb20gPSAkX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+aW5pdCgkX3NtYXJ0eV90cGwsIENvcmVfU2VjdGlvbnM6OiRzc3NbNjNdLCAndicsIGZhbHNlLCAnaycpOwppZiAoJF9mcm9tICE9PSBudWxsKSB7CmZvcmVhY2ggKCRfZnJvbSBhcyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID0+ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWUpIHsKPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCBpZiAoIWluX2FycmF5KCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUsYXJyYXkoMzcsMzgpKSkgez8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndXJsX2Z1bGwnXTs/PgoiPjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndGl0bGUnXTs/Pgo8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCB9Pz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwCn0KfQokX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+cmVzdG9yZSgkX3NtYXJ0eV90cGwsIDEpOz8+CgkJCQkJCTwvdWw+CgkJCQkJCS0tPgoJCQkJCTwvZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CgkJCQkJCTx1bD4KCQkJCQkJCTxsaSBjbGFzcz0idGl0bGUiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygnZ2xvYmFsX19zb2NpYWwnKTs/Pgo8L2xpPgoJCQkJCQk8L3VsPgoJCQkJCQk8ZGl2IGNsYXNzPSJzb2NpYWwiPgoJCQkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnc29jJywgQ29yZV9TZXR0aW5nczo6Z2V0KCdzb2NfZmFjZWJvb2snLGZhbHNlKSk7Pz4KCQkJCQkJCTw/cGhwIGlmICgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWUpIHs/PjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc29jJ10tPnZhbHVlOz8+CiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJmYiI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPjw/cGhwIH0/PgoJCQkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnc29jJywgQ29yZV9TZXR0aW5nczo6Z2V0KCdzb2NfaW5zdGFncmFtJyxmYWxzZSkpOz8+CgkJCQkJCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc29jJ10tPnZhbHVlKSB7Pz48YSBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NvYyddLT52YWx1ZTs/PgoiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iaW5zdCI+PGkgY2xhc3M9ImZhIGZhLWluc3RhZ3JhbSI+PC9pPjwvYT48P3BocCB9Pz4KCQkJCQkJCTw/cGhwICRfc21hcnR5X3RwbC0+X2Fzc2lnbkluU2NvcGUoJ3NvYycsIENvcmVfU2V0dGluZ3M6OmdldCgnc29jX3lvdXR1YmUnLGZhbHNlKSk7Pz4KCQkJCQkJCTw/cGhwIGlmICgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWUpIHs/PjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc29jJ10tPnZhbHVlOz8+CiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJ5b3V0Ij48aSBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPjwvYT48P3BocCB9Pz4KCQkJCQkJCTw/cGhwICRfc21hcnR5X3RwbC0+X2Fzc2lnbkluU2NvcGUoJ3NvYycsIENvcmVfU2V0dGluZ3M6OmdldCgnc29jX3BpbnRlcmVzdCcsZmFsc2UpKTs/PgoJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NvYyddLT52YWx1ZSkgez8+PGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWU7Pz4KIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InBpbnQiPjxpIGNsYXNzPSJmYSBmYS1waW50ZXJlc3QiPjwvaT48L2E+PD9waHAgfT8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgkKCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CgkJCQkJCTx1bD4KCQkJCQkJCTxsaSBjbGFzcz0idGl0bGUiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygnZ2xvYmFsX19wYXltZW50X3N5c3RlbXMnKTs/Pgo8L2xpPgoJCQkJCQk8L3VsPgoJCQkJCQk8ZGl2IGNsYXNzPSJwYXktbWV0aG9kcyI+CgkJCQkJCQk8YSBocmVmPSIjIj48aW1nIHNyYz0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/Pgp2aXNhX21hc3RlcmNhcmRfYmlnLnBuZyIgYWx0PSIiPjwvYT4KCQkJCQkJCTxhIGhyZWY9IiMiPjxpbWcgc3JjPSI8P3BocCBlY2hvIFBBVEhfSU1BR0VTOz8+CmNhcnQtcGF5cGFsLnBuZyIgYWx0PSIiIHN0eWxlPSJ3aWR0aDogODJweDsiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgkKCQkJCTwvZGl2PgkKCQkJPC9kaXY+CQoJCQk8ZGl2IGNsYXNzPSJyb3cgZm9vdGVyLWJvdHRvbSI+CQoJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTEyIHRleHQtY2VudGVyIj4KCQkJCQk8ZGl2IGNsYXNzPSJjb3B5cmlnaHQiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygnZ2xvYmFsX19jb3B5cmlnaHRzJyk7Pz4KIDxhIGhyZWY9Ijw/cGhwIGVjaG8gQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25zWzEyNl1bJ3VybF9mdWxsJ107Pz4KIj48P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uc1sxMjZdWyd0aXRsZSddOz8+CjwvYT48L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZm9vdGVyPgoKCTxkaXYgaWQ9Iml0ZW1fYXZpYWJsZV9ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTt3aWR0aDo1MDBweDsiPgoJCTxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyNHB4OyBwYWRkaW5nOiAyMHB4IDBweDsiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6Zygnb3JkZXJzX19hdmlhYmxlX2Jsb2NrX3RpdGxlJyk7Pz4KPC9kaXY+CgkJPHA+CiAgICAgICAgICAgIDw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6Zygnb3JkZXJzX19hdmlhYmxlX2Jsb2NrX3RleHQnKTs/PgoKCQk8L3A+CgkJPHA+CgkJCTxhIGNsYXNzPSJidG4gYnRuLXhzIGJ0bi1ibHVlIiBocmVmPSJqYXZhc2NyaXB0OiQuZmFuY3lib3guY2xvc2UoKTsiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6Zygnb3JkZXJzX19hdmlhYmxlX2Jsb2NrX2NvbnRpbnVlJyk7Pz4KPC9hPgoJCTwvcD4KCTwvZGl2PgoKCTxkaXYgY2xhc3M9InNtYXJ0LWNhcnQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ2NhcnQuc21hcnQudHBsJyk7Pz4KPC9kaXY+CgoJPD9waHAgaWYgKCFXYl9HZW86OmlzU2V0KCkpIHs/PgoJCTw/cGhwIGVjaG8gV2JfR2VvOjpjb3VudHJ5TWVudSgpOz8+CgoJPD9waHAgfSBlbHNlIHsgPz4KCQk8P3BocCAkX3NtYXJ0eV90cGwtPl9hc3NpZ25JblNjb3BlKCdwb3B1cEJhbm5lcicsIEJhbm5lcnM6OnBvcHVwKENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uWydpZCddKSk7Pz4KCgkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3BvcHVwQmFubmVyJ10tPnZhbHVlKSB7Pz4JCQoJCQk8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3BvcHVwQmFubmVyJ10tPnZhbHVlOz8+CgoJCTw/cGhwIH0/PgoJPD9waHAgfT8+CgoJPD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ2Nvb2tpZS5odG1sLnRwbCcpOz8+CgoKCTwhLS0gcHJlbG9hZCAtLT4KCTxpbWcgY2xhc3M9Imp6LWlzLWhpZGRlbiIgc3JjPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfSU1BR0VTJ10tPnZhbHVlOz8+CmFqYXgtbG9hZGVyLmdpZiIgLz4KCQoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvanF1ZXJ5LjEuMTEuMS5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5qcycpOz8+CgoJCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2ZhbmN5Ym94L2pxdWVyeS5mYW5jeWJveC5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvZmFuY3lib3gvanF1ZXJ5Lmlzb3RvcGUuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2ZhbmN5Ym94L2N1c3RvbS5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvaW9uLnJhbmdlU2xpZGVyLTIuMy4xL2pzL2lvbi5yYW5nZVNsaWRlci5taW4uanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2pxdWVyeS5sYXp5bG9hZC5taW4uanMnKTs/PgoKCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6Omh0bWxKcygpOz8+CgoKCTwhLS0gY2Fyb3VzZWwgLS0+Cgk8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3NsaWNrLWNhcm91c2VsQDEuOC4xL3NsaWNrL3NsaWNrLm1pbi5qcyI+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgoJPCEtLSBjb29raWUuanMgLS0+Cgk8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanF1ZXJ5LWNvb2tpZS8xLjQuMS9qcXVlcnkuY29va2llLm1pbi5qcyI+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgoJPD9waHAgZWNobyAnPHNjcmlwdCc7ID8+CiBzcmM9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9TSVRFJ10tPnZhbHVlOz8+CmVuZ2luZS9qcy9FdmVudC5qcyI+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+Cgk8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHNyYz0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX1NJVEUnXS0+dmFsdWU7Pz4KZW5naW5lL2pzL01hZ25pZmllci5qcyI+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2pzL21haW4uZnVuY3Rpb25zLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvbWFpbi5nbG9iYWwuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9tYWluLmNvb2tpZXMuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9wb3B1cC5oYW5kbGVyLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvY2F0YWxvZy5jYXJ0LmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvY2F0YWxvZy53aXNobGlzdC5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2pzL2NhdGFsb2cuc2VhcmNoLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvY2F0YWxvZy5wYWdlcy5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2pzL3VzZXIuc3Vic2NyaWJlLmpzJyk7Pz4KCgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjpodG1sSnMoKTs/PgoKPC9ib2R5Pgo8L2h0bWw+Cjw/cGhwIH0KfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b19saXRlcmFsXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3RlbXBsYXRlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfY29uZmlnX2Rpcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9wbHVnaW5faGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19hbWJpZ3VvdXNfcmVzb3VyY2VzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXRlcmFsc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9jbGFzc10gPT4gU21hcnR5X1NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19waHBfdGVtcGxhdGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5X2RlYnVnX2lkXSA9PiBTTUFSVFlfREVCVUcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX292ZXJ3cml0ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2xvY2tpbmddID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9yZXNvdXJjZV90eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX21vZGlmaWVkX2NoZWNrXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2N1cnJlbnRfZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2RlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXI6cHJvdGVjdGVkXSA9PiAuL2NhY2hlLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbM10gPT4gX2Rpcl9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzZdID0+IGluaGVyaXRhbmNlX21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NNYXA6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXJdID0+IENvbmZpZ0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXJdID0+IENhY2hlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VfaGFuZGxlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb2RlRnJhbWVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX0NvZGVGcmFtZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xvYWRQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3dyaXRlRmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfV3JpdGVGaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICApCgogICAgICAgICAgICBbMV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvc3lzcGx1Z2lucy9zbWFydHlfdGVtcGxhdGVfY29tcGlsZWQucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDE4NAogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gd3JpdGUKICAgICAgICAgICAgICAgICAgICBbY2xhc3NdID0+IFNtYXJ0eV9UZW1wbGF0ZV9Db21waWxlZAogICAgICAgICAgICAgICAgICAgIFt0eXBlXSA9PiAtPgogICAgICAgICAgICAgICAgICAgIFthcmdzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHldID0+IFNtYXJ0eSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b19saXRlcmFsXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3VuYXNzaWduZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VfaW5jbHVkZV9wYXRoXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3RlbXBsYXRlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX3RlbXBsYXRlX2Rpcl0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29uZmlnRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfY29uZmlnX2Rpcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfdGVtcGxhdGVfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9wbHVnaW5faGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbXBpbGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wbHVnaW5zRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY29tcGlsZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2Vfc3ViX2RpcnNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19hbWJpZ3VvdXNfcmVzb3VyY2VzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbmRzX3JlY3Vyc2lvbl0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRfZGVsaW1pdGVyXSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JpZ2h0X2RlbGltaXRlcl0gPT4gfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXRlcmFsc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9jbGFzc10gPT4gU21hcnR5X1NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X3BvbGljeV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BocF9oYW5kbGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19waHBfdGVtcGxhdGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nX2N0cmxdID0+IE5PTkUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5X2RlYnVnX2lkXSA9PiBTTUFSVFlfREVCVUcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdfdHBsXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfcmVwb3J0aW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX292ZXJ3cml0ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfYm9vbGVhbml6ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfcmVhZF9oaWRkZW5dID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2xvY2tpbmddID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbG9ja2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tpbmdfdGltZW91dF0gPT4gMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9yZXNvdXJjZV90eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX21vZGlmaWVkX2NoZWNrXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9wbHVnaW5zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfb2JqZWN0c10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NsYXNzZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2FjaGVfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9sb2FkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9tb2RpZmllcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXNjYXBlX2h0bWxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydF90aW1lXSA9PiAxNzUzMDM4Nzc3LjI1NjkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2N1cnJlbnRfZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BhcnNlcmRlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2RlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZFRlbXBsYXRlRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAuL2NvbmZpZ3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRDb25maWdEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyOnByb3RlY3RlZF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXI6cHJvdGVjdGVkXSA9PiAuL2NhY2hlLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYnNvbGV0ZVByb3BlcnRpZXM6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IHRlbXBsYXRlX3Jlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiBkaXJlY3RfYWNjZXNzX3NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbM10gPT4gX2Rpcl9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzRdID0+IF9maWxlX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNV0gPT4gcGx1Z2luX3NlYXJjaF9vcmRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzZdID0+IGluaGVyaXRhbmNlX21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbN10gPT4gcmVzb3VyY2VfY2FjaGVfbW9kZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NNYXA6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyXSA9PiBUZW1wbGF0ZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXJdID0+IENvbmZpZ0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBQbHVnaW5zRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXJdID0+IENvbXBpbGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXJdID0+IENhY2hlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9jaGVja10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxGdW5jdGlvbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VfaGFuZGxlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1Jlc291cmNlX0ZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfQ1NTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvaW1hZ2VzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1RISVJEX1BBUlRZXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhfc2l0ZV9jbGVhcl0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtBdXRvbG9hZEZpbHRlcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0NvbmZpZ1ZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlYnVnVGVtcGxhdGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmVhbVZhcmlhYmxlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUZW1wbGF0ZVZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWRQcm9wZXJ0aWVzOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VucmVnaXN0ZXJQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfVW5yZWdpc3RlclBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb2RlRnJhbWVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX0NvZGVGcmFtZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xvYWRQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3dyaXRlRmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfV3JpdGVGaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZV0gPT4gU21hcnR5X1RlbXBsYXRlX1NvdXJjZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdWlkXSA9PiAwYTUzMDZlODM4ZDcyYmNhYWM1ZjVhODBmZTMwZTY3MWM0Y2Y3NzVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVwYXRoXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aW1lc3RhbXBdID0+IDE3NDE4NzI4OTMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXhpc3RzXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Jhc2VuYW1lXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50c10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhbmRsZXJdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5XSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvX2xpdGVyYWxdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VfaW5jbHVkZV9wYXRoXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdGVtcGxhdGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29uZmlnRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF9jb25maWdfZGlyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3BsdWdpbl9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wbHVnaW5zRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZURpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2Vfc3ViX2RpcnNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X2FtYmlndW91c19yZXNvdXJjZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbmRzX3JlY3Vyc2lvbl0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JpZ2h0X2RlbGltaXRlcl0gPT4gfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpdGVyYWxzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X2NsYXNzXSA9PiBTbWFydHlfU2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BocF9oYW5kbGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X3BocF90ZW1wbGF0ZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nX2N0cmxdID0+IE5PTkUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHlfZGVidWdfaWRdID0+IFNNQVJUWV9ERUJVRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfcmVwb3J0aW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfb3ZlcndyaXRlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfcmVhZF9oaWRkZW5dID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfbG9ja2luZ10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tpbmdfdGltZW91dF0gPT4gMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3Jlc291cmNlX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbW9kaWZpZWRfY2hlY2tdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydF90aW1lXSA9PiAxNzUzMDM4Nzc3LjI1NjkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY3VycmVudF9maWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZFRlbXBsYXRlRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAuL2NvbmZpZ3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcjpwcm90ZWN0ZWRdID0+IC4vY2FjaGUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiByZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiBkaXJlY3RfYWNjZXNzX3NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiBfZGlyX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNV0gPT4gcGx1Z2luX3NlYXJjaF9vcmRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNl0gPT4gaW5oZXJpdGFuY2VfbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc01hcDpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyXSA9PiBUZW1wbGF0ZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcl0gPT4gQ29uZmlnRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXJdID0+IENvbXBpbGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcl0gPT4gQ2FjaGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9jaGVja10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV9oYW5kbGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1Jlc291cmNlX0ZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfQ1NTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvaW1hZ2VzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1RISVJEX1BBUlRZXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhfc2l0ZV9jbGVhcl0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtBdXRvbG9hZEZpbHRlcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlYnVnVGVtcGxhdGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUZW1wbGF0ZVZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWRQcm9wZXJ0aWVzOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VucmVnaXN0ZXJQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfVW5yZWdpc3RlclBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvZGVGcmFtZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfQ29kZUZyYW1lIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTG9hZFBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy9tb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfd3JpdGVGaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ29uZmlnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVyX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfU21hcnR5VGVtcGxhdGVDb21waWxlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9sZXhlcl9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlbGV4ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfcGFyc2VyX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGVwYXJzZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmhlcml0YW5jZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9yZXNvdXJjZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211c3RDb21waWxlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlSWRdID0+IC8jZmlsZTovaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbCMjIzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc1JlbmRlcmluZ0NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0UmVuZGVyQ2FsbGJhY2tzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuZFJlbmRlckNhbGxiYWNrc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxGdW5jdGlvbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTQ1JJUFRfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IC9lbmdpbmUvaW5kZXgucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfQ1NTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvaW1hZ2VzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1RISVJEX1BBUlRZXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhfc2l0ZV9jbGVhcl0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdID0+IFNtYXJ0eSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b19saXRlcmFsXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3VuYXNzaWduZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VfaW5jbHVkZV9wYXRoXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3RlbXBsYXRlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX3RlbXBsYXRlX2Rpcl0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29uZmlnRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfY29uZmlnX2Rpcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfdGVtcGxhdGVfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9wbHVnaW5faGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbXBpbGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wbHVnaW5zRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY29tcGlsZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2Vfc3ViX2RpcnNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19hbWJpZ3VvdXNfcmVzb3VyY2VzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbmRzX3JlY3Vyc2lvbl0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRfZGVsaW1pdGVyXSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JpZ2h0X2RlbGltaXRlcl0gPT4gfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXRlcmFsc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9jbGFzc10gPT4gU21hcnR5X1NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X3BvbGljeV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BocF9oYW5kbGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19waHBfdGVtcGxhdGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nX2N0cmxdID0+IE5PTkUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5X2RlYnVnX2lkXSA9PiBTTUFSVFlfREVCVUcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdfdHBsXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfcmVwb3J0aW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX292ZXJ3cml0ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfYm9vbGVhbml6ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfcmVhZF9oaWRkZW5dID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2xvY2tpbmddID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbG9ja2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tpbmdfdGltZW91dF0gPT4gMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9yZXNvdXJjZV90eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX21vZGlmaWVkX2NoZWNrXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9wbHVnaW5zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfb2JqZWN0c10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NsYXNzZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2FjaGVfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9sb2FkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9tb2RpZmllcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXNjYXBlX2h0bWxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydF90aW1lXSA9PiAxNzUzMDM4Nzc3LjI1NjkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2N1cnJlbnRfZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BhcnNlcmRlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2RlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZFRlbXBsYXRlRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAuL2NvbmZpZ3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRDb25maWdEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyOnByb3RlY3RlZF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXI6cHJvdGVjdGVkXSA9PiAuL2NhY2hlLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYnNvbGV0ZVByb3BlcnRpZXM6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IHRlbXBsYXRlX3Jlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiBkaXJlY3RfYWNjZXNzX3NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbM10gPT4gX2Rpcl9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzRdID0+IF9maWxlX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNV0gPT4gcGx1Z2luX3NlYXJjaF9vcmRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzZdID0+IGluaGVyaXRhbmNlX21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbN10gPT4gcmVzb3VyY2VfY2FjaGVfbW9kZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NNYXA6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyXSA9PiBUZW1wbGF0ZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXJdID0+IENvbmZpZ0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBQbHVnaW5zRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXJdID0+IENvbXBpbGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXJdID0+IENhY2hlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9jaGVja10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxGdW5jdGlvbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VfaGFuZGxlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1Jlc291cmNlX0ZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfQ1NTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvaW1hZ2VzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1RISVJEX1BBUlRZXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhfc2l0ZV9jbGVhcl0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ialR5cGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtBdXRvbG9hZEZpbHRlcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0NvbmZpZ1ZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlYnVnVGVtcGxhdGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmVhbVZhcmlhYmxlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUZW1wbGF0ZVZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWRQcm9wZXJ0aWVzOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VucmVnaXN0ZXJQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfVW5yZWdpc3RlclBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb2RlRnJhbWVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX0NvZGVGcmFtZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xvYWRQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3dyaXRlRmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfV3JpdGVGaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0NvbmZpZ1ZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmVhbVZhcmlhYmxlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRUZW1wbGF0ZVZhcnNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfR2V0VGVtcGxhdGVWYXJzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiA3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZWRdID0+IFNtYXJ0eV9UZW1wbGF0ZV9Db21waWxlZCBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV9oYXNoXSA9PiAxMjk3MjcwMjQ5Njg3ZDNmYjk1MDgzYTZfMzY4NzQwMzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXBhdGhdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8wYTUzMDZlODM4ZDcyYmNhYWM1ZjVhODBmZTMwZTY3MWM0Y2Y3NzVkXzAuZmlsZS5fZ2xvYmFsLnRwbC5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGltZXN0YW1wXSA9PiAxNzUzMDM4Nzc1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4aXN0c10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvY2Vzc2VkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5pZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc19ub2NhY2hlX2NvZGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlX2RlcGVuZGVuY3ldID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswYTUzMDZlODM4ZDcyYmNhYWM1ZjVhODBmZTMwZTY3MWM0Y2Y3NzVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiAxNzQxODcyODkzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luY2x1ZGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IDw/cGhwCi8qIFNtYXJ0eSB2ZXJzaW9uIDMuMS4zMiwgY3JlYXRlZCBvbiAyMDI1LTA3LTIwIDIyOjEyOjU3CiAgZnJvbSAnL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwnICovCgovKiBAdmFyIFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZSAkX3NtYXJ0eV90cGwgKi8KaWYgKCRfc21hcnR5X3RwbC0+X2RlY29kZVByb3BlcnRpZXMoJF9zbWFydHlfdHBsLCBhcnJheSAoCiAgJ3ZlcnNpb24nID0+ICczLjEuMzInLAogICd1bmlmdW5jJyA9PiAnY29udGVudF82ODdkM2ZiOTg2YTBiOF8zMDQ0MDM0NScsCiAgJ2hhc19ub2NhY2hlX2NvZGUnID0+IGZhbHNlLAogICdmaWxlX2RlcGVuZGVuY3knID0+IAogIGFycmF5ICgKICAgICcwYTUzMDZlODM4ZDcyYmNhYWM1ZjVhODBmZTMwZTY3MWM0Y2Y3NzVkJyA9PiAKICAgIGFycmF5ICgKICAgICAgMCA9PiAnL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwnLAogICAgICAxID0+IDE3NDE4NzI4OTMsCiAgICAgIDIgPT4gJ2ZpbGUnLAogICAgKSwKICApLAogICdpbmNsdWRlcycgPT4gCiAgYXJyYXkgKAogICksCiksZmFsc2UpKSB7CmZ1bmN0aW9uIGNvbnRlbnRfNjg3ZDNmYjk4NmEwYjhfMzA0NDAzNDUgKFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZSAkX3NtYXJ0eV90cGwpIHsKPz48IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjokbGFuZzs/PgoiPgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgoKCTw/cGhwIGVjaG8gQ29yZV9TZXR0aW5nczo6Z2V0TG9jYWxpemVkKCdtZXRhX3RhZ19jb2RlcycsdHJ1ZSxDb3JlX0xhbmd1YWdlOjokbGFuZyk7Pz4KCgogICAgPHRpdGxlPjw/cGhwIGVjaG8gQ29yZV9Cb290c3RyYXA6OiRoZWFkWyd0aXRsZSddOz8+CjwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImFsbCIgLz4KICAgIDxtZXRhIG5hbWU9InJldmlzaXQtYWZ0ZXIiIGNvbnRlbnQ9IjEgZGF5cyIgLz4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSI8P3BocCBlY2hvIENvcmVfQm9vdHN0cmFwOjokaGVhZFsna2V5d29yZHMnXTs/PgoiIC8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iPD9waHAgZWNobyBDb3JlX0Jvb3RzdHJhcDo6JGhlYWRbJ2Rlc2NyaXB0aW9uJ107Pz4KIiAvPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgoKCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX0lNQUdFUyddLT52YWx1ZTs/PgpmYXZpY29uLmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgoJPGxpbmsgcmVsPSJpY29uIiBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfSU1BR0VTJ10tPnZhbHVlOz8+CmZhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iIC8+CgogICAgPD9waHAgZWNobyAnPHNjcmlwdCc7ID8+CiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCXZhciBwYXRoX3NpdGUgPSAiPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX1NJVEVfRlVMTCddLT52YWx1ZTs/PgoiOwoJCXZhciBwYXRoX3NpdGVfY2xlYXIgPSAnPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydwYXRoX3NpdGVfY2xlYXInXS0+dmFsdWU7Pz4KJzsKCQl2YXIgbGFuZ3VhZ2UgPSAiPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjokbGFuZzs/PgoiOwoJCXZhciBzaXRlX25hbWUgPSAiPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydTSVRFX05BTUUnXS0+dmFsdWU7Pz4KIjsKCQl2YXIgY3VzdG9tX3VybF9pZCA9ICI8P3BocCBlY2hvIENvcmVfQm9vdHN0cmFwOjokX2N1c3RvbV91cmxbJ2lkJ107Pz4KIjsKCQl2YXIgY3VzdG9tX3VybF9wYXRzID0gPD9waHAgZWNobyBqc29uX2VuY29kZShDb3JlX0Jvb3RzdHJhcDo6JF9jdXN0b21fdXJsWyJwYXRocyJdKTs/Pgo7CgkJdmFyIGdsb2JhbF9sYW5ndWFnZXMgPSA8P3BocCBlY2hvIGpzb25fZW5jb2RlKENvcmVfTGFuZ3VhZ2U6OiRsYW5ndWFnZV9rZXlzKTs/Pgo7CgkJdmFyIHNpZCA9IDw/cGhwIGVjaG8gQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25bJ2lkJ107Pz4KOwogICAgPD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9TSVRFX0ZVTEwnXS0+dmFsdWU7Pz4KIiAvPgoKICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfU0lURV9GVUxMJ10tPnZhbHVlOz8+CiIgaHJlZmxhbmc9IngtZGVmYXVsdCIgLz4KCgk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNC4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyI+Cgk8bGluayBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RmlyYStTYW5zOjMwMCw0MDAsNTAwLDcwMCZzdWJzZXQ9Y3lyaWxsaWMtZXh0LGxhdGluJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KCgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3NsaWNrLWNhcm91c2VsQDEuOC4xL3NsaWNrL3NsaWNrLmNzcyIvPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLy9jZG4uanNkZWxpdnIubmV0L25wbS9zbGljay1jYXJvdXNlbEAxLjguMS9zbGljay9zbGljay10aGVtZS5jc3MiLz4KCiAgICA8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5jc3MnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2ZhbmN5Ym94L2pxdWVyeS5mYW5jeWJveC5jc3MnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdUaGlyZFBhcnR5L2lvbi5yYW5nZVNsaWRlci0yLjMuMS9jc3MvaW9uLnJhbmdlU2xpZGVyLm1pbi5jc3MnKTs/PgoKICAgIAoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9nbG9iYWwuY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzL21haW4uY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzL290aGVyLmNzcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9yZXNwb25zaXZlLmNzcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2Nzcy9fZWRpdC5jc3MnKTs/PgoKICAgIDw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3MvX2VkaXRfcy5jc3MnKTs/PgoKICAgIDw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3MvMjAxN2Fkdi5jc3MnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdjc3Mvc2xpY2stdGhlbWUuY3NzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnY3NzL2Nvb2tpZXMuY3NzJyk7Pz4KCgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjpodG1sQ3NzKCk7Pz4KCgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX1NJVEUnXS0+dmFsdWU7Pz4KZW5naW5lL2Nzcy9tYWduaWZpZXIuY3NzIi8+CgkKCTwhLS1baWYgbHRlIElFIDhdPgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvaWU2dXBkYXRlL2llNnVwZGF0ZS5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjpodG1sKCk7Pz4KCgk8IVtlbmRpZl0tLT4KCgk8P3BocCBlY2hvIENvcmVfQm9vdHN0cmFwOjpnZXRHb29nbGVBbmFseXRpY3MoKTs/PgoKCgk8P3BocCBpZiAoU29jaWFsczo6Y2hlY2tWSygpKSB7Pz4KICAgIAogICAgPD9waHAgZWNobyAnPHNjcmlwdCc7ID8+CiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy92ay5jb20vanMvYXBpL29wZW5hcGkuanM/MTI1Ij48P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCiAgICA8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgIFZLLmluaXQoe2FwaUlkOiA1NDk2NDYxLCBvbmx5V2lkZ2V0czogdHJ1ZX0pOwogICAgPD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CiAgICAKCTw/cGhwIH0/PgoKCTw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/Pgogc3JjPSIvL2NvZGUtZXUxLmppdm9zaXRlLmNvbS93aWRnZXQvM2hUYk5FUUdqTSIgYXN5bmM+PD9waHAgZWNobyAnPC9zY3JpcHQnOyA/Pgo+CgoJPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+Cgk8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSI8P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiR1cmw7Pz4KIiAvPgoJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ29iamVjdCddLT52YWx1ZSkgez8+CgkJPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSI8P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMocHJlZ19yZXBsYWNlKCchPFtePl0qPz4hJywgJyAnLCBDb3JlX0xhbmd1YWdlOjpnZXRWYXJCeUxhbmcoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snb2JqZWN0J10tPnZhbHVlLCd0aXRsZScpKSk7Pz4KIi8+CgkJPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSI8P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMocHJlZ19yZXBsYWNlKCchPFtePl0qPz4hJywgJyAnLCBDb3JlX0xhbmd1YWdlOjpnZXRWYXJCeUxhbmcoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snb2JqZWN0J10tPnZhbHVlLCd0ZXh0JykpKTs/PgoiLz4KCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snb2JqZWN0J10tPnZhbHVlWydpbWFnZSddWydmaWxlbmFtZSddKSB7Pz4KCQkJPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSI8P3BocCBlY2hvIENvcmVfSW1hZ2VzOjpHZXQoJ2NhdGFsb2cnLCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ29iamVjdCddLT52YWx1ZVsnaW1hZ2UnXVsnZmlsZW5hbWUnXSwndy04MDAtJyk7Pz4KIi8+CgkJPD9waHAgfSBlbHNlIHsgPz4KCQkJPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSI8P3BocCBlY2hvIFBBVEhfSU1BR0VTOz8+CmxvZ29fY29sb3IuanBnIi8+CgkJPD9waHAgfT8+Cgk8P3BocCB9IGVsc2UgeyA/PgoJCTxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKENvcmVfQm9vdHN0cmFwOjokaGVhZFsndGl0bGUnXSk7Pz4KIi8+CgkJPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSI8P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoQ29yZV9MYW5ndWFnZTo6ZygnZ2xvYmFsX19tZXRhX2Rlc2NyaXB0aW9uJykpOz8+CiIvPgoJCTxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/Pgpsb2dvX2NvbG9yLmpwZyIvPgoJPD9waHAgfT8+CgoJPD9waHAKJF9mcm9tID0gJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPmluaXQoJF9zbWFydHlfdHBsLCBDb3JlX0xhbmd1YWdlOjokbGFuZ3VhZ2VzX2xpc3QsICd2Jyk7CmlmICgkX2Zyb20gIT09IG51bGwpIHsKZm9yZWFjaCAoJF9mcm9tIGFzICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWUpIHsKPz4KCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsnYWN0aXZlX2Zvcl9wdWJsaWMnXSA+IDEpIHs/PgoJCQk8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsna2V5J107Pz4KIiBocmVmPSI8P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uWyd1cmxfZnVsbF9hbGwnXVskX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWydrZXknXV07CmlmIChDb3JlX1NlY3Rpb25zOjokbW9kdWxlWyd1cmwnXSkgewplY2hvIGltcGxvZGUoQ29yZV9TZWN0aW9uczo6JG1vZHVsZVsndXJsJ10sJy8nKTs/PgovPD9waHAgfT8+IiAvPgoJCTw/cGhwIH0/PgoJPD9waHAKfQp9CiRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5yZXN0b3JlKCRfc21hcnR5X3RwbCwgMSk7Pz4KCgk8IS0tIDw/cGhwIGVjaG8gQ29yZV9HZW9pcDo6Z2V0Q291bnRyeSgpOz8+CiAtLT4KPC9oZWFkPgo8Ym9keT4KCgk8IS0tIEZhY2Vib29rIC0tPgogICAgPGRpdiBpZD0iZmItcm9vdCI+PC9kaXY+CiAgICA8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KPihmdW5jdGlvbihkLCBzLCBpZCkgewogICAgICAgIHZhciBqcywgZmpzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTsKICAgICAgICBpZiAoZC5nZXRFbGVtZW50QnlJZChpZCkpIHJldHVybjsKICAgICAgICBqcyA9IGQuY3JlYXRlRWxlbWVudChzKTsganMuaWQgPSBpZDsKICAgICAgICBqcy5zcmMgPSAiLy9jb25uZWN0LmZhY2Vib29rLm5ldC88P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OiRsYW5nOz8+Cl88P3BocCBlY2hvIHN0cnRvdXBwZXIoQ29yZV9MYW5ndWFnZTo6JGxhbmcpOz8+Ci9zZGsuanMjeGZibWw9MSZ2ZXJzaW9uPXYyLjUiOwogICAgICAgIGZqcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqcywgZmpzKTsKICAgIH0oZG9jdW1lbnQsICdzY3JpcHQnLCAnZmFjZWJvb2stanNzZGsnKSk7CiAgICA8P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCQoJPCEtLSBNb2RhbCAtLT4KCTw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCd1c2VyLnN1YnNjcmliZS5tb2RhbC50cGwnKTs/PgoKCTwhLS0gID09PT09PT09PT09IEhFQURFUiA9PT09PT09PT09PT0gLS0+Cgk8ZGl2IGNsYXNzPSJoZWFkZXIiPgoJCTw/cGhwIGlmIChVc2VyOjppc1NpZ25lZEluKCkgPT0gRkFMU0UpIHs/PgoJCQk8ZGl2IGNsYXNzPSJzaWdudXAtYmFyIj4KCQkJCTxkaXYgaWQ9ImxvZ2luLXBvcHVwIiBjbGFzcz0iPD9waHAgaWYgKCEkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydsb2dpbl9wb3B1cF9hY3RpdmUnXS0+dmFsdWUpIHs/Pmp6LWlzLWhpZGRlbjw/cGhwIH0/PiBzaWdudXAtcG9wdXAtdGFyZ2V0Ij48P3BocCBlY2hvIENvcmVfTGF5b3V0OjpmZXRjaCgndXNlci5wb3B1cC5sb2dpbi50cGwnKTs/Pgo8L2Rpdj4JCgkJCQk8ZGl2IGlkPSJyZWdpc3Rlci1wb3B1cCIgY2xhc3M9Ijw/cGhwIGlmICghJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncmVnaXN0ZXJfcG9wdXBfYWN0aXZlJ10tPnZhbHVlKSB7Pz5qei1pcy1oaWRkZW48P3BocCB9Pz4gc2lnbnVwLXBvcHVwLXRhcmdldCI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ3VzZXIucG9wdXAucmVnaXN0ZXIudHBsJyk7Pz4KPC9kaXY+CgkJCQk8ZGl2IGlkPSJyZW1pbmRlci1wb3B1cCIgY2xhc3M9Ijw/cGhwIGlmICghJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncmVtaW5kZXJfcG9wdXBfYWN0aXZlJ10tPnZhbHVlKSB7Pz5qei1pcy1oaWRkZW48P3BocCB9Pz4gc2lnbnVwLXBvcHVwLXRhcmdldCI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ3VzZXIucG9wdXAucmVtaW5kZXIudHBsJyk7Pz4KPC9kaXY+CgkJCQk8ZGl2IGlkPSJyZW1pbmRlci1wYXNzd29yZC1wb3B1cCIgY2xhc3M9Ijw/cGhwIGlmICghJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncmVtaW5kZXJfcGFzc3dvcmRfcG9wdXBfYWN0aXZlJ10tPnZhbHVlKSB7Pz5qei1pcy1oaWRkZW48P3BocCB9Pz4gc2lnbnVwLXBvcHVwLXRhcmdldCI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ3VzZXIucG9wdXAucmVtaW5kZXIucGFzc3dvcmQudHBsJyk7Pz4KPC9kaXY+CgkJCTwvZGl2PgoJCTw/cGhwIH0/PgoJCTxkaXYgY2xhc3M9InRvcC1iYXIiPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgkKCQkJCTxhIGhyZWY9Ijw/cGhwIGVjaG8gUEFUSF9TSVRFX0ZVTEw7Pz4KIiB0aXRsZT0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKENvcmVfTGFuZ3VhZ2U6OmcoJ2dsb2JhbF9fc2l0ZV90aXRsZScpKTs/PgoiIGNsYXNzPSJsb2dvIj48aW1nIHdpZHRoPSIxMjAiIHNyYz0iPD9waHAgZWNobyBQQVRIX0lNQUdFUzs/Pgpsb2dvMS5wbmciIGFsdD0iIj48L2E+CgkJCQk8Zm9ybSBpZD0iY2F0YWxvZy1zZWFyY2gtZm9ybSIgY2xhc3M9InNlYXJjaCIgYWN0aW9uPSI8P3BocCBlY2hvIFNlYXJjaDo6dXJsKCk7Pz4KIj4KCQkJCQk8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CgkJCQkJCTxpbnB1dCBpZD0iY2F0YWxvZy1zZWFyY2gtaW5wdXQiIG5hbWU9InEiIHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSI8P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ2NhdGFsb2dfX3NlYXJjaF9wbGFjZWhvbGRlcicpOz8+CiIgdmFsdWU9Ijw/cGhwIGlmIChTZWFyY2g6OmlzKCkpIHsKZWNobyB1cmxkZWNvZGUoQ29yZV9TZWN0aW9uczo6JG1vZHVsZVsndXJsJ11bMF0pOwp9Pz4iIGF1dG9jb21wbGV0ZT0ib2ZmIj4KCQkJCQkJPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+CgkJCQkJCQk8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBzLWJ0biIgdHlwZT0iYnV0dG9uIj48aSBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L2k+PC9idXR0b24+CgkJCQkJCTwvc3Bhbj4KCQkJCQk8L2Rpdj4KCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLXNlYXJjaCI+CgkJCQkJCTxsaT4KCQkJCQkJCTxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgoJCQkJCQkJCTx0YWJsZSBpZD0iY2F0YWxvZy1zZWFyY2gtdGFibGUiIGNsYXNzPSJ0YWJsZSBzZWFyY2gtdGFibGUiPjx0Ym9keT48L3Rib2R5PjwvdGFibGU+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgaWQ9ImNhdGFsb2ctc2VhcmNoLW1zZyI+PC9kaXY+CgkJCQkJCQk8ZGl2IGlkPSJjYXRhbG9nLXNlYXJjaC1wcmVsb2FkZXIiPjxpbWcgc3JjPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfSU1BR0VTJ10tPnZhbHVlOz8+CmFqYXgtbG9hZGVyLmdpZiIgLz48L2Rpdj4KCQkJCQkJPC9saT4KCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93bi1mb290ZXIiPjxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0idGV4dC1jZW50ZXIgYm90dG9tIj48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ2NhdGFsb2dfX3NlYXJjaF9zaG93X2FsbCcpOz8+CjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1yaWdodCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiA1cHg7Ij48L2k+PC9idXR0b24+PC9saT4KCQkJCQk8L3VsPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCQkJCTwvZm9ybT4KCQkJCTx1bCBjbGFzcz0idG9wLW1lbnUgbmF2YmFyLW5hdiI+CgkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnZmlyc3RfcGhvbmUnLCBleHBsb2RlKCcgJyxDb3JlX0xhbmd1YWdlOjpnKCdjb250YWN0c19fcGhvbmVfZmlyc3QnKSkpOz8+CgkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnc2Vjb25kX3Bob25lJywgZXhwbG9kZSgnICcsQ29yZV9MYW5ndWFnZTo6ZygnY29udGFjdHNfX3Bob25lX3NlY29uZCcpKSk7Pz4KCQkJCQk8P3BocCAkX3NtYXJ0eV90cGwtPl9hc3NpZ25JblNjb3BlKCd3b3JrX3RpbWUnLCBDb3JlX0xhbmd1YWdlOjpnKCdjb250YWN0c19fd29ya190aW1lJykpOz8+CgkJCQkJCgkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3dvcmtfdGltZSddLT52YWx1ZSkgez8+PGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1waG9uZSI+PC9pPjxzcGFuIGNsYXNzPSJ0eHQtbWQiPiA8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3dvcmtfdGltZSddLT52YWx1ZTs/Pgo8L3NwYW4+PC9hPjwvbGk+PD9waHAgfT8+CgoJCQkJCTw/cGhwIGlmICghZW1wdHkoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snZmlyc3RfcGhvbmUnXS0+dmFsdWUpICYmIGNvdW50KCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2ZpcnN0X3Bob25lJ10tPnZhbHVlKSA9PSAyKSB7Pz48bGk+PGEgaHJlZj0idGVsOjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snZmlyc3RfcGhvbmUnXS0+dmFsdWVbMF07CmVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snZmlyc3RfcGhvbmUnXS0+dmFsdWVbMV07Pz4KIj48aSBjbGFzcz0iZmEgZmEtcGhvbmUiPjwvaT48c3BhbiBjbGFzcz0idHh0LXhzIj48P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2ZpcnN0X3Bob25lJ10tPnZhbHVlWzBdOz8+Cjwvc3Bhbj48c3BhbiBjbGFzcz0idHh0LW1kIj4gPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydmaXJzdF9waG9uZSddLT52YWx1ZVsxXTs/Pgo8L3NwYW4+PC9hPjwvbGk+PD9waHAgfT8+CgkJCQkJPD9waHAgaWYgKCFlbXB0eSgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzZWNvbmRfcGhvbmUnXS0+dmFsdWUpICYmIGNvdW50KCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NlY29uZF9waG9uZSddLT52YWx1ZSkgPT0gMikgez8+PGxpPjxhIGhyZWY9InRlbDo8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NlY29uZF9waG9uZSddLT52YWx1ZVswXTsKZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzZWNvbmRfcGhvbmUnXS0+dmFsdWVbMV07Pz4KIj48aSBjbGFzcz0iZmEgZmEtcGhvbmUiPjwvaT48c3BhbiBjbGFzcz0idHh0LXhzIj48P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NlY29uZF9waG9uZSddLT52YWx1ZVswXTs/Pgo8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC1tZCI+IDw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc2Vjb25kX3Bob25lJ10tPnZhbHVlWzFdOz8+Cjwvc3Bhbj48L2E+PC9saT48P3BocCB9Pz4KCQkJCQk8bGkgY2xhc3M9ImNhcnQtd3JhcHBlciI+PD9waHAgZWNobyBDb3JlX0xheW91dDo6ZmV0Y2goJ2NhcnQuc21hbGwudHBsJyk7Pz4KPC9saT4KCQkJCQk8P3BocCBpZiAoVXNlcjo6aXNTaWduZWRJbigpKSB7Pz4KCQkJCQkJPGxpPgoJCQkJCQkJPGEgaHJlZj0iPD9waHAgZWNobyBVc2VyOjp1cmwoKTs/Pgp3aXNobGlzdC8iIGNsYXNzPSJ0aHVtYnMiPjxpbWcgc3JjPSI8P3BocCBlY2hvIFBBVEhfSU1BR0VTOz8+CnRodW1icy5wbmciIGFsdD0iIj48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3VzZXJfX215X2xpc3QnKTs/Pgo8L2E+CgkJCQkJCQk8ZGl2IGNsYXNzPSJqei1pcy1oaWRkZW4ganotdG9wLW1lbnUtbXNnIiBpZD0id2lzaGxpc3QtbXNnIj48ZGl2PjwvZGl2PjwvZGl2PgkJCQkJCQkKCQkJCQkJPC9saT4KCQkJCQkJPGxpIGNsYXNzPSJwcm9maWxlLWRyb3Bkb3duIj4KCQkJCQkJCTxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6dXJsKCk7Pz4Kc2V0dGluZ3MvIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj48P3BocCBpZiAoJF9TRVNTSU9OWyd1c2VyJ11bJ25hbWUnXSkgewplY2hvICRfU0VTU0lPTlsndXNlciddWyduYW1lJ107Pz4KIDw/cGhwIGVjaG8gJF9TRVNTSU9OWyd1c2VyJ11bJ3N1cm5hbWUnXTsKfSBlbHNlIHsKZWNobyBzdWJzdHIoJF9TRVNTSU9OWyd1c2VyJ11bJ2VtYWlsJ10sMCxzdHJwb3MoJF9TRVNTSU9OWyd1c2VyJ11bJ2VtYWlsJ10sIkAiKSk7Cn0/PjwvYT4KCQkJCQkJCTx1bCBjbGFzcz0icHJvZmlsZS1kcm9wZG93bi1tZW51Ij4KCQkJCQkJCQk8bGk+PGEgaHJlZj0iPD9waHAgZWNobyBVc2VyOjp1cmwoKTs/PgpoaXN0b3J5LyI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdvcmRlcnNfX2xpbmtzX2hpc3RvcnknKTs/Pgo8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iPD9waHAgZWNobyBVc2VyOjp1cmwoKTs/PgphY2NvdW50LyI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCd1c2VyX19saW5rX3Byb2ZpbGUnKTs/Pgo8L2E+PC9saT4KCQkJCQkJCQk8bGk+PGEgaHJlZj0iPD9waHAgZWNobyBVc2VyOjp1cmwoKTs/Pgpsb2dvdXQvIj48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3VzZXJfX2xvZ291dCcpOz8+CjwvYT48L2xpPgoJCQkJCQkJPC91bD4KCQkJCQkJPC9saT4KCQkJCQk8P3BocCB9IGVsc2UgeyA/PgoJCQkJCQoJCQkJCQk8IS0tPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25zWzEzNF1bJ3VybF9mdWxsJ107Pz4KIj48aSBjbGFzcz0iZmEgZmEtdXNlciI+PC9pPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygndXNlcl9fbGlua19yZWdpc3RlcicpOz8+CjwvYT48L2xpPi0tPgoJCQkJCQk8bGk+PGEgaHJlZj0iPD9waHAgZWNobyBVc2VyOjpwb3B1cFVybCgncmVnaXN0ZXInKTs/PgoiIGNsYXNzPSJzaWdudXAtcG9wdXAtdHJpZ2dlciI+PGkgY2xhc3M9ImZhIGZhLXVzZXIiPjwvaT48P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3VzZXJfX2xpbmtfcmVnaXN0ZXInKTs/Pgo8L2E+PC9saT4KCQkJCQkJCgkJCQkJCTxsaT4KCQkJCQkJCTxhIGhyZWY9Ijw/cGhwIGVjaG8gVXNlcjo6cG9wdXBVcmwoJ2xvZ2luJyk7Pz4KIiBjbGFzcz0ic2lnbnVwLXBvcHVwLXRyaWdnZXIiPjxpIGNsYXNzPSJmYSBmYS1sb2NrIj48L2k+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCd1c2VyX19sb2dpbicpOz8+CjwvYT4KCQkJCQkJCTxkaXYgY2xhc3M9Imp6LWlzLWhpZGRlbiBqei10b3AtbWVudS1tc2ciIGlkPSJ3aXNobGlzdC1tc2ciPjxkaXY+PC9kaXY+PC9kaXY+CgkJCQkJCTwvbGk+CgkJCQkJPD9waHAgfT8+CgkJCQkJPGxpIGNsYXNzPSJsYW5nLWRyb3Bkb3duIj4KCQkJCQkJPGEgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgaHJlZj0iIyI+CgkJCQkJCQk8aW1nIHdpZHRoPSIxOCIgc3JjPSI8P3BocCBlY2hvIFBBVEhfSU1BR0VTOz8+CmZsYWdzLzw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6JGxhbmc7Pz4KLnBuZyIgYWx0PSIiPgoJCQkJCQkJPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CgkJCQkJCTwvYT4KCQkJCQkJPHVsIGNsYXNzPSJsYW5nLWRyb3Bkb3duLW1lbnUiPgoJCQkJCQkJPD9waHAKJF9mcm9tID0gJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPmluaXQoJF9zbWFydHlfdHBsLCBDb3JlX0xhbmd1YWdlOjokbGFuZ3VhZ2VzX2xpc3QsICd2Jyk7CmlmICgkX2Zyb20gIT09IG51bGwpIHsKZm9yZWFjaCAoJF9mcm9tIGFzICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWUpIHsKPz4KCQkJCQkJCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsnYWN0aXZlX2Zvcl9wdWJsaWMnXSA+IDEpIHs/PgoJCQkJCQkJCQk8bGk+CgkJCQkJCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIENvcmVfU2VjdGlvbnM6OiRzZWN0aW9uWyd1cmxfZnVsbF9hbGwnXVskX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWydrZXknXV07CmlmIChDb3JlX1NlY3Rpb25zOjokbW9kdWxlWyd1cmwnXSkgewplY2hvIGltcGxvZGUoQ29yZV9TZWN0aW9uczo6JG1vZHVsZVsndXJsJ10sJy8nKTs/PgovPD9waHAgfT8+Ij4KCQkJCQkJCQkJCQk8aW1nIHdpZHRoPSIyMiIgc3JjPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfSU1BR0VTJ10tPnZhbHVlOz8+CmZsYWdzLzw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsna2V5J107Pz4KLnBuZyIgYWx0PSI8P3BocCBlY2hvIHN0cnRvdXBwZXIoJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsnc2hvcnQnXSk7Pz4KIiAvPgoJCQkJCQkJCQkJPC9hPgoJCQkJCQkJCQk8L2xpPgoJCQkJCQkJCTw/cGhwIH0/PgoJCQkJCQkJPD9waHAKfQp9CiRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5yZXN0b3JlKCRfc21hcnR5X3RwbCwgMSk7Pz4KCQkJCQkJPC91bD4KCQkJCQk8L2xpPgoJCQkJPC91bD4KCQkJPC9kaXY+CgkJPC9kaXY+CQoJCTxkaXYgY2xhc3M9Im1lZ2EtbWVudS1yb3ciPgoJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+CgkJCQkJPCEtLSBzdGFydCBtZWdhIG1lbnUgLS0+CgkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLmpzLW5hdmJhci1jb2xsYXBzZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgoJCQkJCQk8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CgkJCQkJCTxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgoJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KCQkJCQkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJCQkJPC9idXR0b24+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9Im1lZ2EtbWVudSI+CgkJCQkJPG5hdiBjbGFzcz0ibmF2YmFyIj4KCQkJCQkJPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIGpzLW5hdmJhci1jb2xsYXBzZSI+CgkJCQkJCQk8dWwgY2xhc3M9Im5hdmJhci1uYXYiPgoJCQkJCQkJCTw/cGhwCiRfZnJvbSA9ICRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5pbml0KCRfc21hcnR5X3RwbCwgQ29yZV9TZWN0aW9uczo6JHNzc1s2M10sICd2JywgZmFsc2UsICdrJyk7CmlmICgkX2Zyb20gIT09IG51bGwpIHsKZm9yZWFjaCAoJF9mcm9tIGFzICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT4gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZSkgewo/PgoJCQkJCQkJCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsnaGlkZV9tZW51J10pIHsKY29udGludWUgMTsKfT8+CgoJCQkJCQkJCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSA9PSAzOSB8fCAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID09IDQzIHx8ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT0gNDQgfHwgJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSA9PSA0NSB8fCAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID09IDQ2IHx8ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT0gMTMzIHx8ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT0gMTM0KSB7Pz4KCQkJCQkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24gbWVnYS1kcm9wZG93biI+CgkJCQkJCQkJCQkJPGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd1cmxfZnVsbCddOz8+CiIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgPjw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZVsndGl0bGUnXTs/Pgo8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CgkJCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IG1lZ2EtZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQkJCQkJCQkJCQk8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocAokX2Zyb20gPSAkX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+aW5pdCgkX3NtYXJ0eV90cGwsIENvcmVfU2VjdGlvbnM6OiRzc3NbJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZV0sICd2MycsIGZhbHNlLCAnazMnKTsKaWYgKCRfZnJvbSAhPT0gbnVsbCkgewpmb3JlYWNoICgkX2Zyb20gYXMgJF9zbWFydHlfdHBsLT50cGxfdmFyc1snazMnXS0+dmFsdWUgPT4gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndjMnXS0+dmFsdWUpIHsKPz4KCQkJCQkJCQkJCQkJCTx1bD4JCQkJCQkJCQkJCQkJCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndjMnXS0+dmFsdWVbJ3VybF9mdWxsJ107Pz4KIj48P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YzJ10tPnZhbHVlWyd0aXRsZSddOz8+CjwvYT48L2xpPgoJCQkJCQkJCQkJCQkJPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocAp9Cn0KJF9zbWFydHlfdHBsLT5zbWFydHktPmV4dC0+X2ZvcmVhY2gtPnJlc3RvcmUoJF9zbWFydHlfdHBsLCAxKTs/PgoJCQkJCQkJCQkJCQk8L2xpPgoJCQkJCQkJCQkJCTwvdWw+CQkJCQoJCQkJCQkJCQkJPC9saT4JCQkJCQkJCQkKCQkJCQkJCQkJPD9waHAgfSBlbHNlIHsgPz4KCQkJCQkJCQkJCTxsaT4KCQkJCQkJCQkJCQk8YSBjbGFzcz0iPD9waHAgaWYgKGluX2FycmF5KCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUsQ29yZV9TZWN0aW9uczo6JGFjdGl2ZV9saXN0KSkgez8+IGFjdGl2ZTw/cGhwIH0/PiIgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd1cmxfZnVsbCddOz8+CiI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd0aXRsZSddOz8+CjwvYT4KCQkJCQkJCQkJCTwvbGk+CgkJCQkJCQkJCTw/cGhwIH0/PgoJCQkJCQkJCTw/cGhwCn0KfQokX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+cmVzdG9yZSgkX3NtYXJ0eV90cGwsIDEpOz8+CgkJCQkJCQk8L3VsPgoJCQkJCQk8L2Rpdj4KCQkJCQk8L25hdj4KCQkJCTwvZGl2PgkKCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KCQoJPCEtLSAgPT09PT09PT09PT0gQ09OVEVOVCA9PT09PT09PT09PT0gLS0+Cgk8P3BocCBpZiAoQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25bJ21haW5fcGFnZSddKSB7Pz4JCQoJCTw/cGhwIGVjaG8gQ29yZV9MYXlvdXQ6OmZldGNoKCdfbWFpbi5wYWdlLnRwbCcpOz8+CgoJPD9waHAgfSBlbHNlIHsgPz4KCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPjw/cGhwIGVjaG8gQ29yZV9Cb290c3RyYXA6OiRjb250ZW50X3RleHQ7Pz4KPC9kaXY+Cgk8P3BocCB9Pz4KCgk8IS0tIEZvb3RlcgoJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cgk8Zm9vdGVyPgoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CQoJCQk8ZGl2IGNsYXNzPSJmb290ZXItdG9wIj4JCgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgkKCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CQoJCQkJCQk8ZGl2IGNsYXNzPSJuZXdzbGV0dGVyLWJsb2NrIiBpZD0ibmV3cy1zdWJzY3JpYmUtd3JhcHBlciI+CQkJCgkJCQkJCQk8ZGl2IGNsYXNzPSJqei1tc2cganotaXMtaGlkZGVuIj48L2Rpdj4KCQkJCQkJCTxmb3JtIG1ldGhvZD0icG9zdCI+CgkJCQkJCQkJPGRpdiBjbGFzcz0ibmV3c2xldHRlci1mb3JtIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0ibmV3c2xldHRlci1pbnB1dCI+CgkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSI8P3BocCBlY2hvIENvcmVfTGFuZ3VhZ2U6OmcoJ3N1YnNjcmliZV9fZm9ybV9pbnB1dCcpOz8+CiIgYXV0b2NvbXBsZXRlPSJvZmYiIHJlcXVpcmVkIC8+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBzdWJtaXQtZmllbGQgYnRuLWJsdWUiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6Zygnc3Vic2NyaWJlX19mb3JtX3N1Ym1pdCcpOz8+CjwvYnV0dG9uPgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9mb3JtPgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CQkKCQkJCQkJPHA+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCduZXdzX19zdWJzY3JpYmVfdGV4dCcpOz8+CjwvcD4KCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJmb290ZXItbWFpbiI+CgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoJCQkJCQoJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC0yIj4KCQkJCQkJPHVsPgoJCQkJCQkJPGxpIGNsYXNzPSJ0aXRsZSI+PD9waHAgZWNobyBDb3JlX1NlY3Rpb25zOjokc2VjdGlvbnNbNTZdWyd0aXRsZSddOz8+CjwvbGk+CgkJCQkJCQk8P3BocAokX2Zyb20gPSAkX3NtYXJ0eV90cGwtPnNtYXJ0eS0+ZXh0LT5fZm9yZWFjaC0+aW5pdCgkX3NtYXJ0eV90cGwsIENvcmVfU2VjdGlvbnM6OiRzc3NbNTZdLCAndicsIGZhbHNlLCAnaycpOwppZiAoJF9mcm9tICE9PSBudWxsKSB7CmZvcmVhY2ggKCRfZnJvbSBhcyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydrJ10tPnZhbHVlID0+ICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3YnXS0+dmFsdWUpIHsKPz4KCQkJCQkJCQk8bGk+PGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd1cmxfZnVsbCddOz8+CiI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd0aXRsZSddOz8+CjwvYT48L2xpPgoJCQkJCQkJPD9waHAKfQp9CiRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5yZXN0b3JlKCRfc21hcnR5X3RwbCwgMSk7Pz4gICAgICAgICAKCQkJCQkJPC91bD4KCQkJCQk8L2Rpdj4KCgkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTMiPgoJCQkJCQk8IS0tCgkJCQkJCTx1bD4KCQkJCQkJCTxsaSBjbGFzcz0idGl0bGUiPjw/cGhwIGVjaG8gQ29yZV9MYW5ndWFnZTo6ZygnZ2xvYmFsX19jYXRlZ29yaWVzJyk7Pz4KPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwCiRfZnJvbSA9ICRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5pbml0KCRfc21hcnR5X3RwbCwgQ29yZV9TZWN0aW9uczo6JHNzc1s2M10sICd2JywgZmFsc2UsICdrJyk7CmlmICgkX2Zyb20gIT09IG51bGwpIHsKZm9yZWFjaCAoJF9mcm9tIGFzICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ2snXS0+dmFsdWUgPT4gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sndiddLT52YWx1ZSkgewo/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmICghaW5fYXJyYXkoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snayddLT52YWx1ZSxhcnJheSgzNywzOCkpKSB7Pz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd1cmxfZnVsbCddOz8+CiI+PD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWyd2J10tPnZhbHVlWyd0aXRsZSddOz8+CjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIH0/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAKfQp9CiRfc21hcnR5X3RwbC0+c21hcnR5LT5leHQtPl9mb3JlYWNoLT5yZXN0b3JlKCRfc21hcnR5X3RwbCwgMSk7Pz4KCQkJCQkJPC91bD4KCQkJCQkJLS0+CgkJCQkJPC9kaXY+CgoJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KCQkJCQkJPHVsPgoJCQkJCQkJPGxpIGNsYXNzPSJ0aXRsZSI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdnbG9iYWxfX3NvY2lhbCcpOz8+CjwvbGk+CgkJCQkJCTwvdWw+CgkJCQkJCTxkaXYgY2xhc3M9InNvY2lhbCI+CgkJCQkJCQk8P3BocCAkX3NtYXJ0eV90cGwtPl9hc3NpZ25JblNjb3BlKCdzb2MnLCBDb3JlX1NldHRpbmdzOjpnZXQoJ3NvY19mYWNlYm9vaycsZmFsc2UpKTs/PgoJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NvYyddLT52YWx1ZSkgez8+PGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWU7Pz4KIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImZiIj48aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+PD9waHAgfT8+CgkJCQkJCQk8P3BocCAkX3NtYXJ0eV90cGwtPl9hc3NpZ25JblNjb3BlKCdzb2MnLCBDb3JlX1NldHRpbmdzOjpnZXQoJ3NvY19pbnN0YWdyYW0nLGZhbHNlKSk7Pz4KCQkJCQkJCTw/cGhwIGlmICgkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWUpIHs/PjxhIGhyZWY9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc29jJ10tPnZhbHVlOz8+CiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJpbnN0Ij48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+PC9hPjw/cGhwIH0/PgoJCQkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnc29jJywgQ29yZV9TZXR0aW5nczo6Z2V0KCdzb2NfeW91dHViZScsZmFsc2UpKTs/PgoJCQkJCQkJPD9waHAgaWYgKCRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NvYyddLT52YWx1ZSkgez8+PGEgaHJlZj0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydzb2MnXS0+dmFsdWU7Pz4KIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InlvdXQiPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPjw/cGhwIH0/PgoJCQkJCQkJPD9waHAgJF9zbWFydHlfdHBsLT5fYXNzaWduSW5TY29wZSgnc29jJywgQ29yZV9TZXR0aW5nczo6Z2V0KCdzb2NfcGludGVyZXN0JyxmYWxzZSkpOz8+CgkJCQkJCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1snc29jJ10tPnZhbHVlKSB7Pz48YSBocmVmPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ3NvYyddLT52YWx1ZTs/PgoiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icGludCI+PGkgY2xhc3M9ImZhIGZhLXBpbnRlcmVzdCI+PC9pPjwvYT48P3BocCB9Pz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CQoJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KCQkJCQkJPHVsPgoJCQkJCQkJPGxpIGNsYXNzPSJ0aXRsZSI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdnbG9iYWxfX3BheW1lbnRfc3lzdGVtcycpOz8+CjwvbGk+CgkJCQkJCTwvdWw+CgkJCQkJCTxkaXYgY2xhc3M9InBheS1tZXRob2RzIj4KCQkJCQkJCTxhIGhyZWY9IiMiPjxpbWcgc3JjPSI8P3BocCBlY2hvIFBBVEhfSU1BR0VTOz8+CnZpc2FfbWFzdGVyY2FyZF9iaWcucG5nIiBhbHQ9IiI+PC9hPgoJCQkJCQkJPGEgaHJlZj0iIyI+PGltZyBzcmM9Ijw/cGhwIGVjaG8gUEFUSF9JTUFHRVM7Pz4KY2FydC1wYXlwYWwucG5nIiBhbHQ9IiIgc3R5bGU9IndpZHRoOiA4MnB4OyI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CQoJCQkJPC9kaXY+CQoJCQk8L2Rpdj4JCgkJCTxkaXYgY2xhc3M9InJvdyBmb290ZXItYm90dG9tIj4JCgkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgdGV4dC1jZW50ZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImNvcHlyaWdodCI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdnbG9iYWxfX2NvcHlyaWdodHMnKTs/PgogPGEgaHJlZj0iPD9waHAgZWNobyBDb3JlX1NlY3Rpb25zOjokc2VjdGlvbnNbMTI2XVsndXJsX2Z1bGwnXTs/PgoiPjw/cGhwIGVjaG8gQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25zWzEyNl1bJ3RpdGxlJ107Pz4KPC9hPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9mb290ZXI+CgoJPGRpdiBpZD0iaXRlbV9hdmlhYmxlX2Jsb2NrIiBzdHlsZT0iZGlzcGxheTpub25lO3dpZHRoOjUwMHB4OyI+CgkJPGRpdiBzdHlsZT0iZm9udC1zaXplOjI0cHg7IHBhZGRpbmc6IDIwcHggMHB4OyI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdvcmRlcnNfX2F2aWFibGVfYmxvY2tfdGl0bGUnKTs/Pgo8L2Rpdj4KCQk8cD4KICAgICAgICAgICAgPD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdvcmRlcnNfX2F2aWFibGVfYmxvY2tfdGV4dCcpOz8+CgoJCTwvcD4KCQk8cD4KCQkJPGEgY2xhc3M9ImJ0biBidG4teHMgYnRuLWJsdWUiIGhyZWY9ImphdmFzY3JpcHQ6JC5mYW5jeWJveC5jbG9zZSgpOyI+PD9waHAgZWNobyBDb3JlX0xhbmd1YWdlOjpnKCdvcmRlcnNfX2F2aWFibGVfYmxvY2tfY29udGludWUnKTs/Pgo8L2E+CgkJPC9wPgoJPC9kaXY+CgoJPGRpdiBjbGFzcz0ic21hcnQtY2FydCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48P3BocCBlY2hvIENvcmVfTGF5b3V0OjpmZXRjaCgnY2FydC5zbWFydC50cGwnKTs/Pgo8L2Rpdj4KCgk8P3BocCBpZiAoIVdiX0dlbzo6aXNTZXQoKSkgez8+CgkJPD9waHAgZWNobyBXYl9HZW86OmNvdW50cnlNZW51KCk7Pz4KCgk8P3BocCB9IGVsc2UgeyA/PgoJCTw/cGhwICRfc21hcnR5X3RwbC0+X2Fzc2lnbkluU2NvcGUoJ3BvcHVwQmFubmVyJywgQmFubmVyczo6cG9wdXAoQ29yZV9TZWN0aW9uczo6JHNlY3Rpb25bJ2lkJ10pKTs/PgoKCQk8P3BocCBpZiAoJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncG9wdXBCYW5uZXInXS0+dmFsdWUpIHs/PgkJCgkJCTw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1sncG9wdXBCYW5uZXInXS0+dmFsdWU7Pz4KCgkJPD9waHAgfT8+Cgk8P3BocCB9Pz4KCgk8P3BocCBlY2hvIENvcmVfTGF5b3V0OjpmZXRjaCgnY29va2llLmh0bWwudHBsJyk7Pz4KCgoJPCEtLSBwcmVsb2FkIC0tPgoJPGltZyBjbGFzcz0ianotaXMtaGlkZGVuIiBzcmM9Ijw/cGhwIGVjaG8gJF9zbWFydHlfdHBsLT50cGxfdmFyc1snUEFUSF9JTUFHRVMnXS0+dmFsdWU7Pz4KYWpheC1sb2FkZXIuZ2lmIiAvPgoJCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9qcXVlcnkuMS4xMS4xLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9ib290c3RyYXAvanMvYm9vdHN0cmFwLmpzJyk7Pz4KCgkJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9mYW5jeWJveC9qcXVlcnkuaXNvdG9wZS5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvZmFuY3lib3gvY3VzdG9tLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnVGhpcmRQYXJ0eS9pb24ucmFuZ2VTbGlkZXItMi4zLjEvanMvaW9uLnJhbmdlU2xpZGVyLm1pbi5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ1RoaXJkUGFydHkvanF1ZXJ5Lmxhenlsb2FkLm1pbi5qcycpOz8+CgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6aHRtbEpzKCk7Pz4KCgoJPCEtLSBjYXJvdXNlbCAtLT4KCTw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/PgogdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc2xpY2stY2Fyb3VzZWxAMS44LjEvc2xpY2svc2xpY2subWluLmpzIj48P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCgk8IS0tIGNvb2tpZS5qcyAtLT4KCTw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/Pgogc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnktY29va2llLzEuNC4xL2pxdWVyeS5jb29raWUubWluLmpzIj48P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCgk8P3BocCBlY2hvICc8c2NyaXB0JzsgPz4KIHNyYz0iPD9waHAgZWNobyAkX3NtYXJ0eV90cGwtPnRwbF92YXJzWydQQVRIX1NJVEUnXS0+dmFsdWU7Pz4KZW5naW5lL2pzL0V2ZW50LmpzIj48P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCTw/cGhwIGVjaG8gJzxzY3JpcHQnOyA/Pgogc3JjPSI8P3BocCBlY2hvICRfc21hcnR5X3RwbC0+dHBsX3ZhcnNbJ1BBVEhfU0lURSddLT52YWx1ZTs/PgplbmdpbmUvanMvTWFnbmlmaWVyLmpzIj48P3BocCBlY2hvICc8L3NjcmlwdCc7ID8+Cj4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvbWFpbi5mdW5jdGlvbnMuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9tYWluLmdsb2JhbC5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2pzL21haW4uY29va2llcy5qcycpOz8+CgoJPD9waHAgZWNobyBDb3JlX0VtYmVkOjphZGQoJ2pzL3BvcHVwLmhhbmRsZXIuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9jYXRhbG9nLmNhcnQuanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9jYXRhbG9nLndpc2hsaXN0LmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvY2F0YWxvZy5zZWFyY2guanMnKTs/PgoKCTw/cGhwIGVjaG8gQ29yZV9FbWJlZDo6YWRkKCdqcy9jYXRhbG9nLnBhZ2VzLmpzJyk7Pz4KCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6OmFkZCgnanMvdXNlci5zdWJzY3JpYmUuanMnKTs/PgoKCgk8P3BocCBlY2hvIENvcmVfRW1iZWQ6Omh0bWxKcygpOz8+Cgo8L2JvZHk+CjwvaHRtbD4KPD9waHAgfQp9CgogICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgWzJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3N5c3BsdWdpbnMvc21hcnR5X3RlbXBsYXRlX2NvbXBpbGVkLnBocAogICAgICAgICAgICAgICAgICAgIFtsaW5lXSA9PiAxNDEKICAgICAgICAgICAgICAgICAgICBbZnVuY3Rpb25dID0+IGNvbXBpbGVUZW1wbGF0ZVNvdXJjZQogICAgICAgICAgICAgICAgICAgIFtjbGFzc10gPT4gU21hcnR5X1RlbXBsYXRlX0NvbXBpbGVkCiAgICAgICAgICAgICAgICAgICAgW3R5cGVdID0+IC0+CiAgICAgICAgICAgICAgICAgICAgW2FyZ3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX29ialR5cGVdID0+IDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvX2xpdGVyYWxdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdGVtcGxhdGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF9jb25maWdfZGlyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3BsdWdpbl9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZURpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X2FtYmlndW91c19yZXNvdXJjZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpdGVyYWxzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X2NsYXNzXSA9PiBTbWFydHlfU2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X3BocF90ZW1wbGF0ZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHlfZGVidWdfaWRdID0+IFNNQVJUWV9ERUJVRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfb3ZlcndyaXRlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfbG9ja2luZ10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3Jlc291cmNlX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbW9kaWZpZWRfY2hlY2tdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY3VycmVudF9maWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcjpwcm90ZWN0ZWRdID0+IC4vY2FjaGUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiByZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiBfZGlyX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNl0gPT4gaW5oZXJpdGFuY2VfbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc01hcDpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcl0gPT4gQ29uZmlnRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcl0gPT4gQ2FjaGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV9oYW5kbGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvZGVGcmFtZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfQ29kZUZyYW1lIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTG9hZFBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy9tb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfd3JpdGVGaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlXSA9PiBTbWFydHlfVGVtcGxhdGVfU291cmNlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1aWRdID0+IDBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXBhdGhdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbWVzdGFtcF0gPT4gMTc0MTg3Mjg5MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleGlzdHNdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmFzZW5hbWVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlcl0gPT4gU21hcnR5X0ludGVybmFsX1Jlc291cmNlX0ZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHldID0+IFNtYXJ0eSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3VuYXNzaWduZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX3RlbXBsYXRlX2Rpcl0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfdGVtcGxhdGVfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbXBpbGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY29tcGlsZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRfZGVsaW1pdGVyXSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X3BvbGljeV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdfdHBsXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfYm9vbGVhbml6ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbG9ja2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9wbHVnaW5zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfb2JqZWN0c10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NsYXNzZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2FjaGVfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9sb2FkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9tb2RpZmllcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXNjYXBlX2h0bWxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BhcnNlcmRlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRDb25maWdEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyOnByb3RlY3RlZF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYnNvbGV0ZVByb3BlcnRpZXM6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IHRlbXBsYXRlX3Jlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzRdID0+IF9maWxlX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbN10gPT4gcmVzb3VyY2VfY2FjaGVfbW9kZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBQbHVnaW5zRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxGdW5jdGlvbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0NvbmZpZ1ZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmVhbVZhcmlhYmxlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDb25maWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9TbWFydHlUZW1wbGF0ZUNvbXBpbGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2xleGVyX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGVsZXhlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9wYXJzZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZXBhcnNlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luaGVyaXRhbmNlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX3Jlc291cmNlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVzdENvbXBpbGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVJZF0gPT4gLyNmaWxlOi9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsIyMjMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NvcGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmVuZGVyaW5nQ2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRSZW5kZXJDYWxsYmFja3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5kUmVuZGVyQ2FsbGJhY2tzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9jaGVja10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NDUklQVF9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gL2VuZ2luZS9pbmRleC5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvX2xpdGVyYWxdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdGVtcGxhdGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF9jb25maWdfZGlyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3BsdWdpbl9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZURpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X2FtYmlndW91c19yZXNvdXJjZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpdGVyYWxzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X2NsYXNzXSA9PiBTbWFydHlfU2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X3BocF90ZW1wbGF0ZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHlfZGVidWdfaWRdID0+IFNNQVJUWV9ERUJVRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfb3ZlcndyaXRlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfbG9ja2luZ10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3Jlc291cmNlX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbW9kaWZpZWRfY2hlY2tdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY3VycmVudF9maWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcjpwcm90ZWN0ZWRdID0+IC4vY2FjaGUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiByZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiBfZGlyX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNl0gPT4gaW5oZXJpdGFuY2VfbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc01hcDpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcl0gPT4gQ29uZmlnRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcl0gPT4gQ2FjaGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV9oYW5kbGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvZGVGcmFtZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfQ29kZUZyYW1lIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTG9hZFBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy9tb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfd3JpdGVGaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ialR5cGVdID0+IDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtBdXRvbG9hZEZpbHRlcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlYnVnVGVtcGxhdGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUZW1wbGF0ZVZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWRQcm9wZXJ0aWVzOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldFRlbXBsYXRlVmFyc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9HZXRUZW1wbGF0ZVZhcnMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlZF0gPT4gU21hcnR5X1RlbXBsYXRlX0NvbXBpbGVkIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlX2hhc2hdID0+IDEyOTcyNzAyNDk2ODdkM2ZiOTUwODNhNl8zNjg3NDAzMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlcGF0aF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLzBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWRfMC5maWxlLl9nbG9iYWwudHBsLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aW1lc3RhbXBdID0+IDE3NTMwMzg3NzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXhpc3RzXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9jZXNzZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmlmdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzX25vY2FjaGVfY29kZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVfZGVwZW5kZW5jeV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IDE3NDE4NzI4OTMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5jbHVkZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICApCgogICAgICAgICAgICBbM10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvc3lzcGx1Z2lucy9zbWFydHlfdGVtcGxhdGVfY29tcGlsZWQucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDEwNQogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gcHJvY2VzcwogICAgICAgICAgICAgICAgICAgIFtjbGFzc10gPT4gU21hcnR5X1RlbXBsYXRlX0NvbXBpbGVkCiAgICAgICAgICAgICAgICAgICAgW3R5cGVdID0+IC0+CiAgICAgICAgICAgICAgICAgICAgW2FyZ3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX29ialR5cGVdID0+IDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvX2xpdGVyYWxdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdGVtcGxhdGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF9jb25maWdfZGlyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3BsdWdpbl9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZURpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X2FtYmlndW91c19yZXNvdXJjZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpdGVyYWxzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X2NsYXNzXSA9PiBTbWFydHlfU2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X3BocF90ZW1wbGF0ZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHlfZGVidWdfaWRdID0+IFNNQVJUWV9ERUJVRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfb3ZlcndyaXRlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfbG9ja2luZ10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3Jlc291cmNlX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbW9kaWZpZWRfY2hlY2tdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY3VycmVudF9maWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcjpwcm90ZWN0ZWRdID0+IC4vY2FjaGUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiByZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiBfZGlyX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNl0gPT4gaW5oZXJpdGFuY2VfbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc01hcDpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcl0gPT4gQ29uZmlnRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcl0gPT4gQ2FjaGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV9oYW5kbGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvZGVGcmFtZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfQ29kZUZyYW1lIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTG9hZFBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy9tb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfd3JpdGVGaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc291cmNlXSA9PiBTbWFydHlfVGVtcGxhdGVfU291cmNlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1aWRdID0+IDBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXBhdGhdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbWVzdGFtcF0gPT4gMTc0MTg3Mjg5MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleGlzdHNdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmFzZW5hbWVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlcl0gPT4gU21hcnR5X0ludGVybmFsX1Jlc291cmNlX0ZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHldID0+IFNtYXJ0eSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3VuYXNzaWduZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX3RlbXBsYXRlX2Rpcl0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfdGVtcGxhdGVfaGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbXBpbGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY29tcGlsZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRfZGVsaW1pdGVyXSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X3BvbGljeV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdnaW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWdfdHBsXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfYm9vbGVhbml6ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbG9ja2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9wbHVnaW5zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfb2JqZWN0c10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NsYXNzZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2FjaGVfcmVzb3VyY2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9sb2FkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9tb2RpZmllcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXNjYXBlX2h0bWxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BhcnNlcmRlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRDb25maWdEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyOnByb3RlY3RlZF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYnNvbGV0ZVByb3BlcnRpZXM6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IHRlbXBsYXRlX3Jlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzRdID0+IF9maWxlX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbN10gPT4gcmVzb3VyY2VfY2FjaGVfbW9kZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBQbHVnaW5zRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxGdW5jdGlvbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0NvbmZpZ1ZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmVhbVZhcmlhYmxlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIudXJsZGVjb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDb25maWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9TbWFydHlUZW1wbGF0ZUNvbXBpbGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2xleGVyX2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGVsZXhlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9wYXJzZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZXBhcnNlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luaGVyaXRhbmNlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX3Jlc291cmNlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVzdENvbXBpbGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVJZF0gPT4gLyNmaWxlOi9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsIyMjMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NvcGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmVuZGVyaW5nQ2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRSZW5kZXJDYWxsYmFja3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5kUmVuZGVyQ2FsbGJhY2tzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9jaGVja10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NDUklQVF9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gL2VuZ2luZS9pbmRleC5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvX2xpdGVyYWxdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9pbmNsdWRlX3BhdGhdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfdGVtcGxhdGVEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb25maWdEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF9jb25maWdfZGlyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X2NvbmZpZ19oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3BsdWdpbl9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3BsdWdpbnNEaXJOb3JtYWxpemVkXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZURpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZV9zdWJfZGlyc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X2FtYmlndW91c19yZXNvdXJjZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVuZHNfcmVjdXJzaW9uXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRfZGVsaW1pdGVyXSA9PiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpdGVyYWxzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlY3VyaXR5X2NsYXNzXSA9PiBTbWFydHlfU2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGhwX2hhbmRsaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93X3BocF90ZW1wbGF0ZXNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmdfY3RybF0gPT4gTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzbWFydHlfZGVidWdfaWRdID0+IFNNQVJUWV9ERUJVRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl9yZXBvcnRpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfb3ZlcndyaXRlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19yZWFkX2hpZGRlbl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfbG9ja2luZ10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja2luZ190aW1lb3V0XSA9PiAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3Jlc291cmNlX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbW9kaWZpZWRfY2hlY2tdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0X3RpbWVdID0+IDE3NTMwMzg3NzcuMjU2OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY3VycmVudF9maWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkVGVtcGxhdGVEaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC4vY29uZmlncy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcjpwcm90ZWN0ZWRdID0+IC4vY2FjaGUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiByZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGRpcmVjdF9hY2Nlc3Nfc2VjdXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiBfZGlyX3Blcm1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XSA9PiBwbHVnaW5fc2VhcmNoX29yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNl0gPT4gaW5oZXJpdGFuY2VfbWVyZ2VfY29tcGlsZWRfaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc01hcDpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXJdID0+IFRlbXBsYXRlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcl0gPT4gQ29uZmlnRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcl0gPT4gQ29tcGlsZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2Rpcl0gPT4gQ2FjaGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2lkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xpZmV0aW1lXSA9PiAzNjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV9oYW5kbGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDb21waWxlZEhhbmRsZXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9DU1NdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9pbWFnZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfVEhJUkRfUEFSVFldID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aF9zaXRlX2NsZWFyXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ192YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dF0gPT4gU21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9wZXJ0eV9pbmZvOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdE1vZGlmaWVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUmVnaXN0ZXJlZE9iamVjdF0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGl0ZXJhbHNdID0+IExpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5yZWdpc3RlclBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9VbnJlZ2lzdGVyUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvZGVGcmFtZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfQ29kZUZyYW1lIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRQbHVnaW5dID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTG9hZFBsdWdpbiBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy9tb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaHRtbHNwZWNpYWxjaGFycy5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5zdHJ0b3VwcGVyLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfd3JpdGVGaWxlXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Xcml0ZUZpbGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ialR5cGVdID0+IDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtBdXRvbG9hZEZpbHRlcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlYnVnVGVtcGxhdGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUZW1wbGF0ZVZhcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWRQcm9wZXJ0aWVzOlNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlcjpwcml2YXRlXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dldFRlbXBsYXRlVmFyc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9HZXRUZW1wbGF0ZVZhcnMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlZF0gPT4gU21hcnR5X1RlbXBsYXRlX0NvbXBpbGVkIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlX2hhc2hdID0+IDEyOTcyNzAyNDk2ODdkM2ZiOTUwODNhNl8zNjg3NDAzMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlcGF0aF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2ZpbGVzL2NvbXBpbGVkVGVtcGxhdGVzLzBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWRfMC5maWxlLl9nbG9iYWwudHBsLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aW1lc3RhbXBdID0+IDE3NTMwMzg3NzUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXhpc3RzXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9jZXNzZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmlmdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzX25vY2FjaGVfY29kZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVfZGVwZW5kZW5jeV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBhNTMwNmU4MzhkNzJiY2FhYzVmNWE4MGZlMzBlNjcxYzRjZjc3NWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IDE3NDE4NzI4OTMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5jbHVkZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICApCgogICAgICAgICAgICBbNF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvc3lzcGx1Z2lucy9zbWFydHlfaW50ZXJuYWxfdGVtcGxhdGUucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDIwNgogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gcmVuZGVyCiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXSA9PiBTbWFydHlfVGVtcGxhdGVfQ29tcGlsZWQKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gLT4KICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5XSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdID0+IFNtYXJ0eV9UZW1wbGF0ZV9Tb3VyY2UgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VpZF0gPT4gMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlcGF0aF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGltZXN0YW1wXSA9PiAxNzQxODcyODkzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4aXN0c10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiYXNlbmFtZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudHNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVyXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b19saXRlcmFsXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3RlbXBsYXRlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfY29uZmlnX2Rpcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9wbHVnaW5faGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19hbWJpZ3VvdXNfcmVzb3VyY2VzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXRlcmFsc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9jbGFzc10gPT4gU21hcnR5X1NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19waHBfdGVtcGxhdGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5X2RlYnVnX2lkXSA9PiBTTUFSVFlfREVCVUcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX292ZXJ3cml0ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2xvY2tpbmddID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9yZXNvdXJjZV90eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX21vZGlmaWVkX2NoZWNrXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2N1cnJlbnRfZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2RlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXI6cHJvdGVjdGVkXSA9PiAuL2NhY2hlLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbM10gPT4gX2Rpcl9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzZdID0+IGluaGVyaXRhbmNlX21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NNYXA6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXJdID0+IENvbmZpZ0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXJdID0+IENhY2hlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VfaGFuZGxlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb2RlRnJhbWVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX0NvZGVGcmFtZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xvYWRQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3dyaXRlRmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfV3JpdGVGaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NvbmZpZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlcl9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1NtYXJ0eVRlbXBsYXRlQ29tcGlsZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfbGV4ZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZWxleGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX3BhcnNlcl9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlcGFyc2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5oZXJpdGFuY2VdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfcmVzb3VyY2VdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdXN0Q29tcGlsZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUlkXSA9PiAvI2ZpbGU6L2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwjIyMwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY29wZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNSZW5kZXJpbmdDYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydFJlbmRlckNhbGxiYWNrc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmRSZW5kZXJDYWxsYmFja3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0NSSVBUX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAvZW5naW5lL2luZGV4LnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0VGVtcGxhdGVWYXJzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0dldFRlbXBsYXRlVmFycyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gNwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVkXSA9PiBTbWFydHlfVGVtcGxhdGVfQ29tcGlsZWQgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVfaGFzaF0gPT4gMTI5NzI3MDI0OTY4N2QzZmI5NTA4M2E2XzM2ODc0MDMwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVwYXRoXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZF8wLmZpbGUuX2dsb2JhbC50cGwucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbWVzdGFtcF0gPT4gMTc1MzAzODc3NQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleGlzdHNdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb2Nlc3NlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuaWZ1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNfbm9jYWNoZV9jb2RlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV9kZXBlbmRlbmN5XSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gMTc0MTg3Mjg5MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgIFs1XSA9PiBBcnJheQogICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9zeXNwbHVnaW5zL3NtYXJ0eV9pbnRlcm5hbF90ZW1wbGF0ZWJhc2UucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDIzMgogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gcmVuZGVyCiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXSA9PiBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gLT4KICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgIFs2XSA9PiBBcnJheQogICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9zeXNwbHVnaW5zL3NtYXJ0eV9pbnRlcm5hbF90ZW1wbGF0ZWJhc2UucGhwCiAgICAgICAgICAgICAgICAgICAgW2xpbmVdID0+IDEzNAogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gX2V4ZWN1dGUKICAgICAgICAgICAgICAgICAgICBbY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZUJhc2UKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gLT4KICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfb2JqVHlwZV0gPT4gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5XSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdID0+IFNtYXJ0eV9UZW1wbGF0ZV9Tb3VyY2UgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VpZF0gPT4gMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlcGF0aF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGltZXN0YW1wXSA9PiAxNzQxODcyODkzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4aXN0c10gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiYXNlbmFtZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudHNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVyXSA9PiBTbWFydHlfSW50ZXJuYWxfUmVzb3VyY2VfRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlY29tcGlsZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV0gPT4gU21hcnR5IE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b19saXRlcmFsXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JfdW5hc3NpZ25lZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3RlbXBsYXRlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfdGVtcGxhdGVfZGlyXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19qb2luZWRfY29uZmlnX2Rpcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF90ZW1wbGF0ZV9oYW5kbGVyX2Z1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9wbHVnaW5faGFuZGxlcl9mdW5jXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29tcGlsZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVEaXJOb3JtYWxpemVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jb21waWxlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19hbWJpZ3VvdXNfcmVzb3VyY2VzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttZXJnZV9jb21waWxlZF9pbmNsdWRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZV9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdF9kZWxpbWl0ZXJdID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXRlcmFsc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9jbGFzc10gPT4gU21hcnR5X1NlY3VyaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfcG9saWN5XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd19waHBfdGVtcGxhdGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z2dpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc21hcnR5X2RlYnVnX2lkXSA9PiBTTUFSVFlfREVCVUcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z190cGxdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX292ZXJ3cml0ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19ib29sZWFuaXplXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2xvY2tpbmddID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9sb2NraW5nXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9yZXNvdXJjZV90eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ190eXBlXSA9PiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX21vZGlmaWVkX2NoZWNrXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3BsdWdpbnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9vYmplY3RzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfY2xhc3Nlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2ZpbHRlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jYWNoZV9yZXNvdXJjZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2xvYWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X21vZGlmaWVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlc2NhcGVfaHRtbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2N1cnJlbnRfZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGFyc2VyZGVidWddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2RlYnVnXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb2Nlc3NlZENvbmZpZ0Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9kaXI6cHJvdGVjdGVkXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXI6cHJvdGVjdGVkXSA9PiAuL2NhY2hlLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29ic29sZXRlUHJvcGVydGllczpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gdGVtcGxhdGVfcmVzb3VyY2VfY2FjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbM10gPT4gX2Rpcl9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNF0gPT4gX2ZpbGVfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzZdID0+IGluaGVyaXRhbmNlX21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs3XSA9PiByZXNvdXJjZV9jYWNoZV9tb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NNYXA6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXJdID0+IENvbmZpZ0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IFBsdWdpbnNEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9kaXJdID0+IENhY2hlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGluZ10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbEZ1bmN0aW9uc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY2FjaGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzb3VyY2VfaGFuZGxlcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5jb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFzQ29tcGlsZWRIYW5kbGVyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5fZmlsZXNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVfRlVMTF0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jc3MvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSlNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvanMvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfSU1BR0VTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL1RoaXJkUGFydHkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1NJVEVfTkFNRV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gdmVyc3VwYWNrc3RvcmUuY29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyX3BvcHVwX2FjdGl2ZV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9ydS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ29uZmlnVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU3RyZWFtVmFyaWFibGVdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb2RlRnJhbWVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX0NvZGVGcmFtZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZXRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkTGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xvYWRQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNfZGlyXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS92ZW5kb3Ivc21hcnR5L3NtYXJ0eS9saWJzL3BsdWdpbnMvbW9kaWZpZXJjb21waWxlci5zdHJpcF90YWdzLnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLmltcGxvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci51cmxkZWNvZGUucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3dyaXRlRmlsZV0gPT4gU21hcnR5X0ludGVybmFsX1J1bnRpbWVfV3JpdGVGaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NvbmZpZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlcl9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1NtYXJ0eVRlbXBsYXRlQ29tcGlsZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfbGV4ZXJfY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZWxleGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX3BhcnNlcl9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlcGFyc2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5oZXJpdGFuY2VdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVfcmVzb3VyY2VdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdXN0Q29tcGlsZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUlkXSA9PiAvI2ZpbGU6L2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS90ZW1wbGF0ZXMvX2dsb2JhbC50cGwjIyMwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY29wZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNSZW5kZXJpbmdDYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydFJlbmRlckNhbGxiYWNrc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmRSZW5kZXJDYWxsYmFja3NdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2NoZWNrXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9saWZldGltZV0gPT4gMzYwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cGxfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0NSSVBUX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiAvZW5naW5lL2luZGV4LnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX1NJVEVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1BBVEhfU0lURV9GVUxMXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvY3NzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0pTXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9qcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9JTUFHRVNdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS9UaGlyZFBhcnR5LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTSVRFX05BTUVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiB2ZXJzdXBhY2tzdG9yZS5jb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub2NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJfcG9wdXBfYWN0aXZlXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vcnUvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiBTbWFydHkgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9fbGl0ZXJhbF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcl91bmFzc2lnbmVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX2luY2x1ZGVfcGF0aF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW190ZW1wbGF0ZURpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2pvaW5lZF90ZW1wbGF0ZV9kaXJdID0+IC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NvbmZpZ0Rpck5vcm1hbGl6ZWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfam9pbmVkX2NvbmZpZ19kaXJdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0X3RlbXBsYXRlX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfY29uZmlnX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcGx1Z2luX2hhbmRsZXJfZnVuY10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jb21waWxlRGlyTm9ybWFsaXplZF0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcGx1Z2luc0Rpck5vcm1hbGl6ZWRdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX2NhY2hlRGlyTm9ybWFsaXplZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlX2NvbXBpbGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlX3N1Yl9kaXJzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfYW1iaWd1b3VzX3Jlc291cmNlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21lcmdlX2NvbXBpbGVkX2luY2x1ZGVzXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZW5kc19yZWN1cnNpb25dID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VfY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0X2RlbGltaXRlcl0gPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodF9kZWxpbWl0ZXJdID0+IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGl0ZXJhbHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VjdXJpdHlfY2xhc3NdID0+IFNtYXJ0eV9TZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWN1cml0eV9wb2xpY3ldID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaHBfaGFuZGxpbmddID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dfcGhwX3RlbXBsYXRlc10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnZ2luZ19jdHJsXSA9PiBOT05FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NtYXJ0eV9kZWJ1Z19pZF0gPT4gU01BUlRZX0RFQlVHCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnX3RwbF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yX3JlcG9ydGluZ10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19vdmVyd3JpdGVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX2Jvb2xlYW5pemVdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3JlYWRfaGlkZGVuXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9sb2NraW5nXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlX2xvY2tpbmddID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NraW5nX3RpbWVvdXRdID0+IDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfcmVzb3VyY2VfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nX3R5cGVdID0+IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF9jb25maWdfdHlwZV0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9tb2RpZmllZF9jaGVja10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfcGx1Z2luc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX29iamVjdHNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVnaXN0ZXJlZF9jbGFzc2VzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlZ2lzdGVyZWRfZmlsdGVyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3RlcmVkX2NhY2hlX3Jlc291cmNlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvbG9hZF9maWx0ZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRfbW9kaWZpZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VzY2FwZV9odG1sXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRfdGltZV0gPT4gMTc1MzAzODc3Ny4yNTY5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jdXJyZW50X2ZpbGVdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wYXJzZXJkZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19vYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19kZWJ1Z10gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19wcm9jZXNzZWRUZW1wbGF0ZURpcjpwcm90ZWN0ZWRdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gLi9jb25maWdzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvY2Vzc2VkQ29uZmlnRGlyOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21waWxlX2Rpcjpwcm90ZWN0ZWRdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9maWxlcy9jb21waWxlZFRlbXBsYXRlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXI6cHJvdGVjdGVkXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL3ZlbmRvci9zbWFydHkvc21hcnR5L2xpYnMvcGx1Z2lucy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyOnByb3RlY3RlZF0gPT4gLi9jYWNoZS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2Jzb2xldGVQcm9wZXJ0aWVzOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IHJlc291cmNlX2NhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiB0ZW1wbGF0ZV9yZXNvdXJjZV9jYWNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZGlyZWN0X2FjY2Vzc19zZWN1cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzNdID0+IF9kaXJfcGVybXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiBfZmlsZV9wZXJtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdID0+IHBsdWdpbl9zZWFyY2hfb3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs2XSA9PiBpbmhlcml0YW5jZV9tZXJnZV9jb21waWxlZF9pbmNsdWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzddID0+IHJlc291cmNlX2NhY2hlX21vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzTWFwOnByb3RlY3RlZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlX2Rpcl0gPT4gVGVtcGxhdGVEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfZGlyXSA9PiBDb25maWdEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zX2Rpcl0gPT4gUGx1Z2luc0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfZGlyXSA9PiBDb21waWxlRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfZGlyXSA9PiBDYWNoZURpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfaWRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoaW5nXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVfY2hlY2tdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVfbGlmZXRpbWVdID0+IDM2MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHBsRnVuY3Rpb25zXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW19jYWNoZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc291cmNlX2hhbmRsZXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SZXNvdXJjZV9GaWxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmNvbXBpbGVkXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVjb21waWxlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0NvbXBpbGVkSGFuZGxlcl0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luX2ZpbGVzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV9jbGFzc10gPT4gU21hcnR5X0ludGVybmFsX1RlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RwbF92YXJzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IGh0dHBzOi8vd3d3LnZlcnN1cGFja3N0b3JlLmNvbS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9TSVRFX0ZVTExdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0NTU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2Nzcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9KU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2pzLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtQQVRIX0lNQUdFU10gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2ltYWdlcy8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFUSF9USElSRF9QQVJUWV0gPT4gU21hcnR5X1ZhcmlhYmxlIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXSA9PiBodHRwczovL3d3dy52ZXJzdXBhY2tzdG9yZS5jb20vVGhpcmRQYXJ0eS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbU0lURV9OQU1FXSA9PiBTbWFydHlfVmFyaWFibGUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdID0+IHZlcnN1cGFja3N0b3JlLmNvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWdpc3Rlcl9wb3B1cF9hY3RpdmVdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoX3NpdGVfY2xlYXJdID0+IFNtYXJ0eV9WYXJpYWJsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV0gPT4gaHR0cHM6Ly93d3cudmVyc3VwYWNrc3RvcmUuY29tL3J1LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9jYWNoZV0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnX3ZhcnNdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0XSA9PiBTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXIgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpUeXBlXSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbX3Byb3BlcnR5X2luZm86U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQXV0b2xvYWRGaWx0ZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0TW9kaWZpZXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWJ1Z1RlbXBsYXRlXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtSZWdpc3RlcmVkT2JqZWN0XSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGVtcGxhdGVWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMaXRlcmFsc10gPT4gTGl0ZXJhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkUHJvcGVydGllczpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bnJlZ2lzdGVyUGx1Z2luXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX1VucmVnaXN0ZXJQbHVnaW4gT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfY29kZUZyYW1lXSA9PiBTbWFydHlfSW50ZXJuYWxfUnVudGltZV9Db2RlRnJhbWUgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0TGl0ZXJhbHNdID0+IFNtYXJ0eV9JbnRlcm5hbF9NZXRob2RfTGl0ZXJhbHMgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqTWFwXSA9PiAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRMaXRlcmFsc10gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9MaXRlcmFscyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmpNYXBdID0+IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldExpdGVyYWxzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0xpdGVyYWxzIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9hZFBsdWdpbl0gPT4gU21hcnR5X0ludGVybmFsX01ldGhvZF9Mb2FkUGx1Z2luIE9iamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbl9maWxlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGx1Z2luc19kaXJdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnN0cmlwX3RhZ3MucGhwXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vdmVuZG9yL3NtYXJ0eS9zbWFydHkvbGlicy9wbHVnaW5zL21vZGlmaWVyY29tcGlsZXIuc3RyaXBfdGFncy5waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLmh0bWxzcGVjaWFsY2hhcnMucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllci5odG1sc3BlY2lhbGNoYXJzLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXJjb21waWxlci5pbXBsb2RlLnBocF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kaWZpZXIuaW1wbG9kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyY29tcGlsZXIuc3RydG91cHBlci5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnN0cnRvdXBwZXIucGhwXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RpZmllcmNvbXBpbGVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGlmaWVyLnVybGRlY29kZS5waHBdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW193cml0ZUZpbGVdID0+IFNtYXJ0eV9JbnRlcm5hbF9SdW50aW1lX1dyaXRlRmlsZSBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdfdmFyc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRdID0+IFNtYXJ0eV9JbnRlcm5hbF9FeHRlbnNpb25fSGFuZGxlciBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqVHlwZV0gPT4gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtfcHJvcGVydHlfaW5mbzpTbWFydHlfSW50ZXJuYWxfRXh0ZW5zaW9uX0hhbmRsZXI6cHJpdmF0ZV0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0F1dG9sb2FkRmlsdGVyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHRNb2RpZmllcnNdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtDb25maWdWYXJzXSA9PiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVidWdUZW1wbGF0ZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1JlZ2lzdGVyZWRPYmplY3RdID0+IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtTdHJlYW1WYXJpYWJsZV0gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RlbXBsYXRlVmFyc10gPT4gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xpdGVyYWxzXSA9PiBMaXRlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNvbHZlZFByb3BlcnRpZXM6U21hcnR5X0ludGVybmFsX0V4dGVuc2lvbl9IYW5kbGVyOnByaXZhdGVdID0+IEFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2V0VGVtcGxhdGVWYXJzXSA9PiBTbWFydHlfSW50ZXJuYWxfTWV0aG9kX0dldFRlbXBsYXRlVmFycyBPYmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iak1hcF0gPT4gNwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBpbGVkXSA9PiBTbWFydHlfVGVtcGxhdGVfQ29tcGlsZWQgT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vY2FjaGVfaGFzaF0gPT4gMTI5NzI3MDI0OTY4N2QzZmI5NTA4M2E2XzM2ODc0MDMwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVwYXRoXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZmlsZXMvY29tcGlsZWRUZW1wbGF0ZXMvMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZF8wLmZpbGUuX2dsb2JhbC50cGwucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbWVzdGFtcF0gPT4gMTc1MzAzODc3NQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleGlzdHNdID0+IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcGlsZV9pZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb2Nlc3NlZF0gPT4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuaWZ1bmNdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNfbm9jYWNoZV9jb2RlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV9kZXBlbmRlbmN5XSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMGE1MzA2ZTgzOGQ3MmJjYWFjNWY1YTgwZmUzMGU2NzFjNGNmNzc1ZF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL3RlbXBsYXRlcy9fZ2xvYmFsLnRwbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0gPT4gMTc0MTg3Mjg5MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gPT4gZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdID0+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NhY2hlXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszXSA9PiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XSA9PiAxCiAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICApCgogICAgICAgICAgICBbN10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jb3JlL0xheW91dC5waHAKICAgICAgICAgICAgICAgICAgICBbbGluZV0gPT4gNjMKICAgICAgICAgICAgICAgICAgICBbZnVuY3Rpb25dID0+IGRpc3BsYXkKICAgICAgICAgICAgICAgICAgICBbY2xhc3NdID0+IFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZUJhc2UKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gLT4KICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdID0+IC9ob21lL3ZlcnN1cGFjL3ZlcnN1cGFja3N0b3JlLmNvbS9lbmdpbmUvdGVtcGxhdGVzL19nbG9iYWwudHBsCiAgICAgICAgICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgICAgICApCgogICAgICAgICAgICBbOF0gPT4gQXJyYXkKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbZmlsZV0gPT4gL2hvbWUvdmVyc3VwYWMvdmVyc3VwYWNrc3RvcmUuY29tL2VuZ2luZS9jb3JlL0Jvb3RzdHJhcC5waHAKICAgICAgICAgICAgICAgICAgICBbbGluZV0gPT4gMjY4CiAgICAgICAgICAgICAgICAgICAgW2Z1bmN0aW9uXSA9PiBkaXNwbGF5CiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXSA9PiBDb3JlX0xheW91dAogICAgICAgICAgICAgICAgICAgIFt0eXBlXSA9PiA6OgogICAgICAgICAgICAgICAgICAgIFthcmdzXSA9PiBBcnJheQogICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMF0gPT4gX2dsb2JhbC50cGwKICAgICAgICAgICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgICAgICkKCiAgICAgICAgICAgIFs5XSA9PiBBcnJheQogICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2NvcmUvQm9vdHN0cmFwLnBocAogICAgICAgICAgICAgICAgICAgIFtsaW5lXSA9PiA1NgogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gbWFrZUNvbW1vbgogICAgICAgICAgICAgICAgICAgIFtjbGFzc10gPT4gQ29yZV9Cb290c3RyYXAKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gOjoKICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgKQoKICAgICAgICAgICAgWzEwXSA9PiBBcnJheQogICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgIFtmaWxlXSA9PiAvaG9tZS92ZXJzdXBhYy92ZXJzdXBhY2tzdG9yZS5jb20vZW5naW5lL2luZGV4LnBocAogICAgICAgICAgICAgICAgICAgIFtsaW5lXSA9PiAxMgogICAgICAgICAgICAgICAgICAgIFtmdW5jdGlvbl0gPT4gbWFrZQogICAgICAgICAgICAgICAgICAgIFtjbGFzc10gPT4gQ29yZV9Cb290c3RyYXAKICAgICAgICAgICAgICAgICAgICBbdHlwZV0gPT4gOjoKICAgICAgICAgICAgICAgICAgICBbYXJnc10gPT4gQXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICApCgogICAgICAgICAgICAgICAgKQoKICAgICAgICApCgogICAgW3ByZXZpb3VzOkV4Y2VwdGlvbjpwcml2YXRlXSA9PiAKKQo=