1(function( $ ) { 2 'use strict'; 3 4 /** 5 * All of the code for your public-facing JavaScript source 6 * should reside in this file. 7 * 8 * Note: It has been assumed you will write jQuery code here, so the 9 * $ function reference has been prepared for usage within the scope 10 * of this function. 11 * 12 * This enables you to define handlers, for when the DOM is ready: 13 * 14 * $(function() { 15 * 16 * }); 17 * 18 * When the window is loaded: 19 * 20 * $( window ).load(function() { 21 * 22 * }); 23 * 24 * ...and/or other possibilities. 25 * 26 * Ideally, it is not considered best practise to attach more than a 27 * single DOM-ready or window-load handler for a particular page. 28 * Although scripts in the WordPress core, Plugins and Themes may be 29 * practising this, we should strive to set a better example in our own work. 30 */ 31 32})( jQuery ); 33; 34(function( $ ) { 35 'use strict'; 36 37 /** 38 * All of the code for your public-facing JavaScript source 39 * should reside in this file. 40 * 41 * Note: It has been assumed you will write jQuery code here, so the 42 * $ function reference has been prepared for usage within the scope 43 * of this function. 44 * 45 * This enables you to define handlers, for when the DOM is ready: 46 * 47 * $(function() { 48 * 49 * }); 50 * 51 * When the window is loaded: 52 * 53 * $( window ).load(function() { 54 * 55 * }); 56 * 57 * ...and/or other possibilities. 58 * 59 * Ideally, it is not considered best practise to attach more than a 60 * single DOM-ready or window-load handler for a particular page. 61 * Although scripts in the WordPress core, Plugins and Themes may be 62 * practising this, we should strive to set a better example in our own work. 63 */ 64 65})( jQuery ); 66; 67var flatpickr=function(){"use strict";var e,t={};var n,a,o,i,r,l,c,d,s,u,f,m,p,g,h,v,D,y,w,b,M,C,x,E,_,O,k,T,I,S,P,F,j,A,N,Y=(e||(e=1,n||(n=1,a||(a=1,o||(o=1,i||(i=1,r||(r=1,l||(l=1,c||(c=1,d||(d=1,s||(s=1,u||(u=1,f||(f=1,m||(m=1,p||(p=1,g||(g=1,h||(h=1,v||(v=1,D||(D=1,y||(y=1,w||(w=1,b||(b=1,M||(M=1,E={exports:{}},C||(C=1,E.exports=function(){var e=function(){return(e=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var a=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],r=0,l=i.length;r<l;r++,o++)a[o]=i[r];return a}var n=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>
67",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},o={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},i=function(e,t){return void 0===t&&(t=2),("000"+e).slice(-1*t)},r=function(e){return!0===e?1:0};function l(e,t){var n;return function(){var a=this,o=arguments;clearTimeout(n),n=setTimeout((function(){return e.apply(a,o)}),t)}}var c=function(e){return e instanceof Array?e:[e]};function d(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function s(e,t,n){var a=window.document.createElement(e);return t=t||"",n=n||"",a.className=t,void 0!==n&&(a.textContent=n),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,t){return t(e)?e:e.parentNode?f(e.parentNode,t):void 0}function m(e,t){var n=s("div","numInputWrapper"),a=s("input","numInput "+e),o=s("span","arrowUp"),i=s("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?a.type="number":(a.type="text",a.pattern="\\d*"),void 0!==t)for(var r in t)a.setAttribute(r,t[r]);return n.appendChild(a),n.appendChild(o),n.appendChild(i),n}function p(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(t){return e.target}}var g=function(){},h=function(e,t,n){return n.months[t?"shorthand":"longhand"][e]},v={D:g,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*r(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var a=parseInt(t),o=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return o.setDate(o.getDate()-o.getDay()+n.firstDayOfWeek),o},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:g,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:g,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},D={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},y={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[y.w(e,t,n)]},F:function(e,t,n){return h(y.n(e,t,n)-1,!1,t)},G:function(e,t,n){return i(y.h(e,t,n))},H:function(e){return i(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[r(e.getHours()>11)]},M:function(e,t){return h(e.getMonth(),!0,t)},S:function(e){return i(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return i(e.getFullYear(),4)},d:function(e){return i(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return i(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return i(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},w=function(e){var t=e.config,n=void 0===t?a:t,i=e.l10n,r=void 0===i?o:i,l=e.isMobile,c=void 0!==l&&l;return function(e,t,a){var o=a||r;return void 0===n.formatDate||c?t.split("").map((function(t,a,i){return y[t]&&"\\"!==i[a-1]?y[t](e,o,n):"\\"!==t?t:""})).join(""):n.formatDate(e,t,o)}},b=function(e){var t=e.config,n=void 0===t?a:t,i=e.l10n,r=void 0===i?o:i;
vendor: 17,185 bytes, line 67
67return function(e,t,o,i){if(0===e||e){var l,c=i||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if("string"==typeof e){var s=t||(n||a).dateFormat,u=String(e).trim();if("today"===u)l=new Date,o=!0;else if(n&&n.parseDate)l=n.parseDate(e,s);else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else{for(var f=void 0,m=[],p=0,g=0,h="";p<s.length;p++){var y=s[p],w="\\"===y,b="\\"===s[p-1]||w;if(D[y]&&!b){h+=D[y];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==y?"push":"unshift"]({fn:v[y],val:M[++g]})}else w||(h+=".")}l=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),m.forEach((function(e){var t=e.fn,n=e.val;return l=t(l,n,c)||l})),l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===o&&l.setHours(0,0,0,0),l;n.errorHandler(new Error("Invalid date provided: "+d))}}};function M(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var C=function(e,t,n){return 3600*e+60*t+n};function x(e){var t=e.defaultHour,n=e.defaultMinute,a=e.defaultSeconds;if(void 0!==e.minDate){var o=e.minDate.getHours(),i=e.minDate.getMinutes(),r=e.minDate.getSeconds();t<o&&(t=o),t===o&&n<i&&(n=i),t===o&&n===i&&a<r&&(a=e.minDate.getSeconds())}if(void 0!==e.maxDate){var l=e.maxDate.getHours(),c=e.maxDate.getMinutes();(t=Math.min(t,l))===l&&(n=Math.min(c,n)),t===l&&n===c&&(a=e.maxDate.getSeconds())}return{hours:t,minutes:n,seconds:a}}function E(g,v){var y={config:e(e({},a),O.defaultConfig),l10n:o};function E(){var e;return(null===(e=y.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function _(e){return e.bind(y)}function k(){var e=y.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==y.calendarContainer&&(y.calendarContainer.style.visibility="hidden",y.calendarContainer.style.display="block"),void 0!==y.daysContainer){var t=(y.days.offsetWidth+1)*e.showMonths;y.daysContainer.style.width=t+"px",y.calendarContainer.style.width=t+(void 0!==y.weekWrapper?y.weekWrapper.offsetWidth:0)+"px",y.calendarContainer.style.removeProperty("visibility"),y.calendarContainer.style.removeProperty("display")}}))}function T(e){if(0===y.selectedDates.length){var t=void 0===y.config.minDate||M(new Date,y.config.minDate)>=0?new Date:new Date(y.config.minDate.getTime()),n=x(y.config);t.setHours(n.hours,n.minutes,n.seconds,t.getMilliseconds()),y.selectedDates=[t],y.latestSelectedDateObj=t}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var t="keydown"===e.type,n=p(e),a=n;void 0!==y.amPM&&n===y.amPM&&(y.amPM.textContent=y.l10n.amPM[r(y.amPM.textContent===y.l10n.amPM[0])]);var o=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),d=parseInt(a.value,10),s=d+c*(e.delta||(t?38===e.which?1:-1:0));if(void 0!==a.value&&2===a.value.length){var u=a===y.hourElement,f=a===y.minuteElement;s<o?(s=l+s+r(!u)+(r(u)&&r(!y.amPM)),f&&H(void 0,-1,y.hourElement)):s>l&&(s=a===y.hourElement?s-l-r(!y.amPM):o,f&&H(void 0,1,y.hourElement)),y.amPM&&u&&(1===c?s+d===23:Math.abs(s-d)>c)&&(y.amPM.textContent=y.l10n.amPM[r(y.amPM.textContent===y.l10n.amPM[0])]),a.value=i(s)}}(e);var a=y._input.value;I(),Me(),y._input.value!==a&&y._debouncedChange()}function I(){if(void 0!==y.hourElement&&void 0!==y.minuteElement){var e,t,n=(parseInt(y.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(y.minuteElement.value,10)||0)%60,o=void 0!==y.secondElement?(parseInt(y.secondElement.value,10)||0)%60:0;void 0!==y.amPM&&(e=n,t=y.amPM.textContent,n=e%12+12*r(t===y.l10n.amPM[1]));var i=void 0!==y.config.minTime||y.config.minDate&&y.minDateHasTime&&y.latestSelectedDateObj&&0===M(y.latestSelectedDateObj,y.config.minDate,!0),l=void 0!==y.config.maxTime||y.config.maxDate&&y.maxDateHasTime&&y.latestSelectedDateObj&&0===M(y.latestSelectedDateObj,y.config.maxDate,!0);if(void 0!==y.config.maxTime&&void 0!==y.config.minTime&&y.config.minTime>y.config.maxTime){var c=C(y.config.minTime.getHours(),y.config.minTime.getMinutes(),y.config.minTime.getSeconds()),d=C(y.config.maxTime.getHours(),y.config.maxTime.getMinutes(),y.config.maxTime.getSeconds()),s=C(n,a,o);if(s>d&&s<c){var u=function(e){var t=Math.floor(e/3600),n=(e-3600*t)/60;return[t,n,e-3600*t-60*n]}(c);n=u[0],a=u[1],o=u[2]}}else{if(l){var f=void 0!==y.config.maxTime?y.config.maxTime:y.config.maxDate;(n=Math.min(n,f.getHours()))===f.getHours()&&(a=Math.min(a,f.getMinutes())),a===f.getMinutes()&&(o=Math.min(o,f.getSeconds()))}if(i){var m=void 0!==y.config.minTime?y.config.minTime:y.config.minDate;(n=Math.max(n,m.getHours()))===m.getHours()&&a<m.getMinutes()&&(a=m.getMinutes()),a===m.getMinutes()&&(o=Math.max(o,m.getSeconds()))}}P(n,a,o)}}function S(e){var t=e||y.latestSelectedDateObj;t&&t instanceof Date&&P(t.getHours(),t.getMinutes(),t.getSeconds())}function P(e,t,n){void 0!==y.latestSelectedDateObj&&y.latestSelectedDateObj.setHours(e%24,t,n||0,0),y.hourElement&&y.minuteElement&&!y.isMobile&&(y.hourElement.value=i(y.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),y.minuteElement.value=i(t),void 0!==y.amPM&&(y.amPM.textContent=y.l10n.amPM[r(e>=12)]),void 0!==y.secondElement&&(y.secondElement.value=i(n)))}function F(e){var t=p(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&X(n)}function j(e,t,n,a){return t instanceof Array?t.forEach((function(t){return j(e,t,n,a)})):e instanceof Array?e.forEach((function(e){return j(e,t,n,a)})):(e.addEventListener(t,n,a),void y._handlers.push({remove:function(){return e.removeEventListener(t,n,a)}}))}function A(){ve("onChange")}function N(e,t){var n=void 0!==e?y.parseDate(e):y.latestSelectedDateObj||(y.config.minDate&&y.config.minDate>y.now?y.config.minDate:y.config.maxDate&&y.config.maxDate<y.now?y.config.maxDate:y.now),a=y.currentYear,o=y.currentMonth;try{void 0!==n&&(y.currentYear=n.getFullYear(),y.currentMonth=n.getMonth())}catch(e){e.message="Invalid date supplied: "+n,y.config.errorHandler(e)}t&&y.currentYear!==a&&(ve("onYearChange"),U()),!t||y.currentYear===a&&y.currentMonth===o||ve("onMonthChange"),y.redraw()}function Y(e){var t=p(e);~t.className.indexOf("arrow")&&H(e,t.classList.contains("arrowUp")?1:-1)}function H(e,t,n){var a=e&&p(e),o=n||a&&a.parentNode&&a.parentNode.firstChild,i=De("increment");i.delta=t,o&&o.dispatchEvent(i)}function L(e,t,n,a){var o=ee(t,!0),i=s("span",e,t.getDate().toString());return i.dateObj=t,i.$i=a,i.setAttribute("aria-label",y.formatDate(t,y.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(t,y.now)&&(y.todayDateElem=i,i.classList.add("today"),i.setAttribute("aria-current","date")),o?(i.tabIndex=-1,ye(t)&&(i.classList.add("selected"),y.selectedDateElem=i,"range"===y.config.mode&&(d(i,"startRange",y.selectedDates[0]&&0===M(t,y.selectedDates[0],!0)),d(i,"endRange",y.selectedDates[1]&&0===M(t,y.selectedDates[1],!0)),"nextMonthDay"===e&&i.classList.add("inRange")))):i.classList.add("flatpickr-disabled"),"range"===y.config.mode&&function(e){return!("range"!==y.config.mode||y.selectedDates.length<2)&&M(e,y.selectedDates[0])>=0&&M(e,y.selectedDates[1])<=0}(t)&&!ye(t)&&i.classList.add("inRange"),y.weekNumbers&&1===y.config.showMonths&&"prevMonthDay"!==e&&a%7==6&&y.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+y.config.getWeek(t)+"</span>"),ve("onDayCreate",i),i}function R(e){e.focus(),"range"===y.config.mode&&oe(e)}function W(e){for(var t=e>0?0:y.config.showMonths-1,n=e>0?y.config.showMonths:-1,a=t;a!=n;a+=e)for(var o=y.daysContainer.children[a],i=e>0?0:o.children.length-1,r=e>0?o.children.length:-1,l=i;l!=r;l+=e){var c=o.children[l];if(-1===c.className.indexOf("hidden")&&ee(c.dateObj))return c}}function B(e,t){var n=E(),a=te(n||document.body),o=void 0!==e?e:a?n:void 0!==y.selectedDateElem&&te(y.selectedDateElem)?y.selectedDateElem:void 0!==y.todayDateElem&&te(y.todayDateElem)?y.todayDateElem:W(t>0?1:-1);void 0===o?y._input.focus():a?function(e,t){for(var n=-1===e.className.indexOf("Month")?e.dateObj.getMonth():y.currentMonth,a=t>0?y.config.showMonths:-1,o=t>0?1:-1,i=n-y.currentMonth;i!=a;i+=o)for(var r=y.daysContainer.children[i],l=n-y.currentMonth===i?e.$i+t:t<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d<c&&d!=(t>0?c:-1);d+=o){var s=r.children[d];if(-1===s.className.indexOf("hidden")&&ee(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return R(s)}y.changeMonth(o),B(W(o),0)}(o,t):R(o)}function J(e,t){for(var n=(new Date(e,t,1).getDay()-y.l10n.firstDayOfWeek+7)%7,a=y.utils.getDaysInMonth((t-1+12)%12,e),o=y.utils.getDaysInMonth(t,e),i=window.document.createDocumentFragment(),r=y.config.showMonths>1,l=r?"prevMonthDay hidden":"prevMonthDay",c=r?"nextMonthDay hidden":"nextMonthDay",d=a+1-n,u=0;d<=a;d++,u++)i.appendChild(L("flatpickr-day "+l,new Date(e,t-1,d),0,u));for(d=1;d<=o;d++,u++)i.appendChild(L("flatpickr-day",new Date(e,t,d),0,u));for(var f=o+1;f<=42-n&&(1===y.config.showMonths||u%7!=0);f++,u++)i.appendChild(L("flatpickr-day "+c,new Date(e,t+1,f%o),0,u));var m=s("div","dayContainer");return m.appendChild(i),m}function K(){if(void 0!==y.daysContainer){u(y.daysContainer),y.weekNumbers&&u(y.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<y.config.showMonths;t++){var n=new Date(y.currentYear,y.currentMonth,1);n.setMonth(y.currentMonth+t),e.appendChild(J(n.getFullYear(),n.getMonth()))}y.daysContainer.appendChild(e),y.days=y.daysContainer.firstChild,"range"===y.config.mode&&1===y.selectedDates.length&&oe()}}function U(){if(!(y.config.showMonths>1||"dropdown"!==y.config.monthSelectorType)){var e=function(e){return!(void 0!==y.config.minDate&&y.currentYear===y.config.minDate.getFullYear()&&e<y.config.minDate.getMonth()||void 0!==y.config.maxDate&&y.currentYear===y.config.maxDate.getFullYear()&&e>y.config.maxDate.getMonth())};y.monthsDropdownContainer.tabIndex=-1,y.monthsDropdownContainer.innerHTML="";for(var t=0;t<12;t++)if(e(t)){var n=s("option","flatpickr-monthDropdown-month");n.value=new Date(y.currentYear,t).getMonth().toString(),n.textContent=h(t,y.config.shorthandCurrentMonth,y.l10n),n.tabIndex=-1,y.currentMonth===t&&(n.selected=!0),y.monthsDropdownContainer.appendChild(n)}}}function $(){var e,t=s("div","flatpickr-month"),n=window.document.createDocumentFragment();y.config.showMonths>1||"static"===y.config.monthSelectorType?e=s("span","cur-month"):(y.monthsDropdownContainer=s("select","flatpickr-monthDropdown-months"),y.monthsDropdownContainer.setAttribute("aria-label",y.l10n.monthAriaLabel),j(y.monthsDropdownContainer,"change",(function(e){var t=p(e),n=parseInt(t.value,10);y.changeMonth(n-y.currentMonth),ve("onMonthChange")})),U(),e=y.monthsDropdownContainer);var a=m("cur-year",{tabindex:"-1"}),o=a.getElementsByTagName("input")[0];o.setAttribute("aria-label",y.l10n.yearAriaLabel),y.config.minDate&&o.setAttribute("min",y.config.minDate.getFullYear().toString()),y.config.maxDate&&(o.setAttribute("max",y.config.maxDate.getFullYear().toString()),o.disabled=!!y.config.minDate&&y.config.minDate.getFullYear()===y.config.maxDate.getFullYear());var i=s("div","flatpickr-current-month");return i.appendChild(e),i.appendChild(a),n.appendChild(i),t.appendChild(n),{container:t,yearElement:o,monthElement:e}}function q(){u(y.monthNav),y.monthNav.appendChild(y.prevMonthNav),y.config.showMonths&&(y.yearElements=[],y.monthElements=[]);for(var e=y.config.showMonths;e--;){var t=$();y.yearElements.push(t.yearElement),y.monthElements.push(t.monthElement),y.monthNav.appendChild(t.container)}y.monthNav.appendChild(y.nextMonthNav)}function V(){y.weekdayContainer?u(y.weekdayContainer):y.weekdayContainer=s("div","flatpickr-weekdays");for(var e=y.config.showMonths;e--;){var t=s("div","flatpickr-weekdaycontainer");y.weekdayContainer.appendChild(t)}return z(),y.weekdayContainer}function z(){if(y.weekdayContainer){var e=y.l10n.firstDayOfWeek,n=t(y.l10n.weekdays.shorthand);e>0&&e<n.length&&(n=t(n.splice(e,n.length),n.splice(0,e)));for(var a=y.config.showMonths;a--;)y.weekdayContainer.children[a].innerHTML="\n <span class='flatpickr-weekday'>\n "+n.join("</span><span class='flatpickr-weekday'>")+"\n </span>\n "}}function G(e,t){void 0===t&&(t=!0);var n=t?e:e-y.currentMonth;n<0&&!0===y._hidePrevMonthArrow||n>0&&!0===y._hideNextMonthArrow||(y.currentMonth+=n,(y.currentMonth<0||y.currentMonth>11)&&(y.currentYear+=y.currentMonth>11?1:-1,y.currentMonth=(y.currentMonth+12)%12,ve("onYearChange"),U()),K(),ve("onMonthChange"),we())}function Z(e){return y.calendarContainer.contains(e)}function Q(e){if(y.isOpen&&!y.config.inline){var t=p(e),n=Z(t),a=!(t===y.input||t===y.altInput||y.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(y.input)||~e.path.indexOf(y.altInput))||n||Z(e.relatedTarget)),o=!y.config.ignoredFocusElements.some((function(e){return e.contains(t)}));a&&o&&(y.config.allowInput&&y.setDate(y._input.value,!1,y.config.altInput?y.config.altFormat:y.config.dateFormat),void 0!==y.timeContainer&&void 0!==y.minuteElement&&void 0!==y.hourElement&&""!==y.input.value&&void 0!==y.input.value&&T(),y.close(),y.config&&"range"===y.config.mode&&1===y.selectedDates.length&&y.clear(!1))}}function X(e){if(!(!e||y.config.minDate&&e<y.config.minDate.getFullYear()||y.config.maxDate&&e>y.config.maxDate.getFullYear())){var t=e,n=y.currentYear!==t;y.currentYear=t||y.currentYear,y.config.maxDate&&y.currentYear===y.config.maxDate.getFullYear()?y.currentMonth=Math.min(y.config.maxDate.getMonth(),y.currentMonth):y.config.minDate&&y.currentYear===y.config.minDate.getFullYear()&&(y.currentMonth=Math.max(y.config.minDate.getMonth(),y.currentMonth)),n&&(y.redraw(),ve("onYearChange"),U())}}function ee(e,t){var n;void 0===t&&(t=!0);var a=y.parseDate(e,void 0,t);if(y.config.minDate&&a&&M(a,y.config.minDate,void 0!==t?t:!y.minDateHasTime)<0||y.config.maxDate&&a&&M(a,y.config.maxDate,void 0!==t?t:!y.maxDateHasTime)>0)return!1;if(!y.config.enable&&0===y.config.disable.length)return!0;if(void 0===a)return!1;for(var o=!!y.config.enable,i=null!==(n=y.config.enable)&&void 0!==n?n:y.config.disable,r=0,l=void 0;r<i.length;r++){if("function"==typeof(l=i[r])&&l(a))return o;if(l instanceof Date&&void 0!==a&&l.getTime()===a.getTime())return o;if("string"==typeof l){var c=y.parseDate(l,void 0,!0);return c&&c.getTime()===a.getTime()?o:!o}if("object"==typeof l&&void 0!==a&&l.from&&l.to&&a.getTime()>=l.from.getTime()&&a.getTime()<=l.to.getTime())return o}return!o}function te(e){return void 0!==y.daysContainer&&-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&y.daysContainer.contains(e)}function ne(e){var t=e.target===y._input,n=y._input.value.trimEnd()!==be();!t||!n||e.relatedTarget&&Z(e.relatedTarget)||y.setDate(y._input.value,!0,e.target===y.altInput?y.config.altFormat:y.config.dateFormat)}function ae(e){var t=p(e),n=y.config.wrap?g.contains(t):t===y._input,a=y.config.allowInput,o=y.isOpen&&(!a||!n),i=y.config.inline&&n&&!a;if(13===e.keyCode&&n){if(a)return y.setDate(y._input.value,!0,t===y.altInput?y.config.altFormat:y.config.dateFormat),y.close(),t.blur();y.open()}else if(Z(t)||o||i){var r=!!y.timeContainer&&y.timeContainer.contains(t);switch(e.keyCode){case 13:r?(e.preventDefault(),T(),ue()):fe(e);break;case 27:e.preventDefault(),ue();break;case 8:case 46:n&&!y.config.allowInput&&(e.preventDefault(),y.clear());break;case 37:case 39:if(r||n)y.hourElement&&y.hourElement.focus();else{e.preventDefault();var l=E();if(void 0!==y.daysContainer&&(!1===a||l&&te(l))){var c=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),G(c),B(W(1),0)):B(void 0,c)}}break;case 38:case 40:e.preventDefault();var d=40===e.keyCode?1:-1;y.daysContainer&&void 0!==t.$i||t===y.input||t===y.altInput?e.ctrlKey?(e.stopPropagation(),X(y.currentYear-d),B(W(1),0)):r||B(void 0,7*d):t===y.currentYearElement?X(y.currentYear-d):y.config.enableTime&&(!r&&y.hourElement&&y.hourElement.focus(),T(e),y._debouncedChange());break;case 9:if(r){var s=[y.hourElement,y.minuteElement,y.secondElement,y.amPM].concat(y.pluginElements).filter((function(e){return e})),u=s.indexOf(t);if(-1!==u){var f=s[u+(e.shiftKey?-1:1)];e.preventDefault(),(f||y._input).focus()}}else!y.config.noCalendar&&y.daysContainer&&y.daysContainer.contains(t)&&e.shiftKey&&(e.preventDefault(),y._input.focus())}}if(void 0!==y.amPM&&t===y.amPM)switch(e.key){case y.l10n.amPM[0].charAt(0):case y.l10n.amPM[0].charAt(0).toLowerCase():y.amPM.textContent=y.l10n.amPM[0],I(),Me();break;case y.l10n.amPM[1].charAt(0):case y.l10n.amPM[1].charAt(0).toLowerCase():y.amPM.textContent=y.l10n.amPM[1],I(),Me()}(n||Z(t))&&ve("onKeyDown",e)}function oe(e,t){if(void 0===t&&(t="flatpickr-day"),1===y.selectedDates.length&&(!e||e.classList.contains(t)&&!e.classList.contains("flatpickr-disabled"))){for(var n=e?e.dateObj.getTime():y.days.firstElementChild.dateObj.getTime(),a=y.parseDate(y.selectedDates[0],void 0,!0).getTime(),o=Math.min(n,y.selectedDates[0].getTime()),i=Math.max(n,y.selectedDates[0].getTime()),r=!1,l=0,c=0,d=o;d<i;d+=864e5)ee(new Date(d),!0)||(r=r||d>o&&d<i,d<a&&(!l||d>l)?l=d:d>a&&(!c||d<c)&&(c=d));Array.from(y.rContainer.querySelectorAll("*:nth-child(-n+"+y.config.showMonths+") >
67 ."+t)).forEach((function(t){var o,i,d,s=t.dateObj.getTime(),u=l>0&&s<l||c>0&&s>c;if(u)return t.classList.add("notAllowed"),void["inRange","startRange","endRange"].forEach((function(e){t.classList.remove(e)}));r&&!u||(["startRange","inRange","endRange","notAllowed"].forEach((function(e){t.classList.remove(e)})),void 0!==e&&(e.classList.add(n<=y.selectedDates[0].getTime()?"startRange":"endRange"),a<n&&s===a?t.classList.add("startRange"):a>n&&s===a&&t.classList.add("endRange"),s>=l&&(0===c||s<=c)&&(i=a,d=n,(o=s)>Math.min(i,d)&&o<Math.max(i,d))&&t.classList.add("inRange")))}))}}function ie(){!y.isOpen||y.config.static||y.config.inline||de()}function re(e){return function(t){var n=y.config["_"+e+"Date"]=y.parseDate(t,y.config.dateFormat),a=y.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(y["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),y.selectedDates&&(y.selectedDates=y.selectedDates.filter((function(e){return ee(e)})),y.selectedDates.length||"min"!==e||S(n),Me()),y.daysContainer&&(se(),void 0!==n?y.currentYearElement[e]=n.getFullYear().toString():y.currentYearElement.removeAttribute(e),y.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function le(){return y.config.wrap?g.querySelector("[data-input]"):g}function ce(){"object"!=typeof y.config.locale&&void 0===O.l10ns[y.config.locale]&&y.config.errorHandler(new Error("flatpickr: invalid locale "+y.config.locale)),y.l10n=e(e({},O.l10ns.default),"object"==typeof y.config.locale?y.config.locale:"default"!==y.config.locale?O.l10ns[y.config.locale]:void 0),D.D="("+y.l10n.weekdays.shorthand.join("|")+")",D.l="("+y.l10n.weekdays.longhand.join("|")+")",D.M="("+y.l10n.months.shorthand.join("|")+")",D.F="("+y.l10n.months.longhand.join("|")+")",D.K="("+y.l10n.amPM[0]+"|"+y.l10n.amPM[1]+"|"+y.l10n.amPM[0].toLowerCase()+"|"+y.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},v),JSON.parse(JSON.stringify(g.dataset||{}))).time_24hr&&void 0===O.defaultConfig.time_24hr&&(y.config.time_24hr=y.l10n.time_24hr),y.formatDate=w(y),y.parseDate=b({config:y.config,l10n:y.l10n})}function de(e){if("function"!=typeof y.config.position){if(void 0!==y.calendarContainer){ve("onPreCalendarPosition");var t=e||y._positionElement,n=Array.prototype.reduce.call(y.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),a=y.calendarContainer.offsetWidth,o=y.config.position.split(" "),i=o[0],r=o.length>1?o[1]:null,l=t.getBoundingClientRect(),c=window.innerHeight-l.bottom,s="above"===i||"below"!==i&&c<n&&l.top>n,u=window.pageYOffset+l.top+(s?-n-2:t.offsetHeight+2);if(d(y.calendarContainer,"arrowTop",!s),d(y.calendarContainer,"arrowBottom",s),!y.config.inline){var f=window.pageXOffset+l.left,m=!1,p=!1;"center"===r?(f-=(a-l.width)/2,m=!0):"right"===r&&(f-=a-l.width,p=!0),d(y.calendarContainer,"arrowLeft",!m&&!p),d(y.calendarContainer,"arrowCenter",m),d(y.calendarContainer,"arrowRight",p);var g=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=g+a>window.document.body.offsetWidth;if(d(y.calendarContainer,"rightMost",h),!y.config.static)if(y.calendarContainer.style.top=u+"px",h)if(v){var D=function(){for(var e=null,t=0;t<document.styleSheets.length;t++){var n=document.styleSheets[t];if(n.cssRules){try{n.cssRules}catch(e){continue}e=n;break}}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var w=window.document.body.offsetWidth,b=Math.max(0,w/2-a/2),M=D.cssRules.length,C="{left:"+l.left+"px;right:auto;}";d(y.calendarContainer,"rightMost",!1),d(y.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+C,M),y.calendarContainer.style.left=b+"px",y.calendarContainer.style.right="auto"}else y.calendarContainer.style.left="auto",y.calendarContainer.style.right=g+"px";else y.calendarContainer.style.left=f+"px",y.calendarContainer.style.right="auto"}}}else y.config.position(y,e)}function se(){y.config.noCalendar||y.isMobile||(U(),we(),K())}function ue(){y._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(y.close,0):y.close()}function fe(e){e.preventDefault(),e.stopPropagation();var t=f(p(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==t){var n=t,a=y.latestSelectedDateObj=new Date(n.dateObj.getTime()),o=(a.getMonth()<y.currentMonth||a.getMonth()>y.currentMonth+y.config.showMonths-1)&&"range"!==y.config.mode;if(y.selectedDateElem=n,"single"===y.config.mode)y.selectedDates=[a];else if("multiple"===y.config.mode){var i=ye(a);i?y.selectedDates.splice(parseInt(i),1):y.selectedDates.push(a)}else"range"===y.config.mode&&(2===y.selectedDates.length&&y.clear(!1,!1),y.latestSelectedDateObj=a,y.selectedDates.push(a),0!==M(a,y.selectedDates[0],!0)&&y.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(I(),o){var r=y.currentYear!==a.getFullYear();y.currentYear=a.getFullYear(),y.currentMonth=a.getMonth(),r&&(ve("onYearChange"),U()),ve("onMonthChange")}
vendor: 14,819 bytes, lines 67-68
67if(we(),K(),Me(),o||"range"===y.config.mode||1!==y.config.showMonths?void 0!==y.selectedDateElem&&void 0===y.hourElement&&y.selectedDateElem&&y.selectedDateElem.focus():R(n),void 0!==y.hourElement&&void 0!==y.hourElement&&y.hourElement.focus(),y.config.closeOnSelect){var l="single"===y.config.mode&&!y.config.enableTime,c="range"===y.config.mode&&2===y.selectedDates.length&&!y.config.enableTime;(l||c)&&ue()}A()}}y.parseDate=b({config:y.config,l10n:y.l10n}),y._handlers=[],y.pluginElements=[],y.loadedPlugins=[],y._bind=j,y._setHoursFromDate=S,y._positionCalendar=de,y.changeMonth=G,y.changeYear=X,y.clear=function(e,t){if(void 0===e&&(e=!0),void 0===t&&(t=!0),y.input.value="",void 0!==y.altInput&&(y.altInput.value=""),void 0!==y.mobileInput&&(y.mobileInput.value=""),y.selectedDates=[],y.latestSelectedDateObj=void 0,!0===t&&(y.currentYear=y._initialDate.getFullYear(),y.currentMonth=y._initialDate.getMonth()),!0===y.config.enableTime){var n=x(y.config);P(n.hours,n.minutes,n.seconds)}y.redraw(),e&&ve("onChange")},y.close=function(){y.isOpen=!1,y.isMobile||(void 0!==y.calendarContainer&&y.calendarContainer.classList.remove("open"),void 0!==y._input&&y._input.classList.remove("active")),ve("onClose")},y.onMouseOver=oe,y._createElement=s,y.createDay=L,y.destroy=function(){void 0!==y.config&&ve("onDestroy");for(var e=y._handlers.length;e--;)y._handlers[e].remove();if(y._handlers=[],y.mobileInput)y.mobileInput.parentNode&&y.mobileInput.parentNode.removeChild(y.mobileInput),y.mobileInput=void 0;else if(y.calendarContainer&&y.calendarContainer.parentNode)if(y.config.static&&y.calendarContainer.parentNode){var t=y.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else y.calendarContainer.parentNode.removeChild(y.calendarContainer);y.altInput&&(y.input.type="text",y.altInput.parentNode&&y.altInput.parentNode.removeChild(y.altInput),delete y.altInput),y.input&&(y.input.type=y.input._type,y.input.classList.remove("flatpickr-input"),y.input.removeAttribute("readonly")), 68["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete y[e]}catch(e){}}))},y.isEnabled=ee,y.jumpToDate=N,y.updateValue=Me,y.open=function(e,t){if(void 0===t&&(t=y._positionElement),!0===y.isMobile){if(e){e.preventDefault();var n=p(e);n&&n.blur()}return void 0!==y.mobileInput&&(y.mobileInput.focus(),y.mobileInput.click()),void ve("onOpen")}if(!y._input.disabled&&!y.config.inline){var a=y.isOpen;y.isOpen=!0,a||(y.calendarContainer.classList.add("open"),y._input.classList.add("active"),ve("onOpen"),de(t)),!0===y.config.enableTime&&!0===y.config.noCalendar&&(!1!==y.config.allowInput||void 0!==e&&y.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return y.hourElement.select()}),50))}},y.redraw=se,y.set=function(e,t){if(null!==e&&"object"==typeof e)for(var a in Object.assign(y.config,e),e)void 0!==me[a]&&me[a].forEach((function(e){return e()}));else y.config[e]=t,void 0!==me[e]?me[e].forEach((function(e){return e()})):n.indexOf(e)>-1&&(y.config[e]=c(t));y.redraw(),Me(!0)},y.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=y.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return y.clear(t);pe(e,n),y.latestSelectedDateObj=y.selectedDates[y.selectedDates.length-1],y.redraw(),N(void 0,t),S(),0===y.selectedDates.length&&y.clear(!1),Me(t),t&&ve("onChange")},y.toggle=function(e){if(!0===y.isOpen)return y.close();y.open(e)};var me={locale:[ce,z],showMonths:[q,k,V],minDate:[N],maxDate:[N],positionElement:[he],clickOpens:[function(){!0===y.config.clickOpens?(j(y._input,"focus",y.open),j(y._input,"click",y.open)):(y._input.removeEventListener("focus",y.open),y._input.removeEventListener("click",y.open))}]};function pe(e,t){var n=[];if(e instanceof Array)n=e.map((function(e){return y.parseDate(e,t)}));else if(e instanceof Date||"number"==typeof e)n=[y.parseDate(e,t)];else if("string"==typeof e)switch(y.config.mode){case"single":case"time":n=[y.parseDate(e,t)];break;case"multiple":n=e.split(y.config.conjunction).map((function(e){return y.parseDate(e,t)}));break;case"range":n=e.split(y.l10n.rangeSeparator).map((function(e){return y.parseDate(e,t)}))}else y.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));y.selectedDates=y.config.allowInvalidPreload?n:n.filter((function(e){return e instanceof Date&&ee(e,!1)})),"range"===y.config.mode&&y.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ge(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?y.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:y.parseDate(e.from,void 0),to:y.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function he(){y._positionElement=y.config.positionElement||y._input}function ve(e,t){if(void 0!==y.config){var n=y.config[e];if(void 0!==n&&n.length>0)for(var a=0;n[a]&&a<n.length;a++)n[a](y.selectedDates,y.input.value,y,t);"onChange"===e&&(y.input.dispatchEvent(De("change")),y.input.dispatchEvent(De("input")))}}function De(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}function ye(e){for(var t=0;t<y.selectedDates.length;t++){var n=y.selectedDates[t];if(n instanceof Date&&0===M(n,e))return""+t}return!1}function we(){y.config.noCalendar||y.isMobile||!y.monthNav||(y.yearElements.forEach((function(e,t){var n=new Date(y.currentYear,y.currentMonth,1);n.setMonth(y.currentMonth+t),y.config.showMonths>1||"static"===y.config.monthSelectorType?y.monthElements[t].textContent=h(n.getMonth(),y.config.shorthandCurrentMonth,y.l10n)+" ":y.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()})),y._hidePrevMonthArrow=void 0!==y.config.minDate&&(y.currentYear===y.config.minDate.getFullYear()?y.currentMonth<=y.config.minDate.getMonth():y.currentYear<y.config.minDate.getFullYear()),y._hideNextMonthArrow=void 0!==y.config.maxDate&&(y.currentYear===y.config.maxDate.getFullYear()?y.currentMonth+1>y.config.maxDate.getMonth():y.currentYear>y.config.maxDate.getFullYear()))}function be(e){var t=e||(y.config.altInput?y.config.altFormat:y.config.dateFormat);return y.selectedDates.map((function(e){return y.formatDate(e,t)})).filter((function(e,t,n){return"range"!==y.config.mode||y.config.enableTime||n.indexOf(e)===t})).join("range"!==y.config.mode?y.config.conjunction:y.l10n.rangeSeparator)}function Me(e){void 0===e&&(e=!0),void 0!==y.mobileInput&&y.mobileFormatStr&&(y.mobileInput.value=void 0!==y.latestSelectedDateObj?y.formatDate(y.latestSelectedDateObj,y.mobileFormatStr):""),y.input.value=be(y.config.dateFormat),void 0!==y.altInput&&(y.altInput.value=be(y.config.altFormat)),!1!==e&&ve("onValueUpdate")}function Ce(e){var t=p(e),n=y.prevMonthNav.contains(t),a=y.nextMonthNav.contains(t);n||a?G(n?-1:1):y.yearElements.indexOf(t)>=0?t.select():t.classList.contains("arrowUp")?y.changeYear(y.currentYear+1):t.classList.contains("arrowDown")&&y.changeYear(y.currentYear-1)}return function(){y.element=y.input=g,y.isOpen=!1,function(){var t=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],o=e(e({},JSON.parse(JSON.stringify(g.dataset||{}))),v),i={};y.config.parseDate=o.parseDate,y.config.formatDate=o.formatDate,Object.defineProperty(y.config,"enable",{get:function(){return y.config._enable},set:function(e){y.config._enable=ge(e)}}),Object.defineProperty(y.config,"disable",{get:function(){return y.config._disable},set:function(e){y.config._disable=ge(e)}});var r="time"===o.mode;if(!o.dateFormat&&(o.enableTime||r)){var l=O.defaultConfig.dateFormat||a.dateFormat;i.dateFormat=o.noCalendar||r?"H:i"+(o.enableSeconds?":S":""):l+" H:i"+(o.enableSeconds?":S":"")}if(o.altInput&&(o.enableTime||r)&&!o.altFormat){var d=O.defaultConfig.altFormat||a.altFormat;i.altFormat=o.noCalendar||r?"h:i"+(o.enableSeconds?":S K":" K"):d+" h:i"+(o.enableSeconds?":S":"")+" K"}Object.defineProperty(y.config,"minDate",{get:function(){return y.config._minDate},set:re("min")}),Object.defineProperty(y.config,"maxDate",{get:function(){return y.config._maxDate},set:re("max")});var s=function(e){return function(t){y.config["min"===e?"_minTime":"_maxTime"]=y.parseDate(t,"H:i:S")}};Object.defineProperty(y.config,"minTime",{get:function(){return y.config._minTime},set:s("min")}),Object.defineProperty(y.config,"maxTime",{get:function(){return y.config._maxTime},set:s("max")}),"time"===o.mode&&(y.config.noCalendar=!0,y.config.enableTime=!0),Object.assign(y.config,i,o);for(var u=0;u<t.length;u++)y.config[t[u]]=!0===y.config[t[u]]||"true"===y.config[t[u]];for(n.filter((function(e){return void 0!==y.config[e]})).forEach((function(e){y.config[e]=c(y.config[e]||[]).map(_)})),y.isMobile=!y.config.disableMobile&&!y.config.inline&&"single"===y.config.mode&&!y.config.disable.length&&!y.config.enable&&!y.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=0;u<y.config.plugins.length;u++){var f=y.config.plugins[u](y)||{};for(var m in f)n.indexOf(m)>-1?y.config[m]=c(f[m]).map(_).concat(y.config[m]):void 0===o[m]&&(y.config[m]=f[m])}o.altInputClass||(y.config.altInputClass=le().className+" "+y.config.altInputClass),ve("onParseConfig")}(),ce(),y.input=le(),y.input?(y.input._type=y.input.type,y.input.type="text",y.input.classList.add("flatpickr-input"),y._input=y.input,y.config.altInput&&(y.altInput=s(y.input.nodeName,y.config.altInputClass),y._input=y.altInput,y.altInput.placeholder=y.input.placeholder,y.altInput.disabled=y.input.disabled,y.altInput.required=y.input.required,y.altInput.tabIndex=y.input.tabIndex,y.altInput.type="text",y.input.setAttribute("type","hidden"),!y.config.static&&y.input.parentNode&&y.input.parentNode.insertBefore(y.altInput,y.input.nextSibling)),y.config.allowInput||y._input.setAttribute("readonly","readonly"),he()):y.config.errorHandler(new Error("Invalid input element specified")),function(){y.selectedDates=[],y.now=y.parseDate(y.config.now)||new Date;var e=y.config.defaultDate||("INPUT"!==y.input.nodeName&&"TEXTAREA"!==y.input.nodeName||!y.input.placeholder||y.input.value!==y.input.placeholder?y.input.value:null);e&&pe(e,y.config.dateFormat),y._initialDate=y.selectedDates.length>0?y.selectedDates[0]:y.config.minDate&&y.config.minDate.getTime()>y.now.getTime()?y.config.minDate:y.config.maxDate&&y.config.maxDate.getTime()<y.now.getTime()?y.config.maxDate:y.now,y.currentYear=y._initialDate.getFullYear(),y.currentMonth=y._initialDate.getMonth(),y.selectedDates.length>0&&(y.latestSelectedDateObj=y.selectedDates[0]),void 0!==y.config.minTime&&(y.config.minTime=y.parseDate(y.config.minTime,"H:i")),void 0!==y.config.maxTime&&(y.config.maxTime=y.parseDate(y.config.maxTime,"H:i")),y.minDateHasTime=!!y.config.minDate&&(y.config.minDate.getHours()>0||y.config.minDate.getMinutes()>0||y.config.minDate.getSeconds()>0),y.maxDateHasTime=!!y.config.maxDate&&(y.config.maxDate.getHours()>0||y.config.maxDate.getMinutes()>0||y.config.maxDate.getSeconds()>0)}(),y.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=y.currentMonth),void 0===t&&(t=y.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:y.l10n.daysInMonth[e]}},y.isMobile||function(){var e=window.document.createDocumentFragment();if(y.calendarContainer=s("div","flatpickr-calendar"),y.calendarContainer.tabIndex=-1,!y.config.noCalendar){if(e.appendChild((y.monthNav=s("div","flatpickr-months"),y.yearElements=[],y.monthElements=[],y.prevMonthNav=s("span","flatpickr-prev-month"),y.prevMonthNav.innerHTML=y.config.prevArrow,y.nextMonthNav=s("span","flatpickr-next-month"),y.nextMonthNav.innerHTML=y.config.nextArrow,q(),Object.defineProperty(y,"_hidePrevMonthArrow",{get:function(){return y.__hidePrevMonthArrow},set:function(e){y.__hidePrevMonthArrow!==e&&(d(y.prevMonthNav,"flatpickr-disabled",e),y.__hidePrevMonthArrow=e)}}),Object.defineProperty(y,"_hideNextMonthArrow",{get:function(){return y.__hideNextMonthArrow},set:function(e){y.__hideNextMonthArrow!==e&&(d(y.nextMonthNav,"flatpickr-disabled",e),y.__hideNextMonthArrow=e)}}),y.currentYearElement=y.yearElements[0],we(),y.monthNav)),y.innerContainer=s("div","flatpickr-innerContainer"),y.config.weekNumbers){var t=function(){y.calendarContainer.classList.add("hasWeeks");var e=s("div","flatpickr-weekwrapper");e.appendChild(s("span","flatpickr-weekday",y.l10n.weekAbbreviation));var t=s("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),n=t.weekWrapper,a=t.weekNumbers;y.innerContainer.appendChild(n),y.weekNumbers=a,y.weekWrapper=n}y.rContainer=s("div","flatpickr-rContainer"),y.rContainer.appendChild(V()),y.daysContainer||(y.daysContainer=s("div","flatpickr-days"),y.daysContainer.tabIndex=-1),K(),y.rContainer.appendChild(y.daysContainer),y.innerContainer.appendChild(y.rContainer),e.appendChild(y.innerContainer)}y.config.enableTime&&e.appendChild(function(){y.calendarContainer.classList.add("hasTime"),y.config.noCalendar&&y.calendarContainer.classList.add("noCalendar");var e=x(y.config);y.timeContainer=s("div","flatpickr-time"),y.timeContainer.tabIndex=-1;var t=s("span","flatpickr-time-separator",":"),n=m("flatpickr-hour",{"aria-label":y.l10n.hourAriaLabel});y.hourElement=n.getElementsByTagName("input")[0];var a=m("flatpickr-minute",{"aria-label":y.l10n.minuteAriaLabel});if(y.minuteElement=a.getElementsByTagName("input")[0],y.hourElement.tabIndex=y.minuteElement.tabIndex=-1,y.hourElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getHours():y.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),y.minuteElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getMinutes():e.minutes),y.hourElement.setAttribute("step",y.config.hourIncrement.toString()),y.minuteElement.setAttribute("step",y.config.minuteIncrement.toString()),y.hourElement.setAttribute("min",y.config.time_24hr?"0":"1"),y.hourElement.setAttribute("max",y.config.time_24hr?"23":"12"),y.hourElement.setAttribute("maxlength","2"),y.minuteElement.setAttribute("min","0"),y.minuteElement.setAttribute("max","59"),y.minuteElement.setAttribute("maxlength","2"),y.timeContainer.appendChild(n),y.timeContainer.appendChild(t),y.timeContainer.appendChild(a),y.c
vendor: 4,024 bytes, line 68
68onfig.time_24hr&&y.timeContainer.classList.add("time24hr"),y.config.enableSeconds){y.timeContainer.classList.add("hasSeconds");var o=m("flatpickr-second");y.secondElement=o.getElementsByTagName("input")[0],y.secondElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getSeconds():e.seconds),y.secondElement.setAttribute("step",y.minuteElement.getAttribute("step")),y.secondElement.setAttribute("min","0"),y.secondElement.setAttribute("max","59"),y.secondElement.setAttribute("maxlength","2"),y.timeContainer.appendChild(s("span","flatpickr-time-separator",":")),y.timeContainer.appendChild(o)}return y.config.time_24hr||(y.amPM=s("span","flatpickr-am-pm",y.l10n.amPM[r((y.latestSelectedDateObj?y.hourElement.value:y.config.defaultHour)>11)]),y.amPM.title=y.l10n.toggleTitle,y.amPM.tabIndex=-1,y.timeContainer.appendChild(y.amPM)),y.timeContainer}()),d(y.calendarContainer,"rangeMode","range"===y.config.mode),d(y.calendarContainer,"animate",!0===y.config.animate),d(y.calendarContainer,"multiMonth",y.config.showMonths>1),y.calendarContainer.appendChild(e);var o=void 0!==y.config.appendTo&&void 0!==y.config.appendTo.nodeType;if((y.config.inline||y.config.static)&&(y.calendarContainer.classList.add(y.config.inline?"inline":"static"),y.config.inline&&(!o&&y.element.parentNode?y.element.parentNode.insertBefore(y.calendarContainer,y._input.nextSibling):void 0!==y.config.appendTo&&y.config.appendTo.appendChild(y.calendarContainer)),y.config.static)){var l=s("div","flatpickr-wrapper");y.element.parentNode&&y.element.parentNode.insertBefore(l,y.element),l.appendChild(y.element),y.altInput&&l.appendChild(y.altInput),l.appendChild(y.calendarContainer)}y.config.static||y.config.inline||(void 0!==y.config.appendTo?y.config.appendTo:window.document.body).appendChild(y.calendarContainer)}(),function(){if(y.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(y.element.querySelectorAll("[data-"+e+"]"),(function(t){return j(t,"click",y[e])}))})),y.isMobile)!function(){var e=y.config.enableTime?y.config.noCalendar?"time":"datetime-local":"date";y.mobileInput=s("input",y.input.className+" flatpickr-mobile"),y.mobileInput.tabIndex=1,y.mobileInput.type=e,y.mobileInput.disabled=y.input.disabled,y.mobileInput.required=y.input.required,y.mobileInput.placeholder=y.input.placeholder,y.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",y.selectedDates.length>0&&(y.mobileInput.defaultValue=y.mobileInput.value=y.formatDate(y.selectedDates[0],y.mobileFormatStr)),y.config.minDate&&(y.mobileInput.min=y.formatDate(y.config.minDate,"Y-m-d")),y.config.maxDate&&(y.mobileInput.max=y.formatDate(y.config.maxDate,"Y-m-d")),y.input.getAttribute("step")&&(y.mobileInput.step=String(y.input.getAttribute("step"))),y.input.type="hidden",void 0!==y.altInput&&(y.altInput.type="hidden");try{y.input.parentNode&&y.input.parentNode.insertBefore(y.mobileInput,y.input.nextSibling)}catch(e){}j(y.mobileInput,"change",(function(e){y.setDate(p(e).value,!1,y.mobileFormatStr),ve("onChange"),ve("onClose")}))}();else{var e=l(ie,50);y._debouncedChange=l(A,300),y.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&j(y.daysContainer,"mouseover",(function(e){"range"===y.config.mode&&oe(p(e))})),j(y._input,"keydown",ae),void 0!==y.calendarContainer&&j(y.calendarContainer,"keydown",ae),y.config.inline||y.config.static||j(window,"resize",e),void 0!==window.ontouchstart?j(window.document,"touchstart",Q):j(window.document,"mousedown",Q),j(window.document,"focus",Q,{capture:!0}),!0===y.config.clickOpens&&(j(y._input,"focus",y.open),j(y._input,"click",y.open)),void 0!==y.daysContainer&&(j(y.monthNav,"click",Ce),j(y.monthNav,["keyup","increment"],F),j(y.daysContainer,"click",fe)),void 0!==y.timeContainer&&void 0!==y.minuteElement&&void 0!==y.hourElement&&(j(y.timeContainer,["increment"],T),j(y.timeContainer,"blur",T,{capture:!0}),j(y.timeContainer,"click",Y),j([y.hourElement,y.minuteElement],["focus","click"],(function(e){return p(e).select()}
68)),void 0!==y.secondElement&&j(y.secondElement,"focus",(function(){return y.secondElement&&y.secondElement.select()})),void 0!==y.amPM&&j(y.amPM,"click",(function(e){T(e)}))),y.config.allowInput&&j(y._input,"blur",ne)}}(),(y.selectedDates.length||y.config.noCalendar)&&(y.config.enableTime&&S(y.config.noCalendar?y.latestSelectedDateObj:void 0),Me(!1)),k();var t=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!y.isMobile&&t&&de(),ve("onReady")}(),y}function _(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],o=0;o<n.length;o++){var i=n[o];try{if(null!==i.getAttribute("data-fp-omit"))continue;void 0!==i._flatpickr&&(i._flatpickr.destroy(),i._flatpickr=void 0),i._flatpickr=E(i,t||{}),a.push(i._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(t){t&&Object.keys(t).forEach((function(n){return e[n]=t[n]}))},o=0,i=t;o<i.length;o++)a(i[o]);return e}),"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return _(this,e)},HTMLElement.prototype.flatpickr=function(e){return _([this],e)});var O=function(e,t){return"string"==typeof e?_(window.document.querySelectorAll(e),t):e instanceof Node?_([e],t):_(e,t)};return O.defaultConfig={},O.l10ns={en:e({},o),default:e({},o)},O.localize=function(t){O.l10ns.default=e(e({},O.l10ns.default),t)},O.setDefaults=function(t){O.defaultConfig=e(e({},O.defaultConfig),t)},O.parseDate=b({}),O.formatDate=w({}),O.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return _(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=O),O}()),(x=E.exports)&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")&&x.default),(_={})&&_.__esModule&&Object.prototype.hasOwnProperty.call(_,"default")&&_.default),(O={})&&O.__esModule&&Object.prototype.hasOwnProperty.call(O,"default")&&O.default),(k={})&&k.__esModule&&Object.prototype.hasOwnProperty.call(k,"default")&&k.default),(T={})&&T.__esModule&&Object.prototype.hasOwnProperty.call(T,"default")&&T.default),(I={})&&I.__esModule&&Object.prototype.hasOwnProperty.call(I,"default")&&I.default),(S={})&&S.__esModule&&Object.prototype.hasOwnProperty.call(S,"default")&&S.default),(P={})&&P.__esModule&&Object.prototype.hasOwnProperty.call(P,"default")&&P.default),(F={})&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")&&F.default),(j={})&&j.__esModule&&Object.prototype.hasOwnProperty.call(j,"default")&&j.default),(A={})&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")&&A.default),(N={})&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")&&N.default),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),t),H=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(Y);return H}();; 69/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 70!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),--u;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;--u){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;--d)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r,i=c(e),o=i[0],s=t[1];return e=i[1],o&&(n=D(o=l(o,s))),o?e=n&&n.normalize?n.normalize(e,(r=s,function(e){return l(e,r)})):l(e,s):(o=(i=c(e=l(e,s)))[0],e=i[1],o&&(n=D(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:(t=e,function(){return y&&y.config&&y.c
70onfig[t]||{}})};var t}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);
70return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}
70),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","fal
70se"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;
70s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"â¶":"A","A":"A","Ã":"A","Ã":"A","Ã":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ä":"A","Ä":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ã":"A","Ç":"A","Ả":"A","Ã
":"A","Ǻ":"A","Ç":"A","È":"A","È":"A","Ạ":"A","Ậ":"A","Ặ":"A","á¸":"A","Ä":"A","Ⱥ":"A","Ɐ":"A","ê²":"AA","Ã":"AE","Ǽ":"AE","Ç¢":"AE","ê´":"AO","ê¶":"AU","ê¸":"AV","êº":"AV","ê¼":"AY","â·":"B","ï¼¢":"B","á¸":"B","á¸":"B","á¸":"B","É":"B","Æ":"B","Æ":"B","â¸":"C","ï¼£":"C","Ä":"C","Ä":"C","Ä":"C","Ä":"C","Ã":"C","á¸":"C","Æ":"C","È»":"C","ê¾":"C","â¹":"D","D":"D","á¸":"D","Ä":"D","á¸":"D","á¸":"D","á¸":"D","á¸":"D","Ä":"D","Æ":"D","Æ":"D","Æ":"D","ê¹":"D","DZ":"DZ","Ç":"DZ","Dz":"Dz","Ç
":"Dz","âº":"E","ï¼¥":"E","Ã":"E","Ã":"E","Ã":"E","á»":"E","Ế":"E","á»":"E","á»":"E","Ẽ":"E","Ä":"E","á¸":"E","á¸":"E","Ä":"E","Ä":"E","Ã":"E","Ẻ":"E","Ä":"E","È":"E","È":"E","Ẹ":"E","á»":"E","Ȩ":"E","á¸":"E","Ä":"E","á¸":"E","á¸":"E","Æ":"E","Æ":"E","â»":"F","F":"F","á¸":"F","Æ":"F","ê»":"F","â¼":"G","ï¼§":"G","Ç´":"G","Ä":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ":"G","ê ":"G","ê½":"G","ê¾":"G","â½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","â±§":"H","â±µ":"H","ê":"H","â¾":"I","I":"I","Ã":"I","Ã":"I","Ã":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ã":"I","Ḯ":"I","á»":"I","Ç":"I","È":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ":"I","â¿":"J","J":"J","Ä´":"J","É":"J","â":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Æ":"K","Ⱪ":"K","ê":"K","ê":"K","ê":"K","ê¢":"K","â":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","ê":"L","ê":"L","ê":"L","Ç":"LJ","Ç":"Lj","â":"M","ï¼":"M","Ḿ":"M","á¹":"M","á¹":"M","â±®":"M","Æ":"M","â":"N","ï¼®":"N","Ǹ":"N","Å":"N","Ã":"N","á¹":"N","Å":"N","á¹":"N","Å
":"N","á¹":"N","á¹":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç":"Nj","â":"O","O":"O","Ã":"O","Ã":"O","Ã":"O","á»":"O","á»":"O","á»":"O","á»":"O","Ã":"O","á¹":"O","Ȭ":"O","á¹":"O","Å":"O","á¹":"O","á¹":"O","Å":"O","È®":"O","Ȱ":"O","Ã":"O","Ȫ":"O","á»":"O","Å":"O","Ç":"O","È":"O","È":"O","Æ ":"O","á»":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","á»":"O","á»":"O","Ǫ":"O","Ǭ":"O","Ã":"O","Ǿ":"O","Æ":"O","Æ":"O","ê":"O","ê":"O","Å":"OE","Æ¢":"OI","ê":"OO","È¢":"OU","â
":"P","ï¼°":"P","á¹":"P","á¹":"P","Ƥ":"P","â±£":"P","ê":"P","ê":"P","ê":"P","â":"Q","ï¼±":"Q","ê":"Q","ê":"Q","É":"Q","â":"R","ï¼²":"R","Å":"R","á¹":"R","Å":"R","È":"R","È":"R","á¹":"R","á¹":"R","Å":"R","á¹":"R","É":"R","Ɽ":"R","ê":"R","ê¦":"R","ê":"R","â":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Å":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","È":"S","Å":"S","â±¾":"S","ê¨":"S","ê":"S","â":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê":"T","ê¨":"TZ","â":"U","ï¼µ":"U","Ã":"U","Ã":"U","Ã":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ã":"U","Ç":"U","Ç":"U","Ç":"U","Ç":"U","Ủ":"U","Å®":"U","Ű":"U","Ç":"U","È":"U","È":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","á¹¶":"U","á¹´":"U","É":"U","â":"V","ï¼¶":"V","á¹¼":"V","á¹¾":"V","Ʋ":"
70V","ê":"V","É
":"V","ê ":"VY","â":"W","ï¼·":"W","áº":"W","áº":"W","Å´":"W","áº":"W","áº":"W","áº":"W","â±²":"W","â":"X","X":"X","áº":"X","áº":"X","â":"Y","ï¼¹":"Y","Ỳ":"Y","Ã":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","á»¶":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","áº":"Z","áº":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â":"a","ï½":"a","áº":"a","à ":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","Ä":"a","Ä":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","Ç":"a","ả":"a","Ã¥":"a","Ç»":"a","Ç":"a","È":"a","È":"a","ạ":"a","áº":"a","ặ":"a","á¸":"a","Ä
":"a","â±¥":"a","É":"a","ê³":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","êµ":"ao","ê·":"au","ê¹":"av","ê»":"av","ê½":"ay","â":"b","ï½":"b","á¸":"b","á¸
":"b","á¸":"b","Æ":"b","Æ":"b","É":"b","â":"c","ï½":"c","Ä":"c","Ä":"c","Ä":"c","Ä":"c","ç":"c","á¸":"c","Æ":"c","ȼ":"c","ê¿":"c","â":"c","â":"d","ï½":"d","á¸":"d","Ä":"d","á¸":"d","á¸":"d","á¸":"d","á¸":"d","Ä":"d","Æ":"d","É":"d","É":"d","êº":"d","dz":"dz","Ç":"dz","â":"e","ï½
":"e","è":"e","é":"e","ê":"e","á»":"e","ế":"e","á»
":"e","á»":"e","ẽ":"e","Ä":"e","á¸":"e","á¸":"e","Ä":"e","Ä":"e","ë":"e","ẻ":"e","Ä":"e","È
":"e","È":"e","ẹ":"e","á»":"e","È©":"e","á¸":"e","Ä":"e","á¸":"e","á¸":"e","É":"e","É":"e","Ç":"e","â":"f","ï½":"f","á¸":"f","Æ":"f","ê¼":"f","â":"g","ï½":"g","ǵ":"g","Ä":"g","ḡ":"g","Ä":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â":"h","ï½":"h","Ä¥":"h","ḣ":"h","ḧ":"h","È":"h","ḥ":"h","ḩ":"h","ḫ":"h","áº":"h","ħ":"h","ⱨ":"h","â±¶":"h","É¥":"h","Æ":"hv","â":"i","ï½":"i","ì":"i","Ã":"i","î":"i","Ä©":"i","Ä«":"i","Ä":"i","ï":"i","ḯ":"i","á»":"i","Ç":"i","È":"i","È":"i","á»":"i","į":"i","á¸":"i","ɨ":"i","ı":"i","â":"j","ï½":"j","ĵ":"j","ǰ":"j","É":"j","â":"k","ï½":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ":"k","ⱪ":"k","ê":"k","ê":"k","ê
":"k","ê£":"k","â":"l","ï½":"l","Å":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å":"l","Æ":"l","É«":"l","ⱡ":"l","ê":"l","ê":"l","ê":"l","Ç":"lj","â":"m","ï½":"m","ḿ":"m","á¹":"m","á¹":"m","ɱ":"m","ɯ":"m","â":"n","ï½":"n","ǹ":"n","Å":"n","ñ":"n","á¹
":"n","Å":"n","á¹":"n","Å":"n","á¹":"n","á¹":"n","Æ":"n","ɲ":"n","Å":"n","ê":"n","ê¥":"n","Ç":"nj","â":"o","ï½":"o","ò":"o","ó":"o","ô":"o","á»":"o","á»":"o","á»":"o","á»":"o","õ":"o","á¹":"o","È":"o","á¹":"o","Å":"o","á¹":"o","á¹":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å":"o","Ç":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»":"o","ỡ":"o","á»":"o","ợ":"o","á»":"o","á»":"o","Ç«":"o","Ç":"o","ø":"o","Ç¿":"o","É":"o","ê":"o","ê":"o","ɵ":"o","Å":"oe","Æ£":"oi","È£":"ou","ê":"oo","â":"p","ï½":"p","á¹":"p","á¹":"p","Æ¥":"p","áµ½":"p","ê":"p","ê":"p","ê":"p","â ":"q","ï½":"q","É":"q","ê":"q","ê":"q","â¡":"r","ï½":"r","Å":"r","á¹":"r","Å":"r","È":"r","È":"r","á¹":"r","á¹":"r","Å":"r","á¹":"r","É":"r","ɽ":"r","ê":"r","ê§":"r","ê":"r","â¢":"s","ï½":"s","Ã":"s","Å":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","á¹§":"s","á¹£":"s","ṩ":"s","È":"s","Å":"s","È¿":"s","ê©":"s","ê
":"s","áº":"s","â£":"t","ï½":"t","ṫ":"t","áº":"t","Å¥":"t","á¹":"t","È":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ":"t","Ê":"t","ⱦ":"t","ê":"t","ê©":"tz","â¤":"u","ï½":"u","ù":"u","ú":"u","û":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å":"u","ü":"u","Ç":"u","Ç":"u","Ç":"u","Ç":"u","á»§":"u","ů":"u","ű":"u","Ç":"u","È":"u","È":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","á»":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","Ê":"u","â¥":"v","ï½":"v","á¹½":"v","ṿ":"v","Ê":"v","ê":"v","Ê":"v","ê¡":"vy","â¦":"w","ï½":"w","áº":"w","áº":"w","ŵ":"w","áº":"w","áº
":"w","áº":"w","áº":"w","â±³":"w","â§":"x","ï½":"x","áº":"x","áº":"x","â¨":"y","ï½":"y","ỳ":"y","ý":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","ÿ":"y","á»·":"y","áº":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â©":"z","ï½":"z","ź":"z","áº":"z","ż":"z","ž":"z","áº":"z","áº":"z","ƶ":"z","È¥":"z","É":"z","ⱬ":"z","ê£":"z","Î":"Î","Î":"Î","Î":"Î","Î":"Î","Ϊ":"Î","Î":"Î","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","Î":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","Ï":"ο","Ï":"Ï
","Ï":"Ï
","ΰ":"Ï
","Ï":"Ï","Ï":"Ï","â":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;
70s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t,n=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===n.id}).length){var r=i.option(n);r.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([r])}t=n,i.trigger("select",{data:t})});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.
70select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more resultsâ¦"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searchingâ¦"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptC
70ontainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}
70d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")}
70,d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});; 71/* 72 * jQuery.bind-first library v0.2.3 73 * Copyright (c) 2013 Vladimir Zhuravlev 74 * 75 * Released under MIT License 76 * @license 77 * 78 * Date: Thu Feb 6 10:13:59 ICT 2014 79 **/ 80(function(t){function e(e){return u?e.data("events"):t._data(e[0]).events}function n(t,n,r){var i=e(t),a=i[n];if(!u){var s=r?a.splice(a.delegateCount-1,1)[0]:a.pop();return a.splice(r?0:a.delegateCount||0,0,s),void 0}r?i.live.unshift(i.live.pop()):a.unshift(a.pop())}function r(e,r,i){var a=r.split(/\s+/);e.each(function(){for(var e=0;a.length>e;++e){var r=a[e].trim().match(/[^\.]+/i)[0];n(t(this),r,i)}})}function i(e){t.fn[e+"First"]=function(){var n=t.makeArray(arguments),i=n.shift();return i&&(t.fn[e].apply(this,arguments),r(this,i)),this}}var a=t.fn.jquery.split("."),s=parseInt(a[0]),f=parseInt(a[1]),u=1>s||1==s&&7>f;i("bind"),i("one"),t.fn.delegateFirst=function(){var e=t.makeArray(arguments),n=e[1];return n&&(e.splice(0,2),t.fn.delegate.apply(this,arguments),r(this,n,!0)),this},t.fn.liveFirst=function(){var e=t.makeArray(arguments);return e.unshift(this.selector),t.fn.delegateFirst.apply(t(document),e),this},u||(t.fn.onFirst=function(e,n){var i=t(this),a="string"==typeof n;if(t.fn.on.apply(i,arguments),"object"==typeof e)for(type in e)e.hasOwnProperty(type)&&r(i,type,a);else"string"==typeof e&&r(i,e,a);return i})})(jQuery);; 81!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();
81t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if(i=e({path:"/"},t.defaults,i),"number"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}return r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape),document.cookie=[n,"=",r,i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,d=0;d<p.length;d++){var f=p[d].split("="),u=f.slice(1).join("=");'"'===u.charAt(0)&&(u=u.slice(1,-1));try{var l=f[0].replace(s,decodeURIComponent);if(u=o.read?o.read(u,l):o(u,l)||u.replace(s,decodeURIComponent),this.json)try{u=JSON.parse(u)}catch(e){}if(n===l){c=u;break}n||(c[l]=u)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}return n(function(){})});; 82!function(f){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).tldjs=f()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var allRules=require("./lib/suffix-trie.js").fromJson(require("./rules.json")),extractHostname=require("./lib/clean-host.js"),getDomain=require("./lib/domain.js"),getPublicSuffix=require("./lib/public-suffix.js"),getSubdomain=require("./lib/subdomain.js"),isValid=require("./lib/is-valid.js"),isIp=require("./lib/is-ip.js"),tldExists=require("./lib/tld-exists.js"),TLD_EXISTS=1,PUBLIC_SUFFIX=2,DOMAIN=3,SUB_DOMAIN=4,ALL=5;module.exports=function factory(options){var rules=options.rules||allRules||{},validHosts=options.validHosts||[],_extractHostname=options.extractHostname||extractHostname;function parse(url,_step){var step=_step||ALL,result={hostname:_extractHostname(url),isValid:null,isIp:null,tldExists:!1,publicSuffix:null,domain:null,subdomain:null};return null===result.hostname?(result.isIp=!1,result.isValid=!1,result):(result.isIp=isIp(result.hostname),result.isIp?(result.isValid=!0,result):(result.isValid=isValid(result.hostname),!1===result.isValid?result:(step!==ALL&&step!==TLD_EXISTS||(result.tldExists=tldExists(rules,result.hostname)),step===TLD_EXISTS?result:(result.publicSuffix=getPublicSuffix(rules,result.hostname),step===PUBLIC_SUFFIX?result:(result.domain=getDomain(validHosts,result.publicSuffix,result.hostname),step===DOMAIN?result:(result.subdomain=getSubdomain(result.hostname,result.domain),result))))))}return{extractHostname:_extractHostname,isValid:isValid,parse:parse,tldExists:function(url){return parse(url,TLD_EXISTS).tldExists},getPublicSuffix:function(url){return parse(url,PUBLIC_SUFFIX).publicSuffix},getDomain:function(url){return parse(url,DOMAIN).domain},getSubdomain:function(url){return parse(url,SUB_DOMAIN).subdomain},fromUserSettings:factory}}({})},{"./lib/clean-host.js":2,"./lib/domain.js":3,"./lib/is-ip.js":5,"./lib/is-valid.js":6,"./lib/public-suffix.js":7,"./lib/subdomain.js":8,"./lib/suffix-trie.js":9,"./lib/tld-exists.js":10,"./rules.json":17}],2:[function(require,module,exports){var URL=require("url"),isValid=require("./is-valid.js"),hasPrefixRE=/^(([a-z][a-z0-9+.-]*)?:)?\/\//;function trimTrailingDots(value){return"."===value[value.length-1]?value.substr(0,value.length-1):value}module.exports=function(value){if(isValid(value))return trimTrailingDots(value);var url=value;"string"!=typeof url&&(url=""+url);var needsTrimming=function(value){return value.length>0&&(value.charCodeAt(0)<=32||value.charCodeAt(value.length-1)<=32)}(url);needsTrimming&&(url=url.trim());var needsLowerCase=function(value){for(var i=0;i<value.length;i+=1){var code=value.charCodeAt(i);if(code>=65&&code<=90)return!0}return!1}(url);if(needsLowerCase&&(url=url.toLowerCase()),(needsLowerCase||needsTrimming)&&isValid(url))return trimTrailingDots(url);hasPrefixRE.test(url)||(url="//"+url);var parts=URL.parse(url,null,!0);return parts.hostname?trimTrailingDots(parts.hostname):null}},{"./is-valid.js":6,url:15}],3:[function(require,module,exports){"use strict";function shareSameDomainSuffix(hostname,vhost){return pattern=vhost,(str=hostname).lastIndexOf(pattern)===str.length-pattern.length&&(hostname.length===vhost.length||"."===hostname[hostname.length-vhost.length-1]);var str,pattern}
82module.exports=function(validHosts,suffix,hostname){for(var i=0;i<validHosts.length;i+=1){var vhost=validHosts[i];if(shareSameDomainSuffix(hostname,vhost))return vhost}return null===suffix?null:suffix.length===hostname.length?null:function(hostname,publicSuffix){var publicSuffixIndex=hostname.length-publicSuffix.length-2,lastDotBeforeSuffixIndex=hostname.lastIndexOf(".",publicSuffixIndex);return-1===lastDotBeforeSuffixIndex?hostname:hostname.substr(lastDotBeforeSuffixIndex+1)}(hostname,suffix)}},{}],4:[function(require,module,exports){"use strict";module.exports=function(hostname){var lastDotIndex=hostname.lastIndexOf(".");return-1===lastDotIndex?null:hostname.substr(lastDotIndex+1)}},{}],5:[function(require,module,exports){"use strict";module.exports=function(hostname){return"string"==typeof hostname&&(0!==hostname.length&&(function(hostname){for(var hasColon=!1,i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(58===code)hasColon=!0;else if(!(code>=48&&code<=57||code>=97&&code<=102))return!1}return hasColon}(hostname)||function(hostname){for(var numberOfDots=0,i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(46===code)numberOfDots+=1;else if(code<48||code>57)return!1}return 3===numberOfDots&&"."!==hostname[0]&&"."!==hostname[hostname.length-1]}(hostname)))}},{}],6:[function(require,module,exports){"use strict";function isDigit(code){return code>=48&&code<=57}function isAlpha(code){return code>=97&&code<=122}module.exports=function(hostname){if("string"!=typeof hostname)return!1;if(hostname.length>255)return!1;if(0===hostname.length)return!1;var firstCharCode=hostname.charCodeAt(0);if(!isAlpha(firstCharCode)&&!isDigit(firstCharCode))return!1;for(var lastCharCode,code,lastDotIndex=-1,len=hostname.length,i=0;i<len;i+=1){if(46===(code=hostname.charCodeAt(i))){if(i-lastDotIndex>64||46===lastCharCode||45===lastCharCode)return!1;lastDotIndex=i}else if(!isAlpha(code)&&!isDigit(code)&&45!==code)return!1;lastCharCode=code}return len-lastDotIndex-1<=63&&45!==lastCharCode}},{}],7:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function(rules,hostname){if(rules.hasTld(hostname))return hostname;var candidate=rules.suffixLookup(hostname);return null===candidate?extractTldFromHost(hostname):candidate}},{"./from-host.js":4}],8:[function(require,module,exports){"use strict";module.exports=function(hostname,domain){return null===domain?null:hostname.substr(0,hostname.length-domain.length-1)}},{}],9:[function(require,module,exports){"use strict";var VALID_HOSTNAME_VALUE=0;function minIndex(a,b){return null===a?b:null===b?a:a<b?a:b}function insertInTrie(rule,trie){for(var parts=rule.parts,node=trie,i=0;i<parts.length;i+=1){var part=parts[i],nextNode=node[part];void 0===nextNode&&(nextNode=Object.create(null),node[part]=nextNode),node=nextNode}return node.$=VALID_HOSTNAME_VALUE,trie}function lookupInTrie(parts,trie,index){var nextNode,publicSuffixIndex=null;return void 0!==trie.$&&(publicSuffixIndex=index+1),-1===index?publicSuffixIndex:(void 0!==(nextNode=trie[parts[index]])&&(publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))),void 0!==(nextNode=trie["*"])&&(publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))),publicSuffixIndex)}function SuffixTrie(rules){if(this.exceptions=Object.create(null),this.rules=Object.create(null),rules)for(var i=0;i<rules.length;i+=1){var rule=rules[i];rule.exception?insertInTrie(rule,this.exceptions):insertInTrie(rule,this.rules)}}SuffixTrie.fromJson=function(json){var trie=new SuffixTrie;return trie.exceptions=json.exceptions,trie.rules=json.rules,trie},SuffixTrie.prototype.hasTld=function(value){return void 0!==this.rules[value]},SuffixTrie.prototype.suffixLookup=function(hostname){var parts=hostname.split("."),publicSuffixIndex=lookupInTrie(parts,this.rules,parts.length-1);if(null===publicSuffixIndex)return null;var exceptionIndex=lookupInTrie(parts,this.exceptions,parts.length-1);return null!==exceptionIndex?parts.slice(exceptionIndex+1).join("."):parts.slice(publicSuffixIndex).join(".")},module.exports=SuffixTrie},{}],10:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function(rules,hostname){if(rules.hasTld(hostname))return!0;var hostTld=extractTldFromHost(hostname);return null!==hostTld&&rules.hasTld(hostTld)}},{"./from-host.js":4}],11:[function(require,module,exports){(function(global){!function(root){var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule="object"==typeof module&&module&&!module.nodeType&&module,freeGlobal="object"==typeof global&&global;freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal);
82var punycode,key,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode;function error(type){throw new RangeError(errors[type])}function map(array,fn){for(var length=array.length,result=[];length--;)result[length]=fn(array[length]);return result}function mapDomain(string,fn){var parts=string.split("@"),result="";return parts.length>1&&(result=parts[0]+"@",string=parts[1]),result+map((string=string.replace(regexSeparators,".")).split("."),fn).join(".")}function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)(value=string.charCodeAt(counter++))>=55296&&value<=56319&&counter<length?56320==(64512&(extra=string.charCodeAt(counter++)))?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--):output.push(value);return output}function ucs2encode(array){return map(array,function(value){var output="";return value>65535&&(output+=stringFromCharCode((value-=65536)>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value)}).join("")}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)}function adapt(delta,numPoints,firstTime){var k=0;for(delta=firstTime?floor(delta/damp):delta>>1,delta+=floor(delta/numPoints);delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var out,basic,j,index,oldi,w,k,digit,t,baseMinusT,codePoint,output=[],inputLength=input.length,i=0,n=initialN,bias=initialBias;for((basic=input.lastIndexOf(delimiter))<0&&(basic=0),j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;index>=inputLength&&error("invalid-input"),((digit=(codePoint=input.charCodeAt(index++))-48<10?codePoint-22:codePoint-65<26?codePoint-65:codePoint-97<26?codePoint-97:base)>=base||digit>floor((maxInt-i)/w))&&error("overflow"),i+=digit*w,!(digit<(t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias));k+=base)w>floor(maxInt/(baseMinusT=base-t))&&error("overflow"),w*=baseMinusT;bias=adapt(i-oldi,out=output.length+1,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,inputLength,handledCPCountPlusOne,baseMinusT,qMinusT,output=[];for(inputLength=(input=ucs2decode(input)).length,n=initialN,delta=0,bias=initialBias,j=0;j<inputLength;++j)(currentValue=input[j])<128&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);handledCPCount<inputLength;){for(m=maxInt,j=0;j<inputLength;++j)(currentValue=input[j])>=n&¤tValue<m&&(m=currentValue);for(m-n>floor((maxInt-delta)/(handledCPCountPlusOne=handledCPCount+1))&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;j<inputLength;++j)if((currentValue=input[j])<n&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;!(q<(t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias));k+=base)qMinusT=q-t,baseMinusT=base-t,output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT);output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")}if(punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:function(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})},toUnicode:function(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}}
vendor: 4,571 bytes, line 82
82,freeExports&&freeModule)if(module.exports==freeExports)freeModule.exports=punycode;else for(key in punycode)punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);else root.punycode=punycode}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&",eq=eq||"=";var obj={};if("string"!=typeof qs||0===qs.length)return obj;var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;options&&"number"==typeof options.maxKeys&&(maxKeys=options.maxKeys);var len=qs.length;maxKeys>0&&len>maxKeys&&(len=maxKeys);for(var i=0;i<len;++i){var kstr,vstr,k,v,x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq);idx>=0?(kstr=x.substr(0,idx),vstr=x.substr(idx+1)):(kstr=x,vstr=""),k=decodeURIComponent(kstr),v=decodeURIComponent(vstr),hasOwnProperty(obj,k)?isArray(obj[k])?obj[k].push(v):obj[k]=[obj[k],v]:obj[k]=v}return obj};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)}},{}],13:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){return sep=sep||"&",eq=eq||"=",null===obj&&(obj=void 0),"object"==typeof obj?map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;return isArray(obj[k])?map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep):ks+encodeURIComponent(stringifyPrimitive(obj[k]))}).join(sep):name?encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj)):""};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)};function map(xs,f){if(xs.map)return xs.map(f);for(var res=[],i=0;i<xs.length;i++)res.push(f(xs[i],i));return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&res.push(key);return res}},{}],14:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode")},{"./decode":12,"./encode":13}],15:[function(require,module,exports){"use strict";var punycode=require("punycode"),util=require("./util");function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}exports.parse=urlParse,exports.resolve=function(source,relative){return urlParse(source,!1,!0).resolve(relative)},exports.resolveObject=function(source,relative){return source?urlParse(source,!1,!0).resolveObject(relative):relative},exports.format=function(obj){util.isString(obj)&&(obj=urlParse(obj));return obj instanceof Url?obj.format():Url.prototype.format.call(obj)},exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,unwise=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url))throw new TypeError("Parameter 'url' must be a string, not "+typeof url);var queryIndex=url.indexOf("?"),splitter=-1!==queryIndex&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter);uSplit[0]=uSplit[0].replace(/\\/g,"/");var rest=url=uSplit.join(splitter);if(rest=rest.trim(),!slashesDenoteHost&&1===url.split("#").length){var simplePath=simplePathPattern.exec(rest);if(simplePath)return this.path=rest,this.href=rest,this.pathname=simplePath[1],simplePath[2]?(this.search=simplePath[2],this.query=p
vendor: 4,428 bytes, line 82
82arseQueryString?querystring.parse(this.search.substr(1)):this.search.substr(1)):parseQueryString&&(this.search="",this.query={}),this}var proto=protocolPattern.exec(rest);if(proto){var lowerProto=(proto=proto[0]).toLowerCase();this.protocol=lowerProto,rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes="//"===rest.substr(0,2);!slashes||proto&&hostlessProtocol[proto]||(rest=rest.substr(2),this.slashes=!0)}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){for(var auth,atSign,hostEnd=-1,i=0;i<hostEndingChars.length;i++){-1!==(hec=rest.indexOf(hostEndingChars[i]))&&(-1===hostEnd||hec<hostEnd)&&(hostEnd=hec)}-1!==(atSign=-1===hostEnd?rest.lastIndexOf("@"):rest.lastIndexOf("@",hostEnd))&&(auth=rest.slice(0,atSign),rest=rest.slice(atSign+1),this.auth=decodeURIComponent(auth)),hostEnd=-1;for(i=0;i<nonHostChars.length;i++){var hec;-1!==(hec=rest.indexOf(nonHostChars[i]))&&(-1===hostEnd||hec<hostEnd)&&(hostEnd=hec)}-1===hostEnd&&(hostEnd=rest.length),this.host=rest.slice(0,hostEnd),rest=rest.slice(hostEnd),this.parseHost(),this.hostname=this.hostname||"";var ipv6Hostname="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!ipv6Hostname)for(var hostparts=this.hostname.split(/\./),l=(i=0,hostparts.length);i<l;i++){var part=hostparts[i];if(part&&!part.match(hostnamePartPattern)){for(var newpart="",j=0,k=part.length;j<k;j++)part.charCodeAt(j)>127?newpart+="x":newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);bit&&(validParts.push(bit[1]),notHost.unshift(bit[2])),notHost.length&&(rest="/"+notHost.join(".")+rest),this.hostname=validParts.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),ipv6Hostname||(this.hostname=punycode.toASCII(this.hostname));var p=this.port?":"+this.port:"",h=this.hostname||"";this.host=h+p,this.href+=this.host,ipv6Hostname&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==rest[0]&&(rest="/"+rest))}if(!unsafeProtocol[lowerProto])for(i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(-1!==rest.indexOf(ae)){var esc=encodeURIComponent(ae);esc===ae&&(esc=escape(ae)),rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");-1!==hash&&(this.hash=rest.substr(hash),rest=rest.slice(0,hash));var qm=rest.indexOf("?");if(-1!==qm?(this.search=rest.substr(qm),this.query=rest.substr(qm+1),parseQueryString&&(this.query=querystring.parse(this.query)),rest=rest.slice(0,qm)):parseQueryString&&(this.search="",this.query={}),rest&&(this.pathname=rest),slashedProtocol[lowerProto]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){p=this.pathname||"";var s=this.search||"";this.path=p+s}return this.href=this.format(),this},Url.prototype.format=function(){var auth=this.auth||"";auth&&(auth=(auth=encodeURIComponent(auth)).replace(/%3A/i,":"),auth+="@");var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=!1,query="";this.host?host=auth+this.host:this.hostname&&(host=auth+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(host+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(query=querystring.stringify(this.query));var search=this.search||query&&"?"+query||"";return protocol&&":"!==protocol.substr(-1)&&(protocol+=":"),this.slashes||(!protocol||slashedProtocol[protocol])&&!1!==host?(host="//"+(host||""),pathname&&"/"!==pathname.charAt(0)&&(pathname="/"+pathname)):host||(host=""),hash&&"#"!==hash.charAt(0)&&(hash="#"+hash),search&&"?"!==search.charAt(0)&&(search="?"+search),protocol+host+(pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)}))+(search=search.replace("#","%23"))+hash},Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,!1,!0)).format()},Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,!1,!0),relative=rel}for(var result=new Url,tkeys=Object.keys(this),tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}if(result.hash=relative.hash,""===relative.href)return result.href=result.format(),result;if(relative.slashes&&!relative.protocol){for(var rkeys=Object.keys(relative),rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];
vendor: 5,154 bytes, line 82
82"protocol"!==rkey&&(result[rkey]=relative[rkey])}return slashedProtocol[result.protocol]&&result.hostname&&!result.pathname&&(result.path=result.pathname="/"),result.href=result.format(),result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){for(var keys=Object.keys(relative),v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}return result.href=result.format(),result}if(result.protocol=relative.protocol,relative.host||hostlessProtocol[relative.protocol])result.pathname=relative.pathname;else{for(var relPath=(relative.pathname||"").split("/");relPath.length&&!(relative.host=relPath.shift()););relative.host||(relative.host=""),relative.hostname||(relative.hostname=""),""!==relPath[0]&&relPath.unshift(""),relPath.length<2&&relPath.unshift(""),result.pathname=relPath.join("/")}if(result.search=relative.search,result.query=relative.query,result.host=relative.host||"",result.auth=relative.auth,result.hostname=relative.hostname||relative.host,result.port=relative.port,result.pathname||result.search){var p=result.pathname||"",s=result.search||"";result.path=p+s}return result.slashes=result.slashes||relative.slashes,result.href=result.format(),result}var isSourceAbs=result.pathname&&"/"===result.pathname.charAt(0),isRelAbs=relative.host||relative.pathname&&"/"===relative.pathname.charAt(0),mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],psychotic=(relPath=relative.pathname&&relative.pathname.split("/")||[],result.protocol&&!slashedProtocol[result.protocol]);if(psychotic&&(result.hostname="",result.port=null,result.host&&(""===srcPath[0]?srcPath[0]=result.host:srcPath.unshift(result.host)),result.host="",relative.protocol&&(relative.hostname=null,relative.port=null,relative.host&&(""===relPath[0]?relPath[0]=relative.host:relPath.unshift(relative.host)),relative.host=null),mustEndAbs=mustEndAbs&&(""===relPath[0]||""===srcPath[0])),isRelAbs)result.host=relative.host||""===relative.host?relative.host:result.host,result.hostname=relative.hostname||""===relative.hostname?relative.hostname:result.hostname,result.search=relative.search,result.query=relative.query,srcPath=relPath;else if(relPath.length)srcPath||(srcPath=[]),srcPath.pop(),srcPath=srcPath.concat(relPath),result.search=relative.search,result.query=relative.query;else if(!util.isNullOrUndefined(relative.search)){if(psychotic)result.hostname=result.host=srcPath.shift(),(authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@"))&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift());return result.search=relative.search,result.query=relative.query,util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.href=result.format(),result}if(!srcPath.length)return result.pathname=null,result.search?result.path="/"+result.search:result.path=null,result.href=result.format(),result;for(var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&("."===last||".."===last)||""===last,up=0,i=srcPath.length;i>=0;i--)"."===(last=srcPath[i])?srcPath.splice(i,1):".."===last?(srcPath.splice(i,1),up++):up&&(srcPath.splice(i,1),up--);if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift("..");!mustEndAbs||""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0)||srcPath.unshift(""),hasTrailingSlash&&"/"!==srcPath.join("/").substr(-1)&&srcPath.push("");var authInHost,isAbsolute=""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0);psychotic&&(result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"",(authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@"))&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift()));return(mustEndAbs=mustEndAbs||result.host&&srcPath.length)&&!isAbsolute&&srcPath.unshift(""),srcPath.length?result.pathname=srcPath.join("/"):(result.pathname=null,result.path=null),util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);port&&(":"!==(port=port[0])&&(this.port=port.substr(1)),host=host.substr(0,host.length-port.length)),host&&(this.hostname=host)}},{"./util":16,punycode:11,querystring:14}],16:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return"string"==typeof arg},isObject:function(arg){return"object"==typeof arg&&null!==arg},isNull:function(arg){return null===arg},isNullOrUndefined:function(arg){return null==arg}}},{}],17:[function(require,module,exports){module.exports={exceptions:{ck:{www:{$:0}},jp:{kawasaki:{city:{$:0}},kitakyushu:{city:{$:0}},kobe:{city:{$:0}},nagoya:{city:{$:0}},sapporo:{city:{$:0}},sendai:{city:{$:0}},yokohama:{city:{$:0}}}},rules:{ac:{$:0,com:{$:0},edu:{$:0},gov:{$:0}
82,net:{$:0},mil:{$:0},org:{$:0}},ad:{$:0,nom:{$:0}},ae:{$:0,co:{$:0},net:{$:0},org:{$:0},sch:{$:0},ac:{$:0},gov:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},aero:{$:0,"accident-investigation":{$:0},"accident-prevention":{$:0},aerobatic:{$:0},aeroclub:{$:0},aerodrome:{$:0},agents:{$:0},aircraft:{$:0},airline:{$:0},airport:{$:0},"air-surveillance":{$:0},airtraffic:{$:0},"air-traffic-control":{$:0},ambulance:{$:0},amusement:{$:0},association:{$:0},author:{$:0},ballooning:{$:0},broker:{$:0},caa:{$:0},cargo:{$:0},catering:{$:0},certification:{$:0},championship:{$:0},charter:{$:0},civilaviation:{$:0},club:{$:0},conference:{$:0},consultant:{$:0},consulting:{$:0},control:{$:0},council:{$:0},crew:{$:0},design:{$:0},dgca:{$:0},educator:{$:0},emergency:{$:0},engine:{$:0},engineer:{$:0},entertainment:{$:0},equipment:{$:0},exchange:{$:0},express:{$:0},federation:{$:0},flight:{$:0},freight:{$:0},fuel:{$:0},gliding:{$:0},government:{$:0},groundhandling:{$:0},group:{$:0},hanggliding:{$:0},homebuilt:{$:0},insurance:{$:0},journal:{$:0},journalist:{$:0},leasing:{$:0},logistics:{$:0},magazine:{$:0},maintenance:{$:0},media:{$:0},microlight:{$:0},modelling:{$:0},navigation:{$:0},parachuting:{$:0},paragliding:{$:0},"passenger-association":{$:0},pilot:{$:0},press:{$:0},production:{$:0},recreation:{$:0},repbody:{$:0},res:{$:0},research:{$:0},rotorcraft:{$:0},safety:{$:0},scientist:{$:0},services:{$:0},show:{$:0},skydiving:{$:0},software:{$:0},student:{$:0},trader:{$:0},trading:{$:0},trainer:{$:0},union:{$:0},workinggroup:{$:0},works:{$:0}},af:{$:0,gov:{$:0},com:{$:0},org:{$:0}
vendor: 2,434 bytes, line 82
82,net:{$:0},edu:{$:0}},ag:{$:0,com:{$:0},org:{$:0},net:{$:0},co:{$:0},nom:{$:0}},ai:{$:0,off:{$:0},com:{$:0},net:{$:0},org:{$:0},nom:{$:0}},al:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},am:{$:0,blogspot:{$:0}},ao:{$:0,ed:{$:0},gv:{$:0},og:{$:0},co:{$:0},pb:{$:0},it:{$:0}},aq:{$:0},ar:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gob:{$:0},gov:{$:0},int:{$:0},mil:{$:0},musica:{$:0},net:{$:0},org:{$:0},tur:{$:0}},arpa:{$:0,e164:{$:0},"in-addr":{$:0},ip6:{$:0},iris:{$:0},uri:{$:0},urn:{$:0}},as:{$:0,gov:{$:0}},asia:{$:0,cloudns:{$:0}},at:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gv:{$:0},or:{$:0},futurecms:{"*":{$:0}},futurehosting:{$:0},futuremailing:{$:0},ortsinfo:{ex:{"*":{$:0}},kunden:{"*":{$:0}}},biz:{$:0},info:{$:0},priv:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},au:{$:0,com:{$:0,blogspot:{$:0}},net:{$:0},org:{$:0},edu:{$:0,act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},gov:{$:0,qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},asn:{$:0},id:{$:0},info:{$:0},conf:{$:0},oz:{$:0},act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},aw:{$:0,com:{$:0}},ax:{$:0},az:{$:0,com:{$:0},net:{$:0},int:{$:0},gov:{$:0},org:{$:0},edu:{$:0},info:{$:0},pp:{$:0},mil:{$:0},name:{$:0},pro:{$:0},biz:{$:0}},ba:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0}},bb:{$:0,biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},net:{$:0},org:{$:0},store:{$:0},tv:{$:0}},bd:{"*":{$:0}},be:{$:0,ac:{$:0},webhosting:{$:0},blogspot:{$:0},transurl:{"*":{$:0}}},bf:{$:0,gov:{$:0}},bg:{0:{$:0},1:{$:0},2:{$:0},3:{$:0},4:{$:0},5:{$:0},6:{$:0},7:{$:0},8:{$:0},9:{$:0},$:0,a:{$:0},b:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},g:{$:0},h:{$:0},i:{$:0},j:{$:0},k:{$:0},l:{$:0},m:{$:0},n:{$:0},o:{$:0},p:{$:0},q:{$:0},r:{$:0},s:{$:0},t:{$:0},u:{$:0},v:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},blogspot:{$:0},barsy:{$:0}},bh:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0}},bi:{$:0,co:{$:0},com:{$:0},edu:{$:0},or:{$:0},org:{$:0}},biz:{$:0,cloudns:{$:0},dyndns:{$:0},"for-better":{$:0},"for-more":{$:0},"for-some":{$:0},"for-the":{$:0},selfip:{$:0},webhop:{$:0},mmafan:{$:0},myftp:{$:0},"no-ip":{$:0},dscloud:{$:0}},bj:{$:0,asso:{$:0},barreau:{$:0},gouv:{$:0},blogspot:{$:0}},bm:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bn:{"*":{$:0}},bo:{$:0,com:{$:0},edu:{$:0},gob:{$:0},int:{$:0},org:{$:0}
82,net:{$:0},mil:{$:0},tv:{$:0},web:{$:0},academia:{$:0},agro:{$:0},arte:{$:0},blog:{$:0},bolivia:{$:0},ciencia:{$:0},cooperativa:{$:0},democracia:{$:0},deporte:{$:0},ecologia:{$:0},economia:{$:0},empresa:{$:0},indigena:{$:0},industria:{$:0},info:{$:0},medicina:{$:0},movimiento:{$:0},musica:{$:0},natural:{$:0},nombre:{$:0},noticias:{$:0},patria:{$:0},politica:{$:0},profesional:{$:0},plurinacional:{$:0},pueblo:{$:0},revista:{$:0},salud:{$:0},tecnologia:{$:0},tksat:{$:0},transporte:{$:0},wiki:{$:0}},br:{$:0,"9guacu":{$:0},abc:{$:0},adm:{$:0},adv:{$:0},agr:{$:0},aju:{$:0},am:{$:0},anani:{$:0},aparecida:{$:0},arq:{$:0},art:{$:0},ato:{$:0},b:{$:0},belem:{$:0},bhz:{$:0},bio:{$:0},blog:{$:0},bmd:{$:0},boavista:{$:0},bsb:{$:0},campinagrande:{$:0},campinas:{$:0},caxias:{$:0},cim:{$:0},cng:{$:0},cnt:{$:0},com:{$:0,blogspot:{$:0}},contagem:{$:0},coop:{$:0},cri:{$:0},cuiaba:{$:0},curitiba:{$:0},def:{$:0},ecn:{$:0},eco:{$:0},edu:{$:0},emp:{$:0},eng:{$:0},esp:{$:0},etc:{$:0},eti:{$:0},far:{$:0},feira:{$:0},flog:{$:0},floripa:{$:0},fm:{$:0},fnd:{$:0},fortal:{$:0},fot:{$:0},foz:{$:0},fst:{$:0},g12:{$:0},ggf:{$:0},goiania:{$:0},gov:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},gru:{$:0},imb:{$:0},ind:{$:0},inf:{$:0},jab:{$:0},jampa:{$:0},jdf:{$:0},joinville:{$:0},jor:{$:0},jus:{$:0},leg:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},lel:{$:0},londrina:{$:0},macapa:{$:0},maceio:{$:0},manaus:{$:0},maringa:{$:0},mat:{$:0},med:{$:0},mil:{$:0},morena:{$:0},mp:{$:0},mus:{$:0},natal:{$:0},net:{$:0},niteroi:{$:0},nom:{"*":{$:0}},not:{$:0},ntr:{$:0},odo:{$:0},org:{$:0},osasco:{$:0},palmas:{$:0},poa:{$:0},ppg:{$:0},pro:{$:0},psc:{$:0},psi:{$:0},pvh:{$:0},qsl:{$:0},radio:{$:0},rec:{$:0},recife:{$:0},ribeirao:{$:0},rio:{$:0},riobranco:{$:0},riopreto:{$:0},salvador:{$:0},sampa:{$:0},santamaria:{$:0},santoandre:{$:0},saobernardo:{$:0},saogonca:{$:0},sjc:{$:0},slg:{$:0},slz:{$:0},sorocaba:{$:0},srv:{$:0},taxi:{$:0},teo:{$:0},the:{$:0},tmp:{$:0},trd:{$:0},tur:{$:0},tv:{$:0},udi:{$:0},vet:{$:0},vix:{$:0},vlog:{$:0},wiki:{$:0},zlg:{$:0}},bs:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},we:{$:0}},bt:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bv:{$:0},bw:{$:0,co:{$:0},org:{$:0}},by:{$:0,gov:{$:0},mil:{$:0},com:{$:0,blogspot:{$:0}},of:{$:0},nym:{$:0}},bz:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},za:{$:0},nym:{$:0}},ca:{$:0,ab:{$:0},bc:{$:0},mb:{$:0},nb:{$:0},nf:{$:0},nl:{$:0},ns:{$:0},nt:{$:0},nu:{$:0},on:{$:0},pe:{$:0},qc:{$:0},sk:{$:0},yk:{$:0},gc:{$:0},"1password":{$:0},awdev:{"*":{$:0}},co:{$:0},blogspot:{$:0},"no-ip":{$:0}},cat:{$:0},cc:{$:0,cloudns:{$:0},ftpaccess:{$:0},"game-server":{$:0},myphotos:{$:0},scrapping:{$:0},twmail:{$:0},fantasyleague:{$:0}},cd:{$:0,gov:{$:0}},cf:{$:0,blogspot:{$:0}},cg:{$:0},ch:{$:0,square7:{$:0},blogspot:{$:0},gotdns:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},ci:{$:0,org:{$:0},or:{$:0},com:{$:0},co:{$:0},edu:{$:0},ed:{$:0},ac:{$:0},net:{$:0},go:{$:0},asso:{$:0},"xn--aroport-bya":{$:0},int:{$:0},presse:{$:0},md:{$:0},gouv:{$:0}},ck:{"*":{$:0}},cl:{$:0,gov:{$:0},gob:{$:0},co:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},cm:{$:0,co:{$:0},com:{$:0},gov:{$:0},net:{$:0}},cn:{$:0,ac:{$:0},com:{$:0,amazonaws:{compute:{"*":{$:0}},eb:{"cn-north-1":{$:0}},elb:{"*":{$:0}},"cn-north-1":{s3:{$:0}}}},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0},mil:{$:0},"xn--55qx5d":{$:0},"xn--io0a7i":{$:0},"xn--od0alg":{$:0},ah:{$:0},bj:{$:0},cq:{$:0},fj:{$:0},gd:{$:0},gs:{$:0},gz:{$:0},gx:{$:0},ha:{$:0},hb:{$:0},he:{$:0},hi:{$:0},hl:{$:0},hn:{$:0},jl:{$:0},js:{$:0},jx:{$:0},ln:{$:0},nm:{$:0},nx:{$:0},qh:{$:0},sc:{$:0},sd:{$:0},sh:{$:0},sn:{$:0},sx:{$:0},tj:{$:0},xj:{$:0},xz:{$:0},yn:{$:0},zj:{$:0},hk:{$:0},mo:{$:0},tw:{$:0}},co:{$:0,arts:{$:0},com:{$:0,blogspot:{$:0}},edu:{$:0},firm:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 10,163 bytes, line 82
82,net:{$:0},nom:{$:0},org:{$:0},rec:{$:0},web:{$:0},nodum:{$:0}},com:{$:0,"1password":{$:0},amazonaws:{compute:{"*":{$:0}},"compute-1":{"*":{$:0}},"us-east-1":{$:0,dualstack:{s3:{$:0}}},elb:{"*":{$:0}},s3:{$:0},"s3-ap-northeast-1":{$:0},"s3-ap-northeast-2":{$:0},"s3-ap-south-1":{$:0},"s3-ap-southeast-1":{$:0},"s3-ap-southeast-2":{$:0},"s3-ca-central-1":{$:0},"s3-eu-central-1":{$:0},"s3-eu-west-1":{$:0},"s3-eu-west-2":{$:0},"s3-eu-west-3":{$:0},"s3-external-1":{$:0},"s3-fips-us-gov-west-1":{$:0},"s3-sa-east-1":{$:0},"s3-us-gov-west-1":{$:0},"s3-us-east-2":{$:0},"s3-us-west-1":{$:0},"s3-us-west-2":{$:0},"ap-northeast-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-south-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ca-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-3":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"us-east-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-northeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-2":{dualstack:{s3:{$:0}}},"eu-west-1":{dualstack:{s3:{$:0}}},"sa-east-1":{dualstack:{s3:{$:0}}},"s3-website-us-east-1":{$:0},"s3-website-us-west-1":{$:0},"s3-website-us-west-2":{$:0},"s3-website-ap-northeast-1":{$:0},"s3-website-ap-southeast-1":{$:0},"s3-website-ap-southeast-2":{$:0},"s3-website-eu-west-1":{$:0},"s3-website-sa-east-1":{$:0}},elasticbeanstalk:{$:0,"ap-northeast-1":{$:0},"ap-northeast-2":{$:0},"ap-south-1":{$:0},"ap-southeast-1":{$:0},"ap-southeast-2":{$:0},"ca-central-1":{$:0},"eu-central-1":{$:0},"eu-west-1":{$:0},"eu-west-2":{$:0},"eu-west-3":{$:0},"sa-east-1":{$:0},"us-east-1":{$:0},"us-east-2":{$:0},"us-gov-west-1":{$:0},"us-west-1":{$:0},"us-west-2":{$:0}},"on-aptible":{$:0},myasustor:{$:0},betainabox:{$:0},bplaced:{$:0},ar:{$:0},br:{$:0},cn:{$:0},de:{$:0},eu:{$:0},gb:{$:0},hu:{$:0},jpn:{$:0},kr:{$:0},mex:{$:0},no:{$:0},qc:{$:0},ru:{$:0},sa:{$:0},se:{$:0},uk:{$:0},us:{$:0},uy:{$:0},za:{$:0},africa:{$:0},gr:{$:0},co:{$:0},xenapponazure:{$:0},jdevcloud:{$:0},wpdevcloud:{$:0},cloudcontrolled:{$:0},cloudcontrolapp:{$:0},drayddns:{$:0},dreamhosters:{$:0},mydrobo:{$:0},"dyndns-at-home":{$:0},"dyndns-at-work":{$:0},"dyndns-blog":{$:0},"dyndns-free":{$:0},"dyndns-home":{$:0},"dyndns-ip":{$:0},"dyndns-mail":{$:0},"dyndns-office":{$:0},"dyndns-pics":{$:0},"dyndns-remote":{$:0},"dyndns-server":{$:0},"dyndns-web":{$:0},"dyndns-wiki":{$:0},"dyndns-work":{$:0},blogdns:{$:0},cechire:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},"dyn-o-saur":{$:0},dynalias:{$:0},"est-a-la-maison":{$:0},"est-a-la-masion":{$:0},"est-le-patron":{$:0},"est-mon-blogueur":{$:0},"from-ak":{$:0},"from-al":{$:0},"from-ar":{$:0},"from-ca":{$:0},"from-ct":{$:0},"from-dc":{$:0},"from-de":{$:0},"from-fl":{$:0},"from-ga":{$:0},"from-hi":{$:0},"from-ia":{$:0},"from-id":{$:0},"from-il":{$:0},"from-in":{$:0},"from-ks":{$:0},"from-ky":{$:0},"from-ma":{$:0},"from-md":{$:0},"from-mi":{$:0},"from-mn":{$:0},"from-mo":{$:0},"from-ms":{$:0},"from-mt":{$:0},"from-nc":{$:0},"from-nd":{$:0},"from-ne":{$:0},"from-nh":{$:0},"from-nj":{$:0},"from-nm":{$:0},"from-nv":{$:0},"from-oh":{$:0},"from-ok":{$:0},"from-or":{$:0},"from-pa":{$:0},"from-pr":{$:0},"from-ri":{$:0},"from-sc":{$:0},"from-sd":{$:0},"from-tn":{$:0},"from-tx":{$:0},"from-ut":{$:0},"from-va":{$:0},"from-vt":{$:0},"from-wa":{$:0},"from-wi":{$:0},"from-wv":{$:0},"from-wy":{$:0},getmyip:{$:0},gotdns:{$:0},"hobby-site":{$:0},homelinux:{$:0},homeunix:{$:0},iamallama:{$:0},"is-a-anarchist":{$:0},"is-a-blogger":{$:0},"is-a-bookkeeper":{$:0},"is-a-bulls-fan":{$:0},"is-a-caterer":{$:0},"is-a-chef":{$:0},"is-a-conservative":{$:0},"is-a-cpa":{$:0},"is-a-cubicle-slave":{$:0},"is-a-democrat":{$:0},"is-a-designer":{$:0},"is-a-doctor":{$:0},"is-a-financialadvisor":{$:0},"is-a-geek":{$:0},"is-a-green":{$:0},"is-a-guru":{$:0},"is-a-hard-worker":{$:0},"is-a-hunter":{$:0},"is-a-landscaper":{$:0},"is-a-lawyer":{$:0},"is-a-liberal":{$:0},"is-a-libertarian":{$:0},"is-a-llama":{$:0},"is-a-musician":{$:0},"is-a-nascarfan":{$:0},"is-a-nurse":{$:0},"is-a-painter":{$:0},"is-a-personaltrainer":{$:0},"is-a-photographer":{$:0},"is-a-player":{$:0},"is-a-republican":{$:0},"is-a-rockstar":{$:0},"is-a-socialist":{$:0},"is-a-student":{$:0},"is-a-teacher":{$:0},"is-a-techie":{$:0},"is-a-therapist":{$:0},"is-an-accountant":{$:0},"is-an-actor":{$:0},"is-an-actress":{$:0},"is-an-anarchist":{$:0},"is-an-artist":{$:0},"is-an-engineer":{$:0},"is-an-entertainer":{$:0},"is-certified":{$:0},"is-gone":{$:0},"is-into-anime":{$:0},"is-into-cars":{$:0},"is-into-cartoons":{$:0},"is-into-games":{$:0},"is-leet":{$:0},"is-not-certified":{$:0},"is-slick":{$:0},"is-uberleet":{$:0},"is-with-theband":{$:0},"isa-geek":{$:0},"isa-hockeynut":{$:0},issmarterthanyou:{$:0},"likes-pie":{$:0},likescandy:{$:0},"neat-url":{$:0},"saves-the-whales":{$:0},selfip:{$:0},"sells-for-less":{$:0},"sells-for-u":{$:0},servebbs:{$:0},"simple-url":{$:0},"space-to-rent":{$:0},"teaches-yoga":{$:0},writesthisblog:{$:0},ddnsfree:{$:0},ddnsgeek:{$:0},giize:{$:0},gleeze:{$:0},kozow:{$:0},loseyourip:{$:0},ooguy:{$:0},theworkpc:{$:0},mytuleap:{$:0},evennode:{"eu-1":{$:0},"eu-2":{$:0},"eu-3":{$:0},"eu-4":{$:0},"us-1":{$:0},"us-2":{$:0},"us-3":{$:0},"us-4":{$:0}},fbsbx:{apps:{$:0}},firebaseapp:{$:0},flynnhub:{$:0},"freebox-os":{$:0},freeboxos:{$:0},githubusercontent:{$:0},"0emm":{"*":{$:0}},appspot:{$:0},blogspot:{$:0},codespot:{$:0},googleapis:{$:0},googlecode:{$:0},pagespeedmobilizer:{$:0},publishproxy:{$:0},withgoogle:{$:0},withyoutube:{$:0},herokuapp:{$:0},herokussl:{$:0},pixolino:{$:0},joyent:{cns:{"*":{$:0}}},barsyonline:{$:0},meteorapp:{$:0,eu:{$:0}},bitballoon:{$:0},netlify:{$:0},"4u":{$:0},nfshost:{$:0},blogsyte:{$:0},ciscofreak:{$:0},damnserver:{$:0},ditchyourip:{$:0},dnsiskinky:{$:0},dynns:{$:0},geekgalaxy:{$:0},"health-carereform":{$:0},homesecuritymac:{$:0},homesecuritypc:{$:0},myactivedirectory:{$:0},mysecuritycamera:{$:0},"net-freaks":{$:0},onthewifi:{$:0},point2this:{$:0},quicksytes:{$:0},securitytactics:{$:0},serveexchange:{$:0},servehumour:{$:0},servep2p:{$:0},servesarcasm:{$:0},stufftoread:{$:0},unusualperson:{$:0},workisboring:{$:0},"3utilities":{$:0},ddnsking:{$:0},myvnc:{$:0},servebeer:{$:0},servecounterstrike:{$:0},serveftp:{$:0},servegame:{$:0},servehalflife:{$:0},servehttp:{$:0},serveirc:{$:0},servemp3:{$:0},servepics:{$:0},servequake:{$:0},operaunite:{$:0},outsystemscloud:{$:0},ownprovider:{$:0},pgfog:{$:0},pagefrontapp:{$:0},gotpantheon:{$:0},prgmr:{xen:{$:0}},qa2:{$:0},"dev-myqnapcloud":{$:0},"alpha-myqnapcloud":{$:0},myqnapcloud:{$:0},quipelements:{"*":{$:0}},rackmaze:{$:0},rhcloud:{$:0},logoip:{$:0},scrysec:{$:0},"firewall-gateway":{$:0},myshopblocks:{$:0},"1kapp":{$:0},appchizi:{$:0},applinzi:{$:0},sinaapp:{$:0},vipsinaapp:{$:0},"bounty-full":{$:0,alpha:{$:0},beta:{$:0}},"temp-dns":{$:0},dsmynas:{$:0},familyds:{$:0},bloxcms:{$:0},"townnews-staging":{$:0},hk:{$:0},remotewd:{$:0},yolasite:{$:0}},coop:{$:0},cr:{$:0,ac:{$:0},co:{$:0},ed:{$:0},fi:{$:0},go:{$:0},or:{$:0},sa:{$:0}},cu:{$:0,com:{$:0},edu:{$:0},org:{$:0},net:{$:0},gov:{$:0},inf:{$:0}},cv:{$:0,blogspot:{$:0}},cw:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},cx:{$:0,gov:{$:0},ath:{$:0},info:{$:0}},cy:{$:0,ac:{$:0},biz:{$:0},com:{$:0,blogspot:{$:0}},ekloges:{$:0},gov:{$:0},ltd:{$:0},name:{$:0},net:{$:0},org:{$:0},parliament:{$:0},press:{$:0},pro:{$:0},tm:{$:0}},cz:{$:0,co:{$:0},realm:{$:0},e4:{$:0},blogspot:{$:0},metacentrum:{cloud:{$:0},custom:{$:0}}},de:{$:0,bplaced:{$:0},square7:{$:0},com:{$:0},cosidns:{dyn:{$:0}},"dynamisches-dns":{$:0},dnsupdater:{$:0},"internet-dns":{$:0},"l-o-g-i-n":{$:0},dnshome:{$:0},fuettertdasnetz:{$:0},isteingeek:{$:0},istmein:{$:0},lebtimnetz:{$:0},leitungsen:{$:0},traeumtgerade:{$:0},ddnss:{$:0,dyn:{$:0},dyndns:{$:0}},dyndns1:{$:0},"dyn-ip24":{$:0},"home-webserver":{$:0,dyn:{$:0}},"myhome-server":{$:0},goip:{$:0},blogspot:{$:0},keymachine:{$:0},"git-repos":{$:0},"lcube-server":{$:0},"svn-repos":{$:0},barsy:{$:0},logoip:{$:0},"firewall-gateway":{$:0},"my-gateway":{$:0},"my-router":{$:0},spdns:{$:0},"taifun-dns":{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0},"dd-dns":{$:0},"dray-dns":{$:0},draydns:{$:0},"dyn-vpn":{$:0},dynvpn:{$:0},"mein-vigor":{$:0},"my-vigor":{$:0},"my-wan":{$:0},"syno-ds":{$:0},"synology-diskstation":{$:0},"synology-ds":{$:0}},dj:{$:0},dk:{$:0,biz:{$:0},co:{$:0},firm:{$:0},reg:{$:0},store:{$:0},blogspot:{$:0}},dm:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},do:{$:0,art:{$:0},com:{$:0},edu:{$:0},gob:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},sld:{$:0},web:{$:0}},dz:{$:0,com:{$:0},org:{$:0},net:{$:0},gov:{$:0},edu:{$:0},asso:{$:0},pol:{$:0},art:{$:0}},ec:{$:0,com:{$:0},info:{$:0},net:{$:0},fin:{$:0},k12:{$:0},med:{$:0},pro:{$:0},org:{$:0},edu:{$:0},gov:{$:0},gob:{$:0},mil:{$:0}},edu:{$:0},ee:{$:0,edu:{$:0},gov:{$:0},riik:{$:0},lib:{$:0},med:{$:0},com:{$:0,blogspot:{$:0}},pri:{$:0},aip:{$:0},org:{$:0},fie:{$:0}},eg:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},eun:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sci:{$:0}},er:{"*":{$:0}},es:{$:0,com:{$:0,blogspot:{$:0}},nom:{$:0},org:{$:0},gob:{$:0},edu:{$:0}},et:{$:0,com:{$:0},gov:{$:0},org:{$:0},edu:{$:0},biz:{$:0},name:{$:0},info:{$:0},net:{$:0}},eu:{$:0,"1password":{$:0},mycd:{$:0},cloudns:{$:0},barsy:{$:0},wellbeingzone:{$:0},spdns:{$:0},transurl:{"*":{$:0}},diskstation:{$:0}},fi:{$:0,aland:{$:0},dy:{$:0},blogspot:{$:0},iki:{$:0}},fj:{"*":{$:0}},fk:{"*":{$:0}},fm:{$:0},fo:{$:0},fr:{$:0,com:{$:0},asso:{$:0},nom:{$:0},prd:{$:0},presse:{$:0},tm:{$:0},aeroport:{$:0},assedic:{$:0},avocat:{$:0},avoues:{$:0},cci:{$:0},chambagri:{$:0},"chirurgiens-dentistes":{$:0},"experts-comptables":{$:0},"geometre-expert":{$:0},gouv:{$:0},greta:{$:0},"huissier-justice":{$:0},medecin:{$:0},notaires:{$:0},pharmacien:{$:0},port:{$:0},veterinaire:{$:0},"fbx-os":{$:0},fbxos:{$:0},"freebox-os":{$:0},freeboxos:{$:0},blogspot:{$:0},"on-web":{$:0},"chirurgiens-dentistes-en-france":{$:0}},ga:{$:0},gb:{$:0},gd:{$:0,nom:{$:0}},ge:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}
82,net:{$:0},pvt:{$:0}},gf:{$:0},gg:{$:0,co:{$:0},net:{$:0},org:{$:0},cya:{$:0}},gh:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}},gi:{$:0,com:{$:0},ltd:{$:0},gov:{$:0},mod:{$:0},edu:{$:0},org:{$:0}},gl:{$:0,co:{$:0},com:{$:0},edu:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gm:{$:0},gn:{$:0,ac:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},gov:{$:0},gp:{$:0,com:{$:0},net:{$:0},mobi:{$:0},edu:{$:0},org:{$:0},asso:{$:0}},gq:{$:0},gr:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0},blogspot:{$:0},nym:{$:0}},gs:{$:0},gt:{$:0,com:{$:0},edu:{$:0},gob:{$:0},ind:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gu:{"*":{$:0}},gw:{$:0},gy:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},hk:{$:0,com:{$:0},edu:{$:0},gov:{$:0},idv:{$:0},net:{$:0},org:{$:0},"xn--55qx5d":{$:0},"xn--wcvs22d":{$:0},"xn--lcvr32d":{$:0},"xn--mxtq1m":{$:0},"xn--gmqw5a":{$:0},"xn--ciqpn":{$:0},"xn--gmq050i":{$:0},"xn--zf0avx":{$:0},"xn--io0a7i":{$:0},"xn--mk0axi":{$:0},"xn--od0alg":{$:0},"xn--od0aq3b":{$:0},"xn--tn0ag":{$:0},"xn--uc0atv":{$:0},"xn--uc0ay4a":{$:0},blogspot:{$:0},ltd:{$:0},inc:{$:0}},hm:{$:0},hn:{$:0,com:{$:0},edu:{$:0},org:{$:0}
vendor: 2,175 bytes, line 82
82,net:{$:0},mil:{$:0},gob:{$:0},nom:{$:0}},hr:{$:0,iz:{$:0},from:{$:0},name:{$:0},com:{$:0},blogspot:{$:0}},ht:{$:0,com:{$:0},shop:{$:0},firm:{$:0},info:{$:0},adult:{$:0},net:{$:0},pro:{$:0},org:{$:0},med:{$:0},art:{$:0},coop:{$:0},pol:{$:0},asso:{$:0},edu:{$:0},rel:{$:0},gouv:{$:0},perso:{$:0}},hu:{2000:{$:0},$:0,co:{$:0},info:{$:0},org:{$:0},priv:{$:0},sport:{$:0},tm:{$:0},agrar:{$:0},bolt:{$:0},casino:{$:0},city:{$:0},erotica:{$:0},erotika:{$:0},film:{$:0},forum:{$:0},games:{$:0},hotel:{$:0},ingatlan:{$:0},jogasz:{$:0},konyvelo:{$:0},lakas:{$:0},media:{$:0},news:{$:0},reklam:{$:0},sex:{$:0},shop:{$:0},suli:{$:0},szex:{$:0},tozsde:{$:0},utazas:{$:0},video:{$:0},blogspot:{$:0}},id:{$:0,ac:{$:0},biz:{$:0},co:{$:0,blogspot:{$:0}},desa:{$:0},go:{$:0},mil:{$:0},my:{$:0},net:{$:0},or:{$:0},sch:{$:0},web:{$:0}},ie:{$:0,gov:{$:0},blogspot:{$:0}},il:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gov:{$:0},idf:{$:0},k12:{$:0},muni:{$:0},net:{$:0},org:{$:0}},im:{$:0,ac:{$:0},co:{$:0,ltd:{$:0},plc:{$:0}},com:{$:0},net:{$:0},org:{$:0},tt:{$:0},tv:{$:0},ro:{$:0},nom:{$:0}},in:{$:0,co:{$:0},firm:{$:0},net:{$:0},org:{$:0},gen:{$:0},ind:{$:0},nic:{$:0},ac:{$:0},edu:{$:0},res:{$:0},gov:{$:0},mil:{$:0},cloudns:{$:0},blogspot:{$:0},barsy:{$:0}},info:{$:0,cloudns:{$:0},"dynamic-dns":{$:0},dyndns:{$:0},"barrel-of-knowledge":{$:0},"barrell-of-knowledge":{$:0},"for-our":{$:0},"groks-the":{$:0},"groks-this":{$:0},"here-for-more":{$:0},knowsitall:{$:0},selfip:{$:0},webhop:{$:0},nsupdate:{$:0},dvrcam:{$:0},ilovecollege:{$:0},"no-ip":{$:0},"v-info":{$:0}},int:{$:0,eu:{$:0}},io:{$:0,com:{$:0},backplaneapp:{$:0},boxfuse:{$:0},browsersafetymark:{$:0},dedyn:{$:0},drud:{$:0},definima:{$:0},enonic:{$:0,customer:{$:0}},github:{$:0},gitlab:{$:0},"hasura-app":{$:0},ngrok:{$:0},nodeart:{stage:{$:0}},nodum:{$:0},nid:{$:0},pantheonsite:{$:0},protonet:{$:0},vaporcloud:{$:0},resindevice:{$:0},resinstaging:{devices:{$:0}},hzc:{$:0},sandcats:{$:0},s5y:{"*":{$:0}},shiftedit:{$:0},lair:{apps:{$:0}},stolos:{"*":{$:0}},spacekit:{$:0},thingdust:{dev:{cust:{$:0}},disrec:{cust:{$:0}},prod:{cust:{$:0}},testing:{cust:{$:0}}},wedeploy:{$:0}},iq:{$:0,gov:{$:0},edu:{$:0},mil:{$:0},com:{$:0},org:{$:0}
82,net:{$:0}},ir:{$:0,ac:{$:0},co:{$:0},gov:{$:0},id:{$:0},net:{$:0},org:{$:0},sch:{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0}},is:{$:0,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},int:{$:0},cupcake:{$:0},blogspot:{$:0}},it:{$:0,gov:{$:0},edu:{$:0},abr:{$:0},abruzzo:{$:0},"aosta-valley":{$:0},aostavalley:{$:0},bas:{$:0},basilicata:{$:0},cal:{$:0},calabria:{$:0},cam:{$:0},campania:{$:0},"emilia-romagna":{$:0},emiliaromagna:{$:0},emr:{$:0},"friuli-v-giulia":{$:0},"friuli-ve-giulia":{$:0},"friuli-vegiulia":{$:0},"friuli-venezia-giulia":{$:0},"friuli-veneziagiulia":{$:0},"friuli-vgiulia":{$:0},"friuliv-giulia":{$:0},"friulive-giulia":{$:0},friulivegiulia:{$:0},"friulivenezia-giulia":{$:0},friuliveneziagiulia:{$:0},friulivgiulia:{$:0},fvg:{$:0},laz:{$:0},lazio:{$:0},lig:{$:0},liguria:{$:0},lom:{$:0},lombardia:{$:0},lombardy:{$:0},lucania:{$:0},mar:{$:0},marche:{$:0},mol:{$:0},molise:{$:0},piedmont:{$:0},piemonte:{$:0},pmn:{$:0},pug:{$:0},puglia:{$:0},sar:{$:0},sardegna:{$:0},sardinia:{$:0},sic:{$:0},sicilia:{$:0},sicily:{$:0},taa:{$:0},tos:{$:0},toscana:{$:0},"trentino-a-adige":{$:0},"trentino-aadige":{$:0},"trentino-alto-adige":{$:0},"trentino-altoadige":{$:0},"trentino-s-tirol":{$:0},"trentino-stirol":{$:0},"trentino-sud-tirol":{$:0},"trentino-sudtirol":{$:0},"trentino-sued-tirol":{$:0},"trentino-suedtirol":{$:0},"trentinoa-adige":{$:0},trentinoaadige:{$:0},"trentinoalto-adige":{$:0},trentinoaltoadige:{$:0},"trentinos-tirol":{$:0},trentinostirol:{$:0},"trentinosud-tirol":{$:0},trentinosudtirol:{$:0},"trentinosued-tirol":{$:0},trentinosuedtirol:{$:0},tuscany:{$:0},umb:{$:0},umbria:{$:0},"val-d-aosta":{$:0},"val-daosta":{$:0},"vald-aosta":{$:0},valdaosta:{$:0},"valle-aosta":{$:0},"valle-d-aosta":{$:0},"valle-daosta":{$:0},valleaosta:{$:0},"valled-aosta":{$:0},valledaosta:{$:0},"vallee-aoste":{$:0},valleeaoste:{$:0},vao:{$:0},vda:{$:0},ven:{$:0},veneto:{$:0},ag:{$:0},agrigento:{$:0},al:{$:0},alessandria:{$:0},"alto-adige":{$:0},altoadige:{$:0},an:{$:0},ancona:{$:0},"andria-barletta-trani":{$:0},"andria-trani-barletta":{$:0},andriabarlettatrani:{$:0},andriatranibarletta:{$:0},ao:{$:0},aosta:{$:0},aoste:{$:0},ap:{$:0},aq:{$:0},aquila:{$:0},ar:{$:0},arezzo:{$:0},"ascoli-piceno":{$:0},ascolipiceno:{$:0},asti:{$:0},at:{$:0},av:{$:0},avellino:{$:0},ba:{$:0},balsan:{$:0},bari:{$:0},"barletta-trani-andria":{$:0},barlettatraniandria:{$:0},belluno:{$:0},benevento:{$:0},bergamo:{$:0},bg:{$:0},bi:{$:0},biella:{$:0},bl:{$:0},bn:{$:0},bo:{$:0},bologna:{$:0},bolzano:{$:0},bozen:{$:0},br:{$:0},brescia:{$:0},brindisi:{$:0},bs:{$:0},bt:{$:0},bz:{$:0},ca:{$:0},cagliari:{$:0},caltanissetta:{$:0},"campidano-medio":{$:0},campidanomedio:{$:0},campobasso:{$:0},"carbonia-iglesias":{$:0},carboniaiglesias:{$:0},"carrara-massa":{$:0},carraramassa:{$:0},caserta:{$:0},catania:{$:0},catanzaro:{$:0},cb:{$:0},ce:{$:0},"cesena-forli":{$:0},cesenaforli:{$:0},ch:{$:0},chieti:{$:0},ci:{$:0},cl:{$:0},cn:{$:0},co:{$:0},como:{$:0},cosenza:{$:0},cr:{$:0},cremona:{$:0},crotone:{$:0},cs:{$:0},ct:{$:0},cuneo:{$:0},cz:{$:0},"dell-ogliastra":{$:0},dellogliastra:{$:0},en:{$:0},enna:{$:0},fc:{$:0},fe:{$:0},fermo:{$:0},ferrara:{$:0},fg:{$:0},fi:{$:0},firenze:{$:0},florence:{$:0},fm:{$:0},foggia:{$:0},"forli-cesena":{$:0},forlicesena:{$:0},fr:{$:0},frosinone:{$:0},ge:{$:0},genoa:{$:0},genova:{$:0},go:{$:0},gorizia:{$:0},gr:{$:0},grosseto:{$:0},"iglesias-carbonia":{$:0},iglesiascarbonia:{$:0},im:{$:0},imperia:{$:0},is:{$:0},isernia:{$:0},kr:{$:0},"la-spezia":{$:0},laquila:{$:0},laspezia:{$:0},latina:{$:0},lc:{$:0},le:{$:0},lecce:{$:0},lecco:{$:0},li:{$:0},livorno:{$:0},lo:{$:0},lodi:{$:0},lt:{$:0},lu:{$:0},lucca:{$:0},macerata:{$:0},mantova:{$:0},"massa-carrara":{$:0},massacarrara:{$:0},matera:{$:0},mb:{$:0},mc:{$:0},me:{$:0},"medio-campidano":{$:0},mediocampidano:{$:0},messina:{$:0},mi:{$:0},milan:{$:0},milano:{$:0},mn:{$:0},mo:{$:0},modena:{$:0},"monza-brianza":{$:0},"monza-e-della-brianza":{$:0},monza:{$:0},monzabrianza:{$:0},monzaebrianza:{$:0},monzaedellabrianza:{$:0},ms:{$:0},mt:{$:0},na:{$:0},naples:{$:0},napoli:{$:0},no:{$:0},novara:{$:0},nu:{$:0},nuoro:{$:0},og:{$:0},ogliastra:{$:0},"olbia-tempio":{$:0},olbiatempio:{$:0},or:{$:0},oristano:{$:0},ot:{$:0},pa:{$:0},padova:{$:0},padua:{$:0},palermo:{$:0},parma:{$:0},pavia:{$:0},pc:{$:0},pd:{$:0},pe:{$:0},perugia:{$:0},"pesaro-urbino":{$:0},pesarourbino:{$:0},pescara:{$:0},pg:{$:0},pi:{$:0},piacenza:{$:0},pisa:{$:0},pistoia:{$:0}
82,pn:{$:0},po:{$:0},pordenone:{$:0},potenza:{$:0},pr:{$:0},prato:{$:0},pt:{$:0},pu:{$:0},pv:{$:0},pz:{$:0},ra:{$:0},ragusa:{$:0},ravenna:{$:0},rc:{$:0},re:{$:0},"reggio-calabria":{$:0},"reggio-emilia":{$:0},reggiocalabria:{$:0},reggioemilia:{$:0},rg:{$:0},ri:{$:0},rieti:{$:0},rimini:{$:0},rm:{$:0},rn:{$:0},ro:{$:0},roma:{$:0},rome:{$:0},rovigo:{$:0},sa:{$:0},salerno:{$:0},sassari:{$:0},savona:{$:0},si:{$:0},siena:{$:0},siracusa:{$:0},so:{$:0},sondrio:{$:0},sp:{$:0},sr:{$:0},ss:{$:0},suedtirol:{$:0},sv:{$:0},ta:{$:0},taranto:{$:0},te:{$:0},"tempio-olbia":{$:0},tempioolbia:{$:0},teramo:{$:0},terni:{$:0},tn:{$:0},to:{$:0},torino:{$:0},tp:{$:0},tr:{$:0},"trani-andria-barletta":{$:0},"trani-barletta-andria":{$:0},traniandriabarletta:{$:0},tranibarlettaandria:{$:0},trapani:{$:0},trentino:{$:0},trento:{$:0},treviso:{$:0},trieste:{$:0},ts:{$:0},turin:{$:0},tv:{$:0},ud:{$:0},udine:{$:0},"urbino-pesaro":{$:0},urbinopesaro:{$:0},va:{$:0},varese:{$:0},vb:{$:0},vc:{$:0},ve:{$:0},venezia:{$:0},venice:{$:0},verbania:{$:0},vercelli:{$:0},verona:{$:0},vi:{$:0},"vibo-valentia":{$:0},vibovalentia:{$:0},vicenza:{$:0},viterbo:{$:0},vr:{$:0},vs:{$:0},vt:{$:0},vv:{$:0},blogspot:{$:0}},je:{$:0,co:{$:0},net:{$:0},org:{$:0}},jm:{"*":{$:0}},jo:{$:0,com:{$:0},org:{$:0}
82,net:{$:0},edu:{$:0},sch:{$:0},gov:{$:0},mil:{$:0},name:{$:0}},jobs:{$:0},jp:{$:0,ac:{$:0},ad:{$:0},co:{$:0},ed:{$:0},go:{$:0},gr:{$:0},lg:{$:0},ne:{$:0
vendor: 23,752 bytes, line 82
82},or:{$:0},aichi:{$:0,aisai:{$:0},ama:{$:0},anjo:{$:0},asuke:{$:0},chiryu:{$:0},chita:{$:0},fuso:{$:0},gamagori:{$:0},handa:{$:0},hazu:{$:0},hekinan:{$:0},higashiura:{$:0},ichinomiya:{$:0},inazawa:{$:0},inuyama:{$:0},isshiki:{$:0},iwakura:{$:0},kanie:{$:0},kariya:{$:0},kasugai:{$:0},kira:{$:0},kiyosu:{$:0},komaki:{$:0},konan:{$:0},kota:{$:0},mihama:{$:0},miyoshi:{$:0},nishio:{$:0},nisshin:{$:0},obu:{$:0},oguchi:{$:0},oharu:{$:0},okazaki:{$:0},owariasahi:{$:0},seto:{$:0},shikatsu:{$:0},shinshiro:{$:0},shitara:{$:0},tahara:{$:0},takahama:{$:0},tobishima:{$:0},toei:{$:0},togo:{$:0},tokai:{$:0},tokoname:{$:0},toyoake:{$:0},toyohashi:{$:0},toyokawa:{$:0},toyone:{$:0},toyota:{$:0},tsushima:{$:0},yatomi:{$:0}},akita:{$:0,akita:{$:0},daisen:{$:0},fujisato:{$:0},gojome:{$:0},hachirogata:{$:0},happou:{$:0},higashinaruse:{$:0},honjo:{$:0},honjyo:{$:0},ikawa:{$:0},kamikoani:{$:0},kamioka:{$:0},katagami:{$:0},kazuno:{$:0},kitaakita:{$:0},kosaka:{$:0},kyowa:{$:0},misato:{$:0},mitane:{$:0},moriyoshi:{$:0},nikaho:{$:0},noshiro:{$:0},odate:{$:0},oga:{$:0},ogata:{$:0},semboku:{$:0},yokote:{$:0},yurihonjo:{$:0}},aomori:{$:0,aomori:{$:0},gonohe:{$:0},hachinohe:{$:0},hashikami:{$:0},hiranai:{$:0},hirosaki:{$:0},itayanagi:{$:0},kuroishi:{$:0},misawa:{$:0},mutsu:{$:0},nakadomari:{$:0},noheji:{$:0},oirase:{$:0},owani:{$:0},rokunohe:{$:0},sannohe:{$:0},shichinohe:{$:0},shingo:{$:0},takko:{$:0},towada:{$:0},tsugaru:{$:0},tsuruta:{$:0}},chiba:{$:0,abiko:{$:0},asahi:{$:0},chonan:{$:0},chosei:{$:0},choshi:{$:0},chuo:{$:0},funabashi:{$:0},futtsu:{$:0},hanamigawa:{$:0},ichihara:{$:0},ichikawa:{$:0},ichinomiya:{$:0},inzai:{$:0},isumi:{$:0},kamagaya:{$:0},kamogawa:{$:0},kashiwa:{$:0},katori:{$:0},katsuura:{$:0},kimitsu:{$:0},kisarazu:{$:0},kozaki:{$:0},kujukuri:{$:0},kyonan:{$:0},matsudo:{$:0},midori:{$:0},mihama:{$:0},minamiboso:{$:0},mobara:{$:0},mutsuzawa:{$:0},nagara:{$:0},nagareyama:{$:0},narashino:{$:0},narita:{$:0},noda:{$:0},oamishirasato:{$:0},omigawa:{$:0},onjuku:{$:0},otaki:{$:0},sakae:{$:0},sakura:{$:0},shimofusa:{$:0},shirako:{$:0},shiroi:{$:0},shisui:{$:0},sodegaura:{$:0},sosa:{$:0},tako:{$:0},tateyama:{$:0},togane:{$:0},tohnosho:{$:0},tomisato:{$:0},urayasu:{$:0},yachimata:{$:0},yachiyo:{$:0},yokaichiba:{$:0},yokoshibahikari:{$:0},yotsukaido:{$:0}},ehime:{$:0,ainan:{$:0},honai:{$:0},ikata:{$:0},imabari:{$:0},iyo:{$:0},kamijima:{$:0},kihoku:{$:0},kumakogen:{$:0},masaki:{$:0},matsuno:{$:0},matsuyama:{$:0},namikata:{$:0},niihama:{$:0},ozu:{$:0},saijo:{$:0},seiyo:{$:0},shikokuchuo:{$:0},tobe:{$:0},toon:{$:0},uchiko:{$:0},uwajima:{$:0},yawatahama:{$:0}},fukui:{$:0,echizen:{$:0},eiheiji:{$:0},fukui:{$:0},ikeda:{$:0},katsuyama:{$:0},mihama:{$:0},minamiechizen:{$:0},obama:{$:0},ohi:{$:0},ono:{$:0},sabae:{$:0},sakai:{$:0},takahama:{$:0},tsuruga:{$:0},wakasa:{$:0}},fukuoka:{$:0,ashiya:{$:0},buzen:{$:0},chikugo:{$:0},chikuho:{$:0},chikujo:{$:0},chikushino:{$:0},chikuzen:{$:0},chuo:{$:0},dazaifu:{$:0},fukuchi:{$:0},hakata:{$:0},higashi:{$:0},hirokawa:{$:0},hisayama:{$:0},iizuka:{$:0},inatsuki:{$:0},kaho:{$:0},kasuga:{$:0},kasuya:{$:0},kawara:{$:0},keisen:{$:0},koga:{$:0},kurate:{$:0},kurogi:{$:0},kurume:{$:0},minami:{$:0},miyako:{$:0},miyama:{$:0},miyawaka:{$:0},mizumaki:{$:0},munakata:{$:0},nakagawa:{$:0},nakama:{$:0},nishi:{$:0},nogata:{$:0},ogori:{$:0},okagaki:{$:0},okawa:{$:0},oki:{$:0},omuta:{$:0},onga:{$:0},onojo:{$:0},oto:{$:0},saigawa:{$:0},sasaguri:{$:0},shingu:{$:0},shinyoshitomi:{$:0},shonai:{$:0},soeda:{$:0},sue:{$:0},tachiarai:{$:0},tagawa:{$:0},takata:{$:0},toho:{$:0},toyotsu:{$:0},tsuiki:{$:0},ukiha:{$:0},umi:{$:0},usui:{$:0},yamada:{$:0},yame:{$:0},yanagawa:{$:0},yukuhashi:{$:0}},fukushima:{$:0,aizubange:{$:0},aizumisato:{$:0},aizuwakamatsu:{$:0},asakawa:{$:0},bandai:{$:0},date:{$:0},fukushima:{$:0},furudono:{$:0},futaba:{$:0},hanawa:{$:0},higashi:{$:0},hirata:{$:0},hirono:{$:0},iitate:{$:0},inawashiro:{$:0},ishikawa:{$:0},iwaki:{$:0},izumizaki:{$:0},kagamiishi:{$:0},kaneyama:{$:0},kawamata:{$:0},kitakata:{$:0},kitashiobara:{$:0},koori:{$:0},koriyama:{$:0},kunimi:{$:0},miharu:{$:0},mishima:{$:0},namie:{$:0},nango:{$:0},nishiaizu:{$:0},nishigo:{$:0},okuma:{$:0},omotego:{$:0},ono:{$:0},otama:{$:0},samegawa:{$:0},shimogo:{$:0},shirakawa:{$:0},showa:{$:0},soma:{$:0},sukagawa:{$:0},taishin:{$:0},tamakawa:{$:0},tanagura:{$:0},tenei:{$:0},yabuki:{$:0},yamato:{$:0},yamatsuri:{$:0},yanaizu:{$:0},yugawa:{$:0}},gifu:{$:0,anpachi:{$:0},ena:{$:0},gifu:{$:0},ginan:{$:0},godo:{$:0},gujo:{$:0},hashima:{$:0},hichiso:{$:0},hida:{$:0},higashishirakawa:{$:0},ibigawa:{$:0},ikeda:{$:0},kakamigahara:{$:0},kani:{$:0},kasahara:{$:0},kasamatsu:{$:0},kawaue:{$:0},kitagata:{$:0},mino:{$:0},minokamo:{$:0},mitake:{$:0},mizunami:{$:0},motosu:{$:0},nakatsugawa:{$:0},ogaki:{$:0},sakahogi:{$:0},seki:{$:0},sekigahara:{$:0},shirakawa:{$:0},tajimi:{$:0},takayama:{$:0},tarui:{$:0},toki:{$:0},tomika:{$:0},wanouchi:{$:0},yamagata:{$:0},yaotsu:{$:0},yoro:{$:0}},gunma:{$:0,annaka:{$:0},chiyoda:{$:0},fujioka:{$:0},higashiagatsuma:{$:0},isesaki:{$:0},itakura:{$:0},kanna:{$:0},kanra:{$:0},katashina:{$:0},kawaba:{$:0},kiryu:{$:0},kusatsu:{$:0},maebashi:{$:0},meiwa:{$:0},midori:{$:0},minakami:{$:0},naganohara:{$:0},nakanojo:{$:0},nanmoku:{$:0},numata:{$:0},oizumi:{$:0},ora:{$:0},ota:{$:0},shibukawa:{$:0},shimonita:{$:0},shinto:{$:0},showa:{$:0},takasaki:{$:0},takayama:{$:0},tamamura:{$:0},tatebayashi:{$:0},tomioka:{$:0},tsukiyono:{$:0},tsumagoi:{$:0},ueno:{$:0},yoshioka:{$:0}},hiroshima:{$:0,asaminami:{$:0},daiwa:{$:0},etajima:{$:0},fuchu:{$:0},fukuyama:{$:0},hatsukaichi:{$:0},higashihiroshima:{$:0},hongo:{$:0},jinsekikogen:{$:0},kaita:{$:0},kui:{$:0},kumano:{$:0},kure:{$:0},mihara:{$:0},miyoshi:{$:0},naka:{$:0},onomichi:{$:0},osakikamijima:{$:0},otake:{$:0},saka:{$:0},sera:{$:0},seranishi:{$:0},shinichi:{$:0},shobara:{$:0},takehara:{$:0}},hokkaido:{$:0,abashiri:{$:0},abira:{$:0},aibetsu:{$:0},akabira:{$:0},akkeshi:{$:0},asahikawa:{$:0},ashibetsu:{$:0},ashoro:{$:0},assabu:{$:0},atsuma:{$:0},bibai:{$:0},biei:{$:0},bifuka:{$:0},bihoro:{$:0},biratori:{$:0},chippubetsu:{$:0},chitose:{$:0},date:{$:0},ebetsu:{$:0},embetsu:{$:0},eniwa:{$:0},erimo:{$:0},esan:{$:0},esashi:{$:0},fukagawa:{$:0},fukushima:{$:0},furano:{$:0},furubira:{$:0},haboro:{$:0},hakodate:{$:0},hamatonbetsu:{$:0},hidaka:{$:0},higashikagura:{$:0},higashikawa:{$:0},hiroo:{$:0},hokuryu:{$:0},hokuto:{$:0},honbetsu:{$:0},horokanai:{$:0},horonobe:{$:0},ikeda:{$:0},imakane:{$:0},ishikari:{$:0},iwamizawa:{$:0},iwanai:{$:0},kamifurano:{$:0},kamikawa:{$:0},kamishihoro:{$:0},kamisunagawa:{$:0},kamoenai:{$:0},kayabe:{$:0},kembuchi:{$:0},kikonai:{$:0},kimobetsu:{$:0},kitahiroshima:{$:0},kitami:{$:0},kiyosato:{$:0},koshimizu:{$:0},kunneppu:{$:0},kuriyama:{$:0},kuromatsunai:{$:0},kushiro:{$:0},kutchan:{$:0},kyowa:{$:0},mashike:{$:0},matsumae:{$:0},mikasa:{$:0},minamifurano:{$:0},mombetsu:{$:0},moseushi:{$:0},mukawa:{$:0},muroran:{$:0},naie:{$:0},nakagawa:{$:0},nakasatsunai:{$:0},nakatombetsu:{$:0},nanae:{$:0},nanporo:{$:0},nayoro:{$:0},nemuro:{$:0},niikappu:{$:0},niki:{$:0},nishiokoppe:{$:0},noboribetsu:{$:0},numata:{$:0},obihiro:{$:0},obira:{$:0},oketo:{$:0},okoppe:{$:0},otaru:{$:0},otobe:{$:0},otofuke:{$:0},otoineppu:{$:0},oumu:{$:0},ozora:{$:0},pippu:{$:0},rankoshi:{$:0},rebun:{$:0},rikubetsu:{$:0},rishiri:{$:0},rishirifuji:{$:0},saroma:{$:0},sarufutsu:{$:0},shakotan:{$:0},shari:{$:0},shibecha:{$:0},shibetsu:{$:0},shikabe:{$:0},shikaoi:{$:0},shimamaki:{$:0},shimizu:{$:0},shimokawa:{$:0},shinshinotsu:{$:0},shintoku:{$:0},shiranuka:{$:0},shiraoi:{$:0},shiriuchi:{$:0},sobetsu:{$:0},sunagawa:{$:0},taiki:{$:0},takasu:{$:0},takikawa:{$:0},takinoue:{$:0},teshikaga:{$:0},tobetsu:{$:0},tohma:{$:0},tomakomai:{$:0},tomari:{$:0},toya:{$:0},toyako:{$:0},toyotomi:{$:0},toyoura:{$:0},tsubetsu:{$:0},tsukigata:{$:0},urakawa:{$:0},urausu:{$:0},uryu:{$:0},utashinai:{$:0},wakkanai:{$:0},wassamu:{$:0},yakumo:{$:0},yoichi:{$:0}},hyogo:{$:0,aioi:{$:0},akashi:{$:0},ako:{$:0},amagasaki:{$:0},aogaki:{$:0},asago:{$:0},ashiya:{$:0},awaji:{$:0},fukusaki:{$:0},goshiki:{$:0},harima:{$:0},himeji:{$:0},ichikawa:{$:0},inagawa:{$:0},itami:{$:0},kakogawa:{$:0},kamigori:{$:0},kamikawa:{$:0},kasai:{$:0},kasuga:{$:0},kawanishi:{$:0},miki:{$:0},minamiawaji:{$:0},nishinomiya:{$:0},nishiwaki:{$:0},ono:{$:0},sanda:{$:0},sannan:{$:0},sasayama:{$:0},sayo:{$:0},shingu:{$:0},shinonsen:{$:0},shiso:{$:0},sumoto:{$:0},taishi:{$:0},taka:{$:0},takarazuka:{$:0},takasago:{$:0},takino:{$:0},tamba:{$:0},tatsuno:{$:0},toyooka:{$:0},yabu:{$:0},yashiro:{$:0},yoka:{$:0},yokawa:{$:0}},ibaraki:{$:0,ami:{$:0},asahi:{$:0},bando:{$:0},chikusei:{$:0},daigo:{$:0},fujishiro:{$:0},hitachi:{$:0},hitachinaka:{$:0},hitachiomiya:{$:0},hitachiota:{$:0},ibaraki:{$:0},ina:{$:0},inashiki:{$:0},itako:{$:0},iwama:{$:0},joso:{$:0},kamisu:{$:0},kasama:{$:0},kashima:{$:0},kasumigaura:{$:0},koga:{$:0},miho:{$:0},mito:{$:0},moriya:{$:0},naka:{$:0},namegata:{$:0},oarai:{$:0},ogawa:{$:0},omitama:{$:0},ryugasaki:{$:0},sakai:{$:0},sakuragawa:{$:0},shimodate:{$:0},shimotsuma:{$:0},shirosato:{$:0},sowa:{$:0},suifu:{$:0},takahagi:{$:0},tamatsukuri:{$:0},tokai:{$:0},tomobe:{$:0},tone:{$:0},toride:{$:0},tsuchiura:{$:0},tsukuba:{$:0},uchihara:{$:0},ushiku:{$:0},yachiyo:{$:0},yamagata:{$:0},yawara:{$:0},yuki:{$:0}},ishikawa:{$:0,anamizu:{$:0},hakui:{$:0},hakusan:{$:0},kaga:{$:0},kahoku:{$:0},kanazawa:{$:0},kawakita:{$:0},komatsu:{$:0},nakanoto:{$:0},nanao:{$:0},nomi:{$:0},nonoichi:{$:0},noto:{$:0},shika:{$:0},suzu:{$:0},tsubata:{$:0},tsurugi:{$:0},uchinada:{$:0},wajima:{$:0}},iwate:{$:0,fudai:{$:0},fujisawa:{$:0},hanamaki:{$:0},hiraizumi:{$:0},hirono:{$:0},ichinohe:{$:0},ichinoseki:{$:0},iwaizumi:{$:0},iwate:{$:0},joboji:{$:0},kamaishi:{$:0},kanegasaki:{$:0},karumai:{$:0},kawai:{$:0},kitakami:{$:0},kuji:{$:0},kunohe:{$:0},kuzumaki:{$:0},miyako:{$:0},mizusawa:{$:0},morioka:{$:0},ninohe:{$:0},noda:{$:0},ofunato:{$:0},oshu:{$:0},otsuchi:{$:0},rikuzentakata:{$:0},shiwa:{$:0},shizukuishi:{$:0},sumita:{$:0},tanohata:{$:0},tono:{$:0},yahaba:{$:0},yamada:{$:0}},kagawa:{$:0,ayagawa:{$:0},higashikagawa:{$:0},kanonji:{$:0},kotohira:{$:0},manno:{$:0},marugame:{$:0},mitoyo:{$:0},naoshima:{$:0},sanuki:{$:0},tadotsu:{$:0},takamatsu:{$:0},tonosho:{$:0},uchinomi:{$:0},utazu:{$:0},zentsuji:{$:0}},kagoshima:{$:0,akune:{$:0},amami:{$:0},hioki:{$:0},isa:{$:0},isen:{$:0},izumi:{$:0},kagoshima:{$:0},kanoya:{$:0},kawanabe:{$:0},kinko:{$:0},kouyama:{$:0},makurazaki:{$:0},matsumoto:{$:0},minamitane:{$:0},nakatane:{$:0},nishinoomote:{$:0},satsumasendai:{$:0},soo:{$:0},tarumizu:{$:0},yusui:{$:0}},kanagawa:{$:0,aikawa:{$:0},atsugi:{$:0},ayase:{$:0},chigasaki:{$:0},ebina:{$:0},fujisawa:{$:0},hadano:{$:0},hakone:{$:0},hiratsuka:{$:0},isehara:{$:0},kaisei:{$:0},kamakura:{$:0},kiyokawa:{$:0},matsuda:{$:0},minamiashigara:{$:0},miura:{$:0},nakai:{$:0},ninomiya:{$:0},odawara:{$:0},oi:{$:0},oiso:{$:0},sagamihara:{$:0},samukawa:{$:0},tsukui:{$:0},yamakita:{$:0},yamato:{$:0},yokosuka:{$:0},yugawara:{$:0},zama:{$:0},zushi:{$:0}},kochi:{$:0,aki:{$:0},geisei:{$:0},hidaka:{$:0},higashitsuno:{$:0},ino:{$:0},kagami:{$:0},kami:{$:0},kitagawa:{$:0},kochi:{$:0},mihara:{$:0},motoyama:{$:0},muroto:{$:0},nahari:{$:0},nakamura:{$:0},nankoku:{$:0},nishitosa:{$:0},niyodogawa:{$:0},ochi:{$:0},okawa:{$:0},otoyo:{$:0},otsuki:{$:0},sakawa:{$:0},sukumo:{$:0},susaki:{$:0},tosa:{$:0},tosashimizu:{$:0},toyo:{$:0},tsuno:{$:0},umaji:{$:0},yasuda:{$:0},yusuhara:{$:0}},kumamoto:{$:0,amakusa:{$:0},arao:{$:0},aso:{$:0},choyo:{$:0},gyokuto:{$:0},kamiamakusa:{$:0},kikuchi:{$:0},kumamoto:{$:0},mashiki:{$:0},mifune:{$:0},minamata:{$:0},minamioguni:{$:0},nagasu:{$:0},nishihara:{$:0},oguni:{$:0},ozu:{$:0},sumoto:{$:0},takamori:{$:0},uki:{$:0},uto:{$:0},yamaga:{$:0},yamato:{$:0},yatsushiro:{$:0}},kyoto:{$:0,ayabe:{$:0},fukuchiyama:{$:0},higashiyama:{$:0},ide:{$:0},ine:{$:0},joyo:{$:0},kameoka:{$:0},kamo:{$:0},kita:{$:0},kizu:{$:0},kumiyama:{$:0},kyotamba:{$:0},kyotanabe:{$:0},kyotango:{$:0},maizuru:{$:0},minami:{$:0},minamiyamashiro:{$:0},miyazu:{$:0},muko:{$:0},nagaokakyo:{$:0},nakagyo:{$:0},nantan:{$:0},oyamazaki:{$:0},sakyo:{$:0},seika:{$:0},tanabe:{$:0},uji:{$:0},ujitawara:{$:0},wazuka:{$:0},yamashina:{$:0},yawata:{$:0}},mie:{$:0,asahi:{$:0},inabe:{$:0},ise:{$:0},kameyama:{$:0},kawagoe:{$:0},kiho:{$:0},kisosaki:{$:0},kiwa:{$:0},komono:{$:0},kumano:{$:0},kuwana:{$:0},matsusaka:{$:0},meiwa:{$:0},mihama:{$:0},minamiise:{$:0},misugi:{$:0},miyama:{$:0},nabari:{$:0},shima:{$:0},suzuka:{$:0},tado:{$:0},taiki:{$:0},taki:{$:0},tamaki:{$:0},toba:{$:0},tsu:{$:0},udono:{$:0},ureshino:{$:0},watarai:{$:0},yokkaichi:{$:0}},miyagi:{$:0,furukawa:{$:0},higashimatsushima:{$:0},ishinomaki:{$:0},iwanuma:{$:0},kakuda:{$:0},kami:{$:0},kawasaki:{$:0},marumori:{$:0},matsushima:{$:0},minamisanriku:{$:0},misato:{$:0},murata:{$:0},natori:{$:0},ogawara:{$:0},ohira:{$:0},onagawa:{$:0},osaki:{$:0},rifu:{$:0},semine:{$:0},shibata:{$:0},shichikashuku:{$:0},shikama:{$:0},shiogama:{$:0},shiroishi:{$:0},tagajo:{$:0},taiwa:{$:0},tome:{$:0},tomiya:{$:0},wakuya:{$:0},watari:{$:0},yamamoto:{$:0},zao:{$:0}},miyazaki:{$:0,aya:{$:0},ebino:{$:0},gokase:{$:0},hyuga:{$:0},kadogawa:{$:0},kawaminami:{$:0},kijo:{$:0},kitagawa:{$:0},kitakata:{$:0},kitaura:{$:0},kobayashi:{$:0},kunitomi:{$:0},kushima:{$:0},mimata:{$:0},miyakonojo:{$:0},miyazaki:{$:0},morotsuka:{$:0},nichinan:{$:0},nishimera:{$:0},nobeoka:{$:0},saito:{$:0},shiiba:{$:0},shintomi:{$:0},takaharu:{$:0},takanabe:{$:0},takazaki:{$:0},tsuno:{$:0}},nagano:{$:0,achi:{$:0},agematsu:{$:0},anan:{$:0},aoki:{$:0},asahi:{$:0},azumino:{$:0},chikuhoku:{$:0},chikuma:{$:0},chino:{$:0},fujimi:{$:0},hakuba:{$:0},hara:{$:0},hiraya:{$:0},iida:{$:0},iijima:{$:0},iiyama:{$:0},iizuna:{$:0},ikeda:{$:0},ikusaka:{$:0},ina:{$:0},karuizawa:{$:0},kawakami:{$:0},kiso:{$:0},kisofukushima:{$:0},kitaaiki:{$:0},komagane:{$:0},komoro:{$:0},matsukawa:{$:0},matsumoto:{$:0},miasa:{$:0},minamiaiki:{$:0},minamimaki:{$:0},minamiminowa:{$:0},minowa:{$:0},miyada:{$:0},miyota:{$:0},mochizuki:{$:0},nagano:{$:0},nagawa:{$:0},nagiso:{$:0},nakagawa:{$:0},nakano:{$:0},nozawaonsen:{$:0},obuse:{$:0},ogawa:{$:0},okaya:{$:0},omachi:{$:0},omi:{$:0},ookuwa:{$:0},ooshika:{$:0},otaki:{$:0},otari:{$:0},sakae:{$:0},sakaki:{$:0},saku:{$:0},sakuho:{$:0},shimosuwa:{$:0},shinanomachi:{$:0},shiojiri:{$:0},suwa:{$:0},suzaka:{$:0},takagi:{$:0},takamori:{$:0},takayama:{$:0},tateshina:{$:0},tatsuno:{$:0},togakushi:{$:0},togura:{$:0},tomi:{$:0},ueda:{$:0},wada:{$:0},yamagata:{$:0},yamanouchi:{$:0},yasaka:{$:0},yasuoka:{$:0}},nagasaki:{$:0,chijiwa:{$:0},futsu:{$:0},goto:{$:0},hasami:{$:0},hirado:{$:0},iki:{$:0},isahaya:{$:0},kawatana:{$:0},kuchinotsu:{$:0},matsuura:{$:0},nagasaki:{$:0},obama:{$:0},omura:{$:0},oseto:{$:0},saikai:{$:0},sasebo:{$:0},seihi:{$:0},shimabara:{$:0},shinkamigoto:{$:0},togitsu:{$:0},tsushima:{$:0},unzen:{$:0}},nara:{$:0,ando:{$:0},gose:{$:0},heguri:{$:0},higashiyoshino:{$:0},ikaruga:{$:0},ikoma:{$:0},kamikitayama:{$:0},kanmaki:{$:0},kashiba:{$:0},kashihara:{$:0},katsuragi:{$:0},kawai:{$:0},kawakami:{$:0},kawanishi:{$:0},koryo:{$:0},kurotaki:{$:0},mitsue:{$:0},miyake:{$:0},nara:{$:0},nosegawa:{$:0},oji:{$:0},ouda:{$:0},oyodo:{$:0},sakurai:{$:0},sango:{$:0},shimoichi:{$:0},shimokitayama:{$:0},shinjo:{$:0},soni:{$:0},takatori:{$:0},tawaramoto:{$:0},tenkawa:{$:0},tenri:{$:0},uda:{$:0},yamatokoriyama:{$:0},yamatotakada:{$:0},yamazoe:{$:0},yoshino:{$:0}},niigata:{$:0,aga:{$:0},agano:{$:0},gosen:{$:0},itoigawa:{$:0},izumozaki:{$:0},joetsu:{$:0},kamo:{$:0},kariwa:{$:0},kashiwazaki:{$:0},minamiuonuma:{$:0},mitsuke:{$:0},muika:{$:0},murakami:{$:0},myoko:{$:0},nagaoka:{$:0},niigata:{$:0},ojiya:{$:0},omi:{$:0},sado:{$:0},sanjo:{$:0},seiro:{$:0},seirou:{$:0},sekikawa:{$:0},shibata:{$:0},tagami:{$:0},tainai:{$:0},tochio:{$:0},tokamachi:{$:0},tsubame:{$:0},tsunan:{$:0},uonuma:{$:0},yahiko:{$:0},yoita:{$:0},yuzawa:{$:0}},oita:{$:0,beppu:{$:0},bungoono:{$:0},bungotakada:{$:0},hasama:{$:0},hiji:{$:0},himeshima:{$:0},hita:{$:0},kamitsue:{$:0},kokonoe:{$:0},kuju:{$:0},kunisaki:{$:0},kusu:{$:0},oita:{$:0},saiki:{$:0},taketa:{$:0},tsukumi:{$:0},usa:{$:0},usuki:{$:0},yufu:{$:0}},okayama:{$:0,akaiwa:{$:0},asakuchi:{$:0},bizen:{$:0},hayashima:{$:0},ibara:{$:0},kagamino:{$:0},kasaoka:{$:0},kibichuo:{$:0},kumenan:{$:0},kurashiki:{$:0},maniwa:{$:0},misaki:{$:0},nagi:{$:0},niimi:{$:0},nishiawakura:{$:0},okayama:{$:0},satosho:{$:0},setouchi:{$:0},shinjo:{$:0},shoo:{$:0},soja:{$:0},takahashi:{$:0},tamano:{$:0},tsuyama:{$:0},wake:{$:0},yakage:{$:0}},okinawa:{$:0,aguni:{$:0},ginowan:{$:0},ginoza:{$:0},gushikami:{$:0},haebaru:{$:0},higashi:{$:0},hirara:{$:0},iheya:{$:0},ishigaki:{$:0},ishikawa:{$:0},itoman:{$:0},izena:{$:0},kadena:{$:0},kin:{$:0},kitadaito:{$:0},kitanakagusuku:{$:0},kumejima:{$:0},kunigami:{$:0},minamidaito:{$:0},motobu:{$:0},nago:{$:0},naha:{$:0},nakagusuku:{$:0},nakijin:{$:0},nanjo:{$:0},nishihara:{$:0},ogimi:{$:0},okinawa:{$:0},onna:{$:0},shimoji:{$:0},taketomi:{$:0},tarama:{$:0},tokashiki:{$:0},tomigusuku:{$:0},tonaki:{$:0},urasoe:{$:0},uruma:{$:0},yaese:{$:0},yomitan:{$:0},yonabaru:{$:0},yonaguni:{$:0},zamami:{$:0}},osaka:{$:0,abeno:{$:0},chihayaakasaka:{$:0},chuo:{$:0},daito:{$:0},fujiidera:{$:0},habikino:{$:0},hannan:{$:0},higashiosaka:{$:0},higashisumiyoshi:{$:0},higashiyodogawa:{$:0},hirakata:{$:0},ibaraki:{$:0},ikeda:{$:0},izumi:{$:0},izumiotsu:{$:0},izumisano:{$:0},kadoma:{$:0},kaizuka:{$:0},kanan:{$:0},kashiwara:{$:0},katano:{$:0},kawachinagano:{$:0},kishiwada:{$:0},kita:{$:0},kumatori:{$:0},matsubara:{$:0},minato:{$:0},minoh:{$:0},misaki:{$:0},moriguchi:{$:0},neyagawa:{$:0},nishi:{$:0},nose:{$:0},osakasayama:{$:0},sakai:{$:0},sayama:{$:0},sennan:{$:0},settsu:{$:0},shijonawate:{$:0},shimamoto:{$:0},suita:{$:0},tadaoka:{$:0},taishi:{$:0},tajiri:{$:0},takaishi:{$:0},takatsuki:{$:0},tondabayashi:{$:0},toyonaka:{$:0},toyono:{$:0},yao:{$:0}},saga:{$:0,ariake:{$:0},arita:{$:0},fukudomi:{$:0},genkai:{$:0},hamatama:{$:0},hizen:{$:0},imari:{$:0},kamimine:{$:0},kanzaki:{$:0},karatsu:{$:0},kashima:{$:0},kitagata:{$:0},kitahata:{$:0},kiyama:{$:0},kouhoku:{$:0},kyuragi:{$:0},nishiarita:{$:0},ogi:{$:0},omachi:{$:0},ouchi:{$:0},saga:{$:0},shiroishi:{$:0},taku:{$:0},tara:{$:0},tosu:{$:0},yoshinogari:{$:0}},saitama:{$:0,arakawa:{$:0},asaka:{$:0},chichibu:{$:0},fujimi:{$:0},fujimino:{$:0},fukaya:{$:0},hanno:{$:0},hanyu:{$:0},hasuda:{$:0},hatogaya:{$:0},hatoyama:{$:0},hidaka:{$:0},higashichichibu:{$:0},higashimatsuyama:{$:0},honjo:{$:0},ina:{$:0},iruma:{$:0},iwatsuki:{$:0},kamiizumi:{$:0},kamikawa:{$:0},kamisato:{$:0},kasukabe:{$:0},kawagoe:{$:0},kawaguchi:{$:0},kawajima:{$:0},kazo:{$:0},kitamoto:{$:0},koshigaya:{$:0},kounosu:{$:0},kuki:{$:0},kumagaya:{$:0},matsubushi:{$:0},minano:{$:0},misato:{$:0},miyashiro:{$:0},miyoshi:{$:0},moroyama:{$:0},nagatoro:{$:0},namegawa:{$:0},niiza:{$:0},ogano:{$:0},ogawa:{$:0},ogose:{$:0},okegawa:{$:0},omiya:{$:0},otaki:{$:0},ranzan:{$:0},ryokami:{$:0},saitama:{$:0},sakado:{$:0},satte:{$:0},sayama:{$:0},shiki:{$:0},shiraoka:{$:0},soka:{$:0},sugito:{$:0},toda:{$:0},tokigawa:{$:0},tokorozawa:{$:0},tsurugashima:{$:0},urawa:{$:0},warabi:{$:0},yashio:{$:0},yokoze:{$:0},yono:{$:0},yorii:{$:0},yoshida:{$:0},yoshikawa:{$:0},yoshimi:{$:0}},shiga:{$:0,aisho:{$:0},gamo:{$:0},higashiomi:{$:0},hikone:{$:0},koka:{$:0},konan:{$:0},kosei:{$:0},koto:{$:0},kusatsu:{$:0},maibara:{$:0},moriyama:{$:0},nagahama:{$:0},nishiazai:{$:0},notogawa:{$:0},omihachiman:{$:0},otsu:{$:0},ritto:{$:0},ryuoh:{$:0},takashima:{$:0},takatsuki:{$:0},torahime:{$:0},toyosato:{$:0},yasu:{$:0}},shimane:{$:0,akagi:{$:0},ama:{$:0},gotsu:{$:0},hamada:{$:0},higashiizumo:{$:0},hikawa:{$:0},hikimi:{$:0},izumo:{$:0},kakinoki:{$:0},masuda:{$:0},matsue:{$:0},misato:{$:0},nishinoshima:{$:0},ohda:{$:0},okinoshima:{$:0},okuizumo:{$:0},shimane:{$:0},tamayu:{$:0},tsuwano:{$:0},unnan:{$:0},yakumo:{$:0},yasugi:{$:0},yatsuka:{$:0}},shizuoka:{$:0,arai:{$:0},atami:{$:0},fuji:{$:0},fujieda:{$:0},fujikawa:{$:0},fujinomiya:{$:0},fukuroi:{$:0},gotemba:{$:0},haibara:{$:0},hamamatsu:{$:0},higashiizu:{$:0},ito:{$:0},iwata:{$:0},izu:{$:0},izunokuni:{$:0},kakegawa:{$:0},kannami:{$:0},kawanehon:{$:0},kawazu:{$:0},kikugawa:{$:0},kosai:{$:0},makinohara:{$:0},matsuzaki:{$:0},minamiizu:{$:0},mishima:{$:0},morimachi:{$:0},nishiizu:{$:0},numazu:{$:0},omaezaki:{$:0},shimada:{$:0},shimizu:{$:0},shimoda:{$:0},shizuoka:{$:0},susono:{$:0},yaizu:{$:0},yoshida:{$:0}},tochigi:{$:0,ashikaga:{$:0},bato:{$:0},haga:{$:0},ichikai:{$:0},iwafune:{$:0},kaminokawa:{$:0},kanuma:{$:0},karasuyama:{$:0},kuroiso:{$:0},mashiko:{$:0},mibu:{$:0},moka:{$:0},motegi:{$:0},nasu:{$:0},nasushiobara:{$:0},nikko:{$:0},nishikata:{$:0},nogi:{$:0},ohira:{$:0},ohtawara:{$:0},oyama:{$:0},sakura:{$:0},sano:{$:0},shimotsuke:{$:0},shioya:{$:0},takanezawa:{$:0},tochigi:{$:0},tsuga:{$:0},ujiie:{$:0},utsunomiya:{$:0},yaita:{$:0}},tokushima:{$:0,aizumi:{$:0},anan:{$:0},ichiba:{$:0},itano:{$:0},kainan:{$:0},komatsushima:{$:0},matsushige:{$:0},mima:{$:0},minami:{$:0},miyoshi:{$:0},mugi:{$:0},nakagawa:{$:0},naruto:{$:0},sanagochi:{$:0},shishikui:{$:0},tokushima:{$:0},wajiki:{$:0}},tokyo:{$:0,adachi:{$:0},akiruno:{$:0},akishima:{$:0},aogashima:{$:0},arakawa:{$:0},bunkyo:{$:0},chiyoda:{$:0},chofu:{$:0},chuo:{$:0},edogawa:{$:0},fuchu:{$:0},fussa:{$:0},hachijo:{$:0},hachioji:{$:0},hamura:{$:0},higashikurume:{$:0},higashimurayama:{$:0},higashiyamato:{$:0},hino:{$:0},hinode:{$:0},hinohara:{$:0},inagi:{$:0},itabashi:{$:0},katsushika:{$:0},kita:{$:0},kiyose:{$:0},kodaira:{$:0},koganei:{$:0},kokubunji:{$:0},komae:{$:0},koto:{$:0},kouzushima:{$:0},kunitachi:{$:0},machida:{$:0},meguro:{$:0},minato:{$:0},mitaka:{$:0},mizuho:{$:0},musashimurayama:{$:0},musashino:{$:0},nakano:{$:0},nerima:{$:0},ogasawara:{$:0},okutama:{$:0},ome:{$:0},oshima:{$:0},ota:{$:0},setagaya:{$:0},shibuya:{$:0},shinagawa:{$:0},shinjuku:{$:0},suginami:{$:0},sumida:{$:0},tachikawa:{$:0},taito:{$:0},tama:{$:0},toshima:{$:0}},tottori:{$:0,chizu:{$:0},hino:{$:0},kawahara:{$:0},koge:{$:0},kotoura:{$:0},misasa:{$:0},nanbu:{$:0},nichinan:{$:0},sakaiminato:{$:0},tottori:{$:0},wakasa:{$:0},yazu:{$:0},yonago:{$:0}},toyama:{$:0,asahi:{$:0},fuchu:{$:0},fukumitsu:{$:0},funahashi:{$:0},himi:{$:0},imizu:{$:0},inami:{$:0},johana:{$:0},kamiichi:{$:0},kurobe:{$:0},nakaniikawa:{$:0},namerikawa:{$:0},nanto:{$:0},nyuzen:{$:0},oyabe:{$:0},taira:{$:0},takaoka:{$:0},tateyama:{$:0},toga:{$:0},tonami:{$:0},toyama:{$:0},unazuki:{$:0},uozu:{$:0},yamada:{$:0}},wakayama:{$:0,arida:{$:0},aridagawa:{$:0},gobo:{$:0},hashimoto:{$:0},hidaka:{$:0},hirogawa:{$:0},inami:{$:0},iwade:{$:0},kainan:{$:0},kamitonda:{$:0},katsuragi:{$:0},kimino:{$:0},kinokawa:{$:0},kitayama:{$:0},koya:{$:0},koza:{$:0},kozagawa:{$:0},kudoyama:{$:0},kushimoto:{$:0},mihama:{$:0},misato:{$:0},nachikatsuura:{$:0},shingu:{$:0},shirahama:{$:0},taiji:{$:0},tanabe:{$:0},wakayama:{$:0},yuasa:{$:0},yura:{$:0}},yamagata:{$:0,asahi:{$:0},funagata:{$:0},higashine:{$:0},iide:{$:0},kahoku:{$:0},kaminoyama:{$:0},kaneyama:{$:0},kawanishi:{$:0},mamurogawa:{$:0},mikawa:{$:0},murayama:{$:0},nagai:{$:0},nakayama:{$:0},nanyo:{$:0},nishikawa:{$:0},obanazawa:{$:0},oe:{$:0},oguni:{$:0},ohkura:{$:0},oishida:{$:0},sagae:{$:0},sakata:{$:0},sakegawa:{$:0},shinjo:{$:0},shirataka:{$:0},shonai:{$:0},takahata:{$:0},tendo:{$:0},tozawa:{$:0},tsuruoka:{$:0},yamagata:{$:0},yamanobe:{$:0},yonezawa:{$:0},yuza:{$:0}},yamaguchi:{$:0,abu:{$:0},hagi:{$:0},hikari:{$:0},hofu:{$:0},iwakuni:{$:0},kudamatsu:{$:0},mitou:{$:0},nagato:{$:0},oshima:{$:0},shimonoseki:{$:0},shunan:{$:0},tabuse:{$:0},tokuyama:{$:0},toyota:{$:0},ube:{$:0},yuu:{$:0}},yamanashi:{$:0,chuo:{$:0},doshi:{$:0},fuefuki:{$:0},fujikawa:{$:0},fujikawaguchiko:{$:0},fujiyoshida:{$:0},hayakawa:{$:0},hokuto:{$:0},ichikawamisato:{$:0},kai:{$:0},kofu:{$:0},koshu:{$:0},kosuge:{$:0},"minami-alps":{$:0},minobu:{$:0},nakamichi:{$:0},nanbu:{$:0},narusawa:{$:0},nirasaki:{$:0},nishikatsura:{$:0},oshino:{$:0},otsuki:{$:0},showa:{$:0},tabayama:{$:0},tsuru:{$:0},uenohara:{$:0},yamanakako:{$:0},yamanashi:{$:0}},"xn--
824pvxs":{$:0},"xn--vgu402c":{$:0},"xn--c3s14m":{$:0},"xn--f6qx53a":{$:0},"xn--8pvr4u":{$:0},"xn--uist22h":{$:0},"xn--djrs72d6uy":{$:0},"xn--mkru45i":{$:0},"xn--0trq7p7nn":{$:0},"xn--8ltr62k":{$:0},"xn--2m4a15e":{$:0},"xn--efvn9s":{$:0},"xn--32vp30h":{$:0},"xn--4it797k":{$:0},"xn--1lqs71d":{$:0},"xn--5rtp49c":{$:0},"xn--5js045d":{$:0},"xn--ehqz56n":{$:0},"xn--1lqs03n":{$:0},"xn--qqqt11m":{$:0},"xn--kbrq7o":{$:0},"xn--pssu33l":{$:0},"xn--ntsq17g":{$:0},"xn--uisz3g":{$:0},"xn--6btw5a":{$:0},"xn--1ctwo":{$:0},"xn--6orx2r":{$:0},"xn--rht61e":{$:0},"xn--rht27z":{$:0},"xn--djty4k":{$:0},"xn--nit225k":{$:0},"xn--rht3d":{$:0},"xn--klty5x":{$:0},"xn--kltx9a":{$:0},"xn--kltp7d":{$:0},"xn--uuwu58a":{$:0},"xn--zbx025d":{$:0},"xn--ntso0iqx3a":{$:0},"xn--elqq16h":{$:0},"xn--4it168d":{$:0},"xn--klt787d":{$:0},"xn--rny31h":{$:0},"xn--7t0a264c":{$:0},"xn--5rtq34k":{$:0},"xn--k7yn95e":{$:0},"xn--tor131o":{$:0},"xn--d5qv7z876c":{$:0},kawasaki:{"*":{$:0}},kitakyushu:{"*":{$:0}},kobe:{"*":{$:0}},nagoya:{"*":{$:0}},sapporo:{"*":{$:0}},sendai:{"*":{$:0}},yokohama:{"*":{$:0}},blogspot:{$:0}},ke:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},go:{$:0},info:{$:0},me:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0}},kg:{$:0,org:{$:0}
82,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0}},kh:{"*":{$:0}},ki:{$:0,edu:{$:0},biz:{$:0},net:{$:0},org:{$:0},gov:{$:0},info:{$:0},com:{$:0}},km:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},ass:{$:0},com:{$:0},coop:{$:0},asso:{$:0},presse:{$:0},medecin:{$:0},notaires:{$:0},pharmaciens:{$:0},veterinaire:{$:0},gouv:{$:0}},kn:{$:0,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},kp:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},rep:{$:0},tra:{$:0}},kr:{$:0,ac:{$:0},co:{$:0},es:{$:0},go:{$:0},hs:{$:0},kg:{$:0},mil:{$:0},ms:{$:0},ne:{$:0},or:{$:0},pe:{$:0},re:{$:0},sc:{$:0},busan:{$:0},chungbuk:{$:0},chungnam:{$:0},daegu:{$:0},daejeon:{$:0},gangwon:{$:0},gwangju:{$:0},gyeongbuk:{$:0},gyeonggi:{$:0},gyeongnam:{$:0},incheon:{$:0},jeju:{$:0},jeonbuk:{$:0},jeonnam:{$:0},seoul:{$:0},ulsan:{$:0},blogspot:{$:0}},kw:{"*":{$:0}},ky:{$:0,edu:{$:0},gov:{$:0},com:{$:0},org:{$:0},net:{$:0}},kz:{$:0,org:{$:0},edu:{$:0},net:{$:0},gov:{$:0},mil:{$:0},com:{$:0},nym:{$:0}},la:{$:0,int:{$:0},net:{$:0},info:{$:0},edu:{$:0},gov:{$:0},per:{$:0},com:{$:0},org:{$:0},bnr:{$:0},c:{$:0},nym:{$:0}},lb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},lc:{$:0,com:{$:0}
82,net:{$:0},co:{$:0},org:{$:0},edu:{$:0},gov:{$:0},oy:{$:0}},li:{$:0,blogspot:{$:0},nom:{$:0},nym:{$:0}},lk:{$:0,gov:{$:0},sch:{$:0},net:{$:0},int:{$:0},com:{$:0},org:{$:0},edu:{$:0},ngo:{$:0},soc:{$:0},web:{$:0},ltd:{$:0},assn:{$:0},grp:{$:0},hotel:{$:0},ac:{$:0}},lr:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},ls:{$:0,co:{$:0},org:{$:0}},lt:{$:0,gov:{$:0},blogspot:{$:0},nym:{$:0}},lu:{$:0,blogspot:{$:0},nym:{$:0}},lv:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0},id:{$:0},net:{$:0},asn:{$:0},conf:{$:0}},ly:{$:0,com:{$:0},net:{$:0},gov:{$:0},plc:{$:0},edu:{$:0},sch:{$:0},med:{$:0},org:{$:0},id:{$:0}},ma:{$:0,co:{$:0},net:{$:0},gov:{$:0},org:{$:0},ac:{$:0},press:{$:0}},mc:{$:0,tm:{$:0},asso:{$:0}},md:{$:0,blogspot:{$:0}},me:{$:0,co:{$:0},net:{$:0},org:{$:0},edu:{$:0},ac:{$:0},gov:{$:0},its:{$:0},priv:{$:0},c66:{$:0},daplie:{$:0,localhost:{$:0}},filegear:{$:0},brasilia:{$:0},ddns:{$:0},dnsfor:{$:0},hopto:{$:0},loginto:{$:0},noip:{$:0},webhop:{$:0},nym:{$:0},diskstation:{$:0},dscloud:{$:0},i234:{$:0},myds:{$:0},synology:{$:0},wedeploy:{$:0},yombo:{$:0}},mg:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},com:{$:0},co:{$:0}},mh:{$:0},mil:{$:0},mk:{$:0,com:{$:0},org:{$:0}
82,net:{$:0},edu:{$:0},gov:{$:0},inf:{$:0},name:{$:0},blogspot:{$:0},nom:{$:0}},ml:{$:0,com:{$:0},edu:{$:0},gouv:{$:0},gov:{$:0},net:{$:0},org:{$:0},presse:{$:0}},mm:{"*":{$:0}},mn:{$:0,gov:{$:0},edu:{$:0},org:{$:0},nyc:{$:0}},mo:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},mobi:{$:0,dscloud:{$:0}},mp:{$:0},mq:{$:0},mr:{$:0,gov:{$:0},blogspot:{$:0}},ms:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},mt:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},net:{$:0},org:{$:0}},mu:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},ac:{$:0},co:{$:0},or:{$:0}},museum:{$:0,academy:{$:0},agriculture:{$:0},air:{$:0},airguard:{$:0},alabama:{$:0},alaska:{$:0},amber:{$:0},ambulance:{$:0},american:{$:0},americana:{$:0},americanantiques:{$:0},americanart:{$:0},amsterdam:{$:0},and:{$:0},annefrank:{$:0},anthro:{$:0},anthropology:{$:0},antiques:{$:0},aquarium:{$:0},arboretum:{$:0},archaeological:{$:0},archaeology:{$:0},architecture:{$:0},art:{$:0},artanddesign:{$:0},artcenter:{$:0},artdeco:{$:0},arteducation:{$:0},artgallery:{$:0},arts:{$:0},artsandcrafts:{$:0},asmatart:{$:0},assassination:{$:0},assisi:{$:0},association:{$:0},astronomy:{$:0},atlanta:{$:0},austin:{$:0},australia:{$:0},automotive:{$:0},aviation:{$:0},axis:{$:0},badajoz:{$:0},baghdad:{$:0},bahn:{$:0},bale:{$:0},baltimore:{$:0},barcelona:{$:0},baseball:{$:0},basel:{$:0},baths:{$:0},bauern:{$:0},beauxarts:{$:0},beeldengeluid:{$:0},bellevue:{$:0},bergbau:{$:0},berkeley:{$:0},berlin:{$:0},bern:{$:0},bible:{$:0},bilbao:{$:0},bill:{$:0},birdart:{$:0},birthplace:{$:0},bonn:{$:0},boston:{$:0},botanical:{$:0},botanicalgarden:{$:0},botanicgarden:{$:0},botany:{$:0},brandywinevalley:{$:0},brasil:{$:0},bristol:{$:0},british:{$:0},britishcolumbia:{$:0},broadcast:{$:0},brunel:{$:0},brussel:{$:0},brussels:{$:0},bruxelles:{$:0},building:{$:0},burghof:{$:0},bus:{$:0},bushey:{$:0},cadaques:{$:0},california:{$:0},cambridge:{$:0},can:{$:0},canada:{$:0},capebreton:{$:0},carrier:{$:0},cartoonart:{$:0},casadelamoneda:{$:0},castle:{$:0},castres:{$:0},celtic:{$:0},center:{$:0},chattanooga:{$:0},cheltenham:{$:0},chesapeakebay:{$:0},chicago:{$:0},children:{$:0},childrens:{$:0},childrensgarden:{$:0},chiropractic:{$:0},chocolate:{$:0},christiansburg:{$:0},cincinnati:{$:0},cinema:{$:0},circus:{$:0},civilisation:{$:0},civilization:{$:0},civilwar:{$:0},clinton:{$:0},clock:{$:0},coal:{$:0},coastaldefence:{$:0},cody:{$:0},coldwar:{$:0},collection:{$:0},colonialwilliamsburg:{$:0},coloradoplateau:{$:0},columbia:{$:0},columbus:{$:0},communication:{$:0},communications:{$:0},community:{$:0},computer:{$:0},computerhistory:{$:0},"xn--comunicaes-v6a2o":{$:0},contemporary:{$:0},contemporaryart:{$:0},convent:{$:0},copenhagen:{$:0},corporation:{$:0},"xn--correios-e-telecomunicaes-ghc29a":{$:0},corvette:{$:0},costume:{$:0},countryestate:{$:0},county:{$:0},crafts:{$:0},cranbrook:{$:0},creation:{$:0},cultural:{$:0},culturalcenter:{$:0},culture:{$:0},cyber:{$:0},cymru:{$:0},dali:{$:0},dallas:{$:0},database:{$:0},ddr:{$:0},decorativearts:{$:0},delaware:{$:0},delmenhorst:{$:0},denmark:{$:0},depot:{$:0},design:{$:0},detroit:{$:0},dinosaur:{$:0},discovery:{$:0},dolls:{$:0},donostia:{$:0},durham:{$:0},eastafrica:{$:0},eastcoast:{$:0},education:{$:0},educational:{$:0},egyptian:{$:0},eisenbahn:{$:0},elburg:{$:0},elvendrell:{$:0},embroidery:{$:0},encyclopedic:{$:0},england:{$:0},entomology:{$:0},environment:{$:0},environmentalconservation:{$:0},epilepsy:{$:0},essex:{$:0},estate:{$:0},ethnology:{$:0},exeter:{$:0},exhibition:{$:0},family:{$:0},farm:{$:0},farmequipment:{$:0},farmers:{$:0},farmstead:{$:0},field:{$:0},figueres:{$:0},filatelia:{$:0},film:{$:0},fineart:{$:0},finearts:{$:0},finland:{$:0},flanders:{$:0},florida:{$:0},force:{$:0},fortmissoula:{$:0},fortworth:{$:0},foundation:{$:0},francaise:{$:0},frankfurt:{$:0},franziskaner:{$:0},freemasonry:{$:0},freiburg:{$:0},fribourg:{$:0},frog:{$:0},fundacio:{$:0},furniture:{$:0},gallery:{$:0},garden:{$:0},gateway:{$:0},geelvinck:{$:0},gemological:{$:0},geology:{$:0},georgia:{$:0},giessen:{$:0},glas:{$:0},glass:{$:0},gorge:{$:0},grandrapids:{$:0},graz:{$:0},guernsey:{$:0},halloffame:{$:0},hamburg:{$:0},handson:{$:0},harvestcelebration:{$:0},hawaii:{$:0},health:{$:0},heimatunduhren:{$:0},hellas:{$:0},helsinki:{$:0},hembygdsforbund:{$:0},heritage:{$:0},histoire:{$:0},historical:{$:0},historicalsociety:{$:0},historichouses:{$:0},historisch:{$:0},historisches:{$:0},history:{$:0},historyofscience:{$:0},horology:{$:0},house:{$:0},humanities:{$:0},illustration:{$:0},imageandsound:{$:0},indian:{$:0},indiana:{$:0},indianapolis:{$:0},indianmarket:{$:0},intelligence:{$:0},interactive:{$:0},iraq:{$:0},iron:{$:0},isleofman:{$:0},jamison:{$:0},jefferson:{$:0},jerusalem:{$:0},jewelry:{$:0},jewish:{$:0},jewishart:{$:0},jfk:{$:0},journalism:{$:0},judaica:{$:0},judygarland:{$:0},juedisches:{$:0},juif:{$:0},karate:{$:0},karikatur:{$:0},kids:{$:0},koebenhavn:{$:0},koeln:{$:0},kunst:{$:0},kunstsammlung:{$:0},kunstunddesign:{$:0},labor:{$:0},labour:{$:0},lajolla:{$:0},lancashire:{$:0},landes:{$:0},lans:{$:0},"xn--lns-qla":{$:0},larsson:{$:0},lewismiller:{$:0},lincoln:{$:0},linz:{$:0},living:{$:0},livinghistory:{$:0},localhistory:{$:0},london:{$:0},losangeles:{$:0},louvre:{$:0},loyalist:{$:0},lucerne:{$:0},luxembourg:{$:0},luzern:{$:0},mad:{$:0},madrid:{$:0},mallorca:{$:0},manchester:{$:0},mansion:{$:0},mansions:{$:0},manx:{$:0},marburg:{$:0},maritime:{$:0},maritimo:{$:0},maryland:{$:0},marylhurst:{$:0},media:{$:0},medical:{$:0},medizinhistorisches:{$:0},meeres:{$:0},memorial:{$:0},mesaverde:{$:0},michigan:{$:0},midatlantic:{$:0},military:{$:0},mill:{$:0},miners:{$:0},mining:{$:0},minnesota:{$:0},missile:{$:0},missoula:{$:0},modern:{$:0},moma:{$:0},money:{$:0},monmouth:{$:0},monticello:{$:0},montreal:{$:0},moscow:{$:0},motorcycle:{$:0},muenchen:{$:0},muenster:{$:0},mulhouse:{$:0},muncie:{$:0},museet:{$:0},museumcenter:{$:0},museumvereniging:{$:0},music:{$:0},national:{$:0},nationalfirearms:{$:0},nationalheritage:{$:0},nativeamerican:{$:0},naturalhistory:{$:0},naturalhistorymuseum:{$:0},naturalsciences:{$:0},nature:{$:0},naturhistorisches:{$:0},natuurwetenschappen:{$:0},naumburg:{$:0},naval:{$:0},nebraska:{$:0},neues:{$:0},newhampshire:{$:0},newjersey:{$:0},newmexico:{$:0},newport:{$:0},newspaper:{$:0},newyork:{$:0},niepce:{$:0},norfolk:{$:0},north:{$:0},nrw:{$:0}
82,nuernberg:{$:0},nuremberg:{$:0},nyc:{$:0},nyny:{$:0},oceanographic:{$:0},oceanographique:{$:0},omaha:{$:0},online:{$:0},ontario:{$:0},openair:{$:0},oregon:{$:0},oregontrail:{$:0},otago:{$:0},oxford:{$:0},pacific:{$:0},paderborn:{$:0},palace:{$:0},paleo:{$:0},palmsprings:{$:0},panama:{$:0},paris:{$:0},pasadena:{$:0},pharmacy:{$:0},philadelphia:{$:0},philadelphiaarea:{$:0},philately:{$:0},phoenix:{$:0},photography:{$:0},pilots:{$:0},pittsburgh:{$:0},planetarium:{$:0},plantation:{$:0},plants:{$:0},plaza:{$:0},portal:{$:0},portland:{$:0},portlligat:{$:0},"posts-and-telecommunications":{$:0},preservation:{$:0},presidio:{$:0},press:{$:0},project:{$:0},public:{$:0},pubol:{$:0},quebec:{$:0},railroad:{$:0},railway:{$:0},research:{$:0},resistance:{$:0},riodejaneiro:{$:0},rochester:{$:0},rockart:{$:0},roma:{$:0},russia:{$:0},saintlouis:{$:0},salem:{$:0},salvadordali:{$:0},salzburg:{$:0},sandiego:{$:0},sanfrancisco:{$:0},santabarbara:{$:0},santacruz:{$:0},santafe:{$:0},saskatchewan:{$:0},satx:{$:0},savannahga:{$:0},schlesisches:{$:0},schoenbrunn:{$:0},schokoladen:{$:0},school:{$:0},schweiz:{$:0},science:{$:0},scienceandhistory:{$:0},scienceandindustry:{$:0},sciencecenter:{$:0},sciencecenters:{$:0},"science-fiction":{$:0},sciencehistory:{$:0},sciences:{$:0},sciencesnaturelles:{$:0},scotland:{$:0},seaport:{$:0},settlement:{$:0},settlers:{$:0},shell:{$:0},sherbrooke:{$:0},sibenik:{$:0},silk:{$:0},ski:{$:0},skole:{$:0},society:{$:0},sologne:{$:0},soundandvision:{$:0},southcarolina:{$:0},southwest:{$:0},space:{$:0},spy:{$:0},square:{$:0},stadt:{$:0},stalbans:{$:0},starnberg:{$:0},state:{$:0},stateofdelaware:{$:0},station:{$:0},steam:{$:0},steiermark:{$:0},stjohn:{$:0},stockholm:{$:0},stpetersburg:{$:0},stuttgart:{$:0},suisse:{$:0},surgeonshall:{$:0},surrey:{$:0},svizzera:{$:0},sweden:{$:0},sydney:{$:0},tank:{$:0},tcm:{$:0},technology:{$:0},telekommunikation:{$:0},television:{$:0},texas:{$:0},textile:{$:0},theater:{$:0},time:{$:0},timekeeping:{$:0},topology:{$:0},torino:{$:0},touch:{$:0},town:{$:0},transport:{$:0},tree:{$:0},trolley:{$:0},trust:{$:0},trustee:{$:0},uhren:{$:0},ulm:{$:0},undersea:{$:0},university:{$:0},usa:{$:0},usantiques:{$:0},usarts:{$:0},uscountryestate:{$:0},usculture:{$:0},usdecorativearts:{$:0},usgarden:{$:0},ushistory:{$:0},ushuaia:{$:0},uslivinghistory:{$:0},utah:{$:0},uvic:{$:0},valley:{$:0},vantaa:{$:0},versailles:{$:0},viking:{$:0},village:{$:0},virginia:{$:0},virtual:{$:0},virtuel:{$:0},vlaanderen:{$:0},volkenkunde:{$:0},wales:{$:0},wallonie:{$:0},war:{$:0},washingtondc:{$:0},watchandclock:{$:0},"watch-and-clock":{$:0},western:{$:0},westfalen:{$:0},whaling:{$:0},wildlife:{$:0},williamsburg:{$:0},windmill:{$:0},workshop:{$:0},york:{$:0},yorkshire:{$:0},yosemite:{$:0},youth:{$:0},zoological:{$:0},zoology:{$:0},"xn--9dbhblg6di":{$:0},"xn--h1aegh":{$:0}},mv:{$:0,aero:{$:0},biz:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},museum:{$:0},name:{$:0},net:{$:0},org:{$:0},pro:{$:0}},mw:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},int:{$:0},museum:{$:0},net:{$:0},org:{$:0}},mx:{$:0,com:{$:0},org:{$:0},gob:{$:0},edu:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},my:{$:0,com:{$:0}
vendor: 8,603 bytes, line 82
82,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},mil:{$:0},name:{$:0},blogspot:{$:0}},mz:{$:0,ac:{$:0},adv:{$:0},co:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},na:{$:0,info:{$:0},pro:{$:0},name:{$:0},school:{$:0},or:{$:0},dr:{$:0},us:{$:0},mx:{$:0},ca:{$:0},in:{$:0},cc:{$:0},tv:{$:0},ws:{$:0},mobi:{$:0},co:{$:0},com:{$:0},org:{$:0}},name:{$:0,her:{forgot:{$:0}},his:{forgot:{$:0}}},nc:{$:0,asso:{$:0},nom:{$:0}},ne:{$:0},net:{$:0,alwaysdata:{$:0},cloudfront:{$:0},t3l3p0rt:{$:0},myfritz:{$:0},boomla:{$:0},bplaced:{$:0},square7:{$:0},gb:{$:0},hu:{$:0},jp:{$:0},se:{$:0},uk:{$:0},in:{$:0},cloudaccess:{$:0},"cdn77-ssl":{$:0},cdn77:{r:{$:0}},"feste-ip":{$:0},"knx-server":{$:0},"static-access":{$:0},cryptonomic:{"*":{$:0}},debian:{$:0},"at-band-camp":{$:0},blogdns:{$:0},"broke-it":{$:0},buyshouses:{$:0},dnsalias:{$:0},dnsdojo:{$:0},"does-it":{$:0},dontexist:{$:0},dynalias:{$:0},dynathome:{$:0},endofinternet:{$:0},"from-az":{$:0},"from-co":{$:0},"from-la":{$:0},"from-ny":{$:0},"gets-it":{$:0},"ham-radio-op":{$:0},homeftp:{$:0},homeip:{$:0},homelinux:{$:0},homeunix:{$:0},"in-the-band":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},"office-on-the":{$:0},podzone:{$:0},"scrapper-site":{$:0},selfip:{$:0},"sells-it":{$:0},servebbs:{$:0},serveftp:{$:0},thruhere:{$:0},webhop:{$:0},definima:{$:0},casacam:{$:0},dynu:{$:0},dynv6:{$:0},twmail:{$:0},ru:{$:0},channelsdvr:{$:0},fastlylb:{$:0,map:{$:0}},fastly:{freetls:{$:0},map:{$:0},prod:{a:{$:0},global:{$:0}},ssl:{a:{$:0},b:{$:0},global:{$:0}}},flynnhosting:{$:0},cloudfunctions:{$:0},moonscale:{$:0},ipifony:{$:0},barsy:{$:0},azurewebsites:{$:0},"azure-mobile":{$:0},cloudapp:{$:0},"eating-organic":{$:0},mydissent:{$:0},myeffect:{$:0},mymediapc:{$:0},mypsx:{$:0},mysecuritycamera:{$:0},nhlfan:{$:0},"no-ip":{$:0},pgafan:{$:0},privatizehealthinsurance:{$:0},bounceme:{$:0},ddns:{$:0},redirectme:{$:0},serveblog:{$:0},serveminecraft:{$:0},sytes:{$:0},rackmaze:{$:0},"firewall-gateway":{$:0},dsmynas:{$:0},familyds:{$:0},za:{$:0}},nf:{$:0,com:{$:0},net:{$:0},per:{$:0},rec:{$:0},web:{$:0},arts:{$:0},firm:{$:0},info:{$:0},other:{$:0},store:{$:0}},ng:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},i:{$:0},mil:{$:0},mobi:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0}},ni:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gob:{$:0},in:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},web:{$:0}},nl:{$:0,bv:{$:0},virtueeldomein:{$:0},co:{$:0},"hosting-cluster":{$:0},blogspot:{$:0},transurl:{"*":{$:0}},cistron:{$:0},demon:{$:0}},no:{$:0,fhs:{$:0},vgs:{$:0},fylkesbibl:{$:0},folkebibl:{$:0},museum:{$:0},idrett:{$:0},priv:{$:0},mil:{$:0},stat:{$:0},dep:{$:0},kommune:{$:0},herad:{$:0},aa:{$:0,gs:{$:0}},ah:{$:0,gs:{$:0}},bu:{$:0,gs:{$:0}},fm:{$:0,gs:{$:0}},hl:{$:0,gs:{$:0}},hm:{$:0,gs:{$:0}},"jan-mayen":{$:0,gs:{$:0}},mr:{$:0,gs:{$:0}},nl:{$:0,gs:{$:0}},nt:{$:0,gs:{$:0}},of:{$:0,gs:{$:0}},ol:{$:0,gs:{$:0}},oslo:{$:0,gs:{$:0}},rl:{$:0,gs:{$:0}},sf:{$:0,gs:{$:0}},st:{$:0,gs:{$:0}},svalbard:{$:0,gs:{$:0}},tm:{$:0,gs:{$:0}},tr:{$:0,gs:{$:0}},va:{$:0,gs:{$:0}},vf:{$:0,gs:{$:0}},akrehamn:{$:0},"xn--krehamn-dxa":{$:0},algard:{$:0},"xn--lgrd-poac":{$:0},arna:{$:0},brumunddal:{$:0},bryne:{$:0},bronnoysund:{$:0},"xn--brnnysund-m8ac":{$:0},drobak:{$:0},"xn--drbak-wua":{$:0},egersund:{$:0},fetsund:{$:0},floro:{$:0},"xn--flor-jra":{$:0},fredrikstad:{$:0},hokksund:{$:0},honefoss:{$:0},"xn--hnefoss-q1a":{$:0},jessheim:{$:0},jorpeland:{$:0},"xn--jrpeland-54a":{$:0},kirkenes:{$:0},kopervik:{$:0},krokstadelva:{$:0},langevag:{$:0},"xn--langevg-jxa":{$:0},leirvik:{$:0},mjondalen:{$:0},"xn--mjndalen-64a":{$:0},"mo-i-rana":{$:0},mosjoen:{$:0},"xn--mosjen-eya":{$:0},nesoddtangen:{$:0},orkanger:{$:0},osoyro:{$:0},"xn--osyro-wua":{$:0},raholt:{$:0},"xn--rholt-mra":{$:0},sandnessjoen:{$:0},"xn--sandnessjen-ogb":{$:0},skedsmokorset:{$:0},slattum:{$:0},spjelkavik:{$:0},stathelle:{$:0},stavern:{$:0},stjordalshalsen:{$:0},"xn--stjrdalshalsen-sqb":{$:0},tananger:{$:0},tranby:{$:0},vossevangen:{$:0},afjord:{$:0},"xn--fjord-lra":{$:0},agdenes:{$:0},al:{$:0},"xn--l-1fa":{$:0},alesund:{$:0},"xn--lesund-hua":{$:0},alstahaug:{$:0},alta:{$:0},"xn--lt-liac":{$:0},alaheadju:{$:0},"xn--laheadju-7ya":{$:0},alvdal:{$:0},amli:{$:0},"xn--mli-tla":{$:0},amot:{$:0},"xn--mot-tla":{$:0},andebu:{$:0},andoy:{$:0},"xn--andy-ira":{$:0},andasuolo:{$:0},ardal:{$:0},"xn--rdal-poa":{$:0},aremark:{$:0},arendal:{$:0},"xn--s-1fa":{$:0},aseral:{$:0},"xn--seral-lra":{$:0},asker:{$:0},askim:{$:0},askvoll:{$:0},askoy:{$:0},"xn--asky-ira":{$:0},asnes:{$:0},"xn--snes-poa":{$:0},audnedaln:{$:0},aukra:{$:0},aure:{$:0},aurland:{$:0},"aurskog-holand":{$:0},"xn--aurskog-hland-jnb":{$:0},austevoll:{$:0},austrheim:{$:0},averoy:{$:0},"xn--avery-yua":{$:0},balestrand:{$:0},ballangen:{$:0},balat:{$:0},"xn--blt-elab":{$:0},balsfjord:{$:0},bahccavuotna:{$:0},"xn--bhccavuotna-k7a":{$:0},bamble:{$:0},bardu:{$:0},beardu:{$:0},beiarn:{$:0},bajddar:{$:0},"xn--bjddar-pta":{$:0},baidar:{$:0},"xn--bidr-5nac":{$:0},berg:{$:0},bergen:{$:0},berlevag:{$:0},"xn--berlevg-jxa":{$:0},bearalvahki:{$:0},"xn--bearalvhki-y4a":{$:0},bindal:{$:0},birkenes:{$:0},bjarkoy:{$:0},"xn--bjarky-fya":{$:0},bjerkreim:{$:0},bjugn:{$:0},bodo:{$:0},"xn--bod-2na":{$:0},badaddja:{$:0},"xn--bdddj-mrabd":{$:0},budejju:{$:0},bokn:{$:0},bremanger:{$:0},bronnoy:{$:0},"xn--brnny-wuac":{$:0},bygland:{$:0},bykle:{$:0},barum:{$:0},"xn--brum-voa":{$:0},telemark:{bo:{$:0},"xn--b-5ga":{$:0}},nordland:{bo:{$:0},"xn--b-5ga":{$:0},heroy:{$:0},"xn--hery-ira":{$:0}},bievat:{$:0},"xn--bievt-0qa":{$:0},bomlo:{$:0},"xn--bmlo-gra":{$:0},batsfjord:{$:0},"xn--btsfjord-9za":{$:0},bahcavuotna:{$:0},"xn--bhcavuotna-s4a":{$:0},dovre:{$:0},drammen:{$:0},drangedal:{$:0},dyroy:{$:0},"xn--dyry-ira":{$:0},donna:{$:0},"xn--dnna-gra":{$:0},eid:{$:0},eidfjord:{$:0},eidsberg:{$:0},eidskog:{$:0},eidsvoll:{$:0},eigersund:{$:0},elverum:{$:0},enebakk:{$:0},engerdal:{$:0},etne:{$:0},etnedal:{$:0},evenes:{$:0},evenassi:{$:0},"xn--eveni-0qa01ga":{$:0},"evje-og-hornnes":{$:0},farsund:{$:0},fauske:{$:0},fuossko:{$:0},fuoisku:{$:0},fedje:{$:0},fet:{$:0},finnoy:{$:0},"xn--finny-yua":{$:0},fitjar:{$:0},fjaler:{$:0},fjell:{$:0},flakstad:{$:0},flatanger:{$:0},flekkefjord:{$:0},flesberg:{$:0},flora:{$:0},fla:{$:0},"xn--fl-zia":{$:0},folldal:{$:0},forsand:{$:0},fosnes:{$:0},frei:{$:0},frogn:{$:0},froland:{$:0},frosta:{$:0},frana:{$:0},"xn--frna-woa":{$:0},froya:{$:0},"xn--frya-hra":{$:0},fusa:{$:0},fyresdal:{$:0},forde:{$:0},"xn--frde-gra":{$:0},gamvik:{$:0},gangaviika:{$:0},"xn--ggaviika-8ya47h":{$:0},gaular:{$:0},gausdal:{$:0},gildeskal:{$:0},"xn--gildeskl-g0a":{$:0},giske:{$:0},gjemnes:{$:0},gjerdrum:{$:0},gjerstad:{$:0},gjesdal:{$:0},gjovik:{$:0},"xn--gjvik-wua":{$:0},gloppen:{$:0},gol:{$:0},gran:{$:0},grane:{$:0},granvin:{$:0},gratangen:{$:0},grimstad:{$:0},grong:{$:0},kraanghke:{$:0},"xn--kranghke-b0a":{$:0},grue:{$:0},gulen:{$:0},hadsel:{$:0},halden:{$:0},halsa:{$:0},hamar:{$:0},hamaroy:{$:0},habmer:{$:0},"xn--hbmer-xqa":{$:0},hapmir:{$:0},"xn--hpmir-xqa":{$:0},hammerfest:{$:0},hammarfeasta:{$:0},"xn--hmmrfeasta-s4ac":{$:0},haram:{$:0},hareid:{$:0},harstad:{$:0},hasvik:{$:0},aknoluokta:{$:0},"xn--koluokta-7ya57h":{$:0},hattfjelldal:{$:0},aarborte:{$:0},haugesund:{$:0},hemne:{$:0},hemnes:{$:0},hemsedal:{$:0},"more-og-romsdal":{heroy:{$:0},sande:{$:0}},"xn--mre-og-romsdal-qqb":{"xn--hery-ira":{$:0},sande:{$:0}},hitra:{$:0},hjartdal:{$:0},hjelmeland:{$:0},hobol:{$:0},"xn--hobl-ira":{$:0},hof:{$:0},hol:{$:0},hole:{$:0},holmestrand:{$:0},holtalen:{$:0},"xn--holtlen-hxa":{$:0},hornindal:{$:0},horten:{$:0},hurdal:{$:0},hurum:{$:0},hvaler:{$:0},hyllestad:{$:0},hagebostad:{$:0},"xn--hgebostad-g3a":{$:0},hoyanger:{$:0},"xn--hyanger-q1a":{$:0},hoylandet:{$:0},"xn--hylandet-54a":{$:0},ha:{$:0},"xn--h-2fa":{$:0},ibestad:{$:0},inderoy:{$:0},"xn--indery-fya":{$:0},iveland:{$:0},jevnaker:{$:0},jondal:{$:0},jolster:{$:0},"xn--jlster-bya":{$:0},karasjok:{$:0},karasjohka:{$:0},"xn--krjohka-hwab49j":{$:0},karlsoy:{$:0},galsa:{$:0},"xn--gls-elac":{$:0},karmoy:{$:0},"xn--karmy-yua":{$:0},kautokeino:{$:0},guovdageaidnu:{$:0},klepp:{$:0},klabu:{$:0},"xn--klbu-woa":{$:0},kongsberg:{$:0},kongsvinger:{$:0},kragero:{$:0},"xn--krager-gya":{$:0},kristiansand:{$:0},kristiansund:{$:0},krodsherad:{$:0},"xn--krdsherad-m8a":{$:0},kvalsund:{$:0},rahkkeravju:{$:0},"xn--rhkkervju-01af":{$:0},kvam:{$:0},kvinesdal:{$:0},kvinnherad:{$:0},kviteseid:{$:0},kvitsoy:{$:0},"xn--kvitsy-fya":{$:0},kvafjord:{$:0},"xn--kvfjord-nxa":{$:0},giehtavuoatna:{$:0},kvanangen:{$:0},"xn--kvnangen-k0a":{$:0},navuotna:{$:0},"xn--nvuotna-hwa":{$:0},kafjord:{$:0},"xn--kfjord-iua":{$:0},gaivuotna:{$:0}
82,"xn--givuotna-8ya":{$:0},larvik:{$:0},lavangen:{$:0},lavagis:{$:0},loabat:{$:0},"xn--loabt-0qa":{$:0},lebesby:{$:0},davvesiida:{$:0},leikanger:{$:0},leirfjord:{$:0},leka:{$:0},leksvik:{$:0},lenvik:{$:0},leangaviika:{$:0},"xn--leagaviika-52b":{$:0},lesja:{$:0},levanger:{$:0},lier:{$:0},lierne:{$:0},lillehammer:{$:0},lillesand:{$:0},lindesnes:{$:0},lindas:{$:0},"xn--linds-pra":{$:0},lom:{$:0},loppa:{$:0},lahppi:{$:0},"xn--lhppi-xqa":{$:0},lund:{$:0},lunner:{$:0},luroy:{$:0},"xn--lury-ira":{$:0},luster:{$:0},lyngdal:{$:0},lyngen:{$:0},ivgu:{$:0},lardal:{$:0},lerdal:{$:0},"xn--lrdal-sra":{$:0},lodingen:{$:0},"xn--ldingen-q1a":{$:0},lorenskog:{$:0},"xn--lrenskog-54a":{$:0},loten:{$:0},"xn--lten-gra":{$:0},malvik:{$:0},masoy:{$:0},"xn--msy-ula0h":{$:0},muosat:{$:0},"xn--muost-0qa":{$:0},mandal:{$:0},marker:{$:0},marnardal:{$:0},masfjorden:{$:0},meland:{$:0},meldal:{$:0},melhus:{$:0},meloy:{$:0},"xn--mely-ira":{$:0},meraker:{$:0},"xn--merker-kua":{$:0},moareke:{$:0},"xn--moreke-jua":{$:0},midsund:{$:0},"midtre-gauldal":{$:0},modalen:{$:0},modum:{$:0},molde:{$:0},moskenes:{$:0},moss:{$:0},mosvik:{$:0},malselv:{$:0},"xn--mlselv-iua":{$:0},malatvuopmi:{$:0},"xn--mlatvuopmi-s4a":{$:0},namdalseid:{$:0},aejrie:{$:0},namsos:{$:0},namsskogan:{$:0},naamesjevuemie:{$:0},"xn--nmesjevuemie-tcba":{$:0},laakesvuemie:{$:0},nannestad:{$:0},narvik:{$:0},narviika:{$:0},naustdal:{$:0},"nedre-eiker":{$:0},akershus:{nes:{$:0}},buskerud:{nes:{$:0}},nesna:{$:0},nesodden:{$:0},nesseby:{$:0},unjarga:{$:0},"xn--unjrga-rta":{$:0},nesset:{$:0},nissedal:{$:0},nittedal:{$:0},"nord-aurdal":{$:0},"nord-fron":{$:0},"nord-odal":{$:0},norddal:{$:0},nordkapp:{$:0},davvenjarga:{$:0},"xn--davvenjrga-y4a":{$:0},"nordre-land":{$:0},nordreisa:{$:0},raisa:{$:0},"xn--risa-5na":{$:0},"nore-og-uvdal":{$:0},notodden:{$:0},naroy:{$:0},"xn--nry-yla5g":{$:0},notteroy:{$:0},"xn--nttery-byae":{$:0},odda:{$:0},oksnes:{$:0},"xn--ksnes-uua":{$:0},oppdal:{$:0},oppegard:{$:0},"xn--oppegrd-ixa":{$:0},orkdal:{$:0},orland:{$:0},"xn--rland-uua":{$:0},orskog:{$:0},"xn--rskog-uua":{$:0},orsta:{$:0},"xn--rsta-fra":{$:0},hedmark:{os:{$:0},valer:{$:0},"xn--vler-qoa":{$:0}},hordaland:{os:{$:0}},osen:{$:0},osteroy:{$:0},"xn--ostery-fya":{$:0},"ostre-toten":{$:0},"xn--stre-toten-zcb":{$:0},overhalla:{$:0},"ovre-eiker":{$:0},"xn--vre-eiker-k8a":{$:0},oyer:{$:0},"xn--yer-zna":{$:0},oygarden:{$:0},"xn--ygarden-p1a":{$:0},"oystre-slidre":{$:0},"xn--ystre-slidre-ujb":{$:0},porsanger:{$:0},porsangu:{$:0},"xn--porsgu-sta26f":{$:0},porsgrunn:{$:0},radoy:{$:0},"xn--rady-ira":{$:0},rakkestad:{$:0},rana:{$:0},ruovat:{$:0},randaberg:{$:0},rauma:{$:0},rendalen:{$:0},rennebu:{$:0},rennesoy:{$:0},"xn--rennesy-v1a":{$:0},rindal:{$:0},ringebu:{$:0},ringerike:{$:0},ringsaker:{$:0},rissa:{$:0},risor:{$:0},"xn--risr-ira":{$:0},roan:{$:0},rollag:{$:0},rygge:{$:0},ralingen:{$:0},"xn--rlingen-mxa":{$:0},rodoy:{$:0},"xn--rdy-0nab":{$:0},romskog:{$:0},"xn--rmskog-bya":{$:0},roros:{$:0},"xn--rros-gra":{$:0},rost:{$:0},"xn--rst-0na":{$:0},royken:{$:0},"xn--ryken-vua":{$:0},royrvik:{$:0},"xn--ryrvik-bya":{$:0},rade:{$:0},"xn--rde-ula":{$:0},salangen:{$:0},siellak:{$:0},saltdal:{$:0},salat:{$:0},"xn--slt-elab":{$:0},"xn--slat-5na":{$:0},samnanger:{$:0},vestfold:{sande:{$:0}},sandefjord:{$:0},sandnes:{$:0},sandoy:{$:0},"xn--sandy-yua":{$:0},sarpsborg:{$:0},sauda:{$:0},sauherad:{$:0},sel:{$:0},selbu:{$:0},selje:{$:0},seljord:{$:0},sigdal:{$:0},siljan:{$:0},sirdal:{$:0},skaun:{$:0},skedsmo:{$:0},ski:{$:0},skien:{$:0},skiptvet:{$:0},skjervoy:{$:0},"xn--skjervy-v1a":{$:0},skierva:{$:0},"xn--skierv-uta":{$:0},skjak:{$:0},"xn--skjk-soa":{$:0},skodje:{$:0},skanland:{$:0},"xn--sknland-fxa":{$:0},skanit:{$:0},"xn--sknit-yqa":{$:0},smola:{$:0},"xn--smla-hra":{$:0},snillfjord:{$:0},snasa:{$:0},"xn--snsa-roa":{$:0},snoasa:{$:0},snaase:{$:0},"xn--snase-nra":{$:0},sogndal:{$:0},sokndal:{$:0},sola:{$:0},solund:{$:0},songdalen:{$:0},sortland:{$:0},spydeberg:{$:0},stange:{$:0},stavanger:{$:0},steigen:{$:0},steinkjer:{$:0},stjordal:{$:0},"xn--stjrdal-s1a":{$:0},stokke:{$:0},"stor-elvdal":{$:0},stord:{$:0},stordal:{$:0},storfjord:{$:0},omasvuotna:{$:0},strand:{$:0},stranda:{$:0},stryn:{$:0},sula:{$:0},suldal:{$:0},sund:{$:0},sunndal:{$:0},surnadal:{$:0},sveio:{$:0},svelvik:{$:0},sykkylven:{$:0},sogne:{$:0},"xn--sgne-gra":{$:0},somna:{$:0},"xn--smna-gra":{$:0},"sondre-land":{$:0},"xn--sndre-land-0cb":{$:0},"sor-aurdal":{$:0},"xn--sr-aurdal-l8a":{$:0},"sor-fron":{$:0},"xn--sr-fron-q1a":{$:0},"sor-odal":{$:0},"xn--sr-odal-q1a":{$:0},"sor-varanger":{$:0},"xn--sr-varanger-ggb":{$:0},"matta-varjjat":{$:0},"xn--mtta-vrjjat-k7af":{$:0},sorfold:{$:0},"xn--srfold-bya":{$:0},sorreisa:{$:0},"xn--srreisa-q1a":{$:0},sorum:{$:0},"xn--srum-gra":{$:0},tana:{$:0},deatnu:{$:0},time:{$:0},tingvoll:{$:0},tinn:{$:0},tjeldsund:{$:0},dielddanuorri:{$:0},tjome:{$:0},"xn--tjme-hra":{$:0},tokke:{$:0},tolga:{$:0},torsken:{$:0},tranoy:{$:0},"xn--trany-yua":{$:0},tromso:{$:0},"xn--troms-zua":{$:0},tromsa:{$:0},romsa:{$:0},trondheim:{$:0},troandin:{$:0},trysil:{$:0},trana:{$:0}
82,"xn--trna-woa":{$:0},trogstad:{$:0},"xn--trgstad-r1a":{$:0},tvedestrand:{$:0},tydal:{$:0},tynset:{$:0},tysfjord:{$:0},divtasvuodna:{$:0},divttasvuotna:{$:0},tysnes:{$:0},tysvar:{$:0},"xn--tysvr-vra":{$:0},tonsberg:{$:0},"xn--tnsberg-q1a":{$:0},ullensaker:{$:0},ullensvang:{$:0},ulvik:{$:0},utsira:{$:0},vadso:{$:0},"xn--vads-jra":{$:0},cahcesuolo:{$:0},"xn--hcesuolo-7ya35b":{$:0},vaksdal:{$:0},valle:{$:0},vang:{$:0},vanylven:{$:0},vardo:{$:0},"xn--vard-jra":{$:0},varggat:{$:0},"xn--vrggt-xqad":{$:0},vefsn:{$:0},vaapste:{$:0},vega:{$:0},vegarshei:{$:0},"xn--vegrshei-c0a":{$:0},vennesla:{$:0},verdal:{$:0},verran:{$:0},vestby:{$:0},vestnes:{$:0},"vestre-slidre":{$:0},"vestre-toten":{$:0},vestvagoy:{$:0},"xn--vestvgy-ixa6o":{$:0},vevelstad:{$:0},vik:{$:0},vikna:{$:0},vindafjord:{$:0},volda:{$:0},voss:{$:0},varoy:{$:0},"xn--vry-yla5g":{$:0},vagan:{$:0},"xn--vgan-qoa":{$:0},voagat:{$:0},vagsoy:{$:0},"xn--vgsy-qoa0j":{$:0},vaga:{$:0},"xn--vg-yiab":{$:0},ostfold:{valer:{$:0}},"xn--stfold-9xa":{"xn--vler-qoa":{$:0}},co:{$:0},blogspot:{$:0}},np:{"*":{$:0}},nr:{$:0,biz:{$:0},info:{$:0},gov:{$:0},edu:{$:0},org:{$:0}
vendor: 2,760 bytes, line 82
82,net:{$:0},com:{$:0}},nu:{$:0,merseine:{$:0},mine:{$:0},shacknet:{$:0},nom:{$:0}},nz:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},cri:{$:0},geek:{$:0},gen:{$:0},govt:{$:0},health:{$:0},iwi:{$:0},kiwi:{$:0},maori:{$:0},mil:{$:0},"xn--mori-qsa":{$:0},net:{$:0},org:{$:0},parliament:{$:0},school:{$:0},nym:{$:0}},om:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},med:{$:0},museum:{$:0},net:{$:0},org:{$:0},pro:{$:0}},onion:{$:0},org:{$:0,amune:{tele:{$:0}},pimienta:{$:0},poivron:{$:0},potager:{$:0},sweetpepper:{$:0},ae:{$:0},us:{$:0},certmgr:{$:0},cdn77:{c:{$:0},rsc:{$:0}},"cdn77-secure":{origin:{ssl:{$:0}}},cloudns:{$:0},duckdns:{$:0},tunk:{$:0},dyndns:{$:0,go:{$:0},home:{$:0}},blogdns:{$:0},blogsite:{$:0},boldlygoingnowhere:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},dvrdns:{$:0},dynalias:{$:0},endofinternet:{$:0},endoftheinternet:{$:0},"from-me":{$:0},"game-host":{$:0},gotdns:{$:0},"hobby-site":{$:0},homedns:{$:0},homeftp:{$:0},homelinux:{$:0},homeunix:{$:0},"is-a-bruinsfan":{$:0},"is-a-candidate":{$:0},"is-a-celticsfan":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"is-a-knight":{$:0},"is-a-linux-user":{$:0},"is-a-patsfan":{$:0},"is-a-soxfan":{$:0},"is-found":{$:0},"is-lost":{$:0},"is-saved":{$:0},"is-very-bad":{$:0},"is-very-evil":{$:0},"is-very-good":{$:0},"is-very-nice":{$:0},"is-very-sweet":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},misconfused:{$:0},podzone:{$:0},readmyblog:{$:0},selfip:{$:0},sellsyourhome:{$:0},servebbs:{$:0},serveftp:{$:0},servegame:{$:0},"stuff-4-sale":{$:0},webhop:{$:0},ddnss:{$:0},accesscam:{$:0},camdvr:{$:0},freeddns:{$:0},mywire:{$:0},webredirect:{$:0},eu:{$:0,al:{$:0},asso:{$:0},at:{$:0},au:{$:0},be:{$:0},bg:{$:0},ca:{$:0},cd:{$:0},ch:{$:0},cn:{$:0},cy:{$:0},cz:{$:0},de:{$:0},dk:{$:0},edu:{$:0},ee:{$:0},es:{$:0},fi:{$:0},fr:{$:0},gr:{$:0},hr:{$:0},hu:{$:0},ie:{$:0},il:{$:0},in:{$:0},int:{$:0},is:{$:0},it:{$:0},jp:{$:0},kr:{$:0},lt:{$:0},lu:{$:0},lv:{$:0},mc:{$:0},me:{$:0},mk:{$:0},mt:{$:0},my:{$:0},net:{$:0},ng:{$:0},nl:{$:0},no:{$:0},nz:{$:0},paris:{$:0},pl:{$:0},pt:{$:0},"q-a":{$:0},ro:{$:0},ru:{$:0},se:{$:0},si:{$:0},sk:{$:0},tr:{$:0},uk:{$:0},us:{$:0}},twmail:{$:0},fedorainfracloud:{$:0},fedorapeople:{$:0},fedoraproject:{cloud:{$:0},os:{app:{$:0}},stg:{os:{app:{$:0}}}},hepforge:{$:0},js:{$:0},bmoattachments:{$:0},"cable-modem":{$:0},collegefan:{$:0},couchpotatofries:{$:0},mlbfan:{$:0},mysecuritycamera:{$:0},nflfan:{$:0},"read-books":{$:0},ufcfan:{$:0},hopto:{$:0},myftp:{$:0},"no-ip":{$:0},zapto:{$:0},"my-firewall":{$:0},myfirewall:{$:0},spdns:{$:0},dsmynas:{$:0},familyds:{$:0},tuxfamily:{$:0},diskstation:{$:0},hk:{$:0},wmflabs:{$:0},za:{$:0}},pa:{$:0,ac:{$:0},gob:{$:0},com:{$:0},org:{$:0},sld:{$:0},edu:{$:0},net:{$:0},ing:{$:0},abo:{$:0},med:{$:0},nom:{$:0}}
82,pe:{$:0,edu:{$:0},gob:{$:0},nom:{$:0},mil:{$:0},org:{$:0},com:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},pf:{$:0,com:{$:0},org:{$:0},edu:{$:0}},pg:{"*":{$:0}},ph:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},ngo:{$:0},mil:{$:0},i:{$:0}},pk:{$:0,com:{$:0},net:{$:0},edu:{$:0},org:{$:0},fam:{$:0},biz:{$:0},web:{$:0},gov:{$:0},gob:{$:0},gok:{$:0},gon:{$:0},gop:{$:0},gos:{$:0},info:{$:0}},pl:{$:0,com:{$:0},net:{$:0},org:{$:0},aid:{$:0},agro:{$:0},atm:{$:0},auto:{$:0},biz:{$:0},edu:{$:0},gmina:{$:0},gsm:{$:0},info:{$:0},mail:{$:0},miasta:{$:0},media:{$:0},mil:{$:0},nieruchomosci:{$:0},nom:{$:0},pc:{$:0},powiat:{$:0},priv:{$:0},realestate:{$:0},rel:{$:0},sex:{$:0},shop:{$:0},sklep:{$:0},sos:{$:0},szkola:{$:0},targi:{$:0},tm:{$:0},tourism:{$:0},travel:{$:0},turystyka:{$:0},gov:{$:0,ap:{$:0},ic:{$:0},is:{$:0},us:{$:0},kmpsp:{$:0},kppsp:{$:0},kwpsp:{$:0},psp:{$:0},wskr:{$:0},kwp:{$:0},mw:{$:0},ug:{$:0},um:{$:0},umig:{$:0},ugim:{$:0},upow:{$:0},uw:{$:0},starostwo:{$:0},pa:{$:0},po:{$:0},psse:{$:0},pup:{$:0},rzgw:{$:0},sa:{$:0},so:{$:0},sr:{$:0},wsa:{$:0},sko:{$:0},uzs:{$:0},wiih:{$:0},winb:{$:0},pinb:{$:0},wios:{$:0},witd:{$:0},wzmiuw:{$:0},piw:{$:0},wiw:{$:0},griw:{$:0},wif:{$:0},oum:{$:0},sdn:{$:0},zp:{$:0},uppo:{$:0},mup:{$:0},wuoz:{$:0},konsulat:{$:0},oirm:{$:0}},augustow:{$:0},"babia-gora":{$:0},bedzin:{$:0},beskidy:{$:0},bialowieza:{$:0},bialystok:{$:0},bielawa:{$:0},bieszczady:{$:0},boleslawiec:{$:0},bydgoszcz:{$:0},bytom:{$:0},cieszyn:{$:0},czeladz:{$:0},czest:{$:0},dlugoleka:{$:0},elblag:{$:0},elk:{$:0},glogow:{$:0},gniezno:{$:0},gorlice:{$:0},grajewo:{$:0},ilawa:{$:0},jaworzno:{$:0},"jelenia-gora":{$:0},jgora:{$:0},kalisz:{$:0},"kazimierz-dolny":{$:0},karpacz:{$:0},kartuzy:{$:0},kaszuby:{$:0},katowice:{$:0},kepno:{$:0},ketrzyn:{$:0},klodzko:{$:0},kobierzyce:{$:0},kolobrzeg:{$:0},konin:{$:0},konskowola:{$:0},kutno:{$:0},lapy:{$:0},lebork:{$:0},legnica:{$:0},lezajsk:{$:0},limanowa:{$:0},lomza:{$:0},lowicz:{$:0},lubin:{$:0},lukow:{$:0},malbork:{$:0},malopolska:{$:0},mazowsze:{$:0},mazury:{$:0},mielec:{$:0},mielno:{$:0},mragowo:{$:0},naklo:{$:0},nowaruda:{$:0},nysa:{$:0},olawa:{$:0},olecko:{$:0},olkusz:{$:0},olsztyn:{$:0},opoczno:{$:0},opole:{$:0},ostroda:{$:0},ostroleka:{$:0},ostrowiec:{$:0},ostrowwlkp:{$:0},pila:{$:0},pisz:{$:0},podhale:{$:0},podlasie:{$:0},polkowice:{$:0},pomorze:{$:0},pomorskie:{$:0},prochowice:{$:0},pruszkow:{$:0},przeworsk:{$:0},pulawy:{$:0},radom:{$:0},"rawa-maz":{$:0},rybnik:{$:0},rzeszow:{$:0},sanok:{$:0},sejny:{$:0},slask:{$:0},slupsk:{$:0},sosnowiec:{$:0},"stalowa-wola":{$:0},skoczow:{$:0},starachowice:{$:0},stargard:{$:0},suwalki:{$:0},swidnica:{$:0},swiebodzin:{$:0},swinoujscie:{$:0},szczecin:{$:0},szczytno:{$:0},tarnobrzeg:{$:0},tgory:{$:0},turek:{$:0},tychy:{$:0},ustka:{$:0},walbrzych:{$:0},warmia:{$:0},warszawa:{$:0},waw:{$:0},wegrow:{$:0},wielun:{$:0},wlocl:{$:0},wloclawek:{$:0},wodzislaw:{$:0},wolomin:{$:0},wroclaw:{$:0},zachpomor:{$:0},zagan:{$:0},zarow:{$:0},zgora:{$:0},zgorzelec:{$:0},beep:{$:0},co:{$:0},art:{$:0},gliwice:{$:0},krakow:{$:0},poznan:{$:0},wroc:{$:0},zakopane:{$:0},gda:{$:0},gdansk:{$:0},gdynia:{$:0},med:{$:0},sopot:{$:0}},pm:{$:0},pn:{$:0,gov:{$:0},co:{$:0},org:{$:0},edu:{$:0},net:{$:0}},post:{$:0},pr:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},isla:{$:0},pro:{$:0},biz:{$:0},info:{$:0},name:{$:0},est:{$:0},prof:{$:0},ac:{$:0}},pro:{$:0,aaa:{$:0},aca:{$:0},acct:{$:0},avocat:{$:0},bar:{$:0},cpa:{$:0},eng:{$:0},jur:{$:0},law:{$:0},med:{$:0},recht:{$:0},cloudns:{$:0}},ps:{$:0,edu:{$:0},gov:{$:0},sec:{$:0},plo:{$:0},com:{$:0},org:{$:0},net:{$:0}},pt:{$:0,net:{$:0},gov:{$:0},org:{$:0},edu:{$:0},int:{$:0},publ:{$:0},com:{$:0},nome:{$:0},blogspot:{$:0},nym:{$:0}},pw:{$:0,co:{$:0},ne:{$:0},or:{$:0},ed:{$:0},go:{$:0},belau:{$:0},cloudns:{$:0},nom:{$:0}},py:{$:0,com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},qa:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0},blogspot:{$:0},nom:{$:0}},re:{$:0,asso:{$:0},com:{$:0},nom:{$:0},blogspot:{$:0}},ro:{$:0,arts:{$:0},com:{$:0},firm:{$:0},info:{$:0},nom:{$:0},nt:{$:0},org:{$:0},rec:{$:0},store:{$:0},tm:{$:0},www:{$:0},shop:{$:0},blogspot:{$:0}},rs:{$:0,ac:{$:0},co:{$:0},edu:{$:0},gov:{$:0},in:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},ru:{$:0,ac:{$:0},edu:{$:0},gov:{$:0},int:{$:0},mil:{$:0},test:{$:0},adygeya:{$:0},bashkiria:{$:0},bir:{$:0},cbg:{$:0},com:{$:0},dagestan:{$:0},grozny:{$:0},kalmykia:{$:0},kustanai:{$:0},marine:{$:0},mordovia:{$:0},msk:{$:0},mytis:{$:0},nalchik:{$:0},nov:{$:0},pyatigorsk:{$:0},spb:{$:0},vladikavkaz:{$:0},vladimir:{$:0},blogspot:{$:0},cldmail:{hb:{$:0}},net:{$:0},org:{$:0},pp:{$:0}},rw:{$:0,gov:{$:0},net:{$:0},edu:{$:0},ac:{$:0},com:{$:0},co:{$:0},int:{$:0},mil:{$:0},gouv:{$:0}},sa:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},gov:{$:0},med:{$:0},pub:{$:0},edu:{$:0},sch:{$:0}},sb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},sc:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0}},sd:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},med:{$:0},tv:{$:0},gov:{$:0},info:{$:0}},se:{$:0,a:{$:0},ac:{$:0},b:{$:0},bd:{$:0},brand:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},fh:{$:0},fhsk:{$:0},fhv:{$:0},g:{$:0},h:{$:0},i:{$:0},k:{$:0},komforb:{$:0},kommunalforbund:{$:0},komvux:{$:0},l:{$:0},lanbib:{$:0},m:{$:0},n:{$:0},naturbruksgymn:{$:0},o:{$:0},org:{$:0},p:{$:0},parti:{$:0},pp:{$:0},press:{$:0},r:{$:0},s:{$:0},t:{$:0},tm:{$:0},u:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},com:{$:0},blogspot:{$:0}},sg:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},per:{$:0},blogspot:{$:0}},sh:{$:0,com:{$:0},net:{$:0},gov:{$:0},org:{$:0},mil:{$:0},hashbang:{$:0},platform:{"*":{$:0}},wedeploy:{$:0},now:{$:0}},si:{$:0,blogspot:{$:0},nom:{$:0}},sj:{$:0},sk:{$:0,blogspot:{$:0},nym:{$:0}},sl:{$:0,com:{$:0},net:{$:0},edu:{$:0},gov:{$:0},org:{$:0}},sm:{$:0},sn:{$:0,art:{$:0},com:{$:0},edu:{$:0},gouv:{$:0},org:{$:0},perso:{$:0},univ:{$:0},blogspot:{$:0}},so:{$:0,com:{$:0}
82,net:{$:0},org:{$:0}},sr:{$:0},st:{$:0,co:{$:0},com:{$:0},consulado:{$:0},edu:{$:0},embaixada:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},principe:{$:0},saotome:{$:0},store:{$:0}},su:{$:0,abkhazia:{$:0},adygeya:{$:0},aktyubinsk:{$:0},arkhangelsk:{$:0},armenia:{$:0},ashgabad:{$:0},azerbaijan:{$:0},balashov:{$:0},bashkiria:{$:0},bryansk:{$:0},bukhara:{$:0},chimkent:{$:0},dagestan:{$:0},"east-kazakhstan":{$:0},exnet:{$:0},georgia:{$:0},grozny:{$:0},ivanovo:{$:0},jambyl:{$:0},kalmykia:{$:0},kaluga:{$:0},karacol:{$:0},karaganda:{$:0},karelia:{$:0},khakassia:{$:0},krasnodar:{$:0},kurgan:{$:0},kustanai:{$:0},lenug:{$:0},mangyshlak:{$:0},mordovia:{$:0},msk:{$:0},murmansk:{$:0},nalchik:{$:0},navoi:{$:0},"north-kazakhstan":{$:0},nov:{$:0},obninsk:{$:0},penza:{$:0},pokrovsk:{$:0},sochi:{$:0},spb:{$:0},tashkent:{$:0},termez:{$:0},togliatti:{$:0},troitsk:{$:0},tselinograd:{$:0},tula:{$:0},tuva:{$:0},vladikavkaz:{$:0},vladimir:{$:0},vologda:{$:0},nym:{$:0}},sv:{$:0,com:{$:0},edu:{$:0},gob:{$:0},org:{$:0},red:{$:0}},sx:{$:0,gov:{$:0},nym:{$:0}},sy:{$:0,edu:{$:0},gov:{$:0},net:{$:0},mil:{$:0},com:{$:0},org:{$:0}},sz:{$:0,co:{$:0},ac:{$:0},org:{$:0}},tc:{$:0},td:{$:0,blogspot:{$:0}},tel:{$:0},tf:{$:0},tg:{$:0},th:{$:0,ac:{$:0},co:{$:0},go:{$:0},in:{$:0},mi:{$:0},net:{$:0},or:{$:0}},tj:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},go:{$:0},gov:{$:0},int:{$:0},mil:{$:0},name:{$:0},net:{$:0},nic:{$:0},org:{$:0},test:{$:0},web:{$:0}},tk:{$:0},tl:{$:0,gov:{$:0}},tm:{$:0,com:{$:0},co:{$:0},org:{$:0}
vendor: 4,105 bytes, line 82
82,net:{$:0},nom:{$:0},gov:{$:0},mil:{$:0},edu:{$:0}},tn:{$:0,com:{$:0},ens:{$:0},fin:{$:0},gov:{$:0},ind:{$:0},intl:{$:0},nat:{$:0},net:{$:0},org:{$:0},info:{$:0},perso:{$:0},tourism:{$:0},edunet:{$:0},rnrt:{$:0},rns:{$:0},rnu:{$:0},mincom:{$:0},agrinet:{$:0},defense:{$:0},turen:{$:0}},to:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0},mil:{$:0},vpnplus:{$:0}},tr:{$:0,com:{$:0,blogspot:{$:0}},info:{$:0},biz:{$:0},net:{$:0},org:{$:0},web:{$:0},gen:{$:0},tv:{$:0},av:{$:0},dr:{$:0},bbs:{$:0},name:{$:0},tel:{$:0},gov:{$:0},bel:{$:0},pol:{$:0},mil:{$:0},k12:{$:0},edu:{$:0},kep:{$:0},nc:{$:0,gov:{$:0}}},travel:{$:0},tt:{$:0,co:{$:0},com:{$:0},org:{$:0},net:{$:0},biz:{$:0},info:{$:0},pro:{$:0},int:{$:0},coop:{$:0},jobs:{$:0},mobi:{$:0},travel:{$:0},museum:{$:0},aero:{$:0},name:{$:0},gov:{$:0},edu:{$:0}},tv:{$:0,dyndns:{$:0},"better-than":{$:0},"on-the-web":{$:0},"worse-than":{$:0}},tw:{$:0,edu:{$:0},gov:{$:0},mil:{$:0},com:{$:0,mymailer:{$:0}},net:{$:0},org:{$:0},idv:{$:0},game:{$:0},ebiz:{$:0},club:{$:0},"xn--zf0ao64a":{$:0},"xn--uc0atv":{$:0},"xn--czrw28b":{$:0},url:{$:0},blogspot:{$:0},nym:{$:0}},tz:{$:0,ac:{$:0},co:{$:0},go:{$:0},hotel:{$:0},info:{$:0},me:{$:0},mil:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0},tv:{$:0}},ua:{$:0,com:{$:0},edu:{$:0},gov:{$:0},in:{$:0},net:{$:0},org:{$:0},cherkassy:{$:0},cherkasy:{$:0},chernigov:{$:0},chernihiv:{$:0},chernivtsi:{$:0},chernovtsy:{$:0},ck:{$:0},cn:{$:0},cr:{$:0},crimea:{$:0},cv:{$:0},dn:{$:0},dnepropetrovsk:{$:0},dnipropetrovsk:{$:0},dominic:{$:0},donetsk:{$:0},dp:{$:0},if:{$:0},"ivano-frankivsk":{$:0},kh:{$:0},kharkiv:{$:0},kharkov:{$:0},kherson:{$:0},khmelnitskiy:{$:0},khmelnytskyi:{$:0},kiev:{$:0},kirovograd:{$:0},km:{$:0},kr:{$:0},krym:{$:0},ks:{$:0},kv:{$:0},kyiv:{$:0},lg:{$:0},lt:{$:0},lugansk:{$:0},lutsk:{$:0},lv:{$:0},lviv:{$:0},mk:{$:0},mykolaiv:{$:0},nikolaev:{$:0},od:{$:0},odesa:{$:0},odessa:{$:0},pl:{$:0},poltava:{$:0},rivne:{$:0},rovno:{$:0},rv:{$:0},sb:{$:0},sebastopol:{$:0},sevastopol:{$:0},sm:{$:0},sumy:{$:0},te:{$:0},ternopil:{$:0},uz:{$:0},uzhgorod:{$:0},vinnica:{$:0},vinnytsia:{$:0},vn:{$:0},volyn:{$:0},yalta:{$:0},zaporizhzhe:{$:0},zaporizhzhia:{$:0},zhitomir:{$:0},zhytomyr:{$:0},zp:{$:0},zt:{$:0},cc:{$:0},inf:{$:0},ltd:{$:0},biz:{$:0},co:{$:0},pp:{$:0}},ug:{$:0,co:{$:0},or:{$:0},ac:{$:0},sc:{$:0},go:{$:0},ne:{$:0},com:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},uk:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0},"nh-serv":{$:0},"no-ip":{$:0},wellbeingzone:{$:0}},gov:{$:0,service:{$:0},homeoffice:{$:0}},ltd:{$:0},me:{$:0},net:{$:0},nhs:{$:0},org:{$:0},plc:{$:0},police:{$:0},sch:{"*":{$:0}}},us:{$:0,dni:{$:0},fed:{$:0},isa:{$:0},kids:{$:0},nsn:{$:0},ak:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},al:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ar:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},as:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},az:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ca:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},co:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ct:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},dc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},de:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},fl:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ga:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},gu:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},hi:{$:0,cc:{$:0},lib:{$:0}},ia:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},id:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},il:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},in:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ks:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ky:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},la:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ma:{$:0,k12:{$:0,pvt:{$:0},chtr:{$:0},paroch:{$:0}},cc:{$:0},lib:{$:0}},md:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},me:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0},"ann-arbor":{$:0},cog:{$:0},dst:{$:0},eaton:{$:0},gen:{$:0},mus:{$:0},tec:{$:0},washtenaw:{$:0}},mn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mo:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ms:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nd:{$:0,cc:{$:0},lib:{$:0}},ne:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nj:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nm:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nv:{$:0,k12:{$:0}
82,cc:{$:0},lib:{$:0}},ny:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},oh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ok:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},or:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pr:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ri:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sd:{$:0,cc:{$:0},lib:{$:0}},tn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},tx:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ut:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},va:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wv:{$:0,cc:{$:0}},wy:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},cloudns:{$:0},drud:{$:0},"is-by":{$:0},"land-4-sale":{$:0},"stuff-4-sale":{$:0},golffan:{$:0},noip:{$:0},pointto:{$:0}},uy:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gub:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},uz:{$:0,co:{$:0},com:{$:0},net:{$:0},org:{$:0}},va:{$:0},vc:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},mil:{$:0},edu:{$:0},nom:{$:0}},ve:{$:0,arts:{$:0},co:{$:0},com:{$:0},e12:{$:0},edu:{$:0},firm:{$:0},gob:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 2,204 bytes, line 82
82,net:{$:0},org:{$:0},rec:{$:0},store:{$:0},tec:{$:0},web:{$:0}},vg:{$:0,nom:{$:0}},vi:{$:0,co:{$:0},com:{$:0},k12:{$:0},net:{$:0},org:{$:0}},vn:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},int:{$:0},ac:{$:0},biz:{$:0},info:{$:0},name:{$:0},pro:{$:0},health:{$:0},blogspot:{$:0}},vu:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},wf:{$:0},ws:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},advisor:{"*":{$:0}},dyndns:{$:0},mypets:{$:0}},yt:{$:0},"xn--mgbaam7a8h":{$:0},"xn--y9a3aq":{$:0},"xn--54b7fta0cc":{$:0},"xn--90ae":{$:0},"xn--90ais":{$:0},"xn--fiqs8s":{$:0},"xn--fiqz9s":{$:0},"xn--lgbbat1ad8j":{$:0},"xn--wgbh1c":{$:0},"xn--e1a4c":{$:0},"xn--node":{$:0},"xn--qxam":{$:0},"xn--j6w193g":{$:0},"xn--2scrj9c":{$:0},"xn--3hcrj9c":{$:0},"xn--45br5cyl":{$:0},"xn--h2breg3eve":{$:0},"xn--h2brj9c8c":{$:0},"xn--mgbgu82a":{$:0},"xn--rvc1e0am3e":{$:0},"xn--h2brj9c":{$:0},"xn--mgbbh1a71e":{$:0},"xn--fpcrj9c3d":{$:0},"xn--gecrj9c":{$:0},"xn--s9brj9c":{$:0},"xn--45brj9c":{$:0},"xn--xkc2dl3a5ee0h":{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0},"xn--mgbtx2b":{$:0},"xn--mgbayh7gpa":{$:0},"xn--3e0b707e":{$:0},"xn--80ao21a":{$:0},"xn--fzc2c9e2c":{$:0},"xn--xkc2al3hye2a":{$:0},"xn--mgbc0a9azcg":{$:0},"xn--d1alf":{$:0},"xn--l1acc":{$:0},"xn--mix891f":{$:0},"xn--mix082f":{$:0},"xn--mgbx4cd0ab":{$:0},"xn--mgb9awbf":{$:0},"xn--mgbai9azgqp6j":{$:0},"xn--mgbai9a5eva00b":{$:0},"xn--ygbi2ammx":{$:0},"xn--90a3ac":{$:0,"xn--o1ac":{$:0},"xn--c1avg":{$:0},"xn--90azh":{$:0},"xn--d1at":{$:0},"xn--o1ach":{$:0},"xn--80au":{$:0}},"xn--p1ai":{$:0},"xn--wgbl6a":{$:0},"xn--mgberp4a5d4ar":{$:0},"xn--mgberp4a5d4a87g":{$:0},"xn--mgbqly7c0a67fbc":{$:0},"xn--mgbqly7cvafr":{$:0},"xn--mgbpl2fh":{$:0},"xn--yfro4i67o":{$:0},"xn--clchc0ea0b2g2a9gcd":{$:0},"xn--ogbpf8fl":{$:0},"xn--mgbtf8fl":{$:0},"xn--o3cw4h":{$:0,"xn--12c1fe0br":{$:0},"xn--12co0c3b4eva":{$:0},"xn--h3cuzk1di":{$:0},"xn--o3cyx2a":{$:0},"xn--m3ch0j3a":{$:0},"xn--12cfi8ixb8l":{$:0}},"xn--pgbs0dh":{$:0},"xn--kpry57d":{$:0},"xn--kprw13d":{$:0},"xn--nnx388a":{$:0},"xn--j1amh":{$:0},"xn--mgb2ddes":{$:0},xxx:{$:0},ye:{"*":{$:0}},za:{ac:{$:0},agric:{$:0},alt:{$:0},co:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},grondar:{$:0},law:{$:0},mil:{$:0}
82,net:{$:0},ngo:{$:0},nis:{$:0},nom:{$:0},org:{$:0},school:{$:0},tm:{$:0},web:{$:0}},zm:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},mil:{$:0},net:{$:0},org:{$:0},sch:{$:0}},zw:{$:0,ac:{$:0},co:{$:0},gov:{$:0},mil:{$:0},org:{$:0}},aaa:{$:0},aarp:{$:0},abarth:{$:0},abb:{$:0},abbott:{$:0},abbvie:{$:0},abc:{$:0},able:{$:0},abogado:{$:0},abudhabi:{$:0},academy:{$:0},accenture:{$:0},accountant:{$:0},accountants:{$:0},aco:{$:0},active:{$:0},actor:{$:0},adac:{$:0},ads:{$:0},adult:{$:0},aeg:{$:0},aetna:{$:0},afamilycompany:{$:0},afl:{$:0},africa:{$:0},agakhan:{$:0},agency:{$:0},aig:{$:0},aigo:{$:0},airbus:{$:0},airforce:{$:0},airtel:{$:0},akdn:{$:0},alfaromeo:{$:0},alibaba:{$:0},alipay:{$:0},allfinanz:{$:0},allstate:{$:0},ally:{$:0},alsace:{$:0},alstom:{$:0},americanexpress:{$:0},americanfamily:{$:0},amex:{$:0},amfam:{$:0},amica:{$:0},amsterdam:{$:0},analytics:{$:0},android:{$:0},anquan:{$:0},anz:{$:0},aol:{$:0},apartments:{$:0},app:{$:0},apple:{$:0},aquarelle:{$:0},arab:{$:0},aramco:{$:0},archi:{$:0},army:{$:0},art:{$:0},arte:{$:0},asda:{$:0},associates:{$:0},athleta:{$:0},attorney:{$:0},auction:{$:0},audi:{$:0},audible:{$:0},audio:{$:0},auspost:{$:0},author:{$:0},auto:{$:0},autos:{$:0},avianca:{$:0},aws:{$:0},axa:{$:0},azure:{$:0},baby:{$:0},baidu:{$:0},banamex:{$:0},bananarepublic:{$:0},band:{$:0},bank:{$:0},bar:{$:0},barcelona:{$:0},barclaycard:{$:0},barclays:{$:0},barefoot:{$:0},bargains:{$:0},baseball:{$:0},basketball:{$:0},bauhaus:{$:0},bayern:{$:0},bbc:{$:0},bbt:{$:0},bbva:{$:0},bcg:{$:0},bcn:{$:0},beats:{$:0},beauty:{$:0},beer:{$:0},bentley:{$:0},berlin:{$:0},best:{$:0},bestbuy:{$:0},bet:{$:0},bharti:{$:0},bible:{$:0},bid:{$:0},bike:{$:0},bing:{$:0},bingo:{$:0},bio:{$:0},black:{$:0},blackfriday:{$:0},blanco:{$:0},blockbuster:{$:0},blog:{$:0},bloomberg:{$:0},blue:{$:0},bms:{$:0},bmw:{$:0},bnl:{$:0},bnpparibas:{$:0},boats:{$:0},boehringer:{$:0},bofa:{$:0},bom:{$:0},bond:{$:0},boo:{$:0},book:{$:0},booking:{$:0},boots:{$:0},bosch:{$:0},bostik:{$:0},boston:{$:0},bot:{$:0},boutique:{$:0},box:{$:0},bradesco:{$:0},bridgestone:{$:0},broadway:{$:0},broker:{$:0},brother:{$:0},brussels:{$:0},budapest:{$:0},bugatti:{$:0},build:{$:0},builders:{$:0},business:{$:0},buy:{$:0},buzz:{$:0},bzh:{$:0},cab:{$:0},cafe:{$:0},cal:{$:0},call:{$:0},calvinklein:{$:0},cam:{$:0},camera:{$:0},camp:{$:0},cancerresearch:{$:0},canon:{$:0},capetown:{$:0},capital:{$:0},capitalone:{$:0},car:{$:0},caravan:{$:0},cards:{$:0},care:{$:0},career:{$:0},careers:{$:0},cars:{$:0},cartier:{$:0},casa:{$:0},case:{$:0},caseih:{$:0},cash:{$:0},casino:{$:0},catering:{$:0},catholic:{$:0},cba:{$:0},cbn:{$:0},cbre:{$:0},cbs:{$:0},ceb:{$:0},center:{$:0},ceo:{$:0},cern:{$:0},cfa:{$:0},cfd:{$:0},chanel:{$:0},channel:{$:0},chase:{$:0},chat:{$:0},cheap:{$:0},chintai:{$:0},christmas:{$:0},chrome:{$:0},chrysler:{$:0},church:{$:0},cipriani:{$:0},circle:{$:0},cisco:{$:0},citadel:{$:0},citi:{$:0},citic:{$:0},city:{$:0},cityeats:{$:0},claims:{$:0},cleaning:{$:0},click:{$:0},clinic:{$:0},clinique:{$:0},clothing:{$:0},cloud:{$:0,statics:{"*":{$:0}},magentosite:{"*":{$:0}},vapor:{$:0},sensiosite:{"*":{$:0}},trafficplex:{$:0}},club:{$:0,cloudns:{$:0}},clubmed:{$:0},coach:{$:0},codes:{$:0},coffee:{$:0},college:{$:0},cologne:{$:0},comcast:{$:0},commbank:{$:0},community:{$:0},company:{$:0},compare:{$:0},computer:{$:0},comsec:{$:0},condos:{$:0},construction:{$:0},consulting:{$:0},contact:{$:0},contractors:{$:0},cooking:{$:0},cookingchannel:{$:0},cool:{$:0,de:{$:0}},corsica:{$:0},country:{$:0},coupon:{$:0},coupons:{$:0},courses:{$:0},credit:{$:0},creditcard:{$:0},creditunion:{$:0},cricket:{$:0},crown:{$:0},crs:{$:0},cruise:{$:0},cruises:{$:0},csc:{$:0},cuisinella:{$:0},cymru:{$:0},cyou:{$:0},dabur:{$:0},dad:{$:0},dance:{$:0},data:{$:0},date:{$:0},dating:{$:0},datsun:{$:0},day:{$:0},dclk:{$:0},dds:{$:0},deal:{$:0},dealer:{$:0},deals:{$:0},degree:{$:0},delivery:{$:0},dell:{$:0},deloitte:{$:0},delta:{$:0},democrat:{$:0},dental:{$:0},dentist:{$:0},desi:{$:0},design:{$:0},dev:{$:0},dhl:{$:0},diamonds:{$:0},diet:{$:0},digital:{$:0},direct:{$:0},directory:{$:0},discount:{$:0},discover:{$:0},dish:{$:0},diy:{$:0},dnp:{$:0},docs:{$:0},doctor:{$:0},dodge:{$:0},dog:{$:0},doha:{$:0},domains:{$:0},dot:{$:0},download:{$:0},drive:{$:0},dtv:{$:0},dubai:{$:0},duck:{$:0},dunlop:{$:0},duns:{$:0},dupont:{$:0},durban:{$:0},dvag:{$:0},dvr:{$:0},earth:{$:0},eat:{$:0},eco:{$:0},edeka:{$:0},education:{$:0},email:{$:0},emerck:{$:0},energy:{$:0},engineer:{$:0},engineering:{$:0},enterprises:{$:0},epost:{$:0},epson:{$:0},equipment:{$:0},ericsson:{$:0},erni:{$:0},esq:{$:0},estate:{$:0,compute:{"*":{$:0}}},esurance:{$:0},etisalat:{$:0},eurovision:{$:0},eus:{$:0,party:{user:{$:0}}},events:{$:0},everbank:{$:0}
82,exchange:{$:0},expert:{$:0},exposed:{$:0},express:{$:0},extraspace:{$:0},fage:{$:0},fail:{$:0},fairwinds:{$:0},faith:{$:0,ybo:{$:0}},family:{$:0},fan:{$:0},fans:{$:0},farm:{$:0,storj:{$:0}},farmers:{$:0},fashion:{$:0},fast:{$:0},fedex:{$:0},feedback:{$:0},ferrari:{$:0},ferrero:{$:0},fiat:{$:0},fidelity:{$:0},fido:{$:0},film:{$:0},final:{$:0},finance:{$:0},financial:{$:0},fire:{$:0},firestone:{$:0},firmdale:{$:0},fish:{$:0},fishing:{$:0},fit:{$:0,ptplus:{$:0}},fitness:{$:0},flickr:{$:0},flights:{$:0},flir:{$:0},florist:{$:0},flowers:{$:0},fly:{$:0},foo:{$:0},food:{$:0},foodnetwork:{$:0},football:{$:0},ford:{$:0},forex:{$:0},forsale:{$:0},forum:{$:0},foundation:{$:0},fox:{$:0},free:{$:0},fresenius:{$:0},frl:{$:0},frogans:{$:0},frontdoor:{$:0},frontier:{$:0},ftr:{$:0},fujitsu:{$:0},fujixerox:{$:0},fun:{$:0},fund:{$:0},furniture:{$:0},futbol:{$:0},fyi:{$:0},gal:{$:0},gallery:{$:0},gallo:{$:0},gallup:{$:0},game:{$:0},games:{$:0},gap:{$:0},garden:{$:0},gbiz:{$:0},gdn:{$:0},gea:{$:0},gent:{$:0},genting:{$:0},george:{$:0},ggee:{$:0},gift:{$:0},gifts:{$:0},gives:{$:0},giving:{$:0},glade:{$:0},glass:{$:0},gle:{$:0},global:{$:0},globo:{$:0},gmail:{$:0},gmbh:{$:0},gmo:{$:0},gmx:{$:0},godaddy:{$:0},gold:{$:0},goldpoint:{$:0},golf:{$:0},goo:{$:0},goodhands:{$:0},goodyear:{$:0},goog:{$:0,cloud:{$:0}},google:{$:0},gop:{$:0},got:{$:0},grainger:{$:0},graphics:{$:0},gratis:{$:0},green:{$:0},gripe:{$:0},grocery:{$:0},group:{$:0},guardian:{$:0},gucci:{$:0},guge:{$:0},guide:{$:0},guitars:{$:0},guru:{$:0},hair:{$:0},hamburg:{$:0},hangout:{$:0},haus:{$:0},hbo:{$:0},hdfc:{$:0},hdfcbank:{$:0},health:{$:0},healthcare:{$:0},help:{$:0},helsinki:{$:0},here:{$:0},hermes:{$:0},hgtv:{$:0},hiphop:{$:0},hisamitsu:{$:0},hitachi:{$:0},hiv:{$:0},hkt:{$:0},hockey:{$:0},holdings:{$:0},holiday:{$:0},homedepot:{$:0},homegoods:{$:0},homes:{$:0},homesense:{$:0},honda:{$:0},honeywell:{$:0},horse:{$:0},hospital:{$:0},host:{$:0,cloudaccess:{$:0},freesite:{$:0}},hosting:{$:0,opencraft:{$:0}},hot:{$:0},hoteles:{$:0},hotels:{$:0},hotmail:{$:0},house:{$:0},how:{$:0},hsbc:{$:0},hughes:{$:0},hyatt:{$:0},hyundai:{$:0},ibm:{$:0},icbc:{$:0},ice:{$:0},icu:{$:0},ieee:{$:0},ifm:{$:0},ikano:{$:0},imamat:{$:0},imdb:{$:0},immo:{$:0},immobilien:{$:0},industries:{$:0},infiniti:{$:0},ing:{$:0},ink:{$:0},institute:{$:0},insurance:{$:0},insure:{$:0},intel:{$:0},international:{$:0},intuit:{$:0},investments:{$:0},ipiranga:{$:0},irish:{$:0},iselect:{$:0},ismaili:{$:0},ist:{$:0},istanbul:{$:0},itau:{$:0},itv:{$:0},iveco:{$:0},iwc:{$:0},jaguar:{$:0},java:{$:0},jcb:{$:0},jcp:{$:0},jeep:{$:0},jetzt:{$:0},jewelry:{$:0},jio:{$:0},jlc:{$:0},jll:{$:0},jmp:{$:0},jnj:{$:0},joburg:{$:0},jot:{$:0},joy:{$:0},jpmorgan:{$:0},jprs:{$:0},juegos:{$:0},juniper:{$:0},kaufen:{$:0},kddi:{$:0},kerryhotels:{$:0},kerrylogistics:{$:0},kerryproperties:{$:0},kfh:{$:0},kia:{$:0},kim:{$:0},kinder:{$:0},kindle:{$:0},kitchen:{$:0},kiwi:{$:0},koeln:{$:0},komatsu:{$:0},kosher:{$:0},kpmg:{$:0},kpn:{$:0},krd:{$:0,co:{$:0},edu:{$:0}},kred:{$:0},kuokgroup:{$:0},kyoto:{$:0},lacaixa:{$:0},ladbrokes:{$:0},lamborghini:{$:0},lamer:{$:0},lancaster:{$:0},lancia:{$:0},lancome:{$:0},land:{$:0,static:{$:0,dev:{$:0},sites:{$:0}}},landrover:{$:0},lanxess:{$:0},lasalle:{$:0},lat:{$:0},latino:{$:0},latrobe:{$:0},law:{$:0},lawyer:{$:0},lds:{$:0},lease:{$:0},leclerc:{$:0},lefrak:{$:0},legal:{$:0},lego:{$:0},lexus:{$:0},lgbt:{$:0},liaison:{$:0},lidl:{$:0},life:{$:0},lifeinsurance:{$:0},lifestyle:{$:0},lighting:{$:0},like:{$:0},lilly:{$:0},limited:{$:0},limo:{$:0},lincoln:{$:0},linde:{$:0},link:{$:0,cyon:{$:0},mypep:{$:0}},lipsy:{$:0},live:{$:0},living:{$:0},lixil:{$:0},loan:{$:0},loans:{$:0},locker:{$:0},locus:{$:0},loft:{$:0},lol:{$:0},london:{$:0},lotte:{$:0},lotto:{$:0},love:{$:0},lpl:{$:0},lplfinancial:{$:0},ltd:{$:0},ltda:{$:0},lundbeck:{$:0},lupin:{$:0},luxe:{$:0},luxury:{$:0},macys:{$:0},madrid:{$:0},maif:{$:0},maison:{$:0},makeup:{$:0},man:{$:0},management:{$:0,router:{$:0}},mango:{$:0},map:{$:0},market:{$:0},marketing:{$:0},markets:{$:0},marriott:{$:0},marshalls:{$:0},maserati:{$:0},mattel:{$:0},mba:{$:0},mckinsey:{$:0},med:{$:0},media:{$:0},meet:{$:0},melbourne:{$:0},meme:{$:0},memorial:{$:0},men:{$:0},menu:{$:0},meo:{$:0},merckmsd:{$:0},metlife:{$:0},miami:{$:0},microsoft:{$:0},mini:{$:0},mint:{$:0},mit:{$:0},mitsubishi:{$:0},mlb:{$:0},mls:{$:0},mma:{$:0},mobile:{$:0},mobily:{$:0},moda:{$:0},moe:{$:0},moi:{$:0},mom:{$:0},monash:{$:0},money:{$:0},monster:{$:0},mopar:{$:0},mormon:{$:0},mortgage:{$:0},moscow:{$:0},moto:{$:0},motorcycles:{$:0},mov:{$:0},movie:{$:0},movistar:{$:0},msd:{$:0},mtn:{$:0},mtpc:{$:0},mtr:{$:0},mutual:{$:0},nab:{$:0},nadex:{$:0},nagoya:{$:0},nationwide:{$:0},natura:{$:0},navy:{$:0},nba:{$:0},nec:{$:0},netbank:{$:0},netflix:{$:0},network:{$:0,alces:{"*":{$:0}}},neustar:{$:0},new:{$:0},newholland:{$:0},news:{$:0},next:{$:0},nextdirect:{$:0},nexus:{$:0},nfl:{$:0},ngo:{$:0}
82,nhk:{$:0},nico:{$:0},nike:{$:0},nikon:{$:0},ninja:{$:0},nissan:{$:0},nissay:{$:0},nokia:{$:0},northwesternmutual:{$:0},norton:{$:0},now:{$:0},nowruz:{$:0},nowtv:{$:0},nra:{$:0},nrw:{$:0},ntt:{$:0},nyc:{$:0},obi:{$:0},observer:{$:0},off:{$:0},office:{$:0},okinawa:{$:0},olayan:{$:0},olayangroup:{$:0},oldnavy:{$:0},ollo:{$:0},omega:{$:0},one:{$:0,homelink:{$:0}},ong:{$:0},onl:{$:0},online:{$:0,barsy:{$:0}},onyourside:{$:0},ooo:{$:0},open:{$:0},oracle:{$:0},orange:{$:0},organic:{$:0},origins:{$:0},osaka:{$:0},otsuka:{$:0},ott:{$:0},ovh:{$:0,nerdpol:{$:0}},page:{$:0},panasonic:{$:0},panerai:{$:0},paris:{$:0},pars:{$:0},partners:{$:0},parts:{$:0},party:{$:0,ybo:{$:0}},passagens:{$:0},pay:{$:0},pccw:{$:0},pet:{$:0},pfizer:{$:0},pharmacy:{$:0},phd:{$:0},philips:{$:0},phone:{$:0},photo:{$:0},photography:{$:0},photos:{$:0},physio:{$:0},piaget:{$:0},pics:{$:0},pictet:{$:0},pictures:{1337:{$:0},$:0},pid:{$:0},pin:{$:0},ping:{$:0},pink:{$:0},pioneer:{$:0},pizza:{$:0},place:{$:0},play:{$:0},playstation:{$:0},plumbing:{$:0},plus:{$:0},pnc:{$:0},pohl:{$:0},poker:{$:0},politie:{$:0},porn:{$:0},pramerica:{$:0},praxi:{$:0},press:{$:0},prime:{$:0},prod:{$:0},productions:{$:0},prof:{$:0},progressive:{$:0},promo:{$:0},properties:{$:0},property:{$:0},protection:{$:0},pru:{$:0},prudential:{$:0},pub:{$:0},pwc:{$:0},qpon:{$:0},quebec:{$:0},quest:{$:0},qvc:{$:0},racing:{$:0},radio:{$:0},raid:{$:0},read:{$:0},realestate:{$:0},realtor:{$:0},realty:{$:0},recipes:{$:0},red:{$:0},redstone:{$:0},redumbrella:{$:0},rehab:{$:0},reise:{$:0},reisen:{$:0},reit:{$:0},reliance:{$:0},ren:{$:0},rent:{$:0},rentals:{$:0},repair:{$:0},report:{$:0},republican:{$:0},rest:{$:0},restaurant:{$:0},review:{$:0,ybo:{$:0}},reviews:{$:0},rexroth:{$:0},rich:{$:0},richardli:{$:0},ricoh:{$:0},rightathome:{$:0},ril:{$:0},rio:{$:0},rip:{$:0,clan:{$:0}},rmit:{$:0},rocher:{$:0},rocks:{$:0,myddns:{$:0},"lima-city":{$:0},webspace:{$:0}},rodeo:{$:0},rogers:{$:0},room:{$:0},rsvp:{$:0},rugby:{$:0},ruhr:{$:0},run:{$:0},rwe:{$:0},ryukyu:{$:0},saarland:{$:0},safe:{$:0},safety:{$:0},sakura:{$:0},sale:{$:0},salon:{$:0},samsclub:{$:0},samsung:{$:0},sandvik:{$:0},sandvikcoromant:{$:0},sanofi:{$:0},sap:{$:0},sapo:{$:0},sarl:{$:0},sas:{$:0},save:{$:0},saxo:{$:0},sbi:{$:0},sbs:{$:0},sca:{$:0},scb:{$:0},schaeffler:{$:0},schmidt:{$:0},scholarships:{$:0},school:{$:0},schule:{$:0},schwarz:{$:0},science:{$:0,ybo:{$:0}},scjohnson:{$:0},scor:{$:0},scot:{$:0},search:{$:0},seat:{$:0},secure:{$:0},security:{$:0},seek:{$:0},select:{$:0},sener:{$:0},services:{$:0},ses:{$:0},seven:{$:0},sew:{$:0},sex:{$:0},sexy:{$:0},sfr:{$:0},shangrila:{$:0},sharp:{$:0},shaw:{$:0},shell:{$:0},shia:{$:0},shiksha:{$:0},shoes:{$:0},shop:{$:0},shopping:{$:0},shouji:{$:0},show:{$:0},showtime:{$:0},shriram:{$:0},silk:{$:0},sina:{$:0},singles:{$:0},site:{$:0,cyon:{$:0},platformsh:{"*":{$:0}},byen:{$:0}},ski:{$:0},skin:{$:0},sky:{$:0},skype:{$:0},sling:{$:0},smart:{$:0},smile:{$:0},sncf:{$:0},soccer:{$:0},social:{$:0},softbank:{$:0},software:{$:0},sohu:{$:0},solar:{$:0},solutions:{$:0},song:{$:0},sony:{$:0},soy:{$:0},space:{$:0,stackspace:{$:0},uber:{$:0},xs4all:{$:0}},spiegel:{$:0},spot:{$:0},spreadbetting:{$:0},srl:{$:0},srt:{$:0},stada:{$:0},staples:{$:0},star:{$:0},starhub:{$:0},statebank:{$:0},statefarm:{$:0},statoil:{$:0},stc:{$:0},stcgroup:{$:0},stockholm:{$:0},storage:{$:0},store:{$:0},stream:{$:0},studio:{$:0},study:{$:0},style:{$:0},sucks:{$:0},supplies:{$:0},supply:{$:0},support:{$:0,barsy:{$:0}},surf:{$:0},surgery:{$:0},suzuki:{$:0},swatch:{$:0},swiftcover:{$:0},swiss:{$:0},sydney:{$:0},symantec:{$:0},systems:{$:0,knightpoint:{$:0}},tab:{$:0},taipei:{$:0},talk:{$:0},taobao:{$:0},target:{$:0},tatamotors:{$:0},tatar:{$:0},tattoo:{$:0},tax:{$:0},taxi:{$:0},tci:{$:0},tdk:{$:0},team:{$:0},tech:{$:0},technology:{$:0},telecity:{$:0},telefonica:{$:0},temasek:{$:0},tennis:{$:0},teva:{$:0},thd:{$:0},theater:{$:0},theatre:{$:0},tiaa:{$:0},tickets:{$:0},tienda:{$:0},tiffany:{$:0},tips:{$:0},tires:{$:0},tirol:{$:0},tjmaxx:{$:0},tjx:{$:0},tkmaxx:{$:0},tmall:{$:0},today:{$:0},tokyo:{$:0},tools:{$:0},top:{$:0},toray:{$:0},toshiba:{$:0},total:{$:0},tours:{$:0},town:{$:0},toyota:{$:0},toys:{$:0},trade:{$:0,ybo:{$:0}},trading:{$:0},training:{$:0},travelchannel:{$:0},travelers:{$:0},travelersinsurance:{$:0},trust:{$:0},trv:{$:0},tube:{$:0},tui:{$:0},tunes:{$:0},tushu:{$:0},tvs:{$:0},ubank:{$:0},ubs:{$:0},uconnect:{$:0},unicom:{$:0},university:{$:0},uno:{$:0},uol:{$:0}
82,ups:{$:0},vacations:{$:0},vana:{$:0},vanguard:{$:0},vegas:{$:0},ventures:{$:0},verisign:{$:0},versicherung:{$:0},vet:{$:0},viajes:{$:0},video:{$:0},vig:{$:0},viking:{$:0},villas:{$:0},vin:{$:0},vip:{$:0},virgin:{$:0},visa:{$:0},vision:{$:0},vista:{$:0},vistaprint:{$:0},viva:{$:0},vivo:{$:0},vlaanderen:{$:0},vodka:{$:0},volkswagen:{$:0},volvo:{$:0},vote:{$:0},voting:{$:0},voto:{$:0},voyage:{$:0},vuelos:{$:0},wales:{$:0},walmart:{$:0},walter:{$:0},wang:{$:0},wanggou:{$:0},warman:{$:0},watch:{$:0},watches:{$:0},weather:{$:0},weatherchannel:{$:0},webcam:{$:0},weber:{$:0},website:{$:0},wed:{$:0},wedding:{$:0},weibo:{$:0},weir:{$:0},whoswho:{$:0},wien:{$:0},wiki:{$:0},williamhill:{$:0},win:{$:0},windows:{$:0},wine:{$:0},winners:{$:0},wme:{$:0},wolterskluwer:{$:0},woodside:{$:0},work:{$:0},works:{$:0},world:{$:0},wow:{$:0},wtc:{$:0},wtf:{$:0},xbox:{$:0},xerox:{$:0},xfinity:{$:0},xihuan:{$:0},xin:{$:0},"xn--11b4c3d":{$:0},"xn--1ck2e1b":{$:0},"xn--1qqw23a":{$:0},"xn--30rr7y":{$:0},"xn--3bst00m":{$:0},"xn--3ds443g":{$:0},"xn--3oq18vl8pn36a":{$:0},"xn--3pxu8k":{$:0},"xn--42c2d9a":{$:0},"xn--45q11c":{$:0},"xn--4gbrim":{$:0},"xn--55qw42g":{$:0},"xn--55qx5d":{$:0},"xn--5su34j936bgsg":{$:0},"xn--5tzm5g":{$:0},"xn--6frz82g":{$:0},"xn--6qq986b3xl":{$:0},"xn--80adxhks":{$:0},"xn--80aqecdr1a":{$:0},"xn--80asehdb":{$:0},"xn--80aswg":{$:0},"xn--8y0a063a":{$:0},"xn--9dbq2a":{$:0},"xn--9et52u":{$:0},"xn--9krt00a":{$:0},"xn--b4w605ferd":{$:0},"xn--bck1b9a5dre4c":{$:0},"xn--c1avg":{$:0},"xn--c2br7g":{$:0},"xn--cck2b3b":{$:0},"xn--cg4bki":{$:0},"xn--czr694b":{$:0},"xn--czrs0t":{$:0},"xn--czru2d":{$:0},"xn--d1acj3b":{$:0},"xn--eckvdtc9d":{$:0},"xn--efvy88h":{$:0},"xn--estv75g":{$:0},"xn--fct429k":{$:0},"xn--fhbei":{$:0},"xn--fiq228c5hs":{$:0},"xn--fiq64b":{$:0},"xn--fjq720a":{$:0},"xn--flw351e":{$:0},"xn--fzys8d69uvgm":{$:0},"xn--g2xx48c":{$:0},"xn--gckr3f0f":{$:0},"xn--gk3at1e":{$:0},"xn--hxt814e":{$:0},"xn--i1b6b1a6a2e":{$:0},"xn--imr513n":{$:0},"xn--io0a7i":{$:0},"xn--j1aef":{$:0},"xn--jlq61u9w7b":{$:0},"xn--jvr189m":{$:0},"xn--kcrx77d1x4a":{$:0},"xn--kpu716f":{$:0},"xn--kput3i":{$:0},"xn--mgba3a3ejt":{$:0},"xn--mgba7c0bbn0a":{$:0},"xn--mgbaakc7dvf":{$:0},"xn--mgbab2bd":{$:0},"xn--mgbb9fbpob":{$:0},"xn--mgbca7dzdo":{$:0},"xn--mgbi4ecexp":{$:0},"xn--mgbt3dhd":{$:0},"xn--mk1bu44c":{$:0},"xn--mxtq1m":{$:0},"xn--ngbc5azd":{$:0},"xn--ngbe9e0a":{$:0},"xn--ngbrx":{$:0},"xn--nqv7f":{$:0},"xn--nqv7fs00ema":{$:0},"xn--nyqy26a":{$:0},"xn--p1acf":{$:0},"xn--pbt977c":{$:0},"xn--pssy2u":{$:0},"xn--q9jyb4c":{$:0},"xn--qcka1pmc":{$:0},"xn--rhqv96g":{$:0},"xn--rovu88b":{$:0},"xn--ses554g":{$:0},"xn--t60b56a":{$:0},"xn--tckwe":{$:0},"xn--tiq49xqyj":{$:0},"xn--unup4y":{$:0},"xn--vermgensberater-ctb":{$:0},"xn--vermgensberatung-pwb":{$:0},"xn--vhquv":{$:0},"xn--vuq861b":{$:0},"xn--w4r85el8fhu5dnra":{$:0},"xn--w4rs40l":{$:0},"xn--xhq521b":{$:0},"xn--zfr164b":{$:0},xperia:{$:0},xyz:{$:0,blogsite:{$:0},fhapp:{$:0}},yachts:{$:0},yahoo:{$:0},yamaxun:{$:0},yandex:{$:0},yodobashi:{$:0},yoga:{$:0},yokohama:{$:0},you:{$:0},youtube:{$:0},yun:{$:0},zappos:{$:0},zara:{$:0},zero:{$:0},zip:{$:0},zippo:{$:0},zone:{$:0,triton:{"*":{$:0}},lima:{$:0}},zuerich:{$:0}}}},{}]},{},[1])(1)}); 83; 84/* global pysOptions */ 85 86 87! function ($, options) { 88 if (options.debug) { 89 console.log('PYS:', options); 90 } 91 var uniqueId = {}; 92 93 let gtm_variables = {}; 94 let gtm_datalayername = "dynamicVariable"; 95 96 var domain = ''; 97 if(options.hasOwnProperty("track_cookie_for_subdomains") && options.track_cookie_for_subdomains) { 98 domain = getRootDomain(true); 99 } 100 /** 101 * Resolve parameter value based on mode (static or dynamic) 102 * 103 * @param {Object|string} param - Parameter object with { value, selector } or string value 104 * @returns {string|null} - Resolved value 105 */ 106 function resolveParamValue(param) { 107 // Handle old format (string) 108 if (typeof param === 'string') { 109 return param; 110 } 111 if (typeof param === 'object' && param !== null) { 112 return param.value || param; 113 } 114 115 return null; 116 } 117 var dummyPinterest = function () { 118 119 /** 120 * Public API 121 */ 122 return { 123 isEnabled: function () {}, 124 disable: function () {}, 125 loadPixel: function () {}, 126 fireEvent: function (name, data) { 127 return false;
128 }, 129 onCommentEvent: function () {}, 130 onDownloadEvent: function (params) {}, 131 onFormEvent: function (params) {}, 132 onWooAddToCartOnButtonEvent: function (product_id) {}, 133 onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form) {}, 134 onWooRemoveFromCartEvent: function (cart_item_hash) {}, 135 onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {}, 136 onEddRemoveFromCartEvent: function (item) {}, 137 onPageScroll: function (event) {}, 138 onTime: function (event) {}, 139 140 } 141 142 }(); 143 144 var dummyBing = function () { 145 146 /** 147 * Public API 148 */ 149 return { 150 isEnabled: function () {}, 151 disable: function () {}, 152 loadPixel: function () {}, 153 fireEvent: function (name, data) { 154 return false; 155 }, 156 onAdSenseEvent: function () {}, 157 onClickEvent: function (params) {}, 158 onWatchVideo: function (params) {}, 159 onCommentEvent: function () {}, 160 onFormEvent: function (params) {}, 161 onDownloadEvent: function (params) {}, 162 onWooAddToCartOnButtonEvent: function (product_id) {}, 163 onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form) {}, 164 onWooRemoveFromCartEvent: function (cart_item_hash) {}, 165 onWooAffiliateEvent: function (product_id) {}, 166 onWooPayPalEvent: function () {}, 167 onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {}, 168 onEddRemoveFromCartEvent: function (item) {}, 169 onPageScroll: function (event) {}, 170 onTime: function (event) {}, 171 } 172 173 }(); 174 175 var dummyReddit = function () { 176 /** 177 * Public API 178 */ 179 return { 180 tag: function () { 181 return "reddit"; 182 }, 183 isEnabled: function () {}, 184 disable: function () {}, 185 loadPixel: function () {}, 186 fireEvent: function ( name, data ) { 187 return false; 188 }, 189 onAdSenseEvent: function ( event ) {}, 190 onClickEvent: function ( params ) {}, 191 onWatchVideo: function ( params ) {}, 192 onCommentEvent: function ( event ) {}, 193 onFormEvent: function ( params ) {}, 194 onDownloadEvent: function ( params ) {}, 195 onWooAddToCartOnButtonEvent: function ( product_id ) {}, 196 onWooAddToCartOnSingleEvent: function ( product_id, qty, product_type, is_external, $form ) {}, 197 onWooRemoveFromCartEvent: function ( cart_item_hash ) {}, 198 onWooAffiliateEvent: function ( product_id ) {}, 199 onWooPayPalEvent: function ( event ) {}, 200 onEddAddToCartOnButtonEvent: function ( download_id, price_index, qty ) {}, 201 onEddRemoveFromCartEvent: function ( item ) {}, 202 onPageScroll: function ( event ) {}, 203 onTime: function ( event ) {}, 204 } 205 }(); 206 207 208 var Utils = function (options) { 209 210 var Pinterest = dummyPinterest; 211 212 var Bing = dummyBing; 213 214 var Reddit = dummyReddit; 215 216 var gtag_loaded = false; 217 218 var gtm_loaded = false; 219 220 let isNewSession = checkSession(); 221 222 var utmTerms = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']; 223 224 var utmId = ['fbadid', 'gadid', 'padid', 'bingid']; 225 226 let dataLayerName = 'dataLayerPYS'; 227 228 let GTMdataLayerName = 'dataLayer'; 229 230 function validateEmail(email) { 231 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 232 return re.test(email); 233 } 234 function getDomain(url) { 235 236 url = url.replace(/(https?:\/\/)?(www.)?/i, ''); 237 238 if (url.indexOf('/') !== -1) { 239 return url.split('/')[0]; 240 } 241 242 return url; 243 } 244 function loadPixels() { 245 246 if (!options.gdpr.all_disabled_by_api) { 247 248 if (!options.gdpr.facebook_disabled_by_api) { 249 Facebook.loadPixel(); 250 } 251 252 if (!options.gdpr.analytics_disabled_by_api) { 253 Analytics.loadPixel(); 254 } 255 256 if (!options.gdpr.analytics_disabled_by_api) { 257 GTM.loadPixel(); 258 } 259 260 if (!options.gdpr.pinterest_disabled_by_api) { 261 Pinterest.loadPixel(); 262 } 263 264 if (!options.gdpr.bing_disabled_by_api) { 265 Bing.loadPixel(); 266 } 267 268 if (!options.gdpr.reddit_disabled_by_api) { 269 Reddit.loadPixel(); 270 } 271 } 272 if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") { 273 if (typeof CS_Data.cs_google_analytics_consent_mode !== "undefined" && CS_Data.cs_google_analytics_consent_mode == 1) { 274 Analytics.loadPixel(); 275 } 276 } 277 278 } 279 280 function checkSession() { 281 if( Cookies.get('pys_start_session') === undefined || 282 Cookies.get('pys_session_limit') === undefined) { 283 firstVisit = true; 284 return true 285 } 286 return false 287 288 } 289 290 function getTrafficSource() { 291 292 try { 293 294 let referrer = document.referrer.toString(), 295 source; 296 297 let direct = referrer.length === 0; 298 let internal = direct ? false : referrer.indexOf(options.siteUrl) === 0; 299 let external = !direct && !internal; 300 301 if (external === false) { 302 source = 'direct'; 303 } else { 304 source = referrer; 305 } 306 307 if (source !== 'direct') { 308 // leave only domain (Issue #70) 309 return getDomain(source); 310 } else { 311 return source; 312 } 313 314 } catch (e) { 315 console.error(e); 316 return 'direct'; 317 } 318 319 } 320 321 /** 322 * Return query variables object with where property name is query variable 323 * and property value is query variable value. 324 */ 325 function getQueryVars() { 326 327 try { 328 329 var result = {}, 330 tmp = []; 331 332 window.location.search 333 .substr(1) 334 .split("&") 335 .forEach(function (item) { 336 337 tmp = item.split('='); 338 339 if (tmp.length > 1) { 340 result[tmp[0]] = tmp[1]; 341 } 342 343 }); 344 345 return result; 346 347 } catch (e) { 348 console.error(e); 349 return {}; 350 } 351 352 } 353 354 355 function getLandingPageValue() { 356 let name = "pys_landing_page" 357 if(options.visit_data_model === "last_visit") { 358 name = "last_pys_landing_page" 359 } 360 if(Cookies.get(name) && Cookies.get(name) !== "undefined") { 361 return Cookies.get(name); 362 } 363 else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficLanding){ 364 return options.tracking_analytics.TrafficLanding; 365 } else{ 366 return ""; 367 } 368 } 369 function getTrafficSourceValue() { 370 let name = "pysTrafficSource" 371 if(options.visit_data_model === "last_visit") { 372 name = "last_pysTrafficSource" 373 } 374 if(Cookies.get(name) && Cookies.get(name) !== "undefined") { 375 return Cookies.get(name); 376 } 377 else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficSource){ 378 return options.tracking_analytics.TrafficSource; 379 } else{ 380 return ""; 381 } 382 } 383 384 function getUTMId(useLast = false) { 385 try { 386 let cookiePrefix = 'pys_' 387 let terms = []; 388 if (useLast) { 389 cookiePrefix = 'last_pys_' 390 } 391 $.each(utmId, function (index, name) { 392 if (Cookies.get(cookiePrefix + name)) { 393 terms[name] = Cookies.get(cookiePrefix + name) 394 } 395 else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficUtmsId[name]) { 396 terms[name] = filterEmails(options.tracking_analytics.TrafficUtmsId[name]) 397 } 398 }); 399 return terms; 400 } catch (e) { 401 console.error(e); 402 return []; 403 } 404 } 405 /** 406 * Return UTM terms from request query variables or from cookies. 407 */ 408 function getUTMs(useLast = false) { 409 410 try { 411 let cookiePrefix = 'pys_' 412 if(useLast) { 413 cookiePrefix = 'last_pys_' 414 } 415 let terms = []; 416 $.each(utmTerms, function (index, name) { 417 if (Cookies.get(cookiePrefix + name)) { 418 let value = Cookies.get(cookiePrefix + name); 419 terms[name] = filterEmails(value); // do not allow email in request params (Issue #70) 420 } 421 else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficUtms[name]) { 422 terms[name] = filterEmails(options.tracking_analytics.TrafficUtms[name]) 423 } 424 }); 425 426 return terms; 427 428 } catch (e) { 429 console.error(e); 430 return []; 431 } 432 433 } 434 435 function getDateTime() { 436 var dateTime = new Array(); 437 var date = new Date(), 438 days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], 439 months = ['January', 'February', 'March', 'April', 'May', 'June', 440 'July', 'August', 'September', 'October', 'November', 'December' 441 ], 442 hours = ['00-01', '01-02', '02-03', '03-04', '04-05', '05-06', '06-07', '07-08', 443 '08-09', '09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17', 444 '17-18', '18-19', '19-20', '20-21', '21-22', '22-23', '23-24' 445 ]; 446 dateTime.push(hours[date.getHours()]); 447 dateTime.push(days[date.getDay()]); 448 dateTime.push(months[date.getMonth()]); 449 return dateTime; 450 } 451 452 function filterEmails(value) { 453 return validateEmail(value) ? undefined : value; 454 } 455 456 /** 457 * PUBLIC API 458 */ 459 return { 460 PRODUCT_SIMPLE : 0, 461 PRODUCT_VARIABLE : 1, 462 PRODUCT_BUNDLE : 2, 463 PRODUCT_GROUPED : 3, 464 utmTerms : utmTerms, 465 utmId : utmId, 466 fireEventForAllPixel:function(functionName,events){ 467 if (events.hasOwnProperty(Facebook.tag())) 468 Facebook[functionName](events[Facebook.tag()]); 469 if (events.hasOwnProperty(Analytics.tag())) 470 Analytics[functionName](events[Analytics.tag()]); 471 if (events.hasOwnProperty(Pinterest.tag())) 472 Pinterest[functionName](events[Pinterest.tag()]); 473 if (events.hasOwnProperty(Bing.tag())) 474 Bing[functionName](events[Bing.tag()]); 475 if (events.hasOwnProperty(Reddit.tag())) 476 Reddit[functionName](events[Reddit.tag()]); 477 478 if (events.hasOwnProperty(GTM.tag())) 479 GTM[functionName](events[GTM.tag()]); 480 }, 481 482 setupPinterestObject: function () { 483 Pinterest = window.pys.Pinterest || Pinterest; 484 return Pinterest; 485 }, 486 487 setupBingObject: function () { 488 Bing = window.pys.Bing || Bing; 489 return Bing; 490 }, 491 492 setupRedditObject: function () { 493 Reddit = window.pys.Reddit || Reddit; 494 return Reddit; 495 }, 496 497 // Clone all object members to another and return it 498 copyProperties: function (from, to) { 499 for (var key in from) { 500 if("function" == typeof from[key]) { 501 continue; 502 } 503 to[key] = from[key]; 504 } 505 return to; 506 }, 507 508 manageCookies: function () { 509 510 if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') { 511 if (Cookiebot.consented === false && !Cookiebot.consent['marketing'] && !Cookiebot.consent['statistics']) { 512 return; 513 } 514 } 515 let cm_consent_not_expressed = false;
516 if ( options.gdpr.consent_magic_integration_enabled && window.CS_Data !== undefined && window.CS_Data.cs_refresh_after_consent == 1 ) { 517 if ( Cookies.get( 'cs_viewed_cookie_policy' ) === undefined ) { 518 cm_consent_not_expressed = true; 519 } 520 } 521 522 if( !cm_consent_not_expressed && isNewSession && !options.cookie.disabled_all_cookie && !options.cookie.disabled_start_session_cookie) { 523 let duration = options.last_visit_duration * 60000 524 var now = new Date(); 525 now.setTime(now.getTime() + duration); 526 Cookies.set('pys_session_limit', true,{ expires: now, path: '/',domain: domain }) 527 Cookies.set('pys_start_session', true,{path: '/',domain: domain}); 528 } 529 530 if (options.ajaxForServerEvent && !Cookies.get('pbid') && Facebook.isEnabled()) { 531 jQuery.ajax({ 532 url: options.ajaxUrl, 533 dataType: 'json', 534 data: { 535 action: 'pys_get_pbid' 536 }, 537 success: function (res) { 538 if (res.data && res.data.pbid != false && options.send_external_id) { 539 if(!(options.cookie.disabled_all_cookie || options.cookie.externalID_disabled_by_api)){ 540 var expires = parseInt(options.external_id_expire || 180); 541 Cookies.set('pbid', res.data.pbid, { expires: expires, path: '/',domain: domain }); 542 } 543 544 if(options.hasOwnProperty('facebook')) { 545 options.facebook.advancedMatching = { 546 ...options.facebook.advancedMatching, // spread current advancedMatching values 547 external_id: res.data.pbid 548 }; 549 } 550 } 551 } 552 }); 553 } else if (Cookies.get('pbid') && Facebook.isEnabled()){ 554 if(Facebook.advancedMatching() && Facebook.advancedMatching().external_id && !(options.cookie.disabled_all_cookie || options.cookie.externalID_disabled_by_api)){ 555 let expires = parseInt(options.external_id_expire || 180); 556 Cookies.set('pbid', Facebook.advancedMatching().external_id, { expires: expires, path: '/',domain: domain }); 557 } 558 } 559 560 let expires = parseInt(options.cookie_duration); // days 561 let queryVars = getQueryVars(); 562 let landing = window.location.href.split('?')[0]; 563 try { 564 // save data for first visit 565 if(Cookies.get('pys_first_visit') === undefined && (!options.cookie.disabled_all_cookie)) { 566 567 if(!options.cookie.disabled_first_visit_cookie) 568 { 569 Cookies.set('pys_first_visit', true, { expires: expires, path: '/',domain: domain }); 570 } 571 else { 572 Cookies.remove('pys_first_visit') 573 } 574 575 if(!options.cookie.disabled_trafficsource_cookie) 576 { 577 Cookies.set('pysTrafficSource', getTrafficSource(), { expires: expires,path: '/',domain: domain }); 578 } 579 else { 580 Cookies.remove('pysTrafficSource') 581 } 582 583 if(!options.cookie.disabled_landing_page_cookie) 584 { 585 Cookies.set('pys_landing_page',landing,{ expires: expires,path: '/',domain: domain }); 586 } 587 else { 588 Cookies.remove('pys_landing_page') 589 } 590 591 if(!options.cookie.disabled_utmTerms_cookie) 592 { 593 $.each(utmTerms, function (index, name) { 594 if (queryVars.hasOwnProperty(name)) { 595 Cookies.set('pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain }); 596 } else { 597 Cookies.remove('pys_' + name) 598 } 599 }); 600 } 601 else { 602 $.each(utmTerms, function (index, name) { 603 Cookies.remove('pys_' + name) 604 }); 605 } 606 607 if(!options.cookie.disabled_utmId_cookie) 608 { 609 $.each(utmId,function(index,name) { 610 if (queryVars.hasOwnProperty(name)) { 611 Cookies.set('pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain }); 612 } else { 613 Cookies.remove('pys_' + name) 614 } 615 }) 616 } 617 else { 618 $.each(utmId, function (index, name) { 619 Cookies.remove('pys_' + name) 620 }); 621 } 622 } 623 624 // save data for last visit if it new session 625 if(isNewSession && (!options.cookie.disabled_all_cookie)) { 626 if(!options.cookie.disabled_trafficsource_cookie) 627 { 628 Cookies.set('last_pysTrafficSource', getTrafficSource(), { expires: expires,path: '/',domain: domain }); 629 } 630 else { 631 Cookies.remove('last_pysTrafficSource') 632 } 633 634 if(!options.cookie.disabled_landing_page_cookie) 635 { 636 Cookies.set('last_pys_landing_page',landing,{ expires: expires,path: '/',domain: domain }); 637 } 638 else { 639 Cookies.remove('last_pys_landing_page') 640 } 641 642 if(!options.cookie.disabled_utmTerms_cookie) 643 { 644 $.each(utmTerms, function (index, name) { 645 if (queryVars.hasOwnProperty(name)) { 646 Cookies.set('last_pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain }); 647 } else { 648 Cookies.remove('last_pys_' + name) 649 } 650 }); 651 } 652 else { 653 $.each(utmTerms, function (index, name) { 654 Cookies.remove('last_pys_' + name) 655 }); 656 } 657 658 if(!options.cookie.disabled_utmId_cookie) 659 { 660 $.each(utmId,function(index,name) { 661 if (queryVars.hasOwnProperty(name)) { 662 Cookies.set('last_pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain }); 663 } else { 664 Cookies.remove('last_pys_' + name) 665 } 666 }) 667 } 668 else { 669 $.each(utmId, function (index, name) { 670 Cookies.remove('last_pys_' + name) 671 }); 672 } 673 674 } 675 if(options.cookie.disabled_start_session_cookie) { 676 Cookies.remove('pys_start_session') 677 Cookies.remove('pys_session_limit') 678 } 679 if(options.cookie.disabled_all_cookie) 680 { 681 Cookies.remove('pys_first_visit') 682 Cookies.remove('pysTrafficSource') 683 Cookies.remove('pys_landing_page') 684 Cookies.remove('last_pys_landing_page') 685 Cookies.remove('last_pysTrafficSource') 686 Cookies.remove('pys_start_session') 687 Cookies.remove('pys_session_limit') 688 $.each(Utils.utmTerms, function (index, name) { 689 Cookies.remove('pys_' + name) 690 }); 691 $.each(Utils.utmId,function(index,name) { 692 Cookies.remove('pys_' + name) 693 }) 694 $.each(Utils.utmTerms, function (index, name) { 695 Cookies.remove('last_pys_' + name) 696 }); 697 $.each(Utils.utmId,function(index,name) { 698 Cookies.remove('last_pys_' + name) 699 }); 700 } 701 } catch (e) { 702 console.error(e); 703 } 704 }, 705 /** 706 * Generate unique ID 707 */ 708 generateUniqueId : function (event) { 709 if(event.eventID.length == 0 || (event.type == "static" && options.ajaxForServerStaticEvent) || (event.type !== "static" && options.ajaxForServerEvent)) { 710 let idKey = event.hasOwnProperty('custom_event_post_id') ? event.custom_event_post_id : event.e_id; 711 if (!uniqueId.hasOwnProperty(idKey)) { 712 uniqueId[idKey] = pys_generate_token(); 713 } 714 return uniqueId[idKey]; 715 } 716 else if(event.eventID.length !== 0) 717 { 718 return event.eventID; 719 } 720 }, 721 722 // Flatten object for sendBeacon compatibility 723 flattenObject: function (obj, prefix = '', res = {}) { 724 for (const [key, value] of Object.entries(obj)) { 725 const prefixedKey = prefix 726 ? (Array.isArray(obj) ? `${prefix}[${key}]` : `${prefix}[${key}]`)
727 : key; 728 if (value !== null && typeof value === 'object' && !(value instanceof File)) { 729 this.flattenObject(value, prefixedKey, res); 730 } else { 731 res[prefixedKey] = value; 732 } 733 } 734 return res; 735 }, 736 737 sendServerAjaxRequest : function(url, data) { 738 if (data.action === 'pys_api_event' && data.pixel === 'facebook' && window.pysFacebookRest) { 739 // Use Facebook REST API 740 this.sendRestAPIRequest(data, 'facebook'); 741 return; 742 } 743 744 // Check if sendBeacon is enabled and supported 745 if (options.useSendBeacon && navigator.sendBeacon) { 746 try { 747 // Flatten the data object for sendBeacon compatibility 748 const flattenedData = this.flattenObject(data); 749 const formData = new URLSearchParams(); 750 751 // Convert flattened data to URLSearchParams 752 for (const [key, value] of Object.entries(flattenedData)) { 753 if (value !== null && value !== undefined) { 754 formData.append(key, value); 755 } 756 } 757 758 // Try to send using sendBeacon 759 const success = navigator.sendBeacon(url, formData); 760 if (success) { 761 return; // Successfully sent via sendBeacon 762 } 763 } catch (e) { 764 // If sendBeacon fails, fall back to jQuery.ajax 765 if (options.debug) { 766 console.log('PYS: sendBeacon failed, falling back to jQuery.ajax:', e); 767 } 768 } 769 } 770 771 // Fallback to jQuery.ajax 772 jQuery.ajax( { 773 type: 'POST', 774 url: url, 775 data: data, 776 headers: { 777 'Cache-Control': 'no-cache' 778 }, 779 success: function () { 780 }, 781 } ); 782 }, 783 784 sendRestAPIRequest: function (data, platform) { 785 let restApiUrl; 786 787 // Get platform-specific REST API configuration 788 switch (platform) { 789 case 'facebook': 790 restApiUrl = window.pysFacebookRest ? window.pysFacebookRest.restApiUrl : '/wp-json/pys-facebook/v1/event'; 791 break; 792 default: 793 console.error('PYS: Unknown platform for REST API:', platform); 794 this.sendAjaxFallback(data); 795 return; 796 } 797 798 // Prepare data for REST API 799 const restApiData = { 800 event: data.event, 801 data: JSON.stringify(data.data || {}), 802 ids: JSON.stringify(data.ids || []), 803 eventID: data.event_id || data.eventID || '', 804 woo_order: data.woo_order || '0', 805 edd_order: data.edd_order || '0' 806 }; 807 808 // Try to send using sendBeacon first (if enabled) 809 if (options.useSendBeacon && navigator.sendBeacon) { 810 try { 811 const formData = new URLSearchParams(); 812 for (const [key, value] of Object.entries(restApiData)) { 813 formData.append(key, value); 814 } 815 816 if (navigator.sendBeacon(restApiUrl, formData)) { 817 return; 818 } 819 } catch (e) { 820 // sendBeacon failed, continue to fetch 821 } 822 } 823 824 // Try to send using fetch with REST API 825 if (window.fetch) { 826 const headers = { 827 'Content-Type': 'application/json' 828 }; 829 830 fetch(restApiUrl, { 831 method: 'POST', 832 headers: headers, 833 body: JSON.stringify(restApiData) 834 }) 835 .then(response => { 836 if (!response.ok) {
837 throw new Error(platform + ' REST API request failed: ' + response.status); 838 } 839 }) 840 .catch(error => { 841 // Fallback to AJAX if REST API fails 842 if (options.debug) { 843 console.log('PYS: ' + platform + ' REST API failed, falling back to AJAX:', error); 844 } 845 this.sendAjaxFallback(data); 846 }); 847 } else { 848 // Fallback to AJAX if fetch is not supported 849 this.sendAjaxFallback(data); 850 } 851 }, 852 853 854 855 // Fallback AJAX method 856 sendAjaxFallback: function (data) { 857 jQuery.ajax({ 858 type: 'POST', 859 url: options.ajaxUrl, 860 data: data, 861 headers: { 862 'Cache-Control': 'no-cache' 863 }, 864 success: function () { 865 }, 866 }); 867 }, 868 // clone object 869 clone: function(obj) { 870 var copy; 871 872 // Handle the 3 simple types, and null or undefined 873 if (null == obj || "object" != typeof obj) return obj; 874 875 // Handle Date 876 if (obj instanceof Date) { 877 copy = new Date(); 878 copy.setTime(obj.getTime()); 879 return copy; 880 } 881 882 // Handle Array 883 if (obj instanceof Array) { 884 copy = []; 885 for (var i = 0, len = obj.length; i < len; i++) { 886 if("function" == typeof obj[i]) { 887 continue; 888 } 889 copy[i] = Utils.clone(obj[i]); 890 } 891 return copy; 892 } 893 894 // Handle Object 895 if (obj instanceof Object) { 896 copy = {}; 897 for (var attr in obj) { 898 if (obj.hasOwnProperty(attr)) { 899 if("function" == typeof obj[attr]) { 900 continue; 901 } 902 copy[attr] = Utils.clone(obj[attr]); 903 } 904 } 905 return copy; 906 } 907 908 return obj; 909 }, 910 911 // Returns array of elements with given tag name 912 getTagsAsArray: function (tag) { 913 return [].slice.call(document.getElementsByTagName(tag)); 914 }, 915
916 getRequestParams: function () { 917 return []; 918 }, 919 920 /** 921 * CUSTOM EVENTS 922 */ 923 924 setupMouseOverClickEvents: function (eventId, triggers) { 925 926 // Non-default binding used to avoid situations when some code in external js 927 // stopping events propagation, eg. returns false, and our handler will never called 928 document.addEventListener('mouseover', function(event) { 929 var matchedElements = Array.from(document.querySelectorAll(triggers)); 930 var clickedElement = event.target; 931 var closestMatch = clickedElement.closest(triggers); 932 if (matchedElements.includes(clickedElement) || closestMatch){ 933 if (event.target.classList.contains('pys-mouse-over-' + eventId)) { 934 return true; 935 } else { 936 event.target.classList.add('pys-mouse-over-' + eventId); 937 } 938 939 Utils.fireTriggerEvent(eventId); 940 } 941 }); 942 943 }, 944 945 setupCSSClickEvents: function (eventId, triggers) { 946 // Non-default binding used to avoid situations when some code in external js 947 // stopping events propagation, eg. returns false, and our handler will never called 948 document.addEventListener('click', function(event) { 949 let matchedElements = Array.from(document.querySelectorAll(triggers)), 950 clickedElement = event.target, 951 closestMatch = clickedElement.closest(triggers); 952 953 if (matchedElements.includes(clickedElement) || closestMatch){ 954 Utils.fireTriggerEvent(eventId); 955 } 956 }, true); 957 }, 958 959 setupURLClickEvents: function () { 960 961 if( !options.triggerEventTypes.hasOwnProperty('url_click') ) { 962 return; 963 } 964 // Non-default binding used to avoid situations when some code in external js 965 // stopping events propagation, eg. returns false, and our handler will never called 966 $('a[data-pys-event-id]').onFirst('click', function (evt) { 967 968 $(this).attr('data-pys-event-id').split(',').forEach(function (eventId) { 969 970 eventId = parseInt(eventId); 971 972 if (isNaN(eventId) === false) { 973 Utils.fireTriggerEvent(eventId); 974 } 975 976 }); 977 978 }); 979 980 981 }, 982 983 setupScrollPosEvents: function (eventId, triggers) { 984 985 var scrollPosThresholds = {}, 986 docHeight = $(document).height() - $(window).height(); 987 988 // convert % to absolute positions 989 $.each(triggers, function (index, scrollPos) { 990 991 // convert % to pixels 992 scrollPos = docHeight * scrollPos / 100; 993 scrollPos = Math.round(scrollPos); 994 995 scrollPosThresholds[scrollPos] = eventId; 996 997 }); 998 999 $(document).on("scroll",function () { 1000 1001 var scrollPos = $(window).scrollTop(); 1002 1003 $.each(scrollPosThresholds, function (threshold, eventId) { 1004 1005 // position has not reached yes 1006 if (scrollPos <= threshold) { 1007 return true; 1008 } 1009 1010 // fire event only once 1011 if (eventId === null) { 1012 return true; 1013 } else { 1014 scrollPosThresholds[threshold] = null; 1015 } 1016 1017 Utils.fireTriggerEvent(eventId); 1018 1019 }); 1020 1021 }); 1022 1023 1024 }, 1025 setupCommentEvents : function (eventId,triggers) { 1026 $('form.comment-form').on("submit",function () { 1027 Utils.fireTriggerEvent(eventId); 1028 }); 1029 }, 1030 1031 /** 1032 * Events 1033 */ 1034 1035 fireTriggerEvent: function (eventId) { 1036 1037 if (!options.triggerEvents.hasOwnProperty(eventId)) { 1038 return; 1039 } 1040 1041 var event = {}; 1042 var events = options.triggerEvents[eventId]; 1043 1044 if (events.hasOwnProperty('facebook')) { 1045 event = Utils.getFormFilledData(events.facebook); 1046 Facebook.fireEvent(event.name, event); 1047 } 1048 1049 if (events.hasOwnProperty('ga')) { 1050 event = Utils.getFormFilledData(events.ga); 1051 Analytics.fireEvent(event.name, event); 1052 } 1053 1054 if (events.hasOwnProperty('pinterest')) { 1055 event = Utils.getFormFilledData(events.pinterest); 1056 Pinterest.fireEvent(event.name, event); 1057 } 1058 1059 if (events.hasOwnProperty('bing')) { 1060 event = Utils.getFormFilledData(events.bing); 1061 Bing.fireEvent(event.name, event); 1062 } 1063 1064 if (events.hasOwnProperty('reddit')) { 1065 event = Utils.getFormFilledData(events.reddit); 1066 Reddit.fireEvent(event.name, event); 1067 } 1068 1069 if (events.hasOwnProperty('gtm')) { 1070 event = Utils.getFormFilledData(events.gtm); 1071 GTM.fireEvent(event.name, event); 1072 } 1073 }, 1074 1075 fireStaticEvents: function (pixel) { 1076 1077 if (options.staticEvents.hasOwnProperty(pixel)) { 1078 1079 $.each(options.staticEvents[pixel], function (eventName, events) { 1080 $.each(events, function (index, eventData) { 1081 1082 eventData.fired = eventData.fired || false; 1083 1084 if (!eventData.fired) { 1085 eventData = Utils.getFormFilledData(eventData); 1086 var fired = false;
1087 1088 // fire event 1089 if ('facebook' === pixel) { 1090 fired = Facebook.fireEvent(eventData.name, eventData); 1091 } else if ('ga' === pixel) { 1092 fired = Analytics.fireEvent(eventData.name, eventData); 1093 } else if ('pinterest' === pixel) { 1094 fired = Pinterest.fireEvent(eventData.name, eventData); 1095 } else if ('bing' === pixel) { 1096 fired = Bing.fireEvent(eventData.name, eventData); 1097 } else if ('gtm' === pixel) { 1098 fired = GTM.fireEvent(eventData.name, eventData); 1099 } else if ('reddit' === pixel) { 1100 fired = Reddit.fireEvent(eventData.name, eventData); 1101 } 1102 1103 // prevent event double event firing 1104 eventData.fired = fired; 1105 1106 } 1107 1108 }); 1109 }); 1110 1111 } 1112 1113 }, 1114 1115 /** 1116 * Load tag's JS 1117 * 1118 * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/ 1119 * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/custom-dims-mets 1120 */ 1121 loadGoogleTag: function (id) { 1122 1123 if (!gtag_loaded) { 1124 let dataLayerName = this.dataLayerName; 1125 if(options.hasOwnProperty('GATags')){ 1126 switch (options.GATags.ga_datalayer_type) { 1127 case 'default': 1128 dataLayerName = 'dataLayerPYS'; 1129 break; 1130 case 'custom': 1131 dataLayerName = options.GATags.ga_datalayer_name; 1132 break; 1133 default: 1134 dataLayerName = 'dataLayer'; 1135 } 1136 } 1137 this.dataLayerName = dataLayerName; 1138 (function (window, document, src) { 1139 var a = document.createElement('script'), 1140 m = document.getElementsByTagName('script')[0]; 1141 a.async = 1; 1142 a.src = src; 1143 m.parentNode.insertBefore(a, m); 1144 })(window, document, '//www.googletagmanager.com/gtag/js?id=' + id+'&l='+this.dataLayerName); 1145 1146 window[dataLayerName] = window[dataLayerName] || []; 1147 window.gtag = window.gtag || function gtag() { 1148 window[dataLayerName].push(arguments); 1149 }; 1150 1151 if ( options.google_consent_mode ) { 1152 let data = {}; 1153 data[ 'analytics_storage' ] = options.gdpr.analytics_storage.enabled ? options.gdpr.analytics_storage.value : 'granted'; 1154 data[ 'ad_storage' ] = options.gdpr.ad_storage.enabled ? options.gdpr.ad_storage.value : 'granted'; 1155 data[ 'ad_user_data' ] = options.gdpr.ad_user_data.enabled ? options.gdpr.ad_user_data.value : 'granted'; 1156 data[ 'ad_personalization' ] = options.gdpr.ad_personalization.enabled ? options.gdpr.ad_personalization.value : 'granted'; 1157 1158 this.loadDefaultConsent( 'consent', 'default', data ); 1159 } 1160 1161 gtag('js', new Date()); 1162 gtag_loaded = true; 1163 1164 } 1165 1166 }, 1167 1168 loadDefaultConsent: function() { 1169 window[ this.dataLayerName ].push( arguments ); 1170 }, 1171 1172 loadGTMScript: function (id = '') { 1173 const domain = options.gtm.gtm_container_domain ?? 'www.googletagmanager.com'; 1174 const loader = options.gtm.gtm_container_identifier ?? 'gtm'; 1175 const gtm_auth = options.gtm.gtm_auth ?? ''; // Set this if needed 1176 const gtm_preview = options.gtm.gtm_preview ?? ''; // Set this if needed 1177 const datalayer_name = options.gtm.gtm_dataLayer_name ?? 'dataLayer'; 1178 1179 window[ datalayer_name ] = window[ datalayer_name ] || []; 1180 window.gtag = window.gtag || function gtag() { 1181 window[ datalayer_name ].push( arguments ); 1182 }; 1183 1184 if ( options.google_consent_mode ) { 1185 let data = {};
1186 data[ 'analytics_storage' ] = options.gdpr.analytics_storage.enabled ? options.gdpr.analytics_storage.value : 'granted'; 1187 data[ 'ad_storage' ] = options.gdpr.ad_storage.enabled ? options.gdpr.ad_storage.value : 'granted'; 1188 data[ 'ad_user_data' ] = options.gdpr.ad_user_data.enabled ? options.gdpr.ad_user_data.value : 'granted'; 1189 data[ 'ad_personalization' ] = options.gdpr.ad_personalization.enabled ? options.gdpr.ad_personalization.value : 'granted'; 1190 1191 this.GTMdataLayerName = datalayer_name; 1192 this.loadDefaultGTMConsent( 'consent', 'default', data ); 1193 } 1194 1195 (function(w, d, s, l, i) { 1196 w[l] = w[l] || []; 1197 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 1198 const f = d.getElementsByTagName(s)[0]; 1199 const j = d.createElement(s); 1200 const dl = l !== 'dataLayer' ? '&l=' + l : ''; 1201 j.async = true; 1202 j.src = 'https://' + domain + '/' + loader + '.js?id=' + i + dl; 1203 if (gtm_auth && gtm_preview) { 1204 j.src += '>m_auth=' + gtm_auth + '>m_preview=' + gtm_preview + '>m_cookies_win=x'; 1205 } 1206 f.parentNode.insertBefore(j, f); 1207 })(window, document, 'script', datalayer_name, id); 1208 1209 }, 1210 1211 loadDefaultGTMConsent: function() { 1212 window[ this.GTMdataLayerName ].push( arguments ); 1213 }, 1214 1215 /** 1216 * GDPR 1217 */ 1218 1219 loadPixels: function () { 1220 1221 if (options.gdpr.ajax_enabled && !options.gdpr.consent_magic_integration_enabled) { 1222 1223 // retrieves actual PYS GDPR filters values which allow to avoid cache issues 1224 $.get({ 1225 url: options.ajaxUrl, 1226 dataType: 'json', 1227 data: { 1228 action: 'pys_get_gdpr_filters_values' 1229 }, 1230 success: function (res) { 1231 1232 if (res.success) { 1233 1234 options.gdpr.all_disabled_by_api = res.data.all_disabled_by_api; 1235 options.gdpr.facebook_disabled_by_api = res.data.facebook_disabled_by_api; 1236 options.gdpr.analytics_disabled_by_api = res.data.analytics_disabled_by_api; 1237 options.gdpr.google_ads_disabled_by_api = res.data.google_ads_disabled_by_api; 1238 options.gdpr.pinterest_disabled_by_api = res.data.pinterest_disabled_by_api; 1239 options.gdpr.bing_disabled_by_api = res.data.bing_disabled_by_api; 1240 options.gdpr.reddit_disabled_by_api = res.data.reddit_disabled_by_api; 1241 1242 options.cookie.externalID_disabled_by_api = res.data.externalID_disabled_by_api; 1243 options.cookie.disabled_all_cookie = res.data.disabled_all_cookie; 1244 options.cookie.disabled_advanced_form_data_cookie = res.data.disabled_advanced_form_data_cookie; 1245 options.cookie.disabled_landing_page_cookie = res.data.disabled_landing_page_cookie; 1246 options.cookie.disabled_first_visit_cookie = res.data.disabled_first_visit_cookie; 1247 options.cookie.disabled_trafficsource_cookie = res.data.disabled_trafficsource_cookie; 1248 options.cookie.disabled_utmTerms_cookie = res.data.disabled_utmTerms_cookie; 1249 options.cookie.disabled_utmId_cookie = res.data.disabled_utmId_cookie; 1250 } 1251 1252 loadPixels(); 1253 1254 } 1255 }); 1256 1257 } else { 1258 loadPixels(); 1259 } 1260 1261 }, 1262 1263 consentGiven: function (pixel) { 1264 1265 /** 1266 * ConsentMagic 1267 */ 1268 if ( options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined" ) { 1269 1270 let test_prefix = CS_Data.test_prefix; 1271 if ( 1272 ( ( typeof CS_Data.cs_google_consent_mode_enabled !== "undefined" && CS_Data.cs_google_consent_mode_enabled == 1 ) && ( pixel == 'analytics' || pixel == 'google_ads' ) ) 1273 || ( typeof CS_Data.cs_meta_ldu_mode !== "undefined" && CS_Data.cs_meta_ldu_mode && pixel == 'facebook' ) 1274 || ( typeof CS_Data.cs_reddit_ldu_mode !== "undefined" && CS_Data.cs_reddit_ldu_mode && pixel == 'reddit' ) 1275 || ( typeof CS_Data.cs_bing_consent_mode !== "undefined" && CS_Data.cs_bing_consent_mode.ad_storage.enabled && pixel == 'bing' ) 1276 ) { 1277 if ( CS_Data.cs_cache_enabled == 0 || ( CS_Data.cs_cache_enabled == 1 && window.CS_Cache && window.CS_Cache.check_status ) ) { 1278 return true; 1279 } else { 1280 return false;
1281 } 1282 } 1283 1284 if( pixel == 'facebook' && ( CS_Data.cs_script_cat.facebook == 0 || CS_Data.cs_script_cat.facebook == CS_Data.cs_necessary_cat_id ) ) { 1285 return true; 1286 } else if( pixel == 'bing' && ( CS_Data.cs_script_cat.bing == 0 || CS_Data.cs_script_cat.bing == CS_Data.cs_necessary_cat_id ) ) { 1287 return true; 1288 } else if( pixel == 'analytics' && ( CS_Data.cs_script_cat.analytics == 0 || CS_Data.cs_script_cat.analytics == CS_Data.cs_necessary_cat_id ) ) { 1289 return true; 1290 } else if( pixel == 'google_ads' && ( CS_Data.cs_script_cat.gads == 0 || CS_Data.cs_script_cat.gads == CS_Data.cs_necessary_cat_id ) ) { 1291 return true; 1292 } else if( pixel == 'pinterest' && ( CS_Data.cs_script_cat.pinterest == 0 || CS_Data.cs_script_cat.pinterest == CS_Data.cs_necessary_cat_id ) ) { 1293 return true; 1294 } else if( pixel == 'tiktok' && ( CS_Data.cs_script_cat.tiktok == 0 || CS_Data.cs_script_cat.tiktok == CS_Data.cs_necessary_cat_id ) ) { 1295 return true; 1296 } else if( pixel == 'reddit' && ( CS_Data.cs_script_cat?.reddit == 0 || CS_Data.cs_script_cat?.reddit == CS_Data.cs_necessary_cat_id ) ) { 1297 return true; 1298 } 1299 1300 let substring = "cs_enabled_cookie_term", 1301 theCookies = document.cookie.split( ';' ); 1302 1303 for ( let i = 1; i <= theCookies.length; i++ ) { 1304 if ( theCookies[ i - 1 ].indexOf( substring ) !== -1 ) { 1305 let categoryCookie = theCookies[ i - 1 ].replace( 'cs_enabled_cookie_term' + test_prefix + '_', '' ); 1306 categoryCookie = Number( categoryCookie.replace( /\D+/g, "" ) ); 1307 let cs_cookie_val = Cookies.get( 'cs_enabled_cookie_term' + test_prefix + '_' + categoryCookie ); 1308 1309 if ( categoryCookie === CS_Data.cs_script_cat.facebook && pixel == 'facebook' ) { 1310 return cs_cookie_val == 'yes'; 1311 } else if ( categoryCookie === CS_Data.cs_script_cat.bing && pixel == 'bing' ) { 1312 return cs_cookie_val == 'yes'; 1313 } else if ( categoryCookie === CS_Data.cs_script_cat.analytics && pixel == 'analytics' ) { 1314 return cs_cookie_val == 'yes'; 1315 } else if ( categoryCookie === CS_Data.cs_script_cat.gads && pixel == 'google_ads' ) { 1316 return cs_cookie_val == 'yes'; 1317 } else if ( categoryCookie === CS_Data.cs_script_cat.pinterest && pixel == 'pinterest' ) { 1318 return cs_cookie_val == 'yes'; 1319 } else if ( categoryCookie === CS_Data.cs_script_cat.tiktok && pixel == 'tiktok' ) { 1320 return cs_cookie_val == 'yes'; 1321 } else if ( categoryCookie === CS_Data.cs_script_cat?.reddit && pixel == 'reddit' ) { 1322 return cs_cookie_val == 'yes'; 1323 } 1324 } 1325 } 1326 1327 return false; 1328 } 1329 1330 /** 1331 * Real Cookie Banner 1332 */ 1333 if(options.gdpr.real_cookie_banner_integration_enabled) { 1334 var consentApi = window.consentApi; 1335 if (consentApi) { 1336 switch (pixel) { 1337 case "analytics": 1338 return consentApi.consentSync("http", "_ga", "*").cookieOptIn; 1339 case "facebook": 1340 return consentApi.consentSync("http", "_fbp", "*").cookieOptIn; 1341 case "pinterest": 1342 return consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn; 1343 default: 1344 return true; 1345 } 1346 } 1347 } 1348 1349 /** 1350 * Cookiebot 1351 */ 1352 if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') { 1353 1354 var cookiebot_consent_category = options.gdpr['cookiebot_' + pixel + '_consent_category']; 1355 1356 if (options.gdpr[pixel + '_prior_consent_enabled']) { 1357 if (Cookiebot.consented === true || Cookiebot.consent[cookiebot_consent_category]) { 1358 return true; 1359 } 1360 } else { 1361 if (Cookiebot.consent[cookiebot_consent_category]) { 1362 return true; 1363 } 1364 } 1365 1366 return false;
1367 1368 } 1369 1370 /** 1371 * Cookie Notice 1372 */ 1373 if (options.gdpr.cookie_notice_integration_enabled && typeof cnArgs !== 'undefined') { 1374 1375 var cn_cookie = Cookies.get(cnArgs.cookieName); 1376 1377 if (options.gdpr[pixel + '_prior_consent_enabled']) { 1378 if (typeof cn_cookie === 'undefined' || cn_cookie === 'true') { 1379 return true; 1380 } 1381 } else { 1382 if (cn_cookie === 'true') { 1383 return true; 1384 } 1385 } 1386 1387 return false; 1388 1389 } 1390 1391 /** 1392 * Cookie Law Info 1393 */ 1394 if (options.gdpr.cookie_law_info_integration_enabled) { 1395 var cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('wt_consent') ?? Cookies.get('viewed_cookie_policy'); 1396 if (options.gdpr[pixel + '_prior_consent_enabled']) { 1397 if (typeof cli_cookie === 'undefined') return true; 1398 if ( 1399 cli_cookie && 1400 (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent')) 1401 ) { 1402 if (getCookieYes('analytics') === 'yes') { 1403 return true; 1404 } 1405 } else if (cli_cookie && cli_cookie === Cookies.get('viewed_cookie_policy')) { 1406 if (Cookies.get('viewed_cookie_policy') === 'yes') { 1407 return true; 1408 } 1409 } 1410 } else { 1411 if ( 1412 cli_cookie && 1413 (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent')) 1414 ) { 1415 if (getCookieYes('analytics') === 'yes') { 1416 return true; 1417 } 1418 } else if (cli_cookie && cli_cookie === Cookies.get('viewed_cookie_policy')) { 1419 if (Cookies.get('viewed_cookie_policy') === 'yes') { 1420 return true; 1421 } 1422 } 1423 } 1424 return false; 1425 } 1426 1427 return true; 1428 1429 }, 1430 1431 setupGdprCallbacks: function () { 1432 /** 1433 * ConsentMagic 1434 */ 1435 if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") { 1436 let test_prefix = CS_Data.test_prefix, 1437 cs_refresh_after_consent = false, 1438 substring = "cs_enabled_cookie_term"; 1439 1440 if (CS_Data.cs_refresh_after_consent == 1) { 1441 cs_refresh_after_consent = CS_Data.cs_refresh_after_consent; 1442 } 1443 1444 let consent_actions = function () { 1445 let theCookies = document.cookie.split( ';' ); 1446 1447 let consent = { 1448 facebook: true, 1449 ga: true, 1450 google_ads: true, 1451 tiktok: true, 1452 bing: true, 1453 pinterest: true, 1454 gtm: true, 1455 reddit: true, 1456 }; 1457 1458 for (let i = 1 ; i <= theCookies.length; i++) { 1459 if (theCookies[i-1].indexOf(substring) !== -1) { 1460 let categoryCookie = theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_',''); 1461 categoryCookie = Number(categoryCookie.replace(/\D+/g,"")); 1462 let cs_cookie_val = Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie); 1463 if(cs_cookie_val == 'yes') { 1464 if ( ( categoryCookie === CS_Data.cs_script_cat.facebook ) || ( typeof CS_Data.cs_meta_ldu_mode !== "undefined" && CS_Data.cs_meta_ldu_mode ) ) { 1465 Facebook.loadPixel(); 1466 } 1467 1468 if ( categoryCookie === CS_Data.cs_script_cat.bing || ( typeof CS_Data.cs_bing_consent_mode !== "undefined" && CS_Data.cs_bing_consent_mode.ad_storage.enabled ) ) { 1469 Bing.loadPixel(); 1470 } 1471 1472 if (categoryCookie === CS_Data.cs_script_cat.analytics || (typeof CS_Data.cs_google_analytics_consent_mode !== "undefined" && CS_Data.cs_google_analytics_consent_mode == 1)
1472) { 1473 1474 Analytics.loadPixel(); 1475 } 1476 1477 if (categoryCookie === CS_Data.cs_script_cat.pinterest) { 1478 Pinterest.loadPixel(); 1479 } 1480 1481 if ( ( categoryCookie === CS_Data.cs_script_cat.reddit ) || ( typeof CS_Data.cs_reddit_ldu_mode !== "undefined" && CS_Data.cs_reddit_ldu_mode ) ) { 1482 Reddit.loadPixel(); 1483 } 1484 } else { 1485 if ( ( categoryCookie === CS_Data.cs_script_cat.facebook ) && ( typeof CS_Data.cs_meta_ldu_mode == "undefined" || !CS_Data.cs_meta_ldu_mode ) ) { 1486 Facebook.disable(); 1487 consent.facebook = false; 1488 } 1489 1490 if ( categoryCookie === CS_Data.cs_script_cat.bing && ( typeof CS_Data.cs_bing_consent_mode == "undefined" || !CS_Data.cs_bing_consent_mode.ad_storage.enabled ) ) { 1491 Bing.disable(); 1492 consent.bing = false; 1493 } 1494 if (categoryCookie === CS_Data.cs_script_cat.analytics && (typeof CS_Data.cs_google_analytics_consent_mode == "undefined" || CS_Data.cs_google_analytics_consent_mode == 0)) { 1495 Analytics.disable(); 1496 consent.ga = false; 1497 consent.gtm = false; 1498 } 1499 1500 if (categoryCookie === CS_Data.cs_script_cat.pinterest) { 1501 Pinterest.disable(); 1502 consent.pinterest = false; 1503 } 1504 1505 if ( ( categoryCookie === CS_Data.cs_script_cat.reddit ) && ( typeof CS_Data.cs_reddit_ldu_mode == "undefined" || !CS_Data.cs_reddit_ldu_mode ) ) { 1506 Reddit.disable(); 1507 consent.reddit = false; 1508 } 1509 } 1510 if (Cookies.get('cs_enabled_advanced_matching') == 'yes') { 1511 Facebook.loadPixel(); 1512 } 1513 } 1514 } 1515 Utils.setupGDPRData( consent ); 1516 } 1517 1518 if (!cs_refresh_after_consent) { 1519 consent_actions(); 1520 1521 $(document).on('click','.cs_action_btn',function(e) { 1522 e.preventDefault(); 1523 1524 let consent = { 1525 facebook: true, 1526 ga: true, 1527 bing: true, 1528 pinterest: true, 1529 gtm: true, 1530 reddit: true, 1531 }; 1532 1533 let elm = $(this), 1534 button_action = elm.attr('data-cs_action'); 1535 1536 if(button_action === 'allow_all') { 1537 Facebook.loadPixel(); 1538 Bing.loadPixel(); 1539 Analytics.loadPixel(); 1540 Pinterest.loadPixel(); 1541 Reddit.loadPixel(); 1542 1543 consent.facebook = true; 1544 consent.bing = true; 1545 consent.ga = true; 1546 consent.pinterest = true; 1547 consent.reddit = true; 1548 consent.gtm = true; 1549 1550 Utils.setupGDPRData( consent ); 1551 } else if ( button_action === 'disable_all' ) { 1552 if ( typeof CS_Data.cs_meta_ldu_mode == "undefined" || CS_Data.cs_meta_ldu_mode == 0 ) { 1553 Facebook.disable(); 1554 consent.facebook = false;
1555 } 1556 1557 if ( typeof CS_Data.cs_bing_consent_mode == "undefined" || CS_Data.cs_bing_consent_mode.ad_storage.enabled == 0 ) { 1558 Bing.disable(); 1559 consent.bing = false; 1560 } 1561 1562 if ( CS_Data.cs_google_analytics_consent_mode == 0 || typeof CS_Data.cs_google_analytics_consent_mode == "undefined" ) { 1563 Analytics.disable(); 1564 consent.ga = false; 1565 consent.gtm = false; 1566 } 1567 1568 if ( typeof CS_Data.cs_reddit_ldu_mode == "undefined" || CS_Data.cs_reddit_ldu_mode == 0 ) { 1569 Reddit.disable(); 1570 consent.reddit = false; 1571 } 1572 1573 Pinterest.disable(); 1574 consent.pinterest = false; 1575 Utils.setupGDPRData( consent ); 1576 } else if ( button_action === 'cs_confirm' ) { 1577 consent_actions(); 1578 } 1579 }); 1580 } 1581 } 1582 /** 1583 * Real Cookie Banner 1584 */ 1585 if(options.gdpr.real_cookie_banner_integration_enabled) { 1586 let consentApi = window.consentApi; 1587 if (consentApi) { 1588 consentApi.consent("http", "_ga", "*") 1589 .then(Analytics.loadPixel.bind(Analytics), Analytics.disable.bind(Analytics)); 1590 consentApi.consent("http", "_fbp", "*") 1591 .then(Facebook.loadPixel.bind(Facebook), Facebook.disable.bind(Facebook)); 1592 consentApi.consent("http", "_pinterest_sess", ".pinterest.com") 1593 .then(Pinterest.loadPixel.bind(Pinterest), Pinterest.disable.bind(Pinterest)); 1594 consentApi.consent("http", "_uetsid", "*") 1595 .then(Bing.loadPixel.bind(Bing), Bing.disable.bind(Bing)); 1596 1597 let consent = { 1598 facebook: true, 1599 ga: true, 1600 bing: true, 1601 pinterest: true, 1602 gtm: true, 1603 }; 1604 1605 if (!consentApi.consentSync("http", "_ga", "*").cookieOptIn) { 1606 consent.ga = false; 1607 consent.gtm = false; 1608 } 1609 if (!consentApi.consentSync("http", "_fbp", "*").cookieOptIn) { 1610 consent.facebook = false; 1611 } 1612 if (!consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn) { 1613 consent.pinterest = false; 1614 } 1615 if (!consentApi.consentSync("http", "_uetsid", "*").cookieOptIn) { 1616 consent.bing = false; 1617 } 1618 Utils.setupGDPRData( consent ); 1619 } 1620 } 1621 /** 1622 * Cookiebot 1623 */ 1624 if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') { 1625 1626 window.addEventListener("CookiebotOnConsentReady", function() { 1627 1628 let consent = { 1629 facebook: true, 1630 ga: true, 1631 bing: true, 1632 pinterest: true, 1633 gtm: true, 1634 }; 1635 1636 Utils.manageCookies(); 1637 if (Cookiebot.consent.marketing) { 1638 Facebook.loadPixel(); 1639 Bing.loadPixel(); 1640 Pinterest.loadPixel(); 1641 1642 consent.facebook = true; 1643 consent.bing = true; 1644 consent.pinterest = true; 1645 } 1646 if (Cookiebot.consent.statistics) { 1647 Analytics.loadPixel(); 1648 1649 consent.ga = true; 1650 consent.gtm = true; 1651 } 1652 if (!Cookiebot.consent.marketing) { 1653 Facebook.disable(); 1654 Pinterest.disable(); 1655 Bing.disable(); 1656 1657 consent.facebook = false;
1658 consent.bing = false; 1659 consent.pinterest = false; 1660 } 1661 if (!Cookiebot.consent.statistics) { 1662 Analytics.disable(); 1663 1664 consent.ga = false; 1665 consent.gtm = false; 1666 } 1667 1668 Utils.setupGDPRData( consent ); 1669 }); 1670 1671 } 1672 1673 /** 1674 * Cookie Notice 1675 */ 1676 if (options.gdpr.cookie_notice_integration_enabled) { 1677 1678 $(document).onFirst('click', '.cn-set-cookie', function () { 1679 1680 let consent = {}; 1681 1682 if ($(this).data('cookie-set') === 'accept') { 1683 Facebook.loadPixel(); 1684 Analytics.loadPixel(); 1685 Pinterest.loadPixel(); 1686 Bing.loadPixel(); 1687 1688 consent = { 1689 facebook: true, 1690 ga: true, 1691 bing: true, 1692 pinterest: true, 1693 gtm: true, 1694 }; 1695 } else { 1696 Facebook.disable(); 1697 Analytics.disable(); 1698 Pinterest.disable(); 1699 Bing.disable(); 1700 1701 consent = { 1702 facebook: false, 1703 ga: false, 1704 bing: false, 1705 pinterest: false, 1706 gtm: false, 1707 }; 1708 } 1709 1710 Utils.setupGDPRData( consent ); 1711 }); 1712 1713 $(document).onFirst('click', '.cn-revoke-cookie', function () { 1714 Facebook.disable(); 1715 Analytics.disable(); 1716 Pinterest.disable(); 1717 Bing.disable(); 1718 1719 let consent = { 1720 facebook: false, 1721 ga: false, 1722 bing: false, 1723 pinterest: false, 1724 gtm: false, 1725 }; 1726 Utils.setupGDPRData( consent ); 1727 1728 }); 1729 1730 } 1731 1732 /** 1733 * Cookie Law Info 1734 */ 1735 if (options.gdpr.cookie_law_info_integration_enabled) { 1736 1737 $(document).onFirst('click', '#wt-cli-accept-all-btn,#cookie_action_close_header, .cky-btn-accept', function () { 1738 setTimeout(function (){ 1739 let cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('wt_consent') ?? Cookies.get('viewed_cookie_policy'); 1740 if (typeof cli_cookie !== 'undefined') { 1741 if (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent')) { 1742 if (getCookieYes('analytics') === 'yes') { 1743 Utils.manageCookies(); 1744 } 1745 } else if (cli_cookie === Cookies.get('viewed_cookie_policy') && cli_cookie == 'yes') { 1746 Utils.manageCookies(); 1747 } 1748 } 1749 },1000) 1750 Facebook.loadPixel(); 1751 Analytics.loadPixel(); 1752 Pinterest.loadPixel(); 1753 Bing.loadPixel(); 1754 1755 let consent = { 1756 facebook: true, 1757 ga: true, 1758 bing: true, 1759 pinterest: true, 1760 gtm: true, 1761 }; 1762 Utils.setupGDPRData( consent ); 1763 }); 1764 1765 $(document).onFirst('click', '#cookie_action_close_header_reject, .cky-btn-reject', function () { 1766 Facebook.disable(); 1767 Analytics.disable(); 1768 Pinterest.disable(); 1769 Bing.disable(); 1770 1771 let consent = {
1772 facebook: false, 1773 ga: false, 1774 bing: false, 1775 pinterest: false, 1776 gtm: false, 1777 }; 1778 Utils.setupGDPRData( consent ); 1779 }); 1780 1781 } 1782 1783 }, 1784 1785 setupGDPRData: function ( consent ) { 1786 consent = window.btoa( JSON.stringify( consent ) ); 1787 Cookies.set( 'pys_consent', consent, { expires: 365, path: '/', domain: domain } ); 1788 }, 1789 1790 /** 1791 * DOWNLOAD DOCS 1792 */ 1793 1794 getLinkExtension: function (link) { 1795 1796 // Remove anchor, query string and everything before last slash 1797 link = link.substring(0, (link.indexOf("#") === -1) ? link.length : link.indexOf("#")); 1798 link = link.substring(0, (link.indexOf("?") === -1) ? link.length : link.indexOf("?")); 1799 link = link.substring(link.lastIndexOf("/") + 1, link.length); 1800 1801 // If there's a period left in the URL, then there's a extension 1802 if (link.length > 0 && link.indexOf('.') !== -1) { 1803 link = link.substring(link.indexOf(".") + 1); // Remove everything but what's after the first period 1804 return link; 1805 } else { 1806 return ""; 1807 } 1808 }, 1809 1810 getLinkFilename: function (link) { 1811 1812 // Remove anchor, query string and everything before last slash 1813 link = link.substring(0, (link.indexOf("#") === -1) ? link.length : link.indexOf("#")); 1814 link = link.substring(0, (link.indexOf("?") === -1) ? link.length : link.indexOf("?")); 1815 link = link.substring(link.lastIndexOf("/") + 1, link.length); 1816 1817 // If there's a period left in the URL, then there's a extension 1818 if (link.length > 0 && link.indexOf('.') !== -1) { 1819 return link; 1820 } else { 1821 return ""; 1822 } 1823 }, 1824 /** 1825 * Enrich 1826 */ 1827 isCheckoutPage: function () { 1828 return $('body').hasClass('woocommerce-checkout') || document.querySelector('.woocommerce-checkout') || 1829 $('body').hasClass('edd-checkout'); 1830 }, 1831 addCheckoutFields : function() { 1832 var utm = ""; 1833 var utms = getUTMs() 1834 1835 $.each(utmTerms, function (index, name) { 1836 if(index > 0) { 1837 utm+="|"; 1838 } 1839 utm+=name+":"+utms[name]; 1840 }); 1841 var utmIdList = ""; 1842 var utmsIds = getUTMId() 1843 $.each(utmId, function (index, name) { 1844 if(index > 0) { 1845 utmIdList+="|"; 1846 } 1847 utmIdList+=name+":"+utmsIds[name]; 1848 }); 1849 var utmIdListLast = ""; 1850 var utmsIdsLast = getUTMId(true) 1851 $.each(utmId, function (index, name) { 1852 if(index > 0) { 1853 utmIdListLast+="|"; 1854 } 1855 utmIdListLast+=name+":"+utmsIdsLast[name]; 1856 }); 1857 1858 1859 var utmLast = ""; 1860 var utmsLast = getUTMs(true) 1861 $.each(utmTerms, function (index, name) { 1862 if(index > 0) { 1863 utmLast+="|"; 1864 } 1865 utmLast+=name+":"+utmsLast[name]; 1866 }); 1867 1868 var dateTime = getDateTime(); 1869 var landing = getLandingPageValue(); 1870 var lastLanding = getLandingPageValue(); 1871 var trafic = getTrafficSourceValue(); 1872 var lastTrafic = getTrafficSourceValue(); 1873 1874 var $form = null; 1875 if($('body').hasClass('woocommerce-checkout')) { 1876 $form = $("form.woocommerce-checkout"); 1877 } else { 1878 $form = $("#edd_purchase_form"); 1879 } 1880 var inputs = {'pys_utm':utm, 1881 'pys_utm_id':utmIdList, 1882 'pys_browser_time':dateTime.join("|"), 1883 'pys_landing':landing, 1884 'pys_source':trafic, 1885 'pys_order_type': $(".wcf-optin-form").length > 0 ? "wcf-optin" : "normal", 1886 1887 'last_pys_landing':lastLanding, 1888 'last_pys_source':lastTrafic, 1889 'last_pys_utm':utmLast, 1890 'last_pys_utm_id':utmIdListLast, 1891 } 1892
1893 Object.keys(inputs).forEach(function(key,index) { 1894 $form.append("<input type='hidden' name='"+key+"' value='"+inputs[key]+"' /> "); 1895 }); 1896 1897 1898 }, 1899 getAdvancedFormData: function () { 1900 let dataStr = Cookies.get("pys_advanced_form_data"); 1901 if(dataStr === undefined) { 1902 return {'first_name':"",'last_name':"",'email':"",'phone':""}; 1903 } else { 1904 return JSON.parse(dataStr); 1905 } 1906 }, 1907 getFormFilledData: function ( event ) { 1908 // First, resolve static/dynamic parameters 1909 if (event.params && Object.keys(event.params).length > 0) { 1910 Object.entries(event.params).forEach(([key, value]) => { 1911 // Resolve parameter value (static or dynamic) 1912 const resolvedValue = resolveParamValue(value); 1913 if (resolvedValue !== null) { 1914 event.params[key] = resolvedValue; 1915 } 1916 }); 1917 } 1918 return event; 1919 } 1920 }; 1921 1922 }(options); 1923 1924 var Facebook = function (options) { 1925 1926 1927 var defaultEventTypes = [ 1928 'PageView', 1929 'ViewContent', 1930 'Search', 1931 'AddToCart', 1932 'AddToWishlist', 1933 'InitiateCheckout', 1934 'AddPaymentInfo', 1935 'Purchase', 1936 'Lead', 1937 1938 'Subscribe', 1939 'CustomizeProduct', 1940 'FindLocation', 1941 'StartTrial', 1942 'SubmitApplication', 1943 'Schedule', 1944 'Contact', 1945 'Donate' 1946 ]; 1947 1948 var initialized = false; 1949 var genereateFbp = function (){ 1950 return !Cookies.get('_fbp') ? 'fb.1.'+Date.now()+'.'+Math.floor(1000000000 + Math.random() * 9000000000) : Cookies.get('_fbp'); 1951 }; 1952 var genereateFbc = function (){ 1953 return getUrlParameter('fbclid') ? 'fb.1.'+Date.now()+'.'+getUrlParameter('fbclid') : '' 1954 }; 1955 // fire server side event gdpr plugin installed 1956 var isApiDisabled = options.gdpr.all_disabled_by_api || 1957 options.gdpr.facebook_disabled_by_api || 1958 options.gdpr.cookiebot_integration_enabled || 1959 options.gdpr.consent_magic_integration_enabled || 1960 options.gdpr.cookie_notice_integration_enabled || 1961 options.gdpr.cookie_law_info_integration_enabled; 1962 1963 /** 1964 * 1965 * @param allData 1966 * @param params 1967 * @returns {string | null} 1968 */ 1969 function sendFbServerEvent(allData,name,params) { 1970 let eventId = null; 1971 if(options.facebook.serverApiEnabled) { 1972 1973 if(allData.e_id === "woo_remove_from_cart") {// server event will sended from hook 1974 Facebook.updateEventId(allData.name); 1975 allData.eventID = Facebook.getEventId(allData.name); 1976 } else { 1977 // send event from server if they was bloc by gdpr or need send with delay 1978 allData.eventID = Utils.generateUniqueId(allData); 1979 1980 if(Cookies.get('_fbp')){ 1981 params._fbp = Cookies.get('_fbp'); 1982 } 1983 if(Cookies.get('_fbc')){ 1984 params._fbc = Cookies.get('_fbc'); 1985 } 1986 1987 if( options.ajaxForServerEvent || isApiDisabled ){ 1988 var json = { 1989 action: 'pys_api_event', 1990 pixel: 'facebook', 1991 event: name, 1992 data:params, 1993 ids:options.facebook.pixelIds, 1994 eventID:allData.eventID, 1995 url:window.location.href, 1996 ajax_event:options.ajax_event 1997 }; 1998 if(allData.hasOwnProperty('woo_order')) { 1999 json['woo_order'] = allData.woo_order; 2000 } 2001 if(allData.hasOwnProperty('edd_order')) { 2002 json['edd_order'] = allData.edd_order; 2003 } 2004 2005 if (allData.e_id === "automatic_event_internal_link" || allData.e_id === "automatic_event_outbound_link") { 2006 setTimeout(() => Utils.sendServerAjaxRequest(options.ajaxUrl, json), 500); 2007 } else if (allData.type != 'static') { 2008 Utils.sendServerAjaxRequest(options.ajaxUrl, json); 2009 } 2010 2011 if ( ( allData.type == 'static' && options.ajaxForServerStaticEvent ) || ( allData.hasOwnProperty( 'ajaxFire' ) && allData.ajaxFire ) ) { 2012 Utils.sendServerAjaxRequest( options.ajaxUrl, json ); 2013 } 2014 } 2015 } 2016 delete params._fbp; 2017 delete params._fbc; 2018 eventId = allData.eventID 2019 } 2020 return eventId; 2021 } 2022 2023 function fireEvent(name, allData) { 2024 2025 if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'facebook')) { 2026 return; 2027 } 2028 2029 var actionType = defaultEventTypes.includes(name) ? 'track' : 'trackCustom'; 2030 var data = allData.params; 2031 var params = {}; 2032 var arg = {}; 2033 Utils.copyProperties(data, params); 2034 let eventId = sendFbServerEvent(allData,name,params) 2035 2036 2037 if("hCR" === name) { 2038 return; 2039 } 2040 2041 if (options.debug) { 2042 console.log('[Facebook] ' + name, params,"eventID",eventId); 2043 } 2044 2045 if(eventId != null) { 2046 arg.eventID = eventId; 2047 } 2048 2049 fbq(actionType, name, params, arg); 2050 2051 } 2052 2053 /** 2054 * Public API 2055 */ 2056 return { 2057 tag: function() { 2058 return "facebook"; 2059 }, 2060 isEnabled: function () { 2061 return options.hasOwnProperty('facebook'); 2062 }, 2063 2064 disable: function () { 2065 initialized = false;
2066 }, 2067 advancedMatching: function () { 2068 if(options.facebook.advancedMatchingEnabled) { 2069 let advancedMatchingForm = Utils.getAdvancedFormData(); 2070 let advancedMatching = {}; 2071 if(Object.keys(options.facebook.advancedMatching).length > 0) { 2072 advancedMatching = options.facebook.advancedMatching; 2073 } 2074 2075 if(!advancedMatching.hasOwnProperty("em") 2076 && advancedMatchingForm.hasOwnProperty("email") && advancedMatchingForm["email"].length > 0) { 2077 advancedMatching["em"] = advancedMatchingForm["email"]; 2078 } 2079 if(!advancedMatching.hasOwnProperty("ph") 2080 && advancedMatchingForm.hasOwnProperty("phone") && advancedMatchingForm["phone"].length > 0) { 2081 advancedMatching["ph"] = advancedMatchingForm["phone"]; 2082 } 2083 if(!advancedMatching.hasOwnProperty("fn") 2084 && advancedMatchingForm.hasOwnProperty("first_name") && advancedMatchingForm["first_name"].length > 0) { 2085 advancedMatching["fn"] = advancedMatchingForm["first_name"]; 2086 } 2087 if(!advancedMatching.hasOwnProperty("ln") 2088 && advancedMatchingForm.hasOwnProperty("last_name") && advancedMatchingForm["last_name"].length > 0) { 2089 advancedMatching["ln"] = advancedMatchingForm["last_name"]; 2090 } 2091 if(!advancedMatching.hasOwnProperty("external_id")){ 2092 if (Cookies.get('pbid') || (options.hasOwnProperty('pbid') && options.pbid)) { 2093 advancedMatching["external_id"] = Cookies.get('pbid') ? Cookies.get('pbid') : options.pbid; 2094 } 2095 } 2096 else if(advancedMatching.external_id != Cookies.get('pbid')) 2097 { 2098 advancedMatching["external_id"] = Cookies.get('pbid') ? Cookies.get('pbid') : advancedMatching.external_id; 2099 } 2100 if(Object.keys(advancedMatching).length > 0) { 2101 return advancedMatching; 2102 } 2103 } 2104 return false 2105 }, 2106 /** 2107 * Load pixel's JS 2108 */ 2109 loadPixel: function () { 2110 2111 if (initialized || !this.isEnabled() || !Utils.consentGiven('facebook')) { 2112 return; 2113 } 2114 2115 !function (f, b, e, v, n, t, s) { 2116 if (f.fbq) return; 2117 n = f.fbq = function () { 2118 n.callMethod ? 2119 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 2120 }; 2121 if (!f._fbq) f._fbq = n; 2122 n.push = n; 2123 n.loaded = !0; 2124 n.version = '2.0'; 2125 n.agent = 'dvpixelyoursite'; 2126 n.queue = []; 2127 t = b.createElement(e); 2128 t.async = !0; 2129 t.src = v; 2130 s = b.getElementsByTagName(e)[0]; 2131 s.parentNode.insertBefore(t, s) 2132 }(window, 2133 document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); 2134 2135 let expires = parseInt(options.cookie_duration); 2136 if(!Cookies.get('_fbp')) { 2137 Cookies.set('_fbp',genereateFbp(), { expires: expires,path: '/',domain: domain }); 2138 } 2139 2140 if(getUrlParameter('fbclid')) { 2141 Cookies.set('_fbc',genereateFbc(), { expires: expires,path: '/',domain: domain }); 2142 } 2143 // initialize pixel 2144 options.facebook.pixelIds.forEach(function (pixelId) { 2145 if (options.facebook.removeMetadata) { 2146 fbq('set', 'autoConfig', false, pixelId); 2147 } 2148 let advancedMatching = Facebook.advancedMatching(); 2149 2150 if ( +options.facebook.meta_ldu === 1 ) { 2151 fbq( 'dataProcessingOptions', [ 'LDU' ], 0, 0 ); 2152 } 2153 2154 if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") { 2155 if(!advancedMatching) { 2156 fbq('init', pixelId); 2157 } else { 2158 var test_prefix = CS_Data.test_prefix; 2159 var cs_advanced_matching = Cookies.get('cs_enabled_advanced_matching'+test_prefix); 2160 if (jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0) { 2161 if (cs_advanced_matching == 'yes') { 2162 fbq('init', pixelId, advancedMatching); 2163 } else { 2164 fbq('init', pixelId); 2165 } 2166 } else { 2167 fbq('init', pixelId, advancedMatching); 2168 } 2169 } 2170 } else { 2171 if(!advancedMatching) { 2172 fbq('init', pixelId); 2173 } else { 2174 fbq('init', pixelId, advancedMatching); 2175 } 2176 } 2177 }); 2178 2179 initialized = true; 2180 2181 Utils.fireStaticEvents('facebook'); 2182 2183 }, 2184 2185 fireEvent: function (name, data) { 2186 2187 if (!initialized || !this.isEnabled()) { 2188 return false;
2189 } 2190 2191 data.delay = data.delay || 0; 2192 data.params = data.params || {}; 2193 2194 if (data.delay === 0) { 2195 2196 fireEvent(name, data); 2197 2198 } else { 2199 2200 setTimeout(function (name, params) { 2201 fireEvent(name, params); 2202 }, data.delay * 1000, name, data); 2203 2204 } 2205 2206 return true; 2207 2208 }, 2209 2210 onCommentEvent: function (event) { 2211 this.fireEvent(event.name, event); 2212 }, 2213 2214 onDownloadEvent: function (event) { 2215 this.fireEvent(event.name, event); 2216 }, 2217 2218 onFormEvent: function (event) { 2219 2220 this.fireEvent(event.name, event); 2221 2222 }, 2223 2224 onWooAddToCartOnButtonEvent: function (product_id) { 2225 2226 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2227 return; 2228 var event = options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]; 2229 window.pysWooProductData = window.pysWooProductData || []; 2230 if (window.pysWooProductData.hasOwnProperty(product_id)) { 2231 if (window.pysWooProductData[product_id].hasOwnProperty('facebook')) { 2232 event = Utils.copyProperties(event, {}) 2233 Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params) 2234 this.fireEvent(event.name, event); 2235 } 2236 } 2237 }, 2238 2239 onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form) { 2240 2241 window.pysWooProductData = window.pysWooProductData || []; 2242 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2243 return; 2244 var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); 2245 2246 if (product_type === Utils.PRODUCT_VARIABLE && !options.facebook.wooVariableAsSimple) { 2247 product_id = parseInt($form.find('input[name="variation_id"]').val()); 2248 } 2249 2250 if (window.pysWooProductData.hasOwnProperty(product_id)) { 2251 if (window.pysWooProductData[product_id].hasOwnProperty('facebook')) { 2252 2253 2254 Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params); 2255 2256 var groupValue = 0; 2257 if(product_type === Utils.PRODUCT_GROUPED ) { 2258 $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ 2259 var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); 2260 var quantity = parseInt($(this).val()); 2261 if(isNaN(quantity)) { 2262 quantity = 0; 2263 } 2264 var childItem = window.pysWooProductData[product_id]['facebook'].grouped[childId]; 2265 2266 if(quantity == 0) { 2267 event.params.content_ids.forEach(function(el,index,array) { 2268 if(el == childItem.content_id) { 2269 array.splice(index, 1); 2270 } 2271 }); 2272 } 2273 2274 if(event.params.hasOwnProperty('contents')) { 2275 event.params.contents.forEach(function(el,index,array) { 2276 if(el.id == childItem.content_id) { 2277 if(quantity > 0){ 2278 el.quantity = quantity; 2279 } else { 2280 array.splice(index, 1); 2281 } 2282 } 2283 }); 2284 } 2285 2286 2287 groupValue += childItem.price * quantity; 2288 }); 2289 if(groupValue == 0) return;
2289 // skip if no items selected 2290 } 2291 2292 // maybe customize value option 2293 if (options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption !== 'global') { 2294 2295 if(product_type === Utils.PRODUCT_GROUPED) { 2296 event.params.value = groupValue; 2297 } else if(product_type === Utils.PRODUCT_BUNDLE) { 2298 var data = $(".bundle_form .bundle_data").data("bundle_form_data"); 2299 var items_sum = getBundlePriceOnSingleProduct(data); 2300 event.params.value = (parseInt(data.base_price) + items_sum )* qty; 2301 } else { 2302 event.params.value = event.params.value * qty; 2303 } 2304 } 2305 2306 // only when non Facebook for WooCommerce logic used 2307 if (event.params.hasOwnProperty('contents') && product_type !== Utils.PRODUCT_GROUPED) { 2308 event.params.contents[0].quantity = qty; 2309 } 2310 2311 this.fireEvent(event.name, event); 2312 2313 } 2314 } 2315 }, 2316 2317 onWooRemoveFromCartEvent: function (event) { 2318 this.fireEvent(event.name, event); 2319 }, 2320 2321 onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) { 2322 2323 if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2324 return; 2325 var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); 2326 2327 if (window.pysEddProductData.hasOwnProperty(download_id)) { 2328 2329 var index; 2330 2331 if (price_index) { 2332 index = download_id + '_' + price_index; 2333 } else { 2334 index = download_id; 2335 } 2336 2337 if (window.pysEddProductData[download_id].hasOwnProperty(index)) { 2338 if (window.pysEddProductData[download_id][index].hasOwnProperty('facebook')) { 2339 2340 2341 Utils.copyProperties(window.pysEddProductData[download_id][index]['facebook']["params"], event.params) 2342 2343 // maybe customize value option 2344 if (options.edd.addToCartOnButtonValueEnabled && options.edd.addToCartOnButtonValueOption !== 'global') { 2345 event.params.value = event.params.value * qty; 2346 } 2347 2348 // update contents qty param 2349 var contents = event.params.contents; 2350 contents[0].quantity = qty; 2351 event.params.contents = contents; 2352 2353 this.fireEvent(event.name,event); 2354 2355 } 2356 } 2357 2358 } 2359 2360 }, 2361 2362 onEddRemoveFromCartEvent: function (event) { 2363 this.fireEvent(event.name, event); 2364 }, 2365 onPageScroll: function (event) { 2366 this.fireEvent(event.name, event); 2367 }, 2368 onTime: function (event) { 2369 this.fireEvent(event.name, event); 2370 }, 2371 initEventIdCookies: function (key) { 2372 var ids = {}; 2373 ids[key] = pys_generate_token(36) 2374 Cookies.set('pys_fb_event_id', JSON.stringify(ids)); 2375 }, 2376 updateEventId:function(key) { 2377 var cooData = Cookies.get("pys_fb_event_id") 2378 if(cooData === undefined) { 2379 this.initEventIdCookies(key); 2380 } else { 2381 var data = JSON.parse(cooData); 2382 data[key] = pys_generate_token(36); 2383 Cookies.set('pys_fb_event_id', JSON.stringify(data) ); 2384 } 2385 }, 2386 2387 getEventId:function (key) { 2388 var data = Cookies.get("pys_fb_event_id"); 2389 if(data === undefined) {
2390 this.initEventIdCookies(key); 2391 data = Cookies.get("pys_fb_event_id"); 2392 } 2393 return JSON.parse(data)[key]; 2394 }, 2395 2396 sendFacebookRestAPIRequest: function(allData, name, params) { 2397 if (typeof window.pysFacebookRest === 'undefined' || !window.pysFacebookRest.restApiUrl) { 2398 return; 2399 } 2400 2401 const restApiData = { 2402 event: name, 2403 data: JSON.stringify(params), 2404 ids: allData.pixelIds || options.facebook.pixelIds, 2405 eventID: allData.eventID, 2406 woo_order: allData.woo_order || 0, 2407 edd_order: allData.edd_order || 0 2408 }; 2409 2410 // Try sendBeacon first 2411 if (navigator.sendBeacon) { 2412 const formData = new FormData(); 2413 Object.keys(restApiData).forEach(key => { 2414 if (Array.isArray(restApiData[key])) { 2415 restApiData[key].forEach(value => { 2416 formData.append(key + '[]', value); 2417 }); 2418 } else { 2419 formData.append(key, restApiData[key]); 2420 } 2421 }); 2422 2423 if (navigator.sendBeacon(window.pysFacebookRest.restApiUrl, formData)) { 2424 return; 2425 } 2426 } 2427 2428 // Fallback to fetch 2429 fetch(window.pysFacebookRest.restApiUrl, { 2430 method: 'POST', 2431 headers: { 2432 'Content-Type': 'application/x-www-form-urlencoded', 2433 }, 2434 body: new URLSearchParams(restApiData) 2435 }).catch(() => { 2436 // Fallback to AJAX if fetch fails 2437 this.sendAjaxFallback(allData, name, params); 2438 }); 2439 }, 2440 2441 sendAjaxFallback: function(allData, name, params) { 2442 var json = { 2443 action: 'pys_api_event', 2444 pixel: 'facebook', 2445 event: name, 2446 data: params, 2447 ids: allData.pixelIds || options.facebook.pixelIds, 2448 eventID: allData.eventID, 2449 url: window.location.href, 2450 ajax_event: options.ajax_event 2451 }; 2452 if (allData.hasOwnProperty('woo_order')) { 2453 json['woo_order'] = allData.woo_order; 2454 } 2455 if (allData.hasOwnProperty('edd_order')) { 2456 json['edd_order'] = allData.edd_order; 2457 } 2458 2459 Utils.sendServerAjaxRequest(options.ajaxUrl, json); 2460 }, 2461 }; 2462 2463 }(options); 2464 2465 var Analytics = function (options) { 2466 2467 var initialized = false; 2468 2469 /** 2470 * Fires event 2471 * 2472 * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/sending-data 2473 * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/events 2474 * @link: https://developers.google.com/gtagjs/reference/event 2475 * @link: https://developers.google.com/gtagjs/reference/parameter 2476 * 2477 * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/custom-dims-mets 2478 * 2479 * @param name 2480 * @param data 2481 */ 2482 function fireEvent(name, data) { 2483 2484 if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'ga')) { 2485 return; 2486 } 2487 2488 var eventParams = Utils.copyProperties(data, {}); 2489 var _fireEvent = function (tracking_id,name,params) { 2490 2491 params['send_to'] = tracking_id; 2492 2493 if (options.debug) { 2494 console.log('[Google Analytics #' + tracking_id + '] ' + name, params); 2495 } 2496 2497 gtag('event', name, params); 2498 2499 }; 2500 options.ga.trackingIds.forEach(function (tracking_id) { 2501 var copyParams = Utils.copyProperties(eventParam
2501s, {}); // copy params because mapParamsTov4 can modify it 2502 var params = mapParamsTov4(tracking_id,name,copyParams) 2503 _fireEvent(tracking_id,name,params); 2504 }); 2505 2506 } 2507 function mapParamsTov4(tag,name,param) { 2508 //GA4 automatically collects a number of parameters for all events 2509 delete param.landing_page; 2510 // end 2511 if(isv4(tag)) { 2512 delete param.traffic_source; 2513 delete param.event_category; 2514 delete param.event_label; 2515 delete param.ecomm_prodid; 2516 delete param.ecomm_pagetype; 2517 delete param.ecomm_totalvalue; 2518 if(name === 'search') { 2519 param['search'] = param.search_term; 2520 delete param.search_term; 2521 delete param.dynx_itemid; 2522 delete param.dynx_pagetype; 2523 delete param.dynx_totalvalue; 2524 } 2525 } 2526 return param; 2527 } 2528 2529 function isv4(tag) { 2530 return tag.indexOf('G') === 0; 2531 } 2532 2533 /** 2534 * Public API 2535 */ 2536 return { 2537 tag: function() { 2538 return "ga"; 2539 }, 2540 isEnabled: function () { 2541 return options.hasOwnProperty('ga'); 2542 }, 2543 2544 disable: function () { 2545 initialized = false; 2546 }, 2547 2548 loadPixel: function () { 2549 2550 if (initialized || !this.isEnabled() || !Utils.consentGiven('analytics')) { 2551 return; 2552 } 2553 2554 Utils.loadGoogleTag(options.ga.trackingIds[0]); 2555 var config = {}; 2556 // Cross-Domain tracking 2557 if (options.ga.crossDomainEnabled) { 2558 config.linker = { 2559 accept_incoming: options.ga.crossDomainAcceptIncoming, 2560 domains: options.ga.crossDomainDomains 2561 }; 2562 } 2563 var ids = options.ga.trackingIds; 2564 // configure tracking ids 2565 ids.forEach(function (trackingId,index) { 2566 var obj = options.ga.isDebugEnabled; 2567 var searchValue = "index_"+index; 2568 var config_for_tag = Object.assign({}, options.config); 2569 config_for_tag.debug_mode = false;
2570 config_for_tag.send_page_view = !options.ga.custom_page_view_event; 2571 for (var key in obj) { 2572 if (obj.hasOwnProperty(key) && obj[key] === searchValue) { 2573 config_for_tag.debug_mode = true; 2574 break; 2575 } 2576 } 2577 if(!config_for_tag.debug_mode) 2578 { 2579 delete config_for_tag.debug_mode; 2580 } 2581 if(isv4(trackingId)) { 2582 if(options.ga.disableAdvertisingFeatures) { 2583 config_for_tag.allow_google_signals = false 2584 } 2585 if(options.ga.disableAdvertisingPersonalization) { 2586 config_for_tag.allow_ad_personalization_signals = false 2587 } 2588 } 2589 if(options.ga.hasOwnProperty('additionalConfig')){ 2590 if(options.ga.additionalConfig.hasOwnProperty(trackingId) && options.ga.additionalConfig[trackingId]){ 2591 config_for_tag.first_party_collection = options.ga.additionalConfig[trackingId].first_party_collection; 2592 } 2593 2594 } 2595 if(options.ga.hasOwnProperty('serverContainerUrls')){ 2596 if(options.ga.serverContainerUrls.hasOwnProperty(trackingId) && options.ga.serverContainerUrls[trackingId].enable_server_container != false){ 2597 if(options.ga.serverContainerUrls[trackingId].server_container_url != ''){ 2598 config_for_tag.server_container_url = options.ga.serverContainerUrls[trackingId].server_container_url; 2599 } 2600 if(options.ga.serverContainerUrls[trackingId].transport_url != ''){ 2601 config_for_tag.transport_url = options.ga.serverContainerUrls[trackingId].transport_url; 2602 } 2603 } 2604 } 2605 if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') { 2606 2607 var cookiebot_consent_category = options.gdpr['cookiebot_analytics_consent_category']; 2608 if (options.gdpr['analytics_prior_consent_enabled']) { 2609 if (Cookiebot.consented === true && Cookiebot.consent[cookiebot_consent_category]) { 2610 gtag('config', trackingId, config_for_tag); 2611 } 2612 } else { 2613 if (Cookiebot.consent[cookiebot_consent_category]) { 2614 gtag('config', trackingId, config_for_tag); 2615 } 2616 } 2617 } 2618 else 2619 { 2620 gtag('config', trackingId, config_for_tag); 2621 } 2622 }); 2623 2624 initialized = true; 2625 2626 Utils.fireStaticEvents('ga'); 2627 2628 }, 2629 2630 fireEvent: function (name, data) { 2631 2632 if (!initialized || !this.isEnabled()) { 2633 return false; 2634 } 2635 2636 data.delay = data.delay || 0; 2637 data.params = data.params || {}; 2638 data.params.eventID = Utils.generateUniqueId(data); 2639 if (data.delay === 0) { 2640 2641 fireEvent(name, data.params); 2642 2643 } else { 2644 2645 setTimeout(function (name, params) { 2646 fireEvent(name, params); 2647 }, data.delay * 1000, name, data.params); 2648 2649 } 2650 2651 return true; 2652 2653 }, 2654 2655 onCommentEvent: function (event) { 2656 this.fireEvent(event.name, event); 2657 }, 2658 2659 onDownloadEvent: function (event) { 2660 this.fireEvent(event.name, event); 2661 }, 2662 2663 onFormEvent: function (event) { 2664 this.fireEvent(event.name, event); 2665 }, 2666 2667 onWooAddToCartOnButtonEvent: function (product_id) { 2668 2669 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2670 return; 2671 var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); 2672 2673 if (window.pysWooProductData.hasOwnProperty(product_id)) { 2674 if (window.pysWooProductData[product_id].hasOwnProperty('ga')) { 2675 Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params) 2676 this.fireEvent(event.name, event); 2677 } 2678 } 2679 2680 2681 }, 2682 2683 onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form) { 2684 2685 window.pysWooProductData = window.pysWooProductData || []; 2686 2687 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2688 return; 2689 var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); 2690 2691 if (product_type === Utils.PRODUCT_VARIABLE && !options.ga.wooVariableAsSimple) { 2692 product_id = parseInt($form.find('input[name="variation_id"]').val()); 2693 } 2694 2695 if (window.pysWooProductData.hasOwnProperty(product_id)) { 2696 if (window.pysWooProductData[product_id].hasOwnProperty('ga')) { 2697 2698 Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params); 2699 if(product_type === Utils.PRODUCT_GROUPED ) { 2700 var groupValue = 0; 2701 $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ 2702 var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); 2703 var quantity = parseInt($(this).val()); 2704 if(isNaN(quantity)) { 2705 quantity = 0; 2706 } 2707 var childItem = window.pysWooProductData[product_id]['ga'].grouped[childId]; 2708 // update quantity
2709 event.params.items.forEach(function(el,index,array) { 2710 if(el.id == childItem.content_id) { 2711 if(quantity > 0){ 2712 el.quantity = quantity; 2713 } else { 2714 array.splice(index, 1); 2715 } 2716 } 2717 }); 2718 groupValue += childItem.price * quantity; 2719 }); 2720 if(options.woo.addToCartOnButtonValueEnabled && 2721 options.woo.addToCartOnButtonValueOption !== 'global' && 2722 event.params.hasOwnProperty('ecomm_totalvalue')) { 2723 event.params.ecomm_totalvalue = groupValue; 2724 } 2725 2726 if(groupValue == 0) return; // skip if no items selected 2727 } else { 2728 // update items qty param 2729 event.params.items[0].quantity = qty; 2730 } 2731 2732 // maybe customize value option 2733 if (options.woo.addToCartOnButtonValueEnabled && 2734 options.woo.addToCartOnButtonValueOption !== 'global' && 2735 product_type !== Utils.PRODUCT_GROUPED) 2736 { 2737 if(event.params.hasOwnProperty('ecomm_totalvalue')) { 2738 event.params.ecomm_totalvalue = event.params.items[0].price * qty; 2739 } 2740 2741 } 2742 2743 2744 this.fireEvent(event.name, event); 2745 } 2746 } 2747 2748 }, 2749 2750 onWooRemoveFromCartEvent: function (event) { 2751 2752 this.fireEvent(event.name, event); 2753 2754 }, 2755 2756 onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) { 2757 2758 if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 2759 return; 2760 var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); 2761 2762 2763 if (window.pysEddProductData.hasOwnProperty(download_id)) { 2764 2765 var index; 2766 2767 if (price_index) { 2768 index = download_id + '_' + price_index; 2769 } else { 2770 index = download_id; 2771 } 2772 2773 if (window.pysEddProductData[download_id].hasOwnProperty(index)) { 2774 if (window.pysEddProductData[download_id][index].hasOwnProperty('ga')) { 2775 2776 Utils.copyProperties(window.pysEddProductData[download_id][index]['ga'].params, event.params); 2777 2778 // update items qty param 2779 event.params.items[0].quantity = qty; 2780 2781 this.fireEvent(event.name,event); 2782 2783 } 2784 } 2785 2786 } 2787 2788 }, 2789 2790 onEddRemoveFromCartEvent: function (event) { 2791 this.fireEvent(event.name, event); 2792 }, 2793 onPageScroll: function (event) { 2794 this.fireEvent(event.name, event); 2795 }, 2796 onTime: function (event) { 2797 this.fireEvent(event.name, event); 2798 }, 2799 2800 }; 2801 2802 }(options); 2803 2804 var GTM = function (options) { 2805 var initialized = false; 2806 2807 var datalayer_name = 'dataLayer'; 2808 /* 2809 * @param name 2810 * @param data 2811 */ 2812 function fireEvent(name, event) { 2813 if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'gtm')) { 2814 return; 2815 } 2816 2817 2818 var eventParams = event.params; 2819 var data = event.params; 2820 var valuesArray = Object.values(event.trackingIds); 2821 var ids = valuesArray;
2822 Utils.copyProperties(Utils.getRequestParams(), eventParams); 2823 var _fireEvent = function (tracking_id,name,params, event=null) { 2824 var eventData = {}; 2825 var ContainerCodeHasTag = !options.gtm.gtm_just_data_layer && tracking_id.length > 0; 2826 if(ContainerCodeHasTag) { 2827 params['send_to'] = tracking_id; 2828 } 2829 else if(!options.gtm.gtm_just_data_layer){ 2830 return 2831 } 2832 2833 if (params.hasOwnProperty('ecommerce')) { 2834 eventData.ecommerce = params.ecommerce; 2835 delete params.ecommerce; 2836 } 2837 2838 var automatedParams = { ...params }; 2839 [params['manualName'], 'manualName', 'triggerType'].forEach(key => delete automatedParams[key]); 2840 if(event && (!event.hasOwnProperty('hasAutoParam') || (event.hasOwnProperty('hasAutoParam') && event.hasAutoParam))) { 2841 eventData.automatedParameters = automatedParams; 2842 } 2843 2844// Move custom parameters to eventData 2845 2846 if (params.hasOwnProperty(params['manualName'])) { 2847 eventData[params['manualName']] = params[params['manualName']]; 2848 delete params[params['manualName']]; 2849 } 2850 2851 ['manualName','triggerType'].forEach(key => { 2852 if (params.hasOwnProperty(key)) { 2853 eventData[key] = params[key]; 2854 delete params[key]; 2855 } 2856 }); 2857 2858 eventData.manualDataLayer = options.gtm.gtm_dataLayer_name ?? 'dataLayer'; 2859 2860 eventData.event = name; 2861 2862 if (options.debug) { 2863 if (ContainerCodeHasTag){ 2864 console.log('[Google GTM #' + tracking_id + '] ' + name, eventData); 2865 } 2866 else { 2867 console.log('[Google GTM push to "'+datalayer_name+'"] ' + name, eventData); 2868 } 2869 } 2870 window[datalayer_name].push(eventData); 2871 2872 }; 2873 2874 var copyParams = Utils.copyProperties(eventParams, {}); // copy params because mapParamsToGTM can modify it 2875 2876 var params = mapParamsToGTM(ids,name,copyParams) 2877 2878 params.event_id = Utils.generateUniqueId(event); 2879 2880 _fireEvent(ids, name, params, event); 2881 } 2882 2883 function normalizeEventName(eventName) { 2884 2885 var matches = { 2886 ViewContent: 'view_item', 2887 AddToCart: 'add_to_cart', 2888 AddToWishList: 'add_to_wishlist', 2889 InitiateCheckout: 'begin_checkout', 2890 Purchase: 'purchase', 2891 Lead: 'generate_lead', 2892 CompleteRegistration: 'sign_up', 2893 AddPaymentInfo: 'set_checkout_option' 2894 }; 2895 2896 return matches.hasOwnProperty(eventName) ? matches[eventName] : eventName; 2897 2898 } 2899 2900 function mapParamsToGTM(tag,name,param) { 2901 //GA4 automatically collects a number of parameters for all events 2902 var hasGTM = false; 2903 2904 // end 2905 if (Array.isArray(tag)) { 2906 hasGTM = tag.some(function (element) { 2907 return isGTM(element); 2908 }); 2909 } else if(isGTM(tag)) { 2910 // tag is a string and matches GTM 2911 hasGTM = true; 2912 } 2913 if(hasGTM) { 2914 delete param.event_category; 2915 delete param.event_label; 2916 2917 delete param.analytics_storage; 2918 delete param.ad_storage; 2919 delete param.ad_user_data; 2920 delete param.ad_personalization; 2921 2922 if(name === 'search') { 2923 param['search'] = param.search_term; 2924 delete param.search_term; 2925 delete param.dynx_itemid; 2926 delete param.dynx_pagetype; 2927 delete param.dynx_totalvalue; 2928 } 2929 } 2930 return param; 2931 } 2932 2933 function isGTM(tag) { 2934 return tag.indexOf('GTM') === 0; 2935 } 2936 /** 2937 * Public API 2938 */ 2939 return { 2940 tag: function() { 2941 return "gtm"; 2942 }, 2943 isEnabled: function () { 2944 return options.hasOwnProperty('gtm'); 2945 }, 2946 disable: function () { 2947 initialized = false;
2948 }, 2949 updateEnhancedConversionData : function () { 2950 if (!initialized || !this.isEnabled()) { 2951 return; 2952 } 2953 if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.hasOwnProperty("userDataEnable") && options.tracking_analytics.userDataEnable) { 2954 var advanced = Utils.getAdvancedFormData(); 2955 if (Object.keys(advanced).length > 0) { 2956 window[datalayer_name].push({'user_data' : advanced}); 2957 } 2958 } 2959 }, 2960 loadPixel: function () { 2961 2962 if (initialized || !this.isEnabled() || !Utils.consentGiven('analytics')) { 2963 return; 2964 } 2965 datalayer_name = options.gtm.gtm_dataLayer_name ?? 'dataLayer'; 2966 2967 for (var i = 0; i < options.gtm.trackingIds.length; i++) { 2968 var trackingId = options.gtm.trackingIds[i]; 2969 if (!options.gtm.gtm_just_data_layer) { 2970 console.log('[PYS] Google Tag Manager container code loaded'); 2971 Utils.loadGTMScript(trackingId); 2972 break; 2973 } 2974 } 2975 if(options.gtm.gtm_just_data_layer) { 2976 console.warn && console.warn("[PYS] Google Tag Manager container code placement set to OFF !!!"); 2977 console.warn && console.warn("[PYS] Data layer codes are active but GTM container must be loaded using custom coding !!!"); 2978 if(options.gtm.trackingIds.length == 0){ 2979 Utils.loadGTMScript(); 2980 } 2981 } 2982 2983 if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.hasOwnProperty("userDataEnable") && options.tracking_analytics.userDataEnable){ 2984 var advanced = Utils.getAdvancedFormData(); 2985 if(Object.keys(advanced).length > 0){ 2986 window[datalayer_name].push({'user_data' : advanced}); 2987 } 2988 } 2989 2990 2991 var config = {}; 2992 2993 if(options.user_id && options.user_id != 0) { 2994 config.user_id = options.user_id; 2995 } 2996 2997 // Cross-Domain tracking 2998 2999 var ids = options.gtm.trackingIds; 3000 3001 3002 initialized = true; 3003 3004 Utils.fireStaticEvents('gtm'); 3005 }, 3006 3007 fireEvent: function (name, data) { 3008 3009 if (!initialized || !this.isEnabled()) { 3010 return false; 3011 } 3012 3013 data.delay = data.delay || 0; 3014 data.params = data.params || {}; 3015 3016 if (data.delay === 0) { 3017 3018 fireEvent(name, data); 3019 3020 } else { 3021 3022 setTimeout(function (name, params) { 3023 fireEvent(name, params); 3024 }, data.delay * 1000, name, data); 3025 3026 } 3027 3028 return true; 3029 3030 }, 3031 3032 onCommentEvent: function (event) { 3033 this.fireEvent(event.name, event); 3034 }, 3035 3036 onDownloadEvent: function (event) { 3037 this.fireEvent(event.name, event); 3038 }, 3039 3040 onFormEvent: function (event) { 3041 this.fireEvent(event.name, event); 3042 }, 3043 3044 onWooAddToCartOnButtonEvent: function (product_id, prod_info = null) { 3045 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 3046 return; 3047 var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); 3048 3049 if (window.pysWooProductData.hasOwnProperty(product_id)) { 3050 if (window.pysWooProductData[product_id].hasOwnProperty('gtm')) { 3051 Utils.copyProperties(window.pysWooProductData[product_id]['gtm'].params, event.params) 3052 this.fireEvent(event.name, event); 3053 } 3054 } 3055 3056 }, 3057 3058 onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form, prod_info) { 3059 window.pysWooProductData = window.pysWooProductData || []; 3060 3061 if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 3062 return; 3063 var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); 3064 3065 if (product_type === Utils.PRODUCT_VARIABLE && !options.gtm.wooVariableAsSimple) { 3066 product_id = parseInt($form.find('input[name="variation_id"]').val()); 3067 } 3068 3069 if (window.pysWooProductData.hasOwnProperty(product_id)) { 3070 if (window.pysWooProductData[product_id].hasOwnProperty('gtm')) { 3071 3072 Utils.copyProperties(window.pysWooProductData[product_id]['gtm'].params, event.params); 3073 3074 params = event.params.hasOwnProperty('ecommerce') ? event.params.ecommerce : event.params; 3075 3076 if(product_type === Utils.PRODUCT_GROUPED ) { 3077 var groupValue = 0; 3078 $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ 3079 var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); 3080 var quantity = parseInt($(this).val()); 3081 if(isNaN(quantity)) { 3082 quantity = 0; 3083 } 3084 var childItem = window.pysWooProductData[product_id]['gtm'].grouped[childId];
3085 params.items.forEach(function(el,index,array) { 3086 if(el.id == childItem.content_id) { 3087 if(quantity > 0){ 3088 el.quantity = quantity; 3089 el.price = childItem.price; 3090 } else { 3091 array.splice(index, 1); 3092 } 3093 } 3094 }); 3095 groupValue += childItem.price * quantity; 3096 }); 3097 3098 if(options.woo.addToCartOnButtonValueEnabled && 3099 options.woo.addToCartOnButtonValueOption !== 'global' && 3100 params.hasOwnProperty('value')) { 3101 params.value = groupValue; 3102 } 3103 3104 if(groupValue == 0) return; // skip if no items selected 3105 } else { 3106 // update items qty param 3107 params.items[0].quantity = qty; 3108 } 3109 3110 // maybe customize value option 3111 if (options.woo.addToCartOnButtonValueEnabled && 3112 options.woo.addToCartOnButtonValueOption !== 'global' && 3113 product_type !== Utils.PRODUCT_GROUPED) 3114 { 3115 if(params.hasOwnProperty('value')) { 3116 params.value = params.items[0].price * qty; 3117 } 3118 3119 } 3120 3121 3122 this.fireEvent(event.name, event); 3123 } 3124 } 3125 3126 }, 3127 3128 onWooRemoveFromCartEvent: function (event) { 3129 3130 this.fireEvent(event.name, event); 3131 3132 }, 3133 3134 onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) { 3135 if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 3136 return; 3137 var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); 3138 3139 3140 if (window.pysEddProductData.hasOwnProperty(download_id)) { 3141 3142 var index; 3143 3144 if (price_index) { 3145 index = download_id + '_' + price_index; 3146 } else { 3147 index = download_id; 3148 } 3149 3150 if (window.pysEddProductData[download_id].hasOwnProperty(index)) { 3151 if (window.pysEddProductData[download_id][index].hasOwnProperty('gtm')) { 3152 3153 Utils.copyProperties(window.pysEddProductData[download_id][index]['gtm'].params, event.params); 3154 item = event.params.hasOwnProperty('ecommerce') ? event.params.ecommerce.items[0] : event.params.items[0]; 3155 // update items qty param 3156 item.quantity = qty; 3157 3158 this.fireEvent(event.name,event); 3159 3160 } 3161 } 3162 3163 } 3164 3165 }, 3166 3167 onEddRemoveFromCartEvent: function (event) { 3168 this.fireEvent(event.name, event); 3169 }, 3170 onPageScroll: function (event) { 3171 this.fireEvent(event.name, event); 3172 }, 3173 onTime: function (event) { 3174 this.fireEvent(event.name, event); 3175 }, 3176 }; 3177 3178 }(options); 3179 3180 var getPixelBySlag = function getPixelBySlag(slug) { 3181 switch (slug) { 3182 case "facebook": return window.pys.Facebook; 3183 case "ga": return window.pys.Analytics; 3184 case "gtm": return window.pys.GTM; 3185 case "bing": return window.pys.Bing; 3186 case "pinterest": return window.pys.Pinterest; 3187 case "reddit": return window.pys.Reddit; 3188 } 3189 } 3190
3191 window.pys = window.pys || {}; 3192 window.pys.Facebook = Facebook; 3193 window.pys.Analytics = Analytics; 3194 window.pys.GTM = GTM; 3195 window.pys.Utils = Utils; 3196 window.pys.getPixelBySlag = getPixelBySlag; 3197 3198 // Export getPixelBySlag globally for backward compatibility 3199 window.getPixelBySlag = getPixelBySlag; 3200 3201 3202 $(document).ready(function () { 3203 3204 if($("#pys_late_event").length > 0) { 3205 var dirAttr = $("#pys_late_event").attr("dir"); 3206 if (dirAttr) { 3207 try { 3208 var events = JSON.parse(dirAttr); 3209 } catch (e) { 3210 console.warn("Invalid JSON in pys_late_event dir attribute:", e); 3211 } 3212 } else { 3213 console.warn("pys_late_event dir attribute is undefined or empty"); 3214 } 3215 if (events) { 3216 for (var key in events) { 3217 var event = {}; 3218 event[events[key].e_id] = [events[key]]; 3219 if (options.staticEvents.hasOwnProperty(key)) { 3220 Object.assign(options.staticEvents[key], event); 3221 } else { 3222 options.staticEvents[key] = event; 3223 } 3224 } 3225 } 3226 } 3227 3228 var Pinterest = Utils.setupPinterestObject(); 3229 var Bing = Utils.setupBingObject(); 3230 var Reddit = Utils.setupRedditObject(); 3231 3232 if(options.hasOwnProperty('cookie')) 3233 { 3234 if(options.cookie.externalID_disabled_by_api || options.cookie.disabled_all_cookie) 3235 { 3236 Cookies.remove('pbid') 3237 } 3238 if(options.cookie.disabled_advanced_form_data_cookie || options.cookie.disabled_all_cookie) 3239 { 3240 Cookies.remove('pys_advanced_form_data') 3241 } 3242 if(options.cookie.disabled_landing_page_cookie || options.cookie.disabled_all_cookie) 3243 { 3244 Cookies.remove('pys_landing_page') 3245 Cookies.remove('last_pys_landing_page') 3246 } 3247 if(options.cookie.disabled_trafficsource_cookie || options.cookie.disabled_all_cookie) 3248 { 3249 Cookies.remove('pysTrafficSource') 3250 Cookies.remove('last_pysTrafficSource') 3251 } 3252 if(options.cookie.disabled_first_visit_cookie || options.cookie.disabled_all_cookie) 3253 { 3254 Cookies.remove('pys_first_visit') 3255 3256 } 3257 if(options.cookie.disabled_utmTerms_cookie || options.cookie.disabled_all_cookie) 3258 { 3259 $.each(Utils.utmTerms, function (index, name) { 3260 Cookies.remove('pys_' + name) 3261 }); 3262 $.each(Utils.utmTerms, function (index, name) { 3263 Cookies.remove('last_pys_' + name) 3264 }); 3265 } 3266 if(options.cookie.disabled_utmId_cookie || options.cookie.disabled_all_cookie) 3267 { 3268 $.each(Utils.utmId,function(index,name) { 3269 Cookies.remove('pys_' + name) 3270 }) 3271 $.each(Utils.utmId,function(index,name) { 3272 Cookies.remove('last_pys_' + name) 3273 }); 3274 } 3275 } 3276 3277 3278 if (options.gdpr.cookie_law_info_integration_enabled) { 3279 var cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('viewed_cookie_policy'); 3280 3281 if (typeof cli_cookie !== 'undefined') { 3282 if (cli_cookie === Cookies.get('cookieyes-consent') && getCookieYes('analytics') == 'yes') { 3283 Utils.manageCookies(); 3284 } else if (cli_cookie === Cookies.get('viewed_cookie_policy') && cli_cookie == 'yes') { 3285 Utils.manageCookies(); 3286 } 3287 } 3288 } 3289 3290 if ( options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined" ) { 3291 if ( CS_Data.cs_script_cat.pys == CS_Data.cs_necessary_cat_id || CS_Data.cs_script_cat.pys == 0 ) { 3292 Utils.manageCookies(); 3293 } else if ( Cookies.get( 'cs_enabled_cookie_term' + CS_Data.test_prefix + '_' + CS_Data.cs_script_cat.pys ) == 'yes' ) { 3294 Utils.manageCookies(); 3295 } 3296 } else { 3297 Utils.manageCookies(); 3298 } 3299 3300 Utils.setupGdprCallbacks(); 3301 // page scroll event 3302 if ( options.dynamicEvents.hasOwnProperty("automatic_event_scroll") 3303 ) { 3304 3305 var singlePageScroll = function () { 3306 3307 3308 var docHeight = $(document).height() - $(window).height(); 3309 var isFired = false;
3310 3311 if (options.dynamicEvents.hasOwnProperty("automatic_event_scroll")) { 3312 var pixels = Object.keys(options.dynamicEvents.automatic_event_scroll); 3313 for(var i = 0;i<pixels.length;i++) { 3314 var event = Utils.clone(options.dynamicEvents.automatic_event_scroll[pixels[i]]); 3315 var scroll = Math.round(docHeight * event.scroll_percent / 100)// convert % to absolute positions 3316 3317 if(scroll < $(window).scrollTop()) { 3318 if ( pixels[i] !== 'reddit') { 3319 Utils.copyProperties( Utils.getRequestParams(), event.params ); 3320 } 3321 getPixelBySlag( pixels[ i ] ).onPageScroll( event ); 3322 isFired = true 3323 } 3324 } 3325 } 3326 if(isFired) { 3327 $(document).off("scroll",singlePageScroll); 3328 } 3329 } 3330 $(document).on("scroll",singlePageScroll); 3331 } 3332 3333 3334 if (options.dynamicEvents.hasOwnProperty("automatic_event_time_on_page")) { 3335 var pixels = Object.keys(options.dynamicEvents.automatic_event_time_on_page); 3336 var time = options.dynamicEvents.automatic_event_time_on_page[pixels[0]].time_on_page; // the same for all pixel 3337 setTimeout(function(){ 3338 for(var i = 0;i<pixels.length;i++) { 3339 var event = Utils.clone(options.dynamicEvents.automatic_event_time_on_page[pixels[i]]); 3340 3341 if ( pixels[i] !== 'reddit') {
3342 Utils.copyProperties(Utils.getRequestParams(), event.params); 3343 } 3344 getPixelBySlag(pixels[i]).onTime(event); 3345 } 3346 },time*1000); 3347 } 3348 3349 // setup Click Event 3350 if (options.dynamicEvents.hasOwnProperty("automatic_event_download")) { 3351 3352 $(document).onFirst('click', 'a, button, input[type="button"], input[type="submit"]', function (e) { 3353 3354 var $elem = $(this); 3355 3356 // Download 3357 if(options.dynamicEvents.hasOwnProperty("automatic_event_download") 3358 ) { 3359 var isFired = false; 3360 if ($elem.is('a')) { 3361 var href = $elem.attr('href'); 3362 if (typeof href !== "string") { 3363 return; 3364 } 3365 href = href.trim(); 3366 var extension = Utils.getLinkExtension(href); 3367 var track_download = false; 3368 3369 if (extension.length > 0) { 3370 3371 if(options.dynamicEvents.hasOwnProperty("automatic_event_download") ) { 3372 var pixels = Object.keys(options.dynamicEvents.automatic_event_download); 3373 for (var i = 0; i < pixels.length; i++) { 3374 var event = Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]); 3375 var extensions = event.extensions; 3376 if (extensions.includes(extension)) { 3377 3378 if( pixels[i] == "tiktok" || pixels[i] == "reddit" ) { 3379 getPixelBySlag(pixels[i]).fireEvent(tikEvent.name, event); 3380 } else { 3381 if (options.enable_remove_download_url_param) { 3382 href = href.split('?')[0]; 3383 } 3384 event.params.download_url = href; 3385 event.params.download_type = extension; 3386 event.params.download_name = Utils.getLinkFilename(href); 3387 getPixelBySlag(pixels[i]).onDownloadEvent(event); 3388 } 3389 3390 isFired = true; 3391 } 3392 } 3393 } 3394 } 3395 } 3396 if(isFired) { // prevent duplicate events on the same element 3397 return; 3398 } 3399 } 3400 }); 3401 } 3402 3403 3404 // setup Dynamic events 3405 $.each(options.triggerEventTypes, function (triggerType, events) { 3406 3407 $.each(events, function (eventId, triggers) { 3408 3409 switch (triggerType) { 3410 case 'url_click': 3411 //@see: Utils.setupURLClickEvents() 3412 break; 3413 3414 case 'css_click': 3415 Utils.setupCSSClickEvents(eventId, triggers); 3416 break; 3417 3418 case 'css_mouseover': 3419 Utils.setupMouseOverClickEvents(eventId, triggers); 3420 break; 3421 3422 case 'scroll_pos': 3423 Utils.setupScrollPosEvents(eventId, triggers); 3424 break; 3425 case 'comment': 3426 Utils.setupCommentEvents(eventId, triggers); 3427 break; 3428 } 3429 3430 }); 3431 3432 }); 3433 // setup WooCommerce events 3434 if (options.woo.enabled) { 3435 3436 // WooCommerce AddToCart 3437 if (options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click") 3438 && options.woo.hasOwnProperty("addToCartCatchMethod") 3439 && options.woo.addToCartCatchMethod === "add_cart_js" 3440 ) { 3441 3442 // Loop, any kind of "simple" product, except external 3443 $('.add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)').on("click",function (e) { 3444 3445 var product_id = $(this).data('product_id'); 3446 if (typeof product_id !== 'undefined') { 3447 if (options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")) { 3448 var tmpEventID = pys_generate_token(); 3449 $.each(options.dynamicEvents.woo_add_to_cart_on_button_click, function (i, tag) { 3450 tag.eventID = tmpEventID; 3451 }); 3452 } 3453 if (typeof product_id !== 'undefined') { 3454 Facebook.onWooAddToCartOnButtonEvent(product_id); 3455 Analytics.onWooAddToCartOnButtonEvent(product_id); 3456 GTM.onWooAddToCartOnButtonEvent(product_id); 3457 Pinterest.onWooAddToCartOnButtonEvent(product_id); 3458 Bing.onWooAddToCartOnButtonEvent(product_id); 3459 Reddit.onWooAddToCartOnButtonEvent(product_id); 3460 } 3461 } 3462 }); 3463 3464 // Single Product 3465 // tap try to https://stackoverflow.com/questions/30990967/on-tap-click-event-firing-twice-how-to-avoid-it 3466 // $(document) not work 3467 $('body').onFirst('click','button.single_add_to_cart_button,.single_add_to_cart_button',function (e) { 3468 3469 var $button = $(this); 3470 3471 if ($button.hasClass('disabled')) { 3472 return; 3473 } 3474 3475 var $form = $button.closest('form'); 3476 3477 var product_type = Utils.PRODUCT_SIMPLE; 3478 3479 if ($form.length === 0) { 3480 return ; 3481 } else if ($form.hasClass('variations_form')) { 3482 product_type = Utils.PRODUCT_VARIABLE; 3483 } else if($form.hasClass('bundle_form')) { 3484 product_type = Utils.PRODUCT_BUNDLE; 3485 } else if($form.hasClass('grouped_form')) { 3486 product_type = Utils.PRODUCT_GROUPED; 3487 } 3488 3489 3490 3491 3492 var product_id; 3493 var qty; 3494 3495 if (product_type === Utils.PRODUCT_GROUPED) { 3496 qty = 1; 3497 product_id = parseInt($form.find('*[name="add-to-cart"]').val()); 3498 } else if (product_type === Utils.PRODUCT_VARIABLE) { 3499 product_id = parseInt($form.find('*[name="add-to-cart"]').val()); 3500 var qtyTag = $form.find('input[name="quantity"]'); 3501 if(qtyTag.length <= 0) { 3502 qtyTag = $form.find('select[name="quantity"]'); 3503 } 3504 qty = parseInt(qtyTag.val()); 3505 } else { 3506 product_id = parseInt($form.find('*[name="add-to-cart"]').val()); 3507 var qtyTag = $form.find('input[name="quantity"]'); 3508 if(qtyTag.length <= 0) { 3509 qtyTag = $form.find('select[name="quantity"]'); 3510 } 3511 qty = parseInt(qtyTag.val()); 3512 } 3513 3514 if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")){ 3515 var tmpEventID = pys_generate_token(); 3516 $.each(options.dynamicEvents.woo_add_to_cart_on_button_click, function (i, tag) { 3517 tag.eventID = tmpEventID; 3518 }); 3519 } 3520 3521 Facebook.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form); 3522 Analytics.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form); 3523 3524 GTM.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form); 3525 3526 Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form); 3527 Bing.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form); 3528 Reddit.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form); 3529 3530 }); 3531 3532 } 3533 3534 // WooCommerce RemoveFromCart 3535 if (options.dynamicEvents.hasOwnProperty("woo_remove_from_cart")) { 3536 3537 $('body').on('click', options.woo.removeFromCartSelector, function (e) { 3538 3539 var $a = $(e.currentTarget), 3540 href = $a.attr('href'); 3541 3542 // extract cart item hash from remove button URL 3543 var regex = new RegExp("[\\?&]remove_item=([^&#]*)"), 3544 results = regex.exec(href); 3545 3546 if (results !== null) { 3547 3548 var item_hash = results[1]; 3549 3550 if (options.dynamicEvents["woo_remove_from_cart"].hasOwnProperty(item_hash)) { 3551 var events = options.dynamicEvents["woo_remove_from_cart"][item_hash]; 3552 Utils.fireEventForAllPixel("onWooRemoveFromCartEvent",events) 3553 } 3554 3555 } 3556 3557 }); 3558 } 3559 } 3560 3561 // setup EDD events 3562 if (options.edd.enabled) { 3563 3564 // EDD AddToCart 3565 if (options.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")) { 3566 3567 $('form.edd_download_purchase_form .edd-add-to-cart').on("click",function (e) { 3568 3569 var $button = $(this); 3570 var $form = $button.closest('form'); 3571 var variable_price = $button.data('variablePrice'); // yes/no 3572 var price_mode = $button.data('priceMode'); // single/multi 3573 var ids = []; 3574 var quantities = []; 3575 var qty; 3576 var id; 3577 3578 if (variable_price === 'yes' && price_mode === 'multi') { 3579 3580 id = $form.find('input[name="download_id"]').val(); 3581 3582 // get selected variants 3583 $.each($form.find('input[name="edd_options[price_id][]"]:checked'), function (i, el) { 3584 ids.push(id + '_' + $(el).val()); 3585 }); 3586 3587 // get qty for selected variants 3588 $.each(ids, function (i, variant_id) { 3589 3590 var variant_index = variant_id.split('_', 2); 3591 qty = $form.find('input[name="edd_download_quantity_' + variant_index[1] + '"]').val(); 3592 3593 if (typeof qty !== 'undefined') { 3594 quantities.push(qty); 3595 } else { 3596 quantities.push(1); 3597 } 3598 3599 }); 3600 3601 } else if (variable_price === 'yes' && price_mode === 'single') { 3602 3603 id = $form.find('input[name="download_id"]').val(); 3604 ids.push(id + '_' + $form.find('input[name="edd_options[price_id][]"]:checked').val()); 3605 3606 qty = $form.find('input[name="edd_download_quantity"]').val(); 3607 3608 if (typeof qty !== 'undefined') { 3609 quantities.push(qty); 3610 } else { 3611 quantities.push(1); 3612 } 3613 3614 } else { 3615 3616 ids.push($button.data('downloadId')); 3617 3618 qty = $form.find('input[name="edd_download_quantity"]').val(); 3619 3620 if (typeof qty !== 'undefined') { 3621 quantities.push(qty); 3622 } else { 3623 quantities.push(1); 3624 } 3625 } 3626 3627 // fire event for each download/variant 3628 $.each(ids, function (i, download_id) { 3629 3630 var q = parseInt(quantities[i]); 3631 var variant_index = download_id.toString().split('_', 2); 3632 var price_index; 3633 3634 if (variant_index.length === 2) { 3635 download_id = variant_index[0]; 3636 price_index = variant_index[1]; 3637 } 3638 3639 Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3640 Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3641 GTM.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3642 Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3643 Bing.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3644 Reddit.onEddAddToCartOnButtonEvent(download_id, price_index, q); 3645 }); 3646 3647 }); 3648 3649 } 3650 3651 3652 // EDD RemoveFromCart 3653 if (options.dynamicEvents.hasOwnProperty("edd_remove_from_cart") ) { 3654 3655 $('form#edd_checkout_cart_form .edd_cart_remove_item_btn').on("click",function (e) { 3656 3657 var href = $(this).attr('href'); 3658 if(href) { 3659 var key = href.substring(href.indexOf('=') + 1).charAt(0); 3660 if (options.dynamicEvents.edd_remove_from_cart.hasOwnProperty(key)) { 3661 var events = options.dynamicEvents.edd_remove_from_cart[key]; 3662 Utils.fireEventForAllPixel("onEddRemoveFromCartEvent",events) 3663 } 3664 } 3665 }); 3666 3667 } 3668 3669 } 3670 3671 // setup Comment Event 3672 if (options.dynamicEvents.hasOwnProperty("automatic_event_c
3672omment") 3673 ) { 3674 3675 $('form.comment-form').on("submit",function () { 3676 if (options.dynamicEvents.hasOwnProperty("automatic_event_comment")) { 3677 var pixels = Object.keys(options.dynamicEvents.automatic_event_comment); 3678 for (var i = 0; i < pixels.length; i++) { 3679 var event = Utils.clone(options.dynamicEvents.automatic_event_comment[pixels[i]]); 3680 if ( pixels[i] !== 'reddit') { 3681 Utils.copyProperties(Utils.getRequestParams(), event.params); 3682 } 3683 getPixelBySlag(pixels[i]).onCommentEvent(event); 3684 } 3685 } 3686 }); 3687 3688 } 3689 3690 3691 // setup Form Event 3692 if ( options.dynamicEvents.hasOwnProperty("automatic_event_form")) { 3693 3694 $(document).onFirst('submit', 'form', function (e) { 3695 3696 var $form = $(this); 3697 3698 // exclude WP forms 3699 if ($form.hasClass('comment-form') || $form.hasClass('search-form') || $form.attr('id') === 'adminbarsearch') { 3700 return; 3701 } 3702 3703 // exclude Woo forms 3704 if ($form.hasClass('woocommerce-product-search') || $form.hasClass('cart') || $form.hasClass('woocommerce-cart-form') || 3705 $form.hasClass('woocommerce-shipping-calculator') || $form.hasClass('checkout') || $form.hasClass('checkout_coupon')) { 3706 return; 3707 } 3708 3709 // exclude EDD forms 3710 if ($form.hasClass('edd_form') || $form.hasClass('edd_download_purchase_form')) { 3711 return; 3712 } 3713// exclude CF7 forms 3714 if ($form.hasClass('wpcf7-form')) { 3715 return; 3716 } 3717 // exclude Forminator forms 3718 if ($form.hasClass('forminator-custom-form') || $form.hasClass('forminator_ajax')) { 3719 return; 3720 } 3721 // exclude WPforms forms 3722 if ($form.hasClass('wpforms-form') || $form.hasClass('wpforms-ajax-form')) { 3723 return; 3724 } 3725 // exclude Formidable forms 3726 /*if ($form.hasClass('frm-show-form')) { 3727 return; 3728 }*/ 3729 // exclude Ninja Forms forms 3730 if ($form.parent().hasClass('nf-form-layout')) { 3731 return; 3732 } 3733 // exclude Fluent forms 3734 if ($form.hasClass('frm-fluent-form')) { 3735 return; 3736 } 3737 if(!options.enable_success_send_form) { 3738 var params = { 3739 form_id: $form.attr('id'), 3740 form_class: $form.attr('class'), 3741 text: $form.find('[type="submit"]').is('input') ? 3742 $form.find('[type="submit"]').val() : $form.find('[type="submit"]').text() 3743 }; 3744 3745 if (options.dynamicEvents.hasOwnProperty("automatic_event_form")) { 3746 var pixels = Object.keys(options.dynamicEvents.automatic_event_form); 3747 for (var i = 0; i < pixels.length; i++) { 3748 var event = Utils.clone(options.dynamicEvents.automatic_event_form[pixels[i]]); 3749 3750 if (pixels[i] === "tiktok" || pixels[i] === "reddit") { 3751 getPixelBySlag(pixels[i]).fireEvent(event.name, event); 3752 } else { 3753 Utils.copyProperties(params, event.params,) 3754 Utils.copyProperties(Utils.getRequestParam
3754s(), event.params); 3755 getPixelBySlag(pixels[i]).onFormEvent(event); 3756 } 3757 } 3758 } 3759 } 3760 }); 3761 3762 document.addEventListener( 'wpcf7mailsent', function( event ) { 3763 var form_id = event.detail.contactFormId; 3764 sendFormAction($(event.target), form_id); 3765 }, false ); 3766 //Forminator 3767 $(document).on( 'forminator:form:submit:success', function( event ){ 3768 var form_id = $(event.target).find('input[name="form_id"]').val(); 3769 sendFormAction($(event.target), form_id); 3770 }); 3771 3772 //WPForm 3773 $('form.wpforms-form').on('wpformsAjaxSubmitSuccess', (event) => { 3774 var form_id = $(event.target).attr('data-formid'); 3775 sendFormAction($(event.target), form_id); 3776 }) 3777 $(document).on( 'frmFormComplete', function( event, form, response ) { 3778 const form_id = $(form).find('input[name="form_id"]').val(); 3779 sendFormAction($(event.target), form_id); 3780 }); 3781 // Ninja Forms 3782 $(document).onFirst('nfFormSubmitResponse', function (event, data) { 3783 const form_id = data.response.data.form_id; 3784 sendFormAction($(event.target), form_id); 3785 }); 3786 3787 var fluentForms = $('form.frm-fluent-form'); 3788 fluentForms.each(function() { 3789 var $form = $(this); 3790 $form.on('fluentform_submission_success', function(event) { 3791 var $formItem = $(this); 3792 var form_id = $formItem.attr('data-form_id'); 3793 sendFormAction($(event.target), form_id); 3794 }); 3795 }); 3796 3797 } 3798 3799 3800 // load pixel APIs 3801 Utils.loadPixels(); 3802 // setup Enrich content 3803 if(Utils.isCheckoutPage()) { 3804 Utils.addCheckoutFields(); 3805 } 3806 }); 3807 3808 var sendFormAction = function (form_target, formId){ 3809 var params = { 3810 form_id: formId, 3811 text: form_target.find('[type="submit"]').is('input') ? form_target.find('[type="submit"]').val() : 3812 form_target.find('.forminator-button-submit').text() != '' ? form_target.find('.forminator-button-submit').text() : 3813 form_target.find('[type="submit"]').text() 3814 }; 3815 3816 if (options.dynamicEvents.hasOwnProperty("automatic_event_form")) { 3817 var pixels = Object.keys(options.dynamicEvents.automatic_event_form); 3818 for (var i = 0; i < pixels.length; i++) { 3819 var event = options.dynamicEvents.automatic_event_form[pixels[i]]; 3820 if (pixels[i] === "tiktok" || pixels[i] === "reddit") { 3821 getPixelBySlag(pixels[i]).fireEvent(event.name, event); 3822 } else { 3823 Utils.copyProperties(params, event.params)
3824 Utils.copyProperties(Utils.getRequestParams(), event.params); 3825 getPixelBySlag(pixels[i]).onFormEvent(event); 3826 } 3827 } 3828 } 3829 } 3830 3831}(jQuery, pysOptions); 3832 3833function pys_generate_token() { 3834 return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => 3835 (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) 3836 ); 3837} 3838 3839function getBundlePriceOnSingleProduct(data) { 3840 var items_sum = 0; 3841 jQuery(".bundle_form .bundled_product").each(function(index){ 3842 var id = jQuery(this).find(".cart").data("bundled_item_id"); 3843 var item_price = data.prices[id]; 3844 var item_quantity = jQuery(this).find(".bundled_qty").val(); 3845 if(!jQuery(this).hasClass("bundled_item_optional") || 3846 jQuery(this).find(".bundled_product_optional_checkbox input").prop('checked')) { 3847 items_sum += item_price*item_quantity; 3848 } 3849 }); 3850 return items_sum; 3851} 3852function getUrlParameter(sParam) { 3853 var sPageURL = window.location.search.substring(1), 3854 sURLVariables = sPageURL.split('&'), 3855 sParameterName, 3856 i; 3857 3858 for (i = 0; i < sURLVariables.length; i++) { 3859 sParameterName = sURLVariables[i].split('='); 3860 3861 if (sParameterName[0] === sParam) { 3862 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 3863 } 3864 } 3865 return false; 3866}; 3867function getCookieYes(key) { 3868 const cookiesObj = document.cookie 3869 .split(";") 3870 .reduce((ac, cv) => { 3871 const [k, v] = cv.split("="); 3872 if (k && v) ac[k.trim()] = v; 3873 return ac; 3874 }, {}); 3875 const consentCookie = cookiesObj["cookieyes-consent"] || cookiesObj["wt_consent"]; 3876 if (!consentCookie) return undefined; 3877 const { [key]: value } = consentCookie 3878 .split(",") 3879 .reduce((obj, pair) => { 3880 const [k, v] = pair.split(":"); 3881 if (k && v) obj[k] = v; 3882 return obj; 3883 }, {}); 3884 return value; 3885} 3886function getRootDomain(useSubdomain = false) { 3887 const hostname = window.location.hostname; // Get the current hostname 3888 // Check if tldjs is defined before using it 3889 if (typeof tldjs === "undefined") { 3890 console.warn("tldjs is not defined"); 3891 return hostname; // Return hostname as a fallback 3892 } 3893 3894 const rootDomain = tldjs.getDomain(hostname); // Use tldjs to extract the root domain 3895 3896 // Return the root domain with or without a leading dot based on useSubdomain 3897 return rootDomain ? (useSubdomain ? '.' + rootDomain : rootDomain) : hostname; 3898};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.