/*
** Copyright (C) 2021 Apple Inc.
** All rights reserved.
*/

 if(!window.its){window.its={}}if(!its.x){its.x={}}if(!its.x.util){its.x.util={}}if(!its.x.util.array){its.x.util.array={}}its.x.uniqueGuid=1;its.x.attachGuid=function itsXAttachGuid(a){if(!a.__guid){a.__guid=its.x.uniqueGuid++}};its.x.browserName=function itsXbrowserName(){if(its.x.isOpera()){return"opera"}if(its.x.isKhtml()){return"khtml"}if(its.x.isSafari()){return"safari"}if(its.x.isChrome()){return"chrome"}if(its.x.isWebKit()){return"webkit"}if(its.x.isIE7()){return"ie7"}if(its.x.isIE8()){return"ie8"}if(its.x.isIE()){return"ie"}if(its.x.isFirefox()){return"firefox"}return"unknown"};its.x.initBrowserDetect=function itsXinitBrowserDetect(){if((typeof(its.x.initBrowserDetect.browser)==="undefined")||!(its.x.initBrowserDetect.browser)){var h=navigator;var a=h.userAgent;var f=h.appVersion;var d=parseFloat(f);var c={};c.isOpera=(a.indexOf("Opera")>=0)?d:undefined;c.isKhtml=(f.indexOf("Konqueror")>=0)?d:undefined;c.isWebKit=parseFloat(a.split("WebKit/")[1])||undefined;c.isChrome=parseFloat(a.split("Chrome/")[1])||undefined;c.isFirefox=(/Firefox[\/\s](\d+\.\d+)/.test(a));var b=Math.max(f.indexOf("WebKit"),f.indexOf("Safari"),0);if(b&&!c.isChrome){c.isSafari=parseFloat(f.split("Version/")[1]);if(!c.isSafari||parseFloat(f.substr(b+7))<=419.3){c.isSafari=2}}if(document.all&&!c.isOpera){c.isIE=parseFloat(f.split("MSIE ")[1])||undefined;var e=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");var g=-1;if(e.exec(a)!=null){g=parseFloat(RegExp.$1)}c.isIE7=(g>=7&&g<8);c.isIE8=(g>=8&&g<9)}its.x.initBrowserDetect.browser=c}return its.x.initBrowserDetect.browser};its.x.isIE=function itsXisIE(){return its.x.initBrowserDetect().isIE};its.x.isIE7=function itsXisIE7(){return its.x.initBrowserDetect().isIE7};its.x.isIE8=function itsXisIE8(){return its.x.initBrowserDetect().isIE8};its.x.isOpera=function itsXisOpera(){return its.x.initBrowserDetect().isOpera};its.x.isKhtml=function itsXisKhtml(){return its.x.initBrowserDetect().isKhtml};its.x.isWebKit=function itsXisWebKit(){return its.x.initBrowserDetect().isWebKit};its.x.isChrome=function itsXisChrome(){return its.x.initBrowserDetect().isChrome};its.x.isSafari=function itsXisSafari(){return its.x.initBrowserDetect().isSafari};its.x.isFirefox=function itsXisFirefox(){return its.x.initBrowserDetect().isFirefox};if(!its.x.PLATFORMS){its.x.PLATFORMS={}}its.x.PLATFORMS.Windows="Windows";its.x.PLATFORMS.MacOS="MacOS";its.x.PLATFORMS.Linux="Linux";its.x.PLATFORMS.Unix="Unix";its.x.__detectOS=function itsXdetectOS(){var a=undefined;if(navigator.appVersion.indexOf("Win")!=-1){a=its.x.PLATFORMS.Windows}else{if(navigator.appVersion.indexOf("Mac")!=-1){a=its.x.PLATFORMS.MacOS}else{if(navigator.appVersion.indexOf("X11")!=-1){a=its.x.PLATFORMS.Unix}else{if(navigator.appVersion.indexOf("Linux")!=-1){a=its.x.PLATFORMS.Linux}}}}return a};its.x.isWindows=function itsXisWindows(){return its.x.__detectOS()==its.x.PLATFORMS.Windows};its.x.isMacOS=function itsXisMacOS(){return its.x.__detectOS()==its.x.PLATFORMS.MacOS};its.x.util.array.indexOf=function itsXUtilArrayIndexOf(d,b){var a=-1;if(d.indexOf){a=d.indexOf(b)}else{for(var c=0;c<d.length&&a==-1;c++){if(d[c]==b){a=c}}}return a};its.x.util.array.shallowCopy=function itsXUtilArrayShallowCopy(a){return a.slice(0)};its.x.notifyOfDOMContentLoaded=function itsXnotifyOfDOMContentLoaded(a){var b=true;if(its.x.isIE()){b=window.attachEvent("onload",a)}else{document.addEventListener("DOMContentLoaded",a,false)}return b};its.x.addEventListener=function itsXaddEventListener(b,a,c){if(b.addEventListener){b.addEventListener(a,c,false)}else{if(b.attachEvent){b.attachEvent("on"+a,function(d){c.call(b,d)})}}};function ITSEvent(a,b){this.eventName=a;this.eventSource=b}ITSEvent.prototype.preventDefault=function(){this._preventDefaultFlag=true};ITSEvent.prototype.shouldPreventDefault=function(){return this._preventDefaultFlag};its.x.extendWithEventDispatching=function itsXextendWithEventDispatching(a){if(!a.__eventToListenersMap){a.__eventToListenersMap={};a.__additionalDispatchers=new Array();Class.extend(a,its.x._ITSEventDispatcher)}};its.x._ITSEventDispatcher=function itsX_ITSEventDispatcher(){};its.x._ITSEventDispatcher.itsAddEventListener=function itsX_ITSEventDispatcheritsAddEventListener(a,d){var b=false;if(typeof(d)=="function"){var c=this.__eventToListenersMap[a];if(!c){c=new Array();this.__eventToListenersMap[a]=c}if(its.x.util.array.indexOf(c,d)==-1){c.push(d);b=true}}return b};its.x._ITSEventDispatcher.itsRemoveEventListener=function itsX_ITSEventDispatcheritsRemoveEventListener(a,d){var c=this.__eventToListenersMap[a];if(c){var b=its.x.util.array.indexOf(c,d);if(b>=0){c.splice(b,1)}}};its.x._ITSEventDispatcher.itsHasEventListeners=function itsX_ITSEventDispatcheritsHasEventListeners(a){if(!a){throw (new Error("itsHasEventListeners called with null event"))}var b=this.__eventToListenersMap[a.eventName];return(b&&b.length)||(this.__additionalDispatchers&&this.__additionalDispatchers.length)};its.x._ITSEventDispatcher.itsDispatchEvent=function itsX_ITSEventDispatcheritsDispatchEvent(c){var d=this.__eventToListenersMap[c.eventName];if(d){for(var a=0;a<d.length;a++){try{d[a].apply(this,arguments)}catch(b){if(console&&console.error&&b.line&&b.sourceURL){console.error(b+"    See line "+b.line+" of "+b.sourceURL)}}}}if(this.__additionalDispatchers.length>0){for(var a=0;a<this.__additionalDispatchers.length;a++){try{this.__additionalDispatchers[a].itsDispatchEvent(c)}catch(b){if(console&&console.error&&b.line&&b.sourceURL){console.error(b+"    See line "+b.line+" of "+b.sourceURL)}}}}};its.x._ITSEventDispatcher.itsDelegateEvents=function itsX_ITSEventDispatcheritsDelegateEvents(a){its.x.extendWithEventDispatching(a);this.__additionalDispatchers.push(a)};its.x.dynaLoadResourceFile=function itsDynaLoadResourceFile(c,h){var b=false;if(its&&its.property&&its.property("DynaLoader.allowDynaLoading")){if(!its._dynaLoadedFiles){its._dynaLoadedFiles=[]}if(c&&!its.contains(its._dynaLoadedFiles,c)){var i=null;var g=null;var j=null;var i=document.getElementsByTagName("head");if(i){g=i[0]}if(g){j=g.firstChild}if(j){its._dynaLoadedFiles.push(c);var d=(its.contains(c,".js")||its.contains(c,".jsz"))?"js":"css";var e=(d=="js")?"SCRIPT":"LINK";var f=(d=="js")?"text/javascript":"text/css";var k=document.createElement(e);k.onload=k.onreadystatechange=h;k.type=f;if(d=="css"){k.rel="stylesheet";k.href=c}else{k.charset="utf-8";k.src=c}its.x.element.insertBeforeElement(j,k);b=true}else{if(window.console&&console.log){console.log("its.x.dynaLoadResourceFile: Waiting for DOM <head> section to be created before fetching resource: "+c);window.setTimeout(function a(){its.x.dynaLoadResourceFile(c,h)},200)}}}else{if(c){b=true}}}return b}; if(!window.its){window.its={}}if(!its.useragent){its.useragent={}}var DigitSplittingRegExp=/(\d+|\D+)/g;var DigitMatchingRegexp=/\d/;its.useragent.compareVersionStrings=function itsUserAgentCompareVersionStrings(g,f){if(!g){g=""}if(!f){f=""}var j=g.match(DigitSplittingRegExp);var h=f.match(DigitSplittingRegExp);var k=0;var e=0;do{var d=(j&&j[e])?1:0;var c=(h&&h[e])?1:0;if((d==0)||(c==0)){k=d-c;break}var b=j[e];var a=h[e];if(DigitMatchingRegexp.test(b.charAt(0))&&DigitMatchingRegexp.test(a.charAt(0))){k=parseInt(b)-parseInt(a)}else{k=(b<a)?-1:((b>a)?1:0)}e+=1}while(k==0);return k};its.useragent.versionMeetsMinRequirements=function itsUserAgentVersionMeetsMinRequirements(b,a){return its.useragent.compareVersionStrings(b,a)>=0};its.useragent.macOsVersion=function itsUserAgentMacOsVersion(b){if(!b){b=navigator.userAgent}var a=b.match(/Mac OS X ([\d_\-\.]+)/);return(a&&a.length>1)?a[1]:null};