Änderungen https Andy Müller rückgängig gemacht

This commit is contained in:
aschwarz 2023-04-26 14:06:14 +02:00
parent 086d1e1e9e
commit 8d942a9c18
262 changed files with 7768 additions and 597 deletions

View File

@ -1,8 +1,8 @@
//** Ajax Tabs Content script v2.0- © Dynamic Drive DHTML code library (https://www.dynamicdrive.com)
//** Ajax Tabs Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
//** Updated Oct 21st, 07 to version 2.0. Contains numerous improvements
//** Updated Feb 18th, 08 to version 2.1: Adds a public "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically. Only .js file changed from v2.0.
//** Updated April 8th, 08 to version 2.2:
// -Adds support for expanding a tab using a URL parameter (ie: https://mysite.com/tabcontent.htm?tabinterfaceid=0)
// -Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)
// -Modified Ajax routine so testing the script out locally in IE7 now works
var ddajaxtabssettings={}
@ -44,7 +44,7 @@ ddajaxtabs.connect=function(pageurl, tabinstance){
page_request = new XMLHttpRequest()
else
return false
var ajaxfriendlyurl=pageurl.replace(/^https:\/\/[^\/]+\//i, "https://"+window.location.hostname+"/")
var ajaxfriendlyurl=pageurl.replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
page_request.onreadystatechange=function(){ddajaxtabs.loadpage(page_request, pageurl, tabinstance)}
if (ddajaxtabssettings.bustcachevar) //if bust caching of external page
bustcacheparameter=(ajaxfriendlyurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

View File

@ -1,5 +1,5 @@
Authors ordered by first contribution
A list of current team members is available at https://jqueryui.com/about
A list of current team members is available at http://jqueryui.com/about
Paul Bakaus <paul.bakaus@gmail.com>
Richard Worth <rdworth@gmail.com>
@ -42,7 +42,7 @@ Adam Sontag <ajpiano@ajpiano.com>
Carl Fürstenberg <carl@excito.com>
Kevin Dalman <development@allpro.net>
Alberto Fernández Capel <afcapel@gmail.com>
Jacek Jędrzejewski (https://jacek.jedrzejewski.name)
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
Ting Kuei <ting@kuei.com>
Samuel Cormier-Iijima <sam@chide.it>
Jon Palmer <jonspalmer@gmail.com>
@ -229,7 +229,7 @@ Anika Henke <anika@selfthinker.org>
Samuel Bovée <samycookie2000@yahoo.fr>
Fabrício Matté <ult_combo@hotmail.com>
Viktor Kojouharov <vkojouharov@gmail.com>
Pawel Maruszczyk (https://hrabstwo.net)
Pawel Maruszczyk (http://hrabstwo.net)
Pavel Selitskas <p.selitskas@gmail.com>
Bjørn Johansen <post@bjornjohansen.no>
Matthieu Penant <thieum22@hotmail.com>

View File

@ -33,7 +33,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code contained within the demos directory.
CC0: https://creativecommons.org/publicdomain/zero/1.0/
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====

5740
jquery/bootstrap.min.css vendored Executable file

File diff suppressed because it is too large Load Diff

7
jquery/bootstrap.min.js vendored Executable file

File diff suppressed because one or more lines are too long

108
jquery/controls.js vendored Executable file
View File

@ -0,0 +1,108 @@
$(function(){
/*
* For the sake keeping the code clean and the examples simple this file
* contains only the plugin configuration & callbacks.
*
* UI functions ui_* can be located in:
* - assets/demo/uploader/js/ui-main.js
* - assets/demo/uploader/js/ui-multiple.js
* - assets/demo/uploader/js/ui-single.js
*/
$('#drag-and-drop-zone').dmUploader({ //
url: '/demo/java-script/upload',
maxFileSize: 3000000, // 3 Megs max
auto: false,
queue: false,
onDragEnter: function(){
// Happens when dragging something over the DnD area
this.addClass('active');
},
onDragLeave: function(){
// Happens when dragging something OUT of the DnD area
this.removeClass('active');
},
onInit: function(){
// Plugin is ready to use
ui_add_log('Penguin initialized :)', 'info');
},
onComplete: function(){
// All files in the queue are processed (success or error)
ui_add_log('All pending tranfers finished');
},
onNewFile: function(id, file){
// When a new file is added using the file selector or the DnD area
ui_add_log('New file added #' + id);
ui_multi_add_file(id, file);
},
onBeforeUpload: function(id){
// about tho start uploading a file
ui_add_log('Starting the upload of #' + id);
ui_multi_update_file_status(id, 'uploading', 'Uploading...');
ui_multi_update_file_progress(id, 0, '', true);
ui_multi_update_file_controls(id, false, true); // change control buttons status
},
onUploadProgress: function(id, percent){
// Updating file progress
ui_multi_update_file_progress(id, percent);
},
onUploadSuccess: function(id, data){
// A file was successfully uploaded
ui_add_log('Server Response for file #' + id + ': ' + JSON.stringify(data));
ui_add_log('Upload of file #' + id + ' COMPLETED', 'success');
ui_multi_update_file_status(id, 'success', 'Upload Complete');
ui_multi_update_file_progress(id, 100, 'success', false);
ui_multi_update_file_controls(id, false, false); // change control buttons status
},
onUploadCanceled: function(id) {
// Happens when a file is directly canceled by the user.
ui_multi_update_file_status(id, 'warning', 'Canceled by User');
ui_multi_update_file_progress(id, 0, 'warning', false);
ui_multi_update_file_controls(id, true, false);
},
onUploadError: function(id, xhr, status, message){
// Happens when an upload error happens
ui_multi_update_file_status(id, 'danger', message);
ui_multi_update_file_progress(id, 0, 'danger', false);
ui_multi_update_file_controls(id, true, false, true); // change control buttons status
},
onFallbackMode: function(){
// When the browser doesn't support this plugin :(
ui_add_log('Plugin cant be used here, running Fallback callback', 'danger');
},
onFileSizeError: function(file){
ui_add_log('File \'' + file.name + '\' cannot be added: size excess limit', 'danger');
}
});
/*
Global controls
*/
$('#btnApiStart').on('click', function(evt){
evt.preventDefault();
$('#drag-and-drop-zone').dmUploader('start');
});
$('#btnApiCancel').on('click', function(evt){
evt.preventDefault();
$('#drag-and-drop-zone').dmUploader('cancel');
});
/*
Each File element action
*/
$('#files').on('click', 'button.start', function(evt){
evt.preventDefault();
var id = $(this).closest('li.media').data('file-id');
$('#drag-and-drop-zone').dmUploader('start', id);
});
$('#files').on('click', 'button.cancel', function(evt){
evt.preventDefault();
var id = $(this).closest('li.media').data('file-id');
$('#drag-and-drop-zone').dmUploader('cancel', id);
});
});

View File

@ -1,13 +1,13 @@
/*!
* jQuery JavaScript Library v1.12.4
* https://jquery.com/
* http://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
* http://jquery.org/license
*
* Date: 2016-05-20T17:17Z
*/
@ -338,7 +338,7 @@ jQuery.extend( {
},
// Workarounds based on findings by Jim Driscoll
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
@ -579,11 +579,11 @@ function isArrayLike( obj ) {
var Sizzle =
/*!
* Sizzle CSS Selector Engine v2.2.1
* https://sizzlejs.com/
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
* http://jquery.org/license
*
* Date: 2015-10-17
*/
@ -637,7 +637,7 @@ var i,
push = arr.push,
slice = arr.slice,
// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
// http://jsperf.com/thor-indexof-vs-for/5
indexOf = function( list, elem ) {
var i = 0,
len = list.length;
@ -653,13 +653,13 @@ var i,
// Regular expressions
// https://www.w3.org/TR/css3-selectors/#whitespace
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
@ -716,7 +716,7 @@ var i,
rsibling = /[+~]/,
rescape = /'|\\/g,
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
@ -1208,7 +1208,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
// See https://bugs.jquery.com/ticket/13378
// See http://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
@ -1219,7 +1219,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
// https://bugs.jquery.com/ticket/12359
// http://bugs.jquery.com/ticket/12359
docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
"<option selected=''></option></select>";
@ -1227,7 +1227,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// Support: IE8, Opera 11-12.16
// Nothing should be selected when empty strings follow ^= or $= or *=
// The test attribute must be unknown in Opera but "safe" for WinRT
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
if ( div.querySelectorAll("[msallowcapture^='']").length ) {
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
}
@ -1244,7 +1244,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Webkit/Opera - :checked should return selected option elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
@ -1841,7 +1841,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
// https://www.w3.org/TR/selectors/#pseudo-classes
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
@ -1928,7 +1928,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// https://www.w3.org/TR/selectors/#lang-pseudo
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test(lang || "") ) {
@ -1975,7 +1975,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
@ -1992,7 +1992,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
// https://www.w3.org/TR/selectors/#empty-pseudo
// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
// but not by others (comment: 8; processing instruction: 7; etc.)
// nodeType < 6 works because attributes (2) do not appear as children
@ -2666,7 +2666,7 @@ support.sortDetached = assert(function( div1 ) {
// Support: IE<8
// Prevent attribute/property "interpolation"
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !assert(function( div ) {
div.innerHTML = "<a href='#'></a>";
return div.firstChild.getAttribute("href") === "#" ;
@ -3666,7 +3666,7 @@ jQuery.ready.promise = function( obj ) {
try {
// Use the trick by Diego Perini
// https://javascript.nwbox.com/IEContentLoaded/
// http://javascript.nwbox.com/IEContentLoaded/
top.doScroll( "left" );
} catch ( e ) {
return window.setTimeout( doScrollCheck, 50 );
@ -5553,7 +5553,7 @@ jQuery.Event = function( src, props ) {
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
constructor: jQuery.Event,
isDefaultPrevented: returnFalse,
@ -5775,7 +5775,7 @@ if ( !support.change ) {
//
// Support: Chrome, Safari
// focus(in | out) events fire after focus & blur events,
// which is spec violation - https://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
if ( !support.focusin ) {
jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
@ -6148,7 +6148,7 @@ jQuery.extend( {
if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@ -6732,7 +6732,7 @@ if ( window.getComputedStyle ) {
// Safari 5.1.7 (at least) returns percentage for a larger set of values,
// but width seems to be reliably pixels
// this is against the CSSOM draft spec:
// https://dev.w3.org/csswg/cssom/#resolved-values
// http://dev.w3.org/csswg/cssom/#resolved-values
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
@ -6776,7 +6776,7 @@ if ( window.getComputedStyle ) {
}
// From the awesome hack by Dean Edwards
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
@ -8109,7 +8109,7 @@ jQuery.fx.speeds = {
// Based off of the plugin by Clint Helfers, with permission.
// https://web.archive.org/web/20100324014747/https://blindsignals.com/index.php/2009/07/jquery-delay/
// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery.fn.delay = function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@ -8707,7 +8707,7 @@ jQuery.extend( {
// elem.tabIndex doesn't always return the
// correct value when it hasn't been explicitly set
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
@ -8728,7 +8728,7 @@ jQuery.extend( {
} );
// Some attributes require a special call on IE
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !support.hrefNormalized ) {
// href/src property should get the full normalized URL (#10299/#12915)
@ -9602,8 +9602,8 @@ jQuery.extend( {
parts = rurl.exec( s.url.toLowerCase() );
s.crossDomain = !!( parts &&
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? "80" : "443" ) ) !==
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? "80" : "443" ) ) )
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
);
}
@ -10158,8 +10158,8 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
// Support: IE<9
// oldIE XHR does not support non-RFC2616 methods (#13240)
// See https://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
// and https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
// Although this check for six methods instead of eight
// since IE also does not support "trace" and "connect"
return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&

5
jquery/font-awesome.min.css vendored Executable file

File diff suppressed because one or more lines are too long

View File

@ -1,11 +1,11 @@
/*
* Globalize Culture de-DE
*
* https://github.com/jquery/globalize
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* https://jquery.org/license
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator

6
jquery/globalize.js vendored
View File

@ -1,11 +1,11 @@
/*!
* Globalize
*
* https://github.com/jquery/globalize
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* https://jquery.org/license
* http://jquery.org/license
*/
(function( window, undefined ) {
@ -242,7 +242,7 @@ Globalize.cultures[ "default" ] = {
monthsGenitive:
Same as months but used when the day preceeds the month.
Omit if the culture has no genitive distinction in month names.
For an explaination of genitive months, see https://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
convert:
Allows for the support of non-gregorian based calendars. This convert object is used to
to convert a date to and from a gregorian calendar date to handle parsing and formatting.

223
jquery/googletag.js vendored Executable file
View File

@ -0,0 +1,223 @@
// Copyright 2012 Google Inc. All rights reserved.
(function(){
var data = {
"resource": {
"version":"1",
"macros":[],
"tags":[],
"predicates":[],
"rules":[]
},
"runtime":[]
};
/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
var aa,ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},ca;if("function"==typeof Object.setPrototypeOf)ca=Object.setPrototypeOf;else{var da;a:{var ea={lf:!0},fa={};try{fa.__proto__=ea;da=fa.lf;break a}catch(a){}da=!1}ca=da?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ia=ca,ja=this||self,la=/^[\w+/_-]+[=]{0,2}$/,ma=null;var pa=function(){},qa=function(a){return"function"==typeof a},g=function(a){return"string"==typeof a},ra=function(a){return"number"==typeof a&&!isNaN(a)},ua=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},r=function(a,b){if(Array.prototype.indexOf){var c=a.indexOf(b);return"number"==typeof c?c:-1}for(var d=0;d<a.length;d++)if(a[d]===b)return d;return-1},va=function(a,b){if(a&&ua(a))for(var c=0;c<a.length;c++)if(a[c]&&b(a[c]))return a[c]},wa=function(a,b){if(!ra(a)||
!ra(b)||a>b)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)},ya=function(a,b){for(var c=new xa,d=0;d<a.length;d++)c.set(a[d],!0);for(var e=0;e<b.length;e++)if(c.get(b[e]))return!0;return!1},za=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(c,a[c])},Aa=function(a){return Math.round(Number(a))||0},Ba=function(a){return"false"==String(a).toLowerCase()?!1:!!a},Ca=function(a){var b=[];if(ua(a))for(var c=0;c<a.length;c++)b.push(String(a[c]));return b},Ea=function(a){return a?
a.replace(/^\s+|\s+$/g,""):""},Fa=function(){return(new Date).getTime()},xa=function(){this.prefix="gtm.";this.values={}};xa.prototype.set=function(a,b){this.values[this.prefix+a]=b};xa.prototype.get=function(a){return this.values[this.prefix+a]};
var Ga=function(a,b,c){return a&&a.hasOwnProperty(b)?a[b]:c},Ha=function(a){var b=!1;return function(){if(!b)try{a()}catch(c){}b=!0}},Ia=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},Ja=function(a){for(var b in a)if(a.hasOwnProperty(b))return!0;return!1},Ka=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),c.push.apply(c,b[a[d]]||[]);return c},La=function(a,b){for(var c={},d=c,e=a.split("."),f=0;f<e.length-1;f++)d=d[e[f]]={};d[e[e.length-1]]=b;return c},Ma=function(a){var b=
[];za(a,function(c,d){10>c.length&&d&&b.push(c)});return b.join(",")},Na=function(a){for(var b=[],c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b.push(d):2048>d?b.push(192|d>>6,128|d&63):55296>d||57344<=d?b.push(224|d>>12,128|d>>6&63,128|d&63):(d=65536+((d&1023)<<10|a.charCodeAt(++c)&1023),b.push(240|d>>18,128|d>>12&63,128|d>>6&63,128|d&63))}return new Uint8Array(b)};/*
jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */
var Oa=/\[object (Boolean|Number|String|Function|Array|Date|RegExp)\]/,Pa=function(a){if(null==a)return String(a);var b=Oa.exec(Object.prototype.toString.call(Object(a)));return b?b[1].toLowerCase():"object"},Qa=function(a,b){return Object.prototype.hasOwnProperty.call(Object(a),b)},Ra=function(a){if(!a||"object"!=Pa(a)||a.nodeType||a==a.window)return!1;try{if(a.constructor&&!Qa(a,"constructor")&&!Qa(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}for(var b in a);return void 0===
b||Qa(a,b)},B=function(a,b){var c=b||("array"==Pa(a)?[]:{}),d;for(d in a)if(Qa(a,d)){var e=a[d];"array"==Pa(e)?("array"!=Pa(c[d])&&(c[d]=[]),c[d]=B(e,c[d])):Ra(e)?(Ra(c[d])||(c[d]={}),c[d]=B(e,c[d])):c[d]=e}return c};var qb;
var rb=[],sb=[],tb=[],vb=[],wb=[],xb={},yb,zb,Ab,Bb=function(a,b){var c={};c["function"]="__"+a;for(var d in b)b.hasOwnProperty(d)&&(c["vtp_"+d]=b[d]);return c},Cb=function(a,b){var c=a["function"];if(!c)throw Error("Error: No function name given for function call.");var d=xb[c],e={},f;for(f in a)a.hasOwnProperty(f)&&0===f.indexOf("vtp_")&&(e[void 0!==d?f:f.substr(4)]=a[f]);return void 0!==d?d(e):qb(c,e,b)},Eb=function(a,b,c){c=c||[];var d={},e;for(e in a)a.hasOwnProperty(e)&&(d[e]=Db(a[e],b,c));
return d},Fb=function(a){var b=a["function"];if(!b)throw"Error: No function name given for function call.";var c=xb[b];return c?c.priorityOverride||0:0},Db=function(a,b,c){if(ua(a)){var d;switch(a[0]){case "function_id":return a[1];case "list":d=[];for(var e=1;e<a.length;e++)d.push(Db(a[e],b,c));return d;case "macro":var f=a[1];if(c[f])return;var h=rb[f];if(!h||b.Lc(h))return;c[f]=!0;try{var k=Eb(h,b,c);k.vtp_gtmEventId=b.id;d=Cb(k,b);Ab&&(d=Ab.Mf(d,k))}catch(y){b.te&&b.te(y,Number(f)),d=!1}c[f]=
!1;return d;case "map":d={};for(var l=1;l<a.length;l+=2)d[Db(a[l],b,c)]=Db(a[l+1],b,c);return d;case "template":d=[];for(var m=!1,n=1;n<a.length;n++){var q=Db(a[n],b,c);zb&&(m=m||q===zb.ub);d.push(q)}return zb&&m?zb.Pf(d):d.join("");case "escape":d=Db(a[1],b,c);if(zb&&ua(a[1])&&"macro"===a[1][0]&&zb.mg(a))return zb.Jg(d);d=String(d);for(var u=2;u<a.length;u++)Sa[a[u]]&&(d=Sa[a[u]](d));return d;case "tag":var p=a[1];if(!vb[p])throw Error("Unable to resolve tag reference "+p+".");return d={fe:a[2],
index:p};case "zb":var t={arg0:a[2],arg1:a[3],ignore_case:a[5]};t["function"]=a[1];var v=Hb(t,b,c),w=!!a[4];return w||2!==v?w!==(1===v):null;default:throw Error("Attempting to expand unknown Value type: "+a[0]+".");}}return a},Hb=function(a,b,c){try{return yb(Eb(a,b,c))}catch(d){JSON.stringify(a)}return 2};var Ib=function(){var a=function(b){return{toString:function(){return b}}};return{qd:a("convert_case_to"),rd:a("convert_false_to"),sd:a("convert_null_to"),td:a("convert_true_to"),ud:a("convert_undefined_to"),rh:a("debug_mode_metadata"),ra:a("function"),Qe:a("instance_name"),Ue:a("live_only"),We:a("malware_disabled"),Xe:a("metadata"),sh:a("original_vendor_template_id"),af:a("once_per_event"),Dd:a("once_per_load"),Ld:a("setup_tags"),Nd:a("tag_id"),Od:a("teardown_tags")}}();var Jb=null,Mb=function(a){function b(q){for(var u=0;u<q.length;u++)d[q[u]]=!0}var c=[],d=[];Jb=Kb(a);for(var e=0;e<sb.length;e++){var f=sb[e],h=Lb(f);if(h){for(var k=f.add||[],l=0;l<k.length;l++)c[k[l]]=!0;b(f.block||[])}else null===h&&b(f.block||[])}for(var m=[],n=0;n<vb.length;n++)c[n]&&!d[n]&&(m[n]=!0);return m},Lb=function(a){for(var b=a["if"]||[],c=0;c<b.length;c++){var d=Jb(b[c]);if(0===d)return!1;if(2===d)return null}for(var e=a.unless||[],f=0;f<e.length;f++){var h=Jb(e[f]);if(2===h)return null;
if(1===h)return!1}return!0},Kb=function(a){var b=[];return function(c){void 0===b[c]&&(b[c]=Hb(tb[c],a));return b[c]}};/*
Copyright (c) 2014 Derek Brans, MIT license https://github.com/krux/postscribe/blob/master/LICENSE. Portions derived from simplehtmlparser, which is licensed under the Apache License, Version 2.0 */
var D=window,F=document,fc=navigator,gc=F.currentScript&&F.currentScript.src,hc=function(a,b){var c=D[a];D[a]=void 0===c?b:c;return D[a]},ic=function(a,b){b&&(a.addEventListener?a.onload=b:a.onreadystatechange=function(){a.readyState in{loaded:1,complete:1}&&(a.onreadystatechange=null,b())})},jc=function(a,b,c){var d=F.createElement("script");d.type="text/javascript";d.async=!0;d.src=a;ic(d,b);c&&(d.onerror=c);var e;if(null===ma)b:{var f=ja.document,h=f.querySelector&&f.querySelector("script[nonce]");
if(h){var k=h.nonce||h.getAttribute("nonce");if(k&&la.test(k)){ma=k;break b}}ma=""}e=ma;e&&d.setAttribute("nonce",e);var l=F.getElementsByTagName("script")[0]||F.body||F.head;l.parentNode.insertBefore(d,l);return d},kc=function(){if(gc){var a=gc.toLowerCase();if(0===a.indexOf("https://"))return 2;if(0===a.indexOf("http://"))return 3}return 1},lc=function(a,b){var c=F.createElement("iframe");c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var d=F.body&&F.body.lastChild||
F.body||F.head;d.parentNode.insertBefore(c,d);ic(c,b);void 0!==a&&(c.src=a);return c},mc=function(a,b,c){var d=new Image(1,1);d.onload=function(){d.onload=null;b&&b()};d.onerror=function(){d.onerror=null;c&&c()};d.src=a;return d},nc=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},oc=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent("on"+b,c)},G=function(a){D.setTimeout(a,0)},qc=function(a,b){return a&&
b&&a.attributes&&a.attributes[b]?a.attributes[b].value:null},rc=function(a){var b=a.innerText||a.textContent||"";b&&" "!=b&&(b=b.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""));b&&(b=b.replace(/(\xa0+|\s{2,}|\n|\r\t)/g," "));return b},sc=function(a){var b=F.createElement("div");b.innerHTML="A<div>"+a+"</div>";b=b.lastChild;for(var c=[];b.firstChild;)c.push(b.removeChild(b.firstChild));return c},tc=function(a,b,c){c=c||100;for(var d={},e=0;e<b.length;e++)d[b[e]]=!0;for(var f=a,h=0;f&&h<=c;h++){if(d[String(f.tagName).toLowerCase()])return f;
f=f.parentElement}return null},uc=function(a,b){var c=a[b];c&&"string"===typeof c.animVal&&(c=c.animVal);return c};var wc=function(a){return vc?F.querySelectorAll(a):null},xc=function(a,b){if(!vc)return null;if(Element.prototype.closest)try{return a.closest(b)}catch(e){return null}var c=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector,d=a;if(!F.documentElement.contains(d))return null;do{try{if(c.call(d,b))return d}catch(e){break}d=d.parentElement||d.parentNode}while(null!==d&&1===d.nodeType);
return null},yc=!1;if(F.querySelectorAll)try{var zc=F.querySelectorAll(":root");zc&&1==zc.length&&zc[0]==F.documentElement&&(yc=!0)}catch(a){}var vc=yc;var H={qa:"_ee",nc:"event_callback",tb:"event_timeout",D:"gtag.config",X:"allow_ad_personalization_signals",oc:"restricted_data_processing",Qa:"allow_google_signals",Y:"cookie_expires",sb:"cookie_update",Ra:"session_duration",ca:"user_properties"};
H.ad="page_view";H.Qg="user_engagement";H.ma="purchase";H.Cb="refund";H.Sa="begin_checkout";H.Ab="add_to_cart";H.Bb="remove_from_cart";H.Ag="view_cart";H.zd="add_to_wishlist";H.Ta="view_item";H.Pg="view_promotion";H.Hg="select_promotion";H.Cg="click_item_list";H.Zc="view_item_list";H.yd="add_payment_info";H.yg="add_shipping_info";H.Xg="allow_custom_scripts";H.dh="allow_display_features";H.gh="allow_enhanced_conversions";H.Ud="enhanced_conversions";H.Eb="client_id";H.P="cookie_domain";H.Fb="cookie_name";
H.Da="cookie_path";H.aa="currency";H.Hb="custom_params";H.oh="custom_map";H.md="groups";H.Ea="language";H.kh="country";H.uh="non_interaction";H.Ya="page_location";H.Za="page_referrer";H.jc="page_title";H.$a="send_page_view";H.oa="send_to";H.kc="session_engaged";H.Pb="session_id";H.mc="session_number";H.cf="tracking_id";H.na="linker";H.Ua="accept_incoming";H.C="domains";H.Xa="url_position";H.Va="decorate_forms";H.od="phone_conversion_number";H.Wd="phone_conversion_callback";H.Xd="phone_conversion_css_class";
H.Yd="phone_conversion_options";H.Te="phone_conversion_ids";H.Se="phone_conversion_country_code";H.Ad="aw_remarketing";H.Bd="aw_remarketing_only";H.W="value";H.Ve="quantity";H.Ge="affiliation";H.Td="tax";H.Le="shipping";H.gd="list_name";H.Rd="checkout_step";H.Qd="checkout_option";H.Ie="coupon";H.Je="promotions";H.ab="transaction_id";H.cb="user_id";H.Ca="conversion_linker";H.Aa="conversion_cookie_prefix";H.S="cookie_prefix";H.M="items";H.Hd="aw_merchant_id";H.Ed="aw_feed_country";H.Gd="aw_feed_language";
H.Cd="discount";H.Md="disable_merchant_reported_purchases";H.ic="new_customer";H.Kd="customer_lifetime_value";H.qh="dc_natural_search";H.ph="dc_custom_params";H.df="trip_type";H.Vd="passengers";H.Pe="method";H.Ze="search_term";H.ih="content_type";H.Re="optimize_id";H.Me="experiments";H.Nb="google_signals";H.ld="google_tld";H.Qb="update";H.kd="firebase_id";H.Lb="ga_restrict_domain";H.hd="event_settings";H.Ye="screen_name";H.Oe="_x_19";H.Ne="_x_20";H.ia="transport_url";H.ee=[H.X,H.Qa,H.oc,H.P,H.Y,H.Fb,
H.Da,H.S,H.sb,H.Hb,H.nc,H.hd,H.tb,H.Lb,H.Nb,H.ld,H.md,H.na,H.oa,H.$a,H.Ra,H.Qb,H.ca,H.ia];H.ae=[H.Ya,H.Za,H.jc,H.Ea,H.Ye,H.cb,H.kd];H.ef=[H.ma,H.Cb,H.Sa,H.Ab,H.Bb,H.Ag,H.zd,H.Ta,H.Pg,H.Hg,H.Zc,H.Cg,H.yd,H.yg];H.xd=[H.oa,H.Ad,H.Bd,H.Hb,H.$a,H.Ea,H.W,H.aa,H.ab,H.cb,H.Ca,H.Aa,H.S,H.P,H.Y,H.Ya,H.Za,H.od,H.Wd,H.Xd,H.Yd,H.M,H.Hd,H.Ed,H.Gd,H.Cd,H.Md,H.ic,H.Kd,H.X,H.oc,H.Qb,H.kd,H.Ud,H.ia];
H.de=[H.X,H.Qa,H.sb];H.ke=[H.Y,H.tb,H.Ra];var Pc=/[A-Z]+/,Qc=/\s/,Rc=function(a){if(g(a)&&(a=Ea(a),!Qc.test(a))){var b=a.indexOf("-");if(!(0>b)){var c=a.substring(0,b);if(Pc.test(c)){for(var d=a.substring(b+1).split("/"),e=0;e<d.length;e++)if(!d[e])return;return{id:a,prefix:c,containerId:c+"-"+d[0],o:d}}}}},Tc=function(a){for(var b={},c=0;c<a.length;++c){var d=Rc(a[c]);d&&(b[d.id]=d)}Sc(b);var e=[];za(b,function(f,h){e.push(h)});return e};
function Sc(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];"AW"===d.prefix&&d.o[1]&&b.push(d.containerId)}for(var e=0;e<b.length;++e)delete a[b[e]]};var Uc={},Vc=null,Wc=Math.random();Uc.s="UA-638054-11";Uc.yb="250";var Xc={__cl:!0,__ecl:!0,__ehl:!0,__evl:!0,__fal:!0,__fil:!0,__fsl:!0,__hl:!0,__jel:!0,__lcl:!0,__sdl:!0,__tl:!0,__ytl:!0,__paused:!0,__tg:!0},Zc="www.googletagmanager.com/gtm.js";Zc="www.googletagmanager.com/gtag/js";var $c=Zc,ad=null,bd=null,cd=null,dd="//www.googletagmanager.com/a?id="+Uc.s+"&cv=1",ed={},fd={},gd=function(){var a=Vc.sequence||0;Vc.sequence=a+1;return a};var hd={},I=function(a,b){hd[a]=hd[a]||[];hd[a][b]=!0},id=function(a){for(var b=[],c=hd[a]||[],d=0;d<c.length;d++)c[d]&&(b[Math.floor(d/6)]^=1<<d%6);for(var e=0;e<b.length;e++)b[e]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(b[e]||0);return b.join("")};
var jd=function(){return"&tc="+vb.filter(function(a){return a}).length},md=function(){kd||(kd=D.setTimeout(ld,500))},ld=function(){kd&&(D.clearTimeout(kd),kd=void 0);void 0===nd||od[nd]&&!pd&&!qd||(rd[nd]||sd.og()||0>=td--?(I("GTM",1),rd[nd]=!0):(sd.Sg(),mc(ud()),od[nd]=!0,vd=wd=qd=pd=""))},ud=function(){var a=nd;if(void 0===a)return"";var b=id("GTM"),c=id("TAGGING");return[xd,od[a]?"":"&es=1",yd[a],b?"&u="+b:"",c?"&ut="+c:"",jd(),pd,qd,wd,vd,"&z=0"].join("")},zd=function(){return[dd,"&v=3&t=t","&pid="+
wa(),"&rv="+Uc.yb].join("")},Ad="0.005000">Math.random(),xd=zd(),Bd=function(){xd=zd()},od={},pd="",qd="",vd="",wd="",nd=void 0,yd={},rd={},kd=void 0,sd=function(a,b){var c=0,d=0;return{og:function(){if(c<a)return!1;Fa()-d>=b&&(c=0);return c>=a},Sg:function(){Fa()-d>=b&&(c=0);c++;d=Fa()}}}(2,1E3),td=1E3,Cd=function(a,b){if(Ad&&!rd[a]&&nd!==a){ld();nd=a;vd=pd="";var c;c=0===b.indexOf("gtm.")?encodeURIComponent(b):"*";yd[a]="&e="+c+"&eid="+a;md()}},Dd=function(a,b,c){if(Ad&&!rd[a]&&
b){a!==nd&&(ld(),nd=a);var d,e=String(b[Ib.ra]||"").replace(/_/g,"");0===e.indexOf("cvt")&&(e="cvt");d=e;var f=c+d;pd=pd?pd+"."+f:"&tr="+f;var h=b["function"];if(!h)throw Error("Error: No function name given for function call.");var k=(xb[h]?"1":"2")+d;vd=vd?vd+"."+k:"&ti="+k;md();2022<=ud().length&&ld()}},Ed=function(a,b,c){if(Ad&&!rd[a]){a!==nd&&(ld(),nd=a);var d=c+b;qd=qd?qd+
"."+d:"&epr="+d;md();2022<=ud().length&&ld()}};var Fd={},Gd=new xa,Hd={},Id={},Ld={name:"dataLayer",set:function(a,b){B(La(a,b),Hd);Jd()},get:function(a){return Kd(a,2)},reset:function(){Gd=new xa;Hd={};Jd()}},Kd=function(a,b){if(2!=b){var c=Gd.get(a);if(Ad){var d=Md(a);c!==d&&I("GTM",5)}return c}return Md(a)},Md=function(a,b,c){var d=a.split("."),e=!1,f=void 0;var h=function(k,l){for(var m=0;void 0!==k&&m<d.length;m++){if(null===k)return!1;k=k[d[m]]}return void 0!==k||1<m?k:l.length?h(Nd(l.pop()),l):Od(d)};
e=!0;f=h(Hd.eventModel,[b,c]);return e?f:Od(d)},Od=function(a){for(var b=Hd,c=0;c<a.length;c++){if(null===b)return!1;if(void 0===b)break;b=b[a[c]]}return b};var Nd=function(a){if(a){var b=Od(["gtag","targets",a]);return Ra(b)?b:void 0}},Pd=function(a,b){function c(f){f&&za(f,function(h){d[h]=null})}var d={};c(Hd);delete d.eventModel;c(Nd(a));c(Nd(b));c(Hd.eventModel);var e=[];za(d,function(f){e.push(f)});return e};
var Qd=function(a,b){Id.hasOwnProperty(a)||(Gd.set(a,b),B(La(a,b),Hd),Jd())},Jd=function(a){za(Id,function(b,c){Gd.set(b,c);B(La(b,void 0),Hd);B(La(b,c),Hd);a&&delete Id[b]})},Rd=function(a,b,c){Fd[a]=Fd[a]||{};var d=1!==c?Md(b):Gd.get(b);"array"===Pa(d)||"object"===Pa(d)?Fd[a][b]=B(d):Fd[a][b]=d},Sd=function(a,b){if(Fd[a])return Fd[a][b]},Td=function(a,b){Fd[a]&&delete Fd[a][b]};var Ud=function(){var a=!1;return a};var Q=function(a,b,c,d){return(2===Vd()||d||"http:"!=D.location.protocol?a:b)+c},Vd=function(){var a=kc(),b;if(1===a)a:{var c=$c;c=c.toLowerCase();for(var d="https://"+c,e="http://"+c,f=1,h=F.getElementsByTagName("script"),k=0;k<h.length&&100>k;k++){var l=h[k].src;if(l){l=l.toLowerCase();if(0===l.indexOf(e)){b=3;break a}1===f&&0===l.indexOf(d)&&(f=2)}}b=f}else b=a;return b};
var Xd=function(a,b,c){if(D[a.functionName])return b.Rc&&G(b.Rc),D[a.functionName];var d=Wd();D[a.functionName]=d;if(a.Db)for(var e=0;e<a.Db.length;e++)D[a.Db[e]]=D[a.Db[e]]||Wd();a.Ob&&void 0===D[a.Ob]&&(D[a.Ob]=c);jc(Q("https://","http://",a.bd),b.Rc,b.Dg);return d},Wd=function(){var a=function(){a.q=a.q||[];a.q.push(arguments)};return a},Yd={functionName:"_googWcmImpl",Ob:"_googWcmAk",bd:"www.gstatic.com/wcm/loader.js"},Zd={functionName:"_gaPhoneImpl",Ob:"ga_wpid",bd:"www.gstatic.com/gaphone/loader.js"},
$d={He:"",hf:"1"},ae={functionName:"_googCallTrackingImpl",Db:[Zd.functionName,Yd.functionName],bd:"www.gstatic.com/call-tracking/call-tracking_"+($d.He||$d.hf)+".js"},be={},ce=function(a,b,c,d){I("GTM",22);if(c){d=d||{};var e=Xd(Yd,d,a),f={ak:a,cl:b};void 0===d.da&&(f.autoreplace=c);e(2,d.da,f,c,0,new Date,d.options)}},de=function(a,b,c){I("GTM",23);if(b){c=c||{};var d=Xd(Zd,c,a),e={};void 0!==c.da?e.receiver=c.da:e.replace=b;e.ga_wpid=a;e.destination=b;d(2,new Date,
e)}},ee=function(a,b,c,d){I("GTM",21);if(b&&c){d=d||{};for(var e={countryNameCode:c,destinationNumber:b,retrievalTime:new Date},f=0;f<a.length;f++){var h=a[f];be[h.id]||(h&&"AW"===h.prefix&&!e.adData&&2<=h.o.length?(e.adData={ak:h.o[0],cl:h.o[1]},be[h.id]=!0):h&&"UA"===h.prefix&&!e.gaData&&(e.gaData={gaWpid:h.containerId},be[h.id]=!0))}(e.gaData||e.adData)&&Xd(ae,d)(d.da,e,d.options)}},fe=function(){var a=!1;
return a},ge=function(a,b){if(a)if(Ud()){}else{if(g(a)){var c=Rc(a);if(!c)return;a=c}var d=function(x){return b?b.getWithConfig(x):Md(x,a.containerId,a.id)},e=void 0,f=!1,h=d(H.Te);if(h&&ua(h)){e=[];for(var k=0;k<h.length;k++){var l=Rc(h[k]);l&&(e.push(l),(a.id===l.id||a.id===a.containerId&&a.containerId===l.containerId)&&(f=!0))}}if(!e||f){var m=d(H.od),n;if(m){ua(m)?n=m:n=[m];var q=d(H.Wd),u=d(H.Xd),p=d(H.Yd),t=d(H.Se),
v=q||u,w=1;"UA"!==a.prefix||e||(w=5);for(var y=0;y<n.length;y++)y<w&&(e?ee(e,n[y],t,{da:v,options:p}):"AW"===a.prefix&&a.o[1]?fe()?ee([a],n[y],t||"US",{da:v,options:p}):ce(a.o[0],a.o[1],n[y],{da:v,options:p}):"UA"===a.prefix&&(fe()?ee([a],n[y],t||"US",{da:v}):de(a.containerId,n[y],{da:v})))}}}};var je=new RegExp(/^(.*\.)?(google|youtube|blogger|withgoogle)(\.com?)?(\.[a-z]{2})?\.?$/),ke={cl:["ecl"],customPixels:["nonGooglePixels"],ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],customScripts:["html","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],nonGooglePixels:[],nonGoogleScripts:["nonGooglePixels"],nonGoogleIframes:["nonGooglePixels"]},le={cl:["ecl"],customPixels:["customScripts","html"],
ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts"],customScripts:["html"],nonGooglePixels:["customPixels","customScripts","html","nonGoogleScripts","nonGoogleIframes"],nonGoogleScripts:["customScripts","html"],nonGoogleIframes:["customScripts","html","nonGoogleScripts"]},me="google customPixels customScripts html nonGooglePixels nonGoogleScripts nonGoogleIframes".split(" ");
var oe=function(a){var b=Kd("gtm.whitelist");b&&I("GTM",9);b="google gtagfl lcl zone oid op".split(" ");var c=b&&Ka(Ca(b),ke),d=Kd("gtm.blacklist");d||(d=Kd("tagTypeBlacklist"))&&I("GTM",3);d?
I("GTM",8):d=[];ne()&&(d=Ca(d),d.push("nonGooglePixels","nonGoogleScripts","sandboxedScripts"));0<=r(Ca(d),"google")&&I("GTM",2);var e=d&&Ka(Ca(d),le),f={};return function(h){var k=h&&h[Ib.ra];if(!k||"string"!=typeof k)return!0;k=k.replace(/^_*/,"");if(void 0!==f[k])return f[k];var l=fd[k]||[],m=a(k,l);if(b){var n;if(n=m)a:{if(0>r(c,k))if(l&&0<l.length)for(var q=0;q<
l.length;q++){if(0>r(c,l[q])){I("GTM",11);n=!1;break a}}else{n=!1;break a}n=!0}m=n}var u=!1;if(d){var p=0<=r(e,k);if(p)u=p;else{var t=ya(e,l||[]);t&&I("GTM",10);u=t}}var v=!m||u;v||!(0<=r(l,"sandboxedScripts"))||c&&-1!==r(c,"sandboxedScripts")||(v=ya(e,me));return f[k]=v}},ne=function(){return je.test(D.location&&D.location.hostname)};var pe={Mf:function(a,b){b[Ib.qd]&&"string"===typeof a&&(a=1==b[Ib.qd]?a.toLowerCase():a.toUpperCase());b.hasOwnProperty(Ib.sd)&&null===a&&(a=b[Ib.sd]);b.hasOwnProperty(Ib.ud)&&void 0===a&&(a=b[Ib.ud]);b.hasOwnProperty(Ib.td)&&!0===a&&(a=b[Ib.td]);b.hasOwnProperty(Ib.rd)&&!1===a&&(a=b[Ib.rd]);return a}};var qe={active:!0,isWhitelisted:function(){return!0}},re=function(a){var b=Vc.zones;!b&&a&&(b=Vc.zones=a());return b};var se=function(){};var te=!1,ue=0,ve=[];function we(a){if(!te){var b=F.createEventObject,c="complete"==F.readyState,d="interactive"==F.readyState;if(!a||"readystatechange"!=a.type||c||!b&&d){te=!0;for(var e=0;e<ve.length;e++)G(ve[e])}ve.push=function(){for(var f=0;f<arguments.length;f++)G(arguments[f]);return 0}}}function xe(){if(!te&&140>ue){ue++;try{F.documentElement.doScroll("left"),we()}catch(a){D.setTimeout(xe,50)}}}var ye=function(a){te?a():ve.push(a)};var ze={},Ae={},Be=function(a,b,c,d){if(!Ae[a]||Xc[b]||"__zone"===b)return-1;var e={};Ra(d)&&(e=B(d,e));e.id=c;e.status="timeout";return Ae[a].tags.push(e)-1},Ce=function(a,b,c,d){if(Ae[a]){var e=Ae[a].tags[b];e&&(e.status=c,e.executionTime=d)}};function De(a){for(var b=ze[a]||[],c=0;c<b.length;c++)b[c]();ze[a]={push:function(d){d(Uc.s,Ae[a])}}}
var Ge=function(a,b,c){Ae[a]={tags:[]};qa(b)&&Ee(a,b);c&&D.setTimeout(function(){return De(a)},Number(c));return Fe(a)},Ee=function(a,b){ze[a]=ze[a]||[];ze[a].push(Ha(function(){return G(function(){b(Uc.s,Ae[a])})}))};function Fe(a){var b=0,c=0,d=!1;return{add:function(){c++;return Ha(function(){b++;d&&b>=c&&De(a)})},yf:function(){d=!0;b>=c&&De(a)}}};var He=function(){function a(d){return!ra(d)||0>d?0:d}if(!Vc._li&&D.performance&&D.performance.timing){var b=D.performance.timing.navigationStart,c=ra(Ld.get("gtm.start"))?Ld.get("gtm.start"):0;Vc._li={cst:a(c-b),cbt:a(bd-b)}}};var Le={},Me=function(){return D.GoogleAnalyticsObject&&D[D.GoogleAnalyticsObject]},Ne=!1;
var Oe=function(a){D.GoogleAnalyticsObject||(D.GoogleAnalyticsObject=a||"ga");var b=D.GoogleAnalyticsObject;if(D[b])D.hasOwnProperty(b)||I("GTM",12);else{var c=function(){c.q=c.q||[];c.q.push(arguments)};c.l=Number(new Date);D[b]=c}He();return D[b]},Pe=function(a,b,c,d){b=String(b).replace(/\s+/g,"").split(",");var e=Me();e(a+"require","linker");e(a+"linker:autoLink",b,c,d)};
var Re=function(a){},Qe=function(){return D.GoogleAnalyticsObject||"ga"};var Te=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;var Ue=/:[0-9]+$/,Ve=function(a,b,c){for(var d=a.split("&"),e=0;e<d.length;e++){var f=d[e].split("=");if(decodeURIComponent(f[0]).replace(/\+/g," ")===b){var h=f.slice(1).join("=");return c?h:decodeURIComponent(h).replace(/\+/g," ")}}},Ye=function(a,b,c,d,e){b&&(b=String(b).toLowerCase());if("protocol"===b||"port"===b)a.protocol=We(a.protocol)||We(D.location.protocol);"port"===b?a.port=String(Number(a.hostname?a.port:D.location.port)||("http"==a.protocol?80:"https"==a.protocol?443:"")):"host"===b&&
(a.hostname=(a.hostname||D.location.hostname).replace(Ue,"").toLowerCase());var f=b,h,k=We(a.protocol);f&&(f=String(f).toLowerCase());switch(f){case "url_no_fragment":h=Xe(a);break;case "protocol":h=k;break;case "host":h=a.hostname.replace(Ue,"").toLowerCase();if(c){var l=/^www\d*\./.exec(h);l&&l[0]&&(h=h.substr(l[0].length))}break;case "port":h=String(Number(a.port)||("http"==k?80:"https"==k?443:""));break;case "path":a.pathname||a.hostname||I("TAGGING",1);h="/"==a.pathname.substr(0,1)?a.pathname:
"/"+a.pathname;var m=h.split("/");0<=r(d||[],m[m.length-1])&&(m[m.length-1]="");h=m.join("/");break;case "query":h=a.search.replace("?","");e&&(h=Ve(h,e,void 0));break;case "extension":var n=a.pathname.split(".");h=1<n.length?n[n.length-1]:"";h=h.split("/")[0];break;case "fragment":h=a.hash.replace("#","");break;default:h=a&&a.href}return h},We=function(a){return a?a.replace(":","").toLowerCase():""},Xe=function(a){var b="";if(a&&a.href){var c=a.href.indexOf("#");b=0>c?a.href:a.href.substr(0,c)}return b},
Ze=function(a){var b=F.createElement("a");a&&(b.href=a);var c=b.pathname;"/"!==c[0]&&(a||I("TAGGING",1),c="/"+c);var d=b.hostname.replace(Ue,"");return{href:b.href,protocol:b.protocol,host:b.host,hostname:d,pathname:c,search:b.search,hash:b.hash,port:b.port}};function df(a,b,c,d){var e=vb[a],f=ef(a,b,c,d);if(!f)return null;var h=Db(e[Ib.Ld],c,[]);if(h&&h.length){var k=h[0];f=df(k.index,{B:f,w:1===k.fe?b.terminate:f,terminate:b.terminate},c,d)}return f}
function ef(a,b,c,d){function e(){if(f[Ib.We])k();else{var w=Eb(f,c,[]),y=Be(c.id,String(f[Ib.ra]),Number(f[Ib.Nd]),w[Ib.Xe]),x=!1;w.vtp_gtmOnSuccess=function(){if(!x){x=!0;var A=Fa()-C;Dd(c.id,vb[a],"5");Ce(c.id,y,"success",A);h()}};w.vtp_gtmOnFailure=function(){if(!x){x=!0;var A=Fa()-C;Dd(c.id,vb[a],"6");Ce(c.id,y,"failure",A);k()}};w.vtp_gtmTagId=f.tag_id;
w.vtp_gtmEventId=c.id;Dd(c.id,f,"1");var z=function(){var A=Fa()-C;Dd(c.id,f,"7");Ce(c.id,y,"exception",A);x||(x=!0,k())};var C=Fa();try{Cb(w,c)}catch(A){z(A)}}}var f=vb[a],h=b.B,k=b.w,l=b.terminate;if(c.Lc(f))return null;var m=Db(f[Ib.Od],c,[]);if(m&&m.length){var n=m[0],q=df(n.index,{B:h,w:k,terminate:l},c,d);if(!q)return null;h=q;k=2===n.fe?l:q}if(f[Ib.Dd]||f[Ib.af]){var u=f[Ib.Dd]?wb:c.ah,p=h,t=k;if(!u[a]){e=Ha(e);var v=ff(a,u,e);h=v.B;k=v.w}return function(){u[a](p,t)}}return e}
function ff(a,b,c){var d=[],e=[];b[a]=gf(d,e,c);return{B:function(){b[a]=hf;for(var f=0;f<d.length;f++)d[f]()},w:function(){b[a]=jf;for(var f=0;f<e.length;f++)e[f]()}}}function gf(a,b,c){return function(d,e){a.push(d);b.push(e);c()}}function hf(a){a()}function jf(a,b){b()};var mf=function(a,b){for(var c=[],d=0;d<vb.length;d++)if(a.kb[d]){var e=vb[d];var f=b.add();try{var h=df(d,{B:f,w:f,terminate:f},a,d);h?c.push({Ee:d,ze:Fb(e),Xf:h}):(kf(d,a),f())}catch(l){f()}}b.yf();c.sort(lf);for(var k=0;k<c.length;k++)c[k].Xf();return 0<c.length};function lf(a,b){var c,d=b.ze,e=a.ze;c=d>e?1:d<e?-1:0;var f;if(0!==c)f=c;else{var h=a.Ee,k=b.Ee;f=h>k?1:h<k?-1:0}return f}
function kf(a,b){if(!Ad)return;var c=function(d){var e=b.Lc(vb[d])?"3":"4",f=Db(vb[d][Ib.Ld],b,[]);f&&f.length&&c(f[0].index);Dd(b.id,vb[d],e);var h=Db(vb[d][Ib.Od],b,[]);h&&h.length&&c(h[0].index)};c(a);}
var nf=!1,of=function(a,b,c,d,e){if("gtm.js"==b){if(nf)return!1;nf=!0}Cd(a,b);var f=Ge(a,d,e);Rd(a,"event",1);Rd(a,"ecommerce",1);Rd(a,"gtm");var h={id:a,name:b,Lc:oe(c),kb:[],ah:[],te:function(){I("GTM",6)}};h.kb=Mb(h);var k=mf(h,f);"gtm.js"!==b&&"gtm.sync"!==b||Re(Uc.s);if(!k)return k;for(var l=0;l<h.kb.length;l++)if(h.kb[l]){var m=vb[l];if(m&&!Xc[String(m[Ib.ra])])return!0}return!1};var pf=function(a,b){var c=Bb(a,b);vb.push(c);return vb.length-1};var qf=/^https?:\/\/www\.googletagmanager\.com/;function rf(){var a;return a}function tf(a,b){}
function sf(a){0!==a.indexOf("http://")&&0!==a.indexOf("https://")&&(a="https://"+a);"/"===a[a.length-1]&&(a=a.substring(0,a.length-1));return a}function uf(){var a=!1;return a};var vf=function(){this.eventModel={};this.targetConfig={};this.containerConfig={};this.h={};this.globalConfig={};this.B=function(){};this.w=function(){}},wf=function(a){var b=new vf;b.eventModel=a;return b},xf=function(a,b){a.targetConfig=b;return a},yf=function(a,b){a.containerConfig=b;return a},zf=function(a,b){a.h=b;return a},Af=function(a,b){a.globalConfig=b;return a},Bf=function(a,b){a.B=b;return a},Cf=function(a,b){a.w=b;return a};
vf.prototype.getWithConfig=function(a){if(void 0!==this.eventModel[a])return this.eventModel[a];if(void 0!==this.targetConfig[a])return this.targetConfig[a];if(void 0!==this.containerConfig[a])return this.containerConfig[a];if(void 0!==this.h[a])return this.h[a];if(void 0!==this.globalConfig[a])return this.globalConfig[a]};
var Df=function(a){function b(e){za(e,function(f){c[f]=null})}var c={};b(a.eventModel);b(a.targetConfig);b(a.containerConfig);b(a.globalConfig);var d=[];za(c,function(e){d.push(e)});return d};var Ef={},Ff=["G"];Ef.Fe="";var Gf=Ef.Fe.split(",");function Hf(){var a=Vc;return a.gcq=a.gcq||new If}
var Jf=function(a,b,c){Hf().register(a,b,c)},Kf=function(a,b,c,d){Hf().push("event",[b,a],c,d)},Lf=function(a,b){Hf().push("config",[a],b)},Mf={},Nf=function(){this.status=1;this.containerConfig={};this.targetConfig={};this.i={};this.m=null;this.h=!1},Of=function(a,b,c,d,e){this.type=a;this.m=b;this.N=c||"";this.h=d;this.i=e},If=function(){this.i={};this.m={};this.h=[]},Pf=function(a,b){var c=Rc(b);return a.i[c.containerId]=a.i[c.containerId]||new Nf},Qf=function(a,b,c,d){if(d.N){var e=Pf(a,d.N),
f=e.m;if(f){var h=B(c),k=B(e.targetConfig[d.N]),l=B(e.containerConfig),m=B(e.i),n=B(a.m),q=Kd("gtm.uniqueEventId"),u=Rc(d.N).prefix,p=Cf(Bf(Af(zf(yf(xf(wf(h),k),l),m),n),function(){Ed(q,u,"2");}),function(){Ed(q,u,"3");});try{Ed(q,u,"1");f(d.N,b,d.m,p)}catch(t){
Ed(q,u,"4");}}}};
If.prototype.register=function(a,b,c){if(3!==Pf(this,a).status){Pf(this,a).m=b;Pf(this,a).status=3;c&&(Pf(this,a).i=c);var d=Rc(a),e=Mf[d.containerId];if(void 0!==e){var f=Vc[d.containerId].bootstrap,h=d.prefix.toUpperCase();Vc[d.containerId]._spx&&(h=h.toLowerCase());var k=Kd("gtm.uniqueEventId"),l=h,m=Fa()-f;if(Ad&&!rd[k]){k!==nd&&(ld(),nd=k);var n=l+"."+Math.floor(f-e)+"."+Math.floor(m);wd=wd?wd+","+n:"&cl="+n}delete Mf[d.containerId]}this.flush()}};
If.prototype.push=function(a,b,c,d){var e=Math.floor(Fa()/1E3);if(c){var f=Rc(c),h;if(h=f){var k;if(k=1===Pf(this,c).status)a:{var l=f.prefix;k=!0}h=k}if(h&&(Pf(this,c).status=2,this.push("require",[],f.containerId),Mf[f.containerId]=Fa(),!Ud())){var m=encodeURIComponent(f.containerId),n=("http:"!=D.location.protocol?"https:":"http:")+
"//www.googletagmanager.com";jc(n+"/gtag/js?id="+m+"&l=dataLayer&cx=c")}}this.h.push(new Of(a,e,c,b,d));d||this.flush()};
If.prototype.flush=function(a){for(var b=this;this.h.length;){var c=this.h[0];if(c.i)c.i=!1,this.h.push(c);else switch(c.type){case "require":if(3!==Pf(this,c.N).status&&!a)return;break;case "set":za(c.h[0],function(l,m){B(La(l,m),b.m)});break;case "config":var d=c.h[0],e=!!d[H.Qb];delete d[H.Qb];var f=Pf(this,c.N),h=Rc(c.N),k=h.containerId===h.id;e||(k?f.containerConfig={}:f.targetConfig[c.N]={});f.h&&e||Qf(this,H.D,d,c);f.h=!0;delete d[H.qa];k?B(d,f.containerConfig):B(d,f.targetConfig[c.N]);break;
case "event":Qf(this,c.h[1],c.h[0],c)}this.h.shift()}};var Rf=function(a,b,c){for(var d=[],e=String(b||document.cookie).split(";"),f=0;f<e.length;f++){var h=e[f].split("="),k=h[0].replace(/^\s*|\s*$/g,"");if(k&&k==a){var l=h.slice(1).join("=").replace(/^\s*|\s*$/g,"");l&&c&&(l=decodeURIComponent(l));d.push(l)}}return d},Uf=function(a,b,c,d){var e=Sf(a,d);if(1===e.length)return e[0].id;if(0!==e.length){e=Tf(e,function(f){return f.Jb},b);if(1===e.length)return e[0].id;e=Tf(e,function(f){return f.lb},c);return e[0]?e[0].id:void 0}};
function Vf(a,b,c){var d=document.cookie;document.cookie=a;var e=document.cookie;return d!=e||void 0!=c&&0<=Rf(b,e).indexOf(c)}
var Zf=function(a,b,c,d,e,f){d=d||"auto";var h={path:c||"/"};e&&(h.expires=e);"none"!==d&&(h.domain=d);var k;a:{var l=b,m;if(void 0==l)m=a+"=deleted; expires="+(new Date(0)).toUTCString();else{f&&(l=encodeURIComponent(l));var n=l;n&&1200<n.length&&(n=n.substring(0,1200));l=n;m=a+"="+l}var q=void 0,u=void 0,p;for(p in h)if(h.hasOwnProperty(p)){var t=h[p];if(null!=t)switch(p){case "secure":t&&(m+="; secure");break;case "domain":q=t;break;default:"path"==p&&(u=t),"expires"==p&&t instanceof Date&&(t=
t.toUTCString()),m+="; "+p+"="+t}}if("auto"===q){for(var v=Wf(),w=0;w<v.length;++w){var y="none"!=v[w]?v[w]:void 0;if(!Yf(y,u)&&Vf(m+(y?"; domain="+y:""),a,l)){k=!0;break a}}k=!1}else q&&"none"!=q&&(m+="; domain="+q),k=!Yf(q,u)&&Vf(m,a,l)}return k};function Tf(a,b,c){for(var d=[],e=[],f,h=0;h<a.length;h++){var k=a[h],l=b(k);l===c?d.push(k):void 0===f||l<f?(e=[k],f=l):l===f&&e.push(k)}return 0<d.length?d:e}
function Sf(a,b){for(var c=[],d=Rf(a),e=0;e<d.length;e++){var f=d[e].split("."),h=f.shift();if(!b||-1!==b.indexOf(h)){var k=f.shift();k&&(k=k.split("-"),c.push({id:f.join("."),Jb:1*k[0]||1,lb:1*k[1]||1}))}}return c}
var $f=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,ag=/(^|\.)doubleclick\.net$/i,Yf=function(a,b){return ag.test(document.location.hostname)||"/"===b&&$f.test(a)},Wf=function(){var a=[],b=document.location.hostname.split(".");if(4===b.length){var c=b[b.length-1];if(parseInt(c,10).toString()===c)return["none"]}for(var d=b.length-2;0<=d;d--)a.push(b.slice(d).join("."));var e=document.location.hostname;ag.test(e)||$f.test(e)||a.push("none");return a};var bg="G".split(/,/),cg=!1;cg=!0;var dg=null,eg={},fg={},gg;function hg(a,b){var c={event:a};b&&(c.eventModel=B(b),b[H.nc]&&(c.eventCallback=b[H.nc]),b[H.tb]&&(c.eventTimeout=b[H.tb]));return c}
var ig=function(){dg=dg||!Vc.gtagRegistered;Vc.gtagRegistered=!0;return dg},jg=function(a){if(void 0===fg[a.id]){var b;switch(a.prefix){case "UA":b=pf("gtagua",{trackingId:a.id});break;case "AW":b=pf("gtagaw",{conversionId:a});break;case "DC":b=pf("gtagfl",{targetId:a.id});break;case "GF":b=pf("gtaggf",{conversionId:a});break;case "G":b=pf("get",{trackingId:a.id,isAutoTag:!0});break;case "HA":b=pf("gtagha",{conversionId:a});break;case "GP":b=pf("gtaggp",{conversionId:a.id});break;default:return}if(!gg){var c=
Bb("v",{name:"send_to",dataLayerVersion:2});rb.push(c);gg=["macro",rb.length-1]}var d={arg0:gg,arg1:a.id,ignore_case:!1};d[Ib.ra]="_lc";tb.push(d);var e={"if":[tb.length-1],add:[b]};e["if"]&&(e.add||e.block)&&sb.push(e);fg[a.id]=b}},kg=function(a){za(eg,function(b,c){var d=r(c,a);0<=d&&c.splice(d,1)})},lg=Ha(function(){}),mg=function(a){if(a.containerId!==Uc.s&&"G"!==a.prefix){var b;switch(a.prefix){case "UA":b=14;break;case "AW":b=15;break;case "DC":b=16;break;default:b=17}I("GTM",b)}};
var ng={config:function(a){var b=a[2]||{};if(2>a.length||!g(a[1])||!Ra(b))return;var c=Rc(a[1]);if(!c)return;kg(c.id);var d=c.id,e=b[H.md]||"default";e=e.toString().split(",");for(var f=0;f<e.length;f++)eg[e[f]]=eg[e[f]]||[],eg[e[f]].push(d);delete b[H.md];B(b);if(ig()){if(cg&&-1!==r(bg,c.prefix)){"G"===c.prefix&&(b[H.qa]=!0);Lf(b,c.id);return}jg(c);mg(c)}else lg();Qd("gtag.targets."+c.id,void 0);Qd("gtag.targets."+c.id,B(b));var h={};h[H.oa]=c.id;return hg(H.D,h);},
event:function(a){var b=a[1];if(g(b)&&!(3<a.length)){var c;if(2<a.length){if(!Ra(a[2])&&void 0!=a[2])return;c=a[2]}var d=hg(b,c);var e;var f=c&&c[H.oa];void 0===f&&(f=Kd(H.oa,2),void 0===f&&(f="default"));if(g(f)||ua(f)){for(var h=f.toString().replace(/\s+/g,"").split(","),k=[],l=0;l<h.length;l++)0<=h[l].indexOf("-")?k.push(h[l]):k=k.concat(eg[h[l]]||[]);e=Tc(k)}else e=void 0;var m=e;if(!m)return;var n=ig();n||lg();for(var q=[],u=0;n&&u<m.length;u++){var p=m[u];mg(p);
if(cg&&-1!==r(bg,p.prefix)){var t=B(c);"G"===p.prefix&&(t[H.qa]=!0);Kf(b,t,p.id)}else jg(p);q.push(p.id)}B(c,{event:b});d.eventModel=d.eventModel||{};0<m.length?d.eventModel[H.oa]=q.join():delete d.eventModel[H.oa];return d}},js:function(a){if(2==a.length&&a[1].getTime)return{event:"gtm.js","gtm.start":a[1].getTime()}},policy:function(){},set:function(a){var b;2==a.length&&Ra(a[1])?b=B(a[1]):3==a.length&&g(a[1])&&(b={},Ra(a[2])||ua(a[2])?b[a[1]]=B(a[2]):b[a[1]]=a[2]);
if(b){if(ig()){var c=B(b);Hf().push("set",[c])}B(b);b._clear=!0;return b}}},og={policy:!0};var pg=function(a,b){var c=a.hide;if(c&&void 0!==c[b]&&c.end){c[b]=!1;var d=!0,e;for(e in c)if(c.hasOwnProperty(e)&&!0===c[e]){d=!1;break}d&&(c.end(),c.end=null)}},rg=function(a){var b=qg(),c=b&&b.hide;c&&c.end&&(c[a]=!0)};var sg=!1,tg=[];function ug(){if(!sg){sg=!0;for(var a=0;a<tg.length;a++)G(tg[a])}}var vg=function(a){sg?G(a):tg.push(a)};var Kg=function(a){if(Jg(a))return a;this.h=a};Kg.prototype.dg=function(){return this.h};var Jg=function(a){return!a||"object"!==Pa(a)||Ra(a)?!1:"getUntrustedUpdateValue"in a};Kg.prototype.getUntrustedUpdateValue=Kg.prototype.dg;var Lg=[],Mg=!1,Ng=function(a){return D["dataLayer"].push(a)},Og=function(a){var b=Vc["dataLayer"],c=b?b.subscribers:1,d=0;return function(){++d===c&&a()}};
function Pg(a){var b=a._clear;za(a,function(f,h){"_clear"!==f&&(b&&Qd(f,void 0),Qd(f,h))});ad||(ad=a["gtm.start"]);var c=a.event;if(!c)return!1;var d=a["gtm.uniqueEventId"];d||(d=gd(),a["gtm.uniqueEventId"]=d,Qd("gtm.uniqueEventId",d));cd=c;var e=
Qg(a);cd=null;switch(c){case "gtm.init":I("GTM",19),e&&I("GTM",20)}return e}function Qg(a){var b=a.event,c=a["gtm.uniqueEventId"],d,e=Vc.zones;d=e?e.checkState(Uc.s,c):qe;return d.active?of(c,b,d.isWhitelisted,a.eventCallback,a.eventTimeout)?!0:!1:!1}
function Rg(){for(var a=!1;!Mg&&0<Lg.length;){Mg=!0;delete Hd.eventModel;Jd();var b=Lg.shift();if(null!=b){var c=Jg(b);if(c){var d=b;b=Jg(d)?d.getUntrustedUpdateValue():void 0;for(var e=["gtm.whitelist","gtm.blacklist","tagTypeBlacklist"],f=0;f<e.length;f++){var h=e[f],k=Kd(h,1);if(ua(k)||Ra(k))k=B(k);Id[h]=k}}try{if(qa(b))try{b.call(Ld)}catch(v){}else if(ua(b)){var l=b;if(g(l[0])){var m=
l[0].split("."),n=m.pop(),q=l.slice(1),u=Kd(m.join("."),2);if(void 0!==u&&null!==u)try{u[n].apply(u,q)}catch(v){}}}else{var p=b;if(p&&("[object Arguments]"==Object.prototype.toString.call(p)||Object.prototype.hasOwnProperty.call(p,"callee"))){a:{if(b.length&&g(b[0])){var t=ng[b[0]];if(t&&(!c||!og[b[0]])){b=t(b);break a}}b=void 0}if(!b){Mg=!1;continue}}a=Pg(b)||a}}finally{c&&Jd(!0)}}Mg=!1}
return!a}function Sg(){var a=Rg();try{pg(D["dataLayer"],Uc.s)}catch(b){}return a}
var Ug=function(){var a=hc("dataLayer",[]),b=hc("google_tag_manager",{});b=b["dataLayer"]=b["dataLayer"]||{};ye(function(){b.gtmDom||(b.gtmDom=!0,a.push({event:"gtm.dom"}))});vg(function(){b.gtmLoad||(b.gtmLoad=!0,a.push({event:"gtm.load"}))});b.subscribers=(b.subscribers||0)+1;var c=a.push;a.push=function(){var d;if(0<Vc.SANDBOXED_JS_SEMAPHORE){d=[];for(var e=0;e<arguments.length;e++)d[e]=new Kg(arguments[e])}else d=[].slice.call(arguments,0);var f=c.apply(a,d);Lg.push.apply(Lg,d);if(300<
this.length)for(I("GTM",4);300<this.length;)this.shift();var h="boolean"!==typeof f||f;return Rg()&&h};Lg.push.apply(Lg,a.slice(0));Tg()&&G(Sg)},Tg=function(){var a=!0;return a};var Vg={};Vg.ub=new String("undefined");
var Wg=function(a){this.h=function(b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]===Vg.ub?b:a[d]);return c.join("")}};Wg.prototype.toString=function(){return this.h("undefined")};Wg.prototype.valueOf=Wg.prototype.toString;Vg.jf=Wg;Vg.xc={};Vg.Pf=function(a){return new Wg(a)};var Xg={};Vg.Tg=function(a,b){var c=gd();Xg[c]=[a,b];return c};Vg.be=function(a){var b=a?0:1;return function(c){var d=Xg[c];if(d&&"function"===typeof d[b])d[b]();Xg[c]=void 0}};Vg.mg=function(a){for(var b=!1,c=!1,d=2;d<a.length;d++)b=
b||8===a[d],c=c||16===a[d];return b&&c};Vg.Jg=function(a){if(a===Vg.ub)return a;var b=gd();Vg.xc[b]=a;return'google_tag_manager["'+Uc.s+'"].macro('+b+")"};Vg.xg=function(a,b,c){a instanceof Vg.jf&&(a=a.h(Vg.Tg(b,c)),b=pa);return{Jc:a,B:b}};var Yg=function(a,b,c){function d(f,h){var k=f[h];return k}var e={event:b,"gtm.element":a,"gtm.elementClasses":d(a,"className"),"gtm.elementId":a["for"]||qc(a,"id")||"","gtm.elementTarget":a.formTarget||d(a,"target")||""};c&&(e["gtm.triggers"]=c.join(","));e["gtm.elementUrl"]=(a.attributes&&a.attributes.formaction?a.formAction:"")||a.action||d(a,"href")||a.src||a.code||a.codebase||
"";return e},Zg=function(a){Vc.hasOwnProperty("autoEventsSettings")||(Vc.autoEventsSettings={});var b=Vc.autoEventsSettings;b.hasOwnProperty(a)||(b[a]={});return b[a]},$g=function(a,b,c){Zg(a)[b]=c},ah=function(a,b,c,d){var e=Zg(a),f=Ga(e,b,d);e[b]=c(f)},bh=function(a,b,c){var d=Zg(a);return Ga(d,b,c)};function ch(){for(var a=dh,b={},c=0;c<a.length;++c)b[a[c]]=c;return b}function eh(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ";a+=a.toLowerCase()+"0123456789-_";return a+"."}var dh,fh;function gh(a){dh=dh||eh();fh=fh||ch();for(var b=[],c=0;c<a.length;c+=3){var d=c+1<a.length,e=c+2<a.length,f=a.charCodeAt(c),h=d?a.charCodeAt(c+1):0,k=e?a.charCodeAt(c+2):0,l=f>>2,m=(f&3)<<4|h>>4,n=(h&15)<<2|k>>6,q=k&63;e||(q=64,d||(n=64));b.push(dh[l],dh[m],dh[n],dh[q])}return b.join("")}
function hh(a){function b(l){for(;d<a.length;){var m=a.charAt(d++),n=fh[m];if(null!=n)return n;if(!/^[\s\xa0]*$/.test(m))throw Error("Unknown base64 encoding at char: "+m);}return l}dh=dh||eh();fh=fh||ch();for(var c="",d=0;;){var e=b(-1),f=b(0),h=b(64),k=b(64);if(64===k&&-1===e)return c;c+=String.fromCharCode(e<<2|f>>4);64!=h&&(c+=String.fromCharCode(f<<4&240|h>>2),64!=k&&(c+=String.fromCharCode(h<<6&192|k)))}};var ih;var mh=function(){var a=jh,b=kh,c=lh(),d=function(h){a(h.target||h.srcElement||{})},e=function(h){b(h.target||h.srcElement||{})};if(!c.init){nc(F,"mousedown",d);nc(F,"keyup",d);nc(F,"submit",e);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){b(this);f.call(this)};c.init=!0}},nh=function(a,b,c){for(var d=lh().decorators,e={},f=0;f<d.length;++f){var h=d[f],k;if(k=!c||h.forms)a:{var l=h.domains,m=a;if(l&&(h.sameHost||m!==F.location.hostname))for(var n=0;n<l.length;n++)if(l[n]instanceof
RegExp){if(l[n].test(m)){k=!0;break a}}else if(0<=m.indexOf(l[n])){k=!0;break a}k=!1}if(k){var q=h.placement;void 0==q&&(q=h.fragment?2:1);q===b&&Ia(e,h.callback())}}return e},lh=function(){var a=hc("google_tag_data",{}),b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var oh=/(.*?)\*(.*?)\*(.*)/,ph=/^https?:\/\/([^\/]*?)\.?cdn\.ampproject\.org\/?(.*)/,qh=/^(?:www\.|m\.|amp\.)+/,rh=/([^?#]+)(\?[^#]*)?(#.*)?/;function sh(a){return new RegExp("(.*?)(^|&)"+a+"=([^&]*)&?(.*)")}
var uh=function(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];void 0!==d&&d===d&&null!==d&&"[object Object]"!==d.toString()&&(b.push(c),b.push(gh(String(d))))}var e=b.join("*");return["1",th(e),e].join("*")},th=function(a,b){var c=[window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1E3)-(void 0===b?0:b),a].join("*"),d;if(!(d=ih)){for(var e=Array(256),f=0;256>f;f++){for(var h=f,k=0;8>k;k++)h=
h&1?h>>>1^3988292384:h>>>1;e[f]=h}d=e}ih=d;for(var l=4294967295,m=0;m<c.length;m++)l=l>>>8^ih[(l^c.charCodeAt(m))&255];return((l^-1)>>>0).toString(36)},wh=function(){return function(a){var b=Ze(D.location.href),c=b.search.replace("?",""),d=Ve(c,"_gl",!0)||"";a.query=vh(d)||{};var e=Ye(b,"fragment").match(sh("_gl"));a.fragment=vh(e&&e[3]||"")||{}}},xh=function(){var a=wh(),b=lh();b.data||(b.data={query:{},fragment:{}},a(b.data));var c={},d=b.data;d&&(Ia(c,d.query),Ia(c,d.fragment));return c},vh=function(a){var b;
b=void 0===b?3:b;try{if(a){var c;a:{for(var d=a,e=0;3>e;++e){var f=oh.exec(d);if(f){c=f;break a}d=decodeURIComponent(d)}c=void 0}var h=c;if(h&&"1"===h[1]){var k=h[3],l;a:{for(var m=h[2],n=0;n<b;++n)if(m===th(k,n)){l=!0;break a}l=!1}if(l){for(var q={},u=k?k.split("*"):[],p=0;p<u.length;p+=2)q[u[p]]=hh(u[p+1]);return q}}}}catch(t){}};
function yh(a,b,c,d){function e(n){var q=n,u=sh(a).exec(q),p=q;if(u){var t=u[2],v=u[4];p=u[1];v&&(p=p+t+v)}n=p;var w=n.charAt(n.length-1);n&&"&"!==w&&(n+="&");return n+m}d=void 0===d?!1:d;var f=rh.exec(c);if(!f)return"";var h=f[1],k=f[2]||"",l=f[3]||"",m=a+"="+b;d?l="#"+e(l.substring(1)):k="?"+e(k.substring(1));return""+h+k+l}
function zh(a,b){var c="FORM"===(a.tagName||"").toUpperCase(),d=nh(b,1,c),e=nh(b,2,c),f=nh(b,3,c);if(Ja(d)){var h=uh(d);c?Ah("_gl",h,a):Bh("_gl",h,a,!1)}if(!c&&Ja(e)){var k=uh(e);Bh("_gl",k,a,!0)}for(var l in f)if(f.hasOwnProperty(l))a:{var m=l,n=f[l],q=a;if(q.tagName){if("a"===q.tagName.toLowerCase()){Bh(m,n,q,void 0);break a}if("form"===q.tagName.toLowerCase()){Ah(m,n,q);break a}}"string"==typeof q&&yh(m,n,q,void 0)}}
function Bh(a,b,c,d){if(c.href){var e=yh(a,b,c.href,void 0===d?!1:d);Te.test(e)&&(c.href=e)}}
function Ah(a,b,c){if(c&&c.action){var d=(c.method||"").toLowerCase();if("get"===d){for(var e=c.childNodes||[],f=!1,h=0;h<e.length;h++){var k=e[h];if(k.name===a){k.setAttribute("value",b);f=!0;break}}if(!f){var l=F.createElement("input");l.setAttribute("type","hidden");l.setAttribute("name",a);l.setAttribute("value",b);c.appendChild(l)}}else if("post"===d){var m=yh(a,b,c.action);Te.test(m)&&(c.action=m)}}}
var jh=function(a){try{var b;a:{for(var c=a,d=100;c&&0<d;){if(c.href&&c.nodeName.match(/^a(?:rea)?$/i)){b=c;break a}c=c.parentNode;d--}b=null}var e=b;if(e){var f=e.protocol;"http:"!==f&&"https:"!==f||zh(e,e.hostname)}}catch(h){}},kh=function(a){try{if(a.action){var b=Ye(Ze(a.action),"host");zh(a,b)}}catch(c){}},Ch=function(a,b,c,d){mh();var e="fragment"===c?2:1,f={callback:a,domains:b,fragment:2===e,placement:e,forms:!!d,sameHost:!1};lh().decorators.push(f)},Dh=function(){var a=F.location.hostname,
b=ph.exec(F.referrer);if(!b)return!1;var c=b[2],d=b[1],e="";if(c){var f=c.split("/"),h=f[1];e="s"===h?decodeURIComponent(f[2]):decodeURIComponent(h)}else if(d){if(0===d.indexOf("xn--"))return!1;e=d.replace(/-/g,".").replace(/\.\./g,"-")}var k=a.replace(qh,""),l=e.replace(qh,""),m;if(!(m=k===l)){var n="."+l;m=k.substring(k.length-n.length,k.length)===n}return m},Eh=function(a,b){return!1===a?!1:a||b||Dh()};var Fh={};var Gh=/^\w+$/,Hh=/^[\w-]+$/,Ih=/^~?[\w-]+$/,Jh={aw:"_aw",dc:"_dc",gf:"_gf",ha:"_ha",gp:"_gp"};function Kh(a){return a&&"string"==typeof a&&a.match(Gh)?a:"_gcl"}
var Mh=function(){var a=Ze(D.location.href),b=Ye(a,"query",!1,void 0,"gclid"),c=Ye(a,"query",!1,void 0,"gclsrc"),d=Ye(a,"query",!1,void 0,"dclid");if(!b||!c){var e=a.hash.replace("#","");b=b||Ve(e,"gclid",void 0);c=c||Ve(e,"gclsrc",void 0)}return Lh(b,c,d)},Lh=function(a,b,c){var d={},e=function(f,h){d[h]||(d[h]=[]);d[h].push(f)};d.gclid=a;d.gclsrc=b;d.dclid=c;if(void 0!==a&&a.match(Hh))switch(b){case void 0:e(a,"aw");break;case "aw.ds":e(a,"aw");e(a,"dc");break;case "ds":e(a,"dc");break;case "3p.ds":(void 0==
Fh.gtm_3pds?0:Fh.gtm_3pds)&&e(a,"dc");break;case "gf":e(a,"gf");break;case "ha":e(a,"ha");break;case "gp":e(a,"gp")}c&&e(c,"dc");return d},Oh=function(a){var b=Mh();Nh(b,a)};
function Nh(a,b,c){function d(q,u){var p=Ph(q,e);p&&Zf(p,u,h,f,l,!0)}b=b||{};var e=Kh(b.prefix),f=b.domain||"auto",h=b.path||"/",k=void 0==b.Ka?7776E3:b.Ka;c=c||Fa();var l=0==k?void 0:new Date(c+1E3*k),m=Math.round(c/1E3),n=function(q){return["GCL",m,q].join(".")};a.aw&&(!0===b.Lh?d("aw",n("~"+a.aw[0])):d("aw",n(a.aw[0])));a.dc&&d("dc",n(a.dc[0]));a.gf&&d("gf",n(a.gf[0]));a.ha&&d("ha",n(a.ha[0]));a.gp&&d("gp",n(a.gp[0]))}
var Rh=function(a,b,c,d,e){for(var f=xh(),h=Kh(b),k=0;k<a.length;++k){var l=a[k];if(void 0!==Jh[l]){var m=Ph(l,h),n=f[m];if(n){var q=Math.min(Qh(n),Fa()),u;b:{for(var p=q,t=Rf(m,F.cookie),v=0;v<t.length;++v)if(Qh(t[v])>p){u=!0;break b}u=!1}u||Zf(m,n,c,d,0==e?void 0:new Date(q+1E3*(null==e?7776E3:e)),!0)}}}var w={prefix:b,path:c,domain:d};Nh(Lh(f.gclid,f.gclsrc),w)},Ph=function(a,b){var c=Jh[a];if(void 0!==c)return b+c},Qh=function(a){var b=a.split(".");return 3!==b.length||"GCL"!==b[0]?0:1E3*(Number(b[1])||
0)};function Sh(a){var b=a.split(".");if(3==b.length&&"GCL"==b[0]&&b[1])return b[2]}
var Th=function(a,b,c,d,e){if(ua(b)){var f=Kh(e);Ch(function(){for(var h={},k=0;k<a.length;++k){var l=Ph(a[k],f);if(l){var m=Rf(l,F.cookie);m.length&&(h[l]=m.sort()[m.length-1])}}return h},b,c,d)}},Uh=function(a){return a.filter(function(b){return Ih.test(b)})},Vh=function(a,b){for(var c=Kh(b&&b.prefix),d={},e=0;e<a.length;e++)Jh[a[e]]&&(d[a[e]]=Jh[a[e]]);za(d,function(f,h){var k=Rf(c+h,F.cookie);if(k.length){var l=k[0],m=Qh(l),n={};n[f]=[Sh(l)];Nh(n,b,m)}})};var Wh=function(){for(var a=fc.userAgent+(F.cookie||"")+(F.referrer||""),b=a.length,c=D.history.length;0<c;)a+=c--^b++;var d=1,e,f,h;if(a)for(d=0,f=a.length-1;0<=f;f--)h=a.charCodeAt(f),d=(d<<6&268435455)+h+(h<<14),e=d&266338304,d=0!=e?d^e>>21:d;return[Math.round(2147483647*Math.random())^d&2147483647,Math.round(Fa()/1E3)].join(".")},Zh=function(a,b,c,d){var e=Xh(b);return Uf(a,e,Yh(c),d)},$h=function(a,b,c,d){var e=""+Xh(c),f=Yh(d);1<f&&(e+="-"+f);return[b,e,a].join(".")},Xh=function(a){if(!a)return 1;
a=0===a.indexOf(".")?a.substr(1):a;return a.split(".").length},Yh=function(a){if(!a||"/"===a)return 1;"/"!==a[0]&&(a="/"+a);"/"!==a[a.length-1]&&(a+="/");return a.split("/").length-1};var ai=["1"],bi={},fi=function(a,b,c,d){var e=ci(a);bi[e]||di(e,b,c)||(ei(e,Wh(),b,c,d),di(e,b,c))};function ei(a,b,c,d,e){var f=$h(b,"1",d,c);Zf(a,f,c,d,0==e?void 0:new Date(Fa()+1E3*(void 0==e?7776E3:e)))}function di(a,b,c){var d=Zh(a,b,c,ai);d&&(bi[a]=d);return d}function ci(a){return(a||"_gcl")+"_au"};var gi=function(){for(var a=[],b=F.cookie.split(";"),c=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,d=0;d<b.length;d++){var e=b[d].match(c);e&&a.push({dd:e[1],value:e[2]})}var f={};if(!a||!a.length)return f;for(var h=0;h<a.length;h++){var k=a[h].value.split(".");"1"==k[0]&&3==k.length&&k[1]&&(f[a[h].dd]||(f[a[h].dd]=[]),f[a[h].dd].push({timestamp:k[1],$f:k[2]}))}return f};var hi=/^\d+\.fls\.doubleclick\.net$/;function ii(a){var b=Ze(D.location.href),c=Ye(b,"host",!1);if(c&&c.match(hi)){var d=Ye(b,"path").split(a+"=");if(1<d.length)return d[1].split(";")[0].split("?")[0]}}
function ji(a,b){if("aw"==a||"dc"==a){var c=ii("gcl"+a);if(c)return c.split(".")}var d=Kh(b);if("_gcl"==d){var e;e=Mh()[a]||[];if(0<e.length)return e}var f=Ph(a,d),h;if(f){var k=[];if(F.cookie){var l=Rf(f,F.cookie);if(l&&0!=l.length){for(var m=0;m<l.length;m++){var n=Sh(l[m]);n&&-1===r(k,n)&&k.push(n)}h=Uh(k)}else h=k}else h=k}else h=[];return h}
var ki=function(){var a=ii("gac");if(a)return decodeURIComponent(a);var b=gi(),c=[];za(b,function(d,e){for(var f=[],h=0;h<e.length;h++)f.push(e[h].$f);f=Uh(f);f.length&&c.push(d+":"+f.join(","))});return c.join(";")},li=function(a,b,c,d,e){fi(b,c,d,e);var f=bi[ci(b)],h=Mh().dc||[],k=!1;if(f&&0<h.length){var l=Vc.joined_au=Vc.joined_au||{},m=b||"_gcl";if(!l[m])for(var n=0;n<h.length;n++){var q="https://adservice.google.com/ddm/regclk",u=q=q+"?gclid="+h[n]+"&auiddc="+f;fc.sendBeacon&&fc.sendBeacon(u)||mc(u);k=l[m]=
!0}}null==a&&(a=k);if(a&&f){var p=ci(b),t=bi[p];t&&ei(p,t,c,d,e)}};var mi;if(3===Uc.yb.length)mi="g";else{var ni="G";ni="g";mi=ni}
var oi={"":"n",UA:"u",AW:"a",DC:"d",G:"e",GF:"f",HA:"h",GTM:mi,OPT:"o"},pi=function(a){var b=Uc.s.split("-"),c=b[0].toUpperCase(),d=oi[c]||"i",e=a&&"GTM"===c?b[1]:"OPT"===c?b[1]:"",f;if(3===Uc.yb.length){var h=void 0;h=h||(Ud()?"s":"o");f="2"+(h||"w")}else f=
"";return f+d+Uc.yb+e};
var qi=function(a){return!(void 0===a||null===a||0===(a+"").length)},ri=function(a,b){var c;if(2===b.V)return a("ord",wa(1E11,1E13)),!0;if(3===b.V)return a("ord","1"),a("num",wa(1E11,1E13)),!0;if(4===b.V)return qi(b.sessionId)&&a("ord",b.sessionId),!0;if(5===b.V)c="1";else if(6===b.V)c=b.Yc;else return!1;qi(c)&&a("qty",c);qi(b.Gb)&&a("cost",b.Gb);qi(b.transactionId)&&a("ord",b.transactionId);return!0},si=encodeURIComponent,ti=function(a,b){function c(n,q,u){f.hasOwnProperty(n)||(q+="",e+=";"+n+"="+
(u?q:si(q)))}var d=a.Ec,e=a.protocol;e+=a.Zb?"//"+d+".fls.doubleclick.net/activityi":"//ad.doubleclick.net/activity";e+=";src="+si(d)+(";type="+si(a.Hc))+(";cat="+si(a.fb));var f=a.Rf||{};za(f,function(n,q){e+=";"+si(n)+"="+si(q+"")});if(ri(c,a)){qi(a.hc)&&c("u",a.hc);qi(a.fc)&&c("tran",a.fc);c("gtm",pi());!1===a.vf&&c("npa","1");if(a.Dc){var h=ji("dc",a.Fa);h&&h.length&&c("gcldc",h.join("."));var k=ji("aw",a.Fa);k&&k.length&&c("gclaw",k.join("."));var l=ki();l&&c("gac",l);fi(a.Fa,void 0,a.Nf,a.Of);
var m=bi[ci(a.Fa)];m&&c("auiddc",m)}qi(a.Uc)&&c("prd",a.Uc,!0);za(a.fd,function(n,q){c(n,q)});e+=b||"";qi(a.Ub)&&c("~oref",a.Ub);a.Zb?lc(e+"?",a.B):mc(e+"?",a.B,a.w)}else G(a.w)};var ui=["input","select","textarea"],vi=["button","hidden","image","reset","submit"],wi=function(a){var b=a.tagName.toLowerCase();return!va(ui,function(c){return c===b})||"input"===b&&va(vi,function(c){return c===a.type.toLowerCase()})?!1:!0},xi=function(a){return a.form?a.form.tagName?a.form:F.getElementById(a.form):tc(a,["form"],100)},yi=function(a,b,c){if(!a.elements)return 0;for(var d=b.getAttribute(c),e=0,f=1;e<a.elements.length;e++){var h=a.elements[e];if(wi(h)){if(h.getAttribute(c)===d)return f;
f++}}return 0};
var Ai=function(a){var b;if(a.hasOwnProperty("conversion_data"))b="conversion_data";else if(a.hasOwnProperty("price"))b="price";else return;var c=b,d="/pagead/conversion/"+zi(a.conversion_id)+"/?",e=zi(JSON.stringify(a[c])),f="https://www.googletraveladservices.com/travel/flights/clk"+d+c+"="+e;if(a.conversionLinkerEnabled){var h=ji("gf",a.cookiePrefix);if(h&&h.length)for(var k=0;k<h.length;k++)f+="&gclgf="+zi(h[k])}mc(f,a.onSuccess,a.onFailure)},zi=function(a){return null===a||void 0===a||0===String(a).length?
"":encodeURIComponent(String(a))};var Bi=!!D.MutationObserver,Ci=void 0,Di=function(a){if(!Ci){var b=function(){var c=F.body;if(c)if(Bi)(new MutationObserver(function(){for(var e=0;e<Ci.length;e++)G(Ci[e])})).observe(c,{childList:!0,subtree:!0});else{var d=!1;nc(c,"DOMNodeInserted",function(){d||(d=!0,G(function(){d=!1;for(var e=0;e<Ci.length;e++)G(Ci[e])}))})}};Ci=[];F.body?b():G(b)}Ci.push(a)};var Zi=D.clearTimeout,$i=D.setTimeout,R=function(a,b,c){if(Ud()){b&&G(b)}else return jc(a,b,c)},aj=function(){return D.location.href},bj=function(a){return Ye(Ze(a),"fragment")},cj=function(a){return Xe(Ze(a))},U=function(a,b){return Kd(a,b||2)},dj=function(a,b,c){var d;b?(a.eventCallback=b,c&&(a.eventTimeout=c),d=Ng(a)):d=Ng(a);return d},ej=function(a,b){D[a]=b},X=function(a,b,c){b&&(void 0===D[a]||c&&!D[a])&&(D[a]=
b);return D[a]},fj=function(a,b,c){return Rf(a,b,void 0===c?!0:!!c)},gj=function(a,b){if(Ud()){b&&G(b)}else lc(a,b)},hj=function(a){return!!bh(a,"init",!1)},ij=function(a){$g(a,"init",!0)},jj=function(a,b){var c=(void 0===b?0:b)?"www.googletagmanager.com/gtag/js":$c;c+="?id="+encodeURIComponent(a)+"&l=dataLayer";R(Q("https://","http://",c))},kj=function(a,b){var c=a[b];return c};
var lj=Vg.xg;var mj;var Jj=new xa;function Kj(a,b){function c(h){var k=Ze(h),l=Ye(k,"protocol"),m=Ye(k,"host",!0),n=Ye(k,"port"),q=Ye(k,"path").toLowerCase().replace(/\/$/,"");if(void 0===l||"http"==l&&"80"==n||"https"==l&&"443"==n)l="web",n="default";return[l,m,n,q]}for(var d=c(String(a)),e=c(String(b)),f=0;f<d.length;f++)if(d[f]!==e[f])return!1;return!0}
function Lj(a){return Mj(a)?1:0}
function Mj(a){var b=a.arg0,c=a.arg1;if(a.any_of&&ua(c)){for(var d=0;d<c.length;d++)if(Lj({"function":a["function"],arg0:b,arg1:c[d]}))return!0;return!1}switch(a["function"]){case "_cn":return 0<=String(b).indexOf(String(c));case "_css":var e;a:{if(b){var f=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"];try{for(var h=0;h<f.length;h++)if(b[f[h]]){e=b[f[h]](c);break a}}catch(v){}}e=!1}return e;case "_ew":var k,l;k=String(b);l=String(c);var m=k.length-
l.length;return 0<=m&&k.indexOf(l,m)==m;case "_eq":return String(b)==String(c);case "_ge":return Number(b)>=Number(c);case "_gt":return Number(b)>Number(c);case "_lc":var n;n=String(b).split(",");return 0<=r(n,String(c));case "_le":return Number(b)<=Number(c);case "_lt":return Number(b)<Number(c);case "_re":var q;var u=a.ignore_case?"i":void 0;try{var p=String(c)+u,t=Jj.get(p);t||(t=new RegExp(c,u),Jj.set(p,t));q=t.test(b)}catch(v){q=!1}return q;case "_sw":return 0==String(b).indexOf(String(c));case "_um":return Kj(b,
c)}return!1};var Nj=function(a,b){var c=function(){};c.prototype=a.prototype;var d=new c;a.apply(d,Array.prototype.slice.call(arguments,1));return d};var Oj={},Pj=encodeURI,Y=encodeURIComponent,Qj=mc;var Rj=function(a,b){if(!a)return!1;var c=Ye(Ze(a),"host");if(!c)return!1;for(var d=0;b&&d<b.length;d++){var e=b[d]&&b[d].toLowerCase();if(e){var f=c.length-e.length;0<f&&"."!=e.charAt(0)&&(f--,e="."+e);if(0<=f&&c.indexOf(e,f)==f)return!0}}return!1};
var Sj=function(a,b,c){for(var d={},e=!1,f=0;a&&f<a.length;f++)a[f]&&a[f].hasOwnProperty(b)&&a[f].hasOwnProperty(c)&&(d[a[f][b]]=a[f][c],e=!0);return e?d:null};Oj.ng=function(){var a=!1;return a};var el=function(){var a=D.gaGlobal=D.gaGlobal||{};a.hid=a.hid||wa();return a.hid};var pl=window,ql=document,rl=function(a){var b=pl._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===pl["ga-disable-"+a])return!0;try{var c=pl.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(f){}for(var d=Rf("AMP_TOKEN",ql.cookie,!0),e=0;e<d.length;e++)if("$OPT_OUT"==d[e])return!0;return ql.getElementById("__gaOptOutExtension")?!0:!1};var ul=function(a){za(a,function(c){"_"===c.charAt(0)&&delete a[c]});var b=a[H.ca]||{};za(b,function(c){"_"===c.charAt(0)&&delete b[c]})};var yl=function(a,b,c){Kf(b,c,a)},zl=function(a,b,c){Kf(b,c,a,!0)},Bl=function(a,b){};
function Al(a,b){}
var Cl=function(a){var b=tf(a,"/pagead/conversion_async.js");return b?b:-1===navigator.userAgent.toLowerCase().indexOf("firefox")?Q("https://","http://","www.googleadservices.com/pagead/conversion_async.js"):"https://www.google.com/pagead/conversion_async.js"},Dl=!1,El=[],Fl=["aw","dc"],Gl=function(a){var b=D.google_trackConversion,c=a.gtm_onFailure;"function"==typeof b?b(a)||c():c()},Hl=function(){for(;0<El.length;)Gl(El.shift())},Il=function(a){if(!Dl){Dl=!0;He();var b=function(){Hl();El={push:Gl}};
Ud()?b():jc(a,b,function(){Hl();Dl=!1})}},Jl=function(a){if(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];d&&b.push({item_id:d.id,quantity:d.quantity,value:d.price,start_date:d.start_date,end_date:d.end_date})}return b}},Kl=function(a,b,c,d){var e=Rc(a),f=b==H.D,h=e.o[0],k=e.o[1],l=void 0!==k,m=function(W){return d.getWithConfig(W)},n=!1!==m(H.Ca),q=m(H.Aa)||m(H.S),u=m(H.P),p=m(H.Y),t=Cl(m(H.ia));if(f){var v=m(H.na)||{};if(n){Eh(v[H.Ua],!!v[H.C])&&Rh(Fl,q,void 0,u,p);var w={prefix:q,domain:u,Ka:p};
Oh(w);Vh(["aw","dc"],w)}v[H.C]&&Th(Fl,v[H.C],v[H.Xa],!!v[H.Va],q);var y=!1;y?ge(e,d):ge(e)}var x=!1===m(H.Ad)||!1===m(H.$a);if(!f||!l&&!x)if(!0===m(H.Bd)&&(l=!1),!1!==m(H.X)||l){var z={google_conversion_id:h,google_remarketing_only:!l,onload_callback:d.B,gtm_onFailure:d.w,google_conversion_format:"3",google_conversion_color:"ffffff",google_conversion_domain:"",google_conversion_label:k,
google_conversion_language:m(H.Ea),google_conversion_value:m(H.W),google_conversion_currency:m(H.aa),google_conversion_order_id:m(H.ab),google_user_id:m(H.cb),google_conversion_page_url:m(H.Ya),google_conversion_referrer_url:m(H.Za),google_gtm:pi(),google_transport_url:tf(m(H.ia),"/")};z.google_restricted_data_processing=m(H.oc);Ud()&&(z.opt_image_generator=function(){return new Image},z.google_enable_display_cookie_match=
!1);!1===m(H.X)&&(z.google_allow_ad_personalization_signals=!1);z.google_read_gcl_cookie_opt_out=!n;n&&q&&(z.google_gcl_cookie_prefix=q);var C=function(){var W=m(H.Hb),S={event:b};if(ua(W)){I("GTM",26);for(var na=0;na<W.length;++na){var ha=W[na],N=m(ha);void 0!==N&&(S[ha]=N)}return S}var L=d.eventModel;if(!L)return null;B(L,S);for(var P=0;P<H.xd.length;++P)delete S[H.xd[P]];return S}();C&&(z.google_custom_params=C);!l&&m(H.M)&&(z.google_gtag_event_data={items:m(H.M),value:m(H.W)});if(l&&b==H.ma){z.google_conversion_merchant_id=
m(H.Hd);z.google_basket_feed_country=m(H.Ed);z.google_basket_feed_language=m(H.Gd);z.google_basket_discount=m(H.Cd);z.google_basket_transaction_type=b;z.google_disable_merchant_reported_conversions=!0===m(H.Md);Ud()&&(z.google_disable_merchant_reported_conversions=!0);var A=Jl(m(H.M));A&&(z.google_conversion_items=A)}var E=function(W,S){void 0!=S&&""!==S&&(z.google_additional_conversion_params=z.google_additional_conversion_params||{},z.google_additional_conversion_params[W]=S)};l&&("boolean"===typeof m(H.ic)&&
E("vdnc",m(H.ic)),E("vdltv",m(H.Kd)));var J=!0;J&&El.push(z)}Il(t)};
var Ll=function(a,b,c,d,e,f){var h={config:a,gtm:pi()};c&&(fi(d,void 0,e,f),h.auiddc=bi[ci(d)]);b&&(h.loadInsecure=b);void 0===D.__dc_ns_processor&&(D.__dc_ns_processor=[]);D.__dc_ns_processor.push(h);jc((b?"http":"https")+"://www.googletagmanager.com/dclk/ns/v1.js")},Ml=function(a,b,c){var d=/^u([1-9]\d?|100)$/,e=a.getWithConfig(H.oh)||{},f=Pd(b,c);var h={},k={};if(Ra(e))for(var l in e)if(e.hasOwnProperty(l)&&
d.test(l)){var m=e[l];g(m)&&(h[l]=m)}for(var n=0;n<f.length;n++){var q=f[n];d.test(q)&&(h[q]=q)}for(var u in h)h.hasOwnProperty(u)&&(k[u]=a.getWithConfig(h[u]));return k},Nl=function(a){function b(l,m,n){void 0!==n&&0!==(n+"").length&&d.push(l+m+":"+c(n+""))}var c=encodeURIComponent,d=[],e=a(H.M)||[];if(ua(e))for(var f=0;f<e.length;f++){var h=e[f],k=f+1;b("i",k,h.id);b("p",k,h.price);b("q",k,h.quantity);b("c",k,a(H.kh));b("l",k,a(H.Ea))}return d.join("|")},Ol=function(a){var b=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(a);
if(b){var c={standard:2,unique:3,per_session:4,transactions:5,items_sold:6,"":1}[(b[5]||"").toLowerCase()];if(c)return{containerId:"DC-"+b[1],N:b[3]?a:"",pf:b[1],nf:b[3]||"",fb:b[4]||"",V:c}}},Ql=function(a,b,c,d){var e=Ol(a);if(e){var f=function(M){return d.getWithConfig(M)},h=!1!==f(H.Ca),k=f(H.Aa)||f(H.S),l=f(H.P),m=f(H.Y),n=f(H.qh),q=3===Vd();if(b===H.D){var u=f(H.na)||{},p=f(H.sb),t=void 0===p?!0:!!p;if(h){if(Eh(u[H.Ua],!!u[H.C])){Rh(Pl,k,void 0,l,
m);}var v={prefix:k,domain:l,Ka:m};Oh(v);Vh(Pl,v);li(t,k,void 0,l,m)}if(u[H.C]){Th(Pl,u[H.C],u[H.Xa],!!u[H.Va],k);}if(n&&n.exclusion_parameters&&n.engines)if(Ud()){}else Ll(n,q,h,k,l,m);G(d.B)}else{var w={},y=f(H.ph);if(Ra(y))for(var x in y)if(y.hasOwnProperty(x)){var z=y[x];void 0!==z&&null!==
z&&(w[x]=z)}var C="";if(5===e.V||6===e.V)C=Nl(f);var A=Ml(d,e.containerId,e.N),E=!0===f(H.Xg);if(Ud()&&E){E=!1}var J={fb:e.fb,Dc:h,Nf:l,Of:m,Fa:k,Gb:f(H.W),V:e.V,Rf:w,Ec:e.pf,Hc:e.nf,w:d.w,B:d.B,Ub:Xe(Ze(D.location.href)),Uc:C,protocol:q?"http:":"https:",Yc:f(H.Ve),Zb:E,sessionId:f(H.Pb),fc:void 0,transactionId:f(H.ab),hc:void 0,fd:A,vf:!1!==f(H.X)};ti(J)}}else G(d.w)},Pl=["aw","dc"];
var Rl=/.*\.google\.com(:\d+)?\/booking\/flights.*/,Tl=function(a,b,c,d){var e=function(w){return d.getWithConfig(w)},f=Rc(a).o[0],h=!1!==e(H.Ca),k=e(H.Aa)||e(H.S),l=e(H.P),m=e(H.Y);if(b===H.D){if(h){var n={prefix:k,domain:l,Ka:m};Oh(n);Vh(["aw","dc"],n)}G(d.B)}else{var q={conversion_id:f,onFailure:d.w,onSuccess:d.B,conversionLinkerEnabled:h,cookiePrefix:k},u=Rl.test(D.location.href);if(b!==H.ma)G(d.w);else{var t={partner_id:f,trip_type:e(H.df),total_price:e(H.W),currency:e(H.aa),is_direct_booking:u,flight_segment:Sl(e(H.M))},v=e(H.Vd);v&&"object"===typeof v&&(t.passengers_total=v.total,t.passengers_adult=v.adult,t.passengers_child=v.child,t.passengers_infant_in_seat=v.infant_in_seat,t.passengers_infant_in_lap=v.infant_in_lap);q.conversion_data=t;Ai(q)}}},Sl=function(a){if(a){for(var b=
[],c=0,d=0;d<a.length;++d){var e=a[d];!e||void 0!==e.category&&""!==e.category&&"FlightSegment"!==e.category||(b[c]={cabin:e.travel_class,fare_product:e.fare_product,booking_code:e.booking_code,flight_number:e.flight_number,origin:e.origin,destination:e.destination,departure_date:e.start_date},c++)}return b}};
var Yl=function(a,b,c,d){var e=Rc(a),f=function(w){return d.getWithConfig(w)},h=!1!==f(H.Ca),k=f(H.Aa)||f(H.S),l=f(H.P),m=f(H.Y);if(b===H.D){var n=f(H.na)||{};if(h){Eh(n[H.Ua],!!n[H.C])&&Rh(Ul,k,void 0,l,m);var q={prefix:k,domain:l,Ka:m};Oh(q);Vh(["aw","dc"],q)}if(n[H.C]){Th(Ul,n[H.C],n[H.Xa],!!n[H.Va],k);}G(d.B)}else{var u=e.o[0];if(/^\d+$/.test(u)){var p="https://www.googletraveladservices.com/travel/clk/pagead/conversion/"+encodeURIComponent(u)+
"/";if(b===H.ma){var t=Vl(f(H.ab),f(H.W),f(H.aa),f(H.M));t=encodeURIComponent(Wl(t));p+="?data="+t}else if(b===H.Ta){var v=Xl(u,f(H.W),f(H.Td),f(H.aa),f(H.M));v=encodeURIComponent(Wl(v));p+="?label=FH&guid=ON&script=0&ord="+wa(0,4294967295)+("&price="+v)}else{G(d.w);return}h&&(p+=ji("ha",k).map(function(w){return"&gclha="+encodeURIComponent(w)}).join(""));mc(p,d.B,d.w)}else G(d.w)}},Vl=function(a,b,c,d){var e={};Zl(a)&&(e.hct_booking_xref=a);g(c)&&(e.hct_currency_code=c);Zl(b)&&(e.hct_total_price=
b,e.hct_base_price=b);if(!ua(d)||0===d.length)return e;var f=d[0];if(!Ra(f))return e;Zl(f[$l.sa])&&(e.hct_partner_hotel_id=f[$l.sa]);g(f[$l.ja])&&(e.hct_checkin_date=f[$l.ja]);g(f[$l.Pa])&&(e.hct_checkout_date=f[$l.Pa]);return e},Xl=function(a,b,c,d,e){function f(n){void 0===n&&(n=0);if(Zl(n))return l+n}function h(n,q,u){u(q)&&(k[n]=q)}var k={};k.partner_id=a;var l="USD";g(d)&&(l=k.currency=d);Zl(b)&&(k.base_price_value_string=f(b),k.display_price_value_string=f(b));Zl(c)&&(k.tax_price_value_string=
f(c));g("LANDING_PAGE")&&(k.page_type="LANDING_PAGE");if(!ua(e)||0==e.length)return k;var m=e[0];if(!Ra(m))return k;Zl(m[$l.Fd])&&(k.total_price_value_string=f(m[$l.Fd]));h("partner_hotel_id",m[$l.sa],Zl);h("check_in_date",m[$l.ja],g);h("check_out_date",m[$l.Pa],g);h("adults",m[$l.$e],am);h($l.Jd,m[$l.Jd],g);h($l.Id,m[$l.Id],g);return k},Wl=function(a){var b=[];za(a,function(c,d){b.push(c+"="+d)});return b.join(";")},Zl=function(a){return g(a)||am(a)},am=function(a){return"number"===typeof a},$l=
{sa:"id",Fd:"price",ja:"start_date",Pa:"end_date",$e:"occupancy",Jd:"room_id",Id:"rate_rule_id"},Ul=["ha"];
var om=function(a,b,c,d){var e="https://www.google-analytics.com/analytics.js",f=Oe();if(qa(f)){var h="gtag_"+a.split("-").join("_"),k=function(x){var z=[].slice.call(arguments,0);z[0]=h+"."+z[0];f.apply(window,z)},l=function(){var x=function(E,J){for(var M=0;J&&M<J.length;M++)k(E,J[M])},z=fm(b,d);if(z){var C=z.action;if("impressions"===C)x("ec:addImpression",z.hg);else if("promo_click"===C||"promo_view"===C){var A=z.Vc;x("ec:addPromo",z.Vc);A&&0<A.length&&"promo_click"===C&&k("ec:setAction",C)}else x("ec:addProduct",
z.La),k("ec:setAction",C,z.eb)}},m=function(){if(Ud()){}else{var x=d.getWithConfig(H.Re);x&&(k("require",x,{dataLayer:"dataLayer"}),k("require","render"))}},n=gm(a,h,b,d);hm(h,n.Ga)&&(f(function(){Me()&&Me().remove(h)}),im[h]=!1);f("create",a,n.Ga);(function(){var x=d.getWithConfig("custom_map");f(function(){if(Ra(x)){var z=n.ka,C=Me().getByName(h),A;for(A in x)if(x.hasOwnProperty(A)&&/^(dimension|metric)\d+$/.test(A)&&void 0!=x[A]){var E=C.get(jm(x[A]));km(z,A,E)}}})})();(function(x){if(x){var z={};if(Ra(x))for(var C in lm)lm.hasOwnProperty(C)&&mm(lm[C],C,x[C],z);k("require","linkid",z)}})(n.linkAttribution);
var u=n[H.na];if(u&&u[H.C]){var p=u[H.Xa];Pe(h+".",u[H.C],void 0===p?!!u.use_anchor:"fragment"===p,!!u[H.Va])}var t=function(x,z,C){C&&(z=""+z);n.ka[x]=z};if(b===H.ad)m(),k("send","pageview",n.ka);else if(b===H.D){m();var v=!1;v?ge(a,d):ge(a);0!=n.sendPageView&&k("send","pageview",n.ka)}else"screen_view"===b?k("send","screenview",n.ka):"timing_complete"===b?(t("timingCategory",
n.eventCategory,!0),t("timingVar",n.name,!0),t("timingValue",Aa(n.value)),void 0!==n.eventLabel&&t("timingLabel",n.eventLabel,!0),k("send","timing",n.ka)):"exception"===b?k("send","exception",n.ka):"optimize.callback"!==b&&(0<=r([H.Zc,"select_content",H.Ta,H.Ab,H.Bb,H.Sa,"set_checkout_option",H.ma,H.Cb,"view_promotion","checkout_progress"],b)&&(k("require","ec","ec.js"),l()),t("eventCategory",n.eventCategory,!0),t("eventAction",n.eventAction||b,!0),void 0!==n.eventLabel&&t("eventLabel",n.eventLabel,
!0),void 0!==n.value&&t("eventValue",Aa(n.value)),k("send","event",n.ka));if(!nm){nm=!0;He();var w=d.w,y=function(){Me().loaded||w()};Ud()?G(y):jc(e,y,w)}}else G(d.w)},nm,im={},pm={client_id:1,client_storage:"storage",cookie_name:1,cookie_domain:1,cookie_expires:1,cookie_path:1,cookie_update:1,sample_rate:1,site_speed_sample_rate:1,use_amp_client_id:1,store_gac:1,conversion_linker:"storeGac"},qm={anonymize_ip:1,app_id:1,app_installer_id:1,app_name:1,app_version:1,campaign:{name:"campaignName",source:"campaignSource",
medium:"campaignMedium",term:"campaignTerm",content:"campaignContent",id:"campaignId"},currency:"currencyCode",description:"exDescription",fatal:"exFatal",language:1,non_interaction:1,page_hostname:"hostname",page_referrer:"referrer",page_path:"page",page_location:"location",page_title:"title",screen_name:1,transport_type:"transport",user_id:1},rm={content_id:1,event_category:1,event_action:1,event_label:1,link_attribution:1,linker:1,method:1,name:1,send_page_view:1,value:1},lm={cookie_name:1,cookie_expires:"duration",
levels:1},sm={anonymize_ip:1,fatal:1,non_interaction:1,use_amp_client_id:1,send_page_view:1,store_gac:1,conversion_linker:1},mm=function(a,b,c,d){if(void 0!==c)if(sm[b]&&(c=Ba(c)),"anonymize_ip"!==b||c||(c=void 0),1===a)d[jm(b)]=c;else if(g(a))d[a]=c;else for(var e in a)a.hasOwnProperty(e)&&void 0!==c[e]&&(d[a[e]]=c[e])},jm=function(a){return a&&g(a)?a.replace(/(_[a-z])/g,function(b){return b[1].toUpperCase()}):a},tm=function(a){var b="general";0<=r([H.yd,H.Ab,H.zd,H.Sa,"checkout_progress",H.ma,H.Cb,
H.Bb,"set_checkout_option"],a)?b="ecommerce":0<=r("generate_lead login search select_content share sign_up view_item view_item_list view_promotion view_search_results".split(" "),a)?b="engagement":"exception"===a&&(b="error");return b},km=function(a,b,c){a.hasOwnProperty(b)||(a[b]=c)},um=function(a){if(ua(a)){for(var b=[],c=0;c<a.length;c++){var d=a[c];if(void 0!=d){var e=d.id,f=d.variant;void 0!=e&&void 0!=f&&b.push(String(e)+"."+String(f))}}return 0<b.length?b.join("!"):void 0}},gm=function(a,b,
c,d){var e=function(A){return d.getWithConfig(A)},f={},h={},k={},l=um(e(H.Me));l&&km(h,"exp",l);var m=e("custom_map");if(Ra(m))for(var n in m)if(m.hasOwnProperty(n)&&/^(dimension|metric)\d+$/.test(n)&&void 0!=m[n]){var q=e(String(m[n]));void 0!==q&&km(h,n,q)}var u=Pd(a);for(var p=0;p<u.length;++p){var t=u[p],v=e(t);if(rm.hasOwnProperty(t))mm(rm[t],t,v,f);else if(qm.hasOwnProperty(t))mm(qm[t],
t,v,h);else if(pm.hasOwnProperty(t))mm(pm[t],t,v,k);else if(/^(dimension|metric|content_group)\d+$/.test(t))mm(1,t,v,h);else if("developer_id"===t){}else t===H.S&&0>r(u,H.Fb)&&(k.cookieName=v+"_ga")}km(k,"cookieDomain","auto");km(h,"forceSSL",!0);km(f,"eventCategory",tm(c));0<=r(["view_item","view_item_list","view_promotion","view_search_results"],c)&&km(h,"nonInteraction",
!0);"login"===c||"sign_up"===c||"share"===c?km(f,"eventLabel",e(H.Pe)):"search"===c||"view_search_results"===c?km(f,"eventLabel",e(H.Ze)):"select_content"===c&&km(f,"eventLabel",e(H.ih));var y=f[H.na]||{},x=y[H.Ua];x||0!=x&&y[H.C]?k.allowLinker=!0:!1===x&&km(k,"useAmpClientId",!1);if(!1===e(H.dh)||!1===e(H.X)||!1===e(H.Qa))h.allowAdFeatures=!1;!1===e(H.X)&&I("GTM",27);k.name=b;h["&gtm"]=pi(!0);h.hitCallback=d.B;var z=e(H.Oe)||Kd("gtag.remote_config."+a+".url",2),C=e(H.Ne)||Kd("gtag.remote_config."+
a+".dualId",2);z&&null!=gc&&(k._x_19=z);C&&(k._x_20=C);f.ka=h;f.Ga=k;return f},fm=function(a,b){function c(v){var w=B(v);w.list=v.list_name;w.listPosition=v.list_position;w.position=v.list_position||v.creative_slot;w.creative=v.creative_name;return w}function d(v){for(var w=[],y=0;v&&y<v.length;y++)v[y]&&w.push(c(v[y]));return w.length?w:void 0}function e(v){return{id:f(H.ab),affiliation:f(H.Ge),revenue:f(H.W),tax:f(H.Td),shipping:f(H.Le),coupon:f(H.Ie),list:f(H.gd)||v}}for(var f=function(v){return b.getWithConfig(v)},
h=f(H.M),k,l=0;h&&l<h.length&&!(k=h[l][H.gd]);l++);var m=f("custom_map");if(Ra(m))for(var n=0;h&&n<h.length;++n){var q=h[n],u;for(u in m)m.hasOwnProperty(u)&&/^(dimension|metric)\d+$/.test(u)&&void 0!=m[u]&&km(q,u,q[m[u]])}var p=null,t=f(H.Je);a===H.ma||a===H.Cb?p={action:a,eb:e(),La:d(h)}:a===H.Ab?p={action:"add",La:d(h)}:a===H.Bb?p={action:"remove",La:d(h)}:a===H.Ta?p={action:"detail",eb:e(k),La:d(h)}:a===H.Zc?p={action:"impressions",hg:d(h)}:"view_promotion"===a?p={action:"promo_view",Vc:d(t)}:
"select_content"===a&&t&&0<t.length?p={action:"promo_click",Vc:d(t)}:"select_content"===a?p={action:"click",eb:{list:f(H.gd)||k},La:d(h)}:a===H.Sa||"checkout_progress"===a?p={action:"checkout",La:d(h),eb:{step:a===H.Sa?1:f(H.Rd),option:f(H.Qd)}}:"set_checkout_option"===a&&(p={action:"checkout_option",eb:{step:f(H.Rd),option:f(H.Qd)}});p&&(p.yh=f(H.aa));return p},vm={},hm=function(a,b){var c=vm[a];vm[a]=B(b);if(!c)return!1;for(var d in b)if(b.hasOwnProperty(d)&&b[d]!==c[d])return!0;for(var e in c)if(c.hasOwnProperty(e)&&
c[e]!==b[e])return!0;return!1};var Z={a:{}};
Z.a.gtagha=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_conversionId,e=cd,f=U("eventModel");if(a){Jf(d.id,Yl);if(e===H.D){var h=U("gtag.targets."+d.id);Lf(h,d.id)}else Kf(e,f,d.id);G(c.vtp_gtmOnSuccess)}else{var k=Cf(Bf(wf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Md(l,d.containerId,d.id)};Yl(d.id,e,(new Date).getTime(),
k)}};Z.__gtagha=b;Z.__gtagha.b="gtagha";Z.__gtagha.g=!0;Z.__gtagha.priorityOverride=0;}();
Z.a.e=["google"],function(){(function(a){Z.__e=a;Z.__e.b="e";Z.__e.g=!0;Z.__e.priorityOverride=0})(function(a){return String(Sd(a.vtp_gtmEventId,"event"))})}();
Z.a.v=["google"],function(){(function(a){Z.__v=a;Z.__v.b="v";Z.__v.g=!0;Z.__v.priorityOverride=0})(function(a){var b=a.vtp_name;if(!b||!b.replace)return!1;var c=U(b.replace(/\\\./g,"."),a.vtp_dataLayerVersion||1);return void 0!==c?c:a.vtp_defaultValue})}();
Z.a.gtagaw=["google"],function(){(function(a){Z.__gtagaw=a;Z.__gtagaw.b="gtagaw";Z.__gtagaw.g=!0;Z.__gtagaw.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=cd;Jf(b.id,Kl);if(c===H.D){var d=U("gtag.targets."+b.id);Lf(d,b.id)}else{var e=U("eventModel");Kf(c,e,b.id)}G(a.vtp_gtmOnSuccess)})}();
Z.a.get=["google"],function(){(function(a){Z.__get=a;Z.__get.b="get";Z.__get.g=!0;Z.__get.priorityOverride=0})(function(a){if(a.vtp_isAutoTag){var b=String(a.vtp_trackingId),c=cd||"",d={};if(c===H.D){var e=U("gtag.targets."+b);B(e,d);d[H.qa]=!0;Lf(d,b)}else{var f=U("eventModel");B(f,d);d[H.qa]=!0;Kf(c,d,b)}}else{var h=a.vtp_settings;(a.vtp_deferrable?zl:yl)(String(h.streamId),String(a.vtp_eventName),h.eventParameters||{})}a.vtp_gtmOnSuccess()})}();
Z.a.gtagfl=[],function(){function a(d){var e=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(d);if(e)return{containerId:"DC-"+e[1],N:e[3]&&d}}var b=!1;b=!0;var c=function(d){var e=d.vtp_targetId,f=cd,h=U("eventModel");if(b){Jf(e,Ql);if(f===H.D){var k=U("gtag.targets."+e);Lf(k,e)}else Kf(f,h,e);G(d.vtp_gtmOnSuccess)}else{var l=a(e);if(l){var m=Cf(Bf(wf(h),d.vtp_gtmOnSuccess),
d.vtp_gtmOnFailure);m.getWithConfig=function(n){return Md(n,l.containerId,l.N)};Ql(e,f,(new Date).getTime(),m)}else G(d.vtp_gtmOnFailure)}};Z.__gtagfl=c;Z.__gtagfl.b="gtagfl";Z.__gtagfl.g=!0;Z.__gtagfl.priorityOverride=0;}();
Z.a.gtaggf=["google"],function(){(function(a){Z.__gtaggf=a;Z.__gtaggf.b="gtaggf";Z.__gtaggf.g=!0;Z.__gtaggf.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=cd,d=U("eventModel");Jf(b.id,Tl);if(c===H.D){var e=U("gtag.targets."+b.id);Lf(e,b.id)}else Kf(c,d,b.id);G(a.vtp_gtmOnSuccess)})}();
Z.a.gtagua=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_trackingId,e=cd,f=U("eventModel");if(a){Jf(d,om);if(e===H.D){var h=U("gtag.targets."+d);Lf(h,d)}else Kf(e,f,d);G(c.vtp_gtmOnSuccess)}else{var k=Cf(Bf(wf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Md(l,d,void 0)};om(d,e,(new Date).getTime(),k)}};Z.__gtagua=
b;Z.__gtagua.b="gtagua";Z.__gtagua.g=!0;Z.__gtagua.priorityOverride=0;}();
var wm={};wm.macro=function(a){if(Vg.xc.hasOwnProperty(a))return Vg.xc[a]},wm.onHtmlSuccess=Vg.be(!0),wm.onHtmlFailure=Vg.be(!1);wm.dataLayer=Ld;wm.callback=function(a){ed.hasOwnProperty(a)&&qa(ed[a])&&ed[a]();delete ed[a]};function xm(){Vc[Uc.s]=wm;Ia(fd,Z.a);zb=zb||Vg;Ab=pe}
function ym(){Fh.gtm_3pds=!0;Vc=D.google_tag_manager=D.google_tag_manager||{};if(Vc[Uc.s]){var a=Vc.zones;a&&a.unregisterChild(Uc.s)}else{for(var b=data.resource||{},c=b.macros||[],d=0;d<c.length;d++)rb.push(c[d]);for(var e=b.tags||[],f=0;f<e.length;f++)vb.push(e[f]);for(var h=b.predicates||[],k=0;k<
h.length;k++)tb.push(h[k]);for(var l=b.rules||[],m=0;m<l.length;m++){for(var n=l[m],q={},u=0;u<n.length;u++)q[n[u][0]]=Array.prototype.slice.call(n[u],1);sb.push(q)}xb=Z;yb=Lj;xm();Ug();te=!1;ue=0;if("interactive"==F.readyState&&!F.createEventObject||"complete"==F.readyState)we();else{nc(F,"DOMContentLoaded",we);nc(F,"readystatechange",we);if(F.createEventObject&&F.documentElement.doScroll){var p=!0;try{p=!D.frameElement}catch(y){}p&&xe()}nc(D,"load",we)}sg=!1;"complete"===F.readyState?ug():nc(D,
"load",ug);a:{if(!Ad)break a;D.setInterval(Bd,864E5);}
bd=(new Date).getTime();
wm.bootstrap=bd;}}ym();
})()

View File

@ -1,13 +1,13 @@
/*!
* jQuery JavaScript Library v1.12.4
* https://jquery.com/
* http://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
* http://jquery.org/license
*
* Date: 2016-05-20T17:17Z
*/
@ -338,7 +338,7 @@ jQuery.extend( {
},
// Workarounds based on findings by Jim Driscoll
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
@ -579,11 +579,11 @@ function isArrayLike( obj ) {
var Sizzle =
/*!
* Sizzle CSS Selector Engine v2.2.1
* https://sizzlejs.com/
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
* http://jquery.org/license
*
* Date: 2015-10-17
*/
@ -637,7 +637,7 @@ var i,
push = arr.push,
slice = arr.slice,
// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
// http://jsperf.com/thor-indexof-vs-for/5
indexOf = function( list, elem ) {
var i = 0,
len = list.length;
@ -653,13 +653,13 @@ var i,
// Regular expressions
// https://www.w3.org/TR/css3-selectors/#whitespace
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
@ -716,7 +716,7 @@ var i,
rsibling = /[+~]/,
rescape = /'|\\/g,
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
@ -1208,7 +1208,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
// See https://bugs.jquery.com/ticket/13378
// See http://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
@ -1219,7 +1219,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
// https://bugs.jquery.com/ticket/12359
// http://bugs.jquery.com/ticket/12359
docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
"<option selected=''></option></select>";
@ -1227,7 +1227,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// Support: IE8, Opera 11-12.16
// Nothing should be selected when empty strings follow ^= or $= or *=
// The test attribute must be unknown in Opera but "safe" for WinRT
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
if ( div.querySelectorAll("[msallowcapture^='']").length ) {
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
}
@ -1244,7 +1244,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Webkit/Opera - :checked should return selected option elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
@ -1841,7 +1841,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
// https://www.w3.org/TR/selectors/#pseudo-classes
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
@ -1928,7 +1928,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// https://www.w3.org/TR/selectors/#lang-pseudo
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test(lang || "") ) {
@ -1975,7 +1975,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
@ -1992,7 +1992,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
// https://www.w3.org/TR/selectors/#empty-pseudo
// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
// but not by others (comment: 8; processing instruction: 7; etc.)
// nodeType < 6 works because attributes (2) do not appear as children
@ -2666,7 +2666,7 @@ support.sortDetached = assert(function( div1 ) {
// Support: IE<8
// Prevent attribute/property "interpolation"
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !assert(function( div ) {
div.innerHTML = "<a href='#'></a>";
return div.firstChild.getAttribute("href") === "#" ;
@ -3666,7 +3666,7 @@ jQuery.ready.promise = function( obj ) {
try {
// Use the trick by Diego Perini
// https://javascript.nwbox.com/IEContentLoaded/
// http://javascript.nwbox.com/IEContentLoaded/
top.doScroll( "left" );
} catch ( e ) {
return window.setTimeout( doScrollCheck, 50 );
@ -5553,7 +5553,7 @@ jQuery.Event = function( src, props ) {
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
constructor: jQuery.Event,
isDefaultPrevented: returnFalse,
@ -5775,7 +5775,7 @@ if ( !support.change ) {
//
// Support: Chrome, Safari
// focus(in | out) events fire after focus & blur events,
// which is spec violation - https://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
if ( !support.focusin ) {
jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
@ -6148,7 +6148,7 @@ jQuery.extend( {
if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@ -6732,7 +6732,7 @@ if ( window.getComputedStyle ) {
// Safari 5.1.7 (at least) returns percentage for a larger set of values,
// but width seems to be reliably pixels
// this is against the CSSOM draft spec:
// https://dev.w3.org/csswg/cssom/#resolved-values
// http://dev.w3.org/csswg/cssom/#resolved-values
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
@ -6776,7 +6776,7 @@ if ( window.getComputedStyle ) {
}
// From the awesome hack by Dean Edwards
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
@ -8109,7 +8109,7 @@ jQuery.fx.speeds = {
// Based off of the plugin by Clint Helfers, with permission.
// https://web.archive.org/web/20100324014747/https://blindsignals.com/index.php/2009/07/jquery-delay/
// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery.fn.delay = function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@ -8707,7 +8707,7 @@ jQuery.extend( {
// elem.tabIndex doesn't always return the
// correct value when it hasn't been explicitly set
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
@ -8728,7 +8728,7 @@ jQuery.extend( {
} );
// Some attributes require a special call on IE
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !support.hrefNormalized ) {
// href/src property should get the full normalized URL (#10299/#12915)
@ -9602,8 +9602,8 @@ jQuery.extend( {
parts = rurl.exec( s.url.toLowerCase() );
s.crossDomain = !!( parts &&
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? "80" : "443" ) ) !==
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? "80" : "443" ) ) )
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
);
}
@ -10158,8 +10158,8 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
// Support: IE<9
// oldIE XHR does not support non-RFC2616 methods (#13240)
// See https://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
// and https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
// Although this check for six methods instead of eight
// since IE also does not support "trace" and "connect"
return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&

View File

@ -1,13 +1,13 @@
/*!
* jQuery JavaScript Library v1.9.1
* https://jquery.com/
* http://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
* http://sizzlejs.com/
*
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* https://jquery.org/license
* http://jquery.org/license
*
* Date: 2013-2-4
*/
@ -552,7 +552,7 @@ jQuery.extend({
if ( data ) {
// Make sure the incoming data is actual JSON
// Logic borrowed from https://json.org/json2.js
// Logic borrowed from http://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
@ -593,7 +593,7 @@ jQuery.extend({
// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer
@ -889,7 +889,7 @@ jQuery.ready.promise = function( obj ) {
// Catch cases where $(document).ready() is called after the browser event has already occurred.
// we once tried to use readyState "interactive" here, but it caused issues like the one
// discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
if ( document.readyState === "complete" ) {
// Handle it asynchronously to allow scripts the opportunity to delay ready
setTimeout( jQuery.ready );
@ -924,7 +924,7 @@ jQuery.ready.promise = function( obj ) {
try {
// Use the trick by Diego Perini
// https://javascript.nwbox.com/IEContentLoaded/
// http://javascript.nwbox.com/IEContentLoaded/
top.doScroll("left");
} catch(e) {
return setTimeout( doScrollCheck, 50 );
@ -1986,7 +1986,7 @@ jQuery.fn.extend({
});
},
// Based off of the plugin by Clint Helfers, with permission.
// https://blindsignals.com/index.php/2009/07/jquery-delay/
// http://blindsignals.com/index.php/2009/07/jquery-delay/
delay: function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@ -2478,7 +2478,7 @@ jQuery.extend({
tabIndex: {
get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
var attributeNode = elem.getAttributeNode("tabindex");
return attributeNode && attributeNode.specified ?
@ -2613,7 +2613,7 @@ if ( !getSetAttribute ) {
// Some attributes require a special call on IE
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !jQuery.support.hrefNormalized ) {
jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
@ -3363,7 +3363,7 @@ jQuery.Event = function( src, props ) {
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
isDefaultPrevented: returnFalse,
isPropagationStopped: returnFalse,
@ -3688,7 +3688,7 @@ jQuery.fn.extend({
* Sizzle CSS Selector Engine
* Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license
* https://sizzlejs.com/
* http://sizzlejs.com/
*/
(function( window, undefined ) {
@ -3746,17 +3746,17 @@ var i,
// Regular expressions
// Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// https://www.w3.org/TR/css3-syntax/#characters
// http://www.w3.org/TR/css3-syntax/#characters
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Loosely modeled on CSS identifier characters
// An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
// Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = characterEncoding.replace( "w", "w#" ),
// Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
operators = "([*^$|!~]?=)",
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
@ -3806,7 +3806,7 @@ var i,
rescape = /'|\\/g,
rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
funescape = function( _, escaped ) {
var high = "0x" + escaped - 0x10000;
@ -4189,7 +4189,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explictly
// setting a boolean content attribute,
// since its presence should be enough
// https://bugs.jquery.com/ticket/12359
// http://bugs.jquery.com/ticket/12359
div.innerHTML = "<select><option selected=''></option></select>";
// IE8 - Some boolean attributes are not treated correctly
@ -4198,7 +4198,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Webkit/Opera - :checked should return selected option elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
@ -4768,7 +4768,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
// https://www.w3.org/TR/selectors/#pseudo-classes
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
@ -4852,7 +4852,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// https://www.w3.org/TR/selectors/#lang-pseudo
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifider
if ( !ridentifier.test(lang || "") ) {
@ -4899,7 +4899,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
@ -4916,7 +4916,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
// https://www.w3.org/TR/selectors/#empty-pseudo
// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
// not comment, processing instructions, or others
// Thanks to Diego Perini for the nodeName shortcut
@ -6395,7 +6395,7 @@ jQuery.extend({
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@ -6943,7 +6943,7 @@ if ( window.getComputedStyle ) {
// A tribute to the "awesome hack by Dean Edwards"
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
// this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
@ -6982,7 +6982,7 @@ if ( window.getComputedStyle ) {
}
// From the awesome hack by Dean Edwards
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
@ -7853,8 +7853,8 @@ jQuery.extend({
parts = rurl.exec( s.url.toLowerCase() );
s.crossDomain = !!( parts &&
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? 80 : 443 ) ) !=
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? 80 : 443 ) ) )
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
);
}
@ -8531,7 +8531,7 @@ if ( xhrSupported ) {
// Firefox throws exceptions when accessing properties
// of an xhr when a network error occurred
// https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
try {
// Was never called and is aborted or complete

4
jquery/jquery-3.2.1.min.js vendored Executable file

File diff suppressed because one or more lines are too long

2
jquery/jquery-3.4.1.min.js vendored Executable file

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,7 +1,7 @@
/*! jQuery UI - v1.12.1 - 2016-09-14
* https://jqueryui.com
* http://jqueryui.com
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers

376
jquery/jquery-ui.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! jQuery UI - v1.12.1 - 2016-09-14
* https://jqueryui.com
* http://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */

View File

@ -1,12 +1,12 @@
/*!
* jQuery UI CSS Framework 1.12.1
* https://jqueryui.com
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
* http://jquery.org/license
*
* https://api.jqueryui.com/category/theming/
* http://api.jqueryui.com/category/theming/
*/
/* Layout helpers
----------------------------------*/

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1,14 @@
/*!
* jQuery UI CSS Framework 1.12.1
* https://jqueryui.com
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
* http://jquery.org/license
*
* https://api.jqueryui.com/category/theming/
* http://api.jqueryui.com/category/theming/
*
* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
*/

File diff suppressed because one or more lines are too long

1
jquery/jquery.dm-uploader.min.css vendored Executable file
View File

@ -0,0 +1 @@
.dm-uploader{cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dm-uploader .btn{position:relative;overflow:hidden}.dm-uploader .btn input[type=file]{position:absolute;top:0;right:0;margin:0;border:solid transparent;width:100%;opacity:0;cursor:pointer}

11
jquery/jquery.dm-uploader.min.js vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! Copyright (c) 2013 Brandon Aaron (https://brandon.aaron.sh)
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
* Licensed under the MIT License (LICENSE.txt).
*
* Version: 3.1.12

864
jquery/jquery.timepicker.js Executable file
View File

@ -0,0 +1,864 @@
/**
* jQuery Timepicker - v1.3.5 - 2016-07-10
* http://timepicker.co
*
* Enhances standard form input fields helping users to select (or type) times.
*
* Copyright (c) 2016 Willington Vega; Licensed MIT, GPL
*/
(function (factory) {
if ( typeof module === 'object' && typeof module.exports === 'object' ) {
factory(require('jquery'), window, document);
} else if (typeof jQuery !== 'undefined') {
factory(jQuery, window, document);
}
}(function($, window, document, undefined) {
(function() {
function pad(str, ch, length) {
return (new Array(length + 1 - str.length).join(ch)) + str;
}
function normalize() {
if (arguments.length === 1) {
var date = arguments[0];
if (typeof date === 'string') {
date = $.fn.timepicker.parseTime(date);
}
return new Date(0, 0, 0, date.getHours(), date.getMinutes(), date.getSeconds());
} else if (arguments.length === 3) {
return new Date(0, 0, 0, arguments[0], arguments[1], arguments[2]);
} else if (arguments.length === 2) {
return new Date(0, 0, 0, arguments[0], arguments[1], 0);
} else {
return new Date(0, 0, 0);
}
}
$.TimePicker = function() {
var widget = this;
widget.container = $('.ui-timepicker-container');
widget.ui = widget.container.find('.ui-timepicker');
if (widget.container.length === 0) {
widget.container = $('<div></div>').addClass('ui-timepicker-container')
.addClass('ui-timepicker-hidden ui-helper-hidden')
.appendTo('body')
.hide();
widget.ui = $( '<div></div>' ).addClass('ui-timepicker')
.addClass('ui-widget ui-widget-content ui-menu')
.addClass('ui-corner-all')
.appendTo(widget.container);
widget.viewport = $('<ul></ul>').addClass( 'ui-timepicker-viewport' )
.appendTo( widget.ui );
if ($.fn.jquery >= '1.4.2') {
widget.ui.delegate('a', 'mouseenter.timepicker', function() {
// passing false instead of an instance object tells the function
// to use the current instance
widget.activate(false, $(this).parent());
}).delegate('a', 'mouseleave.timepicker', function() {
widget.deactivate(false);
}).delegate('a', 'click.timepicker', function(event) {
event.preventDefault();
widget.select(false, $(this).parent());
});
}
}
};
$.TimePicker.count = 0;
$.TimePicker.instance = function() {
if (!$.TimePicker._instance) {
$.TimePicker._instance = new $.TimePicker();
}
return $.TimePicker._instance;
};
$.TimePicker.prototype = {
// extracted from from jQuery UI Core
// http://github,com/jquery/jquery-ui/blob/master/ui/jquery.ui.core.js
keyCode: {
ALT: 18,
BLOQ_MAYUS: 20,
CTRL: 17,
DOWN: 40,
END: 35,
ENTER: 13,
HOME: 36,
LEFT: 37,
NUMPAD_ENTER: 108,
PAGE_DOWN: 34,
PAGE_UP: 33,
RIGHT: 39,
SHIFT: 16,
TAB: 9,
UP: 38
},
_items: function(i, startTime) {
var widget = this, ul = $('<ul></ul>'), item = null, time, end;
// interval should be a multiple of 60 if timeFormat is not
// showing minutes
if (i.options.timeFormat.indexOf('m') === -1 && i.options.interval % 60 !== 0) {
i.options.interval = Math.max(Math.round(i.options.interval / 60), 1) * 60;
}
if (startTime) {
time = normalize(startTime);
} else if (i.options.startTime) {
time = normalize(i.options.startTime);
} else {
time = normalize(i.options.startHour, i.options.startMinutes);
}
end = new Date(time.getTime() + 24 * 60 * 60 * 1000);
while(time < end) {
if (widget._isValidTime(i, time)) {
item = $('<li>').addClass('ui-menu-item').appendTo(ul);
$('<a>').addClass('ui-corner-all').text($.fn.timepicker.formatTime(i.options.timeFormat, time)).appendTo(item);
item.data('time-value', time);
}
time = new Date(time.getTime() + i.options.interval * 60 * 1000);
}
return ul.children();
},
_isValidTime: function(i, time) {
var min = null, max = null;
time = normalize(time);
if (i.options.minTime !== null) {
min = normalize(i.options.minTime);
} else if (i.options.minHour !== null || i.options.minMinutes !== null) {
min = normalize(i.options.minHour, i.options.minMinutes);
}
if (i.options.maxTime !== null) {
max = normalize(i.options.maxTime);
} else if (i.options.maxHour !== null || i.options.maxMinutes !== null) {
max = normalize(i.options.maxHour, i.options.maxMinutes);
}
if (min !== null && max !== null) {
return time >= min && time <= max;
} else if (min !== null) {
return time >= min;
} else if (max !== null) {
return time <= max;
}
return true;
},
_hasScroll: function() {
// fix for jQuery 1.6 new prop method
var m = typeof this.ui.prop !== 'undefined' ? 'prop' : 'attr';
return this.ui.height() < this.ui[m]('scrollHeight');
},
/**
* TODO: Write me!
*
* @param i
* @param direction
* @param edge
* */
_move: function(i, direction, edge) {
var widget = this;
if (widget.closed()) {
widget.open(i);
}
if (!widget.active) {
widget.activate( i, widget.viewport.children( edge ) );
return;
}
var next = widget.active[direction + 'All']('.ui-menu-item').eq(0);
if (next.length) {
widget.activate(i, next);
} else {
widget.activate( i, widget.viewport.children( edge ) );
}
},
//
// protected methods
//
register: function(node, options) {
var widget = this, i = {}; // timepicker instance object
i.element = $(node);
if (i.element.data('TimePicker')) {
return;
}
i.options = $.metadata ? $.extend({}, options, i.element.metadata()) : $.extend({}, options);
i.widget = widget;
// proxy functions for the exposed api methods
$.extend(i, {
next: function() {return widget.next(i) ;},
previous: function() {return widget.previous(i) ;},
first: function() { return widget.first(i) ;},
last: function() { return widget.last(i) ;},
selected: function() { return widget.selected(i) ;},
open: function() { return widget.open(i) ;},
close: function() { return widget.close(i) ;},
closed: function() { return widget.closed(i) ;},
destroy: function() { return widget.destroy(i) ;},
parse: function(str) { return widget.parse(i, str) ;},
format: function(time, format) { return widget.format(i, time, format); },
getTime: function() { return widget.getTime(i) ;},
setTime: function(time, silent) { return widget.setTime(i, time, silent); },
option: function(name, value) { return widget.option(i, name, value); }
});
widget._setDefaultTime(i);
widget._addInputEventsHandlers(i);
i.element.data('TimePicker', i);
},
_setDefaultTime: function(i) {
if (i.options.defaultTime === 'now') {
i.setTime(normalize(new Date()));
} else if (i.options.defaultTime && i.options.defaultTime.getFullYear) {
i.setTime(normalize(i.options.defaultTime));
} else if (i.options.defaultTime) {
i.setTime($.fn.timepicker.parseTime(i.options.defaultTime));
}
},
_addInputEventsHandlers: function(i) {
var widget = this;
i.element.bind('keydown.timepicker', function(event) {
switch (event.which || event.keyCode) {
case widget.keyCode.ENTER:
case widget.keyCode.NUMPAD_ENTER:
event.preventDefault();
if (widget.closed()) {
i.element.trigger('change.timepicker');
} else {
widget.select(i, widget.active);
}
break;
case widget.keyCode.UP:
i.previous();
break;
case widget.keyCode.DOWN:
i.next();
break;
default:
if (!widget.closed()) {
i.close(true);
}
break;
}
}).bind('focus.timepicker', function() {
i.open();
}).bind('blur.timepicker', function() {
setTimeout(function() {
if (i.element.data('timepicker-user-clicked-outside')) {
i.close();
}
});
}).bind('change.timepicker', function() {
if (i.closed()) {
i.setTime($.fn.timepicker.parseTime(i.element.val()));
}
});
},
select: function(i, item) {
var widget = this, instance = i === false ? widget.instance : i;
widget.setTime(instance, $.fn.timepicker.parseTime(item.children('a').text()));
widget.close(instance, true);
},
activate: function(i, item) {
var widget = this, instance = i === false ? widget.instance : i;
if (instance !== widget.instance) {
return;
} else {
widget.deactivate();
}
if (widget._hasScroll()) {
var offset = item.offset().top - widget.ui.offset().top,
scroll = widget.ui.scrollTop(),
height = widget.ui.height();
if (offset < 0) {
widget.ui.scrollTop(scroll + offset);
} else if (offset >= height) {
widget.ui.scrollTop(scroll + offset - height + item.height());
}
}
widget.active = item.eq(0).children('a').addClass('ui-state-hover')
.attr('id', 'ui-active-item')
.end();
},
deactivate: function() {
var widget = this;
if (!widget.active) { return; }
widget.active.children('a').removeClass('ui-state-hover').removeAttr('id');
widget.active = null;
},
/**
* _activate, _deactivate, first, last, next, previous, _move and
* _hasScroll were extracted from jQuery UI Menu
* http://github,com/jquery/jquery-ui/blob/menu/ui/jquery.ui.menu.js
*/
//
// public methods
//
next: function(i) {
if (this.closed() || this.instance === i) {
this._move(i, 'next', '.ui-menu-item:first');
}
return i.element;
},
previous: function(i) {
if (this.closed() || this.instance === i) {
this._move(i, 'prev', '.ui-menu-item:last');
}
return i.element;
},
first: function(i) {
if (this.instance === i) {
return this.active && this.active.prevAll('.ui-menu-item').length === 0;
}
return false;
},
last: function(i) {
if (this.instance === i) {
return this.active && this.active.nextAll('.ui-menu-item').length === 0;
}
return false;
},
selected: function(i) {
if (this.instance === i) {
return this.active ? this.active : null;
}
return null;
},
open: function(i) {
var widget = this,
selectedTime = i.getTime(),
arrange = i.options.dynamic && selectedTime;
// return if dropdown is disabled
if (!i.options.dropdown) { return i.element; }
// fix for issue https://github.com/wvega/timepicker/issues/56
// idea from https://prototype.lighthouseapp.com/projects/8887/tickets/248-results-popup-from-ajaxautocompleter-disappear-when-user-clicks-on-scrollbars-in-ie6ie7
i.element.data('timepicker-event-namespace', Math.random());
$(document).bind('click.timepicker-' + i.element.data('timepicker-event-namespace'), function(event) {
if (i.element.get(0) === event.target) {
i.element.data('timepicker-user-clicked-outside', false);
} else {
i.element.data('timepicker-user-clicked-outside', true).blur();
}
});
// if a date is already selected and options.dynamic is true,
// arrange the items in the list so the first item is
// cronologically right after the selected date.
// TODO: set selectedTime
if (i.rebuild || !i.items || arrange) {
i.items = widget._items(i, arrange ? selectedTime : null);
}
// remove old li elements keeping associated events, then append
// the new li elements to the ul
if (i.rebuild || widget.instance !== i || arrange) {
// handle menu events when using jQuery versions previous to
// 1.4.2 (thanks to Brian Link)
// http://github.com/wvega/timepicker/issues#issue/4
if ($.fn.jquery < '1.4.2') {
widget.viewport.children().remove();
widget.viewport.append(i.items);
widget.viewport.find('a').bind('mouseover.timepicker', function() {
widget.activate(i, $(this).parent());
}).bind('mouseout.timepicker', function() {
widget.deactivate(i);
}).bind('click.timepicker', function(event) {
event.preventDefault();
widget.select(i, $(this).parent());
});
} else {
widget.viewport.children().detach();
widget.viewport.append(i.items);
}
}
i.rebuild = false;
// theme
widget.container.removeClass('ui-helper-hidden ui-timepicker-hidden ui-timepicker-standard ui-timepicker-corners').show();
switch (i.options.theme) {
case 'standard':
widget.container.addClass('ui-timepicker-standard');
break;
case 'standard-rounded-corners':
widget.container.addClass('ui-timepicker-standard ui-timepicker-corners');
break;
default:
break;
}
/* resize ui */
// we are hiding the scrollbar in the dropdown menu adding a 40px
// padding to the wrapper element making the scrollbar appear in the
// part of the wrapper that's hidden by the container (a DIV).
if ( ! widget.container.hasClass( 'ui-timepicker-no-scrollbar' ) && ! i.options.scrollbar ) {
widget.container.addClass( 'ui-timepicker-no-scrollbar' );
widget.viewport.css( { paddingRight: 40 } );
}
var containerDecorationHeight = widget.container.outerHeight() - widget.container.height(),
zindex = i.options.zindex ? i.options.zindex : i.element.offsetParent().css( 'z-index' ),
elementOffset = i.element.offset();
// position the container right below the element, or as close to as possible.
widget.container.css( {
top: elementOffset.top + i.element.outerHeight(),
left: elementOffset.left
} );
// then show the container so that the browser can consider the timepicker's
// height to calculate the page's total height and decide if adding scrollbars
// is necessary.
widget.container.show();
// now we need to calculate the element offset and position the container again.
// If the browser added scrollbars, the container's original position is not aligned
// with the element's final position. This step fixes that problem.
widget.container.css( {
left: i.element.offset().left,
height: widget.ui.outerHeight() + containerDecorationHeight,
width: i.element.outerWidth(),
zIndex: zindex,
cursor: 'default'
} );
var calculatedWidth = widget.container.width() - ( widget.ui.outerWidth() - widget.ui.width() );
// hardcode ui, viewport and item's width. I couldn't get it to work using CSS only
widget.ui.css( { width: calculatedWidth } );
widget.viewport.css( { width: calculatedWidth } );
i.items.css( { width: calculatedWidth } );
// XXX: what's this line doing here?
widget.instance = i;
// try to match input field's current value with an item in the
// dropdown
if (selectedTime) {
i.items.each(function() {
var item = $(this), time;
if ($.fn.jquery < '1.4.2') {
time = $.fn.timepicker.parseTime(item.find('a').text());
} else {
time = item.data('time-value');
}
if (time.getTime() === selectedTime.getTime()) {
widget.activate(i, item);
return false;
}
return true;
});
} else {
widget.deactivate(i);
}
// don't break the chain
return i.element;
},
close: function(i) {
var widget = this;
if (widget.instance === i) {
widget.container.addClass('ui-helper-hidden ui-timepicker-hidden').hide();
widget.ui.scrollTop(0);
widget.ui.children().removeClass('ui-state-hover');
}
$(document).unbind('click.timepicker-' + i.element.data('timepicker-event-namespace'));
return i.element;
},
closed: function() {
return this.ui.is(':hidden');
},
destroy: function(i) {
var widget = this;
widget.close(i, true);
return i.element.unbind('.timepicker').data('TimePicker', null);
},
//
parse: function(i, str) {
return $.fn.timepicker.parseTime(str);
},
format: function(i, time, format) {
format = format || i.options.timeFormat;
return $.fn.timepicker.formatTime(format, time);
},
getTime: function(i) {
var widget = this,
current = $.fn.timepicker.parseTime(i.element.val());
// if current value is not valid, we return null.
// stored Date object is ignored, because the current value
// (valid or invalid) always takes priority
if (current instanceof Date && !widget._isValidTime(i, current)) {
return null;
} else if (current instanceof Date && i.selectedTime) {
// if the textfield's value and the stored Date object
// have the same representation using current format
// we prefer the stored Date object to avoid unnecesary
// lost of precision.
if (i.format(current) === i.format(i.selectedTime)) {
return i.selectedTime;
} else {
return current;
}
} else if (current instanceof Date) {
return current;
} else {
return null;
}
},
setTime: function(i, time, silent) {
var widget = this, previous = i.selectedTime;
if (typeof time === 'string') {
time = i.parse(time);
}
if (time && time.getMinutes && widget._isValidTime(i, time)) {
time = normalize(time);
i.selectedTime = time;
i.element.val(i.format(time, i.options.timeFormat));
// TODO: add documentaion about setTime being chainable
if (silent) { return i; }
} else {
i.selectedTime = null;
}
// custom change event and change callback
// TODO: add documentation about this event
if (previous !== null || i.selectedTime !== null) {
i.element.trigger('time-change', [time]);
if ($.isFunction(i.options.change)) {
i.options.change.apply(i.element, [time]);
}
}
return i.element;
},
option: function(i, name, value) {
if (typeof value === 'undefined') {
return i.options[name];
}
var time = i.getTime(),
options, destructive;
if (typeof name === 'string') {
options = {};
options[name] = value;
} else {
options = name;
}
// some options require rebuilding the dropdown items
destructive = ['minHour', 'minMinutes', 'minTime',
'maxHour', 'maxMinutes', 'maxTime',
'startHour', 'startMinutes', 'startTime',
'timeFormat', 'interval', 'dropdown'];
$.each(options, function(name) {
i.options[name] = options[name];
i.rebuild = i.rebuild || $.inArray(name, destructive) > -1;
});
if (i.rebuild) {
i.setTime(time);
}
}
};
$.TimePicker.defaults = {
timeFormat: 'hh:mm p',
minHour: null,
minMinutes: null,
minTime: null,
maxHour: null,
maxMinutes: null,
maxTime: null,
startHour: null,
startMinutes: null,
startTime: null,
interval: 30,
dynamic: true,
theme: 'standard',
zindex: null,
dropdown: true,
scrollbar: false,
// callbacks
change: function(/*time*/) {}
};
$.TimePicker.methods = {
chainable: [
'next',
'previous',
'open',
'close',
'destroy',
'setTime'
]
};
$.fn.timepicker = function(options) {
// support calling API methods using the following syntax:
// $(...).timepicker('parse', '11p');
if (typeof options === 'string') {
var args = Array.prototype.slice.call(arguments, 1),
method, result;
// chainable API methods
if (options === 'option' && arguments.length > 2) {
method = 'each';
} else if ($.inArray(options, $.TimePicker.methods.chainable) !== -1) {
method = 'each';
// API methods that return a value
} else {
method = 'map';
}
result = this[method](function() {
var element = $(this), i = element.data('TimePicker');
if (typeof i === 'object') {
return i[options].apply(i, args);
}
});
if (method === 'map' && this.length === 1) {
return $.makeArray(result).shift();
} else if (method === 'map') {
return $.makeArray(result);
} else {
return result;
}
}
// calling the constructor again on a jQuery object with a single
// element returns a reference to a TimePicker object.
if (this.length === 1 && this.data('TimePicker')) {
return this.data('TimePicker');
}
var globals = $.extend({}, $.TimePicker.defaults, options);
return this.each(function() {
$.TimePicker.instance().register(this, globals);
});
};
/**
* TODO: documentation
*/
$.fn.timepicker.formatTime = function(format, time) {
var hours = time.getHours(),
hours12 = hours % 12,
minutes = time.getMinutes(),
seconds = time.getSeconds(),
replacements = {
hh: pad((hours12 === 0 ? 12 : hours12).toString(), '0', 2),
HH: pad(hours.toString(), '0', 2),
mm: pad(minutes.toString(), '0', 2),
ss: pad(seconds.toString(), '0', 2),
h: (hours12 === 0 ? 12 : hours12),
H: hours,
m: minutes,
s: seconds,
p: hours > 11 ? 'PM' : 'AM'
},
str = format, k = '';
for (k in replacements) {
if (replacements.hasOwnProperty(k)) {
str = str.replace(new RegExp(k,'g'), replacements[k]);
}
}
// replacements is not guaranteed to be order and the 'p' can cause problems
str = str.replace(new RegExp('a','g'), hours > 11 ? 'pm' : 'am');
return str;
};
/**
* Convert a string representing a given time into a Date object.
*
* The Date object will have attributes others than hours, minutes and
* seconds set to current local time values. The function will return
* false if given string can't be converted.
*
* If there is an 'a' in the string we set am to true, if there is a 'p'
* we set pm to true, if both are present only am is setted to true.
*
* All non-digit characters are removed from the string before trying to
* parse the time.
*
* '' can't be converted and the function returns false.
* '1' is converted to 01:00:00 am
* '11' is converted to 11:00:00 am
* '111' is converted to 01:11:00 am
* '1111' is converted to 11:11:00 am
* '11111' is converted to 01:11:11 am
* '111111' is converted to 11:11:11 am
*
* Only the first six (or less) characters are considered.
*
* Special case:
*
* When hours is greater than 24 and the last digit is less or equal than 6, and minutes
* and seconds are less or equal than 60, we append a trailing zero and
* start parsing process again. Examples:
*
* '95' is treated as '950' and converted to 09:50:00 am
* '46' is treated as '460' and converted to 05:00:00 am
* '57' can't be converted and the function returns false.
*
* For a detailed list of supported formats check the unit tests at
* http://github.com/wvega/timepicker/tree/master/tests/
*/
$.fn.timepicker.parseTime = (function() {
var patterns = [
// 1, 12, 123, 1234, 12345, 123456
[/^(\d+)$/, '$1'],
// :1, :2, :3, :4 ... :9
[/^:(\d)$/, '$10'],
// :1, :12, :123, :1234 ...
[/^:(\d+)/, '$1'],
// 6:06, 5:59, 5:8
[/^(\d):([7-9])$/, '0$10$2'],
[/^(\d):(\d\d)$/, '$1$2'],
[/^(\d):(\d{1,})$/, '0$1$20'],
// 10:8, 10:10, 10:34
[/^(\d\d):([7-9])$/, '$10$2'],
[/^(\d\d):(\d)$/, '$1$20'],
[/^(\d\d):(\d*)$/, '$1$2'],
// 123:4, 1234:456
[/^(\d{3,}):(\d)$/, '$10$2'],
[/^(\d{3,}):(\d{2,})/, '$1$2'],
//
[/^(\d):(\d):(\d)$/, '0$10$20$3'],
[/^(\d{1,2}):(\d):(\d\d)/, '$10$2$3']
],
length = patterns.length;
return function(str) {
var time = normalize(new Date()),
am = false, pm = false, h = false, m = false, s = false;
if (typeof str === 'undefined' || !str.toLowerCase) { return null; }
str = str.toLowerCase();
am = /a/.test(str);
pm = am ? false : /p/.test(str);
str = str.replace(/[^0-9:]/g, '').replace(/:+/g, ':');
for (var k = 0; k < length; k = k + 1) {
if (patterns[k][0].test(str)) {
str = str.replace(patterns[k][0], patterns[k][1]);
break;
}
}
str = str.replace(/:/g, '');
if (str.length === 1) {
h = str;
} else if (str.length === 2) {
h = str;
} else if (str.length === 3 || str.length === 5) {
h = str.substr(0, 1);
m = str.substr(1, 2);
s = str.substr(3, 2);
} else if (str.length === 4 || str.length > 5) {
h = str.substr(0, 2);
m = str.substr(2, 2);
s = str.substr(4, 2);
}
if (str.length > 0 && str.length < 5) {
if (str.length < 3) {
m = 0;
}
s = 0;
}
if (h === false || m === false || s === false) {
return false;
}
h = parseInt(h, 10);
m = parseInt(m, 10);
s = parseInt(s, 10);
if (am && h === 12) {
h = 0;
} else if (pm && h < 12) {
h = h + 12;
}
if (h > 24) {
if (str.length >= 6) {
return $.fn.timepicker.parseTime(str.substr(0,5));
} else {
return $.fn.timepicker.parseTime(str + '0' + (am ? 'a' : '') + (pm ? 'p' : ''));
}
} else {
time.setHours(h, m, s);
return time;
}
};
})();
})();
}));

11
jquery/jquery.timepicker.min.css vendored Executable file
View File

@ -0,0 +1,11 @@
/**
* jQuery Timepicker - v1.3.5 - 2016-07-10
* http://timepicker.co
*
* Enhances standard form input fields helping users to select (or type) times.
*
* Copyright (c) 2016 Willington Vega; Licensed MIT, GPL
*/
.ui-timepicker-container{position:absolute;overflow:hidden;box-sizing:border-box}.ui-timepicker{box-sizing:content-box;display:block;height:205px;list-style:none outside none;margin:0;padding:0 1px;text-align:center}.ui-timepicker-viewport{box-sizing:content-box;display:block;height:205px;margin:0;padding:0;overflow:auto;overflow-x:hidden}.ui-timepicker-standard{font-family:Verdana,Arial,sans-serif;font-size:1.1em;background-color:#FFF;border:1px solid #AAA;color:#222;margin:0;padding:2px}.ui-timepicker-standard a{border:1px solid transparent;color:#222;display:block;padding:.2em .4em;text-decoration:none}.ui-timepicker-standard .ui-state-hover{background-color:#DADADA;border:1px solid #999;font-weight:400;color:#212121}.ui-timepicker-standard .ui-menu-item{margin:0;padding:0}.ui-timepicker-corners,.ui-timepicker-corners .ui-corner-all{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui-timepicker-hidden{display:none}.ui-timepicker-no-scrollbar .ui-timepicker{border:0}

10
jquery/jquery.timepicker.min.js vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

75
jquery/main.css Executable file
View File

@ -0,0 +1,75 @@
/*
First: A couple styles to make the demo page look good
*/
body {
padding-bottom: 2rem;
}
nav {
border-top: 4px solid #28a745;
}
nav li.active {
border-bottom: 4px solid #28a745;
}
.row {
margin-bottom: 1rem;
}
[class*="col-"] {
padding-top: 1rem;
padding-bottom: 1rem;
}
hr {
margin-top: 2rem;
margin-bottom: 2rem;
}
.progress {
height: 1.5rem;
}
#files {
overflow-y: scroll !important;
min-height: 320px;
}
@media (min-width: 768px) {
#files {
min-height: 0;
}
}
#debug {
overflow-y: scroll !important;
height: 180px;
}
/* These are for the single examle */
.preview-img {
width: 64px;
height: 64px;
}
form {
border: solid #f7f7f9 !important;
padding: 1.5rem
}
form.active {
border-color: red !important;
}
form .progress {
height: 38px;
}
.dm-uploader {
border: 0.25rem dashed #A5A5C7;
}
.dm-uploader.active {
border-color: red;
border-style: solid;
}

View File

@ -1,3 +1,3 @@
/*! modernizr 3.6.0 (Custom Build) | MIT *
* https://modernizr.com/download/?-input-setclasses !*/
!function(e,n,t){function s(e,n){return typeof e===n}function a(){var e,n,t,a,o,i,f;for(var c in r)if(r.hasOwnProperty(c)){if(e=[],n=r[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(a=s(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++)i=e[o],f=i.split("."),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),l.push((a?"":"no-")+f.join("-"))}}function o(e){var n=c.className,t=Modernizr._config.classPrefix||"";if(u&&(n=n.baseVal),Modernizr._config.enableJSClass){var s=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(s,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),u?c.className.baseVal=n:c.className=n)}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):u?n.createElementNS.call(n,"https://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}var l=[],r=[],f={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){r.push({name:e,fn:n,options:t})},addAsyncTest:function(e){r.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=f,Modernizr=new Modernizr;var c=n.documentElement,u="svg"===c.nodeName.toLowerCase(),p=i("input"),m="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),d={};Modernizr.input=function(n){for(var t=0,s=n.length;s>t;t++)d[n[t]]=!!(n[t]in p);return d.list&&(d.list=!(!i("datalist")||!e.HTMLDataListElement)),d}(m),a(),o(l),delete f.addTest,delete f.addAsyncTest;for(var g=0;g<Modernizr._q.length;g++)Modernizr._q[g]();e.Modernizr=Modernizr}(window,document);
!function(e,n,t){function s(e,n){return typeof e===n}function a(){var e,n,t,a,o,i,f;for(var c in r)if(r.hasOwnProperty(c)){if(e=[],n=r[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(a=s(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++)i=e[o],f=i.split("."),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),l.push((a?"":"no-")+f.join("-"))}}function o(e){var n=c.className,t=Modernizr._config.classPrefix||"";if(u&&(n=n.baseVal),Modernizr._config.enableJSClass){var s=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(s,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),u?c.className.baseVal=n:c.className=n)}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):u?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}var l=[],r=[],f={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){r.push({name:e,fn:n,options:t})},addAsyncTest:function(e){r.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=f,Modernizr=new Modernizr;var c=n.documentElement,u="svg"===c.nodeName.toLowerCase(),p=i("input"),m="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),d={};Modernizr.input=function(n){for(var t=0,s=n.length;s>t;t++)d[n[t]]=!!(n[t]in p);return d.list&&(d.list=!(!i("datalist")||!e.HTMLDataListElement)),d}(m),a(),o(l),delete f.addTest,delete f.addAsyncTest;for(var g=0;g<Modernizr._q.length;g++)Modernizr._q[g]();e.Modernizr=Modernizr}(window,document);

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
#wan-spinner, a jQuery Spinner
----------
> ![demo](https://7xl1b4.com1.z0.glb.clouddn.com/wan-spinner.png)
> ![demo](http://7xl1b4.com1.z0.glb.clouddn.com/wan-spinner.png)
### [demo](https://blog.0xfc.cn/2015/08/09/spinner/) ###
### [demo](http://blog.0xfc.cn/2015/08/09/spinner/) ###
> demo/test.html

View File

@ -7,8 +7,8 @@
<title>jQuery Wan Spinner Plugin Demos</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="../build/wan-spinner.css">
<link href="https://www.jqueryscript.net/css/jquerysctipttop.css" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
<link href="http://www.jqueryscript.net/css/jquerysctipttop.css" rel="stylesheet" type="text/css">
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
<style>
body { background-color:#ECF0F1; font-family:'Roboto Condensed';}
.container { margin:150px auto; text-align:center; max-width:640px;}
@ -20,8 +20,8 @@
<div id="jquery-script-menu">
<div class="jquery-script-center">
<ul>
<li><a href="https://www.jqueryscript.net/form/Minimal-Number-Picker-Plugin-For-jQuery-Wan-Spinner.html">Download This Plugin</a></li>
<li><a href="https://www.jqueryscript.net/">Back To jQueryScript.Net</a></li>
<li><a href="http://www.jqueryscript.net/form/Minimal-Number-Picker-Plugin-For-jQuery-Wan-Spinner.html">Download This Plugin</a></li>
<li><a href="http://www.jqueryscript.net/">Back To jQueryScript.Net</a></li>
</ul>
<div class="jquery-script-ads"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2783044520727903";
@ -31,7 +31,7 @@ google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript" src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<div class="jquery-script-clear"></div>
</div>

View File

@ -1,7 +1,7 @@
Numbertor
=======
Numbertor is a jQuery-based addon for input boxes, giving them a number sanitizer.
[You can see a demo here](https://opensource.qodio.com/numbertor).
[You can see a demo here](http://opensource.qodio.com/numbertor).
Usage

View File

@ -102,7 +102,7 @@ src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

View File

@ -3,7 +3,7 @@
"title": "jQuery UI",
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
"version": "1.12.1",
"homepage": "https://jqueryui.com",
"homepage": "http://jqueryui.com",
"author": {
"name": "jQuery Foundation and other contributors",
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
@ -13,27 +13,27 @@
{
"name": "Scott González",
"email": "scott.gonzalez@gmail.com",
"url": "https://scottgonzalez.com"
"url": "http://scottgonzalez.com"
},
{
"name": "Jörn Zaefferer",
"email": "joern.zaefferer@gmail.com",
"url": "https://bassistance.de"
"url": "http://bassistance.de"
},
{
"name": "Mike Sherov",
"email": "mike.sherov@gmail.com",
"url": "https://mike.sherov.com"
"url": "http://mike.sherov.com"
},
{
"name": "TJ VanToll",
"email": "tj.vantoll@gmail.com",
"url": "https://tjvantoll.com"
"url": "http://tjvantoll.com"
},
{
"name": "Felix Nagel",
"email": "info@felixnagel.com",
"url": "https://www.felixnagel.com"
"url": "http://www.felixnagel.com"
},
{
"name": "Alex Schmitz",

2
jquery/prism-coy.min.css vendored Executable file
View File

@ -0,0 +1,2 @@
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:0}pre[class*=language-]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}code[class*=language]{max-height:inherit;padding:0 1em;display:block;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}:not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}pre[class*=language-]:after,pre[class*=language-]:before{content:'';z-index:-2;display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}:not(pre)>code[class*=language-]:after,pre[class*=language-]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7d8b99}.token.punctuation{color:#5f6364}.token.boolean,.token.constant,.token.deleted,.token.function-name,.token.number,.token.property,.token.symbol,.token.tag{color:#c92c2c}.token.attr-name,.token.builtin,.token.char,.token.function,.token.inserted,.token.selector,.token.string{color:#2f9c0a}.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.class-name,.token.keyword{color:#1990b8}.token.important,.token.regex{color:#e90}.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}.token.important{font-weight:400}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.namespace{opacity:.7}@media screen and (max-width:767px){pre[class*=language-]:after,pre[class*=language-]:before{bottom:14px;box-shadow:none}}.token.cr:before,.token.lf:before,.token.tab:not(:empty):before{color:#e0d7d1}pre[class*=language-].line-numbers{padding-left:0}pre[class*=language-].line-numbers code{padding-left:3.8em}pre[class*=language-].line-numbers .line-numbers-rows{left:0}pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}pre[data-line] code{position:relative;padding-left:4em}pre .line-highlight{margin-top:0}
/*# sourceMappingURL=prism-coy.min.css.map */

1
jquery/prism-javascript.min.js vendored Executable file
View File

@ -0,0 +1 @@
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\s\S]*?>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript",greedy:!0}}),Prism.languages.js=Prism.languages.javascript;

1
jquery/prism.min.js vendored Executable file

File diff suppressed because one or more lines are too long

21
jquery/prx_search.js vendored Executable file
View File

@ -0,0 +1,21 @@
$(document).ready(function()
{
$('#search').keyup(function()
{
if($(this).val().length >= 3 || $(this).val() == '%')
{
$.get("../admin/prx_search.php", {search: $(this).val()}, function(data)
{
$("#results").html(data);
});
}
});
$("#btnSubmit").click(function(){
$.get("../admin/prx_search.php", {search: '%'}, function(data)
{
$("#results").html(data);
});
});
});

23
jquery/ui-main.js vendored Executable file
View File

@ -0,0 +1,23 @@
/*
* Some helper functions to work with our UI and keep our code cleaner
*/
// Adds an entry to our debug area
function ui_add_log(message, color)
{
var d = new Date();
var dateString = (('0' + d.getHours())).slice(-2) + ':' +
(('0' + d.getMinutes())).slice(-2) + ':' +
(('0' + d.getSeconds())).slice(-2);
color = (typeof color === 'undefined' ? 'muted' : color);
var template = $('#debug-template').text();
template = template.replace('%%date%%', dateString);
template = template.replace('%%message%%', message);
template = template.replace('%%color%%', color);
$('#debug').find('li.empty').fadeOut(); // remove the 'no messages yet'
$('#debug').prepend(template);
}

62
jquery/ui-multiple.js vendored Executable file
View File

@ -0,0 +1,62 @@
// Creates a new file and add it to our list
function ui_multi_add_file(id, file)
{
var template = $('#files-template').text();
template = template.replace('%%filename%%', file.name);
template = $(template);
template.prop('id', 'uploaderFile' + id);
template.data('file-id', id);
$('#files').find('li.empty').fadeOut(); // remove the 'no files yet'
$('#files').prepend(template);
}
// Changes the status messages on our list
function ui_multi_update_file_status(id, status, message)
{
$('#uploaderFile' + id).find('span').html(message).prop('class', 'status text-' + status);
}
// Updates a file progress, depending on the parameters it may animate it or change the color.
function ui_multi_update_file_progress(id, percent, color, active)
{
color = (typeof color === 'undefined' ? false : color);
active = (typeof active === 'undefined' ? true : active);
var bar = $('#uploaderFile' + id).find('div.progress-bar');
bar.width(percent + '%').attr('aria-valuenow', percent);
bar.toggleClass('progress-bar-striped progress-bar-animated', active);
if (percent === 0){
bar.html('');
} else {
bar.html(percent + '%');
}
if (color !== false){
bar.removeClass('bg-success bg-info bg-warning bg-danger');
bar.addClass('bg-' + color);
}
}
// Toggles the disabled status of Star/Cancel buttons on one particual file
function ui_multi_update_file_controls(id, start, cancel, wasError)
{
wasError = (typeof wasError === 'undefined' ? false : wasError);
$('#uploaderFile' + id).find('button.start').prop('disabled', !start);
$('#uploaderFile' + id).find('button.cancel').prop('disabled', !cancel);
if (!start && !cancel) {
$('#uploaderFile' + id).find('.controls').fadeOut();
} else {
$('#uploaderFile' + id).find('.controls').fadeIn();
}
if (wasError) {
$('#uploaderFile' + id).find('button.start').html('Retry');
}
}

View File

@ -1,7 +1,7 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

View File

@ -580,7 +580,7 @@
* libs/Smarty_Compiler.class.php:
Modified _(push|pop)_cacheable_state() to embedd alternate syntax. See this
bug report: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=10502
bug report: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=10502
2007-02-26 Peter 'Mash' Morgan <pm@daffodil.uk.com>
@ -717,7 +717,7 @@
This avoids unlink() unless rename() fails or a Windows system is detected
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=6956
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=6956
Thanks to c960657 from the forums.
@ -728,7 +728,7 @@
update debug.tpl to xhtml 1.1 compliance, fix javascript escaping in debug
output and apply a Smarty based color scheme
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=7178
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=7178
thanks to cybot from the forums!
@ -736,7 +736,7 @@
libs/plugins/modifier.debug_print_var.php:
enhance reporting precision of debug_print_var modifier
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=9281
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=9281
thanks to cybot from the forums
@ -1682,7 +1682,7 @@
"Alternative syntax" used for example in compiled {if}..{else}..{/if}
blocks.
(see: https://php.net/manual/en/control-structures.alternative-syntax.php
(see: http://php.net/manual/en/control-structures.alternative-syntax.php
on "Alternative syntax")
thanks to kihara from the forum.
@ -1701,7 +1701,7 @@
* libs/plugins/function.popup.php:
added "closeclick" from
https://www.bosrup.com/web/overlib/?Command_Reference
http://www.bosrup.com/web/overlib/?Command_Reference
2005-11-23 boots <jayboots@yahoo.com>

View File

@ -6,7 +6,7 @@ GENERAL
Q: What is Smarty?
Q: What's the difference between Smarty and other template engines?
Q: What do you mean "Compiled PHP Scripts" ?
Q: Why can't I just use PHPA (https://php-accelerator.co.uk) or Zend Cache?
Q: Why can't I just use PHPA (http://php-accelerator.co.uk) or Zend Cache?
Q: Why does smarty have a built in cache? Wouldn't it be better to handle this
in a separate class?
Q: Is Smarty faster than <insert other PHP template engine>?
@ -78,7 +78,7 @@ A: Smarty reads the template files and creates PHP scripts from them. Once
know of their existance. (NOTE: you can turn off this compile checking step
in Smarty for increased performance.)
Q: Why can't I just use PHPA (https://php-accelerator.co.uk) or Zend Cache?
Q: Why can't I just use PHPA (http://php-accelerator.co.uk) or Zend Cache?
A: You certainly can, and we highly recommend it! What PHPA does is caches
compiled bytecode of your PHP scripts in shared memory or in a file. This
speeds up server response and saves the compilation step. Smarty creates PHP
@ -134,14 +134,14 @@ A: We have a few mailing lists. "general" for you to share your ideas or ask
smarty-cvs-subscribe@lists.php.net (subscribe to the cvs list)
smarty-cvs-unsubscribe@lists.php.net (unsubscribe from the cvs list)
You can also browse the mailing list archives at
https://marc.theaimsgroup.com/?l=smarty&r=1&w=2
http://marc.theaimsgroup.com/?l=smarty&r=1&w=2
Q: Can you change the mailing list so Reply-To sends to the list and not the
user?
A: Yes we could, but no we won't. Use "Reply-All" in your e-mail client to send
to the list. https://www.unicom.com/pw/reply-to-harmful.html
to the list. http://www.unicom.com/pw/reply-to-harmful.html
TROUBLESHOOTING
---------------

View File

@ -96,7 +96,7 @@ Hello, {$name}!
Now go to your new application through the web browser,
https://www.domain.com/myapp/index.php in our example. You should see the text
http://www.domain.com/myapp/index.php in our example. You should see the text
"Hello Ned!" in your browser.
Once you get this far, you can continue on to the Smarty Crash Course to learn

View File

@ -51,7 +51,7 @@ $smarty->unregisterFilter(...)
Please refer to the online documentation for all specific changes:
https://www.smarty.net/documentation
http://www.smarty.net/documentation
----
@ -570,6 +570,6 @@ In the template you can use it like this:
Please look through it and send any questions/suggestions/etc to the forums.
https://www.phpinsider.com/smarty-forum/viewtopic.php?t=14168
http://www.phpinsider.com/smarty-forum/viewtopic.php?t=14168
Monte and Uwe

View File

@ -61,7 +61,7 @@ class MySmarty extends Smarty {
== Autoloader ==
Smarty 3 does register its own autoloader with spl_autoload_register. If your code has
an existing __autoload function then this function must be explicitly registered on
the __autoload stack. See https://us3.php.net/manual/en/function.spl-autoload-register.php
the __autoload stack. See http://us3.php.net/manual/en/function.spl-autoload-register.php
for further details.
== Plugin Filenames ==

View File

@ -3,7 +3,7 @@
"type": "library",
"description": "Smarty - the compiling PHP template engine",
"keywords": ["templating"],
"homepage": "https://www.smarty.net",
"homepage": "http://www.smarty.net",
"license": "LGPL-3.0",
"authors": [
{
@ -22,7 +22,7 @@
"support": {
"irc": "irc://irc.freenode.org/smarty",
"issues": "https://github.com/smarty-php/smarty/issues",
"forum": "https://www.smarty.net/forums/"
"forum": "http://www.smarty.net/forums/"
},
"require": {
"php": ">=5.2"

View File

@ -21,7 +21,7 @@
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
*
* @link https://www.smarty.net/
* @link http://www.smarty.net/
* @version 2.6.25-dev
* @copyright Copyright: 2001-2005 New Digital Group, Inc.
* @author Andrei Zmievski <andrei@php.net>

View File

@ -20,7 +20,7 @@
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
*
* @link https://www.smarty.net/
* @link http://www.smarty.net/
* @copyright 2015 New Digital Group, Inc.
* @copyright 2015 Uwe Tews
* @author Monte Ohrt <monte at ohrt dot com>
@ -1385,7 +1385,7 @@ class Smarty extends Smarty_Internal_TemplateBase
/**
* Error Handler to mute expected messages
*
* @link https://php.net/set_error_handler
* @link http://php.net/set_error_handler
*
* @param integer $errno Error level
* @param $errstr
@ -1447,7 +1447,7 @@ class Smarty extends Smarty_Internal_TemplateBase
{
/*
error muting is done because some people implemented custom error_handlers using
https://php.net/set_error_handler and for some reason did not understand the following paragraph:
http://php.net/set_error_handler and for some reason did not understand the following paragraph:
It is important to remember that the standard PHP error handler is completely bypassed for the
error types specified by error_types unless the callback function returns FALSE.

View File

@ -18,7 +18,7 @@
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
*
* @link https://www.smarty.net/
* @link http://www.smarty.net/
* @copyright 2008 New Digital Group, Inc.
* @author Monte Ohrt <monte at ohrt dot com>
* @author Uwe Tews

View File

@ -18,7 +18,7 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link https://smarty.php.net/
* @link http://smarty.php.net/
* @author Monte Ohrt <monte at ohrt dot com>
* @author Andrei Zmievski <andrei@php.net>
* @version 2.6.25-dev

View File

@ -1,6 +1,6 @@
{capture name='_smarty_debug' assign=debug_output}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Smarty Debug Console</title>
<style type="text/css">

View File

@ -22,7 +22,7 @@
* - wrap_boundary - boolean (true)
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.textformat.php {textformat}
* @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
* (Smarty online manual)
*
* @param array $params parameters

View File

@ -11,7 +11,7 @@
* Type: compiler function<br>
* Name: assign<br>
* Purpose: assign a value to a template variable
* @link https://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign}
* @link http://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com> (initial author)
* @author messju mohr <messju at lammfellpuschen dot de> (conversion to compiler function)

View File

@ -11,7 +11,7 @@
* Type: function<br>
* Name: config_load<br>
* Purpose: load config file vars
* @link https://smarty.php.net/manual/en/language.function.config.load.php {config_load}
* @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author messju mohr <messju at lammfellpuschen dot de> (added use of resources)

View File

@ -13,7 +13,7 @@
* Purpose: print out a counter value
*
* @author Monte Ohrt <monte at ohrt dot com>
* @link https://www.smarty.net/manual/en/language.function.counter.php {counter}
* @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
* (Smarty online manual)
*
* @param array $params parameters

View File

@ -30,7 +30,7 @@
* {cycle name=row}
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.cycle.php {cycle}
* @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author credit to Mark Priatel <mpriatel@rogers.com>

View File

@ -13,7 +13,7 @@
* Name: debug<br>
* Date: July 1, 2002<br>
* Purpose: popup debug window
* @link https://smarty.php.net/manual/en/language.function.debug.php {debug}
* @link http://smarty.php.net/manual/en/language.function.debug.php {debug}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @version 1.0

View File

@ -12,7 +12,7 @@
* Type: function<br>
* Name: eval<br>
* Purpose: evaluate a template variable as a template<br>
* @link https://smarty.php.net/manual/en/language.function.eval.php {eval}
* @link http://smarty.php.net/manual/en/language.function.eval.php {eval}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param array

View File

@ -12,7 +12,7 @@
* Name: fetch<br>
* Purpose: fetch file, web or ftp data and display results
*
* @link https://www.smarty.net/manual/en/language.function.fetch.php {fetch}
* @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*

View File

@ -31,7 +31,7 @@
* - escape (optional) - escape the content (not value), defaults to true
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
* @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
* (Smarty online manual)
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
* @author credits to Monte Ohrt <monte at ohrt dot com>

View File

@ -23,7 +23,7 @@
* - path_prefix - prefix for path output (optional, default empty)
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.html.image.php {html_image}
* @link http://www.smarty.net/manual/en/language.function.html.image.php {html_image}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author credits to Duda <duda@big.hu>

View File

@ -23,7 +23,7 @@
* - class (optional) - string default not set
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.html.options.php {html_image}
* @link http://www.smarty.net/manual/en/language.function.html.options.php {html_image}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author Ralf Strehle (minor optimization) <ralf dot strehle at yahoo dot de>

View File

@ -31,7 +31,7 @@
* {html_radios values=$ids checked=$checked separator='<br>' output=$names}
* </pre>
*
* @link https://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
* @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
* (Smarty online manual)
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
* @author credits to Monte Ohrt <monte at ohrt dot com>

View File

@ -39,7 +39,7 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
* added attributes month_names, *_id
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
* @link http://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
* (Smarty online manual)
* @version 2.0
* @author Andrei Zmievski

View File

@ -21,7 +21,7 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
* Name: html_select_time<br>
* Purpose: Prints the dropdowns for time selection
*
* @link https://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
* @link http://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
* (Smarty online manual)
* @author Roberto Berto <roberto@berto.net>
* @author Monte Ohrt <monte AT ohrt DOT com>

View File

@ -40,7 +40,7 @@
* @author credit to Messju Mohr <messju at lammfellpuschen dot de>
* @author credit to boots <boots dot smarty at yahoo dot com>
* @version 1.1
* @link https://www.smarty.net/manual/en/language.function.html.table.php {html_table}
* @link http://www.smarty.net/manual/en/language.function.html.table.php {html_table}
* (Smarty online manual)
*
* @param array $params parameters

View File

@ -38,7 +38,7 @@
* {mailto address="me@domain.com" extra='class="mailto"'}
* </pre>
*
* @link https://www.smarty.net/manual/en/language.function.mailto.php {mailto}
* @link http://www.smarty.net/manual/en/language.function.mailto.php {mailto}
* (Smarty online manual)
* @version 1.2
* @author Monte Ohrt <monte at ohrt dot com>

View File

@ -13,7 +13,7 @@
* Name: math<br>
* Purpose: handle math computations in template
*
* @link https://www.smarty.net/manual/en/language.function.math.php {math}
* @link http://www.smarty.net/manual/en/language.function.math.php {math}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*

View File

@ -12,7 +12,7 @@
* Type: function<br>
* Name: popup<br>
* Purpose: make text pop up in windows via overlib
* @link https://smarty.php.net/manual/en/language.function.popup.php {popup}
* @link http://smarty.php.net/manual/en/language.function.popup.php {popup}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param array

View File

@ -12,7 +12,7 @@
* Type: function<br>
* Name: popup_init<br>
* Purpose: initialize overlib
* @link https://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
* @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param array

View File

@ -15,7 +15,7 @@
* Purpose: catenate a value to a variable
* Input: string to catenate
* Example: {$var|cat:"foo"}
* @link https://smarty.php.net/manual/en/language.modifier.cat.php cat
* @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
* (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @version 1.0

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: count_characteres<br>
* Purpose: count the number of characters in a text
* @link https://smarty.php.net/manual/en/language.modifier.count.characters.php
* @link http://smarty.php.net/manual/en/language.modifier.count.characters.php
* count_characters (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: count_paragraphs<br>
* Purpose: count the number of paragraphs in a text
* @link https://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
* @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
* count_paragraphs (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: count_sentences
* Purpose: count the number of sentences in a text
* @link https://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
* @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
* count_sentences (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: count_words<br>
* Purpose: count the number of words in a text
* @link https://smarty.php.net/manual/en/language.modifier.count.words.php
* @link http://smarty.php.net/manual/en/language.modifier.count.words.php
* count_words (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -16,7 +16,7 @@
* - format: strftime format for output
* - default_date: default date if $string is empty
*
* @link https://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
* @link http://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*
* @param string $string input date string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: default<br>
* Purpose: designate default value for empty variables
* @link https://smarty.php.net/manual/en/language.modifier.default.php
* @link http://smarty.php.net/manual/en/language.modifier.default.php
* default (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Name: escape<br>
* Purpose: escape string for output
*
* @link https://www.smarty.net/docs/en/language.modifier.escape
* @link http://www.smarty.net/docs/en/language.modifier.escape
* @author Monte Ohrt <monte at ohrt dot com>
*
* @param string $string input string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: indent<br>
* Purpose: indent lines of text
* @link https://smarty.php.net/manual/en/language.modifier.indent.php
* @link http://smarty.php.net/manual/en/language.modifier.indent.php
* indent (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: lower<br>
* Purpose: convert string to lowercase
* @link https://smarty.php.net/manual/en/language.modifier.lower.php
* @link http://smarty.php.net/manual/en/language.modifier.lower.php
* lower (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -18,7 +18,7 @@
* - preceed_test = if true, includes preceeding break tags
* in replacement
* Example: {$text|nl2br}
* @link https://smarty.php.net/manual/en/language.modifier.nl2br.php
* @link http://smarty.php.net/manual/en/language.modifier.nl2br.php
* nl2br (Smarty online manual)
* @version 1.0
* @author Monte Ohrt <monte at ohrt dot com>

View File

@ -12,7 +12,7 @@
* Name: regex_replace<br>
* Purpose: regular expression search/replace
*
* @link https://smarty.php.net/manual/en/language.modifier.regex.replace.php
* @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
* regex_replace (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*

View File

@ -12,7 +12,7 @@
* Name: replace<br>
* Purpose: simple search/replace
*
* @link https://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
* @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @author Uwe Tews
*

View File

@ -12,7 +12,7 @@
* Name: spacify<br>
* Purpose: add spaces between characters in a string
*
* @link https://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
* @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*
* @param string $string input string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: string_format<br>
* Purpose: format strings via sprintf
* @link https://smarty.php.net/manual/en/language.modifier.string.format.php
* @link http://smarty.php.net/manual/en/language.modifier.string.format.php
* string_format (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -15,7 +15,7 @@
* with a single space or supplied replacement string.<br>
* Example: {$var|strip} {$var|strip:"&nbsp;"}
* Date: September 25th, 2002
* @link https://smarty.php.net/manual/en/language.modifier.strip.php
* @link http://smarty.php.net/manual/en/language.modifier.strip.php
* strip (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @version 1.0

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: strip_tags<br>
* Purpose: strip html tags from text
* @link https://smarty.php.net/manual/en/language.modifier.strip.tags.php
* @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php
* strip_tags (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -14,7 +14,7 @@
* optionally splitting in the middle of a word, and
* appending the $etc string or inserting $etc into the middle.
*
* @link https://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
* @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
*
* @param string $string input string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: upper<br>
* Purpose: convert string to uppercase
* @link https://smarty.php.net/manual/en/language.modifier.upper.php
* @link http://smarty.php.net/manual/en/language.modifier.upper.php
* upper (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -12,7 +12,7 @@
* Type: modifier<br>
* Name: wordwrap<br>
* Purpose: wrap a string of text at a given length
* @link https://smarty.php.net/manual/en/language.modifier.wordwrap.php
* @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php
* wordwrap (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string

View File

@ -15,7 +15,7 @@
* Input: string to catenate<br>
* Example: {$var|cat:"foo"}
*
* @link https://smarty.php.net/manual/en/language.modifier.cat.php cat
* @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
* (Smarty online manual)
* @author Uwe Tews
*

View File

@ -12,7 +12,7 @@
* Name: count_characteres<br>
* Purpose: count the number of characters in a text
*
* @link https://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
* @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
* @author Uwe Tews
*
* @param array $params parameters

View File

@ -12,7 +12,7 @@
* Name: count_paragraphs<br>
* Purpose: count the number of paragraphs in a text
*
* @link https://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
* @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
* count_paragraphs (Smarty online manual)
* @author Uwe Tews
*

Some files were not shown because too many files have changed in this diff Show More