Загрузка данных
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, maximum-scale=1.0">
<title>Waiting Room</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" href="resources/favicon.ico" />
<style type="text/css">
@font-face{font-family:"AvenirLight";src:url("./resources/webfonts/Avenir-Light.eot");src:url("./resources/webfonts/Avenir-Light.eot?#iefix") format("embedded-opentype"),url("./resources/webfonts/Avenir-Light.woff") format("woff"),url("./resources/webfonts/Avenir-Light.ttf") format("truetype"),url("./resources/webfonts/Avenir-Light.svg#Avenir-Light") format("svg");font-weight:normal;font-style:normal}
@font-face{font-family:"Inter-Regular";src:url("./resources/webfonts/Inter-Regular.ttf");font-weight:normal;font-style:normal}@font-face{font-family:"Inter-Bold";src:url("./resources/webfonts/Inter-Bold.ttf");font-weight:bold;font-style:normal}
:root{--main-color:#a10440;--language-selector-color:#dee4eb;--language-selector-color-over:#92969b;--text-color:#141414;--font-sizes-timer-digit:40px;--font-weights-bold:700;--letter-spacing-timer:.301px;--sizes-waittimer-digits-width:55px;--space-s:12px;--font-sizes-body:14px;--colors-primary-text:#141414;--line-heights-body:18px;--space-xxl:40px;--colors-primary:#a52150;--colors-clock-background:#dee4eb;--colors-bg:#fff;--colors-gradient-start:var(--colors-primary);--colors-gradient-end:#e05329;--colors-clock-dot-stroke:var(--colors-bg)}
body{align-items:center;background:url("./resources/background_pkp.png");background-size:cover;display:flex;flex-direction:column-reverse;font-family:"AvenirLight",Helvetica,Arial,sans-serif;min-height:100vh!important;justify-content:center;margin:auto;padding:var(--space-s);font-size:var(--font-sizes-body);line-height:var(--line-heights-body);font-weight:var(--font-weights-normal)}
h1{display:block;font-size:2em;font-weight:bold;margin-block-end:.67em;margin-block-start:.67em;margin-inline-end:0;margin-inline-start:0}a:link{text-decoration:underline}a{color:var(--text-color);cursor:pointer;text-decoration:underline}
#titre{color:var(--text-color);flex:none;flex-grow:0;font-family:"Inter-Bold";font-feature-settings:"tnum" on,"lnum" on;font-size:28px;font-style:normal;font-weight:700;height:auto;letter-spacing:.223962px;line-height:32px;margin:0;margin-bottom:10px;order:0;padding-inline:40px;text-align:center}
#intro{color:var(--text-color);font-family:"Inter-Regular";font-feature-settings:"tnum" on,"lnum" on;font-style:bold;font-size:14px;font-weight:400;line-height:18px;letter-spacing:.223962px;order:3;padding-inline:40px;text-align:center}
#message{align-self:stretch;color:var(--text-color);flex-grow:0;font-family:"Inter-Regular";font-feature-settings:"tnum" on,"lnum" on;font-style:normal;font-size:14px;font-weight:600;letter-spacing:.223962px;line-height:18px;order:4;padding:12px 12px 10px;text-align:center}
#info{color:#002c61;background-color:#d6ebff;box-sizing:border-box;flex:none;font-family:"Inter-Regular";font-feature-settings:"tnum" on,"lnum" on;font-size:14px;font-style:normal;font-weight:600;letter-spacing:.223962px;order:2;height:auto;padding:10px 40px;text-align:center;width:100%}
#message_wait{align-items:center;color:var(--text-color);display:flex;justify-content:center;font-family:"Inter-Regular";font-size:14px;line-height:18px}#queuePositionGroup{align-items:center;display:flex;font-family:"Inter-Regular";font-size:14px;justify-content:center;line-height:18px}
#error{background-color:#f3bdbd;box-sizing:border-box;color:#6a100c;display:none;flex:none;font-family:"Inter-Regular";font-feature-settings:"tnum" on,"lnum" on;font-style:normal;font-size:14px;font-weight:600;height:auto;letter-spacing:.223962px;order:1;padding:10px 40px;text-align:center;width:100%}
#interface{display:flex;flex-direction:column;padding-inline:40px;order:4;text-align:center}.actionmsg{align-items:center;display:flex;font-family:"Inter-Regular";font-size:14px;font-weight:bold;justify-content:center;line-height:18px;order:1}
#action{align-items:center;display:none;flex-direction:column;gap:12px;grid-area:action;justify-content:center}#actionButtonSpan{align-items:center;background:var(--main-color);border-radius:8px;display:flex;flex-direction:row;height:44px;justify-content:center;order:2;text-align:center;width:326px}
#actionButton{color:#fff;font-family:"Inter-Regular";font-size:12px;font-style:normal;font-weight:600;line-height:14px}#actionText{font-family:"Inter-Regular";font-size:14px;order:3;line-height:18px}
#message_waitlong{font-size:24px}#wait>span{font-size:var(--font-sizes-timer-digit);font-weight:var(--font-weights-bold);letter-spacing:var(--letter-spacing-timer)}#wait_hour,#wait_min,#wait_sec{display:inline-block;width:var(--sizes-waittimer-digits-width)}
#waitdiv{position:relative;display:none}#waittimer{display:flex;position:absolute;margin:auto;top:50%;left:50%;width:100%;z-index:1;justify-content:center;align-items:center;flex-direction:column;gap:var(--space-s);transform:translate(-50%,-45%)}
#wait{font-size:var(--font-sizes-timer-digit)}#waittimer_labels,.waittimer_labels{display:flex;align-items:center;font-size:var(--font-sizes-body);color:var(--text-color);line-height:var(--line-heights-body);font-family:"Inter-Regular";gap:25px}
#PBouter{margin-top:var(--space-s);display:flex;background:#fff;flex-direction:column;align-items:center;position:relative}#PBdone{position:relative}.btnColor1,.btnColor1 a,.btnColor1 a:visited,.btnColor1 a:hover,.btnColor1 a:link,#menu .btnColor1 label{font-weight:bold;text-decoration:none;white-space:nowrap}
.btnColor1{height:14px;justify-content:center;font-weight:400;font-size:12px;line-height:14px;text-align:center;letter-spacing:.223962px;font-feature-settings:"tnum" on,"lnum" on;flex:none;order:0;flex-grow:0}
#secret{padding:3px;border-radius:8px;width:120px}#submit_button{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:5px;gap:8px;background:var(--main-color);border-radius:8px;cursor:pointer}
#form_input_buttons{span{a{color:#fff}}}#action_answer{display:none}#form_captcha{display:flex;align-items:center;justify-content:center;gap:40px}#captcha{display:none;text-align:center;order:6}#img_captcha_container,#form_container,#form_input_buttons,#action_answer{display:inline-block;vertical-align:top}
#img_captcha{margin-bottom:10px}#captcha .btnColor1{display:block}#form_input_buttons>input,#form_input_buttons>span{margin:2px 0}#action_answer{padding-top:.7em}#newcaptcha_button img,#newcaptcha_button span{vertical-align:middle}
#catpcha_refresh{padding-right:5px}#newcaptcha_button_text{color:#699;font-weight:bold}#newcaptcha_button a{text-decoration:none}#menu{background-color:white;padding:20px 32px 16px;border-radius:40px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-inline:10px}
#menu:empty{display:none}#menu .btnColor1 input{display:bottom;margin:0}#menu .btnColor1{display:inline-block}.wrtop{display:none}.wrbottom{display:none}p{margin:0}#footer{background:url(resources/background_pkp.png) no-repeat scroll top transparent;background-color:#eef3f8;border-bottom-left-radius:20px;border-bottom-right-radius:20px;display:flex;justify-content:center;order:6;padding:15px 0 40px 0;width:100%}
#logo{background-image:url(resources/fwc26logo.png);background-position:center;background-repeat:no-repeat,repeat;background-size:contain;height:100px;object-fit:cover;max-height:100px;margin-bottom:20px;width:80%}
#page{display:flex;flex-direction:column;align-items:center;padding:40px 0 0 0;width:50vw;height:auto;background:#fff;border-radius:20px;max-width:436px;min-width:350px}#waitingroom{grid-area:waitingroom;display:flex;flex-direction:column;align-items:center;gap:12px}
#languages{font-size:1em;grid-area:languages;display:flex;justify-content:center;width:100%;background-color:#eef3f8;padding:15px 0;margin-top:36px}#languages .langlink,#languages .langcurrent{display:inline-block;padding:4px;color:var(--text-color);text-decoration:none}
#languages .langcurrent{color:grey}#sponsorZone1{display:none;float:right;padding:10px;background-color:#eef3f8}#sponsorZone2{display:none;float:right;padding:10px;background-color:#eef3f8}.clear{display:none}
.languages_selectContent{display:flex}.languages_dropbtn{background-color:var(--language-selector-color);color:var(--text-color);height:44px;min-width:100px;width:auto;font-size:14px;border:0;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}
.languages_dropbtn:hover{background-color:var(--language-selector-color-over)}.languages_dropbtn img{margin-left:14px}.languages_dropdown{position:relative;display:inline-block}.languages_dropdown-content{display:none;position:absolute;background-color:#f1f1f1;min-width:140px;height:100px;overflow:auto;box-shadow:0 0 3px 0 rgba(0,0,0,0.5);z-index:1;margin-top:50px;border-radius:5px}
.languages_dropdown-content a{color:var(--text-color);padding:5px;text-decoration:none;display:block}.languages_dropdown-content a:hover{background-color:#ddd}.languages_dropdown a:hover{background-color:#ddd}
.languages_show{display:block}#languagesDropdownButtonWithIconLabel{padding:10px}#languagesDropdownButtonWithIconLabel{margin-right:4px}#outro{display:none;padding-inline:40px}#spinner{width:208px;height:208px;position:relative}
.dot{animation:bounce 4s infinite ease-in-out;background:var(--main-color);height:10px;border-radius:50%;position:absolute;width:10px}@keyframes bounce{0%,100%{transform:scale(0.5);opacity:.25}50%{transform:scale(2.5);opacity:1}
}.dot:nth-child(1){animation-delay:-2s;top:104px;left:163px}.dot:nth-child(2){animation-delay:-1.5s;top:147.2540983609773px;left:147.2540983609773px}.dot:nth-child(3){animation-delay:-1s;top:163px;left:104px}
.dot:nth-child(4){animation-delay:-0.5s;top:147.2540983609773px;left:60.7459016390227px}.dot:nth-child(5){animation-delay:0s;top:104px;left:45px}.dot:nth-child(6){animation-delay:.5s;top:60.7459016390227px;left:60.7459016390227px}
.dot:nth-child(7){animation-delay:1s;top:45px;left:103.99999999999999px}.dot:nth-child(8){animation-delay:1.5s;top:60.7459016390227px;left:147.2540983609773px}@media screen and (max-width:600px){#menu{display:none}
#page{padding:20px 0 0 0}#footer{padding:15px 0 20px 0}#languages{margin-top:20px}}</style>
<script type="text/javascript">
var langcode = "en";
var language = new Array();
// language["message_waitlong"] = "In Queue";
language["label_waitlong"] = "";
language["message_waitlong"] = "In Queue";
language["titre"] = "<p><strong>Almost there\u2026<\/p><\/strong>";
language["intro"] = "";
language["outro"] = "";
language["titre_authreq"] = "<p><strong>Almost there…</p></strong><p>"
language["intro_authreq"] = "<p>Thank you for waiting to access the FIFA World Cup 2026™ Last-Minute Sales Phase.</p>"
language["outro_authreq"] = language["outro"];
language["titre_admission"] = language["titre"];
language["intro_admission"] = "<p><strong>Ready to access?<p><br><br>Thank you for waiting.</p><br><br><p>Please note that you have 5 minutes to access. If you do not click ‘Enter’ within this time frame, you will lose your place in the queue.</strong></p>"
language["outro_admission"] = language["outro"];
language["titre_pause"] = "<p><strong>FIFA World Cup 2026\u2122 Last-Minute Sales Phase<\/p><\/strong>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><p>The FIFA World Cup 2026\u2122 Last-Minute Sales Phase WILL OPEN SOON.<\/p>";
language["outro_pause"] = language["outro"];
language["message_opening1"] = "TICKET SALES WILL OPEN SOON.";
language["message_waittime"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. Within a few minutes, a countdown will appear before you can enter the ticket sales phase. Once the countdown is over, an \'Enter\' button will be available for 5 minutes; click it to access.<\/p><\/br><\/p> Please check the progress of the queue regularly to avoid missing your chance to access and purchase tickets.<\/p><\/br><p><strong>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p>";
language["message_captcha"] = "<p>If you would like to join the queue, please enter the characters you see in the image below and click on 'SUBMIT'.</p>"
language["message_opening2"] = ".";
language["message_longwait"] = "Your position in the queue is secured. Don\u2019t move!";
language["message_wait"] = "You will be able to enter in....";
language["message_minwait"] = "<p><strong>Almost there…</p></strong><p>We are currently receiving a high volume of requests. You can choose to wait or come back later. If you decide to wait, we will give you the opportunity to access the FIFA World Cup 2026™ Last-Minute Sales Phase as soon as possible.</p></br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method</p>"
language["message_pause"] = "The waiting room is temporarily unavailable.";
language["message_admission"] = "<p><b>Important: </b> You will not be automatically redirected to enter the FIFA World Cup 2026™ Last-Minute Sales Phase.</p><br><p>To access the FIFA World Cup 2026™ Last-Minute Sales Phase, click on 'Enter'.</p>"
"You can now enter the website by clicking on the link below.";
language["message_reload"] = "To enter the waiting room again, please click on the link below.";
language["message_sec"] = "sec.";
language["message_min"] = "min.";
language["message_hour"] = "hour";
language["message_position"] = "Position in queue:";
language["action_answer"] = "Characters:";
language["action_submit"] = "SUBMIT";
language["action_newcaptcha"] = "New captcha";
language["action_link"] = "Enter";
language["action_admission"] =
language["action_reload"] = "Reload the page";
language["message_pauseopening1"] = "The website will be available from ";
language["message_pauseopening2"] =
language["message_opening2"];
language["error_captcha"] = "The Entered value is incorrect.";
language["error_captcha_reset"] = "Your captcha is out-of-date. Thank you for re-trying.";
language["error_cookie"] = "Please check that your navigator allows cookies and then restart it.";
language["error_technical"] = "<p><strong>We are experiencing a temporary connection issue. Please check your network or return to the main portal and try again.<\/p><\/strong>";
language["error_connection"] = "<p>We are experiencing a temporary connection issue. Please check your network or return to the main portal and try again.<\/p>";
language["error_timeout"] = "Your waiting ticket is out-of-date.";
language["error_user"] = "Error.";
language["error_browser"] = "Your browser is not supported. Please use IE 6.x or later, Firefox 2.x or later";
language['error_xss'] = "The page you are trying to access does not exist. Please return to the main portal and try again.";
language["action_admission"] = "";
language["error_xss"] = "The page you are trying to access does not exist. Please return to the main portal and try again.";
language["intro_admission"] = "<p><strong>Ready to access?<p><br><br>Thank you for waiting.<\/p><br><br><p>Please note that you have 5 minutes to access. If you do not click \u2018Enter\u2019 within this time frame, you will lose your place in the queue.<\/strong><\/p>";
language["intro_authreq"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase.<\/p>";
language["message_admission"] = "<p><b>Important: <\/b> You will not be automatically redirected to enter the FIFA World Cup 2026\u2122 Last-Minute Sales Phase.<\/p><br><p>To access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase, click on \'Enter\'.<\/p>";
language["message_captcha"] = "<p>If you would like to join the queue, please enter the characters you see in the image below and click on \'SUBMIT\'.<\/p>";
language["message_minwait"] = "<p><strong>Almost there\u2026<\/p><\/strong><p>We are currently receiving a high volume of requests. You can choose to wait or come back later. If you decide to wait, we will give you the opportunity to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase as soon as possible.<\/p><\/br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method<\/p>";
language["message_pauseopening2"] = ".";
language["outro_admission"] = "";
language["outro_authreq"] = "";
language["outro_pause"] = "";
language["titre_admission"] = "<p><strong>Almost there\u2026<\/p><\/strong>";
language["titre_authreq"] = "<p><strong>Almost there\u2026<\/p><\/strong><p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><p>The FIFA World Cup 2026\u2122 Last-Minute Sales Phase WILL OPEN SOON.<\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><p>The FIFA World Cup 2026\u2122 Last-Minute Sales Phase WILL OPEN SOON.<\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><p>The FIFA World Cup 2026\u2122 Last-Minute Sales Phase WILL OPEN SOON.<\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><\/p>";
language["intro_pause"] = "<p>Thank you for waiting to access the FIFA World Cup 2026\u2122 Last-Minute Sales Phase. You will soon be admitted for a chance to purchase tickets on a first-come, first-served basis, subject to availability, which means access may not be immediate.<\/p><br><p>Once the entry window opens, we will inform you of your specific waiting time. Please note that you will have 5 minutes to enter once you have been placed in the queue. If you do not click \'Enter\' within this timeframe, your place will be voided.<\/p><br><p>Please remember, you will need a valid payment method such as a Visa card (Official Payment Technology Partner) or another accepted payment method.<\/p><br><p>For more information, please visit <a href=\"https:\/\/www.fifa.com\/en\/tickets\" target=\"_blank\">FIFA.com\/tickets.<\/a><\/p><br><\/p>";
</script>
<script type="text/javascript">
var JSON;if(!JSON)JSON={};
(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=
/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=
gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=rep.call(holder,key,value);switch(typeof value){case "string":return quote(value);case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=
1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1)if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}}else for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+
gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else if(typeof space==="string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};if(typeof JSON.parse!=="function")JSON.parse=
function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();</script>
<script type="text/javascript">
var REVISION="$Revision: 1120 $";var resources=[];var COOKIE_TTL=3600;var COOKIE_MAX_LENGTH=4E3;var MS_IN_S=1E3;var MAX_POLL_FREQ=300;var MIN_POLL_FREQ=10;var RETRY_PERIOD=30;var DEFAULT_TIME=10;var DELAY=200;var PROGRESS_WAIT_THRESHOLD=5;var MIN_WAIT_TIME=5;var MIN_WAIT_TIME_THRESHOLD=30;var LONG_WAIT_TIME=900;var URL_CONTROLLER="/pkpcontroller/servlet.do";var URL_CAPTCHA="/pkpcontroller/captcha.png";var URL_SELECT="/pkpcontroller/selectqueue.do";var PB_INCR_MS=MS_IN_S;var URL_CONTENT_BASE="/pkpcontroller/message/";
var URL_CONTENT_FILE="_info.txt";var INFO_REFRESH_MS=6E4;var COOKIE_QUEUEINFO="WR_queueinfo-";var COOKIE_SOURCE="WR_source-";var COOKIE_CT="WR-CT";var AT_PREFIX="AcpAT-v3-";var COOKIE_FFRT="WR-FFRT";var wr_queue=null;var admissionInfo=null;var wr_error="null";var sourceUrl=null;var queueinfo=null;var timerControllerRequest=null;var timerWatchdog=null;var timerProgress=null;var timerInfoRefresh=null;var lastCall=new Date;var showInClockFormat=false;var useNewDesignV4=false;var timeoutId=null;
var DEVICE_TRANSFER_QR_CODE_SIZE=200;var DEVICE_TRANSFER_QR_CODE_COLOR_LIGHT="#ffffff";var DEVICE_TRANSFER_QR_CODE_COLOR_DARK="#000000";var confettiShown=false;var MOBILE_BREAKPOINT=390;var ERROR_TIMEOUT=1E4;var clockBgColor="var(--colors-clock-background, #DEE4EB)";var clockColor1="var(--colors-gradient-start, #b40050)";var clockColor2="var(--colors-gradient-end, var(--colors-gradient-start, #f54600))";var clockTransform="rotate(-90deg)";var clockSize=240;var clockStrokeWidth=20;
var clockRadius=(clockSize-clockStrokeWidth)/2;var clockCircumference=2*Math.PI*clockRadius;var clockCenter=clockSize/2;var clockDotRadius=10;var clockDotStokeWidth=2;var clockDotStokeColor="var(--colors-clock-dot-stroke, #ffffff)";var clockDotFadeDuration=4;var clockDotFadeOpacity=.7;var clockMoveDuration=1.5;let currentDisplayedProgress=0;let progressAnimation=null;let _arcEl=null;let _dotEl=null;let _animDotEl=null;function now(){return(new Date).getTime()}
function getText(label){return language[label]}function show(zone){if(zone==="info"&&document.getElementById(zone).innerHTML.length<=0)return;else if(useNewDesignV4&&(zone==="PBouter"||zone==="action"||zone==="waittimer"))document.getElementById(zone).style.display="flex";else document.getElementById(zone).style.display="block"}function hide(zone){document.getElementById(zone).style.display="none"}function clear(zone){document.getElementById(zone).innerHTML=""}
function display(zone,msg){document.getElementById(zone).innerHTML=msg;show(zone)}function getTextForError(err){var textForError=getText("error_"+err);if("xss"===err&&(textForError===undefined||textForError===null||textForError===""))textForError="The page you are trying to access does not exist. Please return to the main portal and try again.";return textForError}
function showError(err){if(err!=="null"){wr_error=err;display("error",getTextForError(err));var title_key="titre";var intro_key="intro";var outro_key="outro";if("titre_error"in language)title_key="titre_error";if("intro_error"in language)intro_key="intro_error";if("outro_error"in language)outro_key="outro_error";document.getElementById("titre").innerHTML=getText(title_key);document.getElementById("intro").innerHTML=getText(intro_key);document.getElementById("outro").innerHTML=getText(outro_key)}}
function createRequestObject(){var ro;if(window.XMLHttpRequest)ro=new XMLHttpRequest;else if(window.ActiveXObject)try{ro=new ActiveXObject("Microsoft.XMLHTTP")}catch(e1){try{ro=new ActiveXObject("Msxml2.XMLHTTP")}catch(e2){showError("browser");return}}return ro}var httpinfo=createRequestObject();var http=createRequestObject();var httprequest=createRequestObject();
function readCookie(name,def){var nameEQ=name+"\x3d",ca=document.cookie.split(";"),i=0,c;for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)===" ")c=c.substring(1,c.length);if(c.indexOf(nameEQ)===0)return unescape(c.substring(nameEQ.length,c.length))}try{if(typeof Storage!=="undefined"&&localStorage.getItem(name)!==null){var record=JSON.parse(localStorage.getItem(name));if(!record)return def;if((new Date).getTime()<record.timestamp)return unescape(record.value);else{deleteCookie(name);return def}}}catch(e){}return def}
function writeCookie(name,val,validity){var theDate=new Date,oneHourLater=new Date(theDate.getTime()+validity*MS_IN_S),expiryDate=oneHourLater.toGMTString();var expandedVal=escape(val);if(expandedVal.length<COOKIE_MAX_LENGTH){document.cookie=name+"\x3d"+expandedVal+";expires\x3d"+expiryDate;if(!document.cookie)showError("cookie");if(typeof Storage!=="undefined")try{localStorage.removeItem(name)}catch(e){}}else if(typeof Storage!=="undefined"){deleteCookie(name);var record={value:expandedVal,timestamp:oneHourLater.getTime()};
try{localStorage.setItem(name,JSON.stringify(record))}catch(e){showError("cookie")}}else showError("cookie")}function deleteCookie(name){var exp=new Date;exp.setTime(exp.getTime()-10);document.cookie=name+"\x3d; expires\x3d"+exp.toGMTString();if(typeof Storage!=="undefined")try{localStorage.removeItem(name)}catch(e){}}
function loadTitle(){if(wr_error!=="null")showError(wr_error);else{document.getElementById("titre").innerHTML=getText("titre");document.getElementById("intro").innerHTML=getText("intro");document.getElementById("outro").innerHTML=getText("outro")}}function selectInterface(zone){hide("action");hide("captcha");hide("waitdiv");hideTimerSkeleton();show(zone);clear("message");clear("actionmsg");clear("actionText");loadTitle()}function showMessage(msgid){display("message",getText(msgid))}
function showActionMessage(msgid){selectInterface("action");display("actionmsg",getText(msgid))}function setTextMessage(id,message){document.getElementById(id).innerHTML=message}function hideError(){wr_error="null";clear("error");hide("error");loadTitle()}function onClickButtonFunction(){window.location.href=this.getElementsByTagName("a")[0].href;return false}
function initButton(button){var functionToAdd=onClickButtonFunction,innerLinks=button.getElementsByTagName("a"),link;if(innerLinks.length===1){link=innerLinks[0];if(typeof link.onclick==="function"){functionToAdd=link.onclick;link.onclick=null}button.onclick=onClickButtonFunction}}
function setActionButton(text,fct){document.getElementById("actionButton").href="javascript:"+fct+"()";document.getElementById("actionButtonText").innerHTML=getText(text);initButton(document.getElementById("actionButtonSpan"))}
function getSourceUrl(){if(sourceUrl===null)sourceUrl=readCookie(COOKIE_SOURCE+wr_queue,null);if(sourceUrl===null){if(window.location.href.indexOf("javascript:")>-1)return"xss";const urlParams=new URLSearchParams(window.location.search);var paramSource=urlParams.get("source");if(paramSource!==null){try{paramSource=decodeURIComponent(paramSource)}catch(e){return"xss"}sourceUrl=paramSource}}if(sourceUrl!==null){if(sourceUrl.startsWith('"'))sourceUrl=sourceUrl.substring(1,sourceUrl.length);if(sourceUrl.endsWith('"'))sourceUrl=
sourceUrl.substring(0,sourceUrl.length-1)}if(sourceUrl!==null&&isMaliciousInput(sourceUrl)||!isValidHttpUrl(sourceUrl))return"xss";return sourceUrl}
function isMaliciousInput(input){var normalized_input=input.toLowerCase();var dangerousKeywords=["javascript","vbscript","data:","expression(","onerror","onload","onclick","onmouseover","onsubmit","document.cookie","document.write","window.location"];for(var i=0;i<dangerousKeywords.length;i++)if(normalized_input.indexOf(dangerousKeywords[i])!==-1)return true;return false}
function isValidHttpUrl(urlString){if(typeof urlString!=="string"||urlString.trim()==="")return false;const lowerUrl=urlString.toLowerCase();if(lowerUrl.includes("javascript:")||lowerUrl.includes("data:")||lowerUrl.includes("file:")||lowerUrl.includes("about:")||lowerUrl.includes("vbscript:")||lowerUrl.includes("%0a")||lowerUrl.includes("%0d")||lowerUrl.includes("%00"))return false;if(lowerUrl.includes("\x26#")||lowerUrl.includes("\x26lt;"))return false;try{const url=new URL(urlString);if(url.protocol!==
"http:"&&url.protocol!=="https:")return false;if(!url.host)return false}catch(e){return false}if(/[\x00-\x1F\x7F]/.test(urlString))return false;return true}function initQueueInfo(){var result={state:"START",response:null,enterts:null,accessts:null,refreshtime:null};return result}function persistQueueInfo(){var info=JSON.stringify(queueinfo);writeCookie(COOKIE_QUEUEINFO+wr_queue,info,COOKIE_TTL)}
function readQueueInfo(){var cookieQueueInfo=readCookie(COOKIE_QUEUEINFO+wr_queue,"null"),storedQueueInfo=null;if(cookieQueueInfo!=="null"){storedQueueInfo=JSON.parse(cookieQueueInfo);if(storedQueueInfo.state!=="null"){queueinfo=storedQueueInfo;return true}}return false}function clearWaitCookies(){admissionInfo=null;queueinfo=initQueueInfo();deleteCookie(COOKIE_QUEUEINFO+wr_queue)}function clearWRCookies(){clearWaitCookies();queueinfo.state="END";deleteCookie(COOKIE_SOURCE+wr_queue)}
function connectionError(){showError("connection");queueinfo.state="END";persistQueueInfo()}function stopProgress(){if(timerProgress!==null)window.clearTimeout(timerProgress);timerProgress=null}function showPause(){hide("waitdiv");document.getElementById("titre").innerHTML=getText("titre_pause");document.getElementById("intro").innerHTML=getText("intro_pause");document.getElementById("outro").innerHTML=getText("outro_pause")}
function showOpeningTime(){var txt=null;if(admissionInfo!==null&&admissionInfo.openingTime&&admissionInfo.openingTime!=="null")txt=getText("message_pauseopening1")+admissionInfo.openingTime+getText("message_pauseopening2");else txt=getText("message_pause");var el=document.getElementById("message_wait");el.innerHTML=txt;el.style.display="block"}function isShowOpeningTime(){return admissionInfo&&admissionInfo.openingTime!=="null"}
function showReload(){var sourceUrl=getSourceUrl();if(sourceUrl===null)showError("cookie");else if(sourceUrl==="xss")showError("xss");else{showActionMessage("message_reload");setActionButton("action_reload","goSource")}}function showMinWaitMessage(){selectInterface("waitdiv");hide("waittimer");hide("PBouter");hide("message_wait");document.getElementById("message").innerHTML=getText("message_waittime")}
function showAdmissionLink(){stopProgress();hide("info");showActionMessage("message_admission");setActionButton("action_link","requestAccess");document.getElementById("titre").innerHTML=getText("titre_admission");document.getElementById("intro").innerHTML=getText("intro_admission");document.getElementById("outro").innerHTML=getText("outro_admission");document.getElementById("actionText").innerHTML=getText("action_admission")}
function showCaptcha(){stopProgress();selectInterface("captcha");document.getElementById("titre").innerHTML=getText("titre_authreq");document.getElementById("intro").innerHTML=getText("intro_authreq");document.getElementById("outro").innerHTML=getText("outro_authreq");document.getElementById("img_captcha").src=URL_CAPTCHA+"?rand\x3d"+Math.floor(Math.random()*1E10);document.getElementById("action_answer").innerHTML=getText("action_answer");document.getElementById("submit_button_text").innerHTML=getText("action_submit");
document.getElementById("newcaptcha_button_text").innerHTML=getText("action_newcaptcha");showMessage("message_captcha");document.getElementById("secret").value="";document.getElementById("secret").focus()}
function showFairQueue(){selectInterface("waitdiv");if(!isShowOnsalesWaitingRoomWidget()){hide("waittimer");hide("PBouter")}document.getElementById("titre").innerHTML=getText("titre_fairQueue");document.getElementById("intro").innerHTML=getText("intro_fairQueue");document.getElementById("outro").innerHTML=getText("outro_fairQueue")}
function showFairQueueTransition(){show("waitdiv");if(!isShowOnsalesWaitingRoomWidget()){show("PBouter");hide("waittimer")}hideTimerSkeleton();renderSpinner();document.getElementById("titre").innerHTML=getText("titre_fairQueueTransition");document.getElementById("intro").innerHTML=getText("intro_fairQueueTransition");document.getElementById("outro").innerHTML=getText("outro_fairQueueTransition")}
function showOnsalesTransition(){show("waitdiv");hide("waittimer");admissionInfo.showWaitingTime="false";admissionInfo.fairQueuePeriod=undefined;process();document.getElementById("titre").innerHTML=getText("titre_fairQueueTransition");document.getElementById("intro").innerHTML=getText("intro_fairQueueTransition");document.getElementById("outro").innerHTML=getText("outro_fairQueueTransition")}function hideOnsalesWidget(){hide("onsalesWaitingRoomWidget")}
function showOnsalesWidget(){show("onsalesWaitingRoomWidget")}function initProgressClock(container){container.innerHTML=`
<svg
id="progress-svg"
width="${clockSize}"
height="${clockSize}"
viewBox="0 0 ${clockSize} ${clockSize}"
xmlns="http://www.w3.org/2000/svg"
style="transform:${clockTransform}; overflow: visible;"
>
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:${clockColor2};stop-opacity:1" />
<stop offset="100%" style="stop-color:${clockColor1};stop-opacity:1" />
</linearGradient>
</defs>
<!-- background circle -->
<circle
r="${clockRadius}"
cx="${clockCenter}"
cy="${clockCenter}"
fill="transparent"
stroke="${clockBgColor}"
stroke-width="${clockStrokeWidth}"
stroke-dasharray="${clockCircumference}"
stroke-dashoffset="0"
/>
<!-- progress arc -->
<circle
id="progress-arc"
r="${clockRadius}"
cx="${clockCenter}"
cy="${clockCenter}"
stroke="url(#grad1)"
stroke-width="${clockStrokeWidth}"
stroke-linecap="round"
fill="transparent"
stroke-dasharray="${clockCircumference}"
stroke-dashoffset="${clockCircumference}"
/>
<!-- pulsing overlay dot -->
<circle
id="animate-dot"
r="${clockDotRadius}"
/>
<!-- solid dot -->
<circle
id="progress-dot"
r="${clockDotRadius}"
fill="url(#grad1)"
stroke="${clockDotStokeColor}"
stroke-width="${clockDotStokeWidth}"
/>
</svg>
`;_arcEl=container.querySelector("#progress-arc");_dotEl=container.querySelector("#progress-dot");_animDotEl=container.querySelector("#animate-dot");setInstantProgress(currentDisplayedProgress)}
function setInstantProgress(progress){progress=(progress%1+1)%1;const svgOffset=clockCircumference-progress*clockCircumference;if(_arcEl)_arcEl.setAttribute("stroke-dashoffset",String(svgOffset));const pos=getDotPosition(progress);if(_dotEl){_dotEl.setAttribute("cx",String(pos.x));_dotEl.setAttribute("cy",String(pos.y))}if(_animDotEl){_animDotEl.setAttribute("cx",String(pos.x));_animDotEl.setAttribute("cy",String(pos.y))}currentDisplayedProgress=progress;if(progressAnimation&&progressAnimation.raf){cancelAnimationFrame(progressAnimation.raf);
progressAnimation=null}}
function animateToProgress(targetProgress,durationSec=clockMoveDuration){if(!_arcEl||!_dotEl||!_animDotEl){setInstantProgress(targetProgress);return}targetProgress=(targetProgress%1+1)%1;let start=currentDisplayedProgress;let delta=targetProgress-start;if(delta>.5)delta-=1;if(delta<-.5)delta+=1;if(Math.abs(delta)<1E-6){setInstantProgress(targetProgress);return}const startTime=performance.now();const msDuration=Math.max(1,durationSec*1E3);if(progressAnimation&&progressAnimation.raf){cancelAnimationFrame(progressAnimation.raf);progressAnimation=
null}progressAnimation={raf:null};function step(now){const t=Math.min(1,(now-startTime)/msDuration);const eased=t;let p=start+delta*eased;p=(p%1+1)%1;const svgOffset=clockCircumference-p*clockCircumference;_arcEl.setAttribute("stroke-dashoffset",String(svgOffset));const pos=getDotPosition(p);_dotEl.setAttribute("cx",String(pos.x));_dotEl.setAttribute("cy",String(pos.y));_animDotEl.setAttribute("cx",String(pos.x));_animDotEl.setAttribute("cy",String(pos.y));currentDisplayedProgress=p;if(t<1)progressAnimation.raf=
requestAnimationFrame(step);else progressAnimation=null}progressAnimation.raf=requestAnimationFrame(step)}function updateProgressClock(total,remaining){if(!total||isNaN(total)||total<=0){animateToProgress(0,0);return}const progress=remaining/total;const clamped=Math.max(0,Math.min(1,progress));animateToProgress(clamped,clockMoveDuration)}
function getDotPosition(progress){const angle=2*Math.PI*progress;const x=clockCenter+clockRadius*Math.cos(angle);const y=clockCenter+clockRadius*Math.sin(angle);return{x,y}}
function renderWaitLong(total,remaining,{waitDiv,msgWait,waitTimer,pbOuter,pbDone}){waitDiv.style.display="block";msgWait.style.display="flex";pbOuter.appendChild(waitTimer);if(!document.getElementById("progress-svg"))initProgressClock(pbDone);if(admissionInfo.openingTime!=="null"){setTextMessage("wait",admissionInfo.openingTime);hideTimerLabels()}else{clearWaittimer();setTextMessage("wait",`<div style="display: flex; flex-direction: column; align-items: center; position: relative;">
<div id="messageWaitLong" style="width: ${clockSize}px; padding: 0 ${clockStrokeWidth}px;">
${getText("message_waitlong")}
</div>
</div>`);hideTimerLabels();updateProgressClock(total,remaining)}show("waittimer")}function renderWaitMin({waitDiv,msg,msgWait}){waitDiv.style.display="none";msg.style.display="block";msgWait.style.display="none";msg.innerHTML=getText("message_waittime")}function setProgressVisible(visible){["progress-dot","animate-dot","progress-arc"].map(document.getElementById.bind(document)).filter(Boolean).forEach(el=>el.style.display=visible?"block":"none")}
function setWaitOpeningTimeStyle(showOpeningTime){const wait=document.getElementById("wait");if(!wait)return;if(showOpeningTime)wait.classList.add("opening-time");else wait.classList.remove("opening-time")}
function renderWait(total,remaining,{waitDiv,msgWait,waitTimer,pbOuter,pbDone}){if(total===0)total=remaining;waitDiv.style.display="block";msgWait.style.display="flex";pbOuter.appendChild(waitTimer);if(!document.getElementById("progress-svg"))initProgressClock(pbDone);if(admissionInfo.openingTime!=="null"){setTextMessage("wait",admissionInfo.openingTime);hideTimerLabels();setProgressVisible(false);setWaitOpeningTimeStyle(true)}else{setWaitOpeningTimeStyle(false);setProgressVisible(true);updateProgressClock(total,
remaining)}waitTimer.style.display="flex"}function hideTimerLabels(){const timerDiv=document.getElementById("waittimer_labels");if(timerDiv)timerDiv.style.display="none"}
function renderSpinner(){if(document.getElementById("spinner"))return;const center=clockSize/2;const radius=center-50;const dotCount=8;const dotSize=`${clockStrokeWidth/2}px`;document.getElementById("message_wait").style.display="none";const spinner=document.createElement("div");spinner.id="spinner";spinner.style.width=`${clockSize}px`;spinner.style.height=`${clockSize}px`;spinner.style.position="relative";for(let i=0;i<dotCount;i++){const dot=document.createElement("div");dot.className="dot";const angle=
2*Math.PI*i/dotCount;const x=center+radius*Math.cos(angle);const y=center+radius*Math.sin(angle);dot.style.left=`${x}px`;dot.style.top=`${y}px`;dot.style.position="absolute";dot.style.animationDelay=`${-i*.5}s`;dot.style.width=dotSize;dot.style.height=dotSize;spinner.appendChild(dot)}document.getElementById("PBdone").innerHTML="";document.getElementById("PBdone").appendChild(spinner)}
function drawProgressBarOld(total,remaining){if(total==="null")return;if(total===0)total=remaining;remaining=Math.max(0,remaining);var done=Math.round((total-remaining)/total*100);done=Math.max(done,0);done=Math.min(done,100);document.getElementById("PBdone").style.width=done+"%"}
function drawProgressBarV4(total,remaining){if(total==="null"||queueinfo.state==="END"||isFairQueuePeriod())return;const els={waitDiv:document.getElementById("waitdiv"),waitTimer:document.getElementById("waittimer"),pbOuter:document.getElementById("PBouter"),pbDone:document.getElementById("PBdone"),msg:document.getElementById("message"),msgWait:document.getElementById("message_wait")};switch(queueinfo.state){case "WAITLONG":renderWaitLong(total,remaining,els);break;case "WAITMIN":renderWaitMin(els);
break;case "WAIT":renderWait(total,remaining,els);break}show("PBouter");hideTimerSkeleton()}function drawProgressBar(total,remaining){if(useNewDesignV4)drawProgressBarV4(total,remaining);else drawProgressBarOld(total,remaining)}
function showTime(time){const hour=Math.floor(time/3600);const min=Math.floor(time%3600/60);const sec=time%60;if(showInClockFormat)return[hour>0?`<span id="wait_hour">${addZeroToTime(hour)}</span>`:null,hour>0||min>0?`<span id="wait_min">${addZeroToTime(min)}</span>`:null,`<span id="wait_sec">${addZeroToTime(sec)}</span>`].filter(Boolean).join("\x3cspan\x3e:\x3c/span\x3e");return[hour>0?addZeroToTime(hour)+getText("message_hour")??" h.":"",min>0||hour>0?addZeroToTime(min)+(getText("message_min")??
" min."):"",addZeroToTime(sec)+(getText("message_sec")??" sec.")].join("")}function addZeroToTime(number){return number.toString().length<2&&number>=0?"0"+number:String(number)}
function progress(){if(queueinfo.accessts===null||queueinfo.enterts===null)return;if(timerProgress===null)return;var wr_waitr=Math.floor((queueinfo.accessts-now())/MS_IN_S),wr_wait0=Math.floor((queueinfo.accessts-queueinfo.enterts)/MS_IN_S);if(queueinfo.state!=="WAITMIN"&&wr_waitr<=MIN_WAIT_TIME){queueinfo.state="WAITMIN";timerProgress=null;showMinWaitMessage()}else timerProgress=window.setTimeout("progress()",PB_INCR_MS);if(admissionInfo!==null&&queueinfo.state==="WAIT"&&admissionInfo.openingTime===
"null"&&!isNaN(wr_waitr))document.getElementById("wait").innerHTML=showTime(wr_waitr);renderDeviceTransfer();drawProgressBar(wr_wait0,wr_waitr)}
function showProgress(queueinfo,wr_waitr){var message="";if(queueinfo.state!=="WAIT"&&queueinfo.state!=="WAITMIN"&&queueinfo.state!=="WAITLONG")return;selectInterface("waitdiv");hide("waittimer");if(admissionInfo.openingTime!=="null")message=getText("message_opening1")+admissionInfo.openingTime+getText("message_opening2");else{if(queueinfo.state==="WAITLONG"||queueinfo.accessts===null||queueinfo.enterts===null)message=getText("message_longwait");else{message=getText("message_wait");showWaitingTime(wr_waitr)}showMessage("message_waittime")}setTextMessage("message_wait",
message);queuePosition();enableTimerProgress()}function queuePosition(){admissionInfo.showQueuePosition==="true"?enableQueuePosition():disabledQueuePosition()}
function enableQueuePosition(){var queuepositionElement=document.getElementById("queueposition"),queuePosition=Number(admissionInfo.queuePosition),queuePositionMessage=getText("message_position");if(queuePositionMessage===null||queuePositionMessage===undefined){disabledQueuePosition();return}if(!isNaN(+queuePosition)){show("queuePositionGroup");setTextMessage("message_queue_position",queuePositionMessage);const iconQueuePosition='\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" width\x3d"14" height\x3d"22" viewBox\x3d"0 0 14 22" fill\x3d"none"\x3e\x3cpath d\x3d"M2.36811 7.21233L5.57318 4.88373C5.92498 4.62735 6.35968 4.48543 6.81598 4.5008C7.92738 4.52813 8.90338 5.25668 9.24288 6.32036C9.42918 6.90431 9.59908 7.29836 9.75268 7.5025C10.665 8.7155 12.1165 9.5 13.7512 9.5V11.5C11.5765 11.5 9.63348 10.5083 8.34958 8.9526L7.65198 12.9085L9.71308 14.638L11.9363 20.746L10.0569 21.43L8.01698 15.8256L4.62674 12.9808C4.07919 12.5382 3.78237 11.8192 3.91329 11.0767L4.42189 8.1923L3.74505 8.6841L1.61804 11.6116L0 10.4361L2.35114 7.2L2.36811 7.21233ZM8.25118 4C7.14658 4 6.25118 3.10457 6.25118 2C6.25118 0.89543 7.14658 0 8.25118 0C9.35568 0 10.2512 0.89543 10.2512 2C10.2512 3.10457 9.35568 4 8.25118 4ZM5.27958 17.1813L2.06563 21.0116L0.53355 19.726L3.50872 16.1803L4.25524 14L6.04638 15.5L5.27958 17.1813Z" fill\x3d"currentColor"/\x3e\x3c/svg\x3e';
queuepositionElement.innerHTML='\x3cspan id\x3d"queueposition-content"\x3e'+iconQueuePosition+"\x3cspan\x3e"+queuePosition+"\x3c/span\x3e"+"\x3c/span\x3e"}}function disabledQueuePosition(){hide("queuePositionGroup");document.getElementById("queueposition").innerHTML=""}function showWaitingTime(wr_waitr){if(timerProgress===null)document.getElementById("wait").innerHTML=showTime(wr_waitr);show("waittimer")}
function enableTimerProgress(){show("PBouter");if(timerProgress===null){timerProgress=1;progress()}}function redirectToACP(){var url=admissionInfo.admissionURL;if(!admissionInfo.cookieAdded&&admissionInfo.admissionURL.indexOf("AT\x3d")<0)if(admissionInfo.admissionURL.indexOf("?")>0)url+="\x26AT\x3d"+admissionInfo.admissionToken;else url+="?AT\x3d"+admissionInfo.admissionToken;clearWRCookies();document.location=url}
function checkQueueSelect(){var redirect=null,regex=new RegExp('"location": "([^"]*)"'),results=null,ct=null;if(httprequest.readyState===4){lastCall=new Date;hideError();if(httprequest.status===403){connectionError();return}if(httprequest.status!==200){showPause();window.setTimeout("initConnection(true)",DEFAULT_TIME*MS_IN_S);return}results=regex.exec(httprequest.responseText);if(results!==null)redirect=results[1];ct=readCookie(COOKIE_CT,null);at=readCookie(AT_PREFIX+wr_queue,null);if(ct===null||
redirect!==null&&redirect.indexOf("welcome?AT\x3d")>0||redirect!==null&&redirect.indexOf("AcpAT\x3d")>0||at!==null){if(redirect!==null){clearWRCookies();document.location=redirect}else{connectionError();return}return}window.setTimeout("requestWaitingTime()",DELAY)}}function stopWatchdog(){if(timerWatchdog!==null)window.clearTimeout(timerWatchdog)}
function triggerWatchdog(){var delta=now()-lastCall.getTime();if(admissionInfo!==null&&(admissionInfo.token!=="null"&&delta>(MAX_POLL_FREQ+RETRY_PERIOD)*MS_IN_S)){stopProgress();showError("connection")}stopWatchdog();timerWatchdog=window.setTimeout("triggerWatchdog()",RETRY_PERIOD*MS_IN_S)}
function triggerControllerRequest(delay,afterException){var nextRefreshTime=queueinfo.refreshtime,retryDelay,time_now=now();if(isNaN(delay)||delay<MIN_POLL_FREQ)delay=RETRY_PERIOD;retryDelay=delay*MS_IN_S;triggerWatchdog();if(nextRefreshTime!==null&&nextRefreshTime>time_now)retryDelay=nextRefreshTime-time_now;else{nextRefreshTime=time_now+retryDelay;queueinfo.refreshtime=nextRefreshTime;persistQueueInfo()}if(timerControllerRequest!==null)window.clearTimeout(timerControllerRequest);if(afterException&&
retryDelay<RETRY_PERIOD*MS_IN_S)retryDelay=RETRY_PERIOD*MS_IN_S;if(isNaN(retryDelay)||retryDelay<0)retryDelay=RETRY_PERIOD*MS_IN_S;timerControllerRequest=window.setTimeout("requestWaitingTime()",retryDelay)}
function restoreWR(serverAnswer){if(readQueueInfo()){var response=JSON.parse(queueinfo.response),serverAdmissionInfo=null;if(response!==null)serverAdmissionInfo=response.admissionInfo;if(serverAdmissionInfo===null){admissionInfo="null";if(queueinfo.state!=="END")wr_error="technical";return}else if(admissionInfo!==null){var prevwrtoken=admissionInfo.token,prevwaitingTime=admissionInfo.waitingTime;admissionInfo=serverAdmissionInfo;if(admissionInfo.token==="null")admissionInfo.token=prevwrtoken;if(admissionInfo.waitingTime===
"null")admissionInfo.waitingTime=prevwaitingTime}else admissionInfo=serverAdmissionInfo;if(admissionInfo.error!=="null")wr_error=admissionInfo.error}if(admissionInfo!==null&&admissionInfo.waitingTime!=="null"){if(admissionInfo.userPollingInterval!==undefined&&admissionInfo.userPollingInterval<=300)MAX_POLL_FREQ=admissionInfo.userPollingInterval;if(queueinfo.enterts===null){queueinfo.enterts=now();persistQueueInfo()}var wr_waitr=admissionInfo.waitingTime,sleep;if(queueinfo.accessts!==null)wr_waitr=
Math.max(0,queueinfo.accessts-now());if(serverAnswer){queueinfo.accessts=now()+admissionInfo.waitingTime*MS_IN_S;persistQueueInfo()}if(admissionInfo.waitingTime>wr_waitr&&admissionInfo.waitingTime<wr_waitr+PROGRESS_WAIT_THRESHOLD)if(timerProgress!==null){stopProgress();sleep=Math.max(10,(admissionInfo.waitingTime-wr_waitr)*MS_IN_S);timerProgress=window.setTimeout("progress()",sleep)}}}
function persistResponse(response,responseTime){queueinfo.response=response;queueinfo.lastResponseTime=responseTime;persistQueueInfo();if(wr_error!=="cookie")restoreWR(true);if(response!==undefined){var jsonResponse=JSON.parse(response);if(jsonResponse.admissionInfo!==undefined&&jsonResponse.admissionInfo.userPollingInterval!==undefined&&jsonResponse.admissionInfo.userPollingInterval<=300)MAX_POLL_FREQ=jsonResponse.admissionInfo.userPollingInterval}}
function retryPeriod(initialDelayMs){var nextCallDelay=initialDelayMs;if(queueinfo.lastResponseTime!==null&&queueinfo.lastResponseTime>0){var nowDate=new Date;if(nowDate.getTime()<queueinfo.lastResponseTime+initialDelayMs)nextCallDelay=queueinfo.lastResponseTime+initialDelayMs-nowDate.getTime();else nextCallDelay=DELAY}return nextCallDelay}
function process(){var loop=true,refresh_time;while(loop)switch(queueinfo.state){case "START":initConnection(true);loop=false;break;case "INITIALIZED":if(admissionInfo.genWRT==="false"||admissionInfo.genAT==="false"){queueinfo.state="IDLE";break}if(admissionInfo.needCaptcha==="true")queueinfo.state="AUTHREQ";else if(admissionInfo.admissionToken==="null")queueinfo.state="AUTHORIZED";else queueinfo.state="ADMITTED";break;case "AUTHREQ":if(admissionInfo.token!=="null")queueinfo.state="AUTHORIZED";else if(admissionInfo.genWRT===
"false")queueinfo.state="IDLE";else{loop=false;showCaptcha();hideOnsalesWidget()}break;case "AUTHORIZED":selectInterface("info");deleteCookie(COOKIE_CT);if(admissionInfo.admissionToken==="null")queueinfo.state="WAIT";else queueinfo.state="ADMITTED";break;case "WAITMIN":if(admissionInfo.waitingTime>MIN_WAIT_TIME_THRESHOLD)queueinfo.state="WAIT";case "WAITLONG":if(admissionInfo.showWaitingTime==="true")queueinfo.state="WAIT";case "WAIT":if(admissionInfo.genAT==="false")queueinfo.state="PAUSE";else if(admissionInfo.canEnter===
"true")queueinfo.state="READY";else{if(admissionInfo.waitingTime<=MIN_WAIT_TIME)queueinfo.state="WAITMIN";if(admissionInfo.showWaitingTime==="false")queueinfo.state="WAITLONG";if(wr_error==="technical")refresh_time=RETRY_PERIOD;else if(admissionInfo.waitingTime>=MIN_POLL_FREQ*2){refresh_time=admissionInfo.waitingTime/2;refresh_time=Math.min(refresh_time,MAX_POLL_FREQ)}else{refresh_time=1+parseInt(admissionInfo.waitingTime,10);refresh_time=Math.max(refresh_time,MIN_POLL_FREQ)}triggerControllerRequest(refresh_time,
false);loop=false;if(queueinfo.state==="WAITMIN")showMinWaitMessage();else showProgress(queueinfo,admissionInfo.waitingTime)}if(isShowOnsalesWaitingRoomWidget())showOnsalesWidget();else hideOnsalesWidget();if(admissionInfo.fairQueuePeriod!==undefined)delayLoadingDiv(admissionInfo.fairQueuePeriod);break;case "READY":stopWatchdog();if(admissionInfo.canEnter==="false")queueinfo.state="WAITMIN";else if(admissionInfo.admissionToken!=="null")queueinfo.state="ADMITTED";else if(admissionInfo.genAT==="false")queueinfo.state=
"PAUSE";else{loop=false;showAdmissionLink()}break;case "ADMITTED":loop=false;redirectToACP();break;case "ERROR":loop=false;showError(admissionInfo.error);stopWatchdog();break;case "END":loop=false;stopWatchdog();showReload();break;case "IDLE":selectInterface("info");if(admissionInfo!==null&&admissionInfo.genWRT==="true")queueinfo.state="START";else{loop=false;triggerWatchdog();showPause();var nextCallDelay=retryPeriod(MAX_POLL_FREQ*MS_IN_S);window.setTimeout("initConnection(false)",nextCallDelay)}break;
case "PAUSE":if(admissionInfo!==null&&admissionInfo.genAT==="true"){selectInterface("info");queueinfo.state="READY"}else{loop=false;showPause();var nextCallDelay=retryPeriod(RETRY_PERIOD*MS_IN_S);triggerControllerRequest(nextCallDelay/1E3,false)}break;default:break}persistQueueInfo()}
function handleResponse(){if(http.readyState===4){lastCall=new Date;hideError();if(http.status===200){persistResponse(http.responseText,lastCall.getTime());if(queueinfo.state==="START")queueinfo.state="INITIALIZED";if(wr_error!=="null"&&wr_error!=="reset")showError(wr_error);if(wr_error==="reset"||wr_error==="timeout"||wr_error==="used_wrt"){if(getSourceUrl()===null)showReload();else window.setTimeout("initConnection(false)",DELAY);return}}else console.log("A technical error has occurred.");if(admissionInfo!==
null)process();else triggerControllerRequest(DEFAULT_TIME,false)}}function getResponse(url){try{http.open("get",url);http.onreadystatechange=handleResponse;http.send(null)}catch(err){console.log("A technical error has occurred.");if(admissionInfo!==null)window.setTimeout("process()",RETRY_PERIOD*MS_IN_S);else triggerControllerRequest(RETRY_PERIOD,true)}}
function requestWaitingTime(){var url=URL_CONTROLLER;var ffrt=readCookie(COOKIE_FFRT,null);if(ffrt){url+="?FFRT\x3d"+ffrt;deleteCookie(COOKIE_FFRT)}else{readQueueInfo();if(admissionInfo!==null&&admissionInfo.token&&admissionInfo.token!=="null"&&admissionInfo.token.length>0)url+="?WRT\x3d"+admissionInfo.token}getResponse(url);if(isWaittimerRendered()){hide("PBouter");showTimerSkeleton()}}
function isShowOnsalesWaitingRoomWidget(){return admissionInfo&&admissionInfo.showOnsalesWaitingRoomWidget==="true"}
function initConnection(useCT){var ct=readCookie(COOKIE_CT,null),source,url;if(useCT&&ct!==null){requestWaitingTime();return}source=getSourceUrl();if(source===null){connectionError();return}stopWatchdog();stopProgress();clearWaitCookies();persistQueueInfo();try{url=URL_SELECT+"?init\x3d1"+"\x26queueName\x3d"+wr_queue+"\x26source\x3d"+encodeURIComponent(source);httprequest.open("get",url);httprequest.onreadystatechange=checkQueueSelect;httprequest.send(null)}catch(err){showPause();window.setTimeout("initConnection(true)",
RETRY_PERIOD*MS_IN_S);return}}function requestAccess(){var url=URL_CONTROLLER+"?GEN_AT\x3dtrue";if(admissionInfo!==null&&admissionInfo.token!=="null"&&admissionInfo.token.length>0)url+="\x26WRT\x3d"+admissionInfo.token;window.setTimeout('getResponse("'+url+'")',DELAY)}function goSource(){var target=getSourceUrl();clearWRCookies();if(target===null)showError("cookie");else if(target==="xss")showError("xss");else document.location=URL_SELECT+"?\x26source\x3d"+encodeURIComponent(target)}
function submitCaptcha(){var val=document.getElementById("secret").value,url=null;if(val.length>0){url=URL_CONTROLLER+"?CAPTCHA\x3d"+val;window.setTimeout('getResponse("'+url+'")',DELAY)}}function newCaptcha(){hideError();var url=URL_CONTROLLER+"?newcaptcha\x3dtrue";window.setTimeout('getResponse("'+url+'")',DELAY)}
function installInfoZone(){var content=null;if(httpinfo.readyState===4&&httpinfo.status===200)content=httpinfo.responseText;if(content!==null&&content.length>0)display("info",content);else{hide("info");clear("info")}}function refreshInfoZone(){try{var url=URL_CONTENT_BASE+wr_queue+"/"+langcode+URL_CONTENT_FILE;httpinfo.open("get",url);httpinfo.onreadystatechange=installInfoZone;httpinfo.send(null)}catch(err){return}startInfoRefresh()}
function startInfoRefresh(){var initinfo=false;if(timerInfoRefresh!==null)window.clearTimeout(timerInfoRefresh);else initinfo=true;timerInfoRefresh=window.setTimeout("refreshInfoZone()",INFO_REFRESH_MS);if(initinfo)refreshInfoZone()}function getQueueName(){var regex=new RegExp("[/?\x26]queue\x3d([^\x26#]*)"),results=regex.exec(window.location.href);if(results!==null)wr_queue=results[1]}
function setLangSwitches(){var langlinks=document.getElementsByName("langlink"),linkId=0,alink;for(linkId=0;linkId<langlinks.length;linkId++){alink=langlinks.item(linkId);alink.href=alink.href+window.location.search}}function setBrandingResources(){var resId;for(resId in resources){document.getElementById(resId).innerHTML=resources[resId];show(resId)}}
function prepareInterface(){initButton(document.getElementById("submit_button"));initButton(document.getElementById("newcaptcha_button"));getQueueName();setLangSwitches();setBrandingResources();loadTitle();startInfoRefresh()}function getErrorUrl(){var regex=new RegExp("[/?\x26]error\x3d([^\x26#]*)"),results=regex.exec(window.location.href);if(results!==null)wr_error=results[1]}
function delayLoadingDiv(milliseconds){if(timeoutId)window.clearTimeout(timeoutId);showFairQueue();if(isShowOnsalesWaitingRoomWidget())window.setTimeout("showOnsalesTransition()",milliseconds);else window.setTimeout("showFairQueueTransition()",milliseconds)}function init(){queueinfo=initQueueInfo();prepareInterface();if(wr_queue===null){showReload();return}getErrorUrl();if(wr_error!=="null"){showError(wr_error);return}getSourceUrl();restoreWR(false);process()}
function copyToClipBoard(textToCopy,onSuccess,onError){if(navigator.clipboard&&window.isSecureContext){navigator.clipboard.writeText(textToCopy).then(function(){onSuccess&&onSuccess()},function(err){console.warn("Clipboard API failed:",err);onError&&onError(err);fallbackCopy(textToCopy,onSuccess,onError)});return}fallbackCopy(textToCopy,onSuccess,onError)}
function fallbackCopy(textToCopy,onSuccess,onError){var tempInput=document.createElement("textarea");tempInput.value=textToCopy;tempInput.setAttribute("readonly","");tempInput.style.position="absolute";tempInput.style.left="-9999px";document.body.appendChild(tempInput);tempInput.select();try{document.execCommand("copy");onSuccess&&onSuccess()}catch(err){console.warn("Fallback copy failed:",err);onError&&onError(err)}finally{document.body.removeChild(tempInput)}}
function getDeviceTransferPopup(){return document.getElementById("transfer-popup")}function getDefaultCookiePath(){var path=window.location.pathname;return path.substring(0,path.lastIndexOf("/"))}
function showDeviceTransferPopup(){var popup=getDeviceTransferPopup();var linkEl=getDeviceTransferLinkEl();var qrCodeContainer=document.getElementById("qr-code-container");if(!popup||!linkEl||!qrCodeContainer||!admissionInfo||!queueinfo||!QRCode){console.warn("Missing required information.");return}var apiUrl=new URL(window.location.origin+"/"+URL_CONTROLLER);apiUrl.searchParams.set("deviceTransfer","");apiUrl.searchParams.set("WRT",admissionInfo.token);apiUrl.searchParams.set("state",queueinfo.state);
apiUrl.searchParams.set("path",getDefaultCookiePath());apiUrl.searchParams.set("accessts",queueinfo.accessts);apiUrl.searchParams.set("enterts",queueinfo.enterts);var transferLink=apiUrl.toString();linkEl.value=transferLink;qrCodeContainer.innerHTML="";var options={text:transferLink,width:DEVICE_TRANSFER_QR_CODE_SIZE,height:DEVICE_TRANSFER_QR_CODE_SIZE,colorDark:DEVICE_TRANSFER_QR_CODE_COLOR_DARK,colorLight:DEVICE_TRANSFER_QR_CODE_COLOR_LIGHT,correctLevel:QRCode.CorrectLevel.L};new QRCode(qrCodeContainer,
options);popup.style.display="flex"}function hidePopup(){var popup=getDeviceTransferPopup();if(popup)popup.style.display="none"}function getDeviceTransferCopyLinkButton(){return document.getElementById("copy-link-btn")}
function getDeviceTransferCopyIcon(type){switch(type){case "success":return'\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" width\x3d"18" height\x3d"18" fill\x3d"currentColor" viewBox\x3d"0 0 24 24"\x3e\x3cpath d\x3d"M20.285 6.709l-11.025 11.025-5.546-5.547 1.414-1.414 4.132 4.132 9.611-9.611z"/\x3e\x3c/svg\x3e';case "fail":return'\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" width\x3d"18" height\x3d"18" fill\x3d"currentColor" viewBox\x3d"0 0 24 24"\x3e\x3cpath d\x3d"M13.414 12l4.95-4.95-1.414-1.414L12 10.586 7.05 5.636 5.636 7.05 10.586 12l-4.95 4.95 1.414 1.414L12 13.414l4.95 4.95 1.414-1.414z"/\x3e\x3c/svg\x3e';
default:return'\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" width\x3d"18" height\x3d"18" viewBox\x3d"0 0 18 18" fill\x3d"none"\x3e\x3cpath d\x3d"M5.25 4.5V2.25C5.25 2.05109 5.32902 1.86032 5.46967 1.71967C5.61032 1.57902 5.80109 1.5 6 1.5H15C15.1989 1.5 15.3897 1.57902 15.5303 1.71967C15.671 1.86032 15.75 2.05109 15.75 2.25V12.75C15.75 12.9489 15.671 13.1397 15.5303 13.2803C15.3897 13.421 15.1989 13.5 15 13.5H12.75V15.75C12.75 16.164 12.4125 16.5 11.9948 16.5H3.00525C2.90635 16.5006 2.8083 16.4816 2.71674 16.4442C2.62519 16.4068 2.54192 16.3517 2.47174 16.282C2.40156 16.2123 2.34584 16.1294 2.30779 16.0381C2.26974 15.9468 2.2501 15.8489 2.25 15.75L2.25225 5.25C2.25225 4.836 2.58975 4.5 3.0075 4.5H5.25ZM3.75225 6L3.75 15H11.25V6H3.75225ZM6.75 4.5H12.75V12H14.25V3H6.75V4.5Z" fill\x3d"currentColor"/\x3e\x3c/svg\x3e'}}
function setCopyLinkButtonIcon(type){var copyBtn=getDeviceTransferCopyLinkButton();if(!copyBtn)return;var copyBtnIcon=copyBtn.querySelector(".pkp-icon");if(copyBtnIcon)copyBtnIcon.innerHTML=getDeviceTransferCopyIcon(type)}
function setCopyLinkButtonLabel(type){var copyBtn=getDeviceTransferCopyLinkButton();if(!copyBtn)return;var copyBtnLabel=copyBtn.querySelector(".pkp-btn-label");if(!copyBtnLabel)return;switch(type){case "success":copyBtnLabel.innerHTML=getText("copied");break;case "fail":copyBtnLabel.innerHTML=getText("copyFailed");break;default:copyBtnLabel.innerHTML=getText("copyLinkButton")}}
function handleCopyAnimationEnd(){var copyBtn=getDeviceTransferCopyLinkButton();if(!copyBtn)return;setCopyLinkButtonIcon();setCopyLinkButtonLabel();copyBtn.classList.remove("copy-success","copy-fail");copyBtn.setAttribute("title",getText("copyLinkButton"));copyBtn.removeAttribute("disabled")}
function showCopyStatus(type){var copyBtn=getDeviceTransferCopyLinkButton();if(!copyBtn)return;copyBtn.setAttribute("title",type==="success"?getText("copied"):getText("copyFailed"));copyBtn.setAttribute("disabled","");copyBtn.classList.add("copy-"+type);setCopyLinkButtonIcon(type);setCopyLinkButtonLabel(type);return setTimeout(handleCopyAnimationEnd,3E3)}function handleSaveDeviceTransferLinkSuccess(){showCopyStatus("success")}function handleSaveDeviceTransferLinkError(_e){showCopyStatus("fail")}
function getDeviceTransferLinkEl(){return document.getElementById("session-link")}function getDeviceTransferLink(){var linkEl=getDeviceTransferLinkEl();if(!linkEl)return;return linkEl.value}function handleCopyClick(){copyToClipBoard(getDeviceTransferLink(),handleSaveDeviceTransferLinkSuccess,handleSaveDeviceTransferLinkError)}function isDeviceTransferEnabled(){return admissionInfo&&admissionInfo.deviceTransferEnable==="true"}
function isFairQueuePeriod(){return!!admissionInfo?.fairQueuePeriod&&!isShowOnsalesWaitingRoomWidget()}
function renderDeviceTransfer(){var container=document.getElementById("transfer-session-container");if(!container)return;if(!isDeviceTransferEnabled()||isFairQueuePeriod()||isShowOnsalesWaitingRoomWidget()){container.style.display="none";return}var copyBtn=getDeviceTransferCopyLinkButton();var btn=document.getElementById("transfer-session-btn");var title=document.getElementById("transfer-title");var options=document.getElementById("transfer-options");var closeBtn=document.getElementById("close-popup");
var qrCodeScanMessage=document.getElementById("qr-code-scan-message-text");var transferLinkLabel=document.getElementById("session-link-label");container.style.display="flex";if(container.hasAttribute("data-rendered"))return;container.setAttribute("data-rendered","");btn.textContent=getText("transferSessionButton");title.textContent=getText("transferTitle");options.textContent=getText("transferOptions");qrCodeScanMessage.textContent=getText("scanQrCodeMessage");transferLinkLabel.textContent=getText("transferLinkLabel");
closeBtn.title=getText("closePopupButton");setCopyLinkButtonIcon();setCopyLinkButtonLabel();btn.addEventListener("click",showDeviceTransferPopup);closeBtn.addEventListener("click",hidePopup);copyBtn.addEventListener("click",handleCopyClick)}function isWaittimerRendered(){if(isFairQueuePeriod())return false;return["WAIT","WAITLONG"].includes(queueinfo.state)}
function clearWaittimer(){const waitTimer=document.getElementById("waittimer");const brs=waitTimer.getElementsByTagName("br");while(brs[0])brs[0].remove()}function languagesButtonClick(){document.getElementById("optionsContent").classList.toggle("languages_show")}function showTimerSkeleton(){addWaitTimerSkeleton();show("waittimer_skeleton_wrapper")}function hideTimerSkeleton(){if(!document.getElementById("waittimer_skeleton_wrapper"))return;hide("waittimer_skeleton_wrapper")}
function addWaitTimerSkeleton(){const pbOuter=document.getElementById("PBouter");let newElement=document.getElementById("waittimer_skeleton_wrapper");if(!pbOuter||newElement)return;newElement=document.createElement("div");newElement.id="waittimer_skeleton_wrapper";pbOuter.after(newElement);const openingTimeSkeleton=`
<div id="waittimer_skeleton_opening_time">
<div class="digit-box skeleton-box">
<div class="digit-cell"></div>
<div class="digit-cell"></div>
</div>
<span class="colon">:</span>
<div class="digit-box skeleton-box">
<div class="digit-cell"></div>
<div class="digit-cell"></div>
</div>
</div>
`;const timerSkeleton=`
<div id="waittimer_skeleton_waittimer">
<div id="waittimer_skeleton_wait">
<div class="digit-box skeleton-box">
<div class="digit-cell"></div>
<div class="digit-cell"></div>
</div>
<span class="colon">:</span>
<div class="digit-box skeleton-box">
<div class="digit-cell"></div>
<div class="digit-cell"></div>
</div>
<span class="colon">:</span>
<div class="digit-box skeleton-box">
<div class="digit-cell"></div>
<div class="digit-cell"></div>
</div>
</div>
<div id="waittimer_skeleton_waittimer_labels">
<span>${getText("message_hour")||"hour"}</span>
<span>${getText("message_min")||"min."}</span>
<span>${getText("message_sec")||"sec."}</span>
</div>
</div>
`;newElement.innerHTML=`
<div class="center-flex">
<div id="waittimer_skeleton_container" style="width: ${clockSize}px; height: ${clockSize}px;">
<div id="waittimer_skeleton" class="loading-circle" style="width: ${clockSize}px; height: ${clockSize}px;">
<div class="waittimer-skeleton-ring" style="width: ${clockSize}px; height: ${clockSize}px; border-width: ${clockStrokeWidth}px;"></div>
${isShowOpeningTime()?openingTimeSkeleton:timerSkeleton}
</div>
</div>
</div>
`}
function addEventHandlerForLanguages(){const languages=document.getElementById("languages");if(!languages)return;const children=languages.childNodes;const options=[];let label="";children.forEach(function(child){if(child.href){child.classList.remove("langlink");child.classList.add("languages_langlink");options.push(child)}if(child.classList&&child.classList.contains("langcurrent"))label=child.innerText});while(languages.firstChild)languages.removeChild(languages.firstChild);const selectContent=document.createElement("div");
selectContent.classList.add("languages_selectContent");languages.appendChild(selectContent);const optionsContent=document.createElement("div");optionsContent.id="optionsContent";optionsContent.classList.add("languages_dropdown-content");options.forEach(function(option){optionsContent.appendChild(option)});const languagesButton=document.createElement("div");languagesButton.id="languagesDropdownButton";languagesButton.classList.add("languages_dropbtn");languagesButton.classList.add("button-secondary");
languagesButton.tabIndex=0;languagesButton.setAttribute("role","button");languagesButton.innerHTML=`
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" fill="currentColor"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.71002 19.6674C8.74743 17.6259 8.15732 15.3742 8.02731 13H4.06189C4.458 16.1765 6.71639 18.7747 9.71002 19.6674ZM10.0307 13C10.1811 15.4388 10.8778 17.7297 12 19.752C13.1222 17.7297 13.8189 15.4388 13.9693 13H10.0307ZM19.9381 13H15.9727C15.8427 15.3742 15.2526 17.6259 14.29 19.6674C17.2836 18.7747 19.542 16.1765 19.9381 13ZM4.06189 11H8.02731C8.15732 8.62577 8.74743 6.37407 9.71002 4.33256C6.71639 5.22533 4.458 7.8235 4.06189 11ZM10.0307 11H13.9693C13.8189 8.56122 13.1222 6.27025 12 4.24799C10.8778 6.27025 10.1811 8.56122 10.0307 11ZM14.29 4.33256C15.2526 6.37407 15.8427 8.62577 15.9727 11H19.9381C19.542 7.8235 17.2836 5.22533 14.29 4.33256Z"></path></svg>
<div id="languagesDropdownButtonWithIconLabel">
${label}
</div>
`;languagesButton.onclick=languagesButtonClick;languagesButton.onkeydown=function(event){if(event.key==="Enter"||event.key===" "){event.preventDefault();languagesButtonClick()}};selectContent.appendChild(languagesButton);selectContent.appendChild(optionsContent);window.onclick=function(event){if(!event.target.matches(".languages_dropbtn")&&!event.target.matches("#languagesDropdownButtonWithIconLabel")&&!event.target.matches("#world")&&!event.target.matches("#languagesDropdownButton \x3e img")){const dropdowns=
document.getElementsByClassName("languages_dropdown-content");for(let openDropdown of dropdowns)if(openDropdown.classList.contains("languages_show"))openDropdown.classList.remove("languages_show")}}}function removeTextFromElement(selector){const element=document.querySelector(selector);if(!element)return;const textNode=element.childNodes[0];if(textNode?.nodeType===Node.TEXT_NODE)element.removeChild(textNode)}function isDesktop(){return window.innerWidth>=480}
function replaceBgImageWithImageElement(selector,options){var target=document.querySelector(selector);if(!target)return;var backgroundImage=window.getComputedStyle(target).backgroundImage;var match=backgroundImage.match(/url\(["']?(.+?)["']?\)/);if(!match||backgroundImage==="none")return;var backgroundImageUrl=match[1];var img=document.createElement("img");img.src=backgroundImageUrl;if(options){img.alt=options.alt;img.id=options.id;img.classList.add(options.className)}target.style.backgroundImage=
"none";if(options.target)options.target.appendChild(img);else target.appendChild(img)}function Component({className,children}){const component=document.createElement("div");if(className)className.split(" ").forEach(c=>component.classList.add(c));if(children)component.appendChild(children);return component}function FooterRow({className}={}){return Component({className:className?className+" footer-row":"footer-row"})}
function FooterCell({children,className}={}){return Component({children,className:className?className+" footer-cell":"footer-cell"})}function getToastContainer(){let toastContainer=document.querySelector(".toast-container");if(!toastContainer){toastContainer=document.createElement("div");toastContainer.classList.add("toast-container");document.body.appendChild(toastContainer)}return toastContainer}
function getCssVar(name,fallback){return getComputedStyle(document.documentElement).getPropertyValue(name)||fallback}function moveNewCaptchaButton(){const newCaptchaButton=document.getElementById("newcaptcha_button");const formContainer=document.getElementById("form_container");if(!newCaptchaButton||!formContainer)return;formContainer.appendChild(newCaptchaButton)}
function removeTextNodeFromActionButtonAndSubmitButton(){removeTextFromElement("#actionButton");removeTextFromElement("#submit_button \x3e a")}function replaceCaptchaRefreshButton(){const captchaRefresh=document.getElementById("catpcha_refresh");if(captchaRefresh){const newCaptchaButtonIcon=document.createElement("span");newCaptchaButtonIcon.id="newcaptcha_button_icon";newCaptchaButtonIcon.innerHTML=`
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
<path d="M5.463 4.43301C7.27756 2.86067 9.59899 1.99666 12 2.00001C17.523 2.00001 22 6.47701 22 12C22 14.136 21.33 16.116 20.19 17.74L17 12H20C20.0001 10.4316 19.5392 8.89781 18.6747 7.58927C17.8101 6.28072 16.5799 5.25517 15.1372 4.64013C13.6944 4.0251 12.1027 3.84771 10.56 4.13003C9.0172 4.41234 7.59145 5.14191 6.46 6.22801L5.463 4.43301ZM18.537 19.567C16.7224 21.1393 14.401 22.0034 12 22C6.477 22 2 17.523 2 12C2 9.86401 2.67 7.88401 3.81 6.26001L7 12H4C3.99987 13.5684 4.46075 15.1022 5.32534 16.4108C6.18992 17.7193 7.42007 18.7449 8.86282 19.3599C10.3056 19.9749 11.8973 20.1523 13.44 19.87C14.9828 19.5877 16.4085 18.8581 17.54 17.772L18.537 19.567Z" fill="currentColor"/>
</svg>
`;captchaRefresh.replaceWith(newCaptchaButtonIcon)}}
function modifyFooter(){const footer=document.getElementById("footer");if(!footer)return;const secutixRow=FooterRow({className:"secutix-row"});footer.appendChild(secutixRow);const languages=document.getElementById("languages");if(languages)secutixRow.appendChild(FooterCell({children:languages}));const secutixCell=FooterCell({className:"secutix-cell"});replaceBgImageWithImageElement("#footer",{target:secutixCell,id:"secutixBranding",alt:"Powered by Secutix",className:"secutix-branding"});secutixRow.appendChild(secutixCell);
const sponsorElements=["sponsorZone1","sponsorZone2","twitter"].map(id=>document.getElementById(id)).filter(el=>!!el?.innerHTML.trim());if(sponsorElements.length){const sponsorRow=FooterRow();footer.appendChild(sponsorRow);sponsorElements.forEach(el=>{sponsorRow.appendChild(el);sponsorRow.style.display="block"})}}
function moveQueuePosition(){const queuePosGroup=document.getElementById("queuePositionGroup");const PBouter=document.getElementById("PBouter");if(!queuePosGroup||!PBouter)return;PBouter.after(queuePosGroup)}
function modifyLogoContainer(){const logoEl=document.getElementById("logo");const languages=document.getElementById("languages");const languagesFooterCell=languages.closest(".footer-cell");const footerRow=languages.closest(".footer-row");const page=document.getElementById("page");if(!logoEl||!languages||!languagesFooterCell||!footerRow||!page)return;replaceBgImageWithImageElement("#logo",{className:"logo-image",id:"logoImage",alt:"Secutix Logo"});const logoContainer=document.createElement("div");
logoContainer.id="logoContainer";logoContainer.appendChild(logoEl);logoContainer.append(languagesFooterCell);page.insertBefore(logoContainer,page.firstChild)}
function addResizeHandlerToTransferSessionCopyLink(){function updateClassForCopyButton(){var copyLinkButton=document.getElementById("copy-link-btn");if(!copyLinkButton)return;if(isDesktop())copyLinkButton.classList.remove("button-secondary");else copyLinkButton.classList.add("button-secondary")}updateClassForCopyButton();window.addEventListener("resize",updateClassForCopyButton)}
function modifyTransferSessionToFooter(){const transferSessionContainer=document.getElementById("transfer-session-container");const footerRow=document.querySelector(".footer-row");if(!transferSessionContainer||!footerRow)return;document.getElementById("transfer-session-btn")?.classList.add("button-secondary");transferSessionContainer.classList.add("footer-cell");footerRow.appendChild(transferSessionContainer)}
function addInfoToTransferSession(){const popupContent=document.querySelector("#transfer-session-container .popup-content");if(!popupContent)return;const infoEl=document.createElement("div");infoEl.id="sessionTransferInfo";infoEl.classList.add("info");infoEl.innerHTML=`
<span>${getText("sessionTransferInfo")}</span>
`;popupContent.appendChild(infoEl)}
function modifyActionTextWarning(){let actionText=document.getElementById("actionText");let action=document.getElementById("action");const intro=document.getElementById("intro");const waitingroom=document.getElementById("waitingroom");if(!intro||!actionText||!waitingroom||!action)return;waitingroom.insertBefore(actionText,intro);actionText.classList.add("warning");actionText.style.display=action.style.display;const observer=new MutationObserver(()=>{action=document.getElementById("action");actionText=
document.getElementById("actionText");if(!action||!actionText)return;actionText.style.display=action.style.display});observer.observe(action,{attributes:true})}
function updateMessageElements(){const errorColor=getCssVar("--colors-error-text");const warningColor=getCssVar("--colors-warning-text");const infoColor=getCssVar("--colors-info-text");const iconSize=getCssVar("--sizes-icon");if(!errorColor||!warningColor||!infoColor)return;const styleElement=document.createElement("style");const getBeforeBgImg=color=>`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='${iconSize}' height='${iconSize}' fill='${encodeURIComponent(color)}'%3E%3Cpath d='M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 15H13V17H11V15ZM11 7H13V13H11V7Z'%3E%3C/path%3E%3C/svg%3E")`;
document.head.appendChild(styleElement);styleElement.innerHTML=`
#error::before, .error::before {
background-image: ${getBeforeBgImg(errorColor)};
}
#warning::before, .warning::before {
background-image: ${getBeforeBgImg(warningColor)};
}
#info::before, .info::before {
background-image: ${getBeforeBgImg(infoColor)};
}
`}
function addDeviceTransferDrawAnimation(){const handlePopup=()=>{const transferPopup=document.getElementById("transfer-popup");const popupContent=transferPopup?.querySelector(".popup-content");if(!transferPopup||!popupContent)return;popupContent.classList[transferPopup.style.display==="none"?"remove":"add"]("show")};handlePopup();window.addEventListener("resize",handlePopup);const mutationObserver=new MutationObserver(handlePopup);mutationObserver.observe(document.getElementById("transfer-popup"),{attributes:true,
attributeFilter:["style"]})}
function moveErrorMessageToToast(){const error=document.getElementById("error");const iconSize=getCssVar("--sizes-icon");const errorColorBg=getCssVar("--colors-error-bg");if(!error||!iconSize||!errorColorBg)return;let currentTimeout=null;const toast=document.createElement("div");toast.classList.add("toast");toast.classList.add("hidden");toast.classList.add("error");toast.ariaLive="assertive";toast.appendChild(error);getToastContainer().appendChild(toast);const closeButton=document.createElement("button");
closeButton.classList.add("toast-btn-close");closeButton.addEventListener("click",hideError);closeButton.ariaLabel="Close";closeButton.innerHTML=`
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${iconSize}" height="${iconSize}" fill="${errorColorBg}"><path d="M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z"></path></svg>
`;toast.appendChild(closeButton);const startTimer=()=>{if(currentTimeout)clearTimeout(currentTimeout);currentTimeout=setTimeout(hideError,ERROR_TIMEOUT)};const handleErrorShown=records=>{for(const record of records)if(record.type==="attributes"&&record.attributeName==="style")if(record.target.style.display==="none"){toast.classList.remove("show");toast.classList.add("hidden");if(currentTimeout){clearTimeout(currentTimeout);currentTimeout=null}}else{toast.classList.add("show");toast.classList.remove("hidden");
startTimer()}else if(record.type==="childList"){const addedNodes=[...record.addedNodes];if(addedNodes.some(node=>node.nodeType===Node.TEXT_NODE))startTimer()}};const observer=new MutationObserver(handleErrorShown);observer.observe(error,{attributes:true,attributeFilter:["style"],childList:true})}
window.addEventListener("DOMContentLoaded",()=>{if(!useNewDesignV4)return;showInClockFormat=true;addEventHandlerForLanguages();moveNewCaptchaButton();removeTextNodeFromActionButtonAndSubmitButton();replaceCaptchaRefreshButton();modifyFooter();moveQueuePosition();modifyLogoContainer();modifyTransferSessionToFooter();addResizeHandlerToTransferSessionCopyLink();addInfoToTransferSession();modifyActionTextWarning();updateMessageElements();addDeviceTransferDrawAnimation();moveErrorMessageToToast()});
window.addEventListener("error",event=>{if(!useNewDesignV4)return;if(event.target.tagName!=="SCRIPT")return;const twitterElement=event.target.closest?.("#twitter");if(!twitterElement)return;twitterElement.style.display="none";const twitterParent=twitterElement.parentElement;if(!twitterParent)return;twitterParent.removeChild(twitterElement);if(twitterParent.innerHTML.trim())return;twitterParent.style.display="none"},true);</script>
<script type="text/javascript">
var QRCode;
(function(){function QR8bitByte(data){this.mode=QRMode.MODE_8BIT_BYTE;this.data=data;this.parsedData=[];for(var i=0,l=this.data.length;i<l;i++){var byteArray=[];var code=this.data.charCodeAt(i);if(code>65536){byteArray[0]=240|(code&1835008)>>>18;byteArray[1]=128|(code&258048)>>>12;byteArray[2]=128|(code&4032)>>>6;byteArray[3]=128|code&63}else if(code>2048){byteArray[0]=224|(code&61440)>>>12;byteArray[1]=128|(code&4032)>>>6;byteArray[2]=128|code&63}else if(code>128){byteArray[0]=192|(code&1984)>>>
6;byteArray[1]=128|code&63}else byteArray[0]=code;this.parsedData.push(byteArray)}this.parsedData=Array.prototype.concat.apply([],this.parsedData);if(this.parsedData.length!=this.data.length){this.parsedData.unshift(191);this.parsedData.unshift(187);this.parsedData.unshift(239)}}QR8bitByte.prototype={getLength:function(buffer){return this.parsedData.length},write:function(buffer){for(var i=0,l=this.parsedData.length;i<l;i++)buffer.put(this.parsedData[i],8)}};function QRCodeModel(typeNumber,errorCorrectLevel){this.typeNumber=
typeNumber;this.errorCorrectLevel=errorCorrectLevel;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[]}QRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col)throw new Error(row+","+col);return this.modules[row][col]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(false,this.getBestMaskPattern())},
makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row<this.moduleCount;row++){this.modules[row]=new Array(this.moduleCount);for(var col=0;col<this.moduleCount;col++)this.modules[row][col]=null}this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-7,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(test,maskPattern);
if(this.typeNumber>=7)this.setupTypeNumber(test);if(this.dataCache==null)this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);this.mapData(this.dataCache,maskPattern)},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if(0<=r&&r<=6&&(c==0||c==6)||0<=c&&c<=6&&(r==0||r==6)||2<=r&&r<=4&&2<=c&&c<=4)this.modules[row+r][col+c]=true;
else this.modules[row+r][col+c]=false}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i}}return pattern},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row<this.modules.length;row++){var y=row*cs;for(var col=0;col<this.modules[row].length;col++){var x=
col*cs;var dark=this.modules[row][col];if(dark){qr_mc.beginFill(0,100);qr_mc.moveTo(x,y);qr_mc.lineTo(x+cs,y);qr_mc.lineTo(x+cs,y+cs);qr_mc.lineTo(x,y+cs);qr_mc.endFill()}}}return qr_mc},setupTimingPattern:function(){for(var r=8;r<this.moduleCount-8;r++){if(this.modules[r][6]!=null)continue;this.modules[r][6]=r%2==0}for(var c=8;c<this.moduleCount-8;c++){if(this.modules[6][c]!=null)continue;this.modules[6][c]=c%2==0}},setupPositionAdjustPattern:function(){var pos=QRUtil.getPatternPosition(this.typeNumber);
for(var i=0;i<pos.length;i++)for(var j=0;j<pos.length;j++){var row=pos[i];var col=pos[j];if(this.modules[row][col]!=null)continue;for(var r=-2;r<=2;r++)for(var c=-2;c<=2;c++)if(r==-2||r==2||c==-2||c==2||r==0&&c==0)this.modules[row+r][col+c]=true;else this.modules[row+r][col+c]=false}},setupTypeNumber:function(test){var bits=QRUtil.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i++){var mod=!test&&(bits>>i&1)==1;this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod}for(var i=0;i<18;i++){var mod=
!test&&(bits>>i&1)==1;this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod}},setupTypeInfo:function(test,maskPattern){var data=this.errorCorrectLevel<<3|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<6)this.modules[i][8]=mod;else if(i<8)this.modules[i+1][8]=mod;else this.modules[this.moduleCount-15+i][8]=mod}for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<8)this.modules[8][this.moduleCount-i-1]=mod;else if(i<9)this.modules[8][15-
i-1+1]=mod;else this.modules[8][15-i-1]=mod}this.modules[this.moduleCount-8][8]=!test},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++)if(this.modules[row][col-c]==null){var dark=false;if(byteIndex<data.length)dark=(data[byteIndex]>>>bitIndex&1)==1;var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask)dark=!dark;this.modules[row][col-c]=dark;bitIndex--;
if(bitIndex==-1){byteIndex++;bitIndex=7}}row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break}}}}};QRCodeModel.PAD0=236;QRCodeModel.PAD1=17;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer;for(var i=0;i<dataList.length;i++){var data=dataList[i];buffer.put(data.mode,4);buffer.put(data.getLength(),QRUtil.getLengthInBits(data.mode,typeNumber));data.write(buffer)}var totalDataCount=
0;for(var i=0;i<rsBlocks.length;i++)totalDataCount+=rsBlocks[i].dataCount;if(buffer.getLengthInBits()>totalDataCount*8)throw new Error("code length overflow. ("+buffer.getLengthInBits()+"\x3e"+totalDataCount*8+")");if(buffer.getLengthInBits()+4<=totalDataCount*8)buffer.put(0,4);while(buffer.getLengthInBits()%8!=0)buffer.putBit(false);while(true){if(buffer.getLengthInBits()>=totalDataCount*8)break;buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8)break;buffer.put(QRCodeModel.PAD1,
8)}return QRCodeModel.createBytes(buffer,rsBlocks)};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r<rsBlocks.length;r++){var dcCount=rsBlocks[r].dataCount;var ecCount=rsBlocks[r].totalCount-dcCount;maxDcCount=Math.max(maxDcCount,dcCount);maxEcCount=Math.max(maxEcCount,ecCount);dcdata[r]=new Array(dcCount);for(var i=0;i<dcdata[r].length;i++)dcdata[r][i]=255&buffer.buffer[i+
offset];offset+=dcCount;var rsPoly=QRUtil.getErrorCorrectPolynomial(ecCount);var rawPoly=new QRPolynomial(dcdata[r],rsPoly.getLength()-1);var modPoly=rawPoly.mod(rsPoly);ecdata[r]=new Array(rsPoly.getLength()-1);for(var i=0;i<ecdata[r].length;i++){var modIndex=i+modPoly.getLength()-ecdata[r].length;ecdata[r][i]=modIndex>=0?modPoly.get(modIndex):0}}var totalCodeCount=0;for(var i=0;i<rsBlocks.length;i++)totalCodeCount+=rsBlocks[i].totalCount;var data=new Array(totalCodeCount);var index=0;for(var i=
0;i<maxDcCount;i++)for(var r=0;r<rsBlocks.length;r++)if(i<dcdata[r].length)data[index++]=dcdata[r][i];for(var i=0;i<maxEcCount;i++)for(var r=0;r<rsBlocks.length;r++)if(i<ecdata[r].length)data[index++]=ecdata[r][i];return data};var QRMode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};var QRErrorCorrectLevel={L:1,M:0,Q:3,H:2};var QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var QRUtil={PATTERN_POSITION_TABLE:[[],
[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,
154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1<<10|1<<8|1<<5|1<<4|1<<2|1<<1|1<<0,G18:1<<12|1<<11|1<<10|1<<9|1<<8|1<<5|1<<2|1<<0,G15_MASK:1<<14|1<<12|1<<10|1<<4|1<<1,getBCHTypeInfo:function(data){var d=data<<10;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)>=0)d^=QRUtil.G15<<QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15);return(data<<10|d)^QRUtil.G15_MASK},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-
QRUtil.getBCHDigit(QRUtil.G18)>=0)d^=QRUtil.G18<<QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18);return data<<12|d},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1}return digit},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1]},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+
j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return i*j%2+i*j%3==0;case QRMaskPattern.PATTERN110:return(i*j%2+i*j%3)%2==0;case QRMaskPattern.PATTERN111:return(i*j%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i<errorCorrectLength;i++)a=a.multiply(new QRPolynomial([1,QRMath.gexp(i)],0));return a},getLengthInBits:function(mode,
type){if(1<=type&&type<10)switch(mode){case QRMode.MODE_NUMBER:return 10;case QRMode.MODE_ALPHA_NUM:return 9;case QRMode.MODE_8BIT_BYTE:return 8;case QRMode.MODE_KANJI:return 8;default:throw new Error("mode:"+mode);}else if(type<27)switch(mode){case QRMode.MODE_NUMBER:return 12;case QRMode.MODE_ALPHA_NUM:return 11;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 10;default:throw new Error("mode:"+mode);}else if(type<41)switch(mode){case QRMode.MODE_NUMBER:return 14;case QRMode.MODE_ALPHA_NUM:return 13;
case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 12;default:throw new Error("mode:"+mode);}else throw new Error("type:"+type);},getLostPoint:function(qrCode){var moduleCount=qrCode.getModuleCount();var lostPoint=0;for(var row=0;row<moduleCount;row++)for(var col=0;col<moduleCount;col++){var sameCount=0;var dark=qrCode.isDark(row,col);for(var r=-1;r<=1;r++){if(row+r<0||moduleCount<=row+r)continue;for(var c=-1;c<=1;c++){if(col+c<0||moduleCount<=col+c)continue;if(r==0&&c==0)continue;
if(dark==qrCode.isDark(row+r,col+c))sameCount++}}if(sameCount>5)lostPoint+=3+sameCount-5}for(var row=0;row<moduleCount-1;row++)for(var col=0;col<moduleCount-1;col++){var count=0;if(qrCode.isDark(row,col))count++;if(qrCode.isDark(row+1,col))count++;if(qrCode.isDark(row,col+1))count++;if(qrCode.isDark(row+1,col+1))count++;if(count==0||count==4)lostPoint+=3}for(var row=0;row<moduleCount;row++)for(var col=0;col<moduleCount-6;col++)if(qrCode.isDark(row,col)&&!qrCode.isDark(row,col+1)&&qrCode.isDark(row,
col+2)&&qrCode.isDark(row,col+3)&&qrCode.isDark(row,col+4)&&!qrCode.isDark(row,col+5)&&qrCode.isDark(row,col+6))lostPoint+=40;for(var col=0;col<moduleCount;col++)for(var row=0;row<moduleCount-6;row++)if(qrCode.isDark(row,col)&&!qrCode.isDark(row+1,col)&&qrCode.isDark(row+2,col)&&qrCode.isDark(row+3,col)&&qrCode.isDark(row+4,col)&&!qrCode.isDark(row+5,col)&&qrCode.isDark(row+6,col))lostPoint+=40;var darkCount=0;for(var col=0;col<moduleCount;col++)for(var row=0;row<moduleCount;row++)if(qrCode.isDark(row,
col))darkCount++;var ratio=Math.abs(100*darkCount/moduleCount/moduleCount-50)/5;lostPoint+=ratio*10;return lostPoint}};var QRMath={glog:function(n){if(n<1)throw new Error("glog("+n+")");return QRMath.LOG_TABLE[n]},gexp:function(n){while(n<0)n+=255;while(n>=256)n-=255;return QRMath.EXP_TABLE[n]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++)QRMath.EXP_TABLE[i]=1<<i;for(var i=8;i<256;i++)QRMath.EXP_TABLE[i]=QRMath.EXP_TABLE[i-4]^QRMath.EXP_TABLE[i-5]^QRMath.EXP_TABLE[i-6]^QRMath.EXP_TABLE[i-
8];for(var i=0;i<255;i++)QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]]=i;function QRPolynomial(num,shift){if(num.length==undefined)throw new Error(num.length+"/"+shift);var offset=0;while(offset<num.length&&num[offset]==0)offset++;this.num=new Array(num.length-offset+shift);for(var i=0;i<num.length-offset;i++)this.num[i]=num[i+offset]}QRPolynomial.prototype={get:function(index){return this.num[index]},getLength:function(){return this.num.length},multiply:function(e){var num=new Array(this.getLength()+e.getLength()-
1);for(var i=0;i<this.getLength();i++)for(var j=0;j<e.getLength();j++)num[i+j]^=QRMath.gexp(QRMath.glog(this.get(i))+QRMath.glog(e.get(j)));return new QRPolynomial(num,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;var ratio=QRMath.glog(this.get(0))-QRMath.glog(e.get(0));var num=new Array(this.getLength());for(var i=0;i<this.getLength();i++)num[i]=this.get(i);for(var i=0;i<e.getLength();i++)num[i]^=QRMath.gexp(QRMath.glog(e.get(i))+ratio);return(new QRPolynomial(num,0)).mod(e)}};
function QRRSBlock(totalCount,dataCount){this.totalCount=totalCount;this.dataCount=dataCount}QRRSBlock.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,
116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],
[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,
13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,
117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,
48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];QRRSBlock.getRSBlocks=function(typeNumber,errorCorrectLevel){var rsBlock=
QRRSBlock.getRsBlockTable(typeNumber,errorCorrectLevel);if(rsBlock==undefined)throw new Error("bad rs block @ typeNumber:"+typeNumber+"/errorCorrectLevel:"+errorCorrectLevel);var length=rsBlock.length/3;var list=[];for(var i=0;i<length;i++){var count=rsBlock[i*3+0];var totalCount=rsBlock[i*3+1];var dataCount=rsBlock[i*3+2];for(var j=0;j<count;j++)list.push(new QRRSBlock(totalCount,dataCount))}return list};QRRSBlock.getRsBlockTable=function(typeNumber,errorCorrectLevel){switch(errorCorrectLevel){case QRErrorCorrectLevel.L:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-
1)*4+0];case QRErrorCorrectLevel.M:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+1];case QRErrorCorrectLevel.Q:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+2];case QRErrorCorrectLevel.H:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+3];default:return undefined}};function QRBitBuffer(){this.buffer=[];this.length=0}QRBitBuffer.prototype={get:function(index){var bufIndex=Math.floor(index/8);return(this.buffer[bufIndex]>>>7-index%8&1)==1},put:function(num,length){for(var i=0;i<length;i++)this.putBit((num>>>
length-i-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex)this.buffer.push(0);if(bit)this.buffer[bufIndex]|=128>>>this.length%8;this.length++}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,
292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,
1273]];function _isSupportCanvas(){return typeof CanvasRenderingContext2D!="undefined"}function _getAndroid(){var android=false;var sAgent=navigator.userAgent;if(/android/i.test(sAgent)){android=true;var aMat=sAgent.toString().match(/android ([0-9]\.[0-9])/i);if(aMat&&aMat[1])android=parseFloat(aMat[1])}return android}var svgDrawer=function(){var Drawing=function(el,htOption){this._el=el;this._htOption=htOption};Drawing.prototype.draw=function(oQRCode){var _htOption=this._htOption;var _el=this._el;
var nCount=oQRCode.getModuleCount();var nWidth=Math.floor(_htOption.width/nCount);var nHeight=Math.floor(_htOption.height/nCount);this.clear();function makeSVG(tag,attrs){var el=document.createElementNS("http://www.w3.org/2000/svg",tag);for(var k in attrs)if(attrs.hasOwnProperty(k))el.setAttribute(k,attrs[k]);return el}var svg=makeSVG("svg",{"viewBox":"0 0 "+String(nCount)+" "+String(nCount),"width":"100%","height":"100%","fill":_htOption.colorLight});svg.setAttributeNS("http://www.w3.org/2000/xmlns/",
"xmlns:xlink","http://www.w3.org/1999/xlink");_el.appendChild(svg);svg.appendChild(makeSVG("rect",{"fill":_htOption.colorLight,"width":"100%","height":"100%"}));svg.appendChild(makeSVG("rect",{"fill":_htOption.colorDark,"width":"1","height":"1","id":"template"}));for(var row=0;row<nCount;row++)for(var col=0;col<nCount;col++)if(oQRCode.isDark(row,col)){var child=makeSVG("use",{"x":String(col),"y":String(row)});child.setAttributeNS("http://www.w3.org/1999/xlink","href","#template");svg.appendChild(child)}};
Drawing.prototype.clear=function(){while(this._el.hasChildNodes())this._el.removeChild(this._el.lastChild)};return Drawing}();var useSVG=document.documentElement.tagName.toLowerCase()==="svg";var Drawing=useSVG?svgDrawer:!_isSupportCanvas()?function(){var Drawing=function(el,htOption){this._el=el;this._htOption=htOption};Drawing.prototype.draw=function(oQRCode){var _htOption=this._htOption;var _el=this._el;var nCount=oQRCode.getModuleCount();var nWidth=Math.floor(_htOption.width/nCount);var nHeight=
Math.floor(_htOption.height/nCount);var aHTML=['\x3ctable style\x3d"border:0;border-collapse:collapse;"\x3e'];for(var row=0;row<nCount;row++){aHTML.push("\x3ctr\x3e");for(var col=0;col<nCount;col++)aHTML.push('\x3ctd style\x3d"border:0;border-collapse:collapse;padding:0;margin:0;width:'+nWidth+"px;height:"+nHeight+"px;background-color:"+(oQRCode.isDark(row,col)?_htOption.colorDark:_htOption.colorLight)+';"\x3e\x3c/td\x3e');aHTML.push("\x3c/tr\x3e")}aHTML.push("\x3c/table\x3e");_el.innerHTML=aHTML.join("");
var elTable=_el.childNodes[0];var nLeftMarginTable=(_htOption.width-elTable.offsetWidth)/2;var nTopMarginTable=(_htOption.height-elTable.offsetHeight)/2;if(nLeftMarginTable>0&&nTopMarginTable>0)elTable.style.margin=nTopMarginTable+"px "+nLeftMarginTable+"px"};Drawing.prototype.clear=function(){this._el.innerHTML=""};return Drawing}():function(){function _onMakeImage(){this._elImage.src=this._elCanvas.toDataURL("image/png");this._elImage.style.display="block";this._elCanvas.style.display="none"}if(this._android&&
this._android<=2.1){var factor=1/window.devicePixelRatio;var drawImage=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(image,sx,sy,sw,sh,dx,dy,dw,dh){if("nodeName"in image&&/img/i.test(image.nodeName))for(var i=arguments.length-1;i>=1;i--)arguments[i]=arguments[i]*factor;else if(typeof dw=="undefined"){arguments[1]*=factor;arguments[2]*=factor;arguments[3]*=factor;arguments[4]*=factor}drawImage.apply(this,arguments)}}function _safeSetDataURI(fSuccess,
fFail){var self=this;self._fFail=fFail;self._fSuccess=fSuccess;if(self._bSupportDataURI===null){var el=document.createElement("img");var fOnError=function(){self._bSupportDataURI=false;if(self._fFail)self._fFail.call(self)};var fOnSuccess=function(){self._bSupportDataURI=true;if(self._fSuccess)self._fSuccess.call(self)};el.onabort=fOnError;el.onerror=fOnError;el.onload=fOnSuccess;el.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg\x3d\x3d";
return}else if(self._bSupportDataURI===true&&self._fSuccess)self._fSuccess.call(self);else if(self._bSupportDataURI===false&&self._fFail)self._fFail.call(self)}var Drawing=function(el,htOption){this._bIsPainted=false;this._android=_getAndroid();this._htOption=htOption;this._elCanvas=document.createElement("canvas");this._elCanvas.width=htOption.width;this._elCanvas.height=htOption.height;el.appendChild(this._elCanvas);this._el=el;this._oContext=this._elCanvas.getContext("2d");this._bIsPainted=false;
this._elImage=document.createElement("img");this._elImage.alt="Scan me!";this._elImage.style.display="none";this._el.appendChild(this._elImage);this._bSupportDataURI=null};Drawing.prototype.draw=function(oQRCode){var _elImage=this._elImage;var _oContext=this._oContext;var _htOption=this._htOption;var nCount=oQRCode.getModuleCount();var nWidth=_htOption.width/nCount;var nHeight=_htOption.height/nCount;var nRoundedWidth=Math.round(nWidth);var nRoundedHeight=Math.round(nHeight);_elImage.style.display=
"none";this.clear();for(var row=0;row<nCount;row++)for(var col=0;col<nCount;col++){var bIsDark=oQRCode.isDark(row,col);var nLeft=col*nWidth;var nTop=row*nHeight;_oContext.strokeStyle=bIsDark?_htOption.colorDark:_htOption.colorLight;_oContext.lineWidth=1;_oContext.fillStyle=bIsDark?_htOption.colorDark:_htOption.colorLight;_oContext.fillRect(nLeft,nTop,nWidth,nHeight);_oContext.strokeRect(Math.floor(nLeft)+.5,Math.floor(nTop)+.5,nRoundedWidth,nRoundedHeight);_oContext.strokeRect(Math.ceil(nLeft)-.5,
Math.ceil(nTop)-.5,nRoundedWidth,nRoundedHeight)}this._bIsPainted=true};Drawing.prototype.makeImage=function(){if(this._bIsPainted)_safeSetDataURI.call(this,_onMakeImage)};Drawing.prototype.isPainted=function(){return this._bIsPainted};Drawing.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height);this._bIsPainted=false};Drawing.prototype.round=function(nNumber){if(!nNumber)return nNumber;return Math.floor(nNumber*1E3)/1E3};return Drawing}();function _getTypeNumber(sText,
nCorrectLevel){var nType=1;var length=_getUTF8Length(sText);for(var i=0,len=QRCodeLimitLength.length;i<=len;i++){var nLimit=0;switch(nCorrectLevel){case QRErrorCorrectLevel.L:nLimit=QRCodeLimitLength[i][0];break;case QRErrorCorrectLevel.M:nLimit=QRCodeLimitLength[i][1];break;case QRErrorCorrectLevel.Q:nLimit=QRCodeLimitLength[i][2];break;case QRErrorCorrectLevel.H:nLimit=QRCodeLimitLength[i][3];break}if(length<=nLimit)break;else nType++}if(nType>QRCodeLimitLength.length)throw new Error("Too long data");
return nType}function _getUTF8Length(sText){var replacedText=encodeURI(sText).toString().replace(/%[0-9a-fA-F]{2}/g,"a");return replacedText.length+(replacedText.length!=sText?3:0)}QRCode=function(el,vOption){this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:QRErrorCorrectLevel.H};if(typeof vOption==="string")vOption={text:vOption};if(vOption)for(var i in vOption)this._htOption[i]=vOption[i];if(typeof el=="string")el=document.getElementById(el);
if(this._htOption.useSVG)Drawing=svgDrawer;this._android=_getAndroid();this._el=el;this._oQRCode=null;this._oDrawing=new Drawing(this._el,this._htOption);if(this._htOption.text)this.makeCode(this._htOption.text)};QRCode.prototype.makeCode=function(sText){this._oQRCode=new QRCodeModel(_getTypeNumber(sText,this._htOption.correctLevel),this._htOption.correctLevel);this._oQRCode.addData(sText);this._oQRCode.make();this._el.title=sText;this._oDrawing.draw(this._oQRCode);this.makeImage()};QRCode.prototype.makeImage=
function(){if(typeof this._oDrawing.makeImage=="function"&&(!this._android||this._android>=3))this._oDrawing.makeImage()};QRCode.prototype.clear=function(){this._oDrawing.clear()};QRCode.CorrectLevel=QRErrorCorrectLevel})();</script>
<script type="text/javascript">
(function(){var gtm=function(){var tagId="\x3cGTM_ID\x3e";var gtaScript=document.createElement("script");gtaScript.text="(function(w,d,s,l,i){w[l]\x3dw[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f\x3dd.getElementsByTagName(s)[0],j\x3dd.createElement(s),dl\x3dl!\x3d'dataLayer'?'\x26l\x3d'+l:'';j.async\x3dtrue;j.src\x3d'https://www.googletagmanager.com/gtm.js?id\x3d'+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','"+tagId+"');";document.body.insertBefore(gtaScript,
document.body.firstChild)};if(window.addEventListener)window.addEventListener("load",gtm);else window.attachEvent("onload",gtm)})();</script>
<script type="text/javascript">
var resources = new Array();
showInClockFormat = true;
const clockBackgroundColor = "#DEE4EB";
const clockProgressColor1 = "#b40050";
const clockProgressColor2 = "rgb(245, 70, 0)";
var clockTransform = "rotate(-90deg)"; // Transform to rotate the SVG in the progress bar
var clockSize = 240; // Size of the SVG in the progress bar
var clockStrokeWidth = 20; // Width of the stroke in the progress bar
var clockRadius = (clockSize - clockStrokeWidth) / 2; // Radius of the circle in the progress bar
var clockCircumference = 2 * Math.PI * clockRadius; // Circumference of the circle
var clockCenter = clockSize / 2; // Center of the circle in the progress bar
var clockDotRadius = 10; // Radius of the dot in the progress bar
var clockDotStokeWidth = 4; // Radius of the dot in the progress bar
var clockDotStokeColor = "var(--colors-clock-dot-stroke, #ffffff)"; // Stroke color of the dot in the progress bar
var clockDotFadeDuration = 4;
var clockDotFadeOpacity = 0.7;
// tuning
var clockMoveDuration = 1.5; // seconds for the dot to move between ticks (adjustable)
// internal animation state
currentDisplayedProgress = 0; // fraction 0..1 that is currently shown
progressAnimation = null; // { raf } while animating
// element refs filled by initProgressClock
_arcEl = null;
_dotEl = null;
_animDotEl = null;
function show(zone) {
//Don't show infozone when it is empty
if (zone === "info" && document.getElementById(zone).innerHTML.length <= 0) {
return;
} else if (zone === "PBouter" || zone === "action") {
document.getElementById(zone).style.display = "flex";
} else {
document.getElementById(zone).style.display = "block";
document.getElementById("waittimer").style.display = "flex";
}
}
function initProgressClock(container) {
container.innerHTML = `
<svg id="progress-svg" width="${clockSize}" height="${clockSize}"
xmlns="http://www.w3.org/2000/svg" style="transform:${clockTransform}">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:${clockProgressColor2};stop-opacity:1"/>
<stop offset="100%" style="stop-color:${clockProgressColor1};stop-opacity:1"/>
</linearGradient>
</defs>
<!-- background circle -->
<circle
r="${clockRadius}" cx="${clockCenter}" cy="${clockCenter}"
fill="transparent" stroke="${clockBackgroundColor}"
stroke-width="${clockStrokeWidth}" stroke-dasharray="${clockCircumference}" stroke-dashoffset="0"
/>
<!-- progress arc (no CSS transition; we control it in JS) -->
<circle
id="progress-arc"
r="${clockRadius}" cx="${clockCenter}" cy="${clockCenter}"
stroke="url(#grad1)" stroke-width="${clockStrokeWidth}" stroke-linecap="round"
fill="transparent"
stroke-dasharray="${clockCircumference}" stroke-dashoffset="${clockCircumference}"
/>
<!-- solid dot -->
<circle
id="progress-dot"
r="${clockDotRadius}"
fill="url(#grad1)"
stroke="${clockDotStokeColor}" stroke-width="${clockDotStokeWidth}"
/>
<!-- pulsing overlay dot (fade in/out done with SMIL) -->
<circle
id="animate-dot"
r="${clockDotRadius + clockDotStokeWidth / 2}"
fill="black">
<animate
attributeName="opacity"
values="0;${clockDotFadeOpacity};0"
dur="${clockDotFadeDuration}s"
repeatCount="indefinite"
/>
</circle>
</svg>
`;
// grab references (fast access)
_arcEl = container.querySelector("#progress-arc");
_dotEl = container.querySelector("#progress-dot");
_animDotEl = container.querySelector("#animate-dot");
// place everything at initial progress (0) instantly
setInstantProgress(currentDisplayedProgress);
}
function setInstantProgress(progress) {
// ensure in 0..1
progress = ((progress % 1) + 1) % 1;
const svgOffset = clockCircumference - progress * clockCircumference;
if (_arcEl) _arcEl.setAttribute("stroke-dashoffset", String(svgOffset));
const pos = getDotPosition(progress);
if (_dotEl) {
_dotEl.setAttribute("cx", String(pos.x));
_dotEl.setAttribute("cy", String(pos.y));
}
if (_animDotEl) {
_animDotEl.setAttribute("cx", String(pos.x));
_animDotEl.setAttribute("cy", String(pos.y));
}
currentDisplayedProgress = progress;
// cancel any running animation (we set instantly)
if (progressAnimation && progressAnimation.raf) {
cancelAnimationFrame(progressAnimation.raf);
progressAnimation = null;
}
}
function animateToProgress(targetProgress, durationSec = clockMoveDuration) {
if (!_arcEl || !_dotEl || !_animDotEl) {
// elements not present — set instantly and return
setInstantProgress(targetProgress);
return;
}
// normalize to 0..1
targetProgress = ((targetProgress % 1) + 1) % 1;
// starting progress is the currently displayed value
let start = currentDisplayedProgress;
// compute shortest delta across the wrap point:
// if delta > 0.5, travel negative direction (subtract 1)
// if delta < -0.5, travel positive crossing the wrap (add 1)
let delta = targetProgress - start;
if (delta > 0.5) {
delta -= 1;
}
if (delta < -0.5) {
delta += 1;
}
// small shortcut: if delta is essentially zero, just set instantly
if (Math.abs(delta) < 1e-6) {
setInstantProgress(targetProgress);
return;
}
const startTime = performance.now();
const msDuration = Math.max(1, durationSec * 1000);
// cancel previous animation if exists
if (progressAnimation && progressAnimation.raf) {
cancelAnimationFrame(progressAnimation.raf);
progressAnimation = null;
}
progressAnimation = { raf: null };
function step(now) {
const t = Math.min(1, (now - startTime) / msDuration);
const eased = t; // linear; you can replace with easing function if wanted
// interpolated progress along the shortest route (may be <0 or >=1 before modulo)
let p = start + delta * eased;
// fold back into 0..1 for positioning
p = ((p % 1) + 1) % 1;
// update arc and dots
const svgOffset = clockCircumference - p * clockCircumference;
_arcEl.setAttribute("stroke-dashoffset", String(svgOffset));
const pos = getDotPosition(p);
_dotEl.setAttribute("cx", String(pos.x));
_dotEl.setAttribute("cy", String(pos.y));
_animDotEl.setAttribute("cx", String(pos.x));
_animDotEl.setAttribute("cy", String(pos.y));
currentDisplayedProgress = p;
if (t < 1) {
progressAnimation.raf = requestAnimationFrame(step);
} else {
// finished
progressAnimation = null;
}
}
progressAnimation.raf = requestAnimationFrame(step);
}
function updateProgressClock(total, remaining) {
// protect against divide-by-zero or weird values
if (!total || isNaN(total) || total <= 0) {
// if no meaningful total, just set 0
animateToProgress(0, 0);
return;
}
const progress = remaining / total;
// clamp to [0,1]
const clamped = Math.max(0, Math.min(1, progress));
// animate to the new progress (duration adjustable via clockMoveDuration)
animateToProgress(clamped, clockMoveDuration);
}
function getDotPosition(progress) {
const angle = 2 * Math.PI * progress;
const x = clockCenter + clockRadius * Math.cos(angle);
const y = clockCenter + clockRadius * Math.sin(angle);
return { x, y };
}
function drawProgressBar(total, remaining) {
if (total === "null" || queueinfo.state === "END") {
return;
}
const els = {
waitDiv: document.getElementById("waitdiv"),
waitTimer: document.getElementById("waittimer"),
pbOuter: document.getElementById("PBouter"),
pbDone: document.getElementById("PBdone"),
msg: document.getElementById("message"),
msgWait: document.getElementById("message_wait"),
};
switch (queueinfo.state) {
case "WAITLONG":
renderWaitLong(total, remaining, els);
break;
case "WAITMIN":
renderWaitMin(els);
break;
case "WAIT":
renderWait(total, remaining, els);
break;
}
}
function renderWaitLong(total, remaining, { waitDiv, msgWait, waitTimer, pbOuter, pbDone }) {
waitDiv.style.display = "block";
msgWait.style.display = "flex";
pbOuter.appendChild(waitTimer);
if (!document.getElementById("progress-svg")) {
initProgressClock(pbDone);
}
if (admissionInfo.openingTime !== "null") {
setTextMessage("wait", admissionInfo.openingTime);
hideTimerLabels();
} else {
clearWaittimer();
setTextMessage(
"wait",
`<div style="display: flex; flex-direction: column; align-items: center; position: relative;">
<div style="width: ${clockSize}px; padding: 0 ${clockStrokeWidth}px;">
<div class="waittimer_labels" style="position: absolute; bottom: calc(100% + var(--space-s)); left: 50% ; transform: translateX(-50%);">
${getText("label_waitlong")}
</div>
<div id="message_waitlong">
${getText("message_waitlong")}
</div>
</div>
</div>`
);
hideTimerLabels();
updateProgressClock(total, remaining);
}
waitTimer.style.display = "flex";
}
function renderWaitMin({ waitDiv, msg, msgWait }) {
waitDiv.style.display = "none";
msg.style.display = "block";
msgWait.style.display = "none";
msg.innerHTML = getText("message_waittime");
}
function renderWait(total, remaining, { waitDiv, msgWait, waitTimer, pbOuter, pbDone }) {
if (total === 0) {
total = remaining;
}
waitDiv.style.display = "block";
msgWait.style.display = "flex";
pbOuter.appendChild(waitTimer);
if (!document.getElementById("progress-svg")) {
initProgressClock(pbDone);
}
if (admissionInfo.openingTime !== "null") {
setTextMessage("wait", admissionInfo.openingTime);
hideTimerLabels();
} else {
updateTimerLabels();
updateProgressClock(total, remaining);
}
waitTimer.style.display = "flex";
}
function clearWaittimer() {
const waitTimer = document.getElementById("waittimer");
const brs = waitTimer.getElementsByTagName("br");
while (brs[0]) {
brs[0].remove();
}
}
function hideTimerLabels() {
const timerDiv = document.getElementById("waittimer_labels");
if (timerDiv) {
timerDiv.style.display = "none";
}
}
function updateTimerLabels() {
const element = document.getElementById("wait");
const matches = element.innerText.match(/:/g);
clearWaittimer();
const timerDiv = getTimerDiv();
timerDiv.style.display = "flex";
if (!matches) {
timerDiv.innerHTML = `<div>${getText("message_sec")}</div>`;
} else if (matches.length === 1) {
timerDiv.innerHTML = `<div>${getText("message_min")}</div><div>${getText("message_sec")}</div>`;
} else {
timerDiv.innerHTML = `
<div>${getText("message_hour")}</div>
<div>${getText("message_min")}</div>
<div>${getText("message_sec")}</div>
`;
}
}
function getTimerDiv() {
let timerDiv = document.getElementById("waittimer_labels");
if (!timerDiv) {
const waitTimer = document.getElementById("waittimer");
timerDiv = document.createElement("div");
timerDiv.id = "waittimer_labels";
waitTimer.appendChild(timerDiv);
}
return timerDiv;
}
function showTime(time) {
const hour = Math.floor(time / 3600);
const min = Math.floor((time % 3600) / 60);
const sec = time % 60;
if (showInClockFormat) {
return [
hour > 0 ? `<span id="wait_hour">${addZeroToTime(hour)}</span>` : null,
hour > 0 || min > 0 ? `<span id="wait_min">${addZeroToTime(min)}</span>` : null,
`<span id="wait_sec">${addZeroToTime(sec)}</span>`,
]
.filter((e) => !!e)
.join("<span>:</span>");
}
return [
hour > 0 ? addZeroToTime(hour) + getText("message_hour") ?? " h." : "",
min > 0 || (min === 0 && hour > 0) ? getText("message_min") ?? " min." : "",
getText("message_sec") ?? " sec.",
].join("");
}
function languagesButtonClick() {
document.getElementById("optionsContent").classList.toggle("languages_show");
}
var interval = setInterval(function () {
var languages = document.getElementById("languages");
if (languages) {
clearInterval(interval);
var children = languages.childNodes;
var options = [];
var label = "";
children.forEach(function (child) {
if (child.href) {
child.classList.remove("langlink");
child.classList.add("languages_langlink");
options.push(child);
}
if (child.classList && child.classList.contains("langcurrent")) {
label = child.innerText;
}
});
while (languages.firstChild) {
languages.removeChild(languages.firstChild);
}
var selectContent = document.createElement("div");
selectContent.classList.add("languages_selectContent");
languages.appendChild(selectContent);
var optionsContent = document.createElement("div");
optionsContent.id = "optionsContent";
optionsContent.classList.add("languages_dropdown-content");
options.forEach(function (option) {
optionsContent.appendChild(option);
});
var languagesButton = document.createElement("div");
languagesButton.id = "languagesDropdownButton";
languagesButton.classList.add("languages_dropbtn");
languagesButton.tabIndex = 0;
languagesButton.setAttribute("role", "button");
languagesButton.innerHTML = `
<img alt="lang" src="./resources/Language.svg"/>
<div id="languagesDropdownButtonWithIconLabel">
${label}
</div>`;
languagesButton.onclick = languagesButtonClick;
languagesButton.onkeydown = function (event) {
if (event.key === "Enter" || event.key === " ") {
event.preventDefault();
languagesButtonClick();
}
};
selectContent.appendChild(languagesButton);
selectContent.appendChild(optionsContent);
}
}, 10);
window.onclick = function (event) {
if (
!event.target.matches(".languages_dropbtn") &&
!event.target.matches("#languagesDropdownButtonWithIconLabel") &&
!event.target.matches("#world")
) {
var dropdowns = document.getElementsByClassName(
"languages_dropdown-content"
);
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains("languages_show")) {
openDropdown.classList.remove("languages_show");
}
}
}
};
function showPause() {
hide("waitdiv");
document.getElementById("titre").innerHTML = getText("titre_pause");
document.getElementById("intro").innerHTML = getText("intro_pause");
document.getElementById("outro").innerHTML = getText("outro_pause");
}
// Show message when wait time under minimal threshold
function showMinWaitMessage() {
selectInterface('waitdiv');
hide('waittimer');
hide('PBouter');
hide('message_wait');
document.getElementById('message').innerHTML = getText('message_waittime');
}
/*Adobe Analytics*/
function loadHeadScript(src, callback) {
var script = document.createElement("script");
script.setAttribute("src", src);
script.addEventListener("load", callback);
document.getElementsByTagName("head")[0].insertBefore(script, document.getElementsByTagName('head')[0].firstChild);
};
loadHeadScript("https://assets.adobedtm.com/7db34e84caae/759763b5faef/launch-ENf264c4ce0fad4ce4bf7503fd7be51245.min.js", function () {
console.log("AA Loaded");
var bodyScript = document.createElement("script");
bodyScript.type = "text/javascript";
bodyScript.innerHTML = "_satellite.pageBottom();";
document.getElementsByTagName('body')[0].append(bodyScript)
console.log("AA Bottom called");
});
/*CAS-54132 Datadome snippet */
!function (a, b, c, d, e, f) { a.ddjskey = e; a.ddoptions = f || null; var m = b.createElement(c), n = b.getElementsByTagName(c)[0]; m.async = 1, m.src = d, n.parentNode.insertBefore(m, n) }(window, document, "script", "https://js.datadome.co/tags.js", "0C2C1B588E78C2F596AEBB81D61A27", { ajaxListenerPath: true });</script>
<script type="text/javascript">
</script>
<script type="text/javascript">
</script>
</head>
<body onload='init();'>
<div id="page">
<noscript>
<div style="background-color: #cc3300;color: #ffffff;font-weight: bold;font-size: 12px;text-align:center;padding: 5px;">
<span id="error_javascript">Please enable Javascript and refresh the page.</span>
</div>
</noscript>
<div id="logo"></div>
<div id="onsalesWaitingRoomWidget" style="display:none"></div>
<div class="wrtop"></div>
<div id="waitingroom">
<h1 id="titre"></h1>
<div id="intro"></div>
<div id="error"></div>
<div id="interface">
<div id="message"></div>
<div id="action">
<div id="actionmsg" class="actionmsg"></div>
<span id="actionButtonSpan" class="btnColor1"><a href="" id="actionButton">» <span id="actionButtonText">Button</span></a>
</span><span id="actionText"></span>
</div>
<div id="captcha">
<form id="form_captcha" onSubmit="submitCaptcha(); return false;">
<div id="img_captcha_container">
<img id="img_captcha" width="100" height="67" alt=""/>
<div id="newcaptcha_button">
<a href="javascript:newCaptcha()">
<img id="catpcha_refresh" src="refresh.png" alt="catpcha refresh" heigth="18" width="14"/><span id="newcaptcha_button_text">New Captcha</span>
</a>
</div>
</div>
<div id="form_container">
<span id="action_answer">input</span>
<div id="form_input_buttons">
<input type="text" value="" id="secret" name="secret" maxlength="20"></input>
<span id="submit_button" class="btnColor1"><a href="javascript:submitCaptcha()">» <span id="submit_button_text">Submit</span></a></span>
</div>
</div>
</form>
</div>
<div id="waitdiv" class="actionmsg">
<span id="queuePositionGroup"><span id="message_queue_position"></span><span id="queueposition"></span><br/></span>
<span id="message_wait"></span><span id="waittimer"><span id="wait"></span><br /><br /></span>
<div id="PBouter"><div id="PBinner"></div><div id="PBdone"></div></div>
<div id="transfer-session-container" style="display: none;">
<button id="transfer-session-btn" class="transfer-btn"></button>
<div id="transfer-popup" class="popup-overlay">
<div class="popup-content">
<button id="close-popup" class="pkp-btn close-btn">
<div class="pkp-icon pkp-btn-icon-left">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none">
<path
d="M9.00005 7.93931L12.7126 4.22681L13.7731 5.28731L10.0606 8.99981L13.7731 12.7123L12.7126 13.7728L9.00005 10.0603L5.28755 13.7728L4.22705 12.7123L7.93955 8.99981L4.22705 5.28731L5.28755 4.22681L9.00005 7.93931Z"
fill="currentColor"/>
</svg>
</div>
</button>
<h3 id="transfer-title"></h3>
<p id="transfer-options"></p>
<div class="copy-link-container">
<label id="session-link-label" for="session-link"></label>
<div class="session-link-container">
<input id="session-link" class="pkp-input" readonly>
<button id="copy-link-btn" class="copy-btn">
<div class="pkp-icon pkp-btn-icon-left">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none">
<path d="M5.25 4.5V2.25C5.25 2.05109 5.32902 1.86032 5.46967 1.71967C5.61032 1.57902 5.80109 1.5 6 1.5H15C15.1989 1.5 15.3897 1.57902 15.5303 1.71967C15.671 1.86032 15.75 2.05109 15.75 2.25V12.75C15.75 12.9489 15.671 13.1397 15.5303 13.2803C15.3897 13.421 15.1989 13.5 15 13.5H12.75V15.75C12.75 16.164 12.4125 16.5 11.9948 16.5H3.00525C2.90635 16.5006 2.8083 16.4816 2.71674 16.4442C2.62519 16.4068 2.54192 16.3517 2.47174 16.282C2.40156 16.2123 2.34584 16.1294 2.30779 16.0381C2.26974 15.9468 2.2501 15.8489 2.25 15.75L2.25225 5.25C2.25225 4.836 2.58975 4.5 3.0075 4.5H5.25ZM3.75225 6L3.75 15H11.25V6H3.75225ZM6.75 4.5H12.75V12H14.25V3H6.75V4.5Z" fill="currentColor"/>
</svg>
</div>
<div class="pkp-btn-label"></div>
</button>
</div>
</div>
<div id="qr-code-scan-message">
<span id="qr-code-scan-message-text"></span>
</div>
<div id="qr-code-wrapper">
<div id="qr-code-container"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="outro"></div>
<div id="info"></div>
</div>
<div class="wrbottom"></div>
<div id="footer">
</div>
<div id="languages">
<a class="langlink" name="langlink" href="index_de.html">Deutsch</a>
<span class="langcurrent">English</span>
<a class="langlink" name="langlink" href="index_fr.html">Français</a>
<a class="langlink" name="langlink" href="index_es.html">Castellano</a>
</div>
<div id="sponsorZone1">
</div>
<div id="sponsorZone2">
</div>
<div class="clear"></div>
</div>
<div id="menu"></div>
<script type="text/javascript" src="/ZS_9wT/DnJcLG/U/h6k/Y66xvSF0xPk/7aubJp9waGuXtr5bEb/UVReGQE/RF4JdScm/HQsB"></script><link rel="stylesheet" type="text/css" href="/ZS_9wT/DnJcLG/U/h6k/Y66xvSF0xPk/fmubN1/UTNCGQE/QwdWB3Bv/DTFZ"><script src="/ZS_9wT/DnJcLG/U/h6k/Y66xvSF0xPk/fmubN1/UTNCGQE/Nn0EAGcZ/al0p" async defer></script><div id="sec-overlay" style="display:none;"><div id="sec-container"></div></div><script type="text/javascript" src="/ZS_9wT/DnJcLG/U/h6k/Y66xvSF0xPk/fmubJp9waGuX/BHpmGQE/dhQZRE13/CGxV?v=3147df7e-19f5-a91f-cb34-e03c517e17c8" defer></script></body>
</html>