--- http_interactions: - request: method: get uri: https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.9.9; mailto:info@front-matter.io) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: - gzip,deflate response: status: code: 200 message: OK headers: Date: - Sat, 12 Nov 2022 18:04:40 GMT Content-Type: - text/html;charset=UTF-8 Connection: - keep-alive Set-Cookie: - AWSALB=GOb306GscnwhPVYz+AR1iCY0JqqsNdAQh8h+pY2CUsSNK5lGws1U+2icO3yLvLbr9xOYy5Rp1o5hRQgD7ZDFzofFJNXjoOEyW4VAmKOVlABgm9IeEdvbRmY/y3Kt; Expires=Sat, 19 Nov 2022 18:04:39 GMT; Path=/, AWSALBCORS=GOb306GscnwhPVYz+AR1iCY0JqqsNdAQh8h+pY2CUsSNK5lGws1U+2icO3yLvLbr9xOYy5Rp1o5hRQgD7ZDFzofFJNXjoOEyW4VAmKOVlABgm9IeEdvbRmY/y3Kt; Expires=Sat, 19 Nov 2022 18:04:39 GMT; Path=/; SameSite=None; Secure, JSESSIONID=d03d9b36af463697a22ecd2e1fb1; Path=/; Secure; HttpOnly Server: - Apache Content-Security-Policy: - frame-ancestors 'none' body: encoding: ASCII-8BIT string: !binary |- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnID8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iIHhtbDpsYW5nPSJlbiI+PGhlYWQgaWQ9ImpfaWR0MTkiPjwhLS0gR2xvYmFsIHNpdGUgdGFnIChndGFnLmpzKSAtIEdvb2dsZSBBbmFseXRpY3MgLS0+CjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9VUEtNjE3NTMzMzQtMSI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgLy88IVtDREFUQVsKICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CiAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsgZ3RhZygnY29uZmlnJywgJ1VBLTYxNzUzMzM0LTEnKTsKCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBlbmFibGVBbmFseXRpY3NFdmVudENhcHR1cmUsIGZhbHNlKTsKCiAgZnVuY3Rpb24gZW5hYmxlQW5hbHl0aWNzRXZlbnRDYXB0dXJlKCkgewogICAgLy8gRG93bmxvYWQgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1kb3dubG9hZCwgLmJ0bi1kb3dubG9hZC5kcm9wZG93bi10b2dnbGUgKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gc3RyaXBTaXplKCQodGhpcykudGV4dCgpKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdEb3dubG9hZCcseydldmVudF9jYXRlZ29yeScgOiBjYXRlZ29yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIFJlcXVlc3QgQWNjZXNzIGJ1dHRvbgogICAgJChkb2N1bWVudCkub24oImNsaWNrIiwgIi5idG4tcmVxdWVzdCIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdSZXF1ZXN0IEFjY2VzcycsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIEV4cGxvcmUgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1leHBsb3JlLCAuYnRuLWV4cGxvcmUuZHJvcGRvd24tdG9nZ2xlICsgdWwuZHJvcGRvd24tbWVudSBsaSBhIiwgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjYXRlZ29yeSA9ICQodGhpcykudGV4dCgpOwogICAgICB2YXIgbGFiZWwgPSBnZXRGaWxlSWQoJCh0aGlzKSk7CiAgICAgIGd0YWcoJ2V2ZW50JywgJ0V4cGxvcmUnLCB7J2V2ZW50X2NhdGVnb3J5JyA6IGNhdGVnb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudF9sYWJlbCcgOiBsYWJlbH0pOwogICAgfSk7CgogICAgLy8gQ29tcHV0ZSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYnRuLWNvbXB1dGUsIC5idG4tY29tcHV0ZS5kcm9wZG93bi10b2dnbGUgKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gJCh0aGlzKS50ZXh0KCk7CiAgICAgIHZhciBsYWJlbCA9IGdldEZpbGVJZCgkKHRoaXMpKTsKICAgICAgZ3RhZygnZXZlbnQnLCAnQ29tcHV0ZScsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyA6IGxhYmVsfSk7CiAgICB9KTsKCiAgICAvLyBQcmV2aWV3IGJ1dHRvbgogICAgJChkb2N1bWVudCkub24oImNsaWNrIiwgIi5idG4tcHJldmlldywgLmJ0bi1wcmV2aWV3LmRyb3Bkb3duLXRvZ2dsZSArIHVsLmRyb3Bkb3duLW1lbnUgbGkgYSIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gZ2V0RmlsZUlkKCQodGhpcykpOwogICAgICBndGFnKCdldmVudCcsICdQcmV2aWV3JywgeydldmVudF9jYXRlZ29yeScgOiBjYXRlZ29yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIENpdGUgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmRvd25sb2FkQ2l0YXRpb24gKyB1bC5kcm9wZG93bi1tZW51IGxpIGEiLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGNhdGVnb3J5ID0gJCh0aGlzKS50ZXh0KCk7CiAgICAgIHZhciBsYWJlbCA9ICdVbmtub3duJzsKICAgICAgaWYoJCgnI2ZpbGVGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZmlsZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXNldEZvcm0nKS5sZW5ndGggPiAwKSB7CiAgICAgICAgbGFiZWwgPSBzdHJpcElkKCQoJyNkYXRhc2V0Rm9ybScpLmF0dHIoJ2FjdGlvbicpKTsKICAgICAgfQogICAgICBndGFnKCdldmVudCcsICdEb3dubG9hZCBDaXRhdGlvbicsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIEV4cG9ydCBNZXRhZGF0YSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYnRuLWV4cG9ydCArIHVsLmRyb3Bkb3duLW1lbnUgbGkgYSIsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY2F0ZWdvcnkgPSAkKHRoaXMpLnRleHQoKTsKICAgICAgdmFyIGxhYmVsID0gJ1Vua25vd24nOwogICAgICBpZigkKCcjZmlsZUZvcm0nKS5sZW5ndGggPiAwKSB7CiAgICAgICAgbGFiZWwgPSBzdHJpcElkKCQoJyNmaWxlRm9ybScpLmF0dHIoJ2FjdGlvbicpKTsKICAgICAgfSBlbHNlIGlmKCQoJyNkYXRhc2V0Rm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2RhdGFzZXRGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9CiAgICAgIGd0YWcoJ2V2ZW50JywgJ0V4cG9ydCBNZXRhZGF0YScsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICAgIC8vIENvbnRhY3QgYnV0dG9uCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmJ0bi1jb250YWN0IiwgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjYXRlZ29yeSA9ICQodGhpcykudGV4dCgpOwogICAgICB2YXIgbGFiZWwgPSAnVW5rbm93bic7CiAgICAgIGlmKCQoJyNmaWxlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2ZpbGVGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9IGVsc2UgaWYoJCgnI2RhdGFzZXRGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZGF0YXNldEZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXZlcnNlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwQWxpYXMoJCgnI2RhdGF2ZXJzZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0KICAgICAgZ3RhZygnZXZlbnQnLCAnQ29udGFjdCcsIHsnZXZlbnRfY2F0ZWdvcnknIDogY2F0ZWdvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyA6IGxhYmVsfSk7CiAgICB9KTsKCiAgICAvLyBTaGFyZSBidXR0b24KICAgICQoZG9jdW1lbnQpLm9uKCJjbGljayIsICdkaXZbaWQkPSJzaGFyZURpYWxvZyJdIGFbY2xhc3NePSJzaGFycnJlIl0nLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIHNoYXJycmVWYWwgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CiAgICAgIHZhciBjYXRlZ29yeSA9IHNoYXJycmVWYWwuc3Vic3RyaW5nKHNoYXJycmVWYWwuaW5kZXhPZignLScpICsgMSkgOwogICAgICB2YXIgbGFiZWwgPSAnVW5rbm93bic7CiAgICAgIGlmKCQoJyNmaWxlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwSWQoJCgnI2ZpbGVGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgICB9IGVsc2UgaWYoJCgnI2RhdGFzZXRGb3JtJykubGVuZ3RoID4gMCkgewogICAgICAgIGxhYmVsID0gc3RyaXBJZCgkKCcjZGF0YXNldEZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0gZWxzZSBpZigkKCcjZGF0YXZlcnNlRm9ybScpLmxlbmd0aCA+IDApIHsKICAgICAgICBsYWJlbCA9IHN0cmlwQWxpYXMoJCgnI2RhdGF2ZXJzZUZvcm0nKS5hdHRyKCdhY3Rpb24nKSk7CiAgICAgIH0KICAgICAgZ3RhZygnZXZlbnQnLCAnU2hhcmUnLCB7J2V2ZW50X2NhdGVnb3J5JyA6IGNhdGVnb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnIDogbGFiZWx9KTsKICAgIH0pOwoKICB9CgogIGZ1bmN0aW9uIGdldEZpbGVJZCh0YXJnZXQpIHsKICAgIHZhciBsYWJlbCA9ICdVbmtub3duJzsKICAgIGlmKHRhcmdldC5wYXJlbnRzKCd0aCwgI2FjdGlvbkJ1dHRvbkJsb2NrIC5idG4tYWNjZXNzLWRhdGFzZXQgKyB1bC5kcm9wZG93bi1tZW51JykubGVuZ3RoPjApIHsKICAgICAgLy9TcGVjaWFsIGNhc2UgLSB0aGUgRG93bmxvYWQgYnV0dG9uIHRoYXQgZG93bmxvYWRzIGFsbCBzZWxlY3RlZCBmaWxlcyBpbiB0aGUgZGF0YXNldAogICAgICBsYWJlbCA9ICdmaWxlKHMpIGZyb20gJyArIHN0cmlwSWQoJCgnI2RhdGFzZXRGb3JtJykuYXR0cignYWN0aW9uJykpOwogICAgfSBlbHNlIHsKICAgICAgdmFyIHJvdyA9IHRhcmdldC5wYXJlbnRzKCd0cicpWzBdOwogICAgICBpZihyb3cgIT0gbnVsbCkgewogICAgICAgIC8vZmluZHMgdGhlIGZpbGUgaWQvRE9JIGluIHRoZSBEYXRhc2V0IHBhZ2UKICAgICAgICBsYWJlbCA9ICQocm93KS5maW5kKCd0ZC5jb2wtZmlsZS1tZXRhZGF0YSAgYScpLmF0dHIoJ2hyZWYnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvL2ZpbmRzIHRoZSBmaWxlIGlkL0RPSSBpbiB0aGUgZmlsZSBwYWdlCiAgICAgICAgbGFiZWwgPSAkKCcjZmlsZUZvcm0nKS5hdHRyKCdhY3Rpb24nKTsKICAgICAgfQogICAgICBsYWJlbCA9IHN0cmlwSWQobGFiZWwpOwogICAgfQogICAgcmV0dXJuIGxhYmVsOwogIH0KCgogIGZ1bmN0aW9uIHN0cmlwSWQobGFiZWwpIHsKICAgIHZhciBpbmRleCA9IGxhYmVsLmluZGV4T2YoJyYnKTsKICAgIGlmKGluZGV4ID09IC0xKSBpbmRleCA9IGxhYmVsLmxlbmd0aDsKICAgIGlmKGxhYmVsLmluZGV4T2YoJ3BlcnNpc3RlbnRJZD0nKSA+PSAwKSB7CiAgICAgIGxhYmVsID0gbGFiZWwuc3Vic3RyaW5nKGxhYmVsLmluZGV4T2YoJ3BlcnNpc3RlbnRJZD0nKSArIDEzLCBpbmRleCk7CiAgICB9CiAgICBpZihsYWJlbC5pbmRleE9mKCdmaWxlSWQ9JykgPj0gMCkgewogICAgICBsYWJlbCA9IGxhYmVsLnN1YnN0cmluZyhsYWJlbC5pbmRleE9mKCdmaWxlSWQ9JykgKyA3LCBpbmRleCk7CiAgICB9CiAgICByZXR1cm4obGFiZWwpOwogIH0KCiAgZnVuY3Rpb24gc3RyaXBBbGlhcyhsYWJlbCkgewogICAgdmFyIGluZGV4ID0gbGFiZWwubGVuZ3RoOwogICAgbGFiZWwgPSBsYWJlbC5zdWJzdHJpbmcobGFiZWwuaW5kZXhPZignL2RhdGF2ZXJzZS8nKSArIDExLCBpbmRleCkuc3BsaXQoL1s/I10vKVswXTsKICAgIHJldHVybihsYWJlbCk7CiAgfQoKICBmdW5jdGlvbiBzdHJpcFNpemUoY2F0ZWdvcnkpIHsKICAgIHZhciBpbmRleCA9IGNhdGVnb3J5LmluZGV4T2YoJ1pJUCAoJyk7CiAgICBpZihpbmRleCA+PSAwKSB7CiAgICAgIGNhdGVnb3J5ID0gY2F0ZWdvcnkuc3Vic3RyaW5nKDAsIGluZGV4ICsgMyk7CiAgICB9CiAgICByZXR1cm4oY2F0ZWdvcnkpOwogIH0KICAvL11dPgo8L3NjcmlwdD4KCiAgICAgICAgICAgIDx0aXRsZT5TdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTIC0gSGFydmFyZCBEYXRhdmVyc2U8L3RpdGxlPgoJICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+CiAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uICZxdW90O0lkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnNpdHkgZ2Vub3R5cGluZyBvZiBpbW11bmUtcmVsYXRlZCBsb2NpJnF1b3Q7LiIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5pZGVudGlmaWVyIiBjb250ZW50PSJkb2k6MTAuNzkxMC9EVk4vTko3WFNPIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLnR5cGUiIGNvbnRlbnQ9IkRhdGFzZXQiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9IlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMuZGF0ZSIgY29udGVudD0iMjAxNy0wOS0zMCIgLz4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5wdWJsaXNoZXIiIGNvbnRlbnQ9IkhhcnZhcmQgRGF0YXZlcnNlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSJTdW1tYXJ5IG9mIGFzc29jaWF0aW9uIHRlc3RzIGZvciBOYXR1cmUgR2VuZXRpY3MgcHVibGljYXRpb24gJnF1b3Q7SWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kmcXVvdDsuIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJJbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUykiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLnN1YmplY3QiIGNvbnRlbnQ9Ik1lZGljaW5lLCBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMiIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJTdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJhcnRpY2xlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIC8+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZGF0YXZlcnNlLWljb24tMTIwMC5wbmcueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkhhcnZhcmQgRGF0YXZlcnNlIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uICZxdW90O0lkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnMuLi4iIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOmF1dGhvciIgY29udGVudD0iSW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpIiAvPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOnB1Ymxpc2hlZF90aW1lIiBjb250ZW50PSIyMDE3LTA5LTMwIiAvPgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+eyJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJEYXRhc2V0IiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTyIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPIiwibmFtZSI6IlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiLCJjcmVhdG9yIjpbeyJuYW1lIjoiSW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpIn1dLCJhdXRob3IiOlt7Im5hbWUiOiJJbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUykifV0sImRhdGVQdWJsaXNoZWQiOiIyMDE3LTA5LTMwIiwiZGF0ZU1vZGlmaWVkIjoiMjAxNy0wOS0zMCIsInZlcnNpb24iOiIxIiwiZGVzY3JpcHRpb24iOlsiU3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uIFwiSWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2lcIi4iXSwia2V5d29yZHMiOlsiTWVkaWNpbmUsIEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyIsIiBHZW5vbWUtV2lkZSBBc3NvY2lhdGlvbiBTdHVkaWVzIiwiQW5reWxvc2luZyBzcG9uZHlsaXRpcyJdLCJjaXRhdGlvbiI6W3siQHR5cGUiOiJDcmVhdGl2ZVdvcmsiLCJ0ZXh0IjoiMTAuMTAzOC9uZy4yNjY3In1dLCJsaWNlbnNlIjoiaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wIiwiaW5jbHVkZWRJbkRhdGFDYXRhbG9nIjp7IkB0eXBlIjoiRGF0YUNhdGFsb2ciLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UiLCJ1cmwiOiJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdSJ9LCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UifSwicHJvdmlkZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiSGFydmFyZCBEYXRhdmVyc2UifSwiZGlzdHJpYnV0aW9uIjpbeyJAdHlwZSI6IkRhdGFEb3dubG9hZCIsIm5hbWUiOiJBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiLCJmaWxlRm9ybWF0IjoidGV4dC9wbGFpbiIsImNvbnRlbnRTaXplIjoxMTU3MjQxMiwiZGVzY3JpcHRpb24iOiJTdW1tYXJ5IGRhdGEgZm9yIEFzaWFuIGNvaG9ydCIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08vSzNOUk1PIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08vSzNOUk1PIiwiY29udGVudFVybCI6Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9hY2Nlc3MvZGF0YWZpbGUvMzA1NTQyNCJ9LHsiQHR5cGUiOiJEYXRhRG93bmxvYWQiLCJuYW1lIjoiRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0IiwiZmlsZUZvcm1hdCI6InRleHQvcGxhaW4iLCJjb250ZW50U2l6ZSI6MTEyNDU0OTYsImRlc2NyaXB0aW9uIjoiU3VtbWFyeSBkYXRhIGZvciBjb21iaW5lZCBjb2hvcnQiLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiIsImNvbnRlbnRVcmwiOiJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvYWNjZXNzL2RhdGFmaWxlLzMwNTU0MjUifSx7IkB0eXBlIjoiRGF0YURvd25sb2FkIiwibmFtZSI6IkV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dCIsImZpbGVGb3JtYXQiOiJ0ZXh0L3BsYWluIiwiY29udGVudFNpemUiOjEzMzM3MTgzLCJkZXNjcmlwdGlvbiI6IlN1bW1hcnkgZGF0YSBmb3IgRXVyb3BlYW4gY29ob3J0IiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1oiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1oiLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2FjY2Vzcy9kYXRhZmlsZS8zMDU1NDI2In1dfQoKICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvdGhlbWUuY3NzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9sbj1wcmltZWZhY2VzLWJvb3RzdHJhcCZhbXA7dj0xMS4wLjAiIC8+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL3ByaW1laWNvbnMvcHJpbWVpY29ucy5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9vbW5pZmFjZXMuanMueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPW9tbmlmYWNlcyZhbXA7dj0zLjgiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcXVlcnkvanF1ZXJ5LmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pxdWVyeS9qcXVlcnktcGx1Z2lucy5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jb3JlLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2NvbXBvbmVudHMuanMueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY29tcG9uZW50cy5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS93YXRlcm1hcmsvd2F0ZXJtYXJrLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ZpbGV1cGxvYWQvZmlsZXVwbG9hZC5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9maWxldXBsb2FkL2ZpbGV1cGxvYWQuanMueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPXByaW1lZmFjZXMmYW1wO3Y9MTEuMC4wIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvdG91Y2gvdG91Y2hzd2lwZS5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbnB1dG1hc2svaW5wdXRtYXNrLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9sbj1wcmltZWZhY2VzJmFtcDt2PTExLjAuMCI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/bG49cHJpbWVmYWNlcyZhbXA7dj0xMS4wLjAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZih3aW5kb3cuUHJpbWVGYWNlcyl7UHJpbWVGYWNlcy5zZXR0aW5ncy5sb2NhbGU9J2VuJztQcmltZUZhY2VzLnNldHRpbmdzLnZpZXdJZD0nL2RhdGFzZXQueGh0bWwnO1ByaW1lRmFjZXMuc2V0dGluZ3MuY29udGV4dFBhdGg9Jyc7UHJpbWVGYWNlcy5zZXR0aW5ncy5jb29raWVzU2VjdXJlPWZhbHNlO308L3NjcmlwdD4KICAgICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdi9hcHBsZS10b3VjaC1pY29uLnBuZy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjEiIC8+CiAgICAgICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIxNngxNiIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9mYXYvZmF2aWNvbi0xNngxNi5wbmcueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxIiAvPgogICAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZmF2L2Zhdmljb24tMzJ4MzIucG5nLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMSIgLz4KICAgICAgICA8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdi9zaXRlLndlYm1hbmlmZXN0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMSIgLz4KICAgICAgICA8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9mYXYvc2FmYXJpLXBpbm5lZC10YWIuc3ZnLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMSIgY29sb3I9IiNkYTUzMmMiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNkYTUzMmMiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiNmZmZmZmYiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0iaW1hZ2UvcG5nIiByZWw9ImltYWdlX3NyYyIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ltYWdlcy9kYXRhdmVyc2Vwcm9qZWN0LnBuZy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjEiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAubWluLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3ZlcnNpb249NS4xMiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2llLWNvbXBhdC5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3ZlcnNpb249NS4xMiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL293bC5jYXJvdXNlbC5jc3MueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3ZlcnNpb249NS4xMiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2ZvbnRjdXN0b20uY3NzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT92ZXJzaW9uPTUuMTIiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2Nzcy9zb2NpY29uLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc3RydWN0dXJlLmNzcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIiAvPgogICAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICAgICAvKiBDdXN0b20gQ1NTICovCiAgICAgICAgICAgICAgICAjbmF2YmFyRml4ZWQgZGl2Lm5hdmJhci1oZWFkZXIgaW1nLm5hdmJhci1icmFuZC5jdXN0b20tbG9nbyB7aGVpZ2h0OjUwcHggIWltcG9ydGFudDt9CiNkYXRhdmVyc2VEZXNjIHNwYW4gPiBzcGFuID4gc3BhbiA+IGgzIHtmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7fQoKbmF2Lm5hdmJhci5uYXZiYXItZGVmYXVsdCB7YmFja2dyb3VuZDogI2VjZWNlYyAhaW1wb3J0YW50O30KLyogI2Zvb3RlciB7YmFja2dyb3VuZDogI2VjZWNlYyAhaW1wb3J0YW50OyBwYWRkaW5nLXRvcDoxLjI1ZW07fSAqLwoKICAgICAgICAgICAgPC9zdHlsZT48L2hlYWQ+PGJvZHk+Cgk8YSBocmVmPSIjY29udGVudCIgY2xhc3M9InNyLW9ubHkiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgoKICAgIDxuYXYgaWQ9ImRhdGF2ZXJzZS1oZWFkZXItYmxvY2siPjxkaXYgaWQ9Im5hdmJhckZpeGVkIiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IG5hdmJhci1maXhlZC10b3AiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjdG9wTmF2QmFyIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPjxpbWcgc3JjPSIvbG9nb3MvbmF2YmFyL2xvZ28ucG5nO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMSIgYWx0PSJIYXJ2YXJkIERhdGF2ZXJzZSBob21lcGFnZSIgY2xhc3M9Im5hdmJhci1icmFuZCBjdXN0b20tbG9nbyIgLz4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSIgaWQ9InRvcE5hdkJhciI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPjxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj5BZGQgRGF0YSA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPjxsaT48YSBocmVmPSIvZGF0YXZlcnNlLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9vd25lcklkPTEiPk5ldyBEYXRhdmVyc2U8L2E+PC9saT48bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP293bmVySWQ9MSI+TmV3IERhdGFzZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPlNlYXJjaCA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgbmF2YmFyLXNlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1pbmxpbmUiIHJvbGU9InNlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9InNlYXJjaE5hdkxhYmVsIiBjbGFzcz0ic3Itb25seSIgZm9yPSJuYXZiYXJzZWFyY2giPlNlYXJjaDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuYXZiYXJzZWFyY2giIHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHNpemU9IjI4IiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iU2VhcmNoIGFsbCBkYXRhdmVyc2VzLi4uIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgdGl0bGU9IkZpbmQiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIiBhcmlhLWxhYmVsbGVkYnk9InNlYXJjaE5hdkxhYmVsIiBvbmNsaWNrPSJ3aW5kb3cubG9jYXRpb249Jy9kYXRhdmVyc2UvaGFydmFyZD9xPScgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2YmFyc2VhcmNoJykudmFsdWU7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2ggbm8tdGV4dCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YXZlcnNlLmhhcnZhcmQuZWR1LyIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPkFib3V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzUuMTIvdXNlciIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPlVzZXIgR3VpZGU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Cjxmb3JtIGlkPSJqX2lkdDc4IiBuYW1lPSJqX2lkdDc4IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIiBjbGFzcz0ibmF2YmFyLWZvcm0gbmF2YmFyLWxlZnQgbmF2YmFyLWZvcm0tbGluayIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBkYXRhLXBhcnRpYWxzdWJtaXQ9InRydWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqX2lkdDc4IiB2YWx1ZT0ial9pZHQ3OCIgLz4KPGEgaWQ9ImpfaWR0Nzg6aGVhZGVyU3VwcG9ydExpbmsiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7al9pZHQ3ODpoZWFkZXJTdXBwb3J0TGluayZxdW90OyxmOiZxdW90O2pfaWR0NzgmcXVvdDssdTomcXVvdDtjb250YWN0RGlhbG9nJnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9fSk7cmV0dXJuIGZhbHNlOyI+U3VwcG9ydDwvYT48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MCIgdmFsdWU9IjU1NDQwNzgyNTMzMjk1ODgyMTk6MjQwMDM4MjQyMDgyMzE2MDc5NiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3JlZGlyZWN0UGFnZT0lMkZkYXRhc2V0LnhodG1sJTNGcGVyc2lzdGVudElkJTNEZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZyBJbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAKICAgICAgICA8bm9zY3JpcHQ+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5vc2NyaXB0LWFsZXJ0IiBjbGFzcz0iYmctZGFuZ2VyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0IGNvbnRhaW5lciB0ZXh0LWRhbmdlciBuby1tYXJnaW4tYm90dG9tIj5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgaW4geW91ciBicm93c2VyLiBJdCBpcyByZXF1aXJlZCB0byB1c2UgbW9zdCBvZiB0aGUgZmVhdHVyZXMgb2YgRGF0YXZlcnNlLgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbm9zY3JpcHQ+Cjxmb3JtIGlkPSJqX2lkdDEzMiIgbmFtZT0ial9pZHQxMzIiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iIGNsYXNzPSJmb3JtLWlubGluZSIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBkYXRhLXBhcnRpYWxzdWJtaXQ9InRydWUiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqX2lkdDEzMiIgdmFsdWU9ImpfaWR0MTMyIiAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MSIgdmFsdWU9IjU1NDQwNzgyNTMzMjk1ODgyMTk6MjQwMDM4MjQyMDgyMzE2MDc5NiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT48ZGl2IGlkPSJicmVhZENydW1iUGFuZWwiPjxkaXYgaWQ9ImJyZWFkY3J1bWJOYXZCbG9jayIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iQmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9ImJyZWFkY3J1bWJMbmswIiBocmVmPSIvZGF0YXZlcnNlL2hhcnZhcmQiPkhhcnZhcmQgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj48c3BhbiBjbGFzcz0iYnJlYWRjcnVtYkNhcnJvdCI+ICZndDsgPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBtZXNzYWdlUGFuZWwiPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgIDwvbmF2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImNvbnRlbnQiIHJvbGU9Im1haW4iPgo8Zm9ybSBpZD0iZGF0YXNldEZvcm0iIG5hbWU9ImRhdGFzZXRGb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybSIgdmFsdWU9ImRhdGFzZXRGb3JtIiAvPgo8aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnZhbGlkYXRlRmlsZXNPdXRjb21lIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOnZhbGlkYXRlRmlsZXNPdXRjb21lIiAvPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dmFsaWRUZXJtc29mQWNjZXNzIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOnZhbGlkVGVybXNvZkFjY2VzcyIgdmFsdWU9InRydWUiIC8+PGRpdiBpZD0iZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQiPjxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFzZXRWZXJzaW9uQmxvY2siIGNsYXNzPSJyb3ciPjxkaXYgaWQ9InRpdGxlLWJsb2NrIiBjbGFzcz0iY29sLXhzLTEyIG1hcmdpbi1ib3R0b20taGFsZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgaWQ9InRpdGxlIj4gU3VtbWFyeSBkYXRhIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgR1dBUzwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0aXRsZS1sYWJlbC1ibG9jayIgY2xhc3M9Im1hcmdpbi10b3AtaGFsZiI+PHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWRlZmF1bHQiPlZlcnNpb24gMS4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFzZXRDaXRhdGlvbkFjdGlvblN1bW1hcnlCbG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTggY29sLWxnLTkiPgogICAgPGRpdiBjbGFzcz0iY2l0YXRpb24tYmxvY2siPgogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGFsZXJ0IGFsZXJ0LWluZm8gYmctY2l0YXRpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXRhdGlvbiBtYXJnaW4tYm90dG9tIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCBwcmV2aWV3LWljb24tYmxvY2siPjxzcGFuIGNsYXNzPSJpY29uLWRhdGFzZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNpdGF0aW9uLXNlbGVjdCIgb25jbGljaz0iaWYgKGV2ZW50LnRhcmdldCkgeyBzZWxlY3RUZXh0KGV2ZW50LnRhcmdldCk7IH0gZWxzZXsgc2VsZWN0VGV4dCh0aGlzKTsgfSI+SW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpLCAyMDE3LCAiU3VtbWFyeSBkYXRhIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgR1dBUyIsIDxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPPC9hPiwgSGFydmFyZCBEYXRhdmVyc2UsIFYxCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9InB1bGwtbGVmdCByb3cgY29sLXNtLTkgcGFkZGluZy1ub25lIj48ZGl2IGNsYXNzPSJjb2wtc20tMyBjb2wtbWQtNCBjb2wtbGctMyBidG4tZ3JvdXAgbWFyZ2luLWJvdHRvbSBjaXRhdGlvbi1kb3dubG9hZCI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxpbmsgZHJvcGRvd24tdG9nZ2xlIHBhZGRpbmctbm9uZSBkb3dubG9hZENpdGF0aW9uIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICBDaXRlIERhdGFzZXQgPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qc2YuanMueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2xuPWphdmF4LmZhY2VzIj48L3NjcmlwdD48YSBpZD0iZGF0YXNldEZvcm06ZW5kTm90ZUxpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOmVuZE5vdGVMaW5rJzonZGF0YXNldEZvcm06ZW5kTm90ZUxpbmsnfSwnJyk7cmV0dXJuIGZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmROb3RlIFhNTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOnJpc0xpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnJpc0xpbmsnOidkYXRhc2V0Rm9ybTpyaXNMaW5rJ30sJycpO3JldHVybiBmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUklTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBpZD0iZGF0YXNldEZvcm06YmliTGluayIgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06YmliTGluayc6J2RhdGFzZXRGb3JtOmJpYkxpbmsnfSwnX2JsYW5rJyk7cmV0dXJuIGZhbHNlIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmliVGVYCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjb2wtc20tOSBjb2wtbWQtOCBjb2wtbGctOSB0ZXh0LW11dGVkIG1hcmdpbi1ib3R0b20gY2l0YXRpb24tc3RhbmRhcmRzIj5MZWFybiBhYm91dCA8YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmcvYmVzdC1wcmFjdGljZXMvZGF0YS1jaXRhdGlvbiIgdGl0bGU9IkRhdGEgQ2l0YXRpb24gLSBEYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+RGF0YSBDaXRhdGlvbiBTdGFuZGFyZHM8L2E+LjwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC00IGNvbC1sZy0zIHB1bGwtcmlnaHQgbWFyZ2luLWJvdHRvbSI+PGRpdiBpZD0iYWN0aW9uQnV0dG9uQmxvY2siPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCBidG4tZ3JvdXAtanVzdGlmaWVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1hY2Nlc3MtZGF0YXNldCBkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjY2VzcyBEYXRhc2V0IDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1yaWdodCB0ZXh0LWxlZnQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MWVtOyBwYWRkaW5nLXJpZ2h0OjFlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkRvd25sb2FkIE9wdGlvbnMgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+PC9saT48bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjY0IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0bi1kb3dubG9hZCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI2NCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7c2hvd1BvcHVwKCk7O30sZnA6JnF1b3Q7ZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaSVAgKDM0LjUgTUIpPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIGJ0bi1ncm91cC1qdXN0aWZpZWQiPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDQwMCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQgYnRuLXhzIGJ0bi1jb250YWN0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0NDAwJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtjb250YWN0RGlhbG9nJnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9LGZwOiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkNvbnRhY3QgRGF0YXNldCBPd25lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IE93bmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48YSBpZD0iZGF0YXNldEZvcm06al9pZHQ0MDIiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IGJ0bi14cyBidG4tc2hhcmUiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQ0MDImcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignc2hhcmVEaWFsb2cnKS5zaG93KCk7c2hhcnJyZSgpOzt9LGZwOiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlNoYXJlIERhdGFzZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgc3R5bGU9ImNsZWFyOnJpZ2h0OyIgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTQgY29sLWxnLTMgcHVsbC1yaWdodCBtYXJnaW4tYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWV0cmljcy1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWV0cmljcy1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YXNldCBNZXRyaWNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byB0b3AiIGRhdGEtdHJpZ2dlcj0iaG92ZXIiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkFnZ3JlZ2F0ZWQgbWV0cmljcyBmb3IgdGhpcyBkYXRhc2V0LiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1ldHJpY3MtYm9keSI+PGRpdiBjbGFzcz0ibWV0cmljcy1jb3VudC1ibG9jayI+MjEwIERvd25sb2FkcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byB0b3AiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRvdGFsIGFnZ3JlZ2F0ZWQgZG93bmxvYWRzIG9mIGZpbGVzIGluIHRoaXMgZGF0YXNldC4iPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFzZXQtY29sb3JkZXItYmxvY2siIGNsYXNzPSJ2aXNpYmxlLW1kLWJsb2NrIHZpc2libGUtbGctYmxvY2sgY29sLW1kLTggY29sLWxnLTkiPjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXQtc3VtbWFyeS1tZXRhZGF0YSIgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTggY29sLWxnLTkgbWV0YWRhdGEtY29udGFpbmVyIHBhZGRpbmctbm9uZSBtYXJnaW4tYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ibWV0YWRhdGEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT48dHIgaWQ9ImRzRGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQSBzdW1tYXJ5IGRlc2NyaWJpbmcgdGhlIHB1cnBvc2UsIG5hdHVyZSwgYW5kIHNjb3BlIG9mIHRoZSBEYXRhc2V0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5TdW1tYXJ5IG9mIGFzc29jaWF0aW9uIHRlc3RzIGZvciBOYXR1cmUgR2VuZXRpY3MgcHVibGljYXRpb24gIklkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnNpdHkgZ2Vub3R5cGluZyBvZiBpbW11bmUtcmVsYXRlZCBsb2NpIi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L3RkPjwvdHI+PHRyIGlkPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGFyZWEgb2Ygc3R1ZHkgcmVsZXZhbnQgdG8gdGhlIERhdGFzZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5NZWRpY2luZSwgSGVhbHRoIGFuZCBMaWZlIFNjaWVuY2VzPC90ZD48L3RyPjx0ciBpZD0ia2V5d29yZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2V5d29yZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBIGtleSB0ZXJtIHRoYXQgZGVzY3JpYmVzIGFuIGltcG9ydGFudCBhc3BlY3Qgb2YgdGhlIERhdGFzZXQgYW5kIGluZm9ybWF0aW9uIGFib3V0IGFueSBjb250cm9sbGVkIHZvY2FidWxhcnkgdXNlZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiBHZW5vbWUtV2lkZSBBc3NvY2lhdGlvbiBTdHVkaWVzLCBBbmt5bG9zaW5nIHNwb25keWxpdGlzPC90ZD48L3RyPjx0ciBpZD0icHVibGljYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXRlZCBQdWJsaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgYXJ0aWNsZSBvciByZXBvcnQgdGhhdCB1c2VzIHRoZSBkYXRhIGluIHRoZSBEYXRhc2V0LiBUaGUgZnVsbCBsaXN0IG9mIHJlbGF0ZWQgcHVibGljYXRpb25zIHdpbGwgYmUgZGlzcGxheWVkIG9uIHRoZSBtZXRhZGF0YSB0YWIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD4xMC4xMDM4L25nLjI2NjcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPjwvYT48L3RkPjwvdHI+PHRyIGlkPSJub3Rlc1RleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPkV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBFdXJvcGVhbiBjb2hvcnQgQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIEFzaWFuIGNvaG9ydCBFdXJvcGVhbl9Bc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgY29tYmluZWQgY29ob3J0PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGljZW5zZS9EYXRhIFVzZSBBZ3JlZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2xpY2Vuc2VidXR0b25zLm5ldC9wL3plcm8vMS4wLzg4eDMxLnBuZyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgb25sb2FkPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J2lubGluZSciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMCIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgdGFyZ2V0PSJfYmxhbmsiPkNDMCAxLjA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJjb250ZW50VGFicyI+PGRpdiBpZD0iZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0TG9ja2VkRm9yQW55UmVhc29uVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldExvY2tlZEZvckFueVJlYXNvblZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQ2NzEiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVmcmVzaEFsbExvY2tzQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDY3MSIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NjcxIix1OiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50IG1lc3NhZ2VQYW5lbCIscGE6YXJndW1lbnRzWzBdLGZwOiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50In0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDY3MiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoQWxsQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDY3MiIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NjcyIix1OiJkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgbWVzc2FnZVBhbmVsIixwYTphcmd1bWVudHNbMF0sZnA6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQifSk7fTwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIGNsYXNzPSIiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50IGRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSZxdW90OyxmcDomcXVvdDtkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+dWktYnV0dG9uPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsInJlZnJlc2hCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBqYXZhc2NyaXB0IGZvciByZWZyZXNoaW5nIHBhZ2Ugd2hlbiBsb2NrcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoSWZTdGlsbExvY2tlZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlZnJlc2hJZlN0aWxsTG9ja2VkKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0TG9ja2VkRm9yQW55UmVhc29uVmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGRhdGFzZXQgaXMgbG9ja2VkLCBpbnN0cnVjdCB0aGUgcGFnZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCBhbmQgY2hlY2sgYWdhaW46CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIG5vdCBsb2NrZWQsIGhhcyBpdCBqdXN0IGJlZW4gdW5sb2NrZWQ/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3Igd2hhdGV2ZXIgdW5rbm93biBQcmltZUZhY2VzIHJlYXNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwYWdlIG5lZWRzIHRvIGJlIHJlZnJlc2hlZCB0d2ljZSwgZm9yIGFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwdWxsIGRvd24gbWVudXMgdG8gdXBkYXRlIHByb3Blcmx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hBbGxDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWW91IGNhbid0IGp1c3QgcnVuIDIgcmVmcmVzaEFsbENvbW1hbmQoKXMgaW4gYSByb3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlaXRoZXI7IGJlY2F1c2UgdGhlIGNvbW1hbmQgaGFzIGFuICJ1cGRhdGU9QGFsbCIgb24gaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gSSBndWVzcyBpZiB5b3UgdHJ5IHRvIGV4ZWN1dGUgdGhlIDJuZCBvbmUgcmlnaHQgYWZ0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZmlyc3Qgb25lLCB0aGlzIGZyYWdtZW50IGlzIHN0aWxsIGdvaW5nIHRvIGJlIGxvYWRpbmcgLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZXJlIHdvdWxkIG5vdCB5ZXQgYmUgYSBjb21tYW5kIHRvIHJ1biEgKGl0IG5lZWRzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmUgcmVuZGVyZWQsIGJlZm9yZSB5b3UgY2FuIGV4ZWN1dGUgaXQsIHRoYXQgaXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgYnV0dG9uIGRvZXNuJ3QgZG8gYW55dGhpbmcsIGJ1dCBpdCBoYXMgYW4gdXBkYXRlPSJAYWxsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InJlZnJlc2hCdXR0b24iXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaEFsbENvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxNTAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVmcmVzaCB0aGUgbG9jayBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tpbmcgYmVhbjsgaS5lLiwgY2hlY2ssIGlmIHRoZSBpbmdlc3QgaGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGNvbXBsZXRlZCBpbiB0aGUgYmFja2dyb3VuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCgnYnV0dG9uW2lkJD0icmVmcmVzaEJ1dHRvbiJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaExvY2tDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoQWxsTG9ja3NDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9dXT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXciIGNsYXNzPSJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLWhpZGRlbi1jb250YWluZXIgdWktdGFicy10b3AiIGRhdGEtd2lkZ2V0PSJjb250ZW50Ij48dWwgY2xhc3M9InVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiIHJvbGU9InRhYmxpc3QiPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGRhdGEtaW5kZXg9IjAiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OmRhdGFGaWxlc1RhYiIgdGFiaW5kZXg9Ii0xIj5GaWxlczwvYT48L2xpPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgZGF0YS1pbmRleD0iMSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIHRhYmluZGV4PSItMSI+TWV0YWRhdGE8L2E+PC9saT48bGkgY2xhc3M9InVpLXRhYnMtaGVhZGVyIHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGRhdGEtaW5kZXg9IjIiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OnRlcm1zVGFiIiB0YWJpbmRleD0iLTEiPlRlcm1zPC9hPjwvbGk+PGxpIGNsYXNzPSJ1aS10YWJzLWhlYWRlciB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBkYXRhLWluZGV4PSIzIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYiIgdGFiaW5kZXg9Ii0xIj5WZXJzaW9uczwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0idWktdGFicy1wYW5lbHMiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZGF0YUZpbGVzVGFiIiBjbGFzcz0idWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1oaWRkZW49ImZhbHNlIiBkYXRhLWluZGV4PSIwIj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTA1NiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoUGFnaW5hdG9yID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMDU2IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEwNTYiLHU6ImRhdGFzZXRGb3JtIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEwNjEiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmViaW5kQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTA2MSIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMDYxIix1OiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0IiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjFweDsiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItdG9wIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJCbG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtNSI+PGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgaWQ9InNlYXJjaExhYmVsIiBjbGFzcz0ic3Itb25seSI+U2VhcmNoPC9sYWJlbD48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIHRpdGxlPSJTZWFyY2giIG9ua2V5cHJlc3M9ImlmIChldmVudC5rZXlDb2RlID09IDEzKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXRzZWFyY2goKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSIgYXJpYS1sYWJlbGxlZGJ5PSJzZWFyY2hMYWJlbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0IiwiaW5wdXRTZWFyY2hUZXJtIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDcyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIldhdGVybWFyayIsIndpZGdldF9kYXRhc2V0Rm9ybV90YWJWaWV3X2ZpbGVzVGFibGVfal9pZHQxMDcyIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEwNzIiLHZhbHVlOiJTZWFyY2ggdGhpcyBkYXRhc2V0Li4uIix0YXJnZXQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDczIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnN1Ym1pdHNlYXJjaCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDczIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA3MyBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkiLHU6ImRhdGFzZXRGb3JtIixwczp0cnVlLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMDc1IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA3NSZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTA3NSBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyxwczp0cnVlfSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkZpbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCBuby10ZXh0Ij48L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy03IHRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyIgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLXhzLTkgdGV4dC1sZWZ0Ij48ZGl2IHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7IiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+RmlsdGVyIGJ5PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjIwcHg7IiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxpbmsgZHJvcGRvd24tdG9nZ2xlIiBzdHlsZT0icGFkZGluZzowOyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIFR5cGU6IDxzcGFuIGNsYXNzPSIiPkFsbDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVBY2Nlc3M9JmFtcDtmaWxlVGFnPSZhbXA7ZmlsZVNvcnRGaWVsZD0mYW1wO2ZpbGVTb3J0T3JkZXI9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+QWxsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9InNlcGFyYXRvciIgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JTIyVGV4dCUyMiZhbXA7ZmlsZUFjY2Vzcz0mYW1wO2ZpbGVUYWc9JmFtcDtmaWxlU29ydEZpZWxkPSZhbXA7ZmlsZVNvcnRPcmRlcj0iPjxzcGFuIGNsYXNzPSIiPlRleHQgKDMpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1yaWdodDoyMHB4OyIgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5rIGRyb3Bkb3duLXRvZ2dsZSIgc3R5bGU9InBhZGRpbmc6MDsiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXNzOiA8c3BhbiBjbGFzcz0iIj5BbGw8L3NwYW4+IDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlVGFnPSZhbXA7ZmlsZVNvcnRGaWVsZD0mYW1wO2ZpbGVTb3J0T3JkZXI9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+QWxsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9InNlcGFyYXRvciIgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPVB1YmxpYyZhbXA7ZmlsZVRhZz0mYW1wO2ZpbGVTb3J0RmllbGQ9JmFtcDtmaWxlU29ydE9yZGVyPSI+PHNwYW4gY2xhc3M9IiI+UHVibGljICgzKTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMyB0ZXh0LXJpZ2h0ICI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNvcnQiPjwvc3Bhbj4gU29ydCA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVUeXBlR3JvdXBGYWNldD0mYW1wO2ZpbGVBY2Nlc3M9Ij48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+TmFtZSAoQS1aKTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08mYW1wO3ZlcnNpb249JmFtcDtxPSZhbXA7ZmlsZVR5cGVHcm91cEZhY2V0PSZhbXA7ZmlsZUFjY2Vzcz0mYW1wO2ZpbGVTb3J0RmllbGQ9bmFtZSZhbXA7ZmlsZVNvcnRPcmRlcj1kZXNjIj48c3BhbiBjbGFzcz0iIj5OYW1lIChaLUEpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD1kYXRlIj48c3BhbiBjbGFzcz0iIj5OZXdlc3Q8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJmFtcDt2ZXJzaW9uPSZhbXA7cT0mYW1wO2ZpbGVUeXBlR3JvdXBGYWNldD0mYW1wO2ZpbGVBY2Nlc3M9JmFtcDtmaWxlU29ydEZpZWxkPWRhdGUmYW1wO2ZpbGVTb3J0T3JkZXI9ZGVzYyI+PHNwYW4gY2xhc3M9IiI+T2xkZXN0PC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD1zaXplIj48c3BhbiBjbGFzcz0iIj5TaXplPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhc2V0LnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9wZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyZhbXA7dmVyc2lvbj0mYW1wO3E9JmFtcDtmaWxlVHlwZUdyb3VwRmFjZXQ9JmFtcDtmaWxlQWNjZXNzPSZhbXA7ZmlsZVNvcnRGaWVsZD10eXBlIj48c3BhbiBjbGFzcz0iIj5UeXBlPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idWktZGF0YXRhYmxlLXRhYmxld3JhcHBlciI+PHRhYmxlIHJvbGU9ImdyaWQiIHN0eWxlPSJtaW4td2lkdGg6MTAwJTt3aWR0aDphdXRvOyI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQxMjQ5IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCB1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IlNlbGVjdCBGaWxlcyIgc2NvcGU9ImNvbCI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS1jaGtib3gtYWxsIHVpLXdpZGdldCI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2hlYWRfY2hlY2tib3giIHJvbGU9ImNoZWNrYm94IiB0YWJpbmRleD0iMCIgYXJpYS1sYWJlbD0iU2VsZWN0IEFsbCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEyNTAiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLW1ldGFkYXRhIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9InswfSB0byB7MX0gb2YgezJ9IHsyLCBjaG9pY2UsIDAjRmlsZXN8MSNGaWxlfDIjRmlsZXN9IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJDb3VudCI+PHNwYW4gY2xhc3M9ImhpZ2hsaWdodEJvbGQiPjEgdG8gMyBvZiAzIEZpbGVzPC9zcGFuPjwvZGl2Pjwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTI4NiIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLWZpbGUtYWN0aW9uIGJ1dHRvbi1ibG9jayB0ZXh0LXJpZ2h0IiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IkZpbGUgQWN0aW9ucyIgc2NvcGU9ImNvbCIgc3R5bGU9IndpZHRoOjQwJTsiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRvd25sb2FkRmlsZXModXJsLCBmaWxlbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICBmaWxlbGlzdCA9IGZpbGVsaXN0ICsgJywnOyAvL1ByZXZlbnRzIGxhc3QgZmlsZSBmcm9tIGJlaW5nIGRyb3BwZWQgb24gc2VydmVyCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb3JtID0gJCgnPGZvcm0+PC9mb3JtPicpLmF0dHIoJ2FjdGlvbicsIHVybCkuYXR0cignbWV0aG9kJywgJ3Bvc3QnKS5hdHRyKCdlbmN0eXBlJywgJ3RleHQvcGxhaW4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ybS5hcHBlbmQoJCgiPGlucHV0IC8+IikuYXR0cigndHlwZScsICdoaWRkZW4nKS5hdHRyKCduYW1lJywgJ2ZpbGVJZHMnKS5hdHRyKCd2YWx1ZScsIGZpbGVsaXN0KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vU3VibWl0IGFuZCB0aGVuIHJlbW92ZSBmb3JtCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0uYXBwZW5kVG8oJ2JvZHknKS5zdWJtaXQoKS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICA8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZG93bmxvYWRCdXR0b25CbG9ja05vcm1hbCIgY2xhc3M9ImJ0bi1ncm91cCI+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDEzMzciIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IGJ0bi1kb3dubG9hZCIgb25jbGljaz0iaWYgKCF0ZXN0RmlsZXNTZWxlY3RlZCgpKSByZXR1cm4gZmFsc2U7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0MTMzNyZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7c2hvd1BvcHVwKCk7O319KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+IERvd25sb2FkCiAgICAgICAgICAgICAgICAgICAgPC9hPjwvZGl2Pjwvc3Bhbj48L3RoPjwvdHI+PC90aGVhZD48dGJvZHkgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9kYXRhIiBjbGFzcz0idWktZGF0YXRhYmxlLWRhdGEgdWktd2lkZ2V0LWNvbnRlbnQiPjx0ciBkYXRhLXJpPSIwIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNWVkNTdhNjUyZS02NzI4NGEzNzJjMjkiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtZXZlbiB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3MzOi8vZHZuLWNsb3VkOjE1ZWQ1N2E2NTJlLTY3Mjg0YTM3MmMyOV9jaGVja2JveCIgcm9sZT0iY2hlY2tib3giIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSJTZWxlY3QgQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0IiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlSW5mb0luY2x1ZGUtZmlsZXNUYWJsZSIgY2xhc3M9InVpLW91dHB1dHBhbmVsIHVpLXdpZGdldCBtZWRpYSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtbGVmdCBjb2wtZmlsZS10aHVtYiIgc3R5bGU9InBhZGRpbmctdG9wOjRweDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1vYmplY3QgdGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSBjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGVOYW1lT3JpZ2luYWwiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0szTlJNTyZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICBBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVUeXBlIj5QbGFpbiBUZXh0PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlU2l6ZSI+IC0gMTEuMCBNQjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGVDcmVhdGVQdWJsaXNoLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj5QdWJsaXNoZWQgU2VwIDMwLCAyMDE3PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZG93bmxvYWRzLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZURvd25sb2FkQ291bnQiIGNsYXNzPSJ2aXNpYmxlLXhzLWJsb2NrIHZpc2libGUtc20tYmxvY2sgdmlzaWJsZS1tZC1pbmxpbmUgdmlzaWJsZS1sZy1pbmxpbmUiPjU5IERvd25sb2Fkczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrc3VtLXRydW5jYXRlIGNoZWNrc3VtLXRvb2x0aXAiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6M3B4OyIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJ0b3AiIGRhdGEtaHRtbD0idHJ1ZSIgZGF0YS1jbGlwYm9hcmQtYWN0aW9uPSJjb3B5IiBkYXRhLWNsaXBib2FyZC10ZXh0PSJiY2MwNmFlYmY5NmM5NTQwOTk1MTkyYzg5YzkxZmIyMyIgdGl0bGU9IkNsaWNrIHRvIGNvcHkmbHQ7YnIvJmd0O2JjYzA2YWViZjk2Yzk1NDA5OTUxOTJjODljOTFmYjIzIj5NRDU6IGJjYzA2YWViZjk2Yzk1NDA5OTUxOTJjODljOTFmYjIzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNvcHkgYnRuLWNvcHkgY2hlY2tzdW0tdG9vbHRpcCIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJ0b3AiIGRhdGEtaHRtbD0idHJ1ZSIgZGF0YS1jbGlwYm9hcmQtYWN0aW9uPSJjb3B5IiBkYXRhLWNsaXBib2FyZC10ZXh0PSJiY2MwNmFlYmY5NmM5NTQwOTk1MTkyYzg5YzkxZmIyMyIgdGl0bGU9IkNsaWNrIHRvIGNvcHkmbHQ7YnIvJmd0O2JjYzA2YWViZjk2Yzk1NDA5OTUxOTJjODljOTFmYjIzIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImZpbGVEZXNjcmlwdGlvbiBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVEZXNjTm9uRW1wdHkiPlN1bW1hcnkgZGF0YSBmb3IgQXNpYW4gY29ob3J0PC9zcGFuPjwvZGl2PgogICAgICAgIDwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NDAlOyIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiBidXR0b24tYmxvY2sgdGV4dC1yaWdodCI+PGRpdiByb2xlPSJncm91cCIgY2xhc3M9ImJ0bi1ncm91cCIgYXJpYS1sYWJlbD0iRmlsZSBBY3Rpb25zIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuLXByZXZpZXcgYnRuIGJ0bi1saW5rIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgdGl0bGU9IlJlYWQgVGV4dCIgaHJlZj0iL2ZpbGUueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08vSzNOUk1PJmFtcDt2ZXJzaW9uPTEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leWUtb3BlbiI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzci1vbmx5Ij5QcmV2aWV3ICJBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzo2cHggOHB4OyIgY2xhc3M9ImJ0bi1hY2Nlc3MtZmlsZSBidG4gYnRuLWxpbmsgYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIGRyb3Bkb3duLXRvZ2dsZSIgdGl0bGU9IkFjY2VzcyBGaWxlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzci1vbmx5Ij5BY2Nlc3MgRmlsZTwvc3Bhbj48c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHB1bGwtcmlnaHQgdGV4dC1sZWZ0Ij4KICAgIAogICAgCiAgICA8bGkgY2xhc3M9ImRyb3Bkb3duLWhlYWRlciI+RmlsZSBBY2Nlc3MgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZmlsZSI+PC9zcGFuPjwvbGk+CiAgICA8bGk+PHNwYW4gY2xhc3M9ImRyb3Bkb3duLWl0ZW0tdGV4dCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWdsb2JlIHRleHQtc3VjY2VzcyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXN1Y2Nlc3MiPiBQdWJsaWM8L3NwYW4+CiAgICAgICAgPC9zcGFuPjwvbGk+CiAgICAgICAgCiAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkRvd25sb2FkIE9wdGlvbnMgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+PC9saT48bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmpfaWR0MTM5MCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4tZG93bmxvYWQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxMzkwJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDEzOTAmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBQbGFpbiBUZXh0CiAgICAgICAgICAgIDwvYT48L2xpPgogICAgCiAgICAKICAgIAogICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkRvd25sb2FkIE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJkcm9wZG93bi1zdWJtZW51IHB1bGwtbGVmdCI+CiAgICAgICAgICAgIDxhIHRhYmluZGV4PSIwIj5EYXRhIEZpbGUgQ2l0YXRpb248L2E+CiAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmpfaWR0MTQyNSc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmpfaWR0MTQyNSd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPkVuZE5vdGUgWE1MPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxNDI4JzonZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxNDI4J30sJycpO3JldHVybiBmYWxzZSIgY2xhc3M9ImJ0bi1kb3dubG9hZCI+UklTPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxNDMxJzonZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQxNDMxJ30sJycpO3JldHVybiBmYWxzZSIgY2xhc3M9ImJ0bi1kb3dubG9hZCI+QmliVGVYPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+PC9saT4KICAgIAogICAgPGxpIHJvbGU9InByZXNlbnRhdGlvbiIgY2xhc3M9ImNsZWFyZml4Ij48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgZGF0YS1yaT0iMSIgZGF0YS1yaz0iczM6Ly9kdm4tY2xvdWQ6MTVlZDU3YTg3YjktOTlhYmMxNjJiNDU4IiBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLW9kZCB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3MzOi8vZHZuLWNsb3VkOjE1ZWQ1N2E4N2I5LTk5YWJjMTYyYjQ1OF9jaGVja2JveCIgcm9sZT0iY2hlY2tib3giIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSJTZWxlY3QgRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0IiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlSW5mb0luY2x1ZGUtZmlsZXNUYWJsZSIgY2xhc3M9InVpLW91dHB1dHBhbmVsIHVpLXdpZGdldCBtZWRpYSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtbGVmdCBjb2wtZmlsZS10aHVtYiIgc3R5bGU9InBhZGRpbmctdG9wOjRweDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1vYmplY3QgdGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSBjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGVOYW1lT3JpZ2luYWwiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICBFdXJvcGVhbl9Bc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVUeXBlIj5QbGFpbiBUZXh0PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlU2l6ZSI+IC0gMTAuNyBNQjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGVDcmVhdGVQdWJsaXNoLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj5QdWJsaXNoZWQgU2VwIDMwLCAyMDE3PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZG93bmxvYWRzLWJsb2NrIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZURvd25sb2FkQ291bnQiIGNsYXNzPSJ2aXNpYmxlLXhzLWJsb2NrIHZpc2libGUtc20tYmxvY2sgdmlzaWJsZS1tZC1pbmxpbmUgdmlzaWJsZS1sZy1pbmxpbmUiPjYyIERvd25sb2Fkczwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrc3VtLXRydW5jYXRlIGNoZWNrc3VtLXRvb2x0aXAiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6M3B4OyIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJ0b3AiIGRhdGEtaHRtbD0idHJ1ZSIgZGF0YS1jbGlwYm9hcmQtYWN0aW9uPSJjb3B5IiBkYXRhLWNsaXBib2FyZC10ZXh0PSIwYWU3YjQ2Mzk2MjZlYmFkNmFiNzdmNTRiZmNmZGQ2ZCIgdGl0bGU9IkNsaWNrIHRvIGNvcHkmbHQ7YnIvJmd0OzBhZTdiNDYzOTYyNmViYWQ2YWI3N2Y1NGJmY2ZkZDZkIj5NRDU6IDBhZTdiNDYzOTYyNmViYWQ2YWI3N2Y1NGJmY2ZkZDZkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNvcHkgYnRuLWNvcHkgY2hlY2tzdW0tdG9vbHRpcCIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJ0b3AiIGRhdGEtaHRtbD0idHJ1ZSIgZGF0YS1jbGlwYm9hcmQtYWN0aW9uPSJjb3B5IiBkYXRhLWNsaXBib2FyZC10ZXh0PSIwYWU3YjQ2Mzk2MjZlYmFkNmFiNzdmNTRiZmNmZGQ2ZCIgdGl0bGU9IkNsaWNrIHRvIGNvcHkmbHQ7YnIvJmd0OzBhZTdiNDYzOTYyNmViYWQ2YWI3N2Y1NGJmY2ZkZDZkIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImZpbGVEZXNjcmlwdGlvbiBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVEZXNjTm9uRW1wdHkiPlN1bW1hcnkgZGF0YSBmb3IgY29tYmluZWQgY29ob3J0PC9zcGFuPjwvZGl2PgogICAgICAgIDwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NDAlOyIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiBidXR0b24tYmxvY2sgdGV4dC1yaWdodCI+PGRpdiByb2xlPSJncm91cCIgY2xhc3M9ImJ0bi1ncm91cCIgYXJpYS1sYWJlbD0iRmlsZSBBY3Rpb25zIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuLXByZXZpZXcgYnRuIGJ0bi1saW5rIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgdGl0bGU9IlJlYWQgVGV4dCIgaHJlZj0iL2ZpbGUueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08vSEEyU1ZSJmFtcDt2ZXJzaW9uPTEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leWUtb3BlbiI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzci1vbmx5Ij5QcmV2aWV3ICJFdXJvcGVhbl9Bc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQiPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzo2cHggOHB4OyIgY2xhc3M9ImJ0bi1hY2Nlc3MtZmlsZSBidG4gYnRuLWxpbmsgYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIGRyb3Bkb3duLXRvZ2dsZSIgdGl0bGU9IkFjY2VzcyBGaWxlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzci1vbmx5Ij5BY2Nlc3MgRmlsZTwvc3Bhbj48c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHB1bGwtcmlnaHQgdGV4dC1sZWZ0Ij4KICAgIAogICAgCiAgICA8bGkgY2xhc3M9ImRyb3Bkb3duLWhlYWRlciI+RmlsZSBBY2Nlc3MgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZmlsZSI+PC9zcGFuPjwvbGk+CiAgICA8bGk+PHNwYW4gY2xhc3M9ImRyb3Bkb3duLWl0ZW0tdGV4dCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWdsb2JlIHRleHQtc3VjY2VzcyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXN1Y2Nlc3MiPiBQdWJsaWM8L3NwYW4+CiAgICAgICAgPC9zcGFuPjwvbGk+CiAgICAgICAgCiAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkRvd25sb2FkIE9wdGlvbnMgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+PC9saT48bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTM5MCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4tZG93bmxvYWQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxMzkwJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDEzOTAmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBQbGFpbiBUZXh0CiAgICAgICAgICAgIDwvYT48L2xpPgogICAgCiAgICAKICAgIAogICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkRvd25sb2FkIE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJkcm9wZG93bi1zdWJtZW51IHB1bGwtbGVmdCI+CiAgICAgICAgICAgIDxhIHRhYmluZGV4PSIwIj5EYXRhIEZpbGUgQ2l0YXRpb248L2E+CiAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTQyNSc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmpfaWR0MTQyNSd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPkVuZE5vdGUgWE1MPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxNDI4JzonZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxNDI4J30sJycpO3JldHVybiBmYWxzZSIgY2xhc3M9ImJ0bi1kb3dubG9hZCI+UklTPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxNDMxJzonZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQxNDMxJ30sJycpO3JldHVybiBmYWxzZSIgY2xhc3M9ImJ0bi1kb3dubG9hZCI+QmliVGVYPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+PC9saT4KICAgIAogICAgPGxpIHJvbGU9InByZXNlbnRhdGlvbiIgY2xhc3M9ImNsZWFyZml4Ij48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgZGF0YS1yaT0iMiIgZGF0YS1yaz0iczM6Ly9kdm4tY2xvdWQ6MTVlZDU3YWFiN2UtOTBhMmI2YzExMmViIiBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLWV2ZW4gdWktZGF0YXRhYmxlLXNlbGVjdGFibGUiIHJvbGU9InJvdyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9InVpLXNlbGVjdGlvbi1jb2x1bW4gdGV4dC1jZW50ZXIiPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zMzovL2R2bi1jbG91ZDoxNWVkNTdhYWI3ZS05MGEyYjZjMTEyZWJfY2hlY2tib3giIHJvbGU9ImNoZWNrYm94IiB0YWJpbmRleD0iMCIgYXJpYS1sYWJlbD0iU2VsZWN0IEV1cm9wZWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1tZXRhZGF0YSI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZUluZm9JbmNsdWRlLWZpbGVzVGFibGUiIGNsYXNzPSJ1aS1vdXRwdXRwYW5lbCB1aS13aWRnZXQgbWVkaWEiPgogICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWxlZnQgY29sLWZpbGUtdGh1bWIiIHN0eWxlPSJwYWRkaW5nLXRvcDo0cHg7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtb2JqZWN0IHRodW1ibmFpbC1ibG9jayB0ZXh0LWNlbnRlciI+PHNwYW4gY2xhc3M9Imljb24tZG9jdW1lbnQgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkgY29sLWZpbGUtbWV0YWRhdGEiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlTmFtZU9yaWdpbmFsIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZmlsZS54aHRtbD9wZXJzaXN0ZW50SWQ9ZG9pOjEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1omYW1wO3ZlcnNpb249MS4wIj4KICAgICAgICAgICAgICAgICAgICAgICAgRXVyb3BlYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlVHlwZSI+UGxhaW4gVGV4dDwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZVNpemUiPiAtIDEyLjcgTUI8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlQ3JlYXRlUHVibGlzaC1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+UHVibGlzaGVkIFNlcCAzMCwgMjAxNzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImRvd25sb2Fkcy1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVEb3dubG9hZENvdW50IiBjbGFzcz0idmlzaWJsZS14cy1ibG9jayB2aXNpYmxlLXNtLWJsb2NrIHZpc2libGUtbWQtaW5saW5lIHZpc2libGUtbGctaW5saW5lIj44OSBEb3dubG9hZHM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaGVja3N1bS10cnVuY2F0ZSBjaGVja3N1bS10b29sdGlwIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjNweDsiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iODc2YmIzYjYwMDQ2MGZkYmZhYmMwMWViMDhjNDE0OTciIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDs4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5NyI+TUQ1OiA4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5Nzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jb3B5IGJ0bi1jb3B5IGNoZWNrc3VtLXRvb2x0aXAiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0idG9wIiBkYXRhLWh0bWw9InRydWUiIGRhdGEtY2xpcGJvYXJkLWFjdGlvbj0iY29weSIgZGF0YS1jbGlwYm9hcmQtdGV4dD0iODc2YmIzYjYwMDQ2MGZkYmZhYmMwMWViMDhjNDE0OTciIHRpdGxlPSJDbGljayB0byBjb3B5Jmx0O2JyLyZndDs4NzZiYjNiNjAwNDYwZmRiZmFiYzAxZWIwOGM0MTQ5NyI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmaWxlRGVzY3JpcHRpb24gc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlRGVzY05vbkVtcHR5Ij5TdW1tYXJ5IGRhdGEgZm9yIEV1cm9wZWFuIGNvaG9ydDwvc3Bhbj48L2Rpdj4KICAgICAgICA8L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjQwJTsiIGNsYXNzPSJjb2wtZmlsZS1hY3Rpb24gYnV0dG9uLWJsb2NrIHRleHQtcmlnaHQiPjxkaXYgcm9sZT0iZ3JvdXAiIGNsYXNzPSJidG4tZ3JvdXAiIGFyaWEtbGFiZWw9IkZpbGUgQWN0aW9ucyI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0bi1wcmV2aWV3IGJ0biBidG4tbGluayBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIHRpdGxlPSJSZWFkIFRleHQiIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0lONDVHWiZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXllLW9wZW4iPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+UHJldmlldyAiRXVyb3BlYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0Ijwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIHR5cGU9ImJ1dHRvbiIgc3R5bGU9InBhZGRpbmc6NnB4IDhweDsiIGNsYXNzPSJidG4tYWNjZXNzLWZpbGUgYnRuIGJ0bi1saW5rIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCBkcm9wZG93bi10b2dnbGUiIHRpdGxlPSJBY2Nlc3MgRmlsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Itb25seSI+QWNjZXNzIEZpbGU8L3NwYW4+PHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCI+CiAgICAKICAgIAogICAgPGxpIGNsYXNzPSJkcm9wZG93bi1oZWFkZXIiPkZpbGUgQWNjZXNzIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZpbGUiPjwvc3Bhbj48L2xpPgogICAgPGxpPjxzcGFuIGNsYXNzPSJkcm9wZG93bi1pdGVtLXRleHQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1nbG9iZSB0ZXh0LXN1Y2Nlc3MiPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1zdWNjZXNzIj4gUHVibGljPC9zcGFuPgogICAgICAgIDwvc3Bhbj48L2xpPgogICAgICAgIAogICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBPcHRpb25zIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPjwvbGk+PGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDEzOTAiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuLWRvd25sb2FkIiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTM5MCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6al9pZHQxMzkwJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgUGxhaW4gVGV4dAogICAgICAgICAgICA8L2E+PC9saT4KICAgIAogICAgCiAgICAKICAgIDxsaSBjbGFzcz0iZHJvcGRvd24taGVhZGVyIj5Eb3dubG9hZCBNZXRhZGF0YSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZHJvcGRvd24tc3VibWVudSBwdWxsLWxlZnQiPgogICAgICAgICAgICA8YSB0YWJpbmRleD0iMCI+RGF0YSBGaWxlIENpdGF0aW9uPC9hPgogICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDE0MjUnOidkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpqX2lkdDE0MjUnfSwnJyk7cmV0dXJuIGZhbHNlIiBjbGFzcz0iYnRuLWRvd25sb2FkIj5FbmROb3RlIFhNTDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTQyOCc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTQyOCd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPlJJUzwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTQzMSc6J2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0MTQzMSd9LCcnKTtyZXR1cm4gZmFsc2UiIGNsYXNzPSJidG4tZG93bmxvYWQiPkJpYlRlWDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPjwvbGk+CiAgICAKICAgIDxsaSByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJjbGVhcmZpeCI+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgdHlwZT0iaGlkZGVuIiBhdXRvY29tcGxldGU9Im9mZiIgYXJpYS1oaWRkZW49InRydWUiIHZhbHVlPSIiIC8+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRhdGFUYWJsZSIsImZpbGVzVGFibGUiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixzZWxlY3Rpb25Nb2RlOiJjaGVja2JveCIscm93U2VsZWN0TW9kZToiY2hlY2tib3giLGdyb3VwQ29sdW1uSW5kZXhlczpbXSxkaXNhYmxlQ29udGV4dE1lbnVJZkVtcHR5OmZhbHNlLGJlaGF2aW9yczp7cm93VW5zZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdCIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dmFsaWRhdGVGaWxlc091dGNvbWUgZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtyZWJpbmRDb21tYW5kKCk7fX0sZXh0KTt9LHJvd1Vuc2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdENoZWNrYm94IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93RGJsc2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93RGJsc2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scGFnZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLGU6InBhZ2UiLGY6ImRhdGFzZXRGb3JtIixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7cmVmcmVzaFBhZ2luYXRvcigpLHJlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93U2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93U2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30sdG9nZ2xlU2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToidG9nZ2xlU2VsZWN0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp2YWxpZGF0ZUZpbGVzT3V0Y29tZSBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe3JlYmluZENvbW1hbmQoKTt9fSxleHQpO30scm93U2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dTZWxlY3RDaGVja2JveCIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dmFsaWRhdGVGaWxlc091dGNvbWUgZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtyZWJpbmRDb21tYW5kKCk7fX0sZXh0KTt9fX0pO30pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIxIj48ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgdGFiLWhlYWRlciBtYXJnaW4tYm90dG9tIHRleHQtcmlnaHQiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLWV4cG9ydCBkcm9wZG93bi10b2dnbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leHBvcnQiPjwvc3Bhbj4gRXhwb3J0IE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1yaWdodCB0ZXh0LWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/ZXhwb3J0ZXI9ZGN0ZXJtcyZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL05KN1hTTyIgdGFyZ2V0PSJfYmxhbmsiPkR1YmxpbiBDb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/ZXhwb3J0ZXI9ZGRpJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+RERJPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/ZXhwb3J0ZXI9RGF0YWNpdGUmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5EYXRhQ2l0ZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2V4cG9ydGVyPWh0bWwmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5EREkgSFRNTCBDb2RlYm9vazwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2V4cG9ydGVyPWRhdGF2ZXJzZV9qc29uJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+SlNPTjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP2V4cG9ydGVyPU9BSV9PUkUmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5PQUlfT1JFPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/ZXhwb3J0ZXI9b2FpX2RhdGFjaXRlJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+T3BlbkFJUkU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvZGF0YXNldHMvZXhwb3J0O2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT9leHBvcnRlcj1zY2hlbWEub3JnJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+U2NoZW1hLm9yZyBKU09OLUxEPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTU0MCI+PC9kaXY+PGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiPgogICAgICAgIDxwPgogICAgICAgIDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlMCIgY2xhc3M9InBhbmVsLWhlYWRpbmcgdGV4dC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICBDaXRhdGlvbiBNZXRhZGF0YSDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZTAiIGNsYXNzPSJjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSBtZXRhZGF0YS1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Im1ldGFkYXRhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9wZXJzaXN0ZW50SWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlcnNpc3RlbnQgSWRlbnRpZmllcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBEYXRhc2V0J3MgdW5pcXVlIHBlcnNpc3RlbnQgaWRlbnRpZmllciwgZWl0aGVyIGEgRE9JIG9yIEhhbmRsZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5kb2k6MTAuNzkxMC9EVk4vTko3WFNPPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48dHIgaWQ9Im1ldGFkYXRhX3B1YmxpY2F0aW9uRGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gRGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBwdWJsaWNhdGlvbiBkYXRlIG9mIGEgRGF0YXNldC4iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAxNy0wOS0zMDwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV90aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgbWFpbiB0aXRsZSBvZiB0aGUgRGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+U3VtbWFyeSBkYXRhIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgR1dBUzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfYXV0aG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgZW50aXR5LCBlLmcuIGEgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiwgdGhhdCBjcmVhdGVkIHRoZSBEYXRhc2V0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5JbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUyk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im1ldGFkYXRhX2RhdGFzZXRDb250YWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2ludCBvZiBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGVudGl0eSwgZS5nLiBhIHBlcnNvbiBvciBvcmdhbml6YXRpb24sIHRoYXQgdXNlcnMgb2YgdGhlIERhdGFzZXQgY2FuIGNvbnRhY3Qgd2l0aCBxdWVzdGlvbnMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPlVzZSBlbWFpbCBidXR0b24gYWJvdmUgdG8gY29udGFjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5MaSwgWmhpeGl1IChRVVQpIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfZHNEZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBIHN1bW1hcnkgZGVzY3JpYmluZyB0aGUgcHVycG9zZSwgbmF0dXJlLCBhbmQgc2NvcGUgb2YgdGhlIERhdGFzZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPlN1bW1hcnkgb2YgYXNzb2NpYXRpb24gdGVzdHMgZm9yIE5hdHVyZSBHZW5ldGljcyBwdWJsaWNhdGlvbiAiSWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kiLjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ibWV0YWRhdGFfc3ViamVjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBhcmVhIG9mIHN0dWR5IHJlbGV2YW50IHRvIHRoZSBEYXRhc2V0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5NZWRpY2luZSwgSGVhbHRoIGFuZCBMaWZlIFNjaWVuY2VzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9rZXl3b3JkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXl3b3JkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQSBrZXkgdGVybSB0aGF0IGRlc2NyaWJlcyBhbiBpbXBvcnRhbnQgYXNwZWN0IG9mIHRoZSBEYXRhc2V0IGFuZCBpbmZvcm1hdGlvbiBhYm91dCBhbnkgY29udHJvbGxlZCB2b2NhYnVsYXJ5IHVzZWQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+PHRkPkdlbm9tZS1XaWRlIEFzc29jaWF0aW9uIFN0dWRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5Bbmt5bG9zaW5nIHNwb25keWxpdGlzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9wdWJsaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXRlZCBQdWJsaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gdG9vbHRpcC1pY29uIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBhcnRpY2xlIG9yIHJlcG9ydCB0aGF0IHVzZXMgdGhlIGRhdGEgaW4gdGhlIERhdGFzZXQuIFRoZSBmdWxsIGxpc3Qgb2YgcmVsYXRlZCBwdWJsaWNhdGlvbnMgd2lsbCBiZSBkaXNwbGF5ZWQgb24gdGhlIG1ldGFkYXRhIHRhYiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+MTAuMTAzOC9uZy4yNjY3IGRvaTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9ub3Rlc1RleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+RXVyb3BlYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIEV1cm9wZWFuIGNvaG9ydCBBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgQXNpYW4gY29ob3J0IEV1cm9wZWFuX0FzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBjb21iaW5lZCBjb2hvcnQ8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im1ldGFkYXRhX2RlcG9zaXRvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwb3NpdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcXVlc3Rpb24tc2lnbiB0b29sdGlwLWljb24iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGVudGl0eSwgc3VjaCBhcyBhIHBlcnNvbiBvciBvcmdhbml6YXRpb24sIHRoYXQgZGVwb3NpdGVkIHRoZSBEYXRhc2V0IGluIHRoZSByZXBvc2l0b3J5Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPjx0ZD5MaSwgWmhpeGl1PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGlkPSJtZXRhZGF0YV9kYXRlT2ZEZXBvc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBvc2l0IERhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgZGF0ZSB3aGVuIHRoZSBEYXRhc2V0IHdhcyBkZXBvc2l0ZWQgaW50byB0aGUgcmVwb3NpdG9yeSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD48dGQ+MjAxNy0wOS0zMDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogPHNjcmlwdD4KICAgIC8vPCFbQ0RBVEFbCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgLy9UaGUgc2VsZWN0MiB3aWRnZXQgdXNlZCBpbiBleHRlcm5hbCB2b2NhYiBzY3JpcHRzIGhhcyB0cm91YmxlIGRldGVybWluaW5nIHRoZSB3aWR0aCBvZiBhbiBpbnB1dCBmaWVsZCBpZiBpdCBpcyBpbml0aWFsbHkgaGlkZGVuCiAgICAgIC8vU3RhcnRpbmcgd2l0aCB0aGUgbWV0YWRhdGFibG9ja3MgZGlzcGxheWVkIGFuZCBjb2xsYXBzaW5nIHRoZW0gaGVyZSBpcyBhIHdvcmstYXJvdW5kIHRvIGZpeCB0aGF0LgogICAgICBpZihmYWxzZSkgewogICAgICAgIGZvcihsZXQgaT0xO2k8IDE7aSsrKSB7CiAgICAgICAgICAkKCcjcGFuZWxDb2xsYXBzZScraSkuY29sbGFwc2UoJ2hpZGUnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogICAgLy9dXT4KICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIyIj4KICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIj4KICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2VUT1UiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIHRleHQtaW5mbyI+CiAgICAgICAgICAgICAgIERhdGFzZXQgVGVybXMgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZVRPVSIgY2xhc3M9ImNvbGxhcHNlIGluIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnRvdUZyYWdtZW50Ij4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJkYXRhc2V0Rm9ybTp0YWJWaWV3Om1ldGFkYXRhX1Rlcm1zIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaWNlbnNlL0RhdGEgVXNlIEFncmVlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPk91ciA8YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmcvYmVzdC1wcmFjdGljZXMvZGF0YXZlcnNlLWNvbW11bml0eS1ub3JtcyIgdGl0bGU9IkRhdGF2ZXJzZSBDb21tdW5pdHkgTm9ybXMgLSBEYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+Q29tbXVuaXR5IE5vcm1zPC9hPiBhcyB3ZWxsIGFzIGdvb2Qgc2NpZW50aWZpYyBwcmFjdGljZXMgZXhwZWN0IHRoYXQgcHJvcGVyIGNyZWRpdCBpcyBnaXZlbiB2aWEgY2l0YXRpb24uIFBsZWFzZSB1c2UgdGhlIGRhdGEgY2l0YXRpb24gc2hvd24gb24gdGhlIGRhdGFzZXQgcGFnZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2xpY2Vuc2VidXR0b25zLm5ldC9wL3plcm8vMS4wLzg4eDMxLnBuZyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgb25sb2FkPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J2lubGluZSciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMCIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnMgQ0MwIDEuMCBVbml2ZXJzYWwgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uLiIgdGFyZ2V0PSJfYmxhbmsiPkNDMCAxLjA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PiAKICAgIDwvZGl2PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIzIj4KCiAgIDxzY3JpcHQ+CiAgICAgICAvLzwhW0NEQVRBWwogICAgICAgLy8gVmVyc2lvbiB0YWI6IFJldHJpZXZlIGRhdGEgYWZ0ZXIgcGFnZSBsb2FkCiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBwcmVsb2FkX21lc3NhZ2UgPSAiKExvYWRpbmcgdmVyc2lvbnMuLi4pIjsKICAgICAgICAgICAgJCgnI2RhdGFzZXRGb3JtXFw6dGFiVmlld1xcOnZlcnNpb25zVGFibGVfZGF0YSB0ci51aS1kYXRhdGFibGUtZW1wdHktbWVzc2FnZSB0ZCcpLnRleHQocHJlbG9hZF9tZXNzYWdlKTsKICAgICAgICAgICAgcG9zdExvYWRWZXJzaW9uVGFiTGlzdCgpOwogICAgICAgfSk7CiAgICAgICAvL11dPgogICA8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0MTg5MiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5wb3N0TG9hZFZlcnNpb25UYWJMaXN0ID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxODkyIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDE4OTIiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6Y29tcGFyZVZlcnNpb25zJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignZGV0YWlsc0Jsb2NrcycpLnNob3coKTtwb3N0X2RpZmZlcmVuY2VzKCk7O319KTtyZXR1cm4gZmFsc2U7IiBzdHlsZT0iZGlzcGxheTpub25lIiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EaXJlY3Q8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV90YWJWaWV3X2NvbXBhcmVWZXJzaW9ucyIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyJ9KTt9KTs8L3NjcmlwdD4KICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIgY2xhc3M9InVpLWRhdGF0YWJsZSB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS10YWJsZXdyYXBwZXIiPjx0YWJsZSByb2xlPSJncmlkIj48dGhlYWQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9oZWFkIj48dHIgcm9sZT0icm93Ij48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZTpqX2lkdDE4OTgiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1zbS0xIHRleHQtY2VudGVyIiByb2xlPSJjb2x1bW5oZWFkZXIiIGFyaWEtbGFiZWw9IkRhdGFzZXQgVmVyc2lvbiIgc2NvcGU9ImNvbCI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+RGF0YXNldCBWZXJzaW9uPC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxOTEwIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJTdW1tYXJ5IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5TdW1tYXJ5PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxOTUyIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMiIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJDb250cmlidXRvcnMiIHNjb3BlPSJjb2wiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPkNvbnRyaWJ1dG9yczwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlOmpfaWR0MTk1NyIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLXNtLTIiIHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0iUHVibGlzaGVkIG9uIiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5QdWJsaXNoZWQgb248L3NwYW4+PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfZGF0YSIgY2xhc3M9InVpLWRhdGF0YWJsZS1kYXRhIHVpLXdpZGdldC1jb250ZW50Ij48dHIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1lbXB0eS1tZXNzYWdlIj48dGQgY29sc3Bhbj0iNCI+Tm8gcmVjb3JkcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEYXRhVGFibGUiLCJ2ZXJzaW9uc1RhYmxlIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIsZ3JvdXBDb2x1bW5JbmRleGVzOltdLGRpc2FibGVDb250ZXh0TWVudUlmRW1wdHk6ZmFsc2V9KTt9KTs8L3NjcmlwdD48L2Rpdj48L2Rpdj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIHR5cGU9ImhpZGRlbiIgYXV0b2NvbXBsZXRlPSJvZmYiIGFyaWEtaGlkZGVuPSJ0cnVlIiB2YWx1ZT0iMCIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIlRhYlZpZXciLCJjb250ZW50Iix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXciLGVmZmVjdER1cmF0aW9uOiJub3JtYWwiLHNjcm9sbGFibGU6ZmFsc2UsYmVoYXZpb3JzOnt0YWJDaGFuZ2U6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldyIsZToidGFiQ2hhbmdlIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldyIsdToiZGF0YXNldEZvcm06dGFiVmlldyJ9LGV4dCk7fX19KTt9KTs8L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5NzUiIGNsYXNzPSJ1aS1ibG9ja3VpLWNvbnRlbnQgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWhpZGRlbiB1aS1zaGFkb3ciPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTk3NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJCbG9ja1VJIiwiYmxvY2tEYXRhc2V0Rm9ybSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE5NzUiLGJsb2NrOiJkYXRhc2V0Rm9ybSJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpmaWxlQWxyZWFkeURlbGV0ZWRQcmV2aW91cyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmZpbGVBbHJlYWR5RGVsZXRlZFByZXZpb3VzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5FZGl0IEZpbGU8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXNfY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFRoaXMgZmlsZSBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWQgKG9yIHJlcGxhY2VkKSBpbiB0aGUgY3VycmVudCB2ZXJzaW9uLiBJdCBtYXkgbm90IGJlIGVkaXRlZC48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMnKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMiLHtpZDoiZGF0YXNldEZvcm06ZmlsZUFscmVhZHlEZWxldGVkUHJldmlvdXMiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3QgQWNjZXNzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwX2NvbnRlbnQiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5NzciPjwvc3Bhbj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuZm9jdXMobnVsbCwgJ2RhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwJyk7fSk7PC9zY3JpcHQ+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJ0ZXh0LW11dGVkIj5SZXN0cmljdGluZyBsaW1pdHMgYWNjZXNzIHRvIHB1Ymxpc2hlZCBmaWxlcy4gUGVvcGxlIHdobyB3YW50IHRvIHVzZSB0aGUgcmVzdHJpY3RlZCBmaWxlcyBjYW4gcmVxdWVzdCBhY2Nlc3MgYnkgZGVmYXVsdC4gIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+SWYgeW91IGRpc2FibGUgcmVxdWVzdCBhY2Nlc3MsIHlvdSBtdXN0IGFkZCBpbmZvcm1hdGlvbiBhYm91dCBhY2Nlc3MgdG8gdGhlIFRlcm1zIG9mIEFjY2VzcyBmaWVsZC48L3NwYW4+CiAgICAgICAgICAgIDxwPjwvcD48c3BhbiBjbGFzcz0idGV4dC1tdXRlZCI+TGVhcm4gYWJvdXQgcmVzdHJpY3RpbmcgZmlsZXMgYW5kIGRhdGFzZXQgYWNjZXNzIGluIHRoZSA8YSBocmVmPSJodHRwczovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzUuMTIvdXNlci9kYXRhc2V0LW1hbmFnZW1lbnQuaHRtbCNyZXN0cmljdGVkLWZpbGVzLXRlcm1zLW9mLWFjY2VzcyIgdGl0bGU9IkRhdGF2ZXJzZSBVc2VyIEd1aWRlIiB0YXJnZXQ9Il9ibGFuayI+VXNlciBHdWlkZTwvYT4uPC9zcGFuPgogICAgICAgIDwvcD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5ODYiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dGVybXNvZkFjY2Vzc0hpZGRlbiIgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybTp0ZXJtc29mQWNjZXNzSGlkZGVuIiAvPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4iIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4iIHZhbHVlPSJmYWxzZSIgLz48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgUmVxdWVzdCBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJZiBjaGVja2VkLCB1c2VycyBjYW4gcmVxdWVzdCBhY2Nlc3MgdG8gdGhlIHJlc3RyaWN0ZWQgZmlsZXMgaW4gdGhpcyBkYXRhc2V0LiI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzMiIgY2xhc3M9InVpLXNlbGVjdGJvb2xlYW5jaGVja2JveCB1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczJfaW5wdXQiIG5hbWU9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyX2lucHV0IiB0eXBlPSJjaGVja2JveCIgYXV0b2NvbXBsZXRlPSJvZmYiIGFyaWEtbGFiZWw9IkVuYWJsZSBhY2Nlc3MgcmVxdWVzdCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgb25jaGFuZ2U9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06cmVxdWVzdEFjY2VzczImcXVvdDssZTomcXVvdDtjaGFuZ2UmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90OyxwOiZxdW90O2RhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06cmVzdHJpY3RGaWxlQnV0dG9uJnF1b3Q7fSk7IiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1sYWJlbCI+RW5hYmxlIGFjY2VzcyByZXF1ZXN0PC9zcGFuPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIlNlbGVjdEJvb2xlYW5DaGVja2JveCIsImlucHV0ZmFyIix7aWQ6ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MyIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnBvcHVwV2FybmluZyI+PGRpdiBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3M9InVpLW1lc3NhZ2UgdWktbWVzc2FnZS1lcnJvciB1aS13aWRnZXQgdWktY29ybmVyLWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1aS1tZXNzYWdlLWVycm9yLWRldGFpbCI+WW91IG11c3QgZW5hYmxlIHJlcXVlc3QgYWNjZXNzIG9yIGFkZCB0ZXJtcyBvZiBhY2Nlc3MgdG8gcmVzdHJpY3QgZmlsZSBhY2Nlc3MuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InRlcm1zQWNjZXNzSW5wdXQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MgZm9yIFJlc3RyaWN0ZWQgRmlsZXMKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJbmZvcm1hdGlvbiBvbiBob3cgYW5kIGlmIHVzZXJzIGNhbiBhY2Nlc3MgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIERhdGFzZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJkYXRhc2V0Rm9ybTp0ZXJtc0FjY2Vzc0lucHV0IiBuYW1lPSJkYXRhc2V0Rm9ybTp0ZXJtc0FjY2Vzc0lucHV0IiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHRhcmVhIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiBjb2xzPSIyMCIgcm93cz0iNSIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3IiBvbmtleXVwPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRlcm1zQWNjZXNzSW5wdXQmcXVvdDssZTomcXVvdDtrZXl1cCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGVybXNBY2Nlc3NJbnB1dCZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnJlc3RyaWN0RmlsZUJ1dHRvbiZxdW90O30pOyI+PC90ZXh0YXJlYT48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0ZXJtc0FjY2Vzc0lucHV0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIklucHV0VGV4dGFyZWEiLCJpbnB1dHRvYSIse2lkOiJkYXRhc2V0Rm9ybTp0ZXJtc0FjY2Vzc0lucHV0IixhdXRvUmVzaXplOmZhbHNlLGJlaGF2aW9yczp7fX0pO30pOzwvc2NyaXB0PiAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06cmVzdHJpY3RGaWxlQnV0dG9uIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0idGVzdFRPQSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnJlc3RyaWN0RmlsZUJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06cG9wdXBXYXJuaW5nJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyI+U2F2ZSBDaGFuZ2VzPC9hPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdhY2Nlc3NQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+IAoKICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJhY2Nlc3NQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTphY2Nlc3NQb3B1cCIsbW9kYWw6dHJ1ZSx3aWR0aDoiNzAwcHgiLGhlaWdodDoiMzUwcHgifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmZpbGVFbWJhcmdvUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkVkaXQgRW1iYXJnbzwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwX2NvbnRlbnQiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE5OTQiPjwvc3Bhbj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuZm9jdXMoJ2RhdGFzZXRGb3JtOmZpbGVFbWJhcmdvRGF0ZScpO30pOzwvc2NyaXB0PjxwIGNsYXNzPSJ0ZXh0LWRhbmdlciBlbWJhcmdvIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+VGhlIHNlbGVjdGVkIGZpbGUgb3IgZmlsZXMgaGF2ZSBhbHJlYWR5IGJlZW4gcHVibGlzaGVkLiBDb250YWN0IGFuIGFkbWluaXN0cmF0b3IgdG8gY2hhbmdlIHRoZSBlbWJhcmdvIGRhdGUgb3IgcmVhc29uIG9mIHRoZSBmaWxlIG9yIGZpbGVzLjwvcD48c3BhbiBpZD0iZGF0YXNldEZvcm06ZW1iYXJnb0lucHV0cyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtYmFyZ28iPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1iYXJnbyI+CiAgICAgICAgICAgIDwvZGl2Pjwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmZpbGVFbWJhcmdvUG9wdXBDYW5jZWxCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVFbWJhcmdvUG9wdXBDYW5jZWxCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tbGluayIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdmaWxlRW1iYXJnb1BvcHVwJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06ZW1iYXJnb0lucHV0cyZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2ZpbGVFbWJhcmdvUG9wdXBDYW5jZWxCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cENhbmNlbEJ1dHRvbiJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlRW1iYXJnb1BvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImZpbGVFbWJhcmdvUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZmlsZUVtYmFyZ29Qb3B1cCIscmVzaXphYmxlOmZhbHNlLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVGaWxlQ29uZmlybSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUZpbGVDb25maXJtX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRmlsZXM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlRmlsZUNvbmZpcm1fY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IFRoZSBmaWxlIHdpbGwgYmUgZGVsZXRlZCBhZnRlciB5b3UgY2xpY2sgb24gdGhlIERlbGV0ZSBidXR0b24uPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gRmlsZXMgd2lsbCBub3QgYmUgcmVtb3ZlZCBmcm9tIHByZXZpb3VzbHkgcHVibGlzaGVkIHZlcnNpb25zIG9mIHRoZSBkYXRhc2V0LjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAyNSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDI1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyMDI1JnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+RGVsZXRlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAyNV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjAyNSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIwMjUifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZUZpbGVDb25maXJtYXRpb24nKS5oaWRlKCkiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVsZXRlRmlsZUNvbmZpcm1fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlRmlsZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVGaWxlQ29uZmlybSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cF9jb250ZW50Ij4KCiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJ0ZXh0LWxlZnQiPiA8YnIvPjwvc3Bhbj4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwMzAiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjAzMCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2NvbmZpZ3VyZVRvb2xQb3B1cCcpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjAzMCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7bWVzc2FnZVBhbmVsJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjAzMF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjAzMCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIwMzAifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2NvbmZpZ3VyZVRvb2xQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06Y29uZmlndXJlVG9vbFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbmZpZ3VyZVRvb2xQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc19jb250ZW50Ij4KICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBvbmUgb3IgbW9yZSBmaWxlcy48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXMnKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXMiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXMiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwMzMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVzdHJpY3RGaWxlQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDIwMzMiLGY6ImRhdGFzZXRGb3JtIix1OiJtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgIC8vPCFbQ0RBVEFbCiAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RUT0EoKSB7CiAgICAgICAgICAgICAgICB2YXIgdGVybXNvZkFjY2Vzc0hpZGRlbiwgZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW47CiAgICAgICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICAgICAgICB0ZXJtc29mQWNjZXNzSGlkZGVuICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRhc2V0Rm9ybTp0ZXJtc29mQWNjZXNzSGlkZGVuIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuICA9ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOmZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuIikudmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKXsKICAgICAgICAgICAgICAgICAgICAgICAgdGVybXNvZkFjY2Vzc0hpZGRlbiAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZUZvcm06dGVybXNvZkFjY2Vzc0hpZGRlbiIpLnZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICBmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiAgPSAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlRm9ybTpmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiIpLnZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVBY2Nlc3NSZXF1ZXN0SGlkZGVuID09PSAnZmFsc2UnICYmIHRlcm1zb2ZBY2Nlc3NIaWRkZW4gPT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTm90IGNvbXBsaWFudCBzaG93IGVycm9yIGtlZXAgcG9wdXAgb3Blbi4uLgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2FjY2Vzc1BvcHVwJykuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdHJpY3RGaWxlQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgLy9dXT4KICAgIDwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TaGFyZSBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+U2hhcmUgdGhpcyBkYXRhc2V0IG9uIHlvdXIgZmF2b3JpdGUgc29jaWFsIG1lZGlhIG5ldHdvcmtzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2hhcnJyZS13aWRnZXQiIGRhdGEtdXJsPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9kYXRhc2V0LnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPIiBkYXRhLXRleHQ9IlZpZXcgdGhpcyBkYXRhc2V0LiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzaGFyZURpYWxvZycpLmhpZGUoKSIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNoYXJlRGlhbG9nIix7aWQ6ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06Y2l0YXRpb25zRGlhbG9nIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06Y2l0YXRpb25zRGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EYXRhc2V0IENpdGF0aW9uczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpjaXRhdGlvbnNEaWFsb2dfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5DaXRhdGlvbnMgZm9yIHRoaXMgZGF0YXNldCBhcmUgcmV0cmlldmVkIGZyb20gQ3Jvc3NyZWYgdmlhIERhdGFDaXRlIHVzaW5nIE1ha2UgRGF0YSBDb3VudCBzdGFuZGFyZHMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGRhdGFzZXQgbWV0cmljcywgcGxlYXNlIHJlZmVyIHRvIHRoZSA8YSBocmVmPSJodHRwczovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzUuMTIvdXNlci9kYXRhc2V0LW1hbmFnZW1lbnQuaHRtbCNkYXRhc2V0LW1ldHJpY3MtYW5kLW1ha2UtZGF0YS1jb3VudCIgdGl0bGU9IkRhdGFzZXQgTWV0cmljcyBhbmQgTWFrZSBEYXRhIENvdW50IC0gRGF0YXZlcnNlIFVzZXIgR3VpZGUiIHRhcmdldD0iX2JsYW5rIj5Vc2VyIEd1aWRlPC9hPi4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjaXRhdGlvbnMtbGlzdC1ibG9jayI+PGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3JyeSwgbm8gY2l0YXRpb25zIHdlcmUgZm91bmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjaXRhdGlvbnNEaWFsb2cnKS5oaWRlKCkiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpjaXRhdGlvbnNEaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY2l0YXRpb25zRGlhbG9nIix7aWQ6ImRhdGFzZXRGb3JtOmNpdGF0aW9uc0RpYWxvZyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkSW52YWxpZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkSW52YWxpZF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3RlZCBGaWxlcyBTZWxlY3RlZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZEludmFsaWRfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBUaGUgc2VsZWN0ZWQgZmlsZShzKSBtYXkgbm90IGJlIGRvd25sb2FkZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYmVlbiBncmFudGVkIGFjY2Vzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkb3dubG9hZEludmFsaWQnKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRJbnZhbGlkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkSW52YWxpZCIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZEludmFsaWQiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFRvb0xhcmdlIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRUb29MYXJnZV90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RG93bmxvYWQgT3B0aW9uczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFRvb0xhcmdlX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gIFRoZSBmaWxlcyBzZWxlY3RlZCBhcmUgdG9vIGxhcmdlIHRvIGRvd25sb2FkIGFzIGEgWklQLjwvcD4KICAKICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPllvdSBjYW4gc2VsZWN0IGluZGl2aWR1YWwgZmlsZXMgdGhhdCBhcmUgYmVsb3cgdGhlIDIwLjAgR0IgZG93bmxvYWQgbGltaXQgZnJvbSB0aGUgZmlsZXMgdGFibGUsIG9yIHVzZSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9ndWlkZXMuZGF0YXZlcnNlLm9yZy9lbi81LjEyL2FwaS9kYXRhYWNjZXNzLmh0bWwiIHRpdGxlPSJEYXRhIEFjY2VzcyBBUEkiIHRhcmdldD0iX2JsYW5rIj5EYXRhIEFjY2VzcyBBUEk8L2E+IGZvciBwcm9ncmFtbWF0aWMgYWNjZXNzIHRvIHRoZSBmaWxlcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkVG9vTGFyZ2VfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZG93bmxvYWRUb29MYXJnZSIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZFRvb0xhcmdlIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWRfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBkb3dubG9hZGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yRG93bmxvYWQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckRvd25sb2FkIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWQiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRNaXhlZF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3RlZCBGaWxlcyBTZWxlY3RlZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhlIHJlc3RyaWN0ZWQgZmlsZShzKSBzZWxlY3RlZCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYmVlbiBncmFudGVkIGFjY2Vzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5DbGljayBDb250aW51ZSB0byBkb3dubG9hZCB0aGUgZmlsZXMgeW91IGhhdmUgYWNjZXNzIHRvIGRvd25sb2FkLjwvcD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwNjQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjA2NCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2Rvd25sb2FkTWl4ZWQnKS5oaWRlKCl9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjA2NCZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjA2NF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjA2NCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIwNjQifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkb3dubG9hZE1peGVkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZE1peGVkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkTWl4ZWQiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWRNaXhlZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUNvbmZpcm1hdGlvbiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZUNvbmZpcm1hdGlvbl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQgYW5kIGFsbCBvZiBpdHMgZmlsZXM/IFlvdSBjYW5ub3QgdW5kZWxldGUgdGhpcyBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIwNjgiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjA2OCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyMDY4JnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMDY4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMDY4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjA2OCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVsZXRlQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIERyYWZ0IFZlcnNpb248L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBkcmFmdCB2ZXJzaW9uPyBGaWxlcyB3aWxsIGJlIHJldmVydGVkIHRvIHRoZSBtb3N0IHJlY2VudGx5IHB1Ymxpc2hlZCB2ZXJzaW9uLiBZb3UgY2Fubm90IHVuZGVsZXRlIHRoaXMgZHJhZnQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjA3MSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDcxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyMDcxJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMDcxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMDcxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjA3MSJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZVZlcnNpb25Db25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlbGV0ZVZlcnNpb25Db25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5VbnB1Ymxpc2hlZCBEYXRhc2V0IFByaXZhdGUgVVJMPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF9jb250ZW50Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsUGFuZWxDYW5ub3RDcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFByaXZhdGUgVVJMIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB1bnB1Ymxpc2hlZCB2ZXJzaW9ucyBvZiBkYXRhc2V0cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ3ByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJwcml2YXRlVXJsQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlVucHVibGlzaGVkIERhdGFzZXQgUHJpdmF0ZSBVUkw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZSBQcml2YXRlIFVSTD8gSWYgeW91IGhhdmUgc2hhcmVkIHRoZSBQcml2YXRlIFVSTCB3aXRoIG90aGVycyB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlIGFibGUgdG8gdXNlIGl0IHRvIGFjY2VzcyB5b3VyIHVucHVibGlzaGVkIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjA5NSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMDk1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDIwOTUmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnByaXZhdGVVcmxQYW5lbCBtZXNzYWdlUGFuZWwmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+WWVzLCBEaXNhYmxlIFByaXZhdGUgVVJMPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjA5NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjA5NSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIwOTUifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLmhpZGUoKTtQRigncHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLnNob3coKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06ZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlbGV0ZSBGaWxlczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb25fY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBUaGUgZmlsZShzKSB3aWxsIGJlIGRlbGV0ZWQgYWZ0ZXIgeW91IGNsaWNrIG9uIHRoZSBEZWxldGUgYnV0dG9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBGaWxlcyB3aWxsIG5vdCBiZSByZW1vdmVkIGZyb20gcHJldmlvdXNseSBwdWJsaXNoZWQgdmVyc2lvbnMgb2YgdGhlIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjEwMSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMTAxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDIxMDEmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EZWxldGU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyMTAxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQyMTAxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MjEwMSJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlSW52YWxpZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db21wdXRlPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhpcyBkYXRhc2V0IGNvbnRhaW5zIHJlc3RyaWN0ZWQgZmlsZXMgeW91IG1heSBub3QgY29tcHV0ZSBvbiBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2NvbXB1dGVJbnZhbGlkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXB1dGVJbnZhbGlkIix7aWQ6ImRhdGFzZXRGb3JtOmNvbXB1dGVJbnZhbGlkIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQyMTA0Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIxMDUiIGNsYXNzPSJ1aS1vdXRwdXRwYW5lbCB1aS13aWRnZXQiPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uPyBUaGUgc2VsZWN0ZWQgdmVyc2lvbihzKSB3aWxsIG5vIGxvbmdlciBiZSB2aWV3YWJsZSBieSB0aGUgcHVibGljLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDIxMzIiIHZhbHVlPSJZZXMiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCkiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uIHRoaXMgZGF0YXNldD8gSXQgd2lsbCBubyBsb25nZXIgYmUgdmlld2FibGUgYnkgdGhlIHB1YmxpYy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyMTM1IiB2YWx1ZT0iWWVzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiB0ZXh0LWRhbmdlciI+PC9zcGFuPiA8c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiPlBsZWFzZSBzZWxlY3QgdHdvIHZlcnNpb25zIHRvIHZpZXcgdGhlIGRpZmZlcmVuY2VzLjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjb21wYXJlVHdvJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29tcGFyZVR3byIse2lkOiJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpkZXRhaWxzQmxvY2tzX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2ZXJzaW9uLXRpdGxlIiBjbGFzcz0ibWFyZ2luLWJvdHRvbS1oYWxmIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idmVyc2lvbi1kZXRhaWxzLWJsb2NrIiBjbGFzcz0iIGNsZWFyZml4IG1hcmdpbi1ib3R0b20taGFsZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMKgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBVcGRhdGVkOiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IFVwZGF0ZWQ6IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZXRhaWxzQmxvY2tzJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2Nrc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZXRhaWxzQmxvY2tzIix7aWQ6ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2Vzc19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIGZvciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEVtYmFyZ29lZEZpbGVzRm9yUmVxdWVzdEFjY2Vzc19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IEVtYmFyZ29lZCBmaWxlcyBjYW5ub3QgYmUgYWNjZXNzZWQuIFBsZWFzZSBzZWxlY3QgYW4gdW5lbWJhcmdvZWQgZmlsZSBvciBmaWxlcyBmb3IgeW91ciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RW1iYXJnb2VkRmlsZXNGb3JSZXF1ZXN0QWNjZXNzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEVtYmFyZ29lZEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RFbWJhcmdvZWRGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RWRpdCBUYWdzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBfY29udGVudCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjIxOCI+PC9zcGFuPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5mb2N1cygnZGF0YXNldEZvcm06ZmlsZVRhZ3NNZW51RFMnKTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPlNlbGVjdCBleGlzdGluZyBmaWxlIHRhZ3Mgb3IgY3JlYXRlIG5ldyB0YWdzIHRvIGRlc2NyaWJlIHlvdXIgZmlsZXMuIEVhY2ggZmlsZSBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHRhZy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24mcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtQRignZmlsZVRhZ3NQb3B1cCcpLmhpZGUoKTt9fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24ifSk7fSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2ZpbGVUYWdzUG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImZpbGVUYWdzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTphY2Nlc3NTaWduVXBMb2dJbl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIHRleHQtZGFuZ2VyIj48L3NwYW4+wqAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciI+WW91IG5lZWQgdG8gPGEgaHJlZj0iL2xvZ2lucGFnZS54aHRtbD9yZWRpcmVjdFBhZ2U9JTJGZGF0YXNldC54aHRtbCUzRnBlcnNpc3RlbnRJZCUzRGRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iIHRhcmdldD0iX3NlbGYiIHRpdGxlPSJMb2cgaW50byB5b3VyIERhdGF2ZXJzZSBBY2NvdW50Ij5Mb2cgSW48L2E+IHRvIHJlcXVlc3QgYWNjZXNzLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignYWNjZXNzU2lnblVwTG9nSW5fcG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImFjY2Vzc1NpZ25VcExvZ0luX3BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmFjY2Vzc1NpZ25VcExvZ0luIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRhdGFzZXQgVGVybXM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cF9jb250ZW50Ij48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQyMjUwIj48L3NwYW4+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmZvY3VzKG51bGwsICdkYXRhc2V0Rm9ybTpndWVzdGJvb2tVSUZyYWdtZW50Jyk7fSk7PC9zY3JpcHQ+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICBUaGlzIGRhdGFzZXQgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIGZvbGxvd2luZyB0ZXJtcy4gUGxlYXNlIGNvbmZpcm0gYW5kL29yIGNvbXBsZXRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYmVsb3cgaW4gb3JkZXIgdG8gY29udGludWUuCiAgICAgICAgPC9wPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmd1ZXN0Ym9va01lc3NhZ2VzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIG1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCB0ZXJtcyI+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGZvcj0iZGF0YXNldEZvcm06ZmRMaWNlbnNlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICBMaWNlbnNlL0RhdGEgVXNlIEFncmVlbWVudCA8L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+T3VyIDxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLm9yZy9iZXN0LXByYWN0aWNlcy9kYXRhdmVyc2UtY29tbXVuaXR5LW5vcm1zIiB0aXRsZT0iRGF0YXZlcnNlIENvbW11bml0eSBOb3JtcyAtIERhdGF2ZXJzZS5vcmciIHRhcmdldD0iX2JsYW5rIj5Db21tdW5pdHkgTm9ybXM8L2E+IGFzIHdlbGwgYXMgZ29vZCBzY2llbnRpZmljIHByYWN0aWNlcyBleHBlY3QgdGhhdCBwcm9wZXIgY3JlZGl0IGlzIGdpdmVuIHZpYSBjaXRhdGlvbi4gUGxlYXNlIHVzZSB0aGUgZGF0YSBjaXRhdGlvbiBzaG93biBvbiB0aGUgZGF0YXNldCBwYWdlLgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbGljZW5zZWJ1dHRvbnMubmV0L3AvemVyby8xLjAvODh4MzEucG5nIiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9ucyBDQzAgMS4wIFVuaXZlcnNhbCBQdWJsaWMgRG9tYWluIERlZGljYXRpb24uIiBzdHlsZT0iZGlzcGxheTogbm9uZSIgb25sb2FkPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J2lubGluZSciIC8+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wIiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9ucyBDQzAgMS4wIFVuaXZlcnNhbCBQdWJsaWMgRG9tYWluIERlZGljYXRpb24uIiB0YXJnZXQ9Il9ibGFuayI+Q0MwIDEuMAogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDIzNTIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjM1MiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjM1MiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06Z3Vlc3Rib29rVUlGcmFnbWVudCZxdW90OyxwYTpbe25hbWU6JnF1b3Q7RE9fR0JfVkFMSURBVElPTl9kb3dubG9hZERhdGFzZXQmcXVvdDssdmFsdWU6JnF1b3Q7dHJ1ZSZxdW90O31dfSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+QWNjZXB0PC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjM1Ml9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjM1MiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDIzNTIifSk7fSk7PC9zY3JpcHQ+PGJ1dHRvbiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDIzNjAiIHZhbHVlPSIiIG9uY2xpY2s9IlBGKCdkb3dubG9hZFBvcHVwJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5rIj4KICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnByZXZpZXdHdWVzdGJvb2siIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgbGFyZ2VQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpwcmV2aWV3R3Vlc3Rib29rX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QcmV2aWV3IEd1ZXN0Ym9vazwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpwcmV2aWV3R3Vlc3Rib29rX2NvbnRlbnQiPgogICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIj4KICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgVXBvbiBkb3dubG9hZGluZyBmaWxlcyB0aGUgZ3Vlc3Rib29rIGFza3MgZm9yIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24uCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgIEd1ZXN0Ym9vayBOYW1lCiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTgiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgQ29sbGVjdGVkIERhdGEKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1xdWVzdGlvbi1zaWduIHRvb2x0aXAtaWNvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJVc2VyIGRhdGEgY29sbGVjdGVkIGJ5IHRoZSBndWVzdGJvb2suIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTgiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5BY2NvdW50IEluZm9ybWF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRigndmlld0d1ZXN0Ym9vaycpLmhpZGUoKSIgdHlwZT0iYnV0dG9uIj4KICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnByZXZpZXdHdWVzdGJvb2tfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwidmlld0d1ZXN0Ym9vayIse2lkOiJkYXRhc2V0Rm9ybTpwcmV2aWV3R3Vlc3Rib29rIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQYWNrYWdlUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UGFja2FnZSBGaWxlIERvd25sb2FkPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwX2NvbnRlbnQiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnBhY2thZ2VQb3B1cERvd25sb2FkSW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4KICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2sgbm8tbWFyZ2luLXRvcCI+VXNlIHRoZSBEb3dubG9hZCBVUkwgaW4gYSBXZ2V0IGNvbW1hbmQgb3IgYSBkb3dubG9hZCBtYW5hZ2VyIHRvIGRvd25sb2FkIHRoaXMgcGFja2FnZSBmaWxlLiBEb3dubG9hZCB2aWEgd2ViIGJyb3dzZXIgaXMgbm90IHJlY29tbWVuZGVkLiA8YSBocmVmPSJodHRwczovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzUuMTIvdXNlci9maW5kLXVzZS1kYXRhLmh0bWwjZG93bmxvYWRpbmctYS1kYXRhdmVyc2UtcGFja2FnZS12aWEtdXJsIiB0aXRsZT0iVXNlciBHdWlkZSAtIERvd25sb2FkaW5nIGEgRGF0YXZlcnNlIFBhY2thZ2UgdmlhIFVSTCIgdGFyZ2V0PSJfYmxhbmsiPlVzZXIgR3VpZGUgLSBEb3dubG9hZGluZyBhIERhdGF2ZXJzZSBQYWNrYWdlIHZpYSBVUkw8L2E+CiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIgbWFyZ2luLWJvdHRvbSI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4KICAgICAgICAgICAgPGxhYmVsPkRvd25sb2FkIFVSTDwvbGFiZWw+IAogICAgICAgICAgICA8cD48Y29kZT5odHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS9hcGkvYWNjZXNzL2RhdGFmaWxlLzwvY29kZT48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIGJ1dHRvbi1ibG9jayBtYXJnaW4tdG9wIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZG93bmxvYWRQYWNrYWdlUG9wdXBDYW5jZWxCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdkb3dubG9hZFBhY2thZ2VQb3B1cCcpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uJnF1b3Q7LGY6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cCZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBhY2thZ2VQb3B1cENhbmNlbEJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2Rvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwQ2FuY2VsQnV0dG9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkUGFja2FnZVBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmRvd25sb2FkUGFja2FnZVBvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzUG9wdXBfY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICBQbGVhc2UgY29uZmlybSBhbmQvb3IgY29tcGxldGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCBiZWxvdyBpbiBvcmRlciB0byByZXF1ZXN0IGFjY2VzcyB0byBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0NjciIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MjQ2NyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQ2NyZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHU6JnF1b3Q7QChbaWQkPXJlcXVlc3RBY2Nlc3NDb25zb2xpZGF0ZWRdKSBAKFtpZCQ9cmVxdWVzdFBhbmVsXSkgQChbaWQkPW1lc3NhZ2VQYW5lbF0pIEAoW2lkJD1maWxlc1RhYmxlXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3MsZGF0YSl7UEYoJ3JlcXVlc3RBY2Nlc3NQb3B1cCcpLmhpZGUoKTs7fX0pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkFjY2VwdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0NjdfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0NjciLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDY3In0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJyZXF1ZXN0QWNjZXNzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyNDg1IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmxpbmtEYXRhc2V0Q29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI0ODUiLGY6ImRhdGFzZXRGb3JtIix1OiJtZXNzYWdlUGFuZWwgQChbaWQkPU1lc3NhZ2VzXSkiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzLGRhdGEpe1BGKCdsaW5rRGF0YXNldEZvcm0nKS5oaWRlKCk7O30scGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVCYXRjaExpc3RQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkNvbXB1dGUgQmF0Y2g8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoTGlzdFBvcHVwX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1yZW1vdmUiPjwvc3Bhbj5DbGVhciBCYXRjaDxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjQ4NyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyNDg3IiBjbGFzcz0iIGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI0ODcmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPnVpLWJ1dHRvbjwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI0ODdfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI0ODciLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNDg3In0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48dGFibGUgaWQ9ImRhdGFzZXRGb3JtOmNvbXB1dGVCYXRjaCIgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiPgo8dGhlYWQ+Cjx0cj4KPHRoIHNjb3BlPSJjb2wiPkRhdGFzZXQ8L3RoPgo8dGggc2NvcGU9ImNvbCI+UGVyc2lzdGVudCBJZGVudGlmaWVyPC90aD4KPHRoIHNjb3BlPSJjb2wiPkNoYW5nZSBDb21wdXRlIEJhdGNoPC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgo8dHI+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5Pgo8L3RhYmxlPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS87anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxIiBvbmNsaWNrPSJQRignY29tcHV0ZUJhdGNoTGlzdFBvcHVwJykuaGlkZSgpIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCI+Q29tcHV0ZSBCYXRjaDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluayIgb25jbGljaz0iUEYoJ2NvbXB1dGVCYXRjaExpc3RQb3B1cCcpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoTGlzdFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXB1dGVCYXRjaExpc3RQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlldyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U3VibWl0IGZvciBSZXZpZXc8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06aW5yZXZpZXdfY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IFlvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIGRhdGFzZXQgd2hpbGUgaXQgaXMgaW4gcmV2aWV3LgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNTA2IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDI1MDYiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdpbnJldmlldycpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjUwNiZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlN1Ym1pdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1MDZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI1MDYiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNTA2In0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignaW5yZXZpZXcnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmlucmV2aWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImlucmV2aWV3Iix7aWQ6ImRhdGFzZXRGb3JtOmlucmV2aWV3Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cHVibGlzaERhdGFzZXQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHVibGlzaERhdGFzZXRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiIGlkPSJkYXRhc2V0Rm9ybTpwdWJsaXNoRGF0YXNldF9jb250ZW50Ij48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNTE5Ij48L3NwYW4+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmZvY3VzKCdkYXRhc2V0Rm9ybTpvcHRpb25zJyk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlcHVibGlzaCB0aGlzIGRhdGFzZXQ/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBjbGFzcz0id2VsbCB0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siPkJ5IGRlZmF1bHQgZGF0YXNldHMgYXJlIHB1Ymxpc2hlZCB3aXRoIHRoZSBDQzAt4oCcUHVibGljIERvbWFpbiBEZWRpY2F0aW9u4oCdIHdhaXZlci4gTGVhcm4gbW9yZSBhYm91dCB0aGUgQ0MwIHdhaXZlciA8YSB0YXJnZXQ9X2JsYW5rIGhyZWY9J2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyc+aGVyZTwvYT4uIDxicj48YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IGlmIHRoaXMgaXMgYSBtaW5vciBvciBtYWpvciB2ZXJzaW9uIHVwZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+PHRhYmxlIGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiByb2xlPSJwcmVzZW50YXRpb24iIGNsYXNzPSJ1aS1zZWxlY3RvbmVyYWRpbyB1aS13aWRnZXQiPjx0cj48dGQ+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24gdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06b3B0aW9uczowIiBuYW1lPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiB0eXBlPSJyYWRpbyIgdmFsdWU9IjEiIGNoZWNrZWQ9ImNoZWNrZWQiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24tYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIj48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYnVsbGV0IHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48bGFiZWwgZm9yPSJkYXRhc2V0Rm9ybTpvcHRpb25zOjAiPk1pbm9yIFJlbGVhc2UgKDEuMSk8L2xhYmVsPjwvdGQ+PHRkPjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uIHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSIgbmFtZT0iZGF0YXNldEZvcm06b3B0aW9ucyIgdHlwZT0icmFkaW8iIHZhbHVlPSIyIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uLWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSI+TWFqb3IgUmVsZWFzZSAoMi4wKTwvbGFiZWw+PC90ZD48L3RyPjwvdGFibGU+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06b3B0aW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJTZWxlY3RPbmVSYWRpbyIsIndpZGdldF9kYXRhc2V0Rm9ybV9vcHRpb25zIix7aWQ6ImRhdGFzZXRGb3JtOm9wdGlvbnMiLHVuc2VsZWN0YWJsZTpmYWxzZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQyNTM3IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDI1MzciIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdwdWJsaXNoRGF0YXNldCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjUzNyZxdW90OyxmOiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjUzN19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MjUzNyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDI1MzcifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmsiIG9uY2xpY2s9IlBGKCdwdWJsaXNoRGF0YXNldCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnB1Ymxpc2hEYXRhc2V0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInB1Ymxpc2hEYXRhc2V0Iix7aWQ6ImRhdGFzZXRGb3JtOnB1Ymxpc2hEYXRhc2V0Iixtb2RhbDp0cnVlLHdpZHRoOiI3MCUifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTptYXlOb3RSZWxlYXNlX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QdWJsaXNoIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZV9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj5UaGlzIGRhdGFzZXQgY2Fubm90IGJlIHB1Ymxpc2hlZCB1bnRpbCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2RhdGF2ZXJzZS54aHRtbD9hbGlhcz1oYXJ2YXJkIiB0aXRsZT0iSGFydmFyZCBEYXRhdmVyc2UiPkhhcnZhcmQgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gIGlzIHB1Ymxpc2hlZCBieSBpdHMgYWRtaW5pc3RyYXRvci4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignbWF5Tm90UmVsZWFzZScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06bWF5Tm90UmVsZWFzZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJtYXlOb3RSZWxlYXNlIix7aWQ6ImRhdGFzZXRGb3JtOm1heU5vdFJlbGVhc2UiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZW5kQmFja1RvQ29udHJpYnV0b3IiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VuZEJhY2tUb0NvbnRyaWJ1dG9yX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXR1cm4gdG8gQXV0aG9yPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgaWQ9ImRhdGFzZXRGb3JtOnNlbmRCYWNrVG9Db250cmlidXRvcl9jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gUmV0dXJuIHRoaXMgZGF0YXNldCB0byBjb250cmlidXRvciBmb3IgbW9kaWZpY2F0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjU1OCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQyNTU4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI1NTgmcXVvdDssZjomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1NThfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDI1NTgiLHtpZDoiZGF0YXNldEZvcm06al9pZHQyNTU4In0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VuZEJhY2tUb0NvbnRyaWJ1dG9yX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbmRCYWNrVG9Db250cmlidXRvciIse2lkOiJkYXRhc2V0Rm9ybTpzZW5kQmFja1RvQ29udHJpYnV0b3IiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1NjAiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmV0dXJuVG9BdXRob3JDb21tYW5kID0gZnVuY3Rpb24oKSB7cmV0dXJuIFByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0MjU2MCIsZjoiZGF0YXNldEZvcm0iLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1NjEiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+bGlua0VkaXRUZXJtcyA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI1NjEiLGY6ImRhdGFzZXRGb3JtIix1OiJkYXRhc2V0Rm9ybSBkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1NjIiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZWRpdE1lZGF0ZGF0YUNvbW1hbmQgPSBmdW5jdGlvbigpIHtyZXR1cm4gUHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06al9pZHQyNTYyIixmOiJkYXRhc2V0Rm9ybSIsdToiZGF0YXNldEZvcm0gZGF0YXNldEZvcm0gbWVzc2FnZVBhbmVsIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQyNTYzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmRhdGFzZXRTYXZlQ29tbWFuZCA9IGZ1bmN0aW9uKCkge3JldHVybiBQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDI1NjMiLGY6ImRhdGFzZXRGb3JtIix1OiJkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MiIgdmFsdWU9IjU1NDQwNzgyNTMzMjk1ODgyMTk6MjQwMDM4MjQyMDgyMzE2MDc5NiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBvcG92ZXJIVE1MKCdBbGxvd2VkIEhUTUwgVGFncycsICcmbHQ7YSZndDssICZsdDtiJmd0OywgJmx0O2Jsb2NrcXVvdGUmZ3Q7LCAmbHQ7YnImZ3Q7LCAmbHQ7Y29kZSZndDssICZsdDtkZWwmZ3Q7LCAmbHQ7ZGQmZ3Q7LCAmbHQ7ZGwmZ3Q7LCAmbHQ7ZHQmZ3Q7LCAmbHQ7ZW0mZ3Q7LCAmbHQ7aHImZ3Q7LCAmbHQ7aDEmZ3Q7LSZsdDtoMyZndDssICZsdDtpJmd0OywgJmx0O2ltZyZndDssICZsdDtrYmQmZ3Q7LCAmbHQ7bGkmZ3Q7LCAmbHQ7b2wmZ3Q7LCAmbHQ7cCZndDssICZsdDtwcmUmZ3Q7LCAmbHQ7cyZndDssICZsdDtzdXAmZ3Q7LCAmbHQ7c3ViJmd0OywgJmx0O3N0cm9uZyZndDssICZsdDtzdHJpa2UmZ3Q7LCAmbHQ7dSZndDssICZsdDt1bCZndDsnKTsKICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeURlc2NUcnVuY2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc3VtbWFyeURlc2NUcnVuY2F0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVuY2F0ZSBzdW1tYXJ5IGRlc2NyaXB0aW9uLCBjb250ZW50VHJ1bmNhdGUgZnVuY3Rpb24gaW4gZHZfcmViaW5kX2Jvb3RzdHJhcF91aS5qcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgc3VtbWFyeSBkZXNjIHJvdyBpZCB0byBwYXNzIGFzIHNlbGVjdG9yIHBhcmFtCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZXNjSWQgPSAnZHNEZXNjcmlwdGlvbic7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtZXRhZGF0YSBkeW5hbWljIGxhYmVsIHRleHQsIHRvb2x0aXAgdGV4dCBmcm9tIGJ1bmRsZSBhcyBwYXJhbQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHJ1bmNNb3JlQnRuID0gJ1JlYWQgZnVsbCBEZXNjcmlwdGlvbiBbK10nOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHJ1bmNNb3JlVGlwID0gJ0NsaWNrIHRvIHJlYWQgdGhlIGZ1bGwgRGVzY3JpcHRpb24uJzsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRydW5jTGVzc0J0biA9ICdDb2xsYXBzZSBEZXNjcmlwdGlvbiBbK10nOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHJ1bmNMZXNzVGlwID0gJ0NsaWNrIHRvIGNvbGxhcHNlIHRoZSBEZXNjcmlwdGlvbi4nOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyBidW5kbGUgdGV4dCB2YXJpYWJscyBhcyBwYXJhbXMgdG8gZnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFRydW5jYXRlKGRlc2NJZCwgdHJ1bmNNb3JlQnRuLCB0cnVuY01vcmVUaXAsIHRydW5jTGVzc0J0biwgdHJ1bmNMZXNzVGlwKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbkRpYWxvZygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RldGFpbHMnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW5Db21wYXJlVHdvKCkgewogICAgICAgICAgICAgICAgICAgICAgICBQRignY29tcGFyZVR3bycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZWRpdFRlcm1zKCl7ICAKICAgICAgICAgICAgICAgICAgICAgICAgbGlua0VkaXRUZXJtcygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBlZGl0TWV0YWRhdGEoKXsgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZFRPQSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRhc2V0Rm9ybTp2YWxpZFRlcm1zb2ZBY2Nlc3MiKS52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkVE9BID09PSAnZmFsc2UnKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdhY2Nlc3NQb3B1cCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRNZWRhdGRhdGFDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RDaGVja0JveGVzKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRigndmVyc2lvbnNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCAhPT0gMikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2NvbXBhcmVUd28nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJjb21wYXJlVmVyc2lvbnMiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZpbGVzU2VsZWN0ZWQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCdmaWxlc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3RGaWxlcycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RUZXJtc09mQWNjZXNzKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsaWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0YXNldEZvcm06dmFsaWRUZXJtc29mQWNjZXNzIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdhY2Nlc3NQb3B1cCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVRlbXBsYXRlKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJ1cGRhdGVUZW1wbGF0ZSJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlT3duZXJEYXRhdmVyc2UoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InVwZGF0ZU93bmVyRGF0YXZlcnNlIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93UG9wdXAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvdXRjb21lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOnZhbGlkYXRlRmlsZXNPdXRjb21lIikudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lID09PSdNaXhlZCcpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Rvd25sb2FkTWl4ZWQnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dGNvbWUgPT09J0ZhaWxFbXB0eScpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzRm9yRG93bmxvYWQnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dGNvbWUgPT09J0ZhaWxTaXplJyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZG93bmxvYWRUb29MYXJnZScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3V0Y29tZSA9PT0nRmFpbFJlc3RyaWN0ZWQnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkb3dubG9hZEludmFsaWQnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dGNvbWUgPT09J0d1ZXN0Ym9va1JlcXVpcmVkJyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZG93bmxvYWRQb3B1cCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0VE9BRGF0YXNldFBhZ2UoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ZXJtc29mQWNjZXNzSGlkZGVuLCBmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbjsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVybXNvZkFjY2Vzc0hpZGRlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRhc2V0Rm9ybTp0YWJWaWV3OnRlcm1zb2ZBY2Nlc3NIaWRkZW5MVCIpLnZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW4gID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZUFjY2Vzc1JlcXVlc3RIaWRkZW5MVCIpLnZhbHVlOyAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycm9yKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdGVybXMgbm90IHByZXNlbnQgc28gc2F2ZS4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhc2V0U2F2ZUNvbW1hbmQoKTsgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCdmYWxzZScgPT09ICd0cnVlJyAmJiBmaWxlQWNjZXNzUmVxdWVzdEhpZGRlbiA9PT0gJ2ZhbHNlJyAmJiB0ZXJtc29mQWNjZXNzSGlkZGVuID09PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAvL05vdCBjb21wbGlhbnQgc2hvdyBlcnJvciBrZWVwIHBhZ2Ugb3Blbi4uLgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhc2V0U2F2ZUNvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIC8vXV0+CiAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8L2Rpdj4KICAgIDxmb290ZXI+CiAgICAgICAgPGRpdiBpZD0iZHZmb290ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtc20tOCBzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvcHlyaWdodCAmIzE2OTsgMjAyMiwgVGhlIFByZXNpZGVudCAmIzM4OyBGZWxsb3dzIG9mIEhhcnZhcmQgQ29sbGVnZcKgfMKgIDxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5kYXRhdmVyc2UuaGFydmFyZC5lZHUvaGFydmFyZC1kYXRhdmVyc2UtcHJpdmFjeS1wb2xpY3kiIHJlbD0ibm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5IFBvbGljeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IHRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3dlcmVkYnlsb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBvd2VyZWQgYnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vZGF0YXZlcnNlLm9yZy8iIHRpdGxlPSJUaGUgRGF0YXZlcnNlIFByb2plY3QiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj48aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvZGF0YXZlcnNlX3Byb2plY3RfbG9nby5zdmciIHdpZHRoPSIxMTgiIGhlaWdodD0iNDAiIG9uZXJyb3I9InRoaXMuc3JjPScvcmVzb3VyY2VzL2ltYWdlcy9kYXRhdmVyc2Vwcm9qZWN0X2xvZ28ucG5nJyIgYWx0PSJUaGUgRGF0YXZlcnNlIFByb2plY3QgbG9nbyIgLz48L2E+PHNwYW4gY2xhc3M9InZlcnNpb24iPnYuIDUuMTIgYnVpbGQgcGlyYXRlLShleWUpLXBhdGNoPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj48c2NyaXB0PgogIC8vPCFbQ0RBVEFbCiAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgJCgiI2Zvb3RlciA+IGRpdi5jb250YWluZXIgPiBkaXYucm93ID4gZGl2LmNvbC1zbS04LnNtYWxsID4gcCIpLmFwcGVuZCgiJiMxNjA7fCYjMTYwOyA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaGFydmFyZC5lZHUvY29weXJpZ2h0LWlzc3VlXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5SZXBvcnQgQ29weXJpZ2h0IEluZnJpbmdlbWVudDwvYT4gJiMxNjA7fCYjMTYwOyA8YSBocmVmPVwiaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5Lmh1aXQuaGFydmFyZC5lZHUvZGlnaXRhbC1hY2Nlc3NpYmlsaXR5LXBvbGljeVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+QWNjZXNzaWJpbGl0eTwvYT4iKTsKICB9KTsKICAvL11dPgo8L3NjcmlwdD4KCjxzdHlsZT4KI2ZlZWRiYWNrVGFiIHtwb3NpdGlvbjpmaXhlZDsgYm90dG9tOjA7IHJpZ2h0OjUwcHg7fQojZmVlZGJhY2tUYWIgYS5idG4tZmVlZGJhY2sge2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDt9Ci5idG4tZmVlZGJhY2sge2JhY2tncm91bmQtY29sb3I6I0M1NUIyODsgYm9yZGVyLWNvbG9yOiNDNTVCMjg7IGNvbG9yOiNmZmY7fQouYnRuLWZlZWRiYWNrOmhvdmVyLCAuYnRuLWZlZWRiYWNrOmZvY3VzLAouYnRuLWZlZWRiYWNrOmFjdGl2ZSwgLmJ0bi1mZWVkYmFjay5hY3RpdmUge2JhY2tncm91bmQtY29sb3I6I2IwNTEyNDsgYm9yZGVyLWNvbG9yOiAjOWI0NzFmOyBjb2xvcjojZmZmO30KPC9zdHlsZT4KCjxkaXYgaWQ9ImZlZWRiYWNrVGFiIj4KICAgIDxhIGNsYXNzPSJidG4gYnRuLWZlZWRiYWNrIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgaHJlZj0iaHR0cHM6Ly9nb28uZ2wvZm9ybXMvcDd1dTNHZmlXWVNsSnJzaTEiIHJvbGU9ImJ1dHRvbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiICBhcmlhLWxhYmVsPSJIZWxwIGltcHJvdmUgRGF0YXZlcnNlISIgZGF0YS1vcmlnaW5hbC10aXRsZT0iSGVscCBpbXByb3ZlIERhdGF2ZXJzZSEiPgogICAgICAgIEZlZWRiYWNrCiAgICA8L2E+CjwvZGl2PgoKICAgIDwvZm9vdGVyPjxkaXYgaWQ9ImFqYXhTdGF0dXNQYW5lbCI+PGRpdiBpZD0iYWpheFN0YXR1c1BhbmVsX3N0YXJ0IiBzdHlsZT0iZGlzcGxheTpub25lIj48aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvYWpheC1sb2FkaW5nLmdpZjtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjEiIGFsdD0iTG9hZGluZy4uLiIgLz48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJhamF4U3RhdHVzUGFuZWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQWpheFN0YXR1cyIsIndpZGdldF9hamF4U3RhdHVzUGFuZWwiLHtpZDoiYWpheFN0YXR1c1BhbmVsIixkZWxheTowfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iY29udGFjdERpYWxvZyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJjb250YWN0RGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db250YWN0IEhhcnZhcmQgRGF0YXZlcnNlIFN1cHBvcnQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IiBpZD0iY29udGFjdERpYWxvZ19jb250ZW50Ij48ZGl2IGlkPSJqX2lkdDI1OTIiPgo8Zm9ybSBpZD0iZW1haWxGb3JtIiBuYW1lPSJlbWFpbEZvcm0iIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVtYWlsRm9ybSIgdmFsdWU9ImVtYWlsRm9ybSIgLz4KPHNwYW4gaWQ9ImVtYWlsRm9ybTpqX2lkdDI1OTMiPjwvc3Bhbj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuZm9jdXMobnVsbCwgJ2NvbnRhY3REaWFsb2cnKTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWVzc2FnZVRvIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+VG88L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9Im1lc3NhZ2VUbyIgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPkhhcnZhcmQgRGF0YXZlcnNlIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBmb3I9ImVtYWlsRm9ybTp1c2VyRW1haWwiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj5Gcm9tIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06dXNlckVtYWlsIiBuYW1lPSJlbWFpbEZvcm06dXNlckVtYWlsIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIHNpemU9IjMwIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyRW1haWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyRW1haWwiLHtpZDoiZW1haWxGb3JtOnVzZXJFbWFpbCJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBmb3I9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPlN1YmplY3QgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tYXN0ZXJpc2sgdGV4dC1kYW5nZXIiIHRpdGxlPSJSZXF1aXJlZCBmaWVsZCI+PC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxpbnB1dCBpZD0iZW1haWxGb3JtOm1lc3NhZ2VTdWJqZWN0IiBuYW1lPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QiIHR5cGU9InRleHQiIHZhbHVlPSIiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3RfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV9tZXNzYWdlU3ViamVjdCIse2lkOiJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4gICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGZvcj0iZW1haWxGb3JtOnVzZXJNZXNzYWdlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+TWVzc2FnZSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJlbWFpbEZvcm06dXNlck1lc3NhZ2UiIG5hbWU9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0YXJlYSB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgY29scz0iMjAiIHJvd3M9IjEwIiB0aXRsZT0iTWVzc2FnZSIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3Ij48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyTWVzc2FnZSIse2lkOiJlbWFpbEZvcm06dXNlck1lc3NhZ2UiLGF1dG9SZXNpemU6ZmFsc2V9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tb2Zmc2V0LTMgY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+UGxlYXNlIGZpbGwgdGhpcyBvdXQgdG8gcHJvdmUgeW91IGFyZSBub3QgYSByb2JvdC48L3NwYW4+IDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJlbWFpbEZvcm06bWVzc2FnZVN1bSI+ICsgID0gCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bSIgbmFtZT0iZW1haWxGb3JtOm1lc3NhZ2VTdW0iIHR5cGU9InRleHQiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsICIgc2l6ZT0iNCIgdGl0bGU9Ikh1bWFuIEFjY2VzcyBWYWxpZGF0aW9uIEFuc3dlciIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJ3aWRnZXRfZW1haWxGb3JtX21lc3NhZ2VTdW0iLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdW0ifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJlbWFpbEZvcm06al9pZHQyNjIxIiBuYW1lPSJlbWFpbEZvcm06al9pZHQyNjIxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZW1haWxGb3JtOmpfaWR0MjYyMSZxdW90OyxmOiZxdW90O2VtYWlsRm9ybSZxdW90Oyx1OiZxdW90O2VtYWlsRm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyxkYXRhKXtpZiAoYXJncyAmYW1wOyZhbXA7ICFhcmdzLnZhbGlkYXRpb25GYWlsZWQpIFBGKCdjb250YWN0Rm9ybScpLmhpZGUoKTs7fSxwYTpbe25hbWU6JnF1b3Q7RE9fVkFMSURBVElPTiZxdW90Oyx2YWx1ZTomcXVvdDt0cnVlJnF1b3Q7fV0sZnA6JnF1b3Q7al9pZHQyNTkyJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+U2VuZCBNZXNzYWdlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTpqX2lkdDI2MjFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9lbWFpbEZvcm1fal9pZHQyNjIxIix7aWQ6ImVtYWlsRm9ybTpqX2lkdDI2MjEifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1saW5rIiBvbmNsaWNrPSJQRignY29udGFjdEZvcm0nKS5oaWRlKCkiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjMiIHZhbHVlPSI1NTQ0MDc4MjUzMzI5NTg4MjE5OjI0MDAzODI0MjA4MjMxNjA3OTYiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgo8L2Zvcm0+PC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iY29udGFjdERpYWxvZ19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJjb250YWN0Rm9ybSIse2lkOiJjb250YWN0RGlhbG9nIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9kdl9yZWJpbmRfYm9vdHN0cmFwX3VpLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT92ZXJzaW9uPTUuMTIiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvYnMvanMvYm9vdHN0cmFwLm1pbi5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvaWUtY29tcGF0LmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT92ZXJzaW9uPTUuMTIiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9vd2wuY2Fyb3VzZWwuanMueGh0bWw7anNlc3Npb25pZD1kMDNkOWIzNmFmNDYzNjk3YTIyZWNkMmUxZmIxP3ZlcnNpb249NS4xMiI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5tYXRjaEhlaWdodC5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5zaGFycnJlLmpzLnhodG1sO2pzZXNzaW9uaWQ9ZDAzZDliMzZhZjQ2MzY5N2EyMmVjZDJlMWZiMT92ZXJzaW9uPTUuMTIiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvY2xpcGJvYXJkLm1pbi5qcy54aHRtbDtqc2Vzc2lvbmlkPWQwM2Q5YjM2YWY0NjM2OTdhMjJlY2QyZTFmYjE/dmVyc2lvbj01LjEyIj48L3NjcmlwdD7CoAogICAgICAgIAogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIC8vPCFbQ0RBVEFbCiAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIC8vIE5hdmJhciBTZWFyY2ggVG9nZ2xlCiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCAnI25hdmJhci1zZWFyY2gtdG9nZ2xlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgibGkiKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgJCgiZm9ybS5uYXZiYXItZm9ybVtyb2xlPSdzZWFyY2gnXSIpLnNob3coKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgJCgnYm9keScpLmNsaWNrKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGUudGFyZ2V0KS5jbG9zZXN0KCJmb3JtLm5hdmJhci1mb3JtW3JvbGU9J3NlYXJjaCddIikubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoImZvcm0ubmF2YmFyLWZvcm1bcm9sZT0nc2VhcmNoJ10iKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNuYXZiYXItc2VhcmNoLXRvZ2dsZSIpLnBhcmVudCgibGkiKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZnVuY3Rpb24gY2xpY2tTdXBwb3J0TGluaygpIHsKICAgICAgICAgICAgICAgICQoIltpZCQ9J2hlYWRlclN1cHBvcnRMaW5rJ10iKS5jbGljaygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vXV0+CiAgICAgICAgPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGlkPSJqX2lkdDI2MjUiPmJpbmRfYnN1aV9jb21wb25lbnRzKCk7PC9zY3JpcHQ+PC9ib2R5Pgo8L2h0bWw+ http_version: recorded_at: Sat, 12 Nov 2022 18:04:54 GMT recorded_with: VCR 3.0.3