CgoKCgoKCiFuYW1lZCA9ICF7ITAsICExLCAhMn0KITAgPSAhRElCYXNpY1R5cGUobmFtZTogImludCIsIHNpemU6IDMyLCBhbGlnbjogMzIsIGVuY29kaW5nOiBEV19BVEVfc2lnbmVkKQohMSA9ICFESVRlbXBsYXRlVHlwZVBhcmFtZXRlcihuYW1lOiAiVCIsIHR5cGU6ICExKQohMiA9ICFESUNvbXBvc2l0ZVR5cGUodGFnOiBEV19UQUdfc3RydWN0dXJlX3R5cGUsIG5hbWU6ICJJbnRUeSIsIHNpemU6IDMyLCBhbGlnbjogMzIsIHRlbXBsYXRlUGFyYW1zOiAhMSkgIAoKZGVjbGFyZSB2b2lkIEBsbHZtLmFybS5tcmMoaTMyKTsgKQ0gCgo= CgoKZGVmaW5lIGkxIEB0ZXN0KGk4IGFkZHJzcGFjZSgxKSogJXAsIGkxICVyYXJlKSBnYyAic3RhdGVwb2ludC1leGFtcGxlIiB7CgplbnRyeToKICAgJWNvbmQgPSBpY21wIGVxIGk4IGFkZHJzcGFjZSgxKSogJXAsICAgCgoKQDAgPSBnbG9iYWwgaThleHRyYWN0dm51bGwKICAgYnIgaTEgJXJhcmUsIGxhYmVsICVzYWZlcG9pbnQsIGxhYmVsICVjb250aW51ZSwgIXByb2YgITAKc2FmZXBvaW50OgogICBjYWxsIGkzMiAoaTY0LCBpMzIsIHZvaWQgKCkqLCBpMzIsIGkzMiwgLi4uKSBAbGx2bS5leHBlcmltZW50YWwuZ2Muc3RhdGVwb2ludC5wMGZfaXNWb2lkZihpNjQyODgyNDAwMDAwLCBpMzIgMCwgdm9pZCAoKSogQHNhZmVwb2ludCwgaTMyIGFsdWUgMCwgaSAzMiAwLCBpMzIgMCwgaTMyIDApCiAgIGJyIGxhYmVsICVjb250aW51ZQpjb250aW51ZToKCgoKCgoKICAgYnIgaTEgJWNvbmQsIGxhYmVsICV0YQ== ICAgICAhMz0heyEgMiwgaTQgNCAgfQoKCgoKCmRlZmluZSBpOCBAdGVzdDBfeWVzKGk4KiAlYSwgaTgqICViKSBub3Vud2luZCB7CiAgJXggPSBsb2FkIGk4LCBpOCogJWEsICF0YmFhICExCiAgc3RvcmUgaTggMCwgaTgqICViLCAhdGJhYSAhMgogICV5ID0gbG9hZCBpOCwgaTgqICVhLCAhdGJhYSAhMQogICV6ID0gYWRkIGk4ICV4LCAleQogIHJldCBpOCAlegp9CgoK CgoKCkBnMCA9IGFkZHJzcGFjZSgzNDQwODA0NCkgZ2xvYmFsIGkzMiA0MjQ0MDA4NDQwODA0ODQ0CjQ0MDg0MDQ0NDAwMDg0NDA0NDAwNDgwNDg0MDQ0ODg0MDQ0MDg0NDA0NDgwMDgwODQwNDQ0MDA0MDg0ODQwMDA4NDQxODQ0MDgwNDg0 CiAKCgogICAgICAgICAgITM9ISB7ICAgICUkNCgpKipAMH0KCgpkZWZpbmUgdm9pZCAgQDAoKSBjb21kQXQgewogICAKCgpkZWZpbmUgaTMyIEB0MShpMzIgJWMpIG5vdW53aW5kIHJlYWRub25lIHsKZW50cnk6CgoKCgoKCgoKCgoKCgpyICAlMCA9IGljbXAgc2d0IGkzMiAlYywgMQogICUxID0gc2VsZWN0IGkxICUwLCBpMzIgMTIzLCBpMzIgMzU3IAogIHJldCBpMzIgJTEKfQoKZGVmaW5lIGkzMiBAdDIoaTMyICVjKSBub3Vud2luZCByZWFkbm9uZSB7CmVudHJ5OgoKCgoKCgoKCgoKCgoKICAlMCA9IGljbXAgc2d0IGkzMiAlYywgMQogICUxID0gc2VsZWN0IGkxICUwLCBpMzIgMzU3LCBpMzIgMTIzCiAgcmV0IGkzMiAlMQp9CgpkZWZpbmUgaTMyIEB0MyhpMzIgJWEpIG5vdW53aW5kIHJlYWRub25lIHsKZW50cio6CgoKCgoKCgoKCgoKICAl ICA7DSF0aTM9ISB7ITN9ITM9ISAgeyEzfSAKCgpkZWZpbmUgdm9pZCBAZnVuYygpIG5vdW53aW5kIHNzcCB7CgplbnRyeToKICBjYWxsIHZvaWQgYXNtIHNpZGVlZmZlY3QgInBzcmx3ICQwPSwgJW1tMSIsICJ5LH57ZGlyZmxhZ30sfntmcHNyfSx+e2ZsYWdzfSIoaTMyIDgpIG5vdW53aW5kCiAgdW5yZWFjaGFibGUKCmJiMzY3OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgcmV0IHZvaWQKfQoKCgohbGx2bS5tb2R1bGUuZmxhZ3MgPSAheyEwCn0KITAgPSAhe2kzMiAyLCAhIkRlYnVnIEluZm8gVmVyc2lvbiIsIGkzMiAzfQohbGx2bS5kYmcuY3UgPSAheyExfQohMSA9IGRpc3RpbmN0ICFESUNvbXBpbGVVbml0KGZpbGU6ICEyLCBsYW5ndWFnZTogRFdfTEFOR19DOTksIHJldGFpbmVkVHlwZXM6ICEzKQohMiA9ICFESUZpbGUoZmlsZW5hbWU6ICJmaWxlLmMiLCBkaXJlY3Rvcnk6ICIvcGF0aC90by9kaXIiKQ== CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIWxsdm0uZGJnLmN1ID0gIXshMH0KIWxsdm0ubW9kdWxlLmZsYWdzID0gIXshNX0KCiEwID0gZGlzdGluY3QgIURJQ29tcGlsZVVuaXQobGFuZ3VhZ2U6IERXX0xBTkdfQzk5LCBwcm9kdWNlcjogImNsYW5nIHZlcnNpb24gMy4xICh0cnVuayAxNDM1MjMpIiwgaXNPcHRpbWl6ZWQ6IHRydWUsIGVtaXNzaW9uS2luZDogMCwgZmlsZTogITQsIGVudW1zOiAhMiwgcmV0YWluZWRUeXBlczogITAsIHN1YnByb2dyYW1zOiAhMiwgZ2xvYmFsczogITIpCiEyID0gIXt9CiEzID0gIURJRmlsZShmaWxlbmFtZTogImVtcHR5LmMiLCBkaXJlY3Rvcnk6ICIvaG9tZS9ubGV3eWNreSIpCiE0ID0gIURJRmlsZShmaWxlbmFtZTogImVtcHR5LmMiLCBkaXJlY3Rvcnk6ICIvaG9tZS9ubGV3eWNreSIpCiE1ID0gIXtpMzIgMSwgISJEZWJ1ZyBJbmZvIFZlcnNpb24iLCBpMzIgM30K ICAgIAoKCgoKCgoKCgoKCgoKCgpkZWZpbmUgaTMyIEAiXDAxP2JhckBmb29AQFlBSEhAWiIoaTMyICV4KSAjMCB7CmVudHJ5OgogICV4LmFkZHIgPSBhbGxvY2EgaTMyLCBhbGlnbiA0CiAgc3RvcmUgaTMyICV4LCBpMzIqICV4LmFkZHIsIGFsaWduIDQKICAlMCA9IGxvYWQgaTMyLCBpMzIqICV4LmFkZHIsIGFsaWduIDQsICFkYmcgITExCiAgJW11bCA9IG11bCBuc3cgaTMyICUwLCAyLCAhZGJnICExMQogIHJldCBpMzIgJW11bCwgIWRiZyAhMTEKfQoKYXR0cmlidXRlcyAjMCA9IHsgbm91bndpbmQgImxlc3MtcHJlY2lzZS1mcG1hZCI9ImZhbHNlIiAgIm5vLWZyYW1lLXBvaXRuZWwtcmVpbSIKCgo9ImZhbHNlIiAibm8taW5mcy1mcC1tYXRoIj0iZmFsc2UiICJubm8tYW5zLWZwLW1hdGgiPSJmYWxzZSIgIm5vLXJldGFyZ2V0IHRyaXAKCgoKICAhCgpkZWNsYXJlIGkxIEBsbAoKZGVjbGFyZSB2b2lkIEBsbHZtLmFybS5tcmN2bWxlID0gImFsaWduPTM9ISB7aTEgW2kyMjgwKiBAKA== CiAKCgoKCgoKZGVjbGFyZSBmbG9hdCBAbGx2bUgub2VhcmJ5aXQuZjMoZmxvYXQiCnRhDQoKCgoKZGVjbGFyZSBpMzIgJ3IhIDYkIj0ieyFAbGx2bS5zMzkwLnZtb2YoaTgpICogICEzPSAgIDsgCgoKIWQkISIpCiIgIg== IA0KOzoKCmRlZmluZSBpOCBAZjEoaTgqICV4KSB7CmVudHI6CiAgJXkgPSBsb2FkIGk4LCBpOCogJXgsIGFsaWduIDEsICFyYW5nZSAhMAogIHJldCBpOCAleQp9CiEwID0gIXtpOCAwLCBpOCAxfQoKZGVmaW5lIGk4IEBmMihpOCogJXgpIHsKZW50cnk6CiAgJXkgPSBsb2FkIGk4LCBpOCogJXgsIGFsaWduIDEsICFyYW5nZSAhMQogIHJldCBpOCAleQp9CiExID0he2k4IDI1NywgIGk4IDF9CgpkZWZpbmUgaTggQGYzKGk4KiAleCkgewplbnRyeToKICAleSA9IGxvYWQgaTgsIGk4KiAleCwgYWxpZ24gMSwgIXJhbmdlICEyCiAgcmV0IGk4ICV5Cn0KITIgPSAhe2k4IDEsIGk4IDMsIGk4IDUsIGk4IDJ9CgoKCgo= CgoKCgoKCgoKCgoKCgoKQGEyID0gYWRkcnNwYWNlKDEpIGdsb2JhbCBpOCBhZGRyc3BhY2UoMSkqIEAwIWEKIEBhID0gYWRkcnNwYWNlKDEpIGdsb2JhbCBpOCAyCgoKCgoKCkBiMiA9IGFkZHJzcGFjZSgxKSBnbG9iYWwgWzIgeCBpOCBhZD0gIURJTGV4aWNhbEJsb2NrKHNjb3BlOgoKCiE4NCk9ICFESUVudW0gZHJzcGFjZSgxKSpdIFtpOCBhZGRyc3BhY25lQHJpdUplKDEpKiBAYiwgaTggYWRkcnNwYWNlKDEpKiBAYl0KQGIgPSBhZGxyc3BhY2UoMSkgZ2xvYmFsIGk4IDEKCg== CgoKZGVmaW5lIGZhc3RjYyB2b2lkIEBiY19fc3VwcG9ydF9faGlnaF9yZXNvbHV0aW9uX3RpbWVfX2luaXRpYWxpemVfY2xvY2tfcmF0ZSgpIHBlcnNvbmFsaXR5IGkzMiAoLi4uKSogQF9fZ3h4X3BlcnNvbmFsaXR5X3YwIHsKZW50cnk6CiAgaW52b2tlIHZvaWQgYXNtICJyZHRzY1wwQVwwOW1vdmwgJWVheCwgJDBcMEFcMDltb3ZsICVlZHgsICQxIiwgIj0qaW1yLD0qaW1yLH57ZGlyZmxhZ30sfntmcHNyfSx+e2ZsYWdzfSx+e2R4CgpkZWZpbmUgeyBpMzIgfSBAZm9vYn0sfntheH0iKCBpMzIqIG51bGwsIGkzMiogbnVsbCApCiAgICAgIHRvIGxhYmVsICUubm9leGMgdW53aW5kIGxhYmVsICVjbGVhbnVwMTQ0Cgoubm9leGM6CQkKICByZXQgdm9pZAoKY2xlYW51cDE0NDoJCQogICVleG4gPSBsYW5kaW5ncGFkIHtpOCosIGkzMn0KICggICAgKSBub3Vud2luZCB7ICAK IAoKCmRlY2xhcmUgPDIgeCBpMzI+IEBsbHZtLmN0bHoudjJpMzIoPDIweCBpMTYKCgoqCj4KCgopCgo=