From 5e7cbdeb30991aabcefdfd17303687f06c5ec78b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= <3277200+sentsim@users.noreply.github.com> Date: Mon, 21 Apr 2025 00:32:38 +0800 Subject: [PATCH] release: v2.11.0-rc.5 --- dist/layui.js | 2 +- dist/layui.js.map | 2 +- docs/versions.md | 8 ++++---- package.json | 2 +- src/layui.js | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dist/layui.js b/dist/layui.js index fcb7a4cf..6fe29a27 100644 --- a/dist/layui.js +++ b/dist/layui.js @@ -1,2 +1,2 @@ -/** v2.11.0-rc.4 | MIT Licensed */;!function(h){"use strict";var e,d=h.document,v=h.location,m={timeout:10,debug:!1,version:!1},g={modules:{},status:{},event:{},callback:{}},r=function(){this.v="2.11.0-rc.4"},t=h.LAYUI_GLOBAL||{},b=(e=d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()?d.currentScript.src:function(){for(var e,t=d.getElementsByTagName("script"),n=t.length-1,r=n;01e3*m.timeout/5?j(o+" is not a valid module","error"):void((a?layui[o]=h[i.api]:g.status[o])?u():setTimeout(t,5))}()},0===n.length||layui["layui.all"]&&E[o]?u():(p=a?i.src:i,y=(E[o]?y+"modules/":p?"":m.base)+(p=(p=p||o).replace(/\s/g,"").replace(/\.js[^\/\.]*$/,""))+".js",!g.modules[o]&&layui[o]&&(g.modules[o]=y),g.modules[o]?c():(l=d.getElementsByTagName("head")[0],(s=d.createElement("script"))["async"]=!0,s.charset="utf-8",s.src=y+((p=!0===m.version?m.v||(new Date).getTime():m.version||"")?"?v="+p:""),l.appendChild(s),N(s,function(){l.removeChild(s),c()},function(){l.removeChild(s)}),g.modules[o]=y))),f},r.prototype.modules=Object.assign({},E),r.prototype.extend=function(e){var t,n,r=m.base||"",o=/^\{\/\}/;for(t in e=e||{})this[t]||this.modules[t]?j("the "+t+" module already exists, extend failure"):("string"==typeof(n=e[t])&&(n=((r=o.test(n)?"":r)+n).replace(o,"")),this.modules[t]=n);return this},r.prototype.disuse=function(e){var n=this;return e=n.isArray(e)?e:[e],n.each(e,function(e,t){delete n[t],delete E[t],delete n.modules[t],delete g.status[t],delete g.modules[t]}),n},r.prototype.getStyle=function(e,t){e=e.currentStyle||h.getComputedStyle(e,null);return e.getPropertyValue?e.getPropertyValue(t):e.getAttribute(t.replace(/-(\w)/g,function(e,t){return t?t.toUpperCase():""}))},r.prototype.link=function(n,r,o){var i,a=this,e=d.getElementsByTagName("head")[0],t=d.createElement("link");return"string"==typeof r&&(o=r),"object"==typeof n?(i="array"===a.type(o),a.each(n,function(e,t){a.link(t,e===n.length-1&&r,i&&o[e])})):(o="layuicss-"+(o=o||n.replace(/^(#|(http(s?)):\/\/|\/\/)|\.|\/|\?.+/g,"")),t.href=n+(m.debug?"?v="+(new Date).getTime():""),t.rel="stylesheet",t.id=o,d.getElementById(o)||e.appendChild(t),"function"==typeof r&&N(t,function(){r(t)},function(){j(n+" load error","error"),e.removeChild(t)}),a)},r.prototype.addcss=function(e,t,n){return layui.link(m.dir+"css/"+e,t,n)},r.prototype.factory=function(e){if(layui[e])return"function"==typeof m.callback[e]?m.callback[e]:null},r.prototype.img=function(e,t,n){var r=new Image;if(r.src=e,r.complete)return t(r);r.onload=function(){r.onload=null,"function"==typeof t&&t(r)},r.onerror=function(e){r.onerror=null,"function"==typeof n&&n(e)}},r.prototype.router=r.prototype.hash=function(e){var n={path:[],pathname:[],search:{},hash:((e=e||v.hash).match(/[^#](#.*$)/)||[])[1]||"",href:""};return/^#/.test(e)&&(e=e.replace(/^#/,""),e=(n.href=e).replace(/([^#])(#.*$)/,"$1").split("/")||[],this.each(e,function(e,t){/^\w+=/.test(t)?(t=t.split("="),n.search[t[0]]=t[1]):n.path.push(t)}),n.pathname=n.path),n},r.prototype.url=function(e){var o,t,n=this;return{pathname:(e?((e.match(/\.[^.]+?\/.+/)||[])[0]||"").replace(/^[^\/]+/,"").replace(/\?.+/,""):v.pathname).replace(/^\//,"").split("/"),search:(o={},t=(e?((e.match(/\?.+/)||[])[0]||"").replace(/\#.+/,""):v.search).replace(/^\?+/,"").split("&"),n.each(t,function(e,t){var n=t.indexOf("="),r=n<0?t.substr(0,t.length):0!==n&&t.substr(0,n);r&&(o[r]=0(d.innerHeight||h.documentElement.clientHeight)},p.getStyleRules=function(t,n){if(t)return t=(t=t.sheet||t.styleSheet||{}).cssRules||t.rules,"function"==typeof n&&layui.each(t,function(t,e){if(n(e,t))return!0}),t},p.style=function(t){t=t||{};var e=p.elem("style"),n=t.text||"",i=t.target;if(n)return"styleSheet"in e?(e.setAttribute("type","text/css"),e.styleSheet.cssText=n):e.innerHTML=n,e.id="LAY-STYLE-"+(t.id||(n=p.style.index||0,p.style.index++,"DF-"+n)),i&&((t=p(i).find("#"+e.id))[0]&&t.remove(),p(i).append(e)),e},p.position=function(t,e,n){var i,r,o,c,a,u,s,f,l;e&&(n=n||{},t!==h&&t!==p("body")[0]||(n.clickType="right"),i="right"===n.clickType?{left:(i=n.e||d.event||{}).clientX,top:i.clientY,right:i.clientX,bottom:i.clientY}:t.getBoundingClientRect(),u=e.offsetWidth,s=e.offsetHeight,r=function(t){return h.body[t=t?"scrollLeft":"scrollTop"]|h.documentElement[t]},o=function(t){return h.documentElement[t?"clientWidth":"clientHeight"]},c="margin"in n?n.margin:5,l=i.left,a=i.bottom,"center"===n.align?l-=(u-t.offsetWidth)/2:"right"===n.align&&(l=l-u+t.offsetWidth),(l=l+u+c>o("width")?o("width")-u-c:l)o()&&(i.top>s+c&&i.top<=o()?a=i.top-s-2*c:n.allowBottomOut||(a=o()-s-2*c)<0&&(a=0)),(u=n.position)&&(e.style.position=u),s=n.offset?n.offset[0]:0,f=n.offset?n.offset[1]:0,e.style.left=l+("fixed"===u?0:r(1))+s+"px",e.style.top=a+("fixed"===u?0:r())+f+"px",p.hasScrollbar()||(l=e.getBoundingClientRect(),!n.SYSTEM_RELOAD&&l.bottom+c>o()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){p.position(t,e,n)},50))))},p.options=function(t,e){if(e="object"==typeof e?e:{attr:e},t===h)return{};var t=p(t),n=e.attr||"lay-options",t=t.attr(n);try{return new Function("return "+(t||"{}"))()}catch(i){return layui.hint().error(e.errorText||[n+'="'+t+'"',"\n parseerror: "+i].join("\n"),"error"),{}}},p.isTopElem=function(n){var t=[h,p("body")[0]],i=!1;return p.each(t,function(t,e){if(e===n)return i=!0}),i},p.clipboard={writeText:function(n){var i=String(n.text);function t(){var t=h.createElement("textarea");t.value=i,t.style.position="fixed",t.style.opacity="0",t.style.top="0px",t.style.left="0px",h.body.appendChild(t),t.select();try{h.execCommand("copy"),"function"==typeof n.done&&n.done()}catch(e){"function"==typeof n.error&&n.error(e)}finally{t.remove?t.remove():h.body.removeChild(t)}}navigator&&"clipboard"in navigator?navigator.clipboard.writeText(i).then(n.done,function(){t()}):t()}},p.passiveSupported=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});d.addEventListener("test",null,e),d.removeEventListener("test",null,e)}catch(n){}return t}(),p.touchEventsSupported=function(){return"ontouchstart"in d},p.touchSwipe=function(t,e){var n,i,r,o=e,c=p(t)[0],a=!("preventDefault"in o)||o.preventDefault;c&&p.touchEventsSupported()&&(n={pointerStart:{x:0,y:0},pointerEnd:{x:0,y:0},distanceX:0,distanceY:0,direction:"none",timeStart:null},e=function(t){1===t.touches.length&&(c.addEventListener("touchmove",i,!!p.passiveSupported&&{passive:!1}),c.addEventListener("touchend",r),c.addEventListener("touchcancel",r),n.timeStart=Date.now(),n.pointerStart.x=n.pointerEnd.x=t.touches[0].clientX,n.pointerStart.y=n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.distanceY=0,n.direction="none",o.onTouchStart)&&o.onTouchStart(t,n)},i=function(t){a&&t.preventDefault(),n.pointerEnd.x=t.touches[0].clientX,n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.pointerStart.x-n.pointerEnd.x,n.distanceY=n.pointerStart.y-n.pointerEnd.y,Math.abs(n.distanceX)>Math.abs(n.distanceY)?n.direction=0]|&(?=#?[a-zA-Z0-9]+)/g;return e===undefined||null===e?"":r.test(e+="")?e.replace(r,function(e){return"&#"+e.charCodeAt(0)+";"}):e}},d=function(e,r){return new RegExp(e,r||"g")},h=function(e,r,t){return r=r||{},r=Object.assign({debug:"",message:"Laytpl "+(r.type||"")+"Error: "+e},r),"object"==typeof console&&console.error(r.message,"\n",r.debug,"\n",r),"function"==typeof t&&t(r),r.message},c={open:"{{",close:"}}",cache:!0,condense:!0,tagStyle:""},t=function(e,r){var t=this;r=t.config=Object.assign({template:e},c,r),t.vars=Object.assign({include:function(e,r){e=document.getElementById(e),e=e?e.innerHTML:"";return e?t.render(e,r):""}},n),t.compile(r.template)},r=(t.prototype.render=function(r,t){var n=this,c=n.config,o=r?n.compile(r):n.compilerCache||n.compile(c.template),e=function(){t=t||c.data||{};try{return o(t)}catch(e){return r=r||c.template,h(e,{debug:n.checkErrorArea(r,t),template:r,type:"Render"},c.error)}}();return c.cache&&!r&&(n.compilerCache=o),e},t.prototype.compile=function(e){var t=this,c=t.config,r=e,o=c.open,i=c.close,a=c.condense,u=d,l="\u2028";if("string"!=typeof e||!e)return function(){return""};var p=function(e,r){e=["(?:"+o+(e[0]||"")+"\\s*)","("+(e[1]||"[\\s\\S]")+"*?)","(?:\\s*"+(e[2]||"")+i+")"];return(r=r||{}).before&&e.unshift(r.before),r.after&&e.push(r.after),u(e.join(""))},n=a?["",""]:["(?:(?:\\n)*\\s*)","(?:\\s*?)"],f={before:n[0],after:n[1]},s=function(e,r){return e=(e=a?e:e.replace(u(l),r?"":"\n")).replace(/\\(\\|")/g,"$1")},g=t.parse=function(e){var n,r,t;return(e=e||"")&&(e=(e=(e=a?e.replace(/\t/g," ").replace(/\s+/g," "):e).replace(u("([}\\]])"+i),"$1 "+i).replace(/(?=\\|")/g,"\\").replace(/\r?\n/g,a?"":l)).replace(p(["!","","!"],f),function(e,r){return r=r.replace(u(o+"|"+i),function(e){return e.replace(/(?=.)/g,"\\")})}),n=function(e){return['";',e,'__laytpl__+="'].join("\n")},r=function(e,r,t){return t&&(r="-"===r?"":"_escape",t=s(t,!0))?n("__laytpl__+="+r+"("+t+");"):""},t=function(e,r){return r?(r=s(r),n(r)):""},e="modern"===c.tagStyle?(e=(e=e.replace(p(["#"],f),"")).replace(p(["(=|-)"]),r)).replace(p([],f),t):(e=e.replace(p(["#"],f),t)).replace(p(["(=|-)*"]),r),a||(e=e.replace(u(l),"\\n"))),e},n=t.createCompiler=function(e){e=["function(d){",'"use strict";','var __laytpl__="",'+function(){var e,r=[];for(e in t.vars)r.push(("escape"===e?"_":"")+e+"=laytpl."+e);return r.join(",")}()+";",'__laytpl__="'+g(e)+'";',"return __laytpl__;","};"].join("\n");return new Function("laytpl","return "+e)(t.vars)};try{return n(e)}catch(y){return delete t.compilerCache,function(){return h(y,{debug:t.checkErrorArea(r),template:r,type:"Compile"},c.error)}}},t.prototype.checkErrorArea=function(e,r){for(var t=e.split(/\n/g),n=-1,c=0,o="",i=t.length;cn.pages?n.curr=n.pages:n.curr<1&&(n.curr=1),r<0?r=1:r>n.pages&&(r=n.pages),n.prev="prev"in n?n.prev:"\u4e0a\u4e00\u9875",n.next="next"in n?n.next:"\u4e0b\u4e00\u9875",n.pages>r?Math.ceil((n.curr+(1'+n.prev+"":"",page:function(){var e=[];if(n.count<1)return"";1'+(n.first||1)+"");var a=Math.floor((r-1)/2),t=1n.pages?n.pages:a:r;for(i-t...');t<=i;t++)t===n.curr?e.push('"+t+""):e.push(''+t+"");return n.pages>r&&n.pages>i&&!1!==n.last&&(i+1...'),0!==r)&&e.push(''+(n.last||n.pages)+""),e.join("")}(),next:n.next?''+n.next+"":"",count:''+(e="object"==typeof n.countText?n.countText:["\u5171 "," \u6761"])[0]+n.count+e[1]+"",limit:(i=['"),refresh:['','',""].join(""),skip:[''+(e="object"==typeof n.skipText?n.skipText:["\u5230\u7b2c","\u9875","\u786e\u5b9a"])[0],'',e[1]+'",""].join("")};return['
',(t=[],layui.each(n.layout,function(e,a){l[a]&&t.push(l[a])}),t.join("")),"
"].join("")},t.prototype.jump=function(e,a){if(e){var t=this,i=t.config,n=e.children,r=e[c]("button")[0],u=e[c]("input")[0],e=e[c]("select")[0],l=function(){var e=Number(u.value.replace(/\s|\D/g,""));e&&(i.curr=e,t.render())};if(a)return l();for(var s=0,p=n.length;si.pages||(i.curr=e,t.render())});e&&o.on(e,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),r&&o.on(r,"click",function(){l()})}},t.prototype.skip=function(t){var i,e;t&&(i=this,e=t[c]("input")[0])&&o.on(e,"keyup",function(e){var a=this.value,e=e.keyCode;/^(37|38|39|40)$/.test(e)||(/\D/.test(a)&&(this.value=a.replace(/\D/,"")),13===e&&i.jump(t,!0))})},t.prototype.render=function(e){var a=this,t=a.config,i=a.type(),n=a.view(),i=(2===i?t.elem&&(t.elem.innerHTML=n):3===i?t.elem.html(n):r[u](t.elem)&&(r[u](t.elem).innerHTML=n),t.jump&&t.jump(t,e),r[u]("layui-laypage-"+t.index));a.jump(i),t.hash&&!e&&(location.hash="!"+t.hash+"="+t.curr),a.skip(i)},{render:function(e){return new t(e).index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(a,e,t){return a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1),this}});e("laypage",o)});!function(i,D){"use strict";var n=i.layui&&layui.define,l={getPath:i.lay&&lay.getPath?lay.getPath:"",link:function(e,t,a){T.path&&i.lay&&lay.layui&&lay.layui.link(T.path+e,t,a)}},e=i.LAYUI_GLOBAL||{},a="laydate",d="lay-"+a+"-id",T={v:"5.6.0",config:{weekStart:0},index:i.laydate&&i.laydate.v?1e5:0,path:e.laydate_dir||l.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",a=(n?"modules/":"")+"laydate.css?v="+T.v;return n?layui["layui.all"]?"function"==typeof e&&e():layui.addcss(a,e,t):l.link(a,e,t),this}},s=function(){var t=this,e=t.config.id;return(s.that[e]=t).inst={hint:function(e){t.hint.call(t,e)},reload:function(e){t.reload.call(t,e)},config:t.config}},M="layui-this",C="laydate-disabled",h=[100,2e5],v="layui-laydate-static",b="layui-laydate-list",o="laydate-selected",r="layui-laydate-hint",y="laydate-day-prev",m="laydate-day-next",E=".laydate-btns-confirm",L="laydate-time-text",I="laydate-btns-time",x="layui-laydate-preview",w="layui-laydate-shade",k=function(e){var t,a=this,n=(a.index=++T.index,a.config=lay.extend({},a.config,T.config,e),lay(e.elem||a.config.elem));return 1\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5
\u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a
","
\u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time
Please re-select",invalidDate:"Invalid date",formatError:["The date format error
Must be followed\uff1a
","
It has been reset"],preview:"The selected result"}};return e[this.config.lang]||e.cn},k.prototype.markerOfChineseFestivals={"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"},k.prototype.reload=function(e){this.config=lay.extend({},this.config,e),this.init()},k.prototype.init=function(){var r=this,o=r.config,e="static"===o.position,t={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};o.elem=lay(o.elem),o.eventElem=lay(o.eventElem),o.elem[0]&&("array"!==layui.type(o.theme)&&(o.theme=[o.theme]),o.fullPanel&&("datetime"!==o.type||o.range)&&delete o.fullPanel,r.rangeStr=o.range?"string"==typeof o.range?o.range:"-":"",r.rangeLinked=!(!o.range||!o.rangeLinked||"date"!==o.type&&"datetime"!==o.type),r.autoCalendarModel=function(){var e=r.rangeLinked;return r.rangeLinked=o.range&&("date"===o.type||"datetime"===o.type)&&(!r.startDate||!r.endDate||r.startDate&&r.endDate&&r.startDate.year===r.endDate.year&&r.startDate.month===r.endDate.month),lay(r.elem)[r.rangeLinked?"addClass":"removeClass"]("layui-laydate-linkage"),r.rangeLinked!=e},r.autoCalendarModel.auto=r.rangeLinked&&"auto"===o.rangeLinked,"array"===layui.type(o.range)&&(r.rangeElem=[lay(o.range[0]),lay(o.range[1])]),t[o.type]||(i.console&&console.error&&console.error("laydate type error:'"+o.type+"' is not supported"),o.type="date"),o.format===t.date&&(o.format=t[o.type]||t.date),r.format=s.formatArr(o.format),o.weekStart&&!/^[0-6]$/.test(o.weekStart)&&(t=r.lang(),o.weekStart=t.weeks.indexOf(o.weekStart),-1===o.weekStart)&&(o.weekStart=0),r.EXP_IF="",r.EXP_SPLIT="",lay.each(r.format,function(e,t){e=new RegExp(u).test(t)?"\\d{"+(new RegExp(u).test(r.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(t)?4:t.length:/^yyyy$/.test(t)?"1,4":/^y$/.test(t)?"1,308":"1,2")+"}":"\\"+t;r.EXP_IF=r.EXP_IF+e,r.EXP_SPLIT=r.EXP_SPLIT+"("+e+")"}),r.EXP_IF_ONE=new RegExp("^"+r.EXP_IF+"$"),r.EXP_IF=new RegExp("^"+(o.range?r.EXP_IF+"\\s\\"+r.rangeStr+"\\s"+r.EXP_IF:r.EXP_IF)+"$"),r.EXP_SPLIT=new RegExp("^"+r.EXP_SPLIT+"$",""),r.isInput(o.elem[0])||"focus"===o.trigger&&(o.trigger="click"),o.elem.attr("lay-key",r.index),o.eventElem.attr("lay-key",r.index),o.elem.attr(d,o.id),lay.each(["min","max"],function(e,t){var a=[],n=[];if("number"==typeof o[t])var i=o[t],l=new Date,l=r.newDate({year:l.getFullYear(),month:l.getMonth(),date:l.getDate(),hours:e?23:0,minutes:e?59:0,seconds:e?59:0}).getTime(),e=new Date(i?i<864e5?l+864e5*i:i:l),a=[e.getFullYear(),e.getMonth()+1,e.getDate()],n=[e.getHours(),e.getMinutes(),e.getSeconds()];else if("string"==typeof o[t])a=(o[t].match(/\d+-\d+-\d+/)||[""])[0].split("-"),n=(o[t].match(/\d+:\d+:\d+/)||[""])[0].split(":");else if("object"==typeof o[t])return o[t];o[t]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|n[0],minutes:0|n[1],seconds:0|n[2]}}),r.elemID="layui-laydate"+o.elem.attr("lay-key"),(o.show||e)&&r.render(),e||r.events(),"function"==typeof o.formatToDisplay&&(r.isInput(o.elem[0])?r.formatToDisplay(o.elem[0],o.formatToDisplay):(t=r.rangeElem)&&(r.formatToDisplay(t[0][0],o.formatToDisplay),r.formatToDisplay(t[1][0],o.formatToDisplay))),o.value)&&o.isInitValue&&("date"===layui.type(o.value)?r.setValue(r.parse(0,r.systemDate(o.value))):r.setValue(o.value))},k.prototype.render=function(){var a,n,i,l,r=this,o=r.config,d=r.lang(),s="static"===o.position,y=r.elem=lay.elem("div",{id:r.elemID,"class":["layui-laydate",o.range?" layui-laydate-range":"",r.rangeLinked?" layui-laydate-linkage":"",s?" "+v:"",o.fullPanel?" laydate-theme-fullpanel":"",(a="",lay.each(o.theme,function(e,t){"default"===t||/^#/.test(t)||(a+=" laydate-theme-"+t)}),a)].join("")}),m=r.elemMain=[],u=r.elemHeader=[],c=r.elemCont=[],h=r.table=[],e=r.footer=lay.elem("div",{"class":"layui-laydate-footer"}),t=r.shortcut=lay.elem("ul",{"class":"layui-laydate-shortcut"}),p=(o.zIndex&&(y.style.zIndex=o.zIndex),lay.each(new Array(2),function(e){if(!o.range&&0'+d.timeTips+""),(o.range||"datetime"!==o.type||o.fullPanel)&&p.push(''),lay.each(o.btns,function(e,t){var a=d.tools[t]||"btn";o.range&&"now"===t||(s&&"clear"===t&&(a="cn"===o.lang?"\u91cd\u7f6e":"Reset"),n.push(''+a+""))}),p.push('"),p.join(""))),o.shortcuts&&(y.appendChild(t),lay(t).html((i=[],lay.each(o.shortcuts,function(e,t){i.push('
  • '+t.text+"
  • ")}),i.join(""))).find("li").on("click",function(e){var t=o.shortcuts[this.dataset.index]||{},t=("function"==typeof t.value?t.value():t.value)||[],n=(layui.isArray(t)||(t=[t]),o.type),t=(lay.each(t,function(e,t){var a=[o.dateTime,r.endDate][e];"time"===n&&"date"!==layui.type(t)?r.EXP_IF.test(t)&&(t=(t.match(r.EXP_SPLIT)||[]).slice(1),lay.extend(a,{hours:0|t[0],minutes:0|t[2],seconds:0|t[4]})):lay.extend(a,r.systemDate("date"===layui.type(t)?t:new Date(t))),"time"!==n&&"datetime"!==n||(r[["startTime","endTime"][e]]={hours:a.hours,minutes:a.minutes,seconds:a.seconds}),0===e?r.startDate=lay.extend({},a):r.endState=!0,"year"===n||"month"===n||"time"===n?r.listYM[e]=[a.year,a.month+1]:e&&r.autoCalendarModel.auto&&r.autoCalendarModel()}),r.checkDate("limit").calendar(null,null,"init"),lay(r.footer).find("."+I).removeClass(C));t&&"date"===t.attr("lay-type")&&t[0].click(),r.done(null,"change"),lay(this).addClass(M),"static"!==o.position&&r.setValue(r.parse()).done().remove()})),lay.each(m,function(e,t){y.appendChild(t)}),o.showBottom&&y.appendChild(e),lay.elem("style")),f=[],g=!0,t=(lay.each(o.theme,function(e,t){g&&/^#/.test(t)?(g=!(l=!0),f.push(["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}",-1!==o.theme.indexOf("circle")?"":"#{{id}} .layui-this{background-color:{{theme}} !important;}","#{{id}} .laydate-day-now{color:{{theme}} !important;}","#{{id}} .laydate-day-now:after{border-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))):!g&&/^#/.test(t)&&f.push(["#{{id}} .laydate-selected>div{background-color:{{theme}} !important;}","#{{id}} .laydate-selected:hover>div{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))}),o.shortcuts&&o.range&&f.push("#{{id}}.layui-laydate-range{width: 628px;}".replace(/{{id}}/g,r.elemID)),f.length&&(f=f.join(""),"styleSheet"in p?(p.setAttribute("type","text/css"),p.styleSheet.cssText=f):p.innerHTML=f,l&&lay(y).addClass("laydate-theme-molv"),y.appendChild(p)),r.remove(k.thisElemDate),T.thisId=o.id,s?o.elem.append(y):(D.body.appendChild(y),r.position()),o.shade?'
    ':"");y.insertAdjacentHTML("beforebegin",t),r.checkDate().calendar(null,0,"init"),r.changeEvent(),k.thisElemDate=r.elemID,r.renderAdditional(),"function"==typeof o.ready&&o.ready(lay.extend({},o.dateTime,{month:o.dateTime.month+1})),r.preview()},k.prototype.remove=function(e){var t=this,a=t.config,n=lay("#"+(e||t.elemID));return n[0]&&(n.hasClass(v)||t.checkDate(function(){n.remove(),delete t.startDate,delete t.endDate,delete t.endState,delete t.startTime,delete t.endTime,delete T.thisId,"function"==typeof a.close&&a.close(t)}),lay("."+w).remove()),t},k.prototype.position=function(){var e=this.config;return lay.position(e.elem[0],this.elem,{position:e.position}),this},k.prototype.hint=function(e){var t=this,a=(t.config,lay.elem("div",{"class":r}));t.elem&&(a.innerHTML=(e="object"==typeof e?e||{}:{content:e}).content||"",lay(t.elem).find("."+r).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+r).remove()},"ms"in e?e.ms:3e3))},k.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),11h[1]&&(e.year=h[1],o=!0),11t)&&(e.date=t,o=!0)},c=function(n,i,l){var r=["startTime","endTime"];i=(i.match(d.EXP_SPLIT)||[]).slice(1),l=l||0,s.range&&(d[r[l]]=d[r[l]]||{}),lay.each(d.format,function(e,t){var a=parseFloat(i[e]);i[e].lengthd.getDateTime(s.max)?(r=s.dateTime=lay.extend({},s.max),i=!0):d.getDateTime(r)d.getDateTime(s.max))&&(d.endDate=lay.extend({},s.max),i=!0),d.startTime={hours:s.dateTime.hours,minutes:s.dateTime.minutes,seconds:s.dateTime.seconds},d.endTime={hours:d.endDate.hours,minutes:d.endDate.minutes,seconds:d.endDate.seconds},"month"===s.type)&&(s.dateTime.date=1,d.endDate.date=1),i&&m&&(d.setValue(d.parse()),d.hint("value "+l.invalidDate+l.formatError[1])),d.startDate=d.startDate||m&&lay.extend({},s.dateTime),d.autoCalendarModel.auto&&d.autoCalendarModel(),d.endState=!s.range||!d.rangeLinked||!(!d.startDate||!d.endDate),e&&e()),d},k.prototype.markRender=function(e,a,t){var n;"object"==typeof t?lay.each(t||{},function(e,t){e=e.split("-");e[0]!=a[0]&&0!=e[0]||e[1]!=a[1]&&0!=e[1]||e[2]!=a[2]||(n=t||a[2])}):"string"==typeof t&&(n=t||a[2]),n&&e.find("div").html(''+n+"")},k.prototype.mark=function(t,a){var n=this,e=n.config,i=function(e){n.markRender(t,a,e)};return e.calendar&&"cn"===e.lang&&i(n.markerOfChineseFestivals),"function"==typeof e.mark?e.mark({year:a[0],month:a[1],date:a[2]},i):"object"==typeof e.mark&&i(e.mark),n},k.prototype.holidaysRender=function(r,o,e){var d=["holidays","workdays"],s=function(e,t,a){e.find("div").html(["",a,""].join(""))};"array"===layui.type(e)?lay.each(e,function(l,e){lay.each(e,function(e,t){var a,n,i;t=t,a=r.attr("lay-ymd"),n=t.split("-"),i=a.split("-"),lay.each(n,function(e,t){n[e]=parseInt(t,10)}),lay.each(i,function(e,t){i[e]=parseInt(t,10)}),n.join("-")===i.join("-")&&s(r,d[l],o[2])})}):"string"==typeof e&&-1!==d.indexOf(e)&&s(r,e,o[2])},k.prototype.holidays=function(t,a){var n=this,e=n.config,i=function(e){n.holidaysRender(t,a,e)};return"function"==typeof e.holidays?e.holidays({year:a[0],month:a[1],date:a[2]},i):"array"===layui.type(e.holidays)&&i(e.holidays),n},k.prototype.cellRender=function(t,e,a){var n=this.config;return"function"==typeof n.cellRender&&n.cellRender(e,function(e){"string"==typeof e?lay(t).html(e):"object"==typeof e&&lay(t).html("").append(lay(e)[0])},{originElem:t,type:a}),this},k.prototype.startOfYear=function(e){e=new Date(e);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e},k.prototype.endOfYear=function(e){var e=new Date(e),t=e.getFullYear();return e.setFullYear(t+1,0,0),e.setHours(23,59,59,999),e},k.prototype.startOfMonth=function(e){e=new Date(e);return e.setDate(1),e.setHours(0,0,0,0),e},k.prototype.endOfMonth=function(e){var e=new Date(e),t=e.getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e},k.prototype.addDays=function(e,t){e=new Date(e);return t&&e.setDate(e.getDate()+t),e},k.prototype.isDisabledYearOrMonth=function(e,t,a){for(var n=this,i=n.config,l="year"===t?n.startOfYear(e):n.startOfMonth(e),t="year"===t?n.endOfYear(e):n.endOfMonth(e),r=Math.floor((t.getTime()-l.getTime())/864e5)+1,o=0,d=0;d(t.time?0:41)?i.endDate:e.dateTime;return lay.each({now:lay.extend({},a,t.date||{}),min:e.min,max:e.max},function(e,a){var n;l[e]=i.newDate(lay.extend({year:a.year,month:"year"===t.type?0:a.month,date:"year"===t.type||"month"===t.type?1:a.date},(n={},lay.each(t.time,function(e,t){n[t]=a[t]}),n))).getTime()}),a=l.nowh[1]&&(s.year=h[1],d.hint(y.invalidDate)),d.firstDate||(d.firstDate=lay.extend({},s)),n.setFullYear(s.year,s.month,1),l=(n.getDay()+(7-a.weekStart))%7,r=T.getEndDate(s.month||12,s.year),o=T.getEndDate(s.month+1,s.year),lay.each(u,function(e,t){var a,n=[s.year,s.month];(t=lay(t)).removeAttr("class"),e"+n[2]+""),d.mark(t,n).holidays(t,n).limit({elem:t,date:{year:n[0],month:n[1]-1,date:n[2]},index:e,rangeType:i,disabledType:"date"}),d.cellRender(t,{year:n[0],month:n[1],date:n[2]},"date")}),lay(c[0]).attr("lay-ym",s.year+"-"+(s.month+1)),lay(c[1]).attr("lay-ym",s.year+"-"+(s.month+1)),d.panelYM||(d.panelYM={}),d.panelYM[i]={year:s.year,month:s.month},"cn"===a.lang?(lay(c[0]).attr("lay-type","year").html(s.year+" \u5e74"),lay(c[1]).attr("lay-type","month").html(s.month+1+" \u6708")):(lay(c[0]).attr("lay-type","month").html(y.month[s.month]),lay(c[1]).attr("lay-type","year").html(s.year)),m&&(a.range?!e&&"init"===t||(d.listYM=[[(d.startDate||a.dateTime).year,(d.startDate||a.dateTime).month+1],[d.endDate.year,d.endDate.month+1]],d.list(a.type,0).list(a.type,1),"time"===a.type?d.setBtnStatus("\u65f6\u95f4",lay.extend({},d.systemDate(),d.startTime),lay.extend({},d.systemDate(),d.endTime)):d.setBtnStatus(!0)):(d.listYM=[[s.year,s.month+1]],d.list(a.type,0))),a.range&&"init"===t&&(d.rangeLinked?(n=d.getAsYM(s.year,s.month,i?"sub":null),d.calendar(lay.extend({},s,{year:n[0],month:n[1]}),1-i)):d.calendar(null,1-i)),a.range||(u=["hours","minutes","seconds"],d.limit({elem:lay(d.footer).find(".laydate-btns-now"),date:d.systemDate(/^(datetime|time)$/.test(a.type)?new Date:null),index:0,time:u,disabledType:"datetime"}),d.limit({elem:lay(d.footer).find(E),index:0,time:u,disabledType:"datetime"})),d.setBtnStatus(),lay(d.shortcut).find("li."+M).removeClass(M),a.range&&!m&&"init"!==t&&d.stampRange(),d},k.prototype.list=function(n,i){var l,r,e,a,o,d,t,s=this,y=s.config,m=s.rangeLinked?y.dateTime:[y.dateTime,s.endDate][i],u=s.lang(),c=y.range&&"date"!==y.type&&"datetime"!==y.type,h=lay.elem("ul",{"class":b+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[n]}),p=s.elemHeader[i],f=lay(p[2]).find("span"),g=s.elemCont[i||0],D=lay(g).find("."+b)[0],T="cn"===y.lang,v=T?"\u5e74":"",x=s.listYM[i]||{},w=["hours","minutes","seconds"],k=["startTime","endTime"][i];return x[0]<1&&(x[0]=1),"year"===n?(e=l=x[0]-7,l<1&&(e=l=1),lay.each(new Array(15),function(e){var t=lay.elem("li",{"lay-ym":l}),a={year:l,month:0,date:1};l==x[0]&&lay(t).addClass(M),t.innerHTML=l+v,h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:l,month:1,date:1},"year"),l++}),lay(f[T?0:1]).attr("lay-ym",l-8+"-"+x[1]).html(e+v+" - "+(l-1)+v)):"month"===n?(lay.each(new Array(12),function(e){var t=lay.elem("li",{"lay-ym":e}),a={year:x[0],month:e,date:1};e+1==x[1]&&lay(t).addClass(M),t.innerHTML=u.month[e]+(T?"\u6708":""),h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:x[0],month:e+1,date:1},"month")}),lay(f[T?0:1]).attr("lay-ym",x[0]+"-"+x[1]).html(x[0]+v)):"time"===n&&(r=function(){lay(h).find("ol").each(function(a,e){lay(e).find("li").each(function(e,t){s.limit({elem:lay(t),date:[{hours:e},{hours:s[k].hours,minutes:e},{hours:s[k].hours,minutes:s[k].minutes,seconds:e}][a],index:i,rangeType:i,disabledType:"time",time:[["hours"],["hours","minutes"],["hours","minutes","seconds"]][a]})})}),y.range||s.limit({elem:lay(s.footer).find(E),date:s[k],index:0,time:["hours","minutes","seconds"],disabledType:"datetime"})},y.range?s[k]||(s[k]="startTime"===k?m:s.endDate):s[k]=m,lay.each([24,60,60],function(t,e){var a=lay.elem("li"),n=["

    "+u.time[t]+"

      "];lay.each(new Array(e),function(e){n.push(""+lay.digit(e,2)+"")}),a.innerHTML=n.join("")+"
    ",h.appendChild(a)}),r(),e=-1!==y.format.indexOf("H"),f=-1!==y.format.indexOf("m"),t=-1!==y.format.indexOf("s"),a=h.children,o=0,lay.each([e,f,t],function(e,t){t||(a[e].className+=" layui-hide",o++)}),h.className+=" laydate-time-list-hide-"+o),D&&g.removeChild(D),g.appendChild(h),"year"===n||"month"===n?(lay(s.elemMain[i]).addClass("laydate-ym-show"),lay(h).find("li").on("click",function(){var e,t,a=0|lay(this).attr("lay-ym");lay(this).hasClass(C)||(s.rangeLinked?lay.extend(m,{year:"year"===n?a:x[0],month:"year"===n?x[1]-1:a}):m[n]=a,e=-1!==["year","month"].indexOf(y.type),t="year"===n&&-1!==["date","datetime"].indexOf(y.type),e||t?(lay(h).find("."+M).removeClass(M),lay(this).addClass(M),("month"===y.type&&"year"===n||t)&&(s.listYM[i][0]=a,c&&((i?s.endDate:m).year=a),s.list("month",i))):(s.checkDate("limit").calendar(m,i,"init"),s.closeList()),s.setBtnStatus(),!y.range&&y.autoConfirm&&("month"===y.type&&"month"===n||"year"===y.type&&"year"===n)&&s.setValue(s.parse()).done().remove(),s.autoCalendarModel.auto&&!s.rangeLinked?s.choose(lay(g).find("td.layui-this"),i):s.endState&&s.done(null,"change"),lay(s.footer).find("."+I).removeClass(C))})):(f=lay.elem("span",{"class":L}),d=function(){lay(h).find("ol").each(function(e){var a=this,t=lay(a).find("li");a.scrollTop=30*(s[k][w[e]]-2),a.scrollTop<=0&&t.each(function(e,t){if(!lay(this).hasClass(C))return a.scrollTop=30*(e-2),!0})})},t=lay(p[2]).find("."+L),d(),f.innerHTML=y.range?[u.startTime,u.endTime][i]:u.timeTips,lay(s.elemMain[i]).addClass("laydate-time-show"),t[0]&&t.remove(),p[2].appendChild(f),(D=lay(h).find("ol")).each(function(t){var a=this;lay(a).find("li").on("click",function(){var e=0|this.innerHTML;lay(this).hasClass(C)||(y.range?s[k][w[t]]=e:m[w[t]]=e,lay(a).find("."+M).removeClass(M),lay(this).addClass(M),r(),d(),!s.endDate&&"time"!==y.type&&"datetime"!==y.type||s.done(null,"change"),s.setBtnStatus())})}),layui.device().mobile&&D.css({overflowY:"auto",touchAction:"pan-y"})),s},k.prototype.listYM=[],k.prototype.closeList=function(){var a=this;a.config;lay.each(a.elemCont,function(e,t){lay(this).find("."+b).remove(),lay(a.elemMain[e]).removeClass("laydate-ym-show laydate-time-show")}),lay(a.elem).find("."+L).remove()},k.prototype.setBtnStatus=function(e,t,a){var n=this,i=n.config,l=n.lang(),r=lay(n.footer).find(E),o="datetime"===i.type||"time"===i.type?["hours","minutes","seconds"]:undefined;i.range&&(t=t||(n.rangeLinked?n.startDate:i.dateTime),a=a||n.endDate,i=!n.endState||n.newDate(t).getTime()>n.newDate(a).getTime(),n.limit({date:t,disabledType:"datetime",time:o,rangeType:0})||n.limit({date:a,disabledType:"datetime",time:o,rangeType:1})?r.addClass(C):r[i?"addClass":"removeClass"](C),e)&&i&&n.hint("string"==typeof e?l.timeout.replace(/\u65e5\u671f/g,e):l.timeout)},k.prototype.parse=function(e,t){var a=this,n=a.config,i=a.rangeLinked?a.startDate:n.dateTime,t=t||("end"==e?lay.extend({},a.endDate,a.endTime):n.range?lay.extend({},i||n.dateTime,a.startTime):n.dateTime),i=T.parse(t,a.format,1);return n.range&&e===undefined?i+" "+a.rangeStr+" "+a.parse("end"):i},k.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},k.prototype.getDateTime=function(e){return this.newDate(e).getTime()},k.prototype.formatToDisplay=function(e,t){var a=this,n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(e,"value",lay.extend({},n,{get:function(){return this.getAttribute("lay-date")},set:function(e){n.set.call(this,t.call(a,e)),this.setAttribute("lay-date",e)}}))},k.prototype.setValue=function(e){var t,a=this,n=a.config,i=n.elem[0];return"static"!==n.position&&(e=e||"",a.isInput(i)?lay(i).val(e):(t=a.rangeElem)?("array"!==layui.type(e)&&(e=e.split(" "+a.rangeStr+" ")),t[0].val(e[0]||""),t[1].val(e[1]||"")):(0===lay(i).find("*").length&&(t="function"==typeof n.formatToDisplay?n.formatToDisplay(e):e,lay(i).html(t)),lay(i).attr("lay-date",e))),a},k.prototype.preview=function(){var e,t=this,a=t.config;a.isPreview&&(e=lay(t.elem).find("."+x),a=!a.range||(t.rangeLinked?t.endState:t.endDate)?t.parse():"",e.html(a),e.html())&&(e.css({color:"#16b777"}),setTimeout(function(){e.css({color:"#777"})},300))},k.prototype.renderAdditional=function(){this.config.fullPanel&&this.list("time",0)},k.prototype.stampRange=function(){var n,i=this,l=i.config,r=i.rangeLinked?i.startDate:l.dateTime,e=lay(i.elem).find("td");l.range&&!i.endState&&lay(i.footer).find(E).addClass(C),r=r&&i.newDate({year:r.year,month:r.month,date:r.date}).getTime(),n=i.endState&&i.endDate&&i.newDate({year:i.endDate.year,month:i.endDate.month,date:i.endDate.date}).getTime(),lay.each(e,function(e,t){var a=lay(t).attr("lay-ymd").split("-"),a=i.newDate({year:a[0],month:a[1]-1,date:a[2]}).getTime();l.rangeLinked&&!i.startDate&&a===i.newDate(i.systemDate()).getTime()&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?"":"laydate-day-now"),lay(t).removeClass(o+" "+M),a!==r&&a!==n||(i.rangeLinked||!i.rangeLinked&&(e<42?a===r:a===n))&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?o:M),rn.getDateTime(i.max)&&(n[t]={hours:i.max.hours,minutes:i.max.minutes,seconds:i.max.seconds},lay.extend(l,n[t])))}),a||(n.startDate=lay.extend({},l)),n.endState&&!n.limit({date:n.rangeLinked?n.startDate:n.thisDateTime(1-a),disabledType:"date"})&&(((r=n.endState&&n.autoCalendarModel.auto?n.autoCalendarModel():r)||n.rangeLinked&&n.endState)&&n.newDate(n.startDate)>n.newDate(n.endDate)&&(n.startDate.year===n.endDate.year&&n.startDate.month===n.endDate.month&&n.startDate.date===n.endDate.date&&(o=n.startTime,n.startTime=n.endTime,n.endTime=o),o=n.startDate,n.startDate=lay.extend({},n.endDate,n.startTime),i.dateTime=lay.extend({},n.startDate),n.endDate=lay.extend({},o,n.endTime)),r)&&(i.dateTime=lay.extend({},n.startDate)),n.rangeLinked?(e=n.checkPanelDate(l,t),o=lay.extend({},l),d=r||e&&e.needFullRender?"init":null,e=e?e.index:t,n.calendar(o,e,d)):n.calendar(null,a,r?"init":null),n.endState&&n.done(null,"change")):"static"===i.position?n.calendar().done().done(null,"change"):"date"===i.type?i.autoConfirm?n.setValue(n.parse()).done().remove():n.calendar().done(null,"change"):"datetime"===i.type&&n.calendar().done(null,"change"))},k.prototype.tool=function(t,e){var a=this,n=a.config,i=a.lang(),l=n.dateTime,r="static"===n.position,o={datetime:function(){lay(t).hasClass(C)||(a.list("time",0),n.range&&a.list("time",1),lay(t).attr("lay-type","date").html(a.lang().dateTips))},date:function(){a.closeList(),lay(t).attr("lay-type","datetime").html(a.lang().timeTips)},clear:function(){r&&(lay.extend(l,a.firstDate),a.calendar()),n.range&&(delete n.dateTime,delete a.endDate,delete a.startTime,delete a.endTime),a.setValue(""),a.done(null,"onClear").done(["",{},{}]).remove()},now:function(){var e=new Date;if(lay(t).hasClass(C))return a.hint(i.tools.now+", "+i.invalidDate);lay.extend(l,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()),r&&a.calendar(),a.done(null,"onNow").done().remove()},confirm:function(){if(n.range){if(lay(t).hasClass(C))return("time"===n.type?a.startTime&&a.endTime&&a.newDate(a.startTime)>a.newDate(a.endTime):a.startDate&&a.endDate&&a.newDate(lay.extend({},a.startDate,a.startTime||{}))>a.newDate(lay.extend({},a.endDate,a.endTime||{})))?a.hint("time"===n.type?i.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):i.timeout):a.hint(i.invalidDate)}else if(lay(t).hasClass(C))return a.hint(i.invalidDate);a.setValue(a.parse()),a.done(null,"onConfirm").done().remove()}};o[e]&&o[e]()},k.prototype.change=function(n){var i=this,l=i.config,r=i.thisDateTime(n),o=l.range&&("year"===l.type||"month"===l.type),d=i.elemCont[n||0],s=i.listYM[n],e=function(e){var t=lay(d).find(".laydate-year-list")[0],a=lay(d).find(".laydate-month-list")[0];return t&&(s[0]=e?s[0]-15:s[0]+15,i.list("year",n)),a&&(e?s[0]--:s[0]++,i.list("month",n)),(t||a)&&(lay.extend(r,{year:s[0]}),o&&(r.year=s[0]),l.range||i.done(null,"change"),l.range||i.limit({elem:lay(i.footer).find(E),date:{year:s[0]},disabledType:"datetime"})),i.setBtnStatus(),t||a};return{prevYear:function(){e("sub")||(i.rangeLinked?(l.dateTime.year--,i.checkDate("limit").calendar(null,null,"init")):(r.year--,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))},prevMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month,"sub"),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month,"sub"),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextYear:function(){e()||(i.rangeLinked?(l.dateTime.year++,i.checkDate("limit").calendar(null,0,"init")):(r.year++,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))}}},k.prototype.changeEvent=function(){var i=this;i.config;lay(i.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(i.elemHeader,function(n,e){lay(e[0]).on("click",function(e){i.change(n).prevYear()}),lay(e[1]).on("click",function(e){i.change(n).prevMonth()}),lay(e[2]).find("span").on("click",function(e){var t=lay(this),a=t.attr("lay-ym"),t=t.attr("lay-type");a&&(a=a.split("-"),i.listYM[n]=[0|a[0],0|a[1]],i.list(t,n),lay(i.footer).find("."+I).addClass(C))}),lay(e[3]).on("click",function(e){i.change(n).nextMonth()}),lay(e[4]).on("click",function(e){i.change(n).nextYear()})}),lay.each(i.table,function(e,t){lay(t).find("td").on("click",function(){i.choose(lay(this),e)})}),lay(i.footer).find("span").on("click",function(){var e=lay(this).attr("lay-type");i.tool(this,e)})},k.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())||/INPUT|TEXTAREA/.test(e.tagName)},k.prototype.events=function(){var e,t=this,a=t.config;a.elem[0]&&!a.elem[0].eventHandler&&(a.elem.on(a.trigger,e=function(){T.thisId!==a.id&&t.render()}),a.elem[0].eventHandler=!0,a.eventElem.on(a.trigger,e),t.unbind=function(){t.remove(),a.elem.off(a.trigger,e),a.elem.removeAttr("lay-key"),a.elem.removeAttr(d),a.elem[0].eventHandler=!1,a.eventElem.off(a.trigger,e),a.eventElem.removeAttr("lay-key"),delete s.that[a.id]})},s.that={},s.getThis=function(e){var t=s.that[e];return!t&&n&&layui.hint().error(e?a+" instance with ID '"+e+"' not found":"ID argument required"),t},l.run=function(n){n(D).on("mousedown",function(e){var t,a;T.thisId&&(t=s.getThis(T.thisId))&&(a=t.config,e.target===a.elem[0]||e.target===a.eventElem[0]||e.target===n(a.closeStop)[0]||a.elem[0]&&a.elem[0].contains(e.target)||t.remove())}).on("keydown",function(e){var t;T.thisId&&(t=s.getThis(T.thisId))&&"static"!==t.config.position&&13===e.keyCode&&n("#"+t.elemID)[0]&&t.elemID===k.thisElemDate&&(e.preventDefault(),n(t.footer).find(E)[0].click())}),n(i).on("resize",function(){if(T.thisId){var e=s.getThis(T.thisId);if(e)return!(!e.elem||!n(".layui-laydate")[0])&&void e.position()}})},T.render=function(e){e=new k(e);return s.call(e)},T.reload=function(e,t){e=s.getThis(e);if(e)return e.reload(t)},T.getInst=function(e){e=s.getThis(e);if(e)return e.inst},T.hint=function(e,t){e=s.getThis(e);if(e)return e.hint(t)},T.unbind=function(e){e=s.getThis(e);if(e)return e.unbind()},T.close=function(e){e=s.getThis(e||T.thisId);if(e)return e.remove()},T.parse=function(a,n,i){return a=a||{},n=((n="string"==typeof n?s.formatArr(n):n)||[]).concat(),lay.each(n,function(e,t){/yyyy|y/.test(t)?n[e]=lay.digit(a.year,t.length):/MM|M/.test(t)?n[e]=lay.digit(a.month+(i||0),t.length):/dd|d/.test(t)?n[e]=lay.digit(a.date,t.length):/HH|H/.test(t)?n[e]=lay.digit(a.hours,t.length):/mm|m/.test(t)?n[e]=lay.digit(a.minutes,t.length):/ss|s/.test(t)&&(n[e]=lay.digit(a.seconds,t.length))}),n.join("")},T.getEndDate=function(e,t){var a=new Date;return a.setFullYear(t||a.getFullYear(),e||a.getMonth()+1,1),new Date(a.getTime()-864e5).getDate()},n?(T.ready(),layui.define("lay",function(e){T.path=layui.cache.dir,l.run(lay),e(a,T)})):"function"==typeof define&&define.amd?define(function(){return l.run(lay),T}):(T.ready(),l.run(i.lay),i.laydate=T)}(window,window.document);!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e):function(e){if(e.document)return t(e);throw new Error("jQuery requires a window with a document")}:t(e)}("undefined"!=typeof window?window:this,function(T,M){"use strict";var t=[],R=Object.getPrototypeOf,a=t.slice,I=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},W=t.push,b=t.indexOf,F={},$=F.toString,B=F.hasOwnProperty,_=B.toString,z=_.call(Object),g={},v=function v(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},X=function X(e){return null!=e&&e===e.window},C=T.document,U={type:!0,src:!0,nonce:!0,noModule:!0};function V(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in U)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function G(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?F[$.call(e)]||"object":typeof e}var e="3.7.1",Y=/HTML$/i,S=function(e,t){return new S.fn.init(e,t)};function J(e){var t=!!e&&"length"in e&&e.length,n=G(e);return!v(e)&&!X(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+n+")"+n+"*"),xe=new RegExp(n+"|>"),be=new RegExp(s),we=new RegExp("^"+e+"$"),Te={ID:new RegExp("^#("+e+")"),CLASS:new RegExp("^\\.("+e+")"),TAG:new RegExp("^("+e+"|[*])"),ATTR:new RegExp("^"+o),PSEUDO:new RegExp("^"+s),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+n+"*(even|odd|(([+-]|)(\\d*)n|)"+n+"*(?:([+-]|)"+n+"*(\\d+)|))"+n+"*\\)|)","i"),bool:new RegExp("^(?:"+ge+")$","i"),needsContext:new RegExp("^"+n+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+n+"*((?:-\\d)?\\d*)"+n+"*\\)|)(?=[^-]|$)","i")},Ce=/^(?:input|select|textarea|button)$/i,Se=/^h\d$/i,Ee=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ke=/[+~]/,f=new RegExp("\\\\[\\da-fA-F]{1,6}"+n+"?|\\\\([^\\r\\n\\f])","g"),d=function(e,t){e="0x"+e.slice(1)-65536;return t||(e<0?String.fromCharCode(65536+e):String.fromCharCode(e>>10|55296,1023&e|56320))},je=function(){Oe()},Ae=Ie(function(e){return!0===e.disabled&&x(e,"fieldset")},{dir:"parentNode",next:"legend"});try{j.apply(t=a.call(i.childNodes),i.childNodes),t[i.childNodes.length].nodeType}catch(sr){j={apply:function(e,t){ue.apply(e,a.call(t))},call:function(e){ue.apply(e,a.call(arguments,1))}}}function N(e,t,n,r){var i,o,s,a,u,l,c=t&&t.ownerDocument,f=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==f&&9!==f&&11!==f)return n;if(!r&&(Oe(t),t=t||E,k)){if(11!==f&&(a=Ee.exec(e)))if(i=a[1]){if(9===f){if(!(l=t.getElementById(i)))return n;if(l.id===i)return j.call(n,l),n}else if(c&&(l=c.getElementById(i))&&N.contains(t,l)&&l.id===i)return j.call(n,l),n}else{if(a[2])return j.apply(n,t.getElementsByTagName(e)),n;if((i=a[3])&&t.getElementsByClassName)return j.apply(n,t.getElementsByClassName(i)),n}if(!(pe[e+" "]||p&&p.test(e))){if(l=e,c=t,1===f&&(xe.test(e)||ve.test(e))){for((c=ke.test(e)&&He(t.parentNode)||t)==t&&g.scope||((s=t.getAttribute("id"))?s=S.escapeSelector(s):t.setAttribute("id",s=A)),o=(u=Me(e)).length;o--;)u[o]=(s?"#"+s:":scope")+" "+Re(u[o]);l=u.join(",")}try{return j.apply(n,c.querySelectorAll(l)),n}catch(d){pe(e,!0)}finally{s===A&&t.removeAttribute("id")}}}return _e(e.replace(ee,"$1"),t,n,r)}function De(){var n=[];function r(e,t){return n.push(e+" ")>w.cacheLength&&delete r[n.shift()],r[e+" "]=t}return r}function u(e){return e[A]=!0,e}function Ne(e){var t=E.createElement("fieldset");try{return!!e(t)}catch(sr){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function qe(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&Ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function Le(s){return u(function(o){return o=+o,u(function(e,t){for(var n,r=s([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function He(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function Oe(e){var e=e?e.ownerDocument||e:i;return e!=E&&9===e.nodeType&&e.documentElement&&(r=(E=e).documentElement,k=!S.isXMLDoc(E),ae=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&i!=E&&(e=E.defaultView)&&e.top!==e&&e.addEventListener("unload",je),g.getById=Ne(function(e){return r.appendChild(e).id=S.expando,!E.getElementsByName||!E.getElementsByName(S.expando).length}),g.disconnectedMatch=Ne(function(e){return ae.call(e,"*")}),g.scope=Ne(function(){return E.querySelectorAll(":scope")}),g.cssHas=Ne(function(){try{E.querySelector(":has(*,:jqfake)")}catch(sr){return 1}}),g.getById?(w.filter.ID=function(e){var t=e.replace(f,d);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&k)return(e=t.getElementById(e))?[e]:[]}):(w.filter.ID=function(e){var t=e.replace(f,d);return function(e){e="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}},w.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&k){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),w.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},w.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&k)return t.getElementsByClassName(e)},p=[],Ne(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||p.push("\\["+n+"*(?:value|"+ge+")"),e.querySelectorAll("[id~="+A+"-]").length||p.push("~="),e.querySelectorAll("a#"+A+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=E.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=E.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+n+"*name"+n+"*="+n+"*(?:''|\"\")")}),g.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),he=function(e,t){var n;return e===t?(se=!0,0):(n=!e.compareDocumentPosition-!t.compareDocumentPosition)||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===E||e.ownerDocument==i&&N.contains(i,e)?-1:t===E||t.ownerDocument==i&&N.contains(i,t)?1:oe?b.call(oe,e)-b.call(oe,t):0:4&n?-1:1)}),E}for(re in N.matches=function(e,t){return N(e,null,null,t)},N.matchesSelector=function(e,t){if(Oe(e),k&&!pe[t+" "]&&(!p||!p.test(t)))try{var n=ae.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(sr){pe(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(f,d),e[3]=(e[3]||e[4]||e[5]||"").replace(f,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||N.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&N.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Te.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&be.test(n)&&(t=(t=Me(n,!0))&&n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(f,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return x(e,t)}},CLASS:function(e){var t=ce[e+" "];return t||(t=new RegExp("(^|"+n+")"+e+"("+n+"|$)"))&&ce(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(e){e=N.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===r:"!="===n?e!==r:"^="===n?r&&0===e.indexOf(r):"*="===n?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Ge(e,n,r){return v(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/,Ke=((S.fn.init=function(e,t,n){if(e){if(n=n||Ye,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):v(e)?n.ready!==undefined?n.ready(e):e(S):S.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:Je.exec(e))||!r[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),Ve.test(r[1])&&S.isPlainObject(t))for(var r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r])}else(n=C.getElementById(r[2]))&&(this[0]=n,this.length=1)}return this}).prototype=S.fn,Ye=S(C),/^(?:parents|prev(?:Until|All))/),Qe={children:!0,contents:!0,next:!0,prev:!0};function Ze(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Et=/^$|^module$|\/(?:java|ecma)script/i,h=(o=C.createDocumentFragment().appendChild(C.createElement("div")),(s=C.createElement("input")).setAttribute("type","radio"),s.setAttribute("checked","checked"),s.setAttribute("name","t"),o.appendChild(s),g.checkClone=o.cloneNode(!0).cloneNode(!0).lastChild.checked,o.innerHTML="",g.noCloneChecked=!!o.cloneNode(!0).lastChild.defaultValue,o.innerHTML="",g.option=!!o.lastChild,{thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]});function y(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x(e,t)?S.merge([e],n):n}function kt(e,t){for(var n=0,r=e.length;n",""]);var jt=/<|&#?\w+;/;function At(e,t,n,r,i){for(var o,s,a,u,l,c=t.createDocumentFragment(),f=[],d=0,p=e.length;d\s*$/g;function Rt(e,t){return x(e,"table")&&x(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function It(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Wt(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ft(e,t){var n,r,i,o;if(1===t.nodeType){if(m.hasData(e)&&(o=m.get(e).events))for(i in m.remove(t,"handle events"),o)for(n=0,r=o[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}}),[]),ir=/(=)\?(?=&|$)|\?\?/,or=(S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=rr.pop()||S.expando+"_"+Hn.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,s=!1!==e.jsonp&&(ir.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&ir.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(ir,"$1"+r):!1!==e.jsonp&&(e.url+=(On.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=T[r],T[r]=function(){o=arguments},n.always(function(){i===undefined?S(T).removeProp(r):T[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,rr.push(r)),o&&v(i)&&i(o[0]),o=i=undefined}),"script"}),g.createHTMLDocument=((e=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===e.childNodes.length),S.parseHTML=function(e,t,n){var r;return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(g.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),r=!n&&[],(n=Ve.exec(e))?[t.createElement(n[1])]:(n=At([e],t,r),r&&r.length&&S(r).remove(),S.merge([],n.childNodes)))},S.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,s,a=S.css(e,"position"),u=S(e),l={};"static"===a&&(e.style.position="relative"),o=u.offset(),r=S.css(e,"top"),s=S.css(e,"left"),a=("absolute"===a||"fixed"===a)&&-1<(r+s).indexOf("auto")?(i=(a=u.position()).top,a.left):(i=parseFloat(r)||0,parseFloat(s)||0),null!=(t=v(t)?t.call(e,n,S.extend({},o)):t).top&&(l.top=t.top-o.top+i),null!=t.left&&(l.left=t.left-o.left+a),"using"in t?t.using.call(e,l):u.css(l)}},S.fn.extend({offset:function(t){var e,n;return arguments.length?t===undefined?this:this.each(function(e){S.offset.setOffset(this,t,e)}):(n=this[0])?n.getClientRects().length?(e=n.getBoundingClientRect(),n=n.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===S.css(e,"position");)e=e.offsetParent;return e||yt})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return c(this,function(e,t,n){var r;if(X(e)?r=e:9===e.nodeType&&(r=e.defaultView),n===undefined)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=on(g.pixelPosition,function(e,t){if(t)return t=rn(e,n),Jt.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(s,a){S.each({padding:"inner"+s,content:a,"":"outer"+s},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return c(this,function(e,t,n){var r;return X(e)?0===o.indexOf("outer")?e["inner"+s]:e.document.documentElement["client"+s]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+s],r["scroll"+s],e.body["offset"+s],r["offset"+s],r["client"+s])):n===undefined?S.css(e,t,i):S.style(e,t,n,i)},a,n?e:undefined,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0'+(s?a.title[0]:a.title)+"":"";return a.zIndex=o,t([a.shade?'
    ':"",'
    '+(e&&2!=a.type?"":s)+"'+(n=["layui-icon-tips","layui-icon-success","layui-icon-error","layui-icon-question","layui-icon-lock","layui-icon-face-cry","layui-icon-face-smile"],o="layui-anim layui-anim-rotate layui-anim-loop",0==a.type&&-1!==a.icon?'':3==a.type?(i=["layui-icon-loading","layui-icon-loading-1"],2==a.icon?'
    ':''):"")+((1!=a.type||!e)&&a.content||"")+'
    '+(n=[],r&&(n.push(''),n.push('')),a.closeBtn&&n.push(''),n.join(""))+"
    "+(a.btn?function(){var e="";"string"==typeof a.btn&&(a.btn=[a.btn]);for(var t,i=0,n=a.btn.length;i'+a.btn[i]+"";return'
    '+e+"
    "}():"")+(a.resize?'':"")+""],s,h('
    ')),this},t.pt.creat=function(){var e,t,i,n,a=this,o=a.config,s=a.index,r="object"==typeof(d=o.content),l=h("body"),c=function(e){var t;o.shift&&(o.anim=o.shift),u.anim[o.anim]&&(t="layer-anim "+u.anim[o.anim],e.addClass(t).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){h(this).removeClass(t)}))};if(o.id&&h("."+u[0]).find("#"+o.id)[0])e=h("#"+o.id).closest("."+u[0]),t=e.attr("times"),i=e.data("config"),n=h("#"+u.SHADE+t),"min"===(e.data("maxminStatus")||{})?v.restore(t):i.hideOnClose&&(n.show(),e.show(),c(e),setTimeout(function(){n.css({opacity:n.data(y)})},10));else{switch(o.removeFocus&&document.activeElement&&document.activeElement.blur(),"string"==typeof o.area&&(o.area="auto"===o.area?["",""]:[o.area,""]),6==v.ie&&(o.fixed=!1),o.type){case 0:o.btn="btn"in o?o.btn:f.btn[0],v.closeAll("dialog");break;case 2:var d=o.content=r?o.content:[o.content||"","auto"];o.content='';break;case 3:delete o.title,delete o.closeBtn,-1===o.icon&&o.icon,v.closeAll("loading");break;case 4:r||(o.content=[o.content,"body"]),o.follow=o.content[1],o.content=o.content[0]+'',delete o.title,o.tips="object"==typeof o.tips?o.tips:[o.tips,!0],o.tipsMore||v.closeAll("tips")}a.vessel(r,function(e,t,i){l.append(e[0]),r?2==o.type||4==o.type?h("body").append(e[1]):d.parents("."+u[0])[0]||(d.data("display",d.css("display")).show().addClass("layui-layer-wrap").wrap(e[1]),h("#"+u[0]+s).find("."+u[5]).before(t)):l.append(e[1]),h("#"+u.MOVE)[0]||l.append(f.moveElem=i),a.layero=h("#"+u[0]+s),a.shadeo=h("#"+u.SHADE+s),o.scrollbar||f.setScrollbar(s)}).auto(s),a.shadeo.css({"background-color":o.shade[1]||"#000",opacity:o.shade[0]||o.shade,transition:o.shade[2]||""}),a.shadeo.data(y,o.shade[0]||o.shade),2==o.type&&6==v.ie&&a.layero.find("iframe").attr("src",d[0]),4==o.type?a.tips():(a.offset(),parseInt(f.getStyle(document.getElementById(u.MOVE),"z-index"))||(a.layero.css("visibility","hidden"),v.ready(function(){a.offset(),a.layero.css("visibility","visible")}))),!o.fixed||f.events.resize[a.index]||(f.events.resize[a.index]=function(){a.resize()},g.on("resize",f.events.resize[a.index])),a.layero.data("config",o),o.time<=0||setTimeout(function(){v.close(a.index)},o.time),a.move().callback(),c(a.layero)}},t.pt.resize=function(){var e=this,t=e.config;e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(e.index),4==t.type&&e.tips()},t.pt.auto=function(e){var t=this.config,i=h("#"+u[0]+e),n=((""===t.area[0]||"auto"===t.area[0])&&0t.maxWidth)&&i.width(t.maxWidth),[i.innerWidth(),i.innerHeight()]),a=i.find(u[1]).outerHeight()||0,o=i.find("."+u[6]).outerHeight()||0,e=function(e){(e=i.find(e)).height(n[1]-a-o-2*(0|parseFloat(e.css("padding-top"))))};return 2===t.type?e("iframe"):""===t.area[1]||"auto"===t.area[1]?0t.maxHeight?(n[1]=t.maxHeight,e("."+u[5])):t.fixed&&n[1]>=g.height()&&(n[1]=g.height(),e("."+u[5])):e("."+u[5]),this},t.pt.offset=function(){var e=this,t=e.config,i=e.layero,n=[i.outerWidth(),i.outerHeight()],a="object"==typeof t.offset;e.offsetTop=(g.height()-n[1])/2,e.offsetLeft=(g.width()-n[0])/2,a?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=g.width()-n[0]:"b"===t.offset?e.offsetTop=g.height()-n[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=g.width()-n[0]):"rb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=g.width()-n[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?g.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?g.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=g.scrollTop(),e.offsetLeft+=g.scrollLeft()),"min"===i.data("maxminStatus")&&(e.offsetTop=g.height()-(i.find(u[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},t.pt.tips=function(){var e=this.config,t=this.layero,i=[t.outerWidth(),t.outerHeight()],n=h(e.follow),a={width:(n=n[0]?n:h("body")).outerWidth(),height:n.outerHeight(),top:n.offset().top,left:n.offset().left},o=t.find(".layui-layer-TipsG"),n=e.tips[0];e.tips[1]||o.remove(),a.autoLeft=function(){0'):e.removeClass("layui-layer-btn-is-loading").removeAttr("disabled").find(".layui-layer-btn-loading-icon").remove()},t.pt.callback=function(){var n=this,a=n.layero,o=n.config;n.openLayer(),o.success&&(2==o.type?a.find("iframe").on("load",function(){o.success(a,n.index,n)}):o.success(a,n.index,n)),6==v.ie&&n.IE6(a),a.find("."+u[6]).children("a").on("click",function(){var e,t=h(this),i=t.index();t.attr("disabled")||(o.btnAsync?(e=0===i?o.yes||o.btn1:o["btn"+(i+1)],n.loading=function(e){n.btnLoading(t,e)},e?f.promiseLikeResolve(e.call(o,n.index,a,n)).then(function(e){!1!==e&&v.close(n.index)},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}):v.close(n.index)):0===i?o.yes?o.yes(n.index,a,n):o.btn1?o.btn1(n.index,a,n):v.close(n.index):!1!==(o["btn"+(i+1)]&&o["btn"+(i+1)](n.index,a,n))&&v.close(n.index))}),a.find("."+u[7]).on("click",function(){!1!==(o.cancel&&o.cancel(n.index,a,n))&&v.close(n.index)}),o.shadeClose&&n.shadeo.on("click",function(){v.close(n.index)}),a.find(".layui-layer-min").on("click",function(){!1!==(o.min&&o.min(a,n.index,n))&&v.min(n.index,o)}),a.find(".layui-layer-max").on("click",function(){h(this).hasClass("layui-layer-maxmin")?(v.restore(n.index),o.restore&&o.restore(a,n.index,n)):(v.full(n.index,o),setTimeout(function(){o.full&&o.full(a,n.index,n)},100))}),o.end&&(f.end[n.index]=o.end),o.beforeEnd&&(f.beforeEnd[n.index]=h.proxy(o.beforeEnd,o,a,n.index,n))},f.reselect=function(){h.each(h("select"),function(e,t){var i=h(this);i.parents("."+u[0])[0]||1==i.attr("layer")&&h("."+u[0]).length<1&&i.removeAttr("layer").show()})},t.pt.IE6=function(e){h("select").each(function(e,t){var i=h(this);i.parents("."+u[0])[0]||"none"!==i.css("display")&&i.attr({layer:"1"}).hide()})},t.pt.openLayer=function(){v.zIndex=this.config.zIndex,v.setTop=function(e){return v.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",function(){v.zIndex++,e.css("z-index",v.zIndex+1)}),v.zIndex}},f.record=function(e){if(!e[0])return p.console&&console.error("index error");var t=e.attr("type"),i=e.find(".layui-layer-content"),t=t===f.type[2]?i.children("iframe"):i,n=[e[0].style.width||f.getStyle(e[0],"width"),e[0].style.height||f.getStyle(e[0],"height"),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:n}),i.data(l,f.getStyle(t[0],"height"))},f.setScrollbar=function(e){u.html.css("overflow","hidden")},f.restScrollbar=function(t){u.html.css("overflow")&&0===h("."+u[0]).filter(function(){var e=h(this);return!1===(e.data("config")||{}).scrollbar&&"min"!==e.data("maxminStatus")&&e.attr("times")!==String(t)}).length&&u.html.css("overflow","")},f.promiseLikeResolve=function(e){var t=h.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()},(p.layer=v).getChildFrame=function(e,t){return t=t||h("."+u[4]).attr("times"),h("#"+u[0]+t).find("iframe").contents().find(e)},v.getFrameIndex=function(e){if(e)return h("#"+e).parents("."+u[4]).attr("times")},v.iframeAuto=function(e){var t,i,n;e&&(t=v.getChildFrame("html",e).outerHeight(),i=(e=h("#"+u[0]+e)).find(u[1]).outerHeight()||0,n=e.find("."+u[6]).outerHeight()||0,e.css({height:t+i+n}),e.find("iframe").css({height:t}))},v.iframeSrc=function(e,t){h("#"+u[0]+e).find("iframe").attr("src",t)},v.style=function(e,t,i){var e=h("#"+u[0]+e),n=e.find(".layui-layer-content"),a=e.attr("type"),o=e.find(u[1]).outerHeight()||0,s=e.find("."+u[6]).outerHeight()||0;e.attr("minLeft");a!==f.type[3]&&a!==f.type[4]&&(i||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-o-s<=64&&(t.height=64+o+s)),e.css(t),s=e.find("."+u[6]).outerHeight()||0,a===f.type[2]?e.find("iframe").css({height:("number"==typeof t.height?t.height:e.height())-o-s}):n.css({height:("number"==typeof t.height?t.height:e.height())-o-s-parseFloat(n.css("padding-top"))-parseFloat(n.css("padding-bottom"))}))},v.min=function(e,t){var i,n,a,o,s,r,l=h("#"+u[0]+e),c=l.data("maxminStatus");"min"!==c&&("max"===c&&v.restore(e),l.data("maxminStatus","min"),t=t||l.data("config")||{},c=h("#"+u.SHADE+e),i=l.find(".layui-layer-min"),n=l.find(u[1]).outerHeight()||0,o=(a="string"==typeof(o=l.attr("minLeft")))?o:181*f.minStackIndex+"px",s=l.css("position"),r={width:180,height:n,position:"fixed",overflow:"hidden"},f.record(l),0g.width()&&(o=g.width()-180-(f.minStackArr.edgeIndex=f.minStackArr.edgeIndex||0,f.minStackArr.edgeIndex+=3))<0&&(o=0),t.minStack&&(r.left=o,r.top=g.height()-n,a||f.minStackIndex++,l.attr("minLeft",o)),l.attr("position",s),v.style(e,r,!0),i.hide(),"page"===l.attr("type")&&l.find(u[4]).hide(),f.restScrollbar(e),c.hide())},v.restore=function(e){var t=h("#"+u[0]+e),i=h("#"+u.SHADE+e),n=t.find(".layui-layer-content"),a=t.attr("area").split(","),o=t.attr("type"),s=t.data("config")||{},r=n.data(l);t.removeData("maxminStatus"),v.style(e,{width:a[0],height:a[1],top:parseFloat(a[2]),left:parseFloat(a[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===o&&t.find(u[4]).show(),s.scrollbar?f.restScrollbar(e):f.setScrollbar(e),r!==m&&(n.removeData(l),(o===f.type[2]?n.children("iframe"):n).css({height:r})),i.show()},v.full=function(t){var i=h("#"+u[0]+t),e=i.data("maxminStatus");"max"!==e&&("min"===e&&v.restore(t),i.data("maxminStatus","max"),f.record(i),f.setScrollbar(t),setTimeout(function(){var e="fixed"===i.css("position");v.style(t,{top:e?0:g.scrollTop(),left:e?0:g.scrollLeft(),width:"100%",height:"100%"},!0),i.find(".layui-layer-min").hide()},100))},v.title=function(e,t){h("#"+u[0]+(t||v.index)).find(u[1]).html(e)},v.close=function(s,r){var e,t,l=(e=h("."+u[0]).children("#"+s).closest("."+u[0]))[0]?(s=e.attr("times"),e):h("#"+u[0]+s),c=l.attr("type"),i=l.data("config")||{},d=i.id&&i.hideOnClose;l[0]&&(t=function(){var o={slideDown:"layer-anim-slide-down-out",slideLeft:"layer-anim-slide-left-out",slideUp:"layer-anim-slide-up-out",slideRight:"layer-anim-slide-right-out"}[i.anim]||"layer-anim-close",e=function(){var e="layui-layer-wrap";if(d)return l.removeClass("layer-anim "+o),l.hide();if(c===f.type[1]&&"object"===l.attr("conType")){l.children(":not(."+u[5]+")").remove();for(var t=l.find("."+e),i=0;i<2;i++)t.unwrap();t.css("display",t.data("display")).removeClass(e)}else{if(c===f.type[2])try{var n=h("#"+u[4]+s)[0];n.contentWindow.document.write(""),n.contentWindow.close(),l.find("."+u[5])[0].removeChild(n)}catch(a){}l[0].innerHTML="",l.remove()}"function"==typeof f.end[s]&&f.end[s](),delete f.end[s],"function"==typeof r&&r(),f.events.resize[s]&&(g.off("resize",f.events.resize[s]),delete f.events.resize[s])},t=h("#"+u.SHADE+s);v.ie&&v.ie<10||!i.isOutAnim?t[d?"hide":"remove"]():(t.css({opacity:0}),setTimeout(function(){t[d?"hide":"remove"]()},350)),i.isOutAnim&&l.addClass("layer-anim "+o),6==v.ie&&f.reselect(),f.restScrollbar(s),"string"==typeof l.attr("minLeft")&&(f.minStackIndex--,f.minStackArr.push(l.attr("minLeft"))),v.ie&&v.ie<10||!i.isOutAnim?e():setTimeout(function(){e()},200)},d||"function"!=typeof f.beforeEnd[s]?(delete f.beforeEnd[s],t()):f.promiseLikeResolve(f.beforeEnd[s]()).then(function(e){!1!==e&&(delete f.beforeEnd[s],t())},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}))},v.closeAll=function(n,a){"function"==typeof n&&(a=n,n=null);var o=h("."+u[0]);h.each(o,function(e){var t=h(this),i=n?t.attr("type")===n:1;i&&v.close(t.attr("times"),e===o.length-1?a:null)}),0===o.length&&"function"==typeof a&&a()},v.closeLast=function(i,e){var t,n=[],a=h.isArray(i);h("string"==typeof i?".layui-layer-"+i:".layui-layer").each(function(e,t){t=h(t);if(a&&-1===i.indexOf(t.attr("type"))||"none"===t.css("display"))return!0;n.push(Number(t.attr("times")))}),0":'",s=i.success;return delete i.success,v.open(h.extend({type:1,btn:["\u786e\u5b9a","\u53d6\u6d88"],content:o,skin:"layui-layer-prompt"+x("prompt"),maxWidth:g.width(),success:function(e){(a=e.find(".layui-layer-input")).val(i.value||"").focus(),"function"==typeof s&&s(e)},resize:!1,yes:function(e){var t=a.val();t.length>(i.maxlength||500)?v.tips("\u6700\u591a\u8f93\u5165"+(i.maxlength||500)+"\u4e2a\u5b57\u7b26",a,{tips:1}):n&&n(t,e,a)}},i))},v.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,v.open(h.extend({type:1,skin:"layui-layer-tab"+x("tab"),resize:!1,title:function(){var e=a.length,t=1,i="";if(0'+a[0].title+"";t"+a[t].title+"";return i}(),content:'
      '+function(){var e=a.length,t=1,i="";if(0'+(a[0].content||"no content")+"";t'+(a[t].content||"no content")+"";return i}()+"
    ",success:function(e){var t=e.find(".layui-layer-title").children(),i=e.find(".layui-layer-tabmain").children();t.on("mousedown",function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0;var e=h(this),t=e.index();e.addClass(o).siblings().removeClass(o),i.eq(t).show().siblings().hide(),"function"==typeof n.change&&n.change(t)}),"function"==typeof s&&s(e)}},n))},v.photos=function(n,e,a){var s={};if((n=h.extend(!0,{toolbar:!0,footer:!0},n)).photos){var t=!("string"==typeof n.photos||n.photos instanceof h),i=t?n.photos:{},o=i.data||[],r=i.start||0,l=n.success;if(s.imgIndex=1+(0|r),n.img=n.img||"img",delete n.success,t){if(0===o.length)return v.msg("\u6ca1\u6709\u56fe\u7247")}else{var c=h(n.photos),d=function(){o=[],c.find(n.img).each(function(e){var t=h(this);t.attr("layer-index",e),o.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("lay-src")||t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(d(),e||c.on("click",n.img,function(){d();var e=h(this).attr("layer-index");v.photos(h.extend(n,{photos:{start:e,data:o,tab:n.tab},full:n.full}),!0)}),!e)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=o.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>o.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){var t;s.end||(t=e.keyCode,e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&v.close(s.index))},s.tabimg=function(e){if(!(o.length<=1))return i.start=s.imgIndex-1,v.close(s.index),v.photos(n,!0,e)},s.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},s.image={},s.getTransform=function(e){var t=[],i=e.rotate,n=e.scaleX,e=e.scale;return s.isNumber(i)&&0!==i&&t.push("rotate("+i+"deg)"),s.isNumber(n)&&1!==n&&t.push("scaleX("+n+")"),s.isNumber(e)&&t.push("scale("+e+")"),t.length?t.join(" "):"none"},s.event=function(e,i,n){var a,o;s.main.find(".layui-layer-photos-prev").on("click",function(e){e.preventDefault(),s.imgprev(!0)}),s.main.find(".layui-layer-photos-next").on("click",function(e){e.preventDefault(),s.imgnext(!0)}),h(document).on("keyup",s.keyup),e.off("click").on("click","*[toolbar-event]",function(){var e=h(this);switch(e.attr("toolbar-event")){case"rotate":s.image.rotate=((s.image.rotate||0)+Number(e.attr("data-option")))%360,s.imgElem.css({transform:s.getTransform(s.image)});break;case"scalex":s.image.scaleX=-1===s.image.scaleX?1:-1,s.imgElem.css({transform:s.getTransform(s.image)});break;case"zoom":var t=Number(e.attr("data-option"));s.image.scale=(s.image.scale||1)+t,t<0&&s.image.scale<0-t&&(s.image.scale=0-t),s.imgElem.css({transform:s.getTransform(s.image)});break;case"reset":s.image.scaleX=1,s.image.scale=1,s.image.rotate=0,s.imgElem.css({transform:"none"});break;case"close":v.close(i)}n.offset(),n.auto(i)}),s.main.on("mousewheel DOMMouseScroll",function(e){var t=e.originalEvent.wheelDelta||-e.originalEvent.detail,i=s.main.find('[toolbar-event="zoom"]');(0n)&&("left"===t.direction?s.imgnext(!0):"right"===t.direction&&s.imgprev(!0))},h.each([n.shadeo,s.main],function(e,t){a.touchSwipe(t,{onTouchEnd:o})}))},s.loadi=v.load(1,{shade:!("shade"in n)&&[.9,m,"unset"],scrollbar:!1});var t=o[r].src,f=function(e){v.close(s.loadi);var t,i=o[r].alt||"";a&&(n.anim=-1),s.index=v.open(h.extend({type:1,id:"layui-layer-photos",area:(e=[e.width,e.height],t=[h(p).width()-100,h(p).height()-100],!n.full&&(t[0]'+i+''+(t=['
    '],1','','',"
    "].join("")),n.toolbar&&t.push(['
    ','','','','','','',"
    "].join("")),n.footer&&t.push(['"].join("")),t.push(""),t.join(""))+"",success:function(e,t,i){s.main=e.find(".layer-layer-photos-main"),s.footer=e.find(".layui-layer-photos-footer"),s.imgElem=s.main.children("img"),s.event(e,t,i),n.tab&&n.tab(o[r],e),"function"==typeof l&&l(e)},end:function(){s.end=!0,h(document).off("keyup",s.keyup)}},n))},u=function(){v.close(s.loadi),v.msg("\u5f53\u524d\u56fe\u7247\u5730\u5740\u5f02\u5e38\uff0c
    \u662f\u5426\u7ee7\u7eed\u67e5\u770b\u4e0b\u4e00\u5f20\uff1f",{time:3e4,btn:["\u4e0b\u4e00\u5f20","\u4e0d\u770b\u4e86"],yes:function(){1").addClass(o));layui.each(i.bars,function(t,e){var n=s('
  • ');n.addClass(e.icon).attr({"lay-type":e.type,style:e.style||(i.bgcolor?"background-color: "+i.bgcolor:"")}).html(e.content),n.on("click",function(){var t=s(this).attr("lay-type");"top"===t&&("body"===i.target?s("html,body"):c).animate({scrollTop:0},i.duration),"function"==typeof i.click&&i.click.call(this,t)}),"object"===layui.type(i.on)&&layui.each(i.on,function(t,e){n.on(t,function(){var t=s(this).attr("lay-type");"function"==typeof e&&e.call(this,t)})}),"top"===e.type&&(n.addClass("layui-fixbar-top"),r=n),l.append(n)}),u.find("."+o).remove(),"object"==typeof i.css&&l.css(i.css),u.append(l),r&&(e=function e(){return c.scrollTop()>=i.margin?t||(r.show(),t=1):t&&(r.hide(),t=0),e}()),c.on("scroll",function(){e&&(clearTimeout(n),n=setTimeout(function(){e()},100))})},countdown:function(i){i=s.extend(!0,{date:new Date,now:new Date},i);var r=arguments,o=(1]|&(?=#?[a-zA-Z0-9]+)/g.test(t+="")?t.replace(/&(?=#?[a-zA-Z0-9]+;?)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):t},unescape:function(t){return t===undefined||null===t?"":String(t).replace(/\"/g,'"').replace(/\'/g,"'").replace(/\>/g,">").replace(/\</g,"<").replace(/\&/g,"&")},openWin:function(t){var e=(t=t||{}).window||window.open(t.url||"",t.target,t.specs);t.url||(e.document.open("text/html","replace"),e.document.write(t.content||""),e.document.close())},toVisibleArea:function(t){var e,n,i,r,o,a,u,c;(t=s.extend({margin:160,duration:200,type:"y"},t)).scrollElem[0]&&t.thisElem[0]&&(e=t.scrollElem,u=t.thisElem,i=(o="y"===t.type)?"top":"left",r=e[n=o?"scrollTop":"scrollLeft"](),o=e[o?"height":"width"](),a=e.offset()[i],c={},(u=u.offset()[i]-a)>o-t.margin||u."+v,T=function(e){var i=this;i.index=++h.index,i.config=c.extend({},i.config,h.config,e),i.init()};T.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:[200,300],shade:0,accordion:!1,closeOnClick:!0},T.prototype.reload=function(e,i){var t=this;t.config=c.extend({},t.config,e),t.init(!0,i)},T.prototype.init=function(e,i){var t=this,n=t.config,a=c(n.elem);return 1",(t="href"in i?''+o+"":o,n?'
    '+t+("parent"===l?'':"group"===l&&d.isAllowSpread?'':"")+"
    ":'
    '+t+"
    "),"
  • "].join(""))).data("item",i),n&&(a=c('
    '),t=c("
      "),"parent"===l?(a.append(u(t,i[s.children])),o.append(a)):o.append(u(t,i[s.children]))),r.append(o))}),r},t=['
      ',"
      "].join(""),n=d.content||(n=c('
        '),0\u6682\u65e0\u6570\u636e'),n),a=g.findMainElem(d.id);"reloadData"===e&&a.length?(i=o.mainElem=a).html(n):((i=o.mainElem=c(t)).append(n),i.addClass(d.className),i.attr("style",d.style),o.remove(h.thisId),d.target.append(i),d.elem.data(f,!0),e=d.shade?'
        ':"",i.before(e),"mouseenter"===d.trigger&&i.on("mouseenter",function(){clearTimeout(g.timer)}).on("mouseleave",function(){o.delayRemove()})),o.position(),h.thisId=d.id,i.find(".layui-menu").on(l,function(e){layui.stope(e)}),i.find(".layui-menu li").on("click",function(e){var i=c(this),t=i.data("item")||{},n=t[s.children]&&0n.width()&&(t.addClass(x),(i=t[0].getBoundingClientRect()).left<0)&&t.removeClass(x),i.bottom>n.height())&&t.eq(0).css("margin-top",-(i.bottom-n.height()+5))}).on("mouseleave",t,function(e){var i=c(this).children("."+C);i.removeClass(x),i.css("margin-top",0)}),h.close=function(e){e=g.getThis(e);return e?(e.remove(),g.call(e)):this},h.open=function(e){e=g.getThis(e);return e?(e.render(),g.call(e)):this},h.reload=function(e,i,t){e=g.getThis(e);return e?(e.reload(i,t),g.call(e)):this},h.reloadData=function(){var t=c.extend([],arguments),n=(t[2]="reloadData",new RegExp("^("+["data","templet","content"].join("|")+")$"));return layui.each(t[1],function(e,i){n.test(e)||delete t[1][e]}),h.reload.apply(null,t)},h.render=function(e){e=new T(e);return g.call(e)},e(r,h)});layui.define(["jquery","lay"],function(e){"use strict";var x=layui.$,b=layui.lay,m={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=x.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},i="slider",f="layui-disabled",T="layui-slider-bar",w="layui-slider-wrap",M="layui-slider-wrap-btn",L="layui-slider-tips",E="layui-slider-input-txt",Y="layui-slider-hover",t=function(e){var t=this;t.index=++m.index,t.config=x.extend({},t.config,m.config,e),t.render()};t.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,tipsAlways:!1,input:!1,range:!1,height:200,disabled:!1,theme:"#16baaa"},t.prototype.precision=function(){var e=this.config,e=x.map([e.min,e.max,e.step],function(e,t){e=String(e).split(".");return e[1]?e[1].length:0});return Math.max.apply(null,e)},t.prototype.render=function(){var n=this,a=n.config,e=x(a.elem);if(1a.max&&(a.value=a.max),l=(a.value-a.min)/(a.max-a.min)*100+"%");var t,e=a.disabled?"#c2c2c2":a.theme,i='
        '+(a.tips?'
        ":"")+'
        '+(a.range?'
        ':"")+"
        ",l=x(a.elem),s=l.next(".layui-slider");if(s[0]&&s.remove(),n.elemTemp=x(i),a.range?(n.elemTemp.find("."+w).eq(0).data("value",a.value[0]),n.elemTemp.find("."+w).eq(1).data("value",a.value[1])):n.elemTemp.find("."+w).data("value",a.value),l.html(n.elemTemp),"vertical"===a.type&&n.elemTemp.height(a.height+"px"),a.showstep){for(var o=(a.max-a.min)/a.step,r="",u=1;u<1+o;u++){var c=100*u/o;c<100&&(r+='
        ')}n.elemTemp.append(r)}function d(e){e=e.parent().data("value"),e=a.setTips?a.setTips(e):e;n.elemTemp.find("."+L).html(e)}function p(e){var t="vertical"===a.type?a.height:n.elemTemp[0].offsetWidth,i=n.elemTemp.find("."+w);return("vertical"===a.type?t-e.parent()[0].offsetTop-i.height():e.parent()[0].offsetLeft)/t*100}function v(e){"vertical"===a.type?n.elemTemp.find("."+L).css({bottom:e+"%","margin-bottom":"20px",display:"inline-block"}):n.elemTemp.find("."+L).css({left:e+"%",display:"inline-block"})}a.input&&!a.range&&(e=x('
        '),l.css("position","relative"),l.append(e),l.find("."+E).children("input").val(a.value),"vertical"===a.type?e.css({left:0,top:-48}):n.elemTemp.css("margin-right",e.outerWidth()+15)),a.disabled?(n.elemTemp.addClass(f),n.elemTemp.find("."+M).addClass(f)):n.slide(),a.tips&&(a.tipsAlways?(d(s=n.elemTemp.find("."+M)),v(p(s))):n.elemTemp.find("."+M).on("mouseover",function(){d(x(this));var e=p(x(this));clearTimeout(t),t=setTimeout(function(){v(e)},300)}).on("mouseout",function(){clearTimeout(t),a.tipsAlways||n.elemTemp.find("."+L).css("display","none")}))},t.prototype.slide=function(e,t,i){var u=this,c=u.config,d=u.elemTemp,p=function(){return"vertical"===c.type?c.height:d[0].offsetWidth},v=d.find("."+w),o=d.next(".layui-slider-input"),r=o.children("."+E).children("input").val(),m=100/((c.max-c.min)/c.step),f=u.precision(),h=function(e,t,i){e=(e=100<(e=100n[1]&&n.reverse(),u.value=c.range?n:l,c.change&&c.change(u.value),"done"===i&&c.done&&c.done(u.value)},y=function(e){var t=e/p()*100/m,i=Math.round(t)*m;return i=e==p()?Math.ceil(t)*m:i},g=x(['
        p()?p():t)/p()*100/m;h(t,o),r.addClass(Y),d.find("."+L).show(),e.preventDefault()},n=function(e){r.removeClass(Y),c.tipsAlways||setTimeout(function(){d.find("."+L).hide()},e)},a=function(){n&&n(b.touchEventsSupported()?1e3:0),g.remove(),c.done&&c.done(u.value),b.touchEventsSupported()&&(t[0].removeEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].removeEventListener("touchend",a),t[0].removeEventListener("touchcancel",a))},x("#LAY-slider-moving")[0]||x("body").append(g),g.on("mousemove",i),g.on("mouseup",a).on("mouseleave",a),b.touchEventsSupported()&&(t[0].addEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].addEventListener("touchend",a),t[0].addEventListener("touchcancel",a))})}),d.on("click",function(e){var t=x("."+M),i=x(this);!t.is(event.target)&&0===t.has(event.target).length&&t.length&&(i=(t=(t=(t="vertical"===c.type?p()-e.clientY+i.offset().top-x(window).scrollTop():e.clientX-i.offset().left-x(window).scrollLeft())<0?0:t)>p()?p():t)/p()*100/m,t=c.range?"vertical"===c.type?Math.abs(t-parseInt(x(v[0]).css("bottom")))>Math.abs(t-parseInt(x(v[1]).css("bottom")))?1:0:Math.abs(t-v[0].offsetLeft)>Math.abs(t-v[1].offsetLeft)?1:0:0,h(i,t,"done"),e.preventDefault())}),o.children(".layui-slider-input-btn").children("i").each(function(t){x(this).on("click",function(){r=o.children("."+E).children("input").val();var e=((r=1==t?r-c.stepc.max?c.max:Number(r)+c.step)-c.min)/(c.max-c.min)*100/m;h(e,0,"done")})});var n=function(){var e=this.value,e=(e=(e=(e=isNaN(e)?0:e)c.max?c.max:e,((this.value=e)-c.min)/(c.max-c.min)*100/m);h(e,0,"done")};o.children("."+E).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),n.call(this))}).on("change",n)},t.prototype.events=function(){this.config},m.render=function(e){e=new t(e);return function(){var i=this,n=i.config;return{setValue:function(e,t){return e=(e=e>n.max?n.max:e)',"",'','',"","","
        "].join("")),t=i.elem=x(i.elem);i.size&&o.addClass("layui-colorpicker-"+i.size),t.addClass("layui-inline").html(e.elemColorBox=o),i.id="id"in i?i.id:t.attr("id")||e.index,e.color=e.elemColorBox.find("."+T)[0].style.background,e.events()},s.prototype.renderPicker=function(){var o,e=this,i=e.config,t=e.elemColorBox[0],n=e.elemPicker=x(['
        ','
        ','
        ','
        ','
        ','
        ',"
        ",'
        ','
        ',"
        ","
        ",'
        ','
        ','
        ',"
        ","
        ",i.predefine?(o=['
        '],layui.each(i.colors,function(e,i){o.push(['
        ','
        ',"
        "].join(""))}),o.push("
        "),o.join("")):"",'
        ','
        ','',"
        ",'
        ','','',"","
        "].join(""));e.elemColorBox.find("."+T)[0];x(c)[0]&&x(c).data("index")==e.index?e.removePicker(s.thisElemInd):(e.removePicker(s.thisElemInd),x("body").append(n)),r.thisId=i.id,s.thisElemInd=e.index,s.thisColor=t.style.background,e.position(),e.pickerEvents()},s.prototype.removePicker=function(e){var i=this.config,e=x("#layui-colorpicker"+(e||this.index));return e[0]&&(e.remove(),delete r.thisId,"function"==typeof i.close)&&i.close(this.color),this},s.prototype.position=function(){var e=this,i=e.config;return P.position(e.bindElem||e.elemColorBox[0],e.elemPicker[0],{position:i.position,align:"center"}),e},s.prototype.val=function(){var e,i=this,o=(i.config,i.elemColorBox.find("."+T)),t=i.elemPicker.find("."+X),n=o[0].style.backgroundColor;n?(e=j(L(n)),o=o.attr("lay-type"),i.select(e.h,e.s,e.b),"torgb"===o?t.find("input").val(n):"rgba"===o?(o=L(n),3===(n.match(/[0-9]{1,3}/g)||[]).length?(t.find("input").val("rgba("+o.r+", "+o.g+", "+o.b+", 1)"),i.elemPicker.find("."+Y).css("left",280)):(t.find("input").val(n),n=280*n.slice(n.lastIndexOf(",")+1,n.length-1),i.elemPicker.find("."+Y).css("left",n)),i.elemPicker.find("."+D)[0].style.background="linear-gradient(to right, rgba("+o.r+", "+o.g+", "+o.b+", 0), rgb("+o.r+", "+o.g+", "+o.b+"))"):t.find("input").val("#"+H(e))):(i.select(0,100,100),t.find("input").val(""),i.elemPicker.find("."+D)[0].style.background="",i.elemPicker.find("."+Y).css("left",280))},s.prototype.side=function(){var r=this,l=r.config,c=r.elemColorBox.find("."+T),a=c.attr("lay-type"),s=r.elemPicker.find(".layui-colorpicker-side"),o=r.elemPicker.find("."+I),d=r.elemPicker.find("."+E),t=r.elemPicker.find("."+M),u=r.elemPicker.find("."+D),f=r.elemPicker.find("."+Y),p=o[0].offsetTop/180*360,h=100-t[0].offsetTop/180*100,g=t[0].offsetLeft/260*100,v=Math.round(f[0].offsetLeft/280*100)/100,m=r.elemColorBox.find("."+B),e=r.elemPicker.find(".layui-colorpicker-pre").children("div"),y=function(e,i,o,t){r.select(e,i,o);var n=F({h:e,s:i,b:o}),e=H({h:e,s:i,b:o}),i=r.elemPicker.find("."+X).find("input");m.addClass(C).removeClass(w),c[0].style.background="rgb("+n.r+", "+n.g+", "+n.b+")","torgb"===a?i.val("rgb("+n.r+", "+n.g+", "+n.b+")"):"rgba"===a?(f.css("left",280*t),i.val("rgba("+n.r+", "+n.g+", "+n.b+", "+t+")"),c[0].style.background="rgba("+n.r+", "+n.g+", "+n.b+", "+t+")",u[0].style.background="linear-gradient(to right, rgba("+n.r+", "+n.g+", "+n.b+", 0), rgb("+n.r+", "+n.g+", "+n.b+"))"):i.val("#"+e),l.change&&l.change(x.trim(r.elemPicker.find("."+X).find("input").val()))},i=x(['
        '].join("")),b=function(e){x("#LAY-colorpicker-moving")[0]||x("body").append(i),i.on("mousemove",e),i.on("mouseup",function(){i.remove()}).on("mouseleave",function(){i.remove()})},n=!0,k=!0;o.on("mousedown",function(e,i){var t=this.offsetTop,n=(e.clientY===undefined?i:e).clientY;k&&layui.stope(e),b(function(e){var i=t+(e.clientY-n),o=s[0].offsetHeight,o=(i=o<(i=i<0?0:i)?o:i)/180*360;y(p=o,g,h,v),e.preventDefault()}),e.preventDefault()}),s.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),i=(i=(i=i<0?0:i)>this.offsetHeight?this.offsetHeight:i)/180*360;y(p=i,g,h,v),e.preventDefault(),n&&o.trigger("mousedown",e)}),t.on("mousedown",function(e,i){var r=this.offsetTop,l=this.offsetLeft,c=(e.clientY===undefined?i:e).clientY,a=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=r+(e.clientY-c),o=l+(e.clientX-a),t=d[0].offsetHeight,n=d[0].offsetWidth,n=(o=n<(o=o<0?0:o)?n:o)/260*100,o=100-(i=t<(i=i<0?0:i)?t:i)/180*100;y(p,g=n,h=o,v),e.preventDefault()}),e.preventDefault()}),d.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),o=e.clientX-x(this).offset().left+W.scrollLeft(),o=((i=i<0?0:i)>this.offsetHeight&&(i=this.offsetHeight),(o=(o=o<0?0:o)>this.offsetWidth?this.offsetWidth:o)/260*100),i=100-i/180*100;y(p,g=o,h=i,v),layui.stope(e),e.preventDefault(),n&&t.trigger("mousedown",e)}),f.on("mousedown",function(e,i){var t=this.offsetLeft,n=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=t+(e.clientX-n),o=u[0].offsetWidth,o=(o<(i=i<0?0:i)&&(i=o),Math.round(i/280*100)/100);y(p,g,h,v=o),e.preventDefault()}),e.preventDefault()}),u.on("mousedown",function(e){var i=e.clientX-x(this).offset().left,i=((i=i<0?0:i)>this.offsetWidth&&(i=this.offsetWidth),Math.round(i/280*100)/100);y(p,g,h,v=i),e.preventDefault(),n&&f.trigger("mousedown",e)}),e.each(function(){x(this).on("click",function(){x(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e=this.style.backgroundColor,i=j(L(e)),o=e.slice(e.lastIndexOf(",")+1,e.length-1);p=i.h,g=i.s,h=i.b,3===(e.match(/[0-9]{1,3}/g)||[]).length&&(o=1),v=o,y(i.h,i.s,i.b,o)})}),P.touchEventsSupported()&&layui.each([{elem:s,eventType:"mousedown"},{elem:u,eventType:"mousedown"},{elem:d,eventType:"mousedown"}],function(e,t){P.touchSwipe(t.elem,{onTouchStart:function(){k=n=!1},onTouchMove:function(e){var i,o;e=e,i=t.eventType,e=e.touches[0],(o=document.createEvent("MouseEvent")).initMouseEvent(i,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(o)},onTouchEnd:function(){i.remove(),k=n=!0}})})},s.prototype.select=function(e,i,o,t){this.config;var n=H({h:e,s:100,b:100}),e=(H({h:e,s:i,b:o}),e/360*180),o=180-o/100*180,i=i/100*260,r=this.elemPicker.find("."+E)[0];this.elemPicker.find("."+I).css("top",e),r.style.background="#"+n,this.elemPicker.find("."+M).css({top:o/r.offsetHeight*100+"%",left:i/r.offsetWidth*100+"%"})},s.prototype.pickerEvents=function(){var c=this,a=c.config,s=c.elemColorBox.find("."+T),d=c.elemPicker.find("."+X+" input"),o={clear:function(e){s[0].style.background="",c.elemColorBox.find("."+B).removeClass(C).addClass(w),c.color="",a.done&&a.done(""),c.removePicker()},confirm:function(e,i){var o,t,n,r,l=x.trim(d.val());-1>16,g:(65280&n)>>8,b:255&n},t=j(r),s[0].style.background=o="#"+H(t),c.elemColorBox.find("."+B).removeClass(w).addClass(C)),"change"===i?(c.select(t.h,t.s,t.b,i),a.change&&a.change(o)):(c.color=l,a.done&&a.done(l),c.removePicker())}};c.elemPicker.on("click","*[colorpicker-events]",function(){var e=x(this),i=e.attr("colorpicker-events");o[i]&&o[i].call(this,e)}),d.on("keyup",function(e){var i=x(this);o.confirm.call(this,i,13===e.keyCode?null:"change")})},s.prototype.events=function(){var e=this;e.config;e.elemColorBox.on("click",function(){e.renderPicker(),x(c)[0]&&(e.val(),e.side())})},a.on(i,function(e){var i,o,t;r.thisId&&(i=n.getThis(r.thisId))&&(o=i.config,t=i.elemColorBox.find("."+T),x(e.target).hasClass(l)||x(e.target).parents("."+l)[0]||x(e.target).hasClass(c.replace(/\./g,""))||x(e.target).parents(c)[0]||i.elemPicker&&(i.color?(e=j(L(i.color)),i.select(e.h,e.s,e.b)):i.elemColorBox.find("."+B).removeClass(C).addClass(w),t[0].style.background=i.color||"","function"==typeof o.cancel&&o.cancel(i.color),i.removePicker()))}),W.on("resize",function(){if(r.thisId){var e=n.getThis(r.thisId);if(e)return!(!e.elemPicker||!x(c)[0])&&void e.position()}}),n.that={},n.getThis=function(e){var i=n.that[e];return i||o.error(e?t+" instance with ID '"+e+"' not found":"ID argument required"),i},r.render=function(e){e=new s(e);return n.call(e)},e(t,r)});layui.define("jquery",function(t){"use strict";var u=layui.$,d=(layui.hint(),layui.device()),r="element",y="layui-this",f="layui-show",c=".layui-tab-title",i=function(){this.config={}},h=(i.prototype.set=function(t){return u.extend(!0,this.config,t),this},i.prototype.on=function(t,i){return layui.onevent.call(this,r,t,i)},i.prototype.tabAdd=function(t,i){var a,e=u(".layui-tab[lay-filter="+t+"]"),l=e.children(c),n=l.children(".layui-tab-bar"),s=e.children(".layui-tab-content"),o=""+(i.title||"unnaming")+"";return n[0]?n.before(o):l.append(o),s.append('
        "+(i.content||"")+"
        "),i.change&&this.tabChange(t,i.id),l.data("LAY_TAB_CHANGE",i.change),w.tabAuto(i.change?"change":null,e),this},i.prototype.tabDelete=function(t,i,a){t=u(".layui-tab[lay-filter="+t+"]").children(c).find('>li[lay-id="'+i+'"]');return w.tabDelete.call(t[0],{liElem:t,force:a}),this},i.prototype.tabChange=function(t,i,a){t=u(".layui-tab[lay-filter="+t+"]").children(c).find('>li[lay-id="'+i+'"]');return w.tabClick.call(t[0],{liElem:t,force:a}),this},i.prototype.tab=function(a){a=a||{},e.on("click",a.headerElem,function(t){var i=u(a.headerElem).index(u(this));w.tabClick.call(this,{index:i,options:a})})},i.prototype.progress=function(t,i){var a="layui-progress",t=u("."+a+"[lay-filter="+t+"]").find("."+a+"-bar"),a=t.find("."+a+"-text");return t.css("width",function(){return/^.+\/.+$/.test(i)?100*new Function("return "+i)()+"%":i}).attr("lay-percent",i),a.text(i),this},".layui-nav"),p="layui-nav-item",b="layui-nav-bar",v="layui-nav-tree",m="layui-nav-child",g="layui-nav-more",C="layui-anim layui-anim-upbit",w={tabClick:function(t){var i=(t=t||{}).options||{},a=t.liElem||u(this),e=i.headerElem?a.parent():a.parents(".layui-tab").eq(0),i=i.bodyElem?u(i.bodyElem):e.children(".layui-tab-content").children(".layui-tab-item"),l=a.find("a"),l="javascript:;"!==l.attr("href")&&"_blank"===l.attr("target"),n="string"==typeof a.attr("lay-unselect"),s=e.attr("lay-filter"),o=a.attr("lay-id"),c="index"in t?t.index:a.parent().children("li").index(a);if(!t.force){var t=a.siblings("."+y);if(!1===layui.event.call(this,r,"tabBeforeChange("+s+")",{elem:e,from:{index:a.parent().children("li").index(t),id:t.attr("lay-id")},to:{index:c,id:o}}))return}l||n||(a.addClass(y).siblings().removeClass(y),(o?t=(t=i.filter('[lay-id="'+o+'"]')).length?t:i.eq(c):i.eq(c)).addClass(f).siblings().removeClass(f)),layui.event.call(this,r,"tab("+s+")",{elem:e,index:c,id:o})},tabDelete:function(t){var i=(t=t||{}).liElem||u(this).parent(),a=i.parent().children("li").index(i),e=i.closest(".layui-tab"),l=e.children(".layui-tab-content").children(".layui-tab-item"),n=e.attr("lay-filter"),s=i.attr("lay-id");if(!t.force&&!1===layui.event.call(i[0],r,"tabBeforeDelete("+n+")",{elem:e,index:a,id:s}))return;i.hasClass(y)&&(i.next()[0]&&i.next().is("li")?w.tabClick.call(i.next()[0],{index:a+1}):i.prev()[0]&&i.prev().is("li")&&w.tabClick.call(i.prev()[0],null,a-1)),i.remove(),(s?t=(t=l.filter('[lay-id="'+s+'"]')).length?t:l.eq(a):l.eq(a)).remove(),setTimeout(function(){w.tabAuto(null,e)},50),layui.event.call(this,r,"tabDelete("+n+")",{elem:e,index:a,id:s})},tabAuto:function(l,t){var n="layui-tab-more",s="layui-tab-bar",o="layui-tab-close",c=this;(t||u(".layui-tab")).each(function(){var t=u(this),a=t.children(".layui-tab-title"),i=(t.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),i=u(''),e=(c===window&&d.ie,t.attr("lay-allowclose"));e&&"false"!==e&&a.find("li").each(function(){var t,i=u(this);i.find("."+o)[0]||"false"===i.attr("lay-allowclose")||((t=u('')).on("click",function(t){w.tabDelete.call(this,{e:t})}),i.append(t))}),"string"!=typeof t.attr("lay-unauto")&&(a.prop("scrollWidth")>a.outerWidth()+1||a.find("li").length&&a.height()>(e=a.find("li").eq(0).height())+e/2?("change"===l&&a.data("LAY_TAB_CHANGE")&&a.addClass(n),a.find("."+s)[0]||(a.append(i),t.attr("overflow",""),i.on("click",function(t){var i=a.hasClass(n);a[i?"removeClass":"addClass"](n)}))):(a.find("."+s).remove(),t.removeAttr("overflow")))})},hideTabMore:function(t){var i=u(".layui-tab-title");!0!==t&&"tabmore"===u(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=u(this),i=t.closest(h),a=i.attr("lay-filter"),e=t.parent(),l=t.siblings("."+m),n="string"==typeof e.attr("lay-unselect");if("javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||n||l[0]||(i.find("."+y).removeClass(y),e.addClass(y)),i.hasClass(v)){var n=p+"ed",s=!e.hasClass(n),o=function(){u(this).css({display:""}),i.children("."+b).css({opacity:0})};if(l.is(":animated"))return;l.removeClass(C),l[0]&&(s?(l.slideDown(200,o),e.addClass(n)):(e.removeClass(n),l.show().slideUp(200,o)),"string"!=typeof i.attr("lay-accordion")&&"all"!==i.attr("lay-shrink")||((s=e.siblings("."+n)).removeClass(n),s.children("."+m).show().stop().slideUp(200,o)))}layui.event.call(this,r,"nav("+a+")",t)},collapse:function(){var t=u(this),i=t.find(".layui-colla-icon"),a=t.siblings(".layui-colla-content"),e=t.parents(".layui-collapse").eq(0),l=e.attr("lay-filter"),n="none"===a.css("display");"string"==typeof e.attr("lay-accordion")&&((e=e.children(".layui-colla-item").children("."+f)).siblings(".layui-colla-title").children(".layui-colla-icon").html(""),e.removeClass(f)),a[n?"addClass":"removeClass"](f),i.html(n?"":""),layui.event.call(this,r,"collapse("+l+")",{title:t,content:a,show:n})}},a=(i.prototype.render=i.prototype.init=function(t,i){var a="string"==typeof i&&i?'[lay-filter="'+i+'"]':"",e={tab:function(t){t=t||u(".layui-tab"+a);w.tabAuto.call({},null,t)},nav:function(t){var s={},o={},c={},r="layui-nav-title";(t||u(h+a)).each(function(t){var i=u(this),a=u(''),e=i.find("."+p),l=i.find("."+b);l[0]&&l.remove(),i.append(a),(i.hasClass(v)?e.find("dd,>."+r):e).off("mouseenter.lay_nav").on("mouseenter.lay_nav",function(){!function(t,i,a){var e,l=u(this),n=l.find("."+m);i.hasClass(v)?n[0]||(e=l.children("."+r),t.css({top:l.offset().top-i.offset().top,height:(e[0]?e:l).outerHeight(),opacity:1})):(n.addClass(C),n.hasClass("layui-nav-child-c")&&n.css({left:-(n.outerWidth()-l.width())/2}),n[0]?t.css({left:t.position().left+t.width()/2,width:0,opacity:0}):t.css({left:l.position().left+parseFloat(l.css("marginLeft")),top:l.position().top+l.height()-t.height()}),s[a]=setTimeout(function(){t.css({width:n[0]?0:l.width(),opacity:n[0]?0:1})},d.ie&&d.ie<10?0:200),clearTimeout(c[a]),"block"===n.css("display")&&clearTimeout(o[a]),o[a]=setTimeout(function(){n.addClass(f),l.find("."+g).addClass(g+"d")},300))}.call(this,a,i,t)}).off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){i.hasClass(v)?a.css({height:0,opacity:0}):(clearTimeout(o[t]),o[t]=setTimeout(function(){i.find("."+m).removeClass(f),i.find("."+g).removeClass(g+"d")},300))}),i.off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){clearTimeout(s[t]),c[t]=setTimeout(function(){i.hasClass(v)||a.css({width:0,left:a.position().left+a.width()/2,opacity:0})},200)}),e.find("a").each(function(){var t=u(this);t.parent();t.siblings("."+m)[0]&&!t.children("."+g)[0]&&t.append(''),t.off("click",w.clickThis).on("click",w.clickThis)})})},breadcrumb:function(t){(t||u(".layui-breadcrumb"+a)).each(function(){var t=u(this),i="lay-separator",a=t.attr(i)||"/",e=t.find("a");e.next("span["+i+"]")[0]||(e.each(function(t){t!==e.length-1&&u(this).after(""+a+"")}),t.css("visibility","visible"))})},progress:function(t){var e="layui-progress";(t||u("."+e+a)).each(function(){var t=u(this),i=t.find(".layui-progress-bar"),a=i.attr("lay-percent");i.css("width",function(){return/^.+\/.+$/.test(a)?100*new Function("return "+a)()+"%":a}),t.attr("lay-showpercent")&&setTimeout(function(){i.html(''+a+"")},350)})},collapse:function(t){(t||u(".layui-collapse"+a)).each(function(){u(this).find(".layui-colla-item").each(function(){var t=u(this),i=t.find(".layui-colla-title"),t="none"===t.find(".layui-colla-content").css("display");i.find(".layui-colla-icon").remove(),i.append(''+(t?"":"")+""),i.off("click",w.collapse).on("click",w.collapse)})})}};return t&&"object"==typeof i&&i instanceof u?e[t](i):e[t]?e[t]():layui.each(e,function(t,i){i()})},new i),e=u(document);u(function(){a.render()}),e.on("click",".layui-tab-title li",w.tabClick),u(window).on("resize",w.tabAuto),t(r,a)});layui.define(["lay","layer"],function(e){"use strict";var F=layui.$,a=layui.lay,t=layui.layer,R=layui.device(),i="upload",s="layui_"+i+"_index",w={config:{},index:layui[i]?layui[i].index+1e4:0,set:function(e){var t=this;return t.config=F.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},o=function(){var t=this,e=t.config.id;return{upload:function(e){t.upload.call(t,e)},reload:function(e){t.reload.call(t,e)},config:(o.that[e]=t).config}},r="layui-upload-file",l="layui-upload-form",E="layui-upload-iframe",L="layui-upload-choose",T="UPLOADING",D=function(e){var t=this;t.index=++w.index,t.config=F.extend({},t.config,w.config,e),t.render()};D.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",force:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1,text:{"cross-domain":"Cross-domain requests are not supported","data-format-error":"Please return JSON data format","check-error":"",error:"","limit-number":null,"limit-size":null}},D.prototype.reload=function(e){var t=this;t.config=F.extend({},t.config,e),t.render(!0)},D.prototype.render=function(e){var t=this,i=t.config,n=F(i.elem);return 1"].join("")),n=t.elem.next();(n.hasClass(r)||n.hasClass(l))&&n.remove(),R.ie&&R.ie<10&&t.elem.wrap('
        '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(i),R.ie&&R.ie<10&&e.initIE()},D.prototype.initIE=function(){var i,e=this.config,t=F(''),n=F(['
        ',"
        "].join(""));F("#"+E)[0]||F("body").append(t),e.elem.next().hasClass(l)||(this.elemFile.wrap(n),e.elem.next("."+l).append((i=[],layui.each(e.data,function(e,t){t="function"==typeof t?t():t,i.push('')}),i.join(""))))},D.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},D.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},D.prototype.preview=function(n){window.FileReader&&layui.each(this.chooseFiles,function(e,t){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){n&&n(e,t,this.result)}})},D.prototype.upload=function(e,t){var i,n,a,o,r,u=this,f=u.config,s=f.text||{},l=u.elemFile[0],c=function(){return e||u.files||u.chooseFiles||l.files},d=function(){var a=0,o=0,r=c(),l=function(){f.multiple&&a+o===u.fileLength&&"function"==typeof f.allDone&&f.allDone({total:u.fileLength,successful:a,failed:o})},i=function(i){var n=new FormData,t=function(e){i.unified?layui.each(r,function(e,t){delete t[T]}):delete e[T]};if(layui.each(f.data,function(e,t){t="function"==typeof t?i.unified?t():t(i.index,i.file):t,n.append(e,t)}),i.unified)layui.each(r,function(e,t){t[T]||(t[T]=!0,n.append(f.field,t))});else{if(i.file[T])return;n.append(f.field,i.file),i.file[T]=!0}var e={url:f.url,type:"post",data:n,dataType:f.dataType||"json",contentType:!1,processData:!1,headers:f.headers||{},success:function(e){f.unified?a+=u.fileLength:a++,m(i.index,e),l(i.index),t(i.file)},error:function(e){f.unified?o+=u.fileLength:o++,u.msg(s.error||["Upload failed, please try again.","status: "+(e.status||"")+" - "+(e.statusText||"error")].join("
        ")),g(i.index,e.responseText,e),l(i.index),t(i.file)}};"function"==typeof f.progress&&(e.xhr=function(){var e=F.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){var t;e.lengthComputable&&(t=Math.floor(e.loaded/e.total*100),f.progress(t,(f.item||f.elem)[0],e,i.index))}),e}),F.ajax(e)};f.unified?i({unified:!0,index:0}):layui.each(r,function(e,t){i({index:e,file:t})})},p=function(){var n=F("#"+E);u.elemFile.parent().submit(),clearInterval(D.timer),D.timer=setInterval(function(){var e,t=n.contents().find("body");try{e=t.text()}catch(i){u.msg(s["cross-domain"]),clearInterval(D.timer),g()}e&&(clearInterval(D.timer),t.html(""),m(0,e))},30)},h=function(e){if("json"===f.force&&"object"!=typeof e)try{return{status:"CONVERTED",data:JSON.parse(e)}}catch(t){return u.msg(s["data-format-error"]),{status:"FORMAT_ERROR",data:{}}}return{status:"DO_NOTHING",data:{}}},m=function(e,t){u.elemFile.next("."+L).remove(),l.value="";var i=h(t);switch(i.status){case"CONVERTED":t=i.data;break;case"FORMAT_ERROR":return}"function"==typeof f.done&&f.done(t,e||0,function(e){u.upload(e)})},g=function(e,t,i){f.auto&&(l.value="");var n=h(t);switch(n.status){case"CONVERTED":t=n.data;break;case"FORMAT_ERROR":return}"function"==typeof f.error&&f.error(e||0,function(e){u.upload(e)},t,i)},v=f.exts,y=(n=[],layui.each(e||u.chooseFiles,function(e,t){n.push(t.name)}),n),x={preview:function(e){u.preview(e)},upload:function(e,t){var i={};i[e]=t,u.upload(i)},pushFile:function(){return u.files=u.files||{},layui.each(u.chooseFiles,function(e,t){u.files[e]=t}),u.files},resetFile:function(e,t,i){t=new File([t],i);u.files=u.files||{},u.files[e]=t},getChooseFiles:function(){return u.chooseFiles}},b={file:"\u6587\u4ef6",images:"\u56fe\u7247",video:"\u89c6\u9891",audio:"\u97f3\u9891"}[f.accept]||"\u6587\u4ef6",y=0===y.length?l.value.match(/[^\/\\]+\..+/g)||[]:y;if(0!==y.length){switch(f.accept){case"file":layui.each(y,function(e,t){if(v&&!RegExp(".\\.("+v+")$","i").test(escape(t)))return i=!0});break;case"video":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(t)))return i=!0});break;case"audio":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"mp3|wav|mid")+")$","i").test(escape(t)))return i=!0});break;default:layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"jpg|png|gif|bmp|jpeg|svg|webp")+")$","i").test(escape(t)))return i=!0})}if(i)return u.msg(s["check-error"]||"\u9009\u62e9\u7684"+b+"\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),l.value="";if("choose"!==t&&!f.auto||(f.choose&&f.choose(x),"choose"!==t)){if(u.fileLength=(a=0,b=c(),layui.each(b,function(){a++}),a),f.number&&u.fileLength>f.number)return u.msg("function"==typeof s["limit-number"]?s["limit-number"](f,u.fileLength):"\u540c\u65f6\u6700\u591a\u53ea\u80fd\u4e0a\u4f20: "+f.number+" \u4e2a\u6587\u4ef6
        \u60a8\u5f53\u524d\u5df2\u7ecf\u9009\u62e9\u4e86: "+u.fileLength+" \u4e2a\u6587\u4ef6");if(01024*f.size&&(t=1<=(t=f.size/1024)?t.toFixed(2)+"MB":f.size+"KB",l.value="",o=t)}),o)return u.msg("function"==typeof s["limit-size"]?s["limit-size"](f,o):"\u6587\u4ef6\u5927\u5c0f\u4e0d\u80fd\u8d85\u8fc7 "+o);r=function(){if(R.ie)return(9'+e+"")},l=function(i){var n=!0;return layui.each(a.files,function(e,t){if(!(n=!(t.name===i.name)))return!0}),n},u=function(e){var i=function(e){e.ext=e.name.substr(e.name.lastIndexOf(".")+1).toLowerCase(),e.sizes=w.util.parseSize(e.size)};return e instanceof FileList?layui.each(e,function(e,t){i(t)}):i(e),e},f=function(e){var i;return(e=e||[]).length?a.files?(i=[],layui.each(e,function(e,t){l(t)&&i.push(u(t))}),i):u(e):[]};n.elem.off("upload.start").on("upload.start",function(){var e=F(this);a.config.item=e,a.elemFile[0].click()}),R.ie&&R.ie<10||n.elem.off("upload.over").on("upload.over",function(){F(this).attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){F(this).removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(e,t){var i=F(this),t=f(t.originalEvent.dataTransfer.files);i.removeAttr("lay-over"),o(t),n.auto?a.upload():r(t)}),a.elemFile.on("change",function(){var e=f(this.files);0!==e.length&&(o(e),n.auto?a.upload():r(e))}),n.bindAction.off("upload.action").on("upload.action",function(){a.upload()}),n.elem.data(s)||(n.elem.on("click",function(){a.isFile()||F(this).trigger("upload.start")}),n.drag&&n.elem.on("dragover",function(e){e.preventDefault(),F(this).trigger("upload.over")}).on("dragleave",function(e){F(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),F(this).trigger("upload.drop",e)}),n.bindAction.on("click",function(){F(this).trigger("upload.action")}),n.elem.data(s,n.id))},w.util={parseSize:function(e,t){var i,n;return t=t||2,null!=e&&e?(i="string"==typeof e?parseFloat(e):e,n=Math.floor(Math.log(i)/Math.log(1024)),(e=(e=i/Math.pow(1024,n))%1==0?e:parseFloat(e.toFixed(t)))+["Bytes","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"][n]):"0"},promiseLikeResolve:function(e){var t=F.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()}},o.that={},o.getThis=function(e){var t=o.that[e];return t||hint.error(e?i+" instance with ID '"+e+"' not found":"ID argument required"),t},w.render=function(e){e=new D(e);return o.call(e)},e(i,w)});layui.define(["lay","layer","util"],function(e){"use strict";var _=layui.$,p=layui.layer,T=layui.util,l=layui.hint(),d=(layui.device(),lay.ie&&8===parseFloat(lay.ie)),A="form",h=".layui-form",E="layui-this",O="layui-hide",j="layui-disabled",y="layui-input-number-invalid",t=function(){this.config={verify:{required:function(e){if(!/[\S]+/.test(e)||e===undefined||null===e)return"\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"},phone:function(e){if(e&&!/^1\d{10}$/.test(e))return"\u624b\u673a\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"},email:function(e){if(e&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))return"\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"},url:function(e){if(e&&!/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/.test(e))return"\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"},number:function(e){if(e&&isNaN(e))return"\u53ea\u80fd\u586b\u5199\u6570\u5b57"},date:function(e){if(e&&!/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/.test(e))return"\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"},identity:function(e){if(e&&!/(^\d{15}$)|(^\d{17}(x|X|\d)$)/.test(e))return"\u8eab\u4efd\u8bc1\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"}},autocomplete:null}},i=(t.prototype.set=function(e){return _.extend(!0,this.config,e),this},t.prototype.verify=function(e){return _.extend(!0,this.config.verify,e),this},t.prototype.getFormElem=function(e){return _(h+(e?'[lay-filter="'+e+'"]':""))},t.prototype.on=function(e,t){return layui.onevent.call(this,A,e,t)},t.prototype.val=function(e,s){return this.getFormElem(e).each(function(e,t){var i,a,n,l,r=_(this);for(i in s)lay.hasOwn(s,i)&&(n=s[i],(l=r.find('[name="'+i+'"]'))[0])&&("checkbox"===(a=l[0].type)?l[0].checked=n:"radio"===a?l.each(function(){this.checked=this.value==n+""}):l.val(n))}),r.render(null,e),this.getValue(e)},t.prototype.getValue=function(e,t){t=t||this.getFormElem(e);var n={},l={},e=t.find("input,select,textarea");return layui.each(e,function(e,t){var i,a=_(this);t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name&&(/^.*\[\]$/.test(t.name)&&(i=t.name.match(/^(.*)\[\]$/g)[0],n[i]=0|n[i],i=t.name.replace(/^(.*)\[\]$/,"$1["+n[i]+++"]")),/^(checkbox|radio)$/.test(t.type)&&!t.checked||(l[i||t.name]="SELECT"===this.tagName&&"string"==typeof this.getAttribute("multiple")?a.val()||[]:this.value))}),l},t.prototype.render=function(e,t){var u=this,i=u.config,a=_(h+(t?'[lay-filter="'+t+'"]':"")),n={input:function(e){var e=e||a.find("input,textarea"),p=(i.autocomplete&&e.attr("autocomplete",i.autocomplete),function(e,t){var i=e.val(),a=Number(i),n=Number(e.attr("step"))||1,l=Number(e.attr("min")),r=Number(e.attr("max")),s=Number(e.attr("lay-precision")),o="click"!==t&&""===i,c="init"===t,u=isNaN(a),d="string"==typeof e.attr("lay-step-strictly");if(e.toggleClass(y,u),!u){if("click"===t){if("text"===e[0].type&&"string"==typeof e.attr("readonly"))return;a=!!_(this).index()?a-n:a+n}u=function(e){return((e.toString().match(/\.(\d+$)/)||[])[1]||"").length},s=0<=s?s:Math.max(u(n),u(i));o||(c||r<=(a=(a=d?Math.round(a/n)*n:a)<=l?l:a)&&(a=r),0===s?a=parseInt(a):0'),e=layui.isArray(i.value)?i.value:[i.value],e=_((a=[],layui.each(e,function(e,t){a.push('')}),a.join(""))),n=(t.append(e),i.split&&t.addClass("layui-input-split"),i.className&&t.addClass(i.className),r.next("."+u)),l=(n[0]&&n.remove(),r.parent().hasClass(o)||r.wrap('
        '),r.next("."+c));l[0]?((n=l.find("."+u))[0]&&n.remove(),l.prepend(t),r.css("padding-right",function(){return(r.closest(".layui-input-group")[0]?0:l.outerWidth())+t.outerWidth()})):(t.addClass(c),r.after(t)),"auto"===i.show&&d(t,r.val()),"function"==typeof i.init&&i.init.call(this,r,i),r.on("input propertychange",function(){var e=this.value;"auto"===i.show&&d(t,e)}),r.on("blur",function(){"function"==typeof i.blur&&i.blur.call(this,r,i)}),e.on("click",function(){var e=r.attr("lay-filter");_(this).hasClass(j)||("function"==typeof i.click&&i.click.call(this,r,i),layui.event.call(this,A,"input-affix("+e+")",{elem:r[0],affix:s,options:i}))})},h={eye:{value:"eye-invisible",click:function(e,t){var i="LAY_FORM_INPUT_AFFIX_SHOW",a=e.data(i);e.attr("type",a?"password":"text").data(i,!a),n({value:a?"eye-invisible":"eye"})}},clear:{value:"clear",click:function(e){e.val("").focus(),d(_(this).parent(),null)},show:"auto",disabled:e},number:{value:["up","down"],split:!0,className:"layui-input-number",disabled:r.is("[disabled]"),init:function(a){var e,n,l,t,i,r;"text"!==a.attr("type")&&"text"!==a[0].type||(l=n=!(e=".lay_input_number"),t="string"==typeof a.attr("readonly"),i="string"==typeof a.attr("lay-wheel"),r=a.next(".layui-input-number").children("i"),a.attr("lay-input-mirror",a.val()),a.off(e),a.on("keydown"+e,function(e){n=!1,8!==e.keyCode&&46!==e.keyCode||(n=!0),t||2!==r.length||38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),r.eq(38===e.keyCode?0:1).click())}),a.on("input"+e+" propertychange"+e,function(e){var t,i;l||"propertychange"===e.type&&"value"!==e.originalEvent.propertyName||(n||""===(e=this.value)||"00"!==e.slice(0,2)&&!e.match(/\s/g)&&!((t=e.match(/\./g))&&1=Math.abs(e.deltaY)?e.deltaX:e.deltaY):"mousewheel"===e.type?t=-e.originalEvent.wheelDelta:"DOMMouseScroll"===e.type&&(t=e.originalEvent.detail),r.eq(0S.height()&&t<=e&&n.addClass(x+"up"),p(),o&&g.off("mousedown.lay_select_ieph").on("mousedown.lay_select_ieph",function(){m[0].__ieph=!0,setTimeout(function(){m[0].__ieph=!1},60)}),l=lay.onClickOutside((a?n:g)[0],function(){h(),C&&m.val(C)},{ignore:v,detectIframe:!0,capture:!1})},h=function(e){v.parent().removeClass(x+"ed "+x+"up"),m.blur(),u&&g.children("."+N).remove(),"function"==typeof l&&(l(),l=null),a&&(n.detach(),_(window).off("resize.lay_select_resize")),e||y(m.val(),function(e){var t=f[0].selectedIndex;e&&(C=_(f[0].options[t]).html(),0===t&&C===m.attr("placeholder")&&(C=""),m.val(C||""))})},p=function(){var e,t,i=g.children("dd."+E);i[0]&&(e=i.position().top,t=g.height(),i=i.height(),t").addClass(N).attr("lay-value",n).html(T.escape(n)),a=(i=g.children().eq(0)).hasClass("layui-select-tips"),i[a?"after":"before"](t)):e?g.find("."+w)[0]||g.append('

        \u65e0\u5339\u914d\u9879

        '):g.find("."+w).remove()},"keyup"),""===n&&(f.val(""),g.find("."+E).removeClass(E),(f[0].options[0]||{}).value||g.children("dd:eq(0)").addClass(E),g.find("."+w).remove(),u)&&g.children("."+N).remove(),void p()))},50)).on("blur",function(e){var t=f[0].selectedIndex;C=_(f[0].options[t]).text(),0===t&&C===m.attr("placeholder")&&(C=""),setTimeout(function(){y(m.val(),function(e){C||m.val("")},"blur")},200)}),g.on("click","dd",function(){var e,t=_(this),i=t.attr("lay-value"),a=f.attr("lay-filter");return t.hasClass(j)||(t.hasClass("layui-select-tips")?m.val(""):(m.val(t.text()),t.addClass(E)),u&&t.hasClass(N)&&(g.append(t.removeClass(N)),e=_("
        "].join(""));i.after(l),function(t,i){var a=_(this),e=a.attr("lay-skin")||"primary",n="switch"===e,e="primary"===e;t.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].indeterminate&&(a[0].indeterminate=!1),a[0].checked=!a[0].checked,layui.event.call(a[0],A,i[2]+"("+e+")",{elem:a[0],value:a[0].value,othis:t}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e;n&&(e=(t.next("*[lay-checkbox]")[0]?t.next().html():a.attr("title")||"").split("|"),t.children("div").html(!this.checked&&e[1]||e[0])),t.toggleClass(i[1],this.checked)}),e&&u.syncAppearanceOnPropChanged(this,"indeterminate",function(){this.indeterminate?t.children(".layui-icon-ok").removeClass("layui-icon-ok").addClass(c.SUBTRA):t.children("."+c.SUBTRA).removeClass(c.SUBTRA).addClass("layui-icon-ok")})}.call(this,l,r)})},radio:function(e){var o="layui-form-radio",c=["layui-icon-radio","layui-icon-circle"],e=e||a.find("input[type=radio]");e.each(function(e,t){var i=_(this),a=i.next("."+o),n=this.disabled,l=i.attr("lay-skin");if(i.closest("[lay-ignore]").length)return i.show();d&&f.call(t,"lay-form-sync-checked",t.checked),a[0]&&a.remove();var a=T.escape(t.title||""),r=[],s=(i.next("[lay-radio]")[0]&&(a=(s=i.next()).html()||"",1",'',"
        "+a+"
        ","
        "].join("")));i.after(s),function(i){var a=_(this),n="layui-anim-scaleSpring";i.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].checked=!0,layui.event.call(a[0],A,"radio("+e+")",{elem:a[0],value:a[0].value,othis:i}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e,t=this;t.checked?(i.addClass(o+"ed"),i.children(".layui-icon").addClass(n+" "+c[0]),e=a.parents(h).find("input[name="+t.name.replace(/(\.|#|\[|\])/g,"\\$1")+"]"),layui.each(e,function(){t!==this&&(this.checked=!1)})):(i.removeClass(o+"ed"),i.children(".layui-icon").removeClass(n+" "+c[0]).addClass(c[1]))})}.call(this,s)})}},t=function(){layui.each(n,function(e,t){t()})};return"object"===layui.type(e)?_(e).is(h)?(a=_(e),t()):e.each(function(e,t){var i=_(t);i.closest(h).length&&("SELECT"===t.tagName?n.select(i):"INPUT"===t.tagName&&("checkbox"===(t=t.type)||"radio"===t?n[t](i):n.input(i)))}):e?n[e]?n[e]():l.error('\u4e0d\u652f\u6301\u7684 "'+e+'" \u8868\u5355\u6e32\u67d3'):t(),u},t.prototype.syncAppearanceOnPropChanged=d?function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,lay.extend({},a,{get:function(){return"string"==typeof this.getAttribute("lay-form-sync-"+t)},set:function(e){f.call(this,"lay-form-sync-"+t,e),i.call(this)}}))}:function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,lay.extend({},a,{get:function(){return a.get.call(this)},set:function(e){a.set.call(this,e),i.call(this)}}))},t.prototype.validate=function(e){var u,d=this.config.verify,h="layui-form-danger";return!(e=_(e))[0]||(e.attr("lay-verify")!==undefined||!1!==this.validate(e.find("*[lay-verify]")))&&(layui.each(e,function(e,r){var s=_(this),t=(s.attr("lay-verify")||"").split("|"),o=s.attr("lay-vertype"),c="string"==typeof(c=s.val())?_.trim(c):c;if(s.removeClass(h),layui.each(t,function(e,t){var i="",a=d[t];if(a){var n="function"==typeof a?i=a(c,r):!a[0].test(c),l="select"===r.tagName.toLowerCase()||/^(checkbox|radio)$/.test(r.type),i=i||a[1];if("required"===t&&(i=s.attr("lay-reqtext")||i),n)return"tips"===o?p.tips(i,!s.closest("[lay-ignore]").length&&l?s.next():s,{tips:1}):"alert"===o?p.alert(i,{title:"\u63d0\u793a",shadeClose:!0}):/\b(string|number)\b/.test(typeof i)&&p.msg(i,{icon:5,shift:6}),setTimeout(function(){(l?s.next().find("input"):r).focus()},7),s.addClass(h),u=!0}}),u)return u}),!u)},t.prototype.submit=function(e,t){var i={},a=_(this),e="string"==typeof e?e:a.attr("lay-filter"),n=this.getFormElem?this.getFormElem(e):a.parents(h).eq(0),l=n.find("*[lay-verify]");return!!r.validate(l)&&(i=r.getValue(null,n),l={elem:this.getFormElem?window.event&&window.event.target:this,form:(this.getFormElem?n:a.parents("form"))[0],field:i},"function"==typeof t&&t(l),layui.event.call(this,A,"submit("+e+")",l))});function f(e,t){var i=!!t,t=2===arguments.length&&!t;return null!==this.getAttribute(e)?i||(this.removeAttribute(e),!1):!t&&(this.setAttribute(e,""),!0)}var v=["-",".","e","E","+"];var r=new t,t=_(document),S=_(window);_(function(){r.render()}),t.on("reset",h,function(){var e=_(this).attr("lay-filter");setTimeout(function(){r.render(null,e)},50)}),t.on("submit",h,i).on("click","*[lay-submit]",i),e(A,r)});layui.define(["lay","laytpl","laypage","form","util"],function(s){"use strict";var f=layui.$,r=layui.lay,m=layui.laytpl,p=layui.laypage,g=layui.layer,i=layui.form,v=layui.util,b=layui.hint(),x=layui.device(),k={config:{checkName:"LAY_CHECKED",indexName:"LAY_INDEX",initIndexName:"LAY_INDEX_INIT",numbersName:"LAY_NUM",disabledName:"LAY_DISABLED"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){return this.config=f.extend({},this.config,e),this},on:function(e,t){return layui.onevent.call(this,R,e,t)}},w=function(){var a=this,e=a.config,i=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){k.reloadData(i,e,t)},setColsWidth:function(){a.setColsWidth.call(a)},resize:function(){a.resize.call(a)}}},C=function(e){var t=w.that[e];return t||b.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},l=function(e){var t=w.config[e];return t||b.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},T=function(e){var t=this.config||{},a=(e=e||{}).item3,i=e.content;"numbers"===a.type&&(i=e.tplData[k.config.numbersName]);("escape"in a?a:t).escape&&(i=v.escape(i));t=e.text&&a.exportTemplet||a.templet||a.toolbar;return t&&(i="function"==typeof t?t.call(a,e.tplData,e.obj):m(function(e){try{return r(e).html()}catch(t){return e}}(t)||String(i)).render(f.extend({LAY_COL:a},e.tplData))),e.text?f("
        "+i+"
        ").text():i},R="table",N="lay-"+R+"-id",t=".layui-table",W="layui-hide",y="layui-hide-v",h="layui-none",_="layui-table-view",o=".layui-table-header",D=".layui-table-body",I=".layui-table-fixed-r",P=".layui-table-pageview",L=".layui-table-sort",A="layui-table-checked",E="layui-table-edit",M="layui-table-hover",u="laytable-cell-group",F="layui-table-col-special",S="layui-table-tool-panel",H="layui-table-expanded",O="layui-table-disabled-transition",j="LAY_TABLE_MOVE_DICT",e=function(e){return['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',(e=e||{}).fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':"","{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
        ','
        ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{-item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
        ","
        "].join("")},a=['',"","
        "].join(""),B=[,"{{# if(d.data.toolbar){ }}",'
        ','
        ','
        ',"
        ","{{# } }}",'
        ',"{{# if(d.data.loading){ }}",'
        ','
        ','{{# if(typeof d.data.loading === "string"){ }}',"{{- d.data.loading}}","{{# } else{ }}",'',"{{# } }}","
        ","
        ","{{# } }}","{{# var left, right; }}",'
        ',e(),"
        ",'
        ',a,"
        ","{{# if(left){ }}",'
        ','
        ',e({fixed:!0}),"
        ",'
        ',a,"
        ","
        ","{{# }; }}","{{# if(right){ }}",'
        ','
        ',e({fixed:"right"}),'
        ',"
        ",'
        ',a,"
        ","
        ","{{# }; }}","
        ","{{# if(d.data.totalRow){ }}",'
        ','','',"
        ","
        ","{{# } }}",'
        ','
        ',"
        "].join(""),d=f(window),z=f(document),n=function(e){this.index=++k.index,this.config=f.extend({},this.config,k.config,e),this.render()},c=(n.prototype.config={limit:10,loading:!0,escape:!0,cellMinWidth:60,cellMaxWidth:Number.MAX_VALUE,editTrigger:"click",defaultToolbar:["filter","exports","print"],defaultContextmenu:!0,autoSort:!0,text:{none:"\u65e0\u6570\u636e"},cols:[]},n.prototype.render=function(e){var t=this,a=t.config,i=(a.elem=f(a.elem),a.where=a.where||{},a.id="id"in a?a.id:a.elem.attr("id")||t.index);if(w.that[i]=t,(w.config[i]=a).request=f.extend({pageName:"page",limitName:"limit"},a.request),a.response=f.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),null!==a.page&&"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,t.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return t;if(a.elem.attr("lay-filter")||a.elem.attr("lay-filter",a.id),"reloadData"===e)return t.pullData(t.page,{type:"reloadData"});a.index=t.index,t.key=a.id||a.index,t.setInit(),a.height&&/^full-.+$/.test(a.height)?(t.fullHeightGap=a.height.split("-")[1],a.height=d.height()-(parseFloat(t.fullHeightGap)||0)):a.height&&/^#\w+\S*-.+$/.test(a.height)?(i=a.height.split("-"),t.parentHeightGap=i.pop(),t.parentDiv=i.join("-"),a.height=f(t.parentDiv).height()-(parseFloat(t.parentHeightGap)||0)):"function"==typeof a.height&&(t.customHeightFunc=a.height,a.height=t.customHeightFunc());var l,e=a.elem,i=e.next("."+_),n=t.elem=f("
        ");n.addClass((l=[_,_+"-"+t.index,"layui-form","layui-border-box"],a.className&&l.push(a.className),l.join(" "))).attr(((l={"lay-filter":"LAY-TABLE-FORM-DF-"+t.index,style:(l=[],a.width&&l.push("width:"+a.width+"px;"),l.join(""))})[N]=a.id,l)).html(m(B,{open:"{{",close:"}}",tagStyle:"legacy"}).render({data:a,index:t.index})),t.renderStyle(),i[0]&&i.remove(),e.after(n),t.layTool=n.find(".layui-table-tool"),t.layBox=n.find(".layui-table-box"),t.layHeader=n.find(o),t.layMain=n.find(".layui-table-main"),t.layBody=n.find(D),t.layFixed=n.find(".layui-table-fixed"),t.layFixLeft=n.find(".layui-table-fixed-l"),t.layFixRight=n.find(I),t.layTotal=n.find(".layui-table-total"),t.layPage=n.find(".layui-table-page"),t.renderToolbar(),t.renderPagebar(),t.fullSize(),t.setColsWidth({isInit:!0}),t.pullData(t.page),t.events()},n.prototype.initOpts=function(e){this.config;e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||{checkbox:50,radio:50,space:30,numbers:60}[e.type])},n.prototype.setInit=function(e){var n,a,d=this,r=d.config;if(r.clientWidth=r.width||(n=function(e){var t,a;e=e||r.elem.parent(),t=d.getContentWidth(e);try{a="none"===e.css("display")}catch(l){}var i=e.parent();return e[0]&&i&&i[0]&&(!t||a)?n(i):t})(),"width"===e)return r.clientWidth;r.height=r.maxHeight||r.height,r.css&&-1===r.css.indexOf(_)&&(a=r.css.split("}"),layui.each(a,function(e,t){t&&(a[e]="."+_+"-"+d.index+" "+t)}),r.css=a.join("}"));var c=function(a,e,i,l){var n,o;l?(l.key=[r.index,a,i].join("-"),l.colspan=l.colspan||0,l.rowspan=l.rowspan||0,d.initOpts(l),(n=a+(parseInt(l.rowspan)||1)) td:hover > .layui-table-cell{overflow: auto;}"].concat(x.ie?[".layui-table-edit{height: "+i+";}","td[data-edit]:hover:after{height: "+i+";}"]:[]),function(e,t){t&&o.push(a+" "+t)})),l.css&&o.push(l.css),r.style({target:this.elem[0],text:o.join(""),id:"DF-table-"+n})},n.prototype.renderToolbar=function(){var l,o=this,e=o.config,d=e.elem.attr("lay-filter"),t=['
        ','
        ','
        '].join(""),a=o.layTool.find(".layui-table-tool-temp"),n=("default"===e.toolbar?a.html(t):"string"==typeof e.toolbar&&(t=f(e.toolbar).html()||"")&&a.html(m(t).render(e)),{filter:{title:"\u7b5b\u9009\u5217",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols",onClick:function(e){var a,n=e.config;(0,e.openPanel)({list:(a=[],o.eachCols(function(e,t){t.field&&"normal"==t.type&&a.push('
      • "+(t.fieldTitle||t.title||t.field)+"").text())+'" lay-filter="LAY_TABLE_TOOL_COLS">
      • ')}),a.join("")),done:function(){i.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var e=f(e.elem),t=this.checked,a=e.data("key"),i=o.col(a),l=i.hide,e=e.data("parentkey");i.key&&(i.hide=!t,o.elem.find('*[data-key="'+a+'"]')[t?"removeClass":"addClass"](W),l!=i.hide&&o.setParentCol(!t,e),o.resize(),layui.event.call(this,R,"colToggled("+d+")",{col:i,config:n}))})}})}},exports:{title:"\u5bfc\u51fa",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export",onClick:function(e){var t=e.data,a=e.config,i=e.openPanel,e=e.elem;if(!t.length)return g.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});x.ie?g.tips("\u5bfc\u51fa\u529f\u80fd\u4e0d\u652f\u6301 IE\uff0c\u8bf7\u7528 Chrome \u7b49\u9ad8\u7ea7\u6d4f\u89c8\u5668\u5bfc\u51fa",e,{tips:3}):i({list:['
      • \u5bfc\u51fa CSV \u6587\u4ef6
      • '].join(""),done:function(e,t){t.on("click",function(){var e=f(this).data("type");k.exportFile.call(o,a.id,null,e)})}})}},print:{title:"\u6253\u5370",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print",onClick:function(e){var t=e.data,e=(e.config,e.elem);if(!t.length)return g.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});var t=window.open("about:blank","_blank"),e=[""].join(""),a=f(o.layHeader.html());a.append(o.layMain.find("table").html()),a.append(o.layTotal.find("table").html()),a.find("th.layui-table-patch").remove(),a.find("thead>tr>th."+F).filter(function(e,t){return!f(t).children("."+u).length}).remove(),a.find("tbody>tr>td."+F).remove(),t.document.write(e+a.prop("outerHTML")),t.document.close(),layui.device("edg").edg?(t.onafterprint=t.close,t.print()):(t.print(),t.close())}}});"object"==typeof e.defaultToolbar&&(l=[],e.defaultToolbar=f.map(e.defaultToolbar,function(e,t){var a="string"==typeof e,i=a?n[e]:e;return i&&(!(i=i.name&&n[i.name]?f.extend({},n[i.name],i):i).name&&a&&(i.name=e),l.push('
        ')),i}),o.layTool.find(".layui-table-tool-self").html(l.join("")))},n.prototype.renderPagebar=function(){var e,t=this.config,a=this.layPagebar=f('
        ');t.pagebar&&((e=f(t.pagebar).html()||"")&&a.append(m(e).render(t)),this.layPage.append(a))},n.prototype.setParentCol=function(e,t){var a=this.config,i=this.layHeader.find('th[data-key="'+t+'"]'),l=parseInt(i.attr("colspan"))||0;i[0]&&(t=t.split("-"),t=a.cols[t[1]][t[2]],e?l--:l++,i.attr("colspan",l),i[l?"removeClass":"addClass"](W),t.colspan2=l,t.hide=l<1,a=i.data("parentkey"))&&this.setParentCol(e,a)},n.prototype.setColsPatch=function(){var a=this,e=a.config;layui.each(e.cols,function(e,t){layui.each(t,function(e,t){t.hide&&a.setParentCol(t.hide,t.parentKey)})})},n.prototype.setGroupWidth=function(i){var e,l=this;l.config.cols.length<=1||((e=l.layHeader.find((i?"th[data-key="+i.data("parentkey")+"]>":"")+"."+u)).css("width",0),layui.each(e.get().reverse(),function(){var e=f(this),t=e.parent().data("key"),a=0;l.layHeader.eq(0).find("th[data-parentkey="+t+"]").width(function(e,t){f(this).hasClass(W)||0o.layMain.prop("clientHeight")&&(e.style.width=parseFloat(e.style.width)-i+"px")}),!p&&h?y.width(o.getContentWidth(l)):y.width("auto"),o.setGroupWidth()},n.prototype.resize=function(){var e=this;e.layMain&&("isConnected"in e.layMain[0]?e.layMain[0].isConnected:f.contains(document.body,e.layMain[0]))&&(e.fullSize(),e.setColsWidth(),e.scrollPatch())},n.prototype.reload=function(e,t,a){var i=this;e=e||{},delete i.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete i.config[e]}),i.config=f.extend(t,{},i.config,e),"reloadData"!==a&&(layui.each(i.config.cols,function(e,t){layui.each(t,function(e,t){delete t.colspan2})}),delete i.config.HAS_SET_COLS_PATCH),i.render(a)},n.prototype.errorView=function(e){var t=this,a=t.layMain.find("."+h),e=f('
        '+(e||"Error")+"
        ");a[0]&&(t.layNone.remove(),a.remove()),t.layFixed.addClass(W),t.layMain.find("tbody").html(""),t.layMain.append(t.layNone=e),t.layTotal.addClass(y),t.layPage.find(P).addClass(y),k.cache[t.key]=[],t.syncCheckAll(),t.renderForm(),t.setColsWidth(),t.loading(!1)},n.prototype.page=1,n.prototype.pullData=function(i,l){var e,t,n=this,o=n.config,a=(o.HAS_SET_COLS_PATCH||n.setColsPatch(),o.HAS_SET_COLS_PATCH=!0,o.request),d=o.response,r=function(){"object"==typeof o.initSort&&n.sort({field:o.initSort.field,type:o.initSort.type,reloadType:l.type})},c=function(e,t){n.setColsWidth(),n.loading(!1),"function"==typeof o.done&&o.done(e,i,e[d.countName],t)};l=l||{},"function"==typeof o.before&&o.before(o),n.startTime=(new Date).getTime(),l.renderData?((e={})[d.dataName]=k.cache[n.key],e[d.countName]=o.url?"object"===layui.type(o.page)?o.page.count:e[d.dataName].length:o.data.length,"object"==typeof o.totalRow&&(e[d.totalRowName]=f.extend({},n.totalRow)),n.renderData({res:e,curr:i,count:e[d.countName],type:l.type,sort:!0}),c(e,"renderData")):o.url?(t={},o.page&&(t[a.pageName]=i,t[a.limitName]=o.limit),a=f.extend(t,o.where),o.contentType&&0==o.contentType.indexOf("application/json")&&(a=JSON.stringify(a)),n.loading(!0),n._xhr&&4!==n._xhr.readyState&&(n._xhrAbort=!0,n._xhr.abort()),n._xhr=f.ajax({type:o.method||"get",url:o.url,contentType:o.contentType,data:a,dataType:o.dataType||"json",jsonpCallback:o.jsonpCallback,headers:o.headers||{},complete:"function"==typeof o.complete?o.complete:undefined,success:function(e){var t,a;(e="function"==typeof o.parseData?o.parseData(e)||e:e)[d.statusName]!=d.statusCode?n.errorView(e[d.msgName]||'\u8fd4\u56de\u7684\u6570\u636e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u6b63\u786e\u7684\u6210\u529f\u72b6\u6001\u7801\u5e94\u4e3a\uff1a"'+d.statusName+'": '+d.statusCode):(t=e[d.countName],(a=Math.ceil(t/o.limit)||1)','
        "+function(){var e,t=f.extend(!0,{LAY_COL:l},o),a=k.config.checkName,i=k.config.disabledName;switch(l.type){case"checkbox":return'';case"radio":return'';case"numbers":return c}return l.toolbar?m(f(l.toolbar).html()||"").render(t):T.call(s,{item3:l,content:n,tplData:t})}(),"
        "].join(""),i.push(e),l.fixed&&"right"!==l.fixed&&d.push(e),"right"===l.fixed&&r.push(e))}),e=['data-index="'+e+'"'],o[k.config.checkName]&&e.push('class="'+A+'"'),e=e.join(" "),y.push(""+i.join("")+""),h.push(""+d.join("")+""),p.push(""+r.join("")+""))}),{trs:y,trs_fixed:h,trs_fixed_r:p}},k.getTrHtml=function(e,t){e=C(e);return e.getTrHtml(t,null,e.page)},n.prototype.renderData=function(e){var a=this,i=a.config,t=e.res,l=e.curr,n=a.count=e.count,o=e.sort,d=t[i.response.dataName]||[],t=t[i.response.totalRowName],r=[],c=[],s=[],u=function(){if(!o&&a.sortKey)return a.sort({field:a.sortKey.field,type:a.sortKey.sort,pull:!0,reloadType:e.type});a.getTrHtml(d,o,l,{trs:r,trs_fixed:c,trs_fixed_r:s}),"fixed"===i.scrollPos&&"reloadData"===e.type||a.layBody.scrollTop(0),"reset"===i.scrollPos&&a.layBody.scrollLeft(0),a.layMain.find("."+h).remove(),a.layMain.find("tbody").html(r.join("")),a.layFixLeft.find("tbody").html(c.join("")),a.layFixRight.find("tbody").html(s.join("")),a.syncCheckAll(),a.renderForm(),a.fullSize(),a.haveInit?a.scrollPatch():setTimeout(function(){a.scrollPatch()},50),a.haveInit=!0,g.close(a.tipsIndex)};return k.cache[a.key]=d,a.layTotal[0==d.length?"addClass":"removeClass"](y),a.layPage[i.page||i.pagebar?"removeClass":"addClass"](W),a.layPage.find(P)[!i.page||0==n||0===d.length&&1==l?"addClass":"removeClass"](y),0===d.length?a.errorView(i.text.none):(a.layFixLeft.removeClass(W),o?u():(u(),a.renderTotal(d,t),a.layTotal&&a.layTotal.removeClass(W),void(i.page&&(i.page=f.extend({elem:"layui-table-page"+i.index,count:n,limit:i.limit,limits:i.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(a.page=e.curr,i.limit=e.limit,a.pullData(e.curr))}},i.page),i.page.count=n,p.render(i.page)))))},k.renderData=function(e){e=C(e);e&&e.pullData(e.page,{renderData:!0,type:"reloadData"})},n.prototype.renderTotal=function(e,o){var d,r=this,c=r.config,s={};c.totalRow&&(layui.each(e,function(e,i){"array"===layui.type(i)&&0===i.length||r.eachCols(function(e,t){var e=t.field||e,a=i[e];t.totalRow&&(s[e]=(s[e]||0)+(parseFloat(a)||0))})}),r.dataTotal=[],d=[],r.eachCols(function(e,t){var e=t.field||e,a=o&&o[t.field],i="totalRowDecimals"in t?t.totalRowDecimals:2,i=s[e]?parseFloat(s[e]||0).toFixed(i):"",i=(n=t.totalRowText||"",(l={LAY_COL:t})[e]=i,l=t.totalRow&&T.call(r,{item3:t,content:i,tplData:l})||n,a||l),l="string"==typeof(n=t.totalRow||c.totalRow)?m(n).render(f.extend({TOTAL_NUMS:a||s[e],TOTAL_ROW:o||{},LAY_COL:t},t)):i,n=(t.field&&r.dataTotal.push({field:t.field,total:f("
        "+l+"
        ").text()}),['','
        "+l,"
        "].join(""));d.push(n)}),e=r.layTotal.find(".layui-table-patch"),r.layTotal.find("tbody").html(""+d.join("")+(e.length?e.get(0).outerHTML:"")+""))},n.prototype.getColElem=function(e,t){return e.eq(0).find(".laytable-cell-"+t+":eq(0)")},n.prototype.renderForm=function(e){this.config;var t=this.elem.attr("lay-filter");i.render(e,t)},n.prototype.renderFormByElem=function(a){layui.each(["input","select"],function(e,t){i.render(a.find(t))})},n.prototype.syncCheckAll=function(){var a,e=this,i=e.config,t=e.layHeader.find('input[name="layTableCheckbox"]'),l=k.checkStatus(e.key);t[0]&&(a=l.isAll,e.eachCols(function(e,t){"checkbox"===t.type&&(t[i.checkName]=a)}),t.prop({checked:l.isAll,indeterminate:!l.isAll&&l.data.length}))},n.prototype.setRowActive=function(e,t,a){this.config;e=this.layBody.find('tr[data-index="'+e+'"]');if(t=t||"layui-table-click",a)return e.removeClass(t);e.addClass(t),e.siblings("tr").removeClass(t)},n.prototype.setRowChecked=function(i){var a,e,l,t,n,o,d,r=this,c=r.config,s="all"===i.index,u="array"===layui.type(i.index),y=s||u;c.tree&&c.tree.view||y&&(r.layBox.addClass(O),"radio"===i.type)||(u&&(a={},layui.each(i.index,function(e,t){a[t]=!0}),i.index=a),e=r.layBody.children(".layui-table").children("tbody"),d=y?"tr":'tr[data-index="'+i.index+'"]',d=e.children(d),e=s?d:d.filter(u?function(){var e=f(this).data("index");return i.index[e]}:'[data-index="'+i.index+'"]'),i=f.extend({type:"checkbox"},i),l=k.cache[r.key],t="checked"in i,n=function(e){return"radio"===i.type||(t?i.checked:!e)},e.each(function(){var e=f(this),t=e.attr("data-index"),a=l[t];t&&"array"!==layui.type(a)&&!a[c.disabledName]&&(a=a[c.checkName]=n(e.hasClass(A)),e.toggleClass(A,!!a),"radio"===i.type)&&(o=t,e.siblings().removeClass(A))}),o&&layui.each(l,function(e,t){Number(o)!==Number(e)&&delete t[c.checkName]}),d=(u=(s=e.children("td").children(".layui-table-cell").children('input[lay-type="'+({radio:"layTableRadio",checkbox:"layTableCheckbox"}[i.type]||"checkbox")+'"]:not(:disabled)')).last()).closest(I),("radio"===i.type&&d.hasClass(W)?s.first():s).prop("checked",n(u.prop("checked"))),r.syncCheckAll(),y&&setTimeout(function(){r.layBox.removeClass(O)},100))},n.prototype.sort=function(l){var e,t=this,a={},i=t.config,n=i.elem.attr("lay-filter"),o=k.cache[t.key];"string"==typeof(l=l||{}).field&&(d=l.field,t.layHeader.find("th").each(function(e,t){var a=f(this),i=a.data("field");if(i===l.field)return l.field=a,d=i,!1}));try{var d=d||l.field.data("field"),r=l.field.data("key");if(t.sortKey&&!l.pull&&d===t.sortKey.field&&l.type===t.sortKey.sort)return;var c=t.layHeader.find("th .laytable-cell-"+r).find(L);t.layHeader.find("th").find(L).removeAttr("lay-sort"),c.attr("lay-sort",l.type||null),t.layFixed.find("th")}catch(s){b.error("Table modules: sort field '"+d+"' not matched")}t.sortKey={field:d,sort:l.type},i.autoSort&&("asc"===l.type?e=layui.sort(o,d,null,!0):"desc"===l.type?e=layui.sort(o,d,!0,!0):(e=layui.sort(o,k.config.initIndexName,null,!0),delete t.sortKey,delete i.initSort)),a[i.response.dataName]=e||o,t.renderData({res:a,curr:t.page,count:t.count,sort:!0,type:l.reloadType}),l.fromEvent&&(i.initSort={field:d,type:l.type},layui.event.call(l.field,R,"sort("+n+")",f.extend({config:i},i.initSort)))},n.prototype.loading=function(e){this.config.loading&&this.layBox.find(".layui-table-init").toggleClass(W,!e)},n.prototype.cssRules=function(t,a){var e=this.elem.children("style")[0];r.getStyleRules(e,function(e){if(e.selectorText===".laytable-cell-"+t)return a(e),!0})},n.prototype.fullSize=function(){var e,a,i=this,t=i.config,l=t.height;i.fullHeightGap?(l=d.height()-i.fullHeightGap)<135&&(l=135):i.parentDiv&&i.parentHeightGap?(l=f(i.parentDiv).height()-i.parentHeightGap)<135&&(l=135):i.customHeightFunc&&(l=i.customHeightFunc())<135&&(l=135),1
        ')).find("div").css({width:a}),e.find("tr").append(t)):e.find(".layui-table-patch").remove()};n(e.layHeader),n(e.layTotal);n=e.layMain.height()-i;e.layFixed.find(D).css("height",t.height()>=n?n:"auto").scrollTop(e.layMain.scrollTop()),e.layFixRight[k.cache[e.key]&&k.cache[e.key].length&&0');a.html(t),s.height&&a.css("max-height",s.height-(c.layTool.outerHeight()||50)),i.find("."+S)[0]||i.append(a),c.renderForm(),a.on("click",function(e){layui.stope(e)}),e.done&&e.done(a,t)};layui.stope(e),z.trigger("table.tool.panel.remove"),g.close(c.tipsIndex),layui.each(s.defaultToolbar,function(e,t){if(t.layEvent===a)return"function"==typeof t.onClick&&t.onClick({data:l,config:s,openPanel:n,elem:i}),!0}),layui.event.call(this,R,"toolbar("+o+")",f.extend({event:a,config:s},{}))}),c.layHeader.on("click","*[lay-event]",function(e){var t=f(this),a=t.attr("lay-event"),t=t.closest("th").data("key"),t=c.col(t);layui.event.call(this,R,"colTool("+o+")",f.extend({event:a,config:s,col:t},{}))}),c.layPagebar.on("click","*[lay-event]",function(e){var t=f(this).attr("lay-event");layui.event.call(this,R,"pagebar("+o+")",f.extend({event:t,config:s},{}))}),e.on("mousemove",function(e){var t=f(this),a=t.offset().left,e=e.clientX-a;t.data("unresize")||w.eventMoveElem||(r.allowResize=t.width()-e<=10,d.css("cursor",r.allowResize?"col-resize":""))}).on("mouseleave",function(){f(this);w.eventMoveElem||(r.allowResize=!1,d.css("cursor",""))}).on("mousedown",function(e){var t,a=f(this);r.allowResize&&(t=a.data("key"),e.preventDefault(),r.offset=[e.clientX,e.clientY],c.cssRules(t,function(e){var t=e.style.width||a.outerWidth();r.rule=e,r.ruleWidth=parseFloat(t),r.minWidth=a.data("minwidth")||s.cellMinWidth,r.maxWidth=a.data("maxwidth")||s.cellMaxWidth}),a.data(j,r),w.eventMoveElem=a)}),w.docEvent||z.on("mousemove",function(e){var t,a;w.eventMoveElem&&(t=w.eventMoveElem.data(j)||{},w.eventMoveElem.data("resizing",1),e.preventDefault(),t.rule)&&(e=t.ruleWidth+e.clientX-t.offset[0],a=w.eventMoveElem.closest("."+_).attr(N),a=C(a))&&((e=et.maxWidth&&(e=t.maxWidth),t.rule.style.width=e+"px",a.setGroupWidth(w.eventMoveElem),g.close(c.tipsIndex))}).on("mouseup",function(e){var t,a,i,l,n;w.eventMoveElem&&(i=(t=w.eventMoveElem).closest("."+_).attr(N),a=C(i))&&(i=t.data("key"),l=a.col(i),n=a.config.elem.attr("lay-filter"),r={},d.css("cursor",""),a.scrollPatch(),t.removeData(j),delete w.eventMoveElem,a.cssRules(i,function(e){l.width=parseFloat(e.style.width),layui.event.call(t[0],R,"colResized("+n+")",{col:l,config:a.config})}))}),w.docEvent=!0,e.on("click",function(e){var t=f(this),a=t.find(L),i=a.attr("lay-sort");if(!a[0]||1===t.data("resizing"))return t.removeData("resizing");c.sort({field:t,type:"asc"===i?"desc":"desc"===i?null:"asc",fromEvent:!0})}).find(L+" .layui-edge ").on("click",function(e){var t=f(this),a=t.index(),t=t.parents("th").eq(0).data("field");layui.stope(e),0===a?c.sort({field:t,type:"asc",fromEvent:!0}):c.sort({field:t,type:"desc",fromEvent:!0})}),c.commonMember=function(e){var a=f(this).parents("tr").eq(0).data("index"),t=c.layBody.find('tr[data-index="'+a+'"]'),i=(k.cache[c.key]||[])[a]||{},l={tr:t,config:s,data:k.clearCacheKey(i),dataCache:i,index:a,del:function(){k.cache[c.key][a]=[],t.remove(),c.scrollPatch()},update:function(e,t){c.updateRow({index:a,data:e=e||{},related:t},function(e,t){l.data[e]=t})},setRowChecked:function(e){c.setRowChecked(f.extend({index:a},e))}};return f.extend(l,e)}),t=(c.elem.on("click",'input[name="layTableCheckbox"]+',function(e){var t=f(this),a=t.closest("td"),t=t.prev(),i=(c.layBody.find('input[name="layTableCheckbox"]'),t.parents("tr").eq(0).data("index")),l=t[0].checked,n="layTableAllChoose"===t.attr("lay-filter");t[0].disabled||(n?c.setRowChecked({index:"all",checked:l}):c.setRowChecked({index:i,checked:l}),layui.stope(e),layui.event.call(t[0],R,"checkbox("+o+")",y.call(t[0],{checked:l,type:n?"all":"one",getCol:function(){return c.col(a.data("key"))}})))}),c.elem.on("click",'input[lay-type="layTableRadio"]+',function(e){var t=f(this),a=t.closest("td"),t=t.prev(),i=t[0].checked,l=t.parents("tr").eq(0).data("index");if(layui.stope(e),t[0].disabled)return!1;c.setRowChecked({type:"radio",index:l}),layui.event.call(t[0],R,"radio("+o+")",y.call(t[0],{checked:i,getCol:function(){return c.col(a.data("key"))}}))}),c.layBody.on("mouseenter","tr",function(){var e=f(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").addClass(M)}).on("mouseleave","tr",function(){var e=f(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").removeClass(M)}).on("click","tr",function(e){t.call(this,"row",e)}).on("dblclick","tr",function(e){t.call(this,"rowDouble",e)}).on("contextmenu","tr",function(e){s.defaultContextmenu||e.preventDefault(),t.call(this,"rowContextmenu",e)}),function(e,t){var a=f(this);if(!a.data("off")){if("rowContextmenu"!==e){var i=[".layui-form-checkbox",".layui-form-switch",".layui-form-radio","[lay-unrow]"].join(",");if(f(t.target).is(i)||f(t.target).closest(i)[0])return}layui.event.call(this,R,e+"("+o+")",y.call(a.children("td")[0],{e:t}))}}),n=function(e,t){var a,i,l;(e=f(e)).data("off")||(l=e.data("field"),i=e.data("key"),i=c.col(i),a=e.closest("tr").data("index"),a=k.cache[c.key][a],e.children(u),(i="function"==typeof i.edit?i.edit(a):i.edit)&&((i=f("textarea"===i?'':''))[0].value=(l=e.data("content")||a[l])===undefined||null===l?"":l,e.find("."+E)[0]||e.append(i),i.focus(),t)&&layui.stope(t))},i=(c.layBody.on("change","."+E,function(){var e=f(this),t=e.parent(),a=this.value,i=e.parent().data("field"),e=e.closest("tr").data("index"),e=k.cache[c.key][e],l=y.call(t[0],{value:a,field:i,oldValue:e[i],td:t,reedit:function(){setTimeout(function(){n(l.td);var e={};e[i]=l.oldValue,l.update(e)})},getCol:function(){return c.col(t.data("key"))}}),e={};e[i]=a,l.update(e),layui.event.call(t[0],R,"edit("+o+")",l)}).on("blur","."+E,function(){f(this).remove()}),c.layBody.on(s.editTrigger,"td",function(e){n(this,e)}).on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),c.layTotal.on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),"layui-table-grid-down"),a=function(e){var t=f(this),a=t.children(u);t.data("off")||t.parent().hasClass(H)||(e?t.find(".layui-table-grid-down").remove():!(a.prop("scrollWidth")>a.prop("clientWidth")||0'))},l=function(e,t){var a=f(this),i=a.parent(),l=i.data("key"),n=c.col(l),o=i.parent().data("index"),d=i.children(u),i="layui-table-cell-c",r=f('');"tips"===(t=t||n.expandedMode||s.cellExpandedMode)?c.tipsIndex=g.tips(['
        ',d.html(),"
        ",''].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:x.ios||x.android?300:c.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){g.close(t)})}}):(c.elem.find("."+i).trigger("click"),c.cssRules(l,function(e){var t=e.style.width,a=n.expandedWidth||s.cellExpandedWidth;atr").each(function(i){n.cols[i]=[],f(this).children().each(function(e){var t=f(this),a=t.attr("lay-data"),a=r.options(this,{attr:a?"lay-data":null,errorText:d+(a||t.attr("lay-options"))}),t=f.extend({title:t.text(),colspan:parseInt(t.attr("colspan"))||1,rowspan:parseInt(t.attr("rowspan"))||1},a);n.cols[i].push(t)})}),e.find("tbody>tr")),t=k.render(n);!a.length||o.data||t.config.url||(l=0,k.eachCols(t.config.id,function(e,i){a.each(function(e){n.data[e]=n.data[e]||{};var t=f(this),a=i.field;n.data[e][a]=t.children("td").eq(l).html()}),l++}),t.reloadData({data:n.data}))}),this},w.that={},w.config={},function(a,i,e,l){var n,o;l.colGroup&&(n=0,a++,l.CHILD_COLS=[],o=e+(parseInt(l.rowspan)||1),layui.each(i[o],function(e,t){t.parentKey?t.parentKey===l.key&&(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),c(a,i,o,t)):t.PARENT_COL_INDEX||1<=n&&n==(l.colspan||1)||(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),n+=parseInt(1td').filter('[data-field="'+e+'"]')}}})).replace(/"/g,'""'),n.push(a='"'+a+'"')):t.field&&"normal"!==t.type&&0==i&&(u[t.field]=!0)}),c.push(n.join(","))}),o&&layui.each(o.dataTotal,function(e,t){u[t.field]||s.push('"'+(t.total||"")+'"')}),r.join(",")+"\r\n"+c.join("\r\n")+"\r\n"+s.join(","))),d.download=(a.title||l.title||"table_"+(l.index||""))+"."+i,document.body.appendChild(d),d.click(),document.body.removeChild(d)},k.getOptions=l,k.hideCol=function(e,l){var n=C(e);n&&("boolean"===layui.type(l)?n.eachCols(function(e,t){var a=t.key,i=n.col(a),t=t.parentKey;i.hide!=l&&(i=i.hide=l,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](W),n.setParentCol(i,t))}):(l=layui.isArray(l)?l:[l],layui.each(l,function(e,l){n.eachCols(function(e,t){var a,i;l.field===t.field&&(a=t.key,i=n.col(a),t=t.parentKey,"hide"in l)&&i.hide!=l.hide&&(i=i.hide=!!l.hide,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](W),n.setParentCol(i,t))})})),f("."+S).remove(),n.resize())},k.reload=function(e,t,a,i){if(l(e))return(e=C(e)).reload(t,a,i),w.call(e)},k.reloadData=function(){var a=f.extend([],arguments),i=(a[3]="reloadData",new RegExp("^("+["elem","id","cols","width","height","maxHeight","toolbar","defaultToolbar","className","css","pagebar"].join("|")+")$"));return layui.each(a[1],function(e,t){i.test(e)&&delete a[1][e]}),k.reload.apply(null,a)},k.render=function(e){e=new n(e);return w.call(e)},k.clearCacheKey=function(e){return delete(e=f.extend({},e))[k.config.checkName],delete e[k.config.indexName],delete e[k.config.initIndexName],delete e[k.config.numbersName],delete e[k.config.disabledName],e},f(function(){k.init()}),s(R,k)});layui.define(["table"],function(e){"use strict";var A=layui.$,h=layui.form,P=layui.table,y=layui.hint(),B={config:{},on:P.on,eachCols:P.eachCols,index:P.index,set:function(e){var t=this;return t.config=A.extend({},t.config,e),t},resize:P.resize,getOptions:P.getOptions,hideCol:P.hideCol,renderData:P.renderData},i=function(){var a=this,e=a.config,n=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){B.reloadData(n,e,t)}}},j=function(e){var t=i.that[e];return t||y.error(e?"The treeTable instance with ID '"+e+"' not found":"ID argument required"),t||null},F="lay-table-id",L="layui-hide",s=".layui-table-body",q=".layui-table-main",R=".layui-table-fixed-l",Y=".layui-table-fixed-r",l="layui-table-checked",m="layui-table-tree",z="LAY_DATA_INDEX",b="LAY_DATA_INDEX_HISTORY",p="LAY_PARENT_INDEX",g="LAY_CHECKBOX_HALF",H="LAY_EXPAND",X="LAY_HAS_EXPANDED",V="LAY_ASYNC_STATUS",n=["all","parent","children","none"],t=/<[^>]+?>/,f=["flexIconClose","flexIconOpen","iconClose","iconOpen","iconLeaf","icon"],a=function(e){var t=this;t.index=++B.index,t.config=A.extend(!0,{},t.config,B.config,e),t.init(),t.render()},x=function(n,i,e){var l=P.cache[n];layui.each(e||l,function(e,t){var a=t[z]||"";-1!==a.indexOf("-")&&(l[a]=t),t[i]&&x(n,i,t[i])})},d=function(d,a,e){var r=j(d),o=("reloadData"!==e&&(r.status={expand:{}}),A.extend(!0,{},r.getOptions(),a)),n=o.tree,c=n.customName.children,i=n.customName.id,l=(delete a.hasNumberCol,delete a.hasChecboxCol,delete a.hasRadioCol,P.eachCols(null,function(e,t){"numbers"===t.type?a.hasNumberCol=!0:"checkbox"===t.type?a.hasChecboxCol=!0:"radio"===t.type&&(a.hasRadioCol=!0)},o.cols),a.parseData),u=a.done;"reloadData"===e&&"fixed"===o.scrollPos&&(r.scrollTopCache=r.config.elem.next().find(s).scrollTop()),o.url?e&&(!l||l.mod)||(a.parseData=function(){var e=this,t=arguments,a=t[0],t=("function"===layui.type(l)&&(a=l.apply(e,t)||t[0]),e.response.dataName);return n.data.isSimpleData&&!n["async"].enable&&(a[t]=r.flatToTree(a[t])),N(a[t],function(e){e[H]=H in e?e[H]:e[i]!==undefined&&r.status.expand[e[i]]},c),e.autoSort&&e.initSort&&e.initSort.type&&layui.sort(a[t],e.initSort.field,"desc"===e.initSort.type,!0),r.initData(a[t]),a},a.parseData.mod=!0):a.data!==undefined&&(a.data=a.data||[],n.data.isSimpleData&&(a.data=r.flatToTree(a.data)),r.initData(a.data)),e&&(!u||u.mod)||(a.done=function(){var e,t=arguments,a=t[3],n="renderData"===a,i=(n||delete r.isExpandAll,this.elem.next()),l=(r.updateStatus(null,{LAY_HAS_EXPANDED:!1}),x(d,c),i.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'));if(l.length&&(e=B.checkStatus(d),l.prop({checked:e.isAll&&e.data.length,indeterminate:!e.isAll&&e.data.length})),!n&&o.autoSort&&o.initSort&&o.initSort.type&&B.sort(d),r.renderTreeTable(i),"reloadData"===a&&"fixed"===this.scrollPos&&i.find(s).scrollTop(r.scrollTopCache),"function"===layui.type(u))return u.apply(this,t)},a.done.mod=!0),a&&a.tree&&a.tree.view&&layui.each(f,function(e,t){a.tree.view[t]!==undefined&&(a.tree.view[t]=r.normalizedIcon(a.tree.view[t]))})};a.prototype.init=function(){var e=this.config,t=e.tree.data.cascade,t=(-1===n.indexOf(t)&&(e.tree.data.cascade="all"),P.render(A.extend({},e,{data:[],url:"",done:null}))),a=t.config.id;(i.that[a]=this).tableIns=t,d(a,e)},a.prototype.config={tree:{customName:{children:"children",isParent:"isParent",name:"name",id:"id",pid:"parentId",icon:"icon"},view:{indent:14,flexIconClose:'',flexIconOpen:'',showIcon:!0,icon:"",iconClose:'',iconOpen:'',iconLeaf:'',showFlexIconIfNotParent:!1,dblClickExpand:!0,expandAllDefault:!1},data:{isSimpleData:!1,rootPid:null,cascade:"all"},"async":{enable:!1,url:"",type:null,contentType:null,headers:null,where:null,autoParam:[]},callback:{beforeExpand:null,onExpand:null}}},a.prototype.normalizedIcon=function(e){return e?t.test(e)?e:'':""},a.prototype.getOptions=function(){return this.tableIns?P.getOptions(this.tableIns.config.id):this.config},a.prototype.flatToTree=function(e){var n,i,l,d,r,o,c,u,t=this.getOptions(),a=t.tree,s=a.customName,t=t.id;return e=e||P.cache[t],t=e,n=s.id,i=s.pid,l=s.children,d=a.data.rootPid,n=n||"id",i=i||"parentId",l=l||"children",c={},u=[],layui.each(t,function(e,t){r=n+t[n],o=n+t[i],c[r]||(c[r]={},c[r][l]=[]);var a={};a[l]=c[r][l],c[r]=A.extend({},t,a),((d?c[r][i]===d:!c[r][i])?u:(c[o]||(c[o]={},c[o][l]=[]),c[o][l])).push(c[r])}),u},a.prototype.treeToFlat=function(e,n,i){var l=this,d=l.getOptions().tree.customName,r=d.children,o=d.pid,c=[];return layui.each(e,function(e,t){var e=(i?i+"-":"")+e,a=A.extend({},t);a[o]="undefined"!=typeof t[o]?t[o]:n,c.push(a),c=c.concat(l.treeToFlat(t[r],t[d.id],e))}),c},a.prototype.getTreeNode=function(e){var t,a,n=this;return e?(a=(t=n.getOptions()).tree,t.id,a.customName,{data:e,dataIndex:e[z],getParentNode:function(){return n.getNodeByIndex(e[p])}}):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeByIndex=function(t){var a,e,n=this,i=n.getNodeDataByIndex(t);return i?((e=n.getOptions()).tree.customName.parent,a=e.id,(e={data:i,dataIndex:i[z],getParentNode:function(){return n.getNodeByIndex(i[p])},update:function(e){return B.updateNode(a,t,e)},remove:function(){return B.removeNode(a,t)},expand:function(e){return B.expandNode(a,A.extend({},e,{index:t}))},setChecked:function(e){return B.setRowChecked(a,A.extend({},e,{index:t}))}}).dataIndex=t,e):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeById=function(a){var e=this.getOptions(),n=e.tree.customName.id,i="",e=B.getData(e.id,!0);if(layui.each(e,function(e,t){if(t[n]===a)return i=t[z],!0}),i)return this.getNodeByIndex(i)},a.prototype.getNodeDataByIndex=function(e,t,a){var n=this.getOptions(),i=n.tree,n=n.id,n=P.cache[n],l=n[e];if("delete"!==a&&l)return A.extend(l,a),t?A.extend({},l):l;for(var d=n,r=String(e).split("-"),o=0,c=i.customName.children;o
        '),N=function(e){y[V]="success",y[s.children]=e,c.initData(y[s.children],y[z]),J(t,!0,!p&&n,i,l)},C=m.format,"function"===layui.type(C)?C(y,o,N):(I=A.extend({},m.where||o.where),C=m.autoParam,layui.each(C,function(e,t){t=t.split("=");I[t[0].trim()]=y[(t[1]||t[0]).trim()]}),(C=m.contentType||o.contentType)&&0==C.indexOf("application/json")&&(I=JSON.stringify(I)),O=m.method||o.method,D=m.dataType||o.dataType,T=m.jsonpCallback||o.jsonpCallback,_=m.headers||o.headers,k=m.parseData||o.parseData,w=m.response||o.response,A.ajax({type:O||"get",url:b,contentType:C,data:I,dataType:D||"json",jsonpCallback:T,headers:_||{},success:function(e){(e="function"==typeof k?k.call(o,e)||e:e)[w.statusName]!=w.statusCode?(y[V]="error",y[H]=!1,g.html('')):N(e[w.dataName])},error:function(e,t){y[V]="error",y[H]=!1,"function"==typeof o.error&&o.error(e,t)}})),h;y[X]=!0,v.length&&(!o.initSort||o.url&&!o.autoSort||((m=o.initSort).type?layui.sort(v,m.field,"desc"===m.type,!0):layui.sort(v,P.config.indexName,null,!0)),c.initData(y[s.children],y[z]),O=P.getTrHtml(r,v,null,null,e),S={trs:A(O.trs.join("")),trs_fixed:A(O.trs_fixed.join("")),trs_fixed_r:A(O.trs_fixed_r.join(""))},E=(e.split("-").length-1||0)+1,layui.each(v,function(e,t){S.trs.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed_r.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z])}),d.find(q).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs),d.find(R).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed),d.find(Y).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed_r),c.renderTreeTable(S.trs,E),n)&&!p&&layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)})}else c.isExpandAll=!1,(n&&!p?(layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)}),d.find(v.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(","))):(b=c.treeToFlat(v,y[s.id],e),d.find(b.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))).addClass(L);U("resize-"+r,function(){B.resize(r)},0)(),l&&"loading"!==y[V]&&(C=u.callback.onExpand,"function"===layui.type(C))&&C(r,y,x)}return h},v=(B.expandNode=function(e,t){var a,n,i,e=j(e);if(e)return a=(t=t||{}).index,n=t.expandFlag,i=t.inherit,t=t.callbackFlag,e=e.getOptions().elem.next(),J({trElem:e.find('tr[lay-data-index="'+a+'"]').first()},n,i,null,t)},B.expandAll=function(a,e){if("boolean"!==layui.type(e))return y.error("expandAll \u7684\u5c55\u5f00\u72b6\u6001\u53c2\u6570\u53ea\u63a5\u6536true/false");var t=j(a);if(t){t.isExpandAll=e;var n=t.getOptions(),i=n.tree,l=n.elem.next(),d=i.customName.isParent,r=i.customName.id,o=i.view.showFlexIconIfNotParent;if(e){e=B.getData(a,!0);if(i["async"].enable){var c=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[V])return!(c=!1)}),!c)return void layui.each(B.getData(a),function(e,t){B.expandNode(a,{index:t[z],expandFlag:!0,inherit:!0})})}var u=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[X])return!(u=!1)}),u)t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),l.find('tbody tr[data-level!="0"]').removeClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconOpen),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconOpen);else{if(t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[X]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),n.initSort&&n.initSort.type&&n.autoSort)return B.sort(a);var s,n=P.getTrHtml(a,e),f={trs:A(n.trs.join("")),trs_fixed:A(n.trs_fixed.join("")),trs_fixed_r:A(n.trs_fixed_r.join(""))};layui.each(e,function(e,t){var a=t[z].split("-").length-1;s={"data-index":t[z],"lay-data-index":t[z],"data-level":a},f.trs.eq(e).attr(s).data("index",t[z]),f.trs_fixed.eq(e).attr(s).data("index",t[z]),f.trs_fixed_r.eq(e).attr(s).data("index",t[z])}),layui.each(["main","fixed-l","fixed-r"],function(e,t){l.find(".layui-table-"+t+" tbody").html(f[["trs","trs_fixed","trs_fixed_r"][e]])}),t.renderTreeTable(l,0,!1)}}else t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!1,e[r]!==undefined)&&(t.status.expand[e[r]]=!1)}),l.find('.layui-table-box tbody tr[data-level!="0"]').addClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconClose),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconClose);B.resize(a)}},a.prototype.updateNodeIcon=function(e){var t=this.getOptions().tree||{},a=e.scopeEl,n=e.isExpand,e=e.isParent;a.find(".layui-table-tree-flexIcon").css("visibility",e||t.view.showFlexIconIfNotParent?"visible":"hidden").html(n?t.view.flexIconOpen:t.view.flexIconClose),t.view.showIcon&&(a=a.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom)"),n=e?n?t.view.iconOpen:t.view.iconClose:t.view.iconLeaf,a.toggleClass("layui-table-tree-iconLeaf",!e).html(n))},a.prototype.renderTreeTable=function(e,t,a){var l=this,n=l.getOptions(),d=n.elem.next(),i=(d.hasClass(m)||d.addClass(m),n.id),r=n.tree||{},o=(r.data,r.view||{}),c=r.customName||{},u=c.isParent,s=(d.attr("lay-filter"),l),f=n.data.length,y=((t=t||0)||(d.find(".layui-table-body tr:not([data-level])").attr("data-level",t),layui.each(P.cache[i],function(e,t){f&&(t[z]=String(e));t=t[z];d.find('.layui-table-main tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),d.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),d.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t)})),null),p=c.name,x=o.indent||14;if(layui.each(e.find('td[data-field="'+p+'"]'),function(e,t){var a,n,i=(t=A(t)).closest("tr"),t=t.children(".layui-table-cell");t.hasClass("layui-table-tree-item")||(n=i.attr("lay-data-index"))&&(i=d.find('tr[lay-data-index="'+n+'"]'),(a=s.getNodeDataByIndex(n))[H]&&a[u]&&((y=y||{})[n]=!0),a[g]&&i.find('input[type="checkbox"][name="layTableCheckbox"]').prop("indeterminate",!0),n=t.html(),(t=i.find('td[data-field="'+p+'"]>div.layui-table-cell')).addClass("layui-table-tree-item"),t.html(['
        ',a[H]?o.flexIconOpen:o.flexIconClose,"
        ",o.showIcon?'
        '+(l.normalizedIcon(a[c.icon])||o.icon||(a[u]?a[H]?o.iconOpen:o.iconClose:o.iconLeaf)||"")+"
        ":"",n].join("")).find(".layui-table-tree-flexIcon").on("click",function(e){layui.stope(e),J({trElem:i},null,null,null,!0)}))}),!t&&r.view.expandAllDefault&&l.isExpandAll===undefined)return B.expandAll(i,!0);(!1!==a&&y?(layui.each(y,function(e,t){e=d.find('tr[lay-data-index="'+e+'"]');e.find(".layui-table-tree-flexIcon").html(o.flexIconOpen),J({trElem:e.first()},!0)}),U("renderTreeTable2-"+i,function(){h.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0)):U("renderTreeTable-"+i,function(){n.hasNumberCol&&v(l),h.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0))()},function(a){var e=a.getOptions(),t=e.elem.next(),n=0,i=t.find(".layui-table-main tbody tr"),l=t.find(".layui-table-fixed-l tbody tr"),d=t.find(".layui-table-fixed-r tbody tr");layui.each(a.treeToFlat(P.cache[e.id]),function(e,t){t.LAY_HIDE||(a.getNodeDataByIndex(t[z]).LAY_NUM=++n,i.eq(e).find(".laytable-cell-numbers").html(n),l.eq(e).find(".laytable-cell-numbers").html(n),d.eq(e).find(".laytable-cell-numbers").html(n))})}),N=(a.prototype.render=function(e){var t=this;t.tableIns=P["reloadData"===e?"reloadData":"reload"](t.tableIns.config.id,A.extend(!0,{},t.config)),t.config=t.tableIns.config},a.prototype.reload=function(e,t,a){var n=this;e=e||{},delete n.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete n.config[e]}),d(n.getOptions().id,e,a||!0),n.config=A.extend(t,{},n.config,e),n.render(a)},B.reloadData=function(){var e=A.extend(!0,[],arguments);return e[3]="reloadData",B.reload.apply(null,e)},function(e,a,n,i){var l=[];return layui.each(e,function(e,t){"function"===layui.type(a)?a(t):A.extend(t,a),l.push(A.extend({},t)),i||(l=l.concat(N(t[n],a,n,i)))}),l}),o=(a.prototype.updateStatus=function(e,t,a){var n=this.getOptions(),i=n.tree;return e=e||P.cache[n.id],N(e,t,i.customName.children,a)},a.prototype.getTableData=function(){var e=this.getOptions();return P.cache[e.id]},B.updateStatus=function(e,t,a){var e=j(e),n=e.getOptions();return a=a||(n.url?P.cache[n.id]:n.data),e.updateStatus(a,t)},B.sort=function(e){var t,a,i,l,n,d=j(e);d&&(n=(t=d.getOptions()).tree,a=B.getData(e),i=n.customName.children,l=function(e,a,n){layui.sort(e,a,n,!0),layui.each(e,function(e,t){l(t[i]||[],a,n)})},t.autoSort)&&((n=t.initSort).type?l(a,n.field,"desc"===n.type):l(a,P.config.indexName,null),P.cache[e]=a,d.initData(a),B.renderData(e))},function(n){var t=n.config.id,i=j(t),a=n.data=B.getNodeDataByIndex(t,n.index),l=a[z],d=(n.dataIndex=l,n.update);n.update=function(){var e=arguments,t=(A.extend(i.getNodeDataByIndex(l),e[0]),d.apply(this,e)),a=n.config.tree.customName.name;return a in e[0]&&n.tr.find('td[data-field="'+a+'"]').children("div.layui-table-cell").removeClass("layui-table-tree-item"),i.renderTreeTable(n.tr,n.tr.attr("data-level"),!1),t},n.del=function(){B.removeNode(t,a)},n.setRowChecked=function(e){B.setRowChecked(t,{index:a,checked:e})}}),u=(B.updateNode=function(e,a,t){var n,i,l,d,r,o=j(e);o&&((d=o.getOptions()).tree,d=(n=d.elem.next()).find('tr[lay-data-index="'+a+'"]'),i=d.attr("data-index"),l=d.attr("data-level"),t)&&(d=o.getNodeDataByIndex(a,!1,t),r=P.getTrHtml(e,[d]),layui.each(["main","fixed-l","fixed-r"],function(e,t){n.find(".layui-table-"+t+' tbody tr[lay-data-index="'+a+'"]').replaceWith(A(r[["trs","trs_fixed","trs_fixed_r"][e]].join("")).attr({"data-index":i,"lay-data-index":a,"data-level":l}).data("index",i))}),o.renderTreeTable(n.find('tr[lay-data-index="'+a+'"]'),l))},B.removeNode=function(e,t,a){var n=j(e);if(n){var i,l=n.getOptions(),d=l.tree,r=d.customName.isParent,o=d.customName.children,c=l.elem.next(),u=[],s=P.cache[e],t=n.getNodeDataByIndex("string"===layui.type(t)?t:t[z],!1,"delete"),f=n.getNodeDataByIndex(t[p]),d=(n.updateCheckStatus(f),n.treeToFlat([t],t[d.customName.pid],t[p])),t=(layui.each(d,function(e,t){t=t[z];u.push('tr[lay-data-index="'+t+'"]'),-1!==t.indexOf("-")&&delete s[t]}),c.find(u.join(",")).remove(),n.initData());for(i in s)-1!==i.indexOf("-")&&i!==s[i][z]&&delete s[i];layui.each(n.treeToFlat(t),function(e,t){t[b]&&t[b]!==t[z]&&c.find('tr[lay-data-index="'+t[b]+'"]').attr({"data-index":t[z],"lay-data-index":t[z]}).data("index",t[z])}),layui.each(s,function(e,t){c.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),l.hasNumberCol&&v(n),f&&(d=c.find('tr[lay-data-index="'+f[z]+'"]'),a||(f[r]=!(!f[o]||!f[o].length)),n.updateNodeIcon({scopeEl:d,isExpand:f[H],isParent:f[r]})),B.resize(e)}},B.addNodes=function(e,t){var a=j(e);if(a){var n=a.getOptions(),i=n.tree,l=n.elem.next(),d=P.config.checkName,r=(t=t||{}).parentIndex,o=t.index,c=t.data,t=t.focus,u=(r="number"===layui.type(r)?r.toString():r)?a.getNodeDataByIndex(r):null,o="number"===layui.type(o)?o:-1,c=A.extend(!0,[],layui.isArray(c)?c:[c]);layui.each(c,function(e,t){d in t||!u||(t[d]=u[d])}),a.getTableData();if(u){var s=i.customName.isParent,f=i.customName.children;u[s]=!0;var y=(y=u[f])?(p=y.splice(-1===o?y.length:o),u[f]=y.concat(c,p)):u[f]=c,f=(a.updateStatus(y,function(e){(e[s]||i.view.showFlexIconIfNotParent)&&(e[X]=!1)}),a.treeToFlat(y));l.find(f.map(function(e){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")).remove(),a.initData(),u[X]=!1,u[V]="local",J({trElem:l.find('tr[lay-data-index="'+r+'"]')},!0)}else{var p=P.cache[e].splice(-1===o?P.cache[e].length:o);if(P.cache[e]=P.cache[e].concat(c,p),n.url||(n.page?(y=n.page,n.data.splice.apply(n.data,[y.limit*(y.curr-1),y.limit].concat(P.cache[e]))):n.data=P.cache[e]),a.initData(),l.find(".layui-none").length)return P.renderData(e),c;var x,f=P.getTrHtml(e,c),h={trs:A(f.trs.join("")),trs_fixed:A(f.trs_fixed.join("")),trs_fixed_r:A(f.trs_fixed_r.join(""))},r=(layui.each(c,function(e,t){x={"data-index":t[z],"lay-data-index":t[z],"data-level":"0"},h.trs.eq(e).attr(x).data("index",t[z]),h.trs_fixed.eq(e).attr(x).data("index",t[z]),h.trs_fixed_r.eq(e).attr(x).data("index",t[z])}),parseInt(c[0][z])-1),y=l.find(q),n=l.find(R),f=l.find(Y);-1==r?y.find('tr[data-level="0"][data-index="0"]')[0]?(y.find('tr[data-level="0"][data-index="0"]').before(h.trs),n.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed_r)):(y.find("tbody").prepend(h.trs),n.find("tbody").prepend(h.trs_fixed),f.find("tbody").prepend(h.trs_fixed_r)):-1===o?(y.find("tbody").append(h.trs),n.find("tbody").append(h.trs_fixed),f.find("tbody").append(h.trs_fixed_r)):(r=p[0][b],y.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs),n.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed_r)),layui.each(P.cache[e],function(e,t){l.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),a.renderTreeTable(l.find(c.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))}return a.updateCheckStatus(u),u&&(o=l.find('tr[lay-data-index="'+u[z]+'"]'),a.updateNodeIcon({scopeEl:o,isExpand:u[H],isParent:u[s]})),B.resize(e),t&&l.find(q).find('tr[lay-data-index="'+c[0][z]+'"]').get(0).scrollIntoViewIfNeeded(),c}},B.checkStatus=function(e,n){var i,t,a,l=j(e);if(l)return l=l.getOptions().tree,i=P.config.checkName,t=B.getData(e,!0).filter(function(e,t,a){return e[i]||n&&e[g]}),a=!0,layui.each("all"===l.data.cascade?P.cache[e]:B.getData(e,!0),function(e,t){if(!t[i])return!(a=!1)}),{data:t,isAll:a}},B.on("sort",function(e){var e=e.config,t=e.elem.next(),e=e.id;t.hasClass(m)&&B.sort(e)}),B.on("row",function(e){e.config.elem.next().hasClass(m)&&o(e)}),B.on("rowDouble",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&(o(e),(t.tree||{}).view.dblClickExpand)&&J({trElem:e.tr.first()},null,null,null,!0)}),B.on("rowContextmenu",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),B.on("tool",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),B.on("edit",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&(o(e),e.field===t.tree.customName.name)&&((a={})[e.field]=e.value,e.update(a))}),B.on("radio",function(e){var t=e.config,a=t.elem.next(),t=t.id;a.hasClass(m)&&(a=j(t),o(e),u.call(a,e.tr,e.checked))}),a.prototype.setRowCheckedClass=function(e,t){var a=this.getOptions(),n=(e.data("index"),a.elem.next());e[t?"addClass":"removeClass"](l),e.each(function(){var e=A(this).data("index");n.find('.layui-table-fixed-r tbody tr[data-index="'+e+'"]')[t?"addClass":"removeClass"](l)})},a.prototype.updateCheckStatus=function(e,t){var a,n,i,l,d,r,o,c=this,u=c.getOptions();return!!u.hasChecboxCol&&(a=u.tree,n=u.id,i=u.elem.next(),l=P.config.checkName,"all"!==(d=a.data.cascade)&&"parent"!==d||!e||(d=c.updateParentCheckStatus(e,"boolean"===layui.type(t)?t:null),layui.each(d,function(e,t){var a=i.find('tr[lay-data-index="'+t[z]+'"] input[name="layTableCheckbox"]:not(:disabled)'),n=t[l];c.setRowCheckedClass(a.closest("tr"),n),a.prop({checked:n,indeterminate:t[g]})})),o=!(r=!0),0<(e=(e="all"===a.data.cascade?P.cache[n]:B.getData(n,!0)).filter(function(e){return!e[u.disabledName]})).length?layui.each(e,function(e,t){if((t[l]||t[g])&&(o=!0),t[l]||(r=!1),o&&!r)return!0}):r=!1,o=o&&!r,i.find('input[name="layTableCheckbox"][lay-filter="layTableAllChoose"]').prop({checked:r,indeterminate:o}),r)},a.prototype.updateParentCheckStatus=function(a,n){var i,e=this.getOptions(),t=e.tree,e=e.id,l=P.config.checkName,t=t.customName.children,d=[];return!(a[g]=!1)===n?a[t].length?layui.each(a[t],function(e,t){if(!t[l])return n=!1,a[g]=!0}):n=!1:!1===n?layui.each(a[t],function(e,t){if(t[l]||t[g])return a[g]=!0}):(n=!1,i=0,layui.each(a[t],function(e,t){t[l]&&i++}),n=a[t].length?a[t].length===i:a[l],a[g]=!n&&0li"],n.bodyElem=["."+C.CONST.BODY+":eq(0)",">."+C.CONST.ITEM],n.getContainer=function(){var e=n.documentElem||t.elem;return{header:{elem:e.find(n.headerElem[0]),items:e.find(n.headerElem.join(""))},body:{elem:e.find(n.bodyElem[0]),items:e.find(n.bodyElem.join(""))}}},"array"===layui.type(t.header)){if(0===t.header.length)return;"string"==typeof t.header[0]?(n.headerElem=t.header.concat(),n.documentElem=p(document)):(n.elemView=p('
        '),t.className&&n.elemView.addClass(t.className),a=p('
          '),i=p('
          '),layui.each(t.header,function(e,t){t=n.renderHeaderItem(t);a.append(t)}),layui.each(t.body,function(e,t){t=n.renderBodyItem(t);i.append(t)}),n.elemView.append(a).append(i),t.elem.html(n.elemView))}else n.renderClose();"array"===layui.type(t.body)&&"string"==typeof t.body[0]&&(n.documentElem=p(document),n.bodyElem=t.body.concat());var e=n.data();"index"in t&&e.index!=t.index?n.change(n.findHeaderItem(t.index),!0):-1===e.index&&n.change(n.findHeaderItem(0),!0),n.roll("auto"),t.elem.hasClass(C.CONST.CLASS_HIDEV)&&t.elem.removeClass(C.CONST.CLASS_HIDEV),"function"==typeof t.afterRender&&t.afterRender(e),layui.event.call(t.elem[0],C.CONST.MOD_NAME,"afterRender("+t.id+")",e)},events:function(){var e,t=this,a=t.config,i=t.getContainer(),n=C.CONST.MOD_NAME,i=(t.documentElem?i.header:a).elem,a=a.trigger+(".lay_"+n+"_trigger"),n=t.documentElem?t.headerElem[1]:t.headerElem.join("");i.off(a).on(a,n,function(){t.change(p(this))}),r.onresize||(p(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){layui.each(C.cache.id,function(e){e=C.getInst(e);e&&e.roll("init")})},50)}),r.onresize=!0)}}),r={},t=C.Class;t.prototype.add=function(e){var t,a,i=this,n=(i.config,i.getContainer()),r=i.renderHeaderItem(e),o=i.renderBodyItem(e),d=(e=p.extend({active:!0},e),/(before|after)/.test(e.mode)?(a=i.data(),d=(t=e.hasOwnProperty("index"))?i.findHeaderItem(e.index):a.thisHeaderItem,t=t?i.findBodyItem(e.index):a.thisHeaderItem,d[e.mode](r),t[e.mode](o)):(a={prepend:"prepend",append:"append"}[e.mode||"append"]||"append",n.header.elem[a](r),n.body.elem[a](o)),e.active?i.change(r,!0):i.roll("auto"),i.data());"function"==typeof e.done&&e.done(d)},t.prototype.close=function(e,t){if(e&&e[0]){var a=this,i=a.config,n=e.index();if(e[0]&&"false"!==e.attr("lay-closable")){var r=a.data();if(!t)if(!1===layui.event.call(e[0],C.CONST.MOD_NAME,"beforeClose("+i.id+")",p.extend(r,{index:e.index()})))return;e.hasClass(C.CONST.CLASS_THIS)&&(e.next()[0]?a.change(e.next(),!0):e.prev()[0]&&a.change(e.prev(),!0)),e.remove(),a.findBodyItem(n).remove(),a.roll("auto",n);r=a.data();layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterClose("+i.id+")",r)}}},t.prototype.closeMult=function(e,t){var a,i=this,n=i.config,r=i.getContainer(),o=i.data(),d=r.header.items,l=r.body.items,r='[lay-closable="false"]',s=":not("+r+")",r=(t=t===undefined?o.index:t,d.each(function(e){var t=p(this).attr("lay-closable");t&&l.eq(e).attr("lay-closable",t)}),"false"!==o.thisHeaderItem.attr("lay-closable")&&("all"!==e&&e?t!==o.index&&i.change(i.findHeaderItem(t),!0):(a=d.filter(":gt("+o.index+")"+r).eq(0),o=p(d.filter(":lt("+o.index+")"+r).get().reverse()).eq(0),a[0]?i.change(a,!0):o[0]&&i.change(o,!0))),("other"===e?(d.eq(t).siblings(s).remove(),l.eq(t).siblings(s)):"right"===e?(d.filter(":gt("+t+")"+s).remove(),l.filter(":gt("+t+")"+s)):(d.filter(s).remove(),l.filter(s))).remove(),i.roll("auto"),i.data());layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterClose("+n.id+")",r)},t.prototype.change=function(e,t){if(e&&e[0]){var a=this,i=a.config,n=e.index(),r=e.find("a"),r="string"==typeof r.attr("href")&&"_blank"===r.attr("target"),o="string"==typeof e.attr("lay-unselect");if(!r&&!o){r=a.data();if(!t)if(!1===layui.event.call(e[0],C.CONST.MOD_NAME,"beforeChange("+i.id+")",p.extend(r,{from:{index:r.index,headerItem:r.thisHeaderItem},to:{index:e.index(),headerItem:e}})))return;e.addClass(C.CONST.CLASS_THIS).siblings().removeClass(C.CONST.CLASS_THIS),a.findBodyItem(n).addClass(C.CONST.CLASS_SHOW).siblings().removeClass(C.CONST.CLASS_SHOW),a.roll("auto",n);r=a.data();layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterChange("+i.id+")",r)}}},t.prototype.renderHeaderItem=function(e){var t=this.config,a=p(e.headerItem||t.headerItem||"
        • ");return a.html(e.title||"New Tab"),layui.each(e,function(e,t){/^(title|content|mode|done)$/.test(e)||a.attr("lay-"+e,t)}),this.appendClose(a,e),a},t.prototype.renderBodyItem=function(e){var t=this.config,t=p(e.bodyItem||t.bodyItem||'
          ');return t.html(e.content||""),t},t.prototype.appendClose=function(e,t){var a=this;a.config.closable&&"false"!==(t=t||{}).closable&&"false"!==e.attr("lay-closable")&&!e.find("."+C.CONST.CLOSE)[0]&&((t=p('')).on("click",function(){return a.close(p(this).parent()),!1}),e.append(t))},t.prototype.renderClose=function(){var e=this,t=e.config,a=e.getContainer();t.closable?a.header.items.each(function(){e.appendClose(p(this))}):a.header.items.each(function(){p(this).find("."+C.CONST.CLOSE).remove()})},t.prototype.roll=function(e,i){var n=this,t=n.config,a=n.getContainer(),r=a.header.elem,o=a.header.items,a=r.prop("scrollWidth"),d=Math.ceil(r.outerWidth()),l=r.data("left")||0,s="scroll"===t.headerMode,c="layui-tabs-scroll",f="layui-tabs-bar",u=["layui-icon-prev","layui-icon-next"],m={elem:p('
          '),bar:p(['
          ','','',"
          "].join(""))};if("normal"!==t.headerMode){var h,y=r.parent("."+c);if(s||!s&&d=d-l)return r.css("left",-a).data("left",-a),!1}),l=r.data("left")||0,y.find("."+u[0])[l<0?"removeClass":"addClass"](C.CONST.CLASS_DISABLED),y.find("."+u[1])[0')),n=(e.tree(a),i.elem=p(i.elem));if(n[0]){if(e.key=i.id||e.index,e.elem=a,e.elemNone=p('
          '+i.text.none+"
          "),n.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=p(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(T),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(T)}),e.events()}},l.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},l.prototype.tree=function(r,e){var d=this,s=d.config,o=s.customName,e=e||s.data;layui.each(e,function(e,i){var a,n,t=i[o.children]&&0"),c=p(['
          ','
          ','
          ',s.showLine?t?'':'':'',s.showCheckbox?'':"",s.isJump&&i.href?''+(i[o.title]||i.label||s.text.defaultNodeName)+"":''+(i[o.title]||i.label||s.text.defaultNodeName)+"","
          ",s.edit?(a={add:'',update:'',del:''},n=['
          '],!0===s.edit&&(s.edit=["update","del"]),"object"==typeof s.edit?(layui.each(s.edit,function(e,i){n.push(a[i]||"")}),n.join("")+"
          "):void 0):"","
          "].join(""));t&&(c.append(l),d.tree(l,i[o.children])),r.append(c),c.prev("."+k)[0]&&c.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),t||c.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),d.spread(c,i),s.showCheckbox&&(i.checked&&d.checkids.push(i[o.id]),d.checkClick(c,i)),s.edit&&d.operate(c,i)})},l.prototype.spread=function(n,t){var l=this,c=l.config,e=n.children("."+b),i=e.children("."+g),a=i.find('input[same="layuiTreeCheck"]'),r=e.find("."+C),e=e.find("."+w),d=c.onlyIconControl?r:i,s="";d.on("click",function(e){var i=n.children("."+N),a=(d.children(".layui-icon")[0]?d:d.find(".layui-tree-icon")).children(".layui-icon");i[0]?n.hasClass(F)?(n.removeClass(F),i.slideUp(200),a.removeClass(x).addClass(v),l.updateFieldValue(t,"spread",!1)):(n.addClass(F),i.slideDown(200),a.addClass(x).removeClass(v),l.updateFieldValue(t,"spread",!0),c.accordion&&((i=n.siblings("."+k)).removeClass(F),i.children("."+N).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(x).addClass(v))):s="normal"}),e.on("click",function(){p(this).hasClass(u)||(s=n.hasClass(F)?c.onlyIconControl?"open":"close":c.onlyIconControl?"close":"open",a[0]&&l.updateFieldValue(t,"checked",a.prop("checked")),c.click&&c.click({elem:n,state:s,data:t}))})},l.prototype.updateFieldValue=function(e,i,a){i in e&&(e[i]=a)},l.prototype.setCheckbox=function(e,i,a){var t,n=this,l=n.config.customName,c=a.prop("checked");a.prop("disabled")||("object"!=typeof i[l.children]&&!e.find("."+N)[0]||e.find("."+N).find('input[same="layuiTreeCheck"]').each(function(e){this.disabled||((e=i[l.children][e])&&n.updateFieldValue(e,"checked",c),n.updateFieldValue(this,"checked",c))}),(t=function(e){var i,a,n;e.parents("."+k)[0]&&(a=(e=e.parent("."+N)).parent(),n=e.prev().find('input[same="layuiTreeCheck"]'),c?n.prop("checked",c):(e.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||n.prop("checked",!1)),t(a))})(e),n.renderForm("checkbox"))},l.prototype.checkClick=function(a,n){var t=this,l=t.config;a.children("."+b).children("."+g).on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var e=p(this).prev(),i=e.prop("checked");e.prop("disabled")||(t.setCheckbox(a,n,e),t.updateFieldValue(n,"checked",i),l.oncheck&&l.oncheck({elem:a,checked:i,data:n}))})},l.prototype.operate=function(r,d){var s=this,o=s.config,u=o.customName,e=r.children("."+b),h=e.children("."+g);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,e=p(this).data("type"),n=r.children("."+N),t={data:d,type:e,elem:r};if("add"==e){n[0]||(o.showLine?(h.find("."+C).addClass("layui-tree-icon"),h.find("."+C).children(".layui-icon").addClass(v).removeClass("layui-icon-file")):h.find(".layui-tree-iconArrow").removeClass(m),r.append('
          '));var a,l=o.operate&&o.operate(t),c={};if(c[u.title]=o.text.defaultNodeName,c[u.id]=l,s.tree(r.children("."+N),[c]),o.showLine&&(n[0]?(n.hasClass(S)||n.addClass(S),r.find("."+N).each(function(){p(this).children("."+k).last().addClass(T)}),(n.children("."+k).last().prev().hasClass(T)?n.children("."+k).last().prev():n.children("."+k).last()).removeClass(T),!r.parent("."+N)[0]&&r.next()[0]&&n.children("."+k).last().removeClass(T)):(l=r.siblings("."+k),a=1,c=r.parent("."+N),layui.each(l,function(e,i){p(i).children("."+N)[0]||(a=0)}),(1==a?(l.children("."+N).addClass(L),l.children("."+N).children("."+k).removeClass(T),r.children("."+N).addClass(L),c.removeClass(S),c.children("."+k).last().children("."+N).children("."+k).last()):r.children("."+N).children("."+k)).addClass(T))),!o.showCheckbox)return;h.find('input[same="layuiTreeCheck"]')[0].checked&&(r.children("."+N).children("."+k).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),s.renderForm("checkbox")}else"update"==e?(l=h.children("."+w).html(),h.children("."+w).html(""),h.append(''),h.children(".layui-tree-editInput").val(f.unescape(l)).focus(),i=function(e){var i=f.escape(e.val().trim())||o.text.defaultNodeName;e.remove(),h.children("."+w).html(i),t.data[u.title]=i,o.operate&&o.operate(t)},h.children(".layui-tree-editInput").blur(function(){i(p(this))}),h.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),i(p(this)))})):y.confirm('\u786e\u8ba4\u5220\u9664\u8be5\u8282\u70b9 "'+(d[u.title]||"")+'" \u5417\uff1f',function(e){var l,a,i;o.operate&&o.operate(t),t.status="remove",y.close(e),r.prev("."+k)[0]||r.next("."+k)[0]||r.parent("."+N)[0]?(r.siblings("."+k).children("."+b)[0]?(o.showCheckbox&&(l=function(e){var i,a,n,t;e.parents("."+k)[0]&&(i=e.siblings("."+k).children("."+b),a=(e=e.parent("."+N).prev()).find('input[same="layuiTreeCheck"]')[0],n=1,(t=0)==a.checked)&&(i.each(function(e,i){i=p(i).find('input[same="layuiTreeCheck"]')[0];0!=i.checked||i.disabled||(n=0),i.disabled||(t=1)}),1==n)&&1==t&&(a.checked=!0,s.renderForm("checkbox"),l(e.parent("."+k)))})(r),o.showLine&&(e=r.siblings("."+k),a=1,i=r.parent("."+N),layui.each(e,function(e,i){p(i).children("."+N)[0]||(a=0)}),1==a?(n[0]||(i.removeClass(S),e.children("."+N).addClass(L),e.children("."+N).children("."+k).removeClass(T)),(r.next()[0]?i.children("."+k).last():r.prev()).children("."+N).children("."+k).last().addClass(T),r.next()[0]||r.parents("."+k)[1]||r.parents("."+k).eq(0).next()[0]||r.prev("."+k).addClass(T)):!r.next()[0]&&r.hasClass(T)&&r.prev().addClass(T))):(e=r.parent("."+N).prev(),o.showLine?(e.find("."+C).removeClass("layui-tree-icon"),e.find("."+C).children(".layui-icon").removeClass(x).addClass("layui-icon-file"),(i=e.parents("."+N).eq(0)).addClass(S),i.children("."+k).each(function(){p(this).children("."+N).children("."+k).last().addClass(T)})):e.find(".layui-tree-iconArrow").addClass(m),r.parents("."+k).eq(0).removeClass(F),r.parent("."+N).remove()),r.remove()):(r.remove(),s.elem.append(s.elemNone))})})},l.prototype.events=function(){var i=this,t=i.config;i.elem.find(".layui-tree-checkedFirst");i.setChecked(i.checkids),i.elem.find(".layui-tree-search").on("keyup",function(){var e=p(this),a=e.val(),e=e.nextAll(),n=[];e.find("."+w).each(function(){var i,e=p(this).parents("."+b);-1!=p(this).html().indexOf(a)&&(n.push(p(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+N)[0]&&i(e.parent("."+N).parent("."+k))})(e.parent("."+k)))}),e.find("."+b).each(function(){var e=p(this).parent("."+k);e.hasClass("layui-tree-searchShow")||e.addClass(m)}),0==e.find(".layui-tree-searchShow").length&&i.elem.append(i.elemNone),t.onsearch&&t.onsearch({elem:n})}),i.elem.find(".layui-tree-search").on("keydown",function(){p(this).nextAll().find("."+b).each(function(){p(this).parent("."+k).removeClass("layui-tree-searchShow "+m)}),p(".layui-tree-emptyText")[0]&&p(".layui-tree-emptyText").remove()})},l.prototype.getChecked=function(){var t=this,e=t.config,l=e.customName,i=[],a=[],c=(t.elem.find(".layui-form-checked").each(function(){i.push(p(this).prev()[0].value)}),function(e,n){layui.each(e,function(e,a){layui.each(i,function(e,i){if(a[l.id]==i)return t.updateFieldValue(a,"checked",!0),delete(i=p.extend({},a))[l.children],n.push(i),a[l.children]&&(i[l.children]=[],c(a[l.children],i[l.children])),!0})})});return c(p.extend({},e.data),a),a},l.prototype.setChecked=function(l){this.config;this.elem.find("."+k).each(function(e,i){var a=p(this).data("id"),n=p(i).children("."+b).find('input[same="layuiTreeCheck"]'),t=n.next();if("number"==typeof l){if(a.toString()==l.toString())return n[0].checked||t.click(),!1}else"object"==typeof l&&layui.each(l,function(e,i){if(i.toString()==a.toString()&&!n[0].checked)return t.click(),!0})})},n.that={},n.config={},t.reload=function(e,i){e=n.that[e];return e.reload(i),n.call(e)},t.getChecked=function(e){return n.that[e].getChecked()},t.setChecked=function(e,i){return n.that[e].setChecked(i)},t.render=function(e){e=new l(e);return n.call(e)},e(a,t)});layui.define(["laytpl","form"],function(e){"use strict";var d=layui.$,n=layui.laytpl,t=layui.form,a="transfer",i={config:{},index:layui[a]?layui[a].index+1e4:0,set:function(e){var t=this;return t.config=d.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,a,e,t)}},l=function(){var t=this,e=t.config,a=e.id||t.index;return l.that[a]=t,{config:l.config[a]=e,reload:function(e){t.reload.call(t,e)},getData:function(){return t.getData.call(t)}}},s="layui-hide",u="layui-btn-disabled",c="layui-none",r="layui-transfer-box",h="layui-transfer-header",o="layui-transfer-search",f="layui-transfer-data",y=function(e){return['
          ','
          ','","
          ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
            ',"
            "].join("")},p=['
            ',y({index:0,checkAllName:"layTransferLeftCheckAll"}),'
            ','",'","
            ",y({index:1,checkAllName:"layTransferRightCheckAll"}),"
            "].join(""),v=function(e){var t=this;t.index=++i.index,t.config=d.extend({},t.config,i.config,e),t.render()};v.prototype.config={title:["\u5217\u8868\u4e00","\u5217\u8868\u4e8c"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"\u65e0\u6570\u636e",searchNone:"\u65e0\u5339\u914d\u6570\u636e"}},v.prototype.reload=function(e){var t=this;t.config=d.extend({},t.config,e),t.render()},v.prototype.render=function(){var e=this,t=e.config,a=e.elem=d(n(p,{open:"{{",close:"}}",tagStyle:"legacy"}).render({data:t,index:e.index})),i=t.elem=d(t.elem);i[0]&&(t.data=t.data||[],t.value=t.value||[],t.id="id"in t?t.id:elem.attr("id")||e.index,e.key=t.id,i.html(e.elem),e.layBox=e.elem.find("."+r),e.layHeader=e.elem.find("."+h),e.laySearch=e.elem.find("."+o),e.layData=a.find("."+f),e.layBtn=a.find(".layui-transfer-active .layui-btn"),e.layBox.css({width:t.width,height:t.height}),e.layData.css({height:(i=t.height-e.layHeader.outerHeight(),t.showSearch&&(i-=e.laySearch.outerHeight()),i-2)}),e.renderData(),e.events())},v.prototype.renderData=function(){var e=this,t=e.config,l=[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}];e.parseData(function(a){var i=a.selected?1:0,n=["
          • ",'',"
          • "].join("");i?layui.each(t.value,function(e,t){t==a.value&&a.selected&&(l[i].views[e]=n)}):l[i].views.push(n),delete a.selected}),e.layData.eq(0).html(l[0].views.join("")),e.layData.eq(1).html(l[1].views.join("")),e.renderCheckBtn()},v.prototype.renderForm=function(e){t.render(e,"LAY-transfer-"+this.index)},v.prototype.renderCheckBtn=function(c){var r=this,o=r.config;c=c||{},r.layBox.each(function(e){var t=d(this),a=t.find("."+f),t=t.find("."+h).find('input[type="checkbox"]'),i=a.find('input[type="checkbox"]'),n=0,l=!1;i.each(function(){var e=d(this).data("hide");(this.checked||this.disabled||e)&&n++,this.checked&&!e&&(l=!0)}),t.prop("checked",l&&n===i.length),r.layBtn.eq(e)[l?"removeClass":"addClass"](u),c.stopNone||(i=a.children("li:not(."+s+")").length,r.noneView(a,i?"":o.text.none))}),r.renderForm("checkbox")},v.prototype.noneView=function(e,t){var a=d('

            '+(t||"")+"

            ");e.find("."+c)[0]&&e.find("."+c).remove(),t.replace(/\s/g,"")&&e.append(a)},v.prototype.setValue=function(){var e=this.config,t=[];return this.layBox.eq(1).find("."+f+' input[type="checkbox"]').each(function(){d(this).data("hide")||t.push(this.value)}),e.value=t,this},v.prototype.parseData=function(t){var i=this.config,n=[];return layui.each(i.data,function(e,a){a=("function"==typeof i.parseData?i.parseData(a):a)||a,n.push(a=d.extend({},a)),layui.each(i.value,function(e,t){t==a.value&&(a.selected=!0)}),t&&t(a)}),i.data=n,this},v.prototype.getData=function(e){var t=this.config,i=[];return this.setValue(),layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&i.push(t)})}),i},v.prototype.transfer=function(e,t){var a,i=this,n=i.config,l=i.layBox.eq(e),c=[],t=(t?((a=(t=t).find('input[type="checkbox"]'))[0].checked=!1,l.siblings("."+r).find("."+f).append(t.clone()),t.remove(),c.push(a[0].value),i.setValue()):l.each(function(e){d(this).find("."+f).children("li").each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t.data("hide");t[0].checked&&!a&&(t[0].checked=!1,l.siblings("."+r).find("."+f).append(e.clone()),e.remove(),c.push(t[0].value)),i.setValue()})}),i.renderCheckBtn(),l.siblings("."+r).find("."+o+" input"));""!==t.val()&&t.trigger("keyup"),n.onchange&&n.onchange(i.getData(c),e)},v.prototype.events=function(){var n=this,l=n.config;n.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var e=d(this).prev(),t=e[0].checked,a=e.parents("."+r).eq(0).find("."+f);e[0].disabled||("all"===e.attr("lay-type")&&a.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=t)}),setTimeout(function(){n.renderCheckBtn({stopNone:!0})},0))}),n.elem.on("dblclick","."+f+">li",function(e){var t=d(this),a=t.children('input[type="checkbox"]'),i=t.parent().parent().data("index");a[0].disabled||!1!==("function"==typeof l.dblclick?l.dblclick({elem:t,data:n.getData([a[0].value])[0],index:i}):null)&&n.transfer(i,t)}),n.layBtn.on("click",function(){var e=d(this),t=e.data("index");e.hasClass(u)||n.transfer(t)}),n.laySearch.find("input").on("keyup",function(){var i=this.value,e=d(this).parents("."+o).eq(0).siblings("."+f),t=e.children("li"),t=(t.each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t[0].title,a=("cs"!==l.showSearch&&(a=a.toLowerCase(),i=i.toLowerCase()),-1!==a.indexOf(i));e[a?"removeClass":"addClass"](s),t.data("hide",!a)}),n.renderCheckBtn(),t.length===e.children("li."+s).length);n.noneView(e,t?l.text.searchNone:"")})},l.that={},l.config={},i.reload=function(e,t){e=l.that[e];return e.reload(t),l.call(e)},i.getData=function(e){return l.that[e].getData()},i.render=function(e){e=new v(e);return l.call(e)},e(a,i)});layui.define(["jquery","lay"],function(e){"use strict";var o=layui.$,l=layui.lay,t=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=o.extend({},n.config,e),n},on:function(e,n){return layui.onevent.call(this,r,e,n)}}),r="carousel",s="layui-this",u="layui-carousel-left",c="layui-carousel-right",m="layui-carousel-prev",h="layui-carousel-next",a="layui-carousel-arrow",d="layui-carousel-ind",n=function(e){var n=this;n.config=o.extend({},n.config,t.config,e),n.render()};n.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},n.prototype.render=function(){var e=this,n=e.config,i=o(n.elem);if(1*[carousel-item]>*"),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(s),e.indicator(),e.arrow(),e.autoplay(),1=this.elemItem.length?0:e},n.prototype.addIndex=function(e){var n=this.config;n.index=n.index+(e=e||1),n.index>=this.elemItem.length&&(n.index=0)},n.prototype.subIndex=function(e){var n=this.config;n.index=n.index-(e=e||1),n.index<0&&(n.index=this.elemItem.length-1)},n.prototype.autoplay=function(){var e=this,n=e.config,i=e.elemItem.length;n.autoplay&&(clearInterval(e.timer),1',''].join(""));e.elem.attr("lay-arrow",e.arrow),e.elem.find("."+a)[0]&&e.elem.find("."+a).remove(),1i.index?n.slide("add",e-i.index):e
              ',(n=[],layui.each(e.elemItem,function(e){n.push("")}),n.join("")),"
            "].join(""));i.elem.attr("lay-indicator",i.indicator),i.elem.find("."+d)[0]&&i.elem.find("."+d).remove(),1t[a?"height":"width"]()/3)&&o.slide(0a.length&&(a.value=a.length),parseInt(a.value)===a.value||a.half||(a.value=Math.ceil(a.value)-a.value<.5?Math.ceil(a.value):Math.floor(a.value)),'
              "),i=1;i<=a.length;i++){var n='
            • ";a.half&&parseInt(a.value)!==a.value&&i==Math.ceil(a.value)?t=t+'
            • ":t+=n}t+="
            ",a.text&&(t+=''+a.value+"");var s=a.elem,o=s.next("."+c.ELEM);o[0]&&o.remove(),e.elemTemplate=u(t),a.span=e.elemTemplate.next("span"),a.setText&&a.setText(a.value),s.html(e.elemTemplate),s.addClass("layui-inline"),a.readonly||e.action()},extendsInstance:function(){var a=this,l=a.config;return{setvalue:function(e){l.value=e,a.render()}}}}),c=l.CONST;l.Class.prototype.action=function(){var n=this.config,t=this.elemTemplate,i=t.find("i").width(),l=t.children("li");l.each(function(e){var a=e+1,l=u(this);l.on("click",function(e){n.value=a,n.half&&e.pageX-u(this).offset().left<=i/2&&(n.value=n.value-.5),n.text&&t.next("span").text(n.value),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value)}),l.on("mousemove",function(e){t.find("i").each(function(){u(this).addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF)}),t.find("i:lt("+a+")").each(function(){u(this).addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE)}),n.half&&e.pageX-u(this).offset().left<=i/2&&l.children("i").addClass(c.ICON_RATE_HALF).removeClass(c.ICON_RATE_SOLID)}),l.on("mouseleave",function(){t.find("i").each(function(){u(this).addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF)}),t.find("i:lt("+Math.floor(n.value)+")").each(function(){u(this).addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE)}),n.half&&parseInt(n.value)!==n.value&&t.children("li:eq("+Math.floor(n.value)+")").children("i").addClass(c.ICON_RATE_HALF).removeClass(c.ICON_SOLID_RATE)})}),a.touchSwipe(t,{onTouchMove:function(e,a){var i;Date.now()-a.timeStart<=200||(a=e.touches[0].pageX,e=t.width()/n.length,a=(a-t.offset().left)/e,(i=(i=(e=a%1)<=.5&&n.half?.5+(a-e):Math.ceil(a))>n.length?n.length:i)<0&&(i=0),l.each(function(e){var a=u(this).children("i"),l=Math.ceil(i)-e==1,t=Math.ceil(i)>e,e=i-e==.5;t?(a.addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE),n.half&&e&&a.addClass(c.ICON_RATE_HALF).removeClass(c.ICON_RATE_SOLID)):a.addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF),a.toggleClass("layui-rate-hover",l)}),n.value=i,n.text&&t.next("span").text(n.value),n.setText&&n.setText(n.value))},onTouchEnd:function(e,a){Date.now()-a.timeStart<=200||(t.find("i").removeClass("layui-rate-hover"),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value))}})},e(c.MOD_NAME,l)});layui.define("jquery",function(o){"use strict";var w=layui.$,l=function(o){};l.prototype.load=function(o){var i,n,r,l,c,m,e,t,a,f,s,u,p,d,y,g=this,h=0,v=w((o=o||{}).elem);if(v[0])return c=w(o.scrollElem||document),m="mb"in o?o.mb:50,e=!("isAuto"in o)||o.isAuto,t=o.moreText||"\u52a0\u8f7d\u66f4\u591a",a=o.end||"\u6ca1\u6709\u66f4\u591a\u4e86",f="top"===(o.direction||"bottom"),g._cleanup(v,c),s=o.scrollElem&&o.scrollElem!==document,p=w('"),v.find(".layui-flow-more")[0]||v[f?"prepend":"append"](p),d=function(o,l){var e=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,t=c.scrollTop();o=w(o),p[f?"after":"before"](o),(l=0==l||null)?p.html(a):p.find("a").html(u),n=l,i=null,r&&r(),f&&(o=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,1===h?c.scrollTop(o):1'),"function"==typeof o.done&&o.done(++h,d)})(),p.find("a").on("click.flow",function(){w(this);n||i||y()}),o.isLazyimg&&(r=g.lazyimg({elem:o.elem+" img",scrollElem:o.scrollElem,direction:o.direction})),e&&c.on("scroll.flow",function(){var e=w(this),t=e.scrollTop();l&&clearTimeout(l),!n&&v.width()&&(l=setTimeout(function(){var o=(s?e:w(window)).height(),l=s?e.prop("scrollHeight"):document.documentElement.scrollHeight;(f?t<=m:l-t-o<=m)&&!i&&y()},100))}),g},l.prototype.lazyimg=function(o){var l,m=this,a=0,f=w((o=o||{}).scrollElem||document),s=o.elem||"img",n="top"===(o.direction||"bottom"),u=o.scrollElem&&o.scrollElem!==document,p=function(l,o){var e,t=f.scrollTop(),o=t+o,i=u?l.offset().top-f.offset().top+t:l.offset().top;(n?i+l.height():i)>=t&&i<=o&&l.attr("lay-src")&&(e=l.attr("lay-src"),layui.img(e,function(){var o=m.lazyimg.elem.eq(a);l.attr("src",e).removeAttr("lay-src"),o[0]&&r(o),a++},function(){m.lazyimg.elem.eq(a);l.removeAttr("lay-src")}))},r=function(o,l){var e=(u?l||f:w(window)).height(),t=f.scrollTop(),i=t+e;if(m.lazyimg.elem=w(s),o)p(o,e);else for(var n=0;n"),preview:"Preview"},wordWrap:!0,lang:"text",highlighter:!1,langMarker:!1},R=layui.code?layui.code.index+1e4:0,j=function(e){return String(e).replace(/\s+$/,"").replace(/^\n|\n$/,"")};e("code",function(l,e){var o,i,t,a,n,d,c,s,r,u,y,p,E,f,h,v,m,L,_,M,C,g={config:l=x.extend(!0,{},T,l),reload:function(e){layui.code(this.updateOptions(e))},updateOptions:function(e){return delete(e=e||{}).elem,x.extend(!0,l,e)},reloadCode:function(e){layui.code(this.updateOptions(e),"reloadCode")}},w=x(l.elem);return 1',l.ln?['
            ',D.digit(t+1)+".","
            "].join(""):"",'
            ',e||" ","
            ",""].join("")})}},a=l.code,n=function(e){return"function"==typeof l.codeParse?l.codeParse(e,l):e},"reloadCode"===e?o.children(".layui-code-wrap").html(w(n(a)).html):(d=layui.code.index=++R,o.attr("lay-code-index",d),(M=A.CDDE_DATA_CLASS in o.data())&&o.attr("class",o.data(A.CDDE_DATA_CLASS)||""),M||o.data(A.CDDE_DATA_CLASS,o.attr("class")),c={copy:{className:"file-b",title:["\u590d\u5236\u4ee3\u7801"],event:function(e){var t=D.unescape(n(l.code)),a="function"==typeof l.onCopy;lay.clipboard.writeText({text:t,done:function(){if(a&&!1===l.onCopy(t,!0))return;W.msg("\u5df2\u590d\u5236",{icon:1})},error:function(){if(a&&!1===l.onCopy(t,!1))return;W.msg("\u590d\u5236\u5931\u8d25",{icon:2})}})}}},function b(){var e=o.parent("."+A.ELEM_PREVIEW),t=e.children("."+A.ELEM_TAB),a=e.children("."+A.ELEM_ITEM+"-preview");return t.remove(),a.remove(),e[0]&&o.unwrap(),b}(),l.preview&&(M="LAY-CODE-DF-"+d,f=l.layout||["code","preview"],s="iframe"===l.preview,E=x('
            '),C=x('
            '),r=x('
            '),_=x('
            '),u=x('
            '),l.id&&E.attr("id",l.id),E.addClass(l.className),C.attr("lay-filter",M),layui.each(f,function(e,t){var a=x('
          • ');0===e&&a.addClass("layui-this"),a.html(l.text[t]),r.append(a)}),x.extend(c,{full:{className:"screen-full",title:["\u6700\u5927\u5316\u663e\u793a","\u8fd8\u539f\u663e\u793a"],event:function(e){var e=e.elem,t=e.closest("."+A.ELEM_PREVIEW),a="layui-icon-"+this.className,i="layui-icon-screen-restore",l=this.title,o=x("html,body"),n="layui-scrollbar-hide";e.hasClass(a)?(t.addClass(A.ELEM_FULL),e.removeClass(a).addClass(i),e.attr("title",l[1]),o.addClass(n)):(t.removeClass(A.ELEM_FULL),e.removeClass(i).addClass(a),e.attr("title",l[0]),o.removeClass(n))}},window:{className:"release",title:["\u5728\u65b0\u7a97\u53e3\u9884\u89c8"],event:function(e){D.openWin({content:n(l.code)})}}}),l.copy&&("array"===layui.type(l.tools)?-1===l.tools.indexOf("copy")&&l.tools.unshift("copy"):l.tools=["copy"]),u.on("click",">i",function(){var e=x(this),t=e.data("type"),e={elem:e,type:t,options:l,rawCode:l.code,finalCode:D.unescape(n(l.code))};c[t]&&"function"==typeof c[t].event&&c[t].event(e),"function"==typeof l.toolsEvent&&l.toolsEvent(e)}),l.addTools&&l.tools&&(l.tools=[].concat(l.tools,l.addTools)),layui.each(l.tools,function(e,t){var a="object"==typeof t,i=a?t:c[t]||{className:t,title:[t]},l=i.className||i.type,o=i.title||[""],a=a?i.type||l:t;a&&(c[a]||((t={})[a]=i,x.extend(c,t)),u.append(''))}),o.addClass(A.ELEM_ITEM).wrap(E),C.append(r),l.tools&&C.append(u),o.before(C),s&&_.html(''),y=function(e){var t=e.children("iframe")[0];s&&t?t.srcdoc=n(l.code):e.html(l.code),setTimeout(function(){"function"==typeof l.done&&l.done({container:e,options:l,render:function(){N.render(e.find(".layui-form")),S.render(),I.render({elem:["."+A.ELEM_PREVIEW,".layui-tabs"].join(" ")})}})},3)},"preview"===f[0]?(_.addClass(A.ELEM_SHOW),o.before(_),y(_)):o.addClass(A.ELEM_SHOW).after(_),l.previewStyle=[l.style,l.previewStyle].join(""),_.attr("style",l.previewStyle),S.on("tab("+M+")",function(e){var t=x(this),a=x(e.elem).closest("."+A.ELEM_PREVIEW).find("."+A.ELEM_ITEM),e=a.eq(e.index);a.removeClass(A.ELEM_SHOW),e.addClass(A.ELEM_SHOW),"preview"===t.attr("lay-id")&&y(e),L()})),p=x(''),o.addClass((E=["layui-code-view layui-border-box"],l.wordWrap||E.push("layui-code-nowrap"),E.join(" "))),(C=l.theme||l.skin)&&(o.removeClass("layui-code-theme-dark layui-code-theme-light"),o.addClass("layui-code-theme-"+C)),l.highlighter&&o.addClass([l.highlighter,"language-"+l.lang,"layui-code-hl"].join(" ")),f=w(l.encode?D.escape(n(a)):a),h=f.lines,o.html(p.html(f.html)),l.ln&&o.append('
            '),l.height&&p.css("max-height",l.height),l.codeStyle=[l.style,l.codeStyle].join(""),l.codeStyle&&p.attr("style",function(e,t){return(t||"")+l.codeStyle}),v=[{selector:">.layui-code-wrap>.layui-code-line{}",setValue:function(e,t){e.style["padding-left"]=t+"px"}},{selector:">.layui-code-wrap>.layui-code-line>.layui-code-line-number{}",setValue:function(e,t){e.style.width=t+"px"}},{selector:">.layui-code-ln-side{}",setValue:function(e,t){e.style.width=t+"px"}}],m=lay.style({target:o[0],id:"DF-code-"+d,text:x.map(x.map(v,function(e){return e.selector}),function(e,t){return['.layui-code-view[lay-code-index="'+d+'"]',e].join(" ")}).join("")}),L=function b(){var e,i;return l.ln&&(e=Math.floor(h.length/100),i=p.children("."+A.ELEM_LINE).last().children("."+A.ELEM_LINE_NUM).outerWidth(),o.addClass(A.ELEM_LN_MODE),e)&&A.LINE_RAW_WIDTH
          • ')).html(l.title||l.text.code),o.prepend(_)),M=x('
            '),l.copy&&!l.preview&&((C=x(['','',""].join(""))).on("click",function(){c.copy.event()}),M.append(C)),l.langMarker&&M.append(''+l.lang+""),l.about&&M.append(l.about),o.append(M),l.preview||setTimeout(function(){"function"==typeof l.done&&l.done({})},3),l.elem.length===1+d&&"function"==typeof l.allDone&&l.allDone())),g})}),layui["layui.all"]||layui.addcss("modules/code.css?v=6","skincodecss"); +/** v2.11.0-rc.5 | MIT Licensed */;!function(h){"use strict";var e,d=h.document,v=h.location,m={timeout:10,debug:!1,version:!1},g={modules:{},status:{},event:{},callback:{}},r=function(){this.v="2.11.0-rc.5"},t=h.LAYUI_GLOBAL||{},b=(e=d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()?d.currentScript.src:function(){for(var e,t=d.getElementsByTagName("script"),n=t.length-1,r=n;01e3*m.timeout/5?j(o+" is not a valid module","error"):void((i?layui[o]=h[a.api]:g.status[o])?u():setTimeout(t,5))}()},0===n.length||layui["layui.all"]&&E[o]?u():(p=i?a.src:a,y=(E[o]?y+"modules/":p?"":m.base)+(p=(p=p||o).replace(/\s/g,"").replace(/\.js[^\/\.]*$/,""))+".js",!g.modules[o]&&layui[o]&&(g.modules[o]=y),g.modules[o]?c():(l=d.getElementsByTagName("head")[0],(s=d.createElement("script"))["async"]=!0,s.charset="utf-8",s.src=y+((p=!0===m.version?m.v||(new Date).getTime():m.version||"")?"?v="+p:""),l.appendChild(s),N(s,function(){l.removeChild(s),c()},function(){l.removeChild(s)}),g.modules[o]=y))),f},r.prototype.modules=Object.assign({},E),r.prototype.extend=function(e){var t,n,r=m.base||"",o=/^\{\/\}/;for(t in e=e||{})this[t]||this.modules[t]?j("the "+t+" module already exists, extend failure"):("string"==typeof(n=e[t])&&(n=((r=o.test(n)?"":r)+n).replace(o,"")),this.modules[t]=n);return this},r.prototype.disuse=function(e){var n=this;return e=n.isArray(e)?e:[e],n.each(e,function(e,t){delete n[t],delete E[t],delete n.modules[t],delete g.status[t],delete g.modules[t]}),n},r.prototype.getStyle=function(e,t){e=e.currentStyle||h.getComputedStyle(e,null);return e.getPropertyValue?e.getPropertyValue(t):e.getAttribute(t.replace(/-(\w)/g,function(e,t){return t?t.toUpperCase():""}))},r.prototype.link=function(n,r,o){var a,i=this,e=d.getElementsByTagName("head")[0],t="function"==typeof r;if("string"==typeof r&&(o=r),"object"==typeof n)return a="array"===i.type(o),i.each(n,function(e,t){i.link(t,e===n.length-1&&r,a&&o[e])});o="layuicss-"+(o=o||n.replace(/^(#|(http(s?)):\/\/|\/\/)|\.|\/|\?.+/g,""));var u=d.getElementById(o);return u||((u=d.createElement("link")).href=n+(m.debug?"?v="+(new Date).getTime():""),u.rel="stylesheet",u.id=o,e.appendChild(u)),"complete"===u.__lay_readyState__?t&&r(u):N(u,function(){u.__lay_readyState__="complete",t&&r(u)},function(){j(n+" load error","error"),e.removeChild(u)}),i},r.prototype.addcss=function(e,t,n){return layui.link(m.dir+"css/"+e,t,n)},r.prototype.factory=function(e){if(layui[e])return"function"==typeof m.callback[e]?m.callback[e]:null},r.prototype.img=function(e,t,n){var r=new Image;if(r.src=e,r.complete)return t(r);r.onload=function(){r.onload=null,"function"==typeof t&&t(r)},r.onerror=function(e){r.onerror=null,"function"==typeof n&&n(e)}},r.prototype.router=r.prototype.hash=function(e){var n={path:[],pathname:[],search:{},hash:((e=e||v.hash).match(/[^#](#.*$)/)||[])[1]||"",href:""};return/^#/.test(e)&&(e=e.replace(/^#/,""),e=(n.href=e).replace(/([^#])(#.*$)/,"$1").split("/")||[],this.each(e,function(e,t){/^\w+=/.test(t)?(t=t.split("="),n.search[t[0]]=t[1]):n.path.push(t)}),n.pathname=n.path),n},r.prototype.url=function(e){var o,t,n=this;return{pathname:(e?((e.match(/\.[^.]+?\/.+/)||[])[0]||"").replace(/^[^\/]+/,"").replace(/\?.+/,""):v.pathname).replace(/^\//,"").split("/"),search:(o={},t=(e?((e.match(/\?.+/)||[])[0]||"").replace(/\#.+/,""):v.search).replace(/^\?+/,"").split("&"),n.each(t,function(e,t){var n=t.indexOf("="),r=n<0?t.substr(0,t.length):0!==n&&t.substr(0,n);r&&(o[r]=0(d.innerHeight||h.documentElement.clientHeight)},p.getStyleRules=function(t,n){if(t)return t=(t=t.sheet||t.styleSheet||{}).cssRules||t.rules,"function"==typeof n&&layui.each(t,function(t,e){if(n(e,t))return!0}),t},p.style=function(t){t=t||{};var e=p.elem("style"),n=t.text||"",i=t.target;if(n)return"styleSheet"in e?(e.setAttribute("type","text/css"),e.styleSheet.cssText=n):e.innerHTML=n,e.id="LAY-STYLE-"+(t.id||(n=p.style.index||0,p.style.index++,"DF-"+n)),i&&((t=p(i).find("#"+e.id))[0]&&t.remove(),p(i).append(e)),e},p.position=function(t,e,n){var i,r,o,c,a,u,s,f,l;e&&(n=n||{},t!==h&&t!==p("body")[0]||(n.clickType="right"),i="right"===n.clickType?{left:(i=n.e||d.event||{}).clientX,top:i.clientY,right:i.clientX,bottom:i.clientY}:t.getBoundingClientRect(),u=e.offsetWidth,s=e.offsetHeight,r=function(t){return h.body[t=t?"scrollLeft":"scrollTop"]|h.documentElement[t]},o=function(t){return h.documentElement[t?"clientWidth":"clientHeight"]},c="margin"in n?n.margin:5,l=i.left,a=i.bottom,"center"===n.align?l-=(u-t.offsetWidth)/2:"right"===n.align&&(l=l-u+t.offsetWidth),(l=l+u+c>o("width")?o("width")-u-c:l)o()&&(i.top>s+c&&i.top<=o()?a=i.top-s-2*c:n.allowBottomOut||(a=o()-s-2*c)<0&&(a=0)),(u=n.position)&&(e.style.position=u),s=n.offset?n.offset[0]:0,f=n.offset?n.offset[1]:0,e.style.left=l+("fixed"===u?0:r(1))+s+"px",e.style.top=a+("fixed"===u?0:r())+f+"px",p.hasScrollbar()||(l=e.getBoundingClientRect(),!n.SYSTEM_RELOAD&&l.bottom+c>o()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){p.position(t,e,n)},50))))},p.options=function(t,e){if(e="object"==typeof e?e:{attr:e},t===h)return{};var t=p(t),n=e.attr||"lay-options",t=t.attr(n);try{return new Function("return "+(t||"{}"))()}catch(i){return layui.hint().error(e.errorText||[n+'="'+t+'"',"\n parseerror: "+i].join("\n"),"error"),{}}},p.isTopElem=function(n){var t=[h,p("body")[0]],i=!1;return p.each(t,function(t,e){if(e===n)return i=!0}),i},p.clipboard={writeText:function(n){var i=String(n.text);function t(){var t=h.createElement("textarea");t.value=i,t.style.position="fixed",t.style.opacity="0",t.style.top="0px",t.style.left="0px",h.body.appendChild(t),t.select();try{h.execCommand("copy"),"function"==typeof n.done&&n.done()}catch(e){"function"==typeof n.error&&n.error(e)}finally{t.remove?t.remove():h.body.removeChild(t)}}navigator&&"clipboard"in navigator?navigator.clipboard.writeText(i).then(n.done,function(){t()}):t()}},p.passiveSupported=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});d.addEventListener("test",null,e),d.removeEventListener("test",null,e)}catch(n){}return t}(),p.touchEventsSupported=function(){return"ontouchstart"in d},p.touchSwipe=function(t,e){var n,i,r,o=e,c=p(t)[0],a=!("preventDefault"in o)||o.preventDefault;c&&p.touchEventsSupported()&&(n={pointerStart:{x:0,y:0},pointerEnd:{x:0,y:0},distanceX:0,distanceY:0,direction:"none",timeStart:null},e=function(t){1===t.touches.length&&(c.addEventListener("touchmove",i,!!p.passiveSupported&&{passive:!1}),c.addEventListener("touchend",r),c.addEventListener("touchcancel",r),n.timeStart=Date.now(),n.pointerStart.x=n.pointerEnd.x=t.touches[0].clientX,n.pointerStart.y=n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.distanceY=0,n.direction="none",o.onTouchStart)&&o.onTouchStart(t,n)},i=function(t){a&&t.preventDefault(),n.pointerEnd.x=t.touches[0].clientX,n.pointerEnd.y=t.touches[0].clientY,n.distanceX=n.pointerStart.x-n.pointerEnd.x,n.distanceY=n.pointerStart.y-n.pointerEnd.y,Math.abs(n.distanceX)>Math.abs(n.distanceY)?n.direction=0]|&(?=#?[a-zA-Z0-9]+)/g;return e===undefined||null===e?"":r.test(e+="")?e.replace(r,function(e){return"&#"+e.charCodeAt(0)+";"}):e}},m=function(e,r){return new RegExp(e,r||"g")},g=function(e,r,t){r=r||{};var e="Laytpl "+((r=Object.assign({errorContext:""},r)).type||"")+"Error: "+e,n=r.errorContext;return delete r.errorContext,"object"==typeof console&&console.error(e,"\n",n,"\n",r),"function"==typeof t&&t(r),e},o={open:"{{",close:"}}",cache:!0,condense:!0,tagStyle:""},t=function(e,r){var t=this;r=t.config=Object.assign({template:e},o,r),t.vars=Object.assign({include:function(e,r){e=document.getElementById(e),e=e?e.innerHTML:"";return e?t.render(e,r):""}},n),t.compile(r.template)},r=(t.prototype.render=function(r,t){var n=this,o=n.config,c=r?n.compile(r):n.compilerCache||n.compile(o.template),e=function(){t=t||o.data||{};try{return c(t)}catch(e){return r=r||o.template,g(e,{errorContext:n.extractErrorContext(r,t),template:r,type:"Render"},o.error)}}();return o.cache&&!r&&(n.compilerCache=c),e},t.prototype.compile=function(e){var t=this,o=t.config,c=o.open,a=o.close,i=o.condense,u=m,l="\u2028";if("string"!=typeof e||!e)return function(){return""};var p=function(e,r){e=["(?:"+c+(e[0]||"")+"\\s*)","("+(e[1]||"[\\s\\S]")+"*?)","(?:\\s*"+(e[2]||"")+a+")"];return(r=r||{}).before&&e.unshift(r.before),r.after&&e.push(r.after),u(e.join(""))},r=i?["",""]:["(?:(?:\\n)*\\s*)","(?:\\s*?)"],f={before:r[0],after:r[1]},s=function(e,r){return e=(e=i?e:e.replace(u(l),r?"":"\n")).replace(/\\(\\|")/g,"$1")},n=t.parse=function(e){var n,r,t;return(e=e||"")&&(e=(e=(e=i?e.replace(/\t/g," ").replace(/\s+/g," "):e).replace(u("([}\\]])"+a),"$1 "+a).replace(/(?=\\|")/g,"\\").replace(/\r?\n/g,i?"":l)).replace(p(["!","","!"],f),function(e,r){return r=r.replace(u(c+"|"+a),function(e){return e.replace(/(?=.)/g,"\\")})}),n=function(e){return['";',e,'__laytpl__+="'].join("\n")},r=function(e,r,t){return t&&(r="-"===r?"":"_escape",t=s(t,!0))?n("__laytpl__+="+r+"("+t+");"):""},t=function(e,r){return r?(r=s(r),n(r)):""},e="modern"===o.tagStyle?(e=(e=e.replace(p(["#"],f),"")).replace(p(["(=|-)"]),r)).replace(p([],f),t):(e=e.replace(p(["#"],f),t)).replace(p(["(=|-)*"]),r),i||(e=e.replace(u(l),"\\n"))),e},r=t.createCompiler=function(e,r){return r=r||d(e),new Function("laytpl","return "+r)(t.vars)},d=t.createBuilder=function(e,r){return r=r||["function(d){",'"use strict";','var __laytpl__="",'+function(){var e,r=[];for(e in t.vars)r.push(("escape"===e?"_":"")+e+"=laytpl."+e);return r.join(",")}()+";",'__laytpl__="'+n(e)+'";',"return __laytpl__;","};"].join("\n")};try{return r(e)}catch(y){return delete t.compilerCache,function(){return g(y,{errorContext:t.extractErrorContext(e),template:e,type:"Compile"},o.error)}}},t.prototype.extractErrorContext=function(e,r){var t=1,n=e.split(/\r?\n/g),o=(e=e.replace(/(?=^)/gm,function(){return"/*LINE:"+t+++"*/"}),this.createBuilder(e)),c=o.split(/\r?\n/),a="laytpl.builder.map";try{o+="\n//# sourceURL="+a;var i=this.createCompiler(e,o);r&&i(r)}catch(d){var e=m(a.replace(/\./g,"\\.")+":(\\d+)","i"),o=(d.stack.match(e)||[])[1]||0,u=function(e,r){var r=r?/\/\*LINE:(\d+)\*\/[^*]*$/:/\/\*LINE:(\d+)\*\//;return!(r=(String(c[e-1]).match(r)||[])[1])&&0n.pages?n.curr=n.pages:n.curr<1&&(n.curr=1),r<0?r=1:r>n.pages&&(r=n.pages),n.prev="prev"in n?n.prev:"\u4e0a\u4e00\u9875",n.next="next"in n?n.next:"\u4e0b\u4e00\u9875",n.pages>r?Math.ceil((n.curr+(1'+n.prev+"":"",page:function(){var e=[];if(n.count<1)return"";1'+(n.first||1)+"");var a=Math.floor((r-1)/2),t=1n.pages?n.pages:a:r;for(i-t...');t<=i;t++)t===n.curr?e.push('"+t+""):e.push(''+t+"");return n.pages>r&&n.pages>i&&!1!==n.last&&(i+1...'),0!==r)&&e.push(''+(n.last||n.pages)+""),e.join("")}(),next:n.next?''+n.next+"":"",count:''+(e="object"==typeof n.countText?n.countText:["\u5171 "," \u6761"])[0]+n.count+e[1]+"",limit:(i=['"),refresh:['','',""].join(""),skip:[''+(e="object"==typeof n.skipText?n.skipText:["\u5230\u7b2c","\u9875","\u786e\u5b9a"])[0],'',e[1]+'",""].join("")};return['
            ',(t=[],layui.each(n.layout,function(e,a){l[a]&&t.push(l[a])}),t.join("")),"
            "].join("")},t.prototype.jump=function(e,a){if(e){var t=this,i=t.config,n=e.children,r=e[c]("button")[0],u=e[c]("input")[0],e=e[c]("select")[0],l=function(){var e=Number(u.value.replace(/\s|\D/g,""));e&&(i.curr=e,t.render())};if(a)return l();for(var s=0,p=n.length;si.pages||(i.curr=e,t.render())});e&&o.on(e,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),r&&o.on(r,"click",function(){l()})}},t.prototype.skip=function(t){var i,e;t&&(i=this,e=t[c]("input")[0])&&o.on(e,"keyup",function(e){var a=this.value,e=e.keyCode;/^(37|38|39|40)$/.test(e)||(/\D/.test(a)&&(this.value=a.replace(/\D/,"")),13===e&&i.jump(t,!0))})},t.prototype.render=function(e){var a=this,t=a.config,i=a.type(),n=a.view(),i=(2===i?t.elem&&(t.elem.innerHTML=n):3===i?t.elem.html(n):r[u](t.elem)&&(r[u](t.elem).innerHTML=n),t.jump&&t.jump(t,e),r[u]("layui-laypage-"+t.index));a.jump(i),t.hash&&!e&&(location.hash="!"+t.hash+"="+t.curr),a.skip(i)},{render:function(e){return new t(e).index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(a,e,t){return a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1),this}});e("laypage",o)});!function(i,D){"use strict";var n=i.layui&&layui.define,l={getPath:i.lay&&lay.getPath?lay.getPath:"",link:function(e,t,a){T.path&&i.lay&&lay.layui&&lay.layui.link(T.path+e,t,a)}},e=i.LAYUI_GLOBAL||{},a="laydate",d="lay-"+a+"-id",T={v:"5.6.0",config:{weekStart:0},index:i.laydate&&i.laydate.v?1e5:0,path:e.laydate_dir||l.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",a=(n?"modules/":"")+"laydate.css?v="+T.v;return n?layui["layui.all"]?"function"==typeof e&&e():layui.addcss(a,e,t):l.link(a,e,t),this}},s=function(){var t=this,e=t.config.id;return(s.that[e]=t).inst={hint:function(e){t.hint.call(t,e)},reload:function(e){t.reload.call(t,e)},config:t.config}},M="layui-this",C="laydate-disabled",h=[100,2e5],v="layui-laydate-static",b="layui-laydate-list",o="laydate-selected",r="layui-laydate-hint",y="laydate-day-prev",m="laydate-day-next",E=".laydate-btns-confirm",L="laydate-time-text",I="laydate-btns-time",x="layui-laydate-preview",w="layui-laydate-shade",k=function(e){var t,a=this,n=(a.index=++T.index,a.config=lay.extend({},a.config,T.config,e),lay(e.elem||a.config.elem));return 1\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5
            \u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a
            ","
            \u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time
            Please re-select",invalidDate:"Invalid date",formatError:["The date format error
            Must be followed\uff1a
            ","
            It has been reset"],preview:"The selected result"}};return e[this.config.lang]||e.cn},k.prototype.markerOfChineseFestivals={"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"},k.prototype.reload=function(e){this.config=lay.extend({},this.config,e),this.init()},k.prototype.init=function(){var r=this,o=r.config,e="static"===o.position,t={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};o.elem=lay(o.elem),o.eventElem=lay(o.eventElem),o.elem[0]&&("array"!==layui.type(o.theme)&&(o.theme=[o.theme]),o.fullPanel&&("datetime"!==o.type||o.range)&&delete o.fullPanel,r.rangeStr=o.range?"string"==typeof o.range?o.range:"-":"",r.rangeLinked=!(!o.range||!o.rangeLinked||"date"!==o.type&&"datetime"!==o.type),r.autoCalendarModel=function(){var e=r.rangeLinked;return r.rangeLinked=o.range&&("date"===o.type||"datetime"===o.type)&&(!r.startDate||!r.endDate||r.startDate&&r.endDate&&r.startDate.year===r.endDate.year&&r.startDate.month===r.endDate.month),lay(r.elem)[r.rangeLinked?"addClass":"removeClass"]("layui-laydate-linkage"),r.rangeLinked!=e},r.autoCalendarModel.auto=r.rangeLinked&&"auto"===o.rangeLinked,"array"===layui.type(o.range)&&(r.rangeElem=[lay(o.range[0]),lay(o.range[1])]),t[o.type]||(i.console&&console.error&&console.error("laydate type error:'"+o.type+"' is not supported"),o.type="date"),o.format===t.date&&(o.format=t[o.type]||t.date),r.format=s.formatArr(o.format),o.weekStart&&!/^[0-6]$/.test(o.weekStart)&&(t=r.lang(),o.weekStart=t.weeks.indexOf(o.weekStart),-1===o.weekStart)&&(o.weekStart=0),r.EXP_IF="",r.EXP_SPLIT="",lay.each(r.format,function(e,t){e=new RegExp(u).test(t)?"\\d{"+(new RegExp(u).test(r.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(t)?4:t.length:/^yyyy$/.test(t)?"1,4":/^y$/.test(t)?"1,308":"1,2")+"}":"\\"+t;r.EXP_IF=r.EXP_IF+e,r.EXP_SPLIT=r.EXP_SPLIT+"("+e+")"}),r.EXP_IF_ONE=new RegExp("^"+r.EXP_IF+"$"),r.EXP_IF=new RegExp("^"+(o.range?r.EXP_IF+"\\s\\"+r.rangeStr+"\\s"+r.EXP_IF:r.EXP_IF)+"$"),r.EXP_SPLIT=new RegExp("^"+r.EXP_SPLIT+"$",""),r.isInput(o.elem[0])||"focus"===o.trigger&&(o.trigger="click"),o.elem.attr("lay-key",r.index),o.eventElem.attr("lay-key",r.index),o.elem.attr(d,o.id),lay.each(["min","max"],function(e,t){var a=[],n=[];if("number"==typeof o[t])var i=o[t],l=new Date,l=r.newDate({year:l.getFullYear(),month:l.getMonth(),date:l.getDate(),hours:e?23:0,minutes:e?59:0,seconds:e?59:0}).getTime(),e=new Date(i?i<864e5?l+864e5*i:i:l),a=[e.getFullYear(),e.getMonth()+1,e.getDate()],n=[e.getHours(),e.getMinutes(),e.getSeconds()];else if("string"==typeof o[t])a=(o[t].match(/\d+-\d+-\d+/)||[""])[0].split("-"),n=(o[t].match(/\d+:\d+:\d+/)||[""])[0].split(":");else if("object"==typeof o[t])return o[t];o[t]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|n[0],minutes:0|n[1],seconds:0|n[2]}}),r.elemID="layui-laydate"+o.elem.attr("lay-key"),(o.show||e)&&r.render(),e||r.events(),"function"==typeof o.formatToDisplay&&(r.isInput(o.elem[0])?r.formatToDisplay(o.elem[0],o.formatToDisplay):(t=r.rangeElem)&&(r.formatToDisplay(t[0][0],o.formatToDisplay),r.formatToDisplay(t[1][0],o.formatToDisplay))),o.value)&&o.isInitValue&&("date"===layui.type(o.value)?r.setValue(r.parse(0,r.systemDate(o.value))):r.setValue(o.value))},k.prototype.render=function(){var a,n,i,l,r=this,o=r.config,d=r.lang(),s="static"===o.position,y=r.elem=lay.elem("div",{id:r.elemID,"class":["layui-laydate",o.range?" layui-laydate-range":"",r.rangeLinked?" layui-laydate-linkage":"",s?" "+v:"",o.fullPanel?" laydate-theme-fullpanel":"",(a="",lay.each(o.theme,function(e,t){"default"===t||/^#/.test(t)||(a+=" laydate-theme-"+t)}),a)].join("")}),m=r.elemMain=[],u=r.elemHeader=[],c=r.elemCont=[],h=r.table=[],e=r.footer=lay.elem("div",{"class":"layui-laydate-footer"}),t=r.shortcut=lay.elem("ul",{"class":"layui-laydate-shortcut"}),p=(o.zIndex&&(y.style.zIndex=o.zIndex),lay.each(new Array(2),function(e){if(!o.range&&0'+d.timeTips+""),(o.range||"datetime"!==o.type||o.fullPanel)&&p.push(''),lay.each(o.btns,function(e,t){var a=d.tools[t]||"btn";o.range&&"now"===t||(s&&"clear"===t&&(a="cn"===o.lang?"\u91cd\u7f6e":"Reset"),n.push(''+a+""))}),p.push('"),p.join(""))),o.shortcuts&&(y.appendChild(t),lay(t).html((i=[],lay.each(o.shortcuts,function(e,t){i.push('
          • '+t.text+"
          • ")}),i.join(""))).find("li").on("click",function(e){var t=o.shortcuts[this.dataset.index]||{},t=("function"==typeof t.value?t.value():t.value)||[],n=(layui.isArray(t)||(t=[t]),o.type),t=(lay.each(t,function(e,t){var a=[o.dateTime,r.endDate][e];"time"===n&&"date"!==layui.type(t)?r.EXP_IF.test(t)&&(t=(t.match(r.EXP_SPLIT)||[]).slice(1),lay.extend(a,{hours:0|t[0],minutes:0|t[2],seconds:0|t[4]})):lay.extend(a,r.systemDate("date"===layui.type(t)?t:new Date(t))),"time"!==n&&"datetime"!==n||(r[["startTime","endTime"][e]]={hours:a.hours,minutes:a.minutes,seconds:a.seconds}),0===e?r.startDate=lay.extend({},a):r.endState=!0,"year"===n||"month"===n||"time"===n?r.listYM[e]=[a.year,a.month+1]:e&&r.autoCalendarModel.auto&&r.autoCalendarModel()}),r.checkDate("limit").calendar(null,null,"init"),lay(r.footer).find("."+I).removeClass(C));t&&"date"===t.attr("lay-type")&&t[0].click(),r.done(null,"change"),lay(this).addClass(M),"static"!==o.position&&r.setValue(r.parse()).done().remove()})),lay.each(m,function(e,t){y.appendChild(t)}),o.showBottom&&y.appendChild(e),lay.elem("style")),f=[],g=!0,t=(lay.each(o.theme,function(e,t){g&&/^#/.test(t)?(g=!(l=!0),f.push(["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}",-1!==o.theme.indexOf("circle")?"":"#{{id}} .layui-this{background-color:{{theme}} !important;}","#{{id}} .laydate-day-now{color:{{theme}} !important;}","#{{id}} .laydate-day-now:after{border-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))):!g&&/^#/.test(t)&&f.push(["#{{id}} .laydate-selected>div{background-color:{{theme}} !important;}","#{{id}} .laydate-selected:hover>div{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t))}),o.shortcuts&&o.range&&f.push("#{{id}}.layui-laydate-range{width: 628px;}".replace(/{{id}}/g,r.elemID)),f.length&&(f=f.join(""),"styleSheet"in p?(p.setAttribute("type","text/css"),p.styleSheet.cssText=f):p.innerHTML=f,l&&lay(y).addClass("laydate-theme-molv"),y.appendChild(p)),r.remove(k.thisElemDate),T.thisId=o.id,s?o.elem.append(y):(D.body.appendChild(y),r.position()),o.shade?'
            ':"");y.insertAdjacentHTML("beforebegin",t),r.checkDate().calendar(null,0,"init"),r.changeEvent(),k.thisElemDate=r.elemID,r.renderAdditional(),"function"==typeof o.ready&&o.ready(lay.extend({},o.dateTime,{month:o.dateTime.month+1})),r.preview()},k.prototype.remove=function(e){var t=this,a=t.config,n=lay("#"+(e||t.elemID));return n[0]&&(n.hasClass(v)||t.checkDate(function(){n.remove(),delete t.startDate,delete t.endDate,delete t.endState,delete t.startTime,delete t.endTime,delete T.thisId,"function"==typeof a.close&&a.close(t)}),lay("."+w).remove()),t},k.prototype.position=function(){var e=this.config;return lay.position(e.elem[0],this.elem,{position:e.position}),this},k.prototype.hint=function(e){var t=this,a=(t.config,lay.elem("div",{"class":r}));t.elem&&(a.innerHTML=(e="object"==typeof e?e||{}:{content:e}).content||"",lay(t.elem).find("."+r).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+r).remove()},"ms"in e?e.ms:3e3))},k.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),11h[1]&&(e.year=h[1],o=!0),11t)&&(e.date=t,o=!0)},c=function(n,i,l){var r=["startTime","endTime"];i=(i.match(d.EXP_SPLIT)||[]).slice(1),l=l||0,s.range&&(d[r[l]]=d[r[l]]||{}),lay.each(d.format,function(e,t){var a=parseFloat(i[e]);i[e].lengthd.getDateTime(s.max)?(r=s.dateTime=lay.extend({},s.max),i=!0):d.getDateTime(r)d.getDateTime(s.max))&&(d.endDate=lay.extend({},s.max),i=!0),d.startTime={hours:s.dateTime.hours,minutes:s.dateTime.minutes,seconds:s.dateTime.seconds},d.endTime={hours:d.endDate.hours,minutes:d.endDate.minutes,seconds:d.endDate.seconds},"month"===s.type)&&(s.dateTime.date=1,d.endDate.date=1),i&&m&&(d.setValue(d.parse()),d.hint("value "+l.invalidDate+l.formatError[1])),d.startDate=d.startDate||m&&lay.extend({},s.dateTime),d.autoCalendarModel.auto&&d.autoCalendarModel(),d.endState=!s.range||!d.rangeLinked||!(!d.startDate||!d.endDate),e&&e()),d},k.prototype.markRender=function(e,a,t){var n;"object"==typeof t?lay.each(t||{},function(e,t){e=e.split("-");e[0]!=a[0]&&0!=e[0]||e[1]!=a[1]&&0!=e[1]||e[2]!=a[2]||(n=t||a[2])}):"string"==typeof t&&(n=t||a[2]),n&&e.find("div").html(''+n+"")},k.prototype.mark=function(t,a){var n=this,e=n.config,i=function(e){n.markRender(t,a,e)};return e.calendar&&"cn"===e.lang&&i(n.markerOfChineseFestivals),"function"==typeof e.mark?e.mark({year:a[0],month:a[1],date:a[2]},i):"object"==typeof e.mark&&i(e.mark),n},k.prototype.holidaysRender=function(r,o,e){var d=["holidays","workdays"],s=function(e,t,a){e.find("div").html(["",a,""].join(""))};"array"===layui.type(e)?lay.each(e,function(l,e){lay.each(e,function(e,t){var a,n,i;t=t,a=r.attr("lay-ymd"),n=t.split("-"),i=a.split("-"),lay.each(n,function(e,t){n[e]=parseInt(t,10)}),lay.each(i,function(e,t){i[e]=parseInt(t,10)}),n.join("-")===i.join("-")&&s(r,d[l],o[2])})}):"string"==typeof e&&-1!==d.indexOf(e)&&s(r,e,o[2])},k.prototype.holidays=function(t,a){var n=this,e=n.config,i=function(e){n.holidaysRender(t,a,e)};return"function"==typeof e.holidays?e.holidays({year:a[0],month:a[1],date:a[2]},i):"array"===layui.type(e.holidays)&&i(e.holidays),n},k.prototype.cellRender=function(t,e,a){var n=this.config;return"function"==typeof n.cellRender&&n.cellRender(e,function(e){"string"==typeof e?lay(t).html(e):"object"==typeof e&&lay(t).html("").append(lay(e)[0])},{originElem:t,type:a}),this},k.prototype.startOfYear=function(e){e=new Date(e);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e},k.prototype.endOfYear=function(e){var e=new Date(e),t=e.getFullYear();return e.setFullYear(t+1,0,0),e.setHours(23,59,59,999),e},k.prototype.startOfMonth=function(e){e=new Date(e);return e.setDate(1),e.setHours(0,0,0,0),e},k.prototype.endOfMonth=function(e){var e=new Date(e),t=e.getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e},k.prototype.addDays=function(e,t){e=new Date(e);return t&&e.setDate(e.getDate()+t),e},k.prototype.isDisabledYearOrMonth=function(e,t,a){for(var n=this,i=n.config,l="year"===t?n.startOfYear(e):n.startOfMonth(e),t="year"===t?n.endOfYear(e):n.endOfMonth(e),r=Math.floor((t.getTime()-l.getTime())/864e5)+1,o=0,d=0;d(t.time?0:41)?i.endDate:e.dateTime;return lay.each({now:lay.extend({},a,t.date||{}),min:e.min,max:e.max},function(e,a){var n;l[e]=i.newDate(lay.extend({year:a.year,month:"year"===t.type?0:a.month,date:"year"===t.type||"month"===t.type?1:a.date},(n={},lay.each(t.time,function(e,t){n[t]=a[t]}),n))).getTime()}),a=l.nowh[1]&&(s.year=h[1],d.hint(y.invalidDate)),d.firstDate||(d.firstDate=lay.extend({},s)),n.setFullYear(s.year,s.month,1),l=(n.getDay()+(7-a.weekStart))%7,r=T.getEndDate(s.month||12,s.year),o=T.getEndDate(s.month+1,s.year),lay.each(u,function(e,t){var a,n=[s.year,s.month];(t=lay(t)).removeAttr("class"),e"+n[2]+"
            "),d.mark(t,n).holidays(t,n).limit({elem:t,date:{year:n[0],month:n[1]-1,date:n[2]},index:e,rangeType:i,disabledType:"date"}),d.cellRender(t,{year:n[0],month:n[1],date:n[2]},"date")}),lay(c[0]).attr("lay-ym",s.year+"-"+(s.month+1)),lay(c[1]).attr("lay-ym",s.year+"-"+(s.month+1)),d.panelYM||(d.panelYM={}),d.panelYM[i]={year:s.year,month:s.month},"cn"===a.lang?(lay(c[0]).attr("lay-type","year").html(s.year+" \u5e74"),lay(c[1]).attr("lay-type","month").html(s.month+1+" \u6708")):(lay(c[0]).attr("lay-type","month").html(y.month[s.month]),lay(c[1]).attr("lay-type","year").html(s.year)),m&&(a.range?!e&&"init"===t||(d.listYM=[[(d.startDate||a.dateTime).year,(d.startDate||a.dateTime).month+1],[d.endDate.year,d.endDate.month+1]],d.list(a.type,0).list(a.type,1),"time"===a.type?d.setBtnStatus("\u65f6\u95f4",lay.extend({},d.systemDate(),d.startTime),lay.extend({},d.systemDate(),d.endTime)):d.setBtnStatus(!0)):(d.listYM=[[s.year,s.month+1]],d.list(a.type,0))),a.range&&"init"===t&&(d.rangeLinked?(n=d.getAsYM(s.year,s.month,i?"sub":null),d.calendar(lay.extend({},s,{year:n[0],month:n[1]}),1-i)):d.calendar(null,1-i)),a.range||(u=["hours","minutes","seconds"],d.limit({elem:lay(d.footer).find(".laydate-btns-now"),date:d.systemDate(/^(datetime|time)$/.test(a.type)?new Date:null),index:0,time:u,disabledType:"datetime"}),d.limit({elem:lay(d.footer).find(E),index:0,time:u,disabledType:"datetime"})),d.setBtnStatus(),lay(d.shortcut).find("li."+M).removeClass(M),a.range&&!m&&"init"!==t&&d.stampRange(),d},k.prototype.list=function(n,i){var l,r,e,a,o,d,t,s=this,y=s.config,m=s.rangeLinked?y.dateTime:[y.dateTime,s.endDate][i],u=s.lang(),c=y.range&&"date"!==y.type&&"datetime"!==y.type,h=lay.elem("ul",{"class":b+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[n]}),p=s.elemHeader[i],f=lay(p[2]).find("span"),g=s.elemCont[i||0],D=lay(g).find("."+b)[0],T="cn"===y.lang,v=T?"\u5e74":"",x=s.listYM[i]||{},w=["hours","minutes","seconds"],k=["startTime","endTime"][i];return x[0]<1&&(x[0]=1),"year"===n?(e=l=x[0]-7,l<1&&(e=l=1),lay.each(new Array(15),function(e){var t=lay.elem("li",{"lay-ym":l}),a={year:l,month:0,date:1};l==x[0]&&lay(t).addClass(M),t.innerHTML=l+v,h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:l,month:1,date:1},"year"),l++}),lay(f[T?0:1]).attr("lay-ym",l-8+"-"+x[1]).html(e+v+" - "+(l-1)+v)):"month"===n?(lay.each(new Array(12),function(e){var t=lay.elem("li",{"lay-ym":e}),a={year:x[0],month:e,date:1};e+1==x[1]&&lay(t).addClass(M),t.innerHTML=u.month[e]+(T?"\u6708":""),h.appendChild(t),s.limit({elem:lay(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),s.cellRender(t,{year:x[0],month:e+1,date:1},"month")}),lay(f[T?0:1]).attr("lay-ym",x[0]+"-"+x[1]).html(x[0]+v)):"time"===n&&(r=function(){lay(h).find("ol").each(function(a,e){lay(e).find("li").each(function(e,t){s.limit({elem:lay(t),date:[{hours:e},{hours:s[k].hours,minutes:e},{hours:s[k].hours,minutes:s[k].minutes,seconds:e}][a],index:i,rangeType:i,disabledType:"time",time:[["hours"],["hours","minutes"],["hours","minutes","seconds"]][a]})})}),y.range||s.limit({elem:lay(s.footer).find(E),date:s[k],index:0,time:["hours","minutes","seconds"],disabledType:"datetime"})},y.range?s[k]||(s[k]="startTime"===k?m:s.endDate):s[k]=m,lay.each([24,60,60],function(t,e){var a=lay.elem("li"),n=["

            "+u.time[t]+"

              "];lay.each(new Array(e),function(e){n.push(""+lay.digit(e,2)+"")}),a.innerHTML=n.join("")+"
            ",h.appendChild(a)}),r(),e=-1!==y.format.indexOf("H"),f=-1!==y.format.indexOf("m"),t=-1!==y.format.indexOf("s"),a=h.children,o=0,lay.each([e,f,t],function(e,t){t||(a[e].className+=" layui-hide",o++)}),h.className+=" laydate-time-list-hide-"+o),D&&g.removeChild(D),g.appendChild(h),"year"===n||"month"===n?(lay(s.elemMain[i]).addClass("laydate-ym-show"),lay(h).find("li").on("click",function(){var e,t,a=0|lay(this).attr("lay-ym");lay(this).hasClass(C)||(s.rangeLinked?lay.extend(m,{year:"year"===n?a:x[0],month:"year"===n?x[1]-1:a}):m[n]=a,e=-1!==["year","month"].indexOf(y.type),t="year"===n&&-1!==["date","datetime"].indexOf(y.type),e||t?(lay(h).find("."+M).removeClass(M),lay(this).addClass(M),("month"===y.type&&"year"===n||t)&&(s.listYM[i][0]=a,c&&((i?s.endDate:m).year=a),s.list("month",i))):(s.checkDate("limit").calendar(m,i,"init"),s.closeList()),s.setBtnStatus(),!y.range&&y.autoConfirm&&("month"===y.type&&"month"===n||"year"===y.type&&"year"===n)&&s.setValue(s.parse()).done().remove(),s.autoCalendarModel.auto&&!s.rangeLinked?s.choose(lay(g).find("td.layui-this"),i):s.endState&&s.done(null,"change"),lay(s.footer).find("."+I).removeClass(C))})):(f=lay.elem("span",{"class":L}),d=function(){lay(h).find("ol").each(function(e){var a=this,t=lay(a).find("li");a.scrollTop=30*(s[k][w[e]]-2),a.scrollTop<=0&&t.each(function(e,t){if(!lay(this).hasClass(C))return a.scrollTop=30*(e-2),!0})})},t=lay(p[2]).find("."+L),d(),f.innerHTML=y.range?[u.startTime,u.endTime][i]:u.timeTips,lay(s.elemMain[i]).addClass("laydate-time-show"),t[0]&&t.remove(),p[2].appendChild(f),(D=lay(h).find("ol")).each(function(t){var a=this;lay(a).find("li").on("click",function(){var e=0|this.innerHTML;lay(this).hasClass(C)||(y.range?s[k][w[t]]=e:m[w[t]]=e,lay(a).find("."+M).removeClass(M),lay(this).addClass(M),r(),d(),!s.endDate&&"time"!==y.type&&"datetime"!==y.type||s.done(null,"change"),s.setBtnStatus())})}),layui.device().mobile&&D.css({overflowY:"auto",touchAction:"pan-y"})),s},k.prototype.listYM=[],k.prototype.closeList=function(){var a=this;a.config;lay.each(a.elemCont,function(e,t){lay(this).find("."+b).remove(),lay(a.elemMain[e]).removeClass("laydate-ym-show laydate-time-show")}),lay(a.elem).find("."+L).remove()},k.prototype.setBtnStatus=function(e,t,a){var n=this,i=n.config,l=n.lang(),r=lay(n.footer).find(E),o="datetime"===i.type||"time"===i.type?["hours","minutes","seconds"]:undefined;i.range&&(t=t||(n.rangeLinked?n.startDate:i.dateTime),a=a||n.endDate,i=!n.endState||n.newDate(t).getTime()>n.newDate(a).getTime(),n.limit({date:t,disabledType:"datetime",time:o,rangeType:0})||n.limit({date:a,disabledType:"datetime",time:o,rangeType:1})?r.addClass(C):r[i?"addClass":"removeClass"](C),e)&&i&&n.hint("string"==typeof e?l.timeout.replace(/\u65e5\u671f/g,e):l.timeout)},k.prototype.parse=function(e,t){var a=this,n=a.config,i=a.rangeLinked?a.startDate:n.dateTime,t=t||("end"==e?lay.extend({},a.endDate,a.endTime):n.range?lay.extend({},i||n.dateTime,a.startTime):n.dateTime),i=T.parse(t,a.format,1);return n.range&&e===undefined?i+" "+a.rangeStr+" "+a.parse("end"):i},k.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},k.prototype.getDateTime=function(e){return this.newDate(e).getTime()},k.prototype.formatToDisplay=function(e,t){var a=this,n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(e,"value",lay.extend({},n,{get:function(){return this.getAttribute("lay-date")},set:function(e){n.set.call(this,t.call(a,e)),this.setAttribute("lay-date",e)}}))},k.prototype.setValue=function(e){var t,a=this,n=a.config,i=n.elem[0];return"static"!==n.position&&(e=e||"",a.isInput(i)?lay(i).val(e):(t=a.rangeElem)?("array"!==layui.type(e)&&(e=e.split(" "+a.rangeStr+" ")),t[0].val(e[0]||""),t[1].val(e[1]||"")):(0===lay(i).find("*").length&&(t="function"==typeof n.formatToDisplay?n.formatToDisplay(e):e,lay(i).html(t)),lay(i).attr("lay-date",e))),a},k.prototype.preview=function(){var e,t=this,a=t.config;a.isPreview&&(e=lay(t.elem).find("."+x),a=!a.range||(t.rangeLinked?t.endState:t.endDate)?t.parse():"",e.html(a),e.html())&&(e.css({color:"#16b777"}),setTimeout(function(){e.css({color:"#777"})},300))},k.prototype.renderAdditional=function(){this.config.fullPanel&&this.list("time",0)},k.prototype.stampRange=function(){var n,i=this,l=i.config,r=i.rangeLinked?i.startDate:l.dateTime,e=lay(i.elem).find("td");l.range&&!i.endState&&lay(i.footer).find(E).addClass(C),r=r&&i.newDate({year:r.year,month:r.month,date:r.date}).getTime(),n=i.endState&&i.endDate&&i.newDate({year:i.endDate.year,month:i.endDate.month,date:i.endDate.date}).getTime(),lay.each(e,function(e,t){var a=lay(t).attr("lay-ymd").split("-"),a=i.newDate({year:a[0],month:a[1]-1,date:a[2]}).getTime();l.rangeLinked&&!i.startDate&&a===i.newDate(i.systemDate()).getTime()&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?"":"laydate-day-now"),lay(t).removeClass(o+" "+M),a!==r&&a!==n||(i.rangeLinked||!i.rangeLinked&&(e<42?a===r:a===n))&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?o:M),rn.getDateTime(i.max)&&(n[t]={hours:i.max.hours,minutes:i.max.minutes,seconds:i.max.seconds},lay.extend(l,n[t])))}),a||(n.startDate=lay.extend({},l)),n.endState&&!n.limit({date:n.rangeLinked?n.startDate:n.thisDateTime(1-a),disabledType:"date"})&&(((r=n.endState&&n.autoCalendarModel.auto?n.autoCalendarModel():r)||n.rangeLinked&&n.endState)&&n.newDate(n.startDate)>n.newDate(n.endDate)&&(n.startDate.year===n.endDate.year&&n.startDate.month===n.endDate.month&&n.startDate.date===n.endDate.date&&(o=n.startTime,n.startTime=n.endTime,n.endTime=o),o=n.startDate,n.startDate=lay.extend({},n.endDate,n.startTime),i.dateTime=lay.extend({},n.startDate),n.endDate=lay.extend({},o,n.endTime)),r)&&(i.dateTime=lay.extend({},n.startDate)),n.rangeLinked?(e=n.checkPanelDate(l,t),o=lay.extend({},l),d=r||e&&e.needFullRender?"init":null,e=e?e.index:t,n.calendar(o,e,d)):n.calendar(null,a,r?"init":null),n.endState&&n.done(null,"change")):"static"===i.position?n.calendar().done().done(null,"change"):"date"===i.type?i.autoConfirm?n.setValue(n.parse()).done().remove():n.calendar().done(null,"change"):"datetime"===i.type&&n.calendar().done(null,"change"))},k.prototype.tool=function(t,e){var a=this,n=a.config,i=a.lang(),l=n.dateTime,r="static"===n.position,o={datetime:function(){lay(t).hasClass(C)||(a.list("time",0),n.range&&a.list("time",1),lay(t).attr("lay-type","date").html(a.lang().dateTips))},date:function(){a.closeList(),lay(t).attr("lay-type","datetime").html(a.lang().timeTips)},clear:function(){r&&(lay.extend(l,a.firstDate),a.calendar()),n.range&&(delete n.dateTime,delete a.endDate,delete a.startTime,delete a.endTime),a.setValue(""),a.done(null,"onClear").done(["",{},{}]).remove()},now:function(){var e=new Date;if(lay(t).hasClass(C))return a.hint(i.tools.now+", "+i.invalidDate);lay.extend(l,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()),r&&a.calendar(),a.done(null,"onNow").done().remove()},confirm:function(){if(n.range){if(lay(t).hasClass(C))return("time"===n.type?a.startTime&&a.endTime&&a.newDate(a.startTime)>a.newDate(a.endTime):a.startDate&&a.endDate&&a.newDate(lay.extend({},a.startDate,a.startTime||{}))>a.newDate(lay.extend({},a.endDate,a.endTime||{})))?a.hint("time"===n.type?i.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):i.timeout):a.hint(i.invalidDate)}else if(lay(t).hasClass(C))return a.hint(i.invalidDate);a.setValue(a.parse()),a.done(null,"onConfirm").done().remove()}};o[e]&&o[e]()},k.prototype.change=function(n){var i=this,l=i.config,r=i.thisDateTime(n),o=l.range&&("year"===l.type||"month"===l.type),d=i.elemCont[n||0],s=i.listYM[n],e=function(e){var t=lay(d).find(".laydate-year-list")[0],a=lay(d).find(".laydate-month-list")[0];return t&&(s[0]=e?s[0]-15:s[0]+15,i.list("year",n)),a&&(e?s[0]--:s[0]++,i.list("month",n)),(t||a)&&(lay.extend(r,{year:s[0]}),o&&(r.year=s[0]),l.range||i.done(null,"change"),l.range||i.limit({elem:lay(i.footer).find(E),date:{year:s[0]},disabledType:"datetime"})),i.setBtnStatus(),t||a};return{prevYear:function(){e("sub")||(i.rangeLinked?(l.dateTime.year--,i.checkDate("limit").calendar(null,null,"init")):(r.year--,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))},prevMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month,"sub"),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month,"sub"),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextMonth:function(){var e,t;i.rangeLinked?(t=i.panelYM[0],t=i.getAsYM(t.year,t.month),e=lay.extend({},l.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(r.year,r.month),lay.extend(r,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextYear:function(){e()||(i.rangeLinked?(l.dateTime.year++,i.checkDate("limit").calendar(null,0,"init")):(r.year++,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))}}},k.prototype.changeEvent=function(){var i=this;i.config;lay(i.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(i.elemHeader,function(n,e){lay(e[0]).on("click",function(e){i.change(n).prevYear()}),lay(e[1]).on("click",function(e){i.change(n).prevMonth()}),lay(e[2]).find("span").on("click",function(e){var t=lay(this),a=t.attr("lay-ym"),t=t.attr("lay-type");a&&(a=a.split("-"),i.listYM[n]=[0|a[0],0|a[1]],i.list(t,n),lay(i.footer).find("."+I).addClass(C))}),lay(e[3]).on("click",function(e){i.change(n).nextMonth()}),lay(e[4]).on("click",function(e){i.change(n).nextYear()})}),lay.each(i.table,function(e,t){lay(t).find("td").on("click",function(){i.choose(lay(this),e)})}),lay(i.footer).find("span").on("click",function(){var e=lay(this).attr("lay-type");i.tool(this,e)})},k.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())||/INPUT|TEXTAREA/.test(e.tagName)},k.prototype.events=function(){var e,t=this,a=t.config;a.elem[0]&&!a.elem[0].eventHandler&&(a.elem.on(a.trigger,e=function(){T.thisId!==a.id&&t.render()}),a.elem[0].eventHandler=!0,a.eventElem.on(a.trigger,e),t.unbind=function(){t.remove(),a.elem.off(a.trigger,e),a.elem.removeAttr("lay-key"),a.elem.removeAttr(d),a.elem[0].eventHandler=!1,a.eventElem.off(a.trigger,e),a.eventElem.removeAttr("lay-key"),delete s.that[a.id]})},s.that={},s.getThis=function(e){var t=s.that[e];return!t&&n&&layui.hint().error(e?a+" instance with ID '"+e+"' not found":"ID argument required"),t},l.run=function(n){n(D).on("mousedown",function(e){var t,a;T.thisId&&(t=s.getThis(T.thisId))&&(a=t.config,e.target===a.elem[0]||e.target===a.eventElem[0]||e.target===n(a.closeStop)[0]||a.elem[0]&&a.elem[0].contains(e.target)||t.remove())}).on("keydown",function(e){var t;T.thisId&&(t=s.getThis(T.thisId))&&"static"!==t.config.position&&13===e.keyCode&&n("#"+t.elemID)[0]&&t.elemID===k.thisElemDate&&(e.preventDefault(),n(t.footer).find(E)[0].click())}),n(i).on("resize",function(){if(T.thisId){var e=s.getThis(T.thisId);if(e)return!(!e.elem||!n(".layui-laydate")[0])&&void e.position()}})},T.render=function(e){e=new k(e);return s.call(e)},T.reload=function(e,t){e=s.getThis(e);if(e)return e.reload(t)},T.getInst=function(e){e=s.getThis(e);if(e)return e.inst},T.hint=function(e,t){e=s.getThis(e);if(e)return e.hint(t)},T.unbind=function(e){e=s.getThis(e);if(e)return e.unbind()},T.close=function(e){e=s.getThis(e||T.thisId);if(e)return e.remove()},T.parse=function(a,n,i){return a=a||{},n=((n="string"==typeof n?s.formatArr(n):n)||[]).concat(),lay.each(n,function(e,t){/yyyy|y/.test(t)?n[e]=lay.digit(a.year,t.length):/MM|M/.test(t)?n[e]=lay.digit(a.month+(i||0),t.length):/dd|d/.test(t)?n[e]=lay.digit(a.date,t.length):/HH|H/.test(t)?n[e]=lay.digit(a.hours,t.length):/mm|m/.test(t)?n[e]=lay.digit(a.minutes,t.length):/ss|s/.test(t)&&(n[e]=lay.digit(a.seconds,t.length))}),n.join("")},T.getEndDate=function(e,t){var a=new Date;return a.setFullYear(t||a.getFullYear(),e||a.getMonth()+1,1),new Date(a.getTime()-864e5).getDate()},n?(T.ready(),layui.define("lay",function(e){T.path=layui.cache.dir,l.run(lay),e(a,T)})):"function"==typeof define&&define.amd?define(function(){return l.run(lay),T}):(T.ready(),l.run(i.lay),i.laydate=T)}(window,window.document);!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e):function(e){if(e.document)return t(e);throw new Error("jQuery requires a window with a document")}:t(e)}("undefined"!=typeof window?window:this,function(T,M){"use strict";var t=[],R=Object.getPrototypeOf,a=t.slice,I=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},W=t.push,b=t.indexOf,F={},$=F.toString,B=F.hasOwnProperty,_=B.toString,z=_.call(Object),g={},v=function v(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},X=function X(e){return null!=e&&e===e.window},C=T.document,U={type:!0,src:!0,nonce:!0,noModule:!0};function V(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in U)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function G(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?F[$.call(e)]||"object":typeof e}var e="3.7.1",Y=/HTML$/i,S=function(e,t){return new S.fn.init(e,t)};function J(e){var t=!!e&&"length"in e&&e.length,n=G(e);return!v(e)&&!X(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+n+")"+n+"*"),xe=new RegExp(n+"|>"),be=new RegExp(s),we=new RegExp("^"+e+"$"),Te={ID:new RegExp("^#("+e+")"),CLASS:new RegExp("^\\.("+e+")"),TAG:new RegExp("^("+e+"|[*])"),ATTR:new RegExp("^"+o),PSEUDO:new RegExp("^"+s),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+n+"*(even|odd|(([+-]|)(\\d*)n|)"+n+"*(?:([+-]|)"+n+"*(\\d+)|))"+n+"*\\)|)","i"),bool:new RegExp("^(?:"+ge+")$","i"),needsContext:new RegExp("^"+n+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+n+"*((?:-\\d)?\\d*)"+n+"*\\)|)(?=[^-]|$)","i")},Ce=/^(?:input|select|textarea|button)$/i,Se=/^h\d$/i,Ee=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ke=/[+~]/,f=new RegExp("\\\\[\\da-fA-F]{1,6}"+n+"?|\\\\([^\\r\\n\\f])","g"),d=function(e,t){e="0x"+e.slice(1)-65536;return t||(e<0?String.fromCharCode(65536+e):String.fromCharCode(e>>10|55296,1023&e|56320))},je=function(){Oe()},Ae=Ie(function(e){return!0===e.disabled&&x(e,"fieldset")},{dir:"parentNode",next:"legend"});try{j.apply(t=a.call(i.childNodes),i.childNodes),t[i.childNodes.length].nodeType}catch(sr){j={apply:function(e,t){ue.apply(e,a.call(t))},call:function(e){ue.apply(e,a.call(arguments,1))}}}function N(e,t,n,r){var i,o,s,a,u,l,c=t&&t.ownerDocument,f=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==f&&9!==f&&11!==f)return n;if(!r&&(Oe(t),t=t||E,k)){if(11!==f&&(a=Ee.exec(e)))if(i=a[1]){if(9===f){if(!(l=t.getElementById(i)))return n;if(l.id===i)return j.call(n,l),n}else if(c&&(l=c.getElementById(i))&&N.contains(t,l)&&l.id===i)return j.call(n,l),n}else{if(a[2])return j.apply(n,t.getElementsByTagName(e)),n;if((i=a[3])&&t.getElementsByClassName)return j.apply(n,t.getElementsByClassName(i)),n}if(!(pe[e+" "]||p&&p.test(e))){if(l=e,c=t,1===f&&(xe.test(e)||ve.test(e))){for((c=ke.test(e)&&He(t.parentNode)||t)==t&&g.scope||((s=t.getAttribute("id"))?s=S.escapeSelector(s):t.setAttribute("id",s=A)),o=(u=Me(e)).length;o--;)u[o]=(s?"#"+s:":scope")+" "+Re(u[o]);l=u.join(",")}try{return j.apply(n,c.querySelectorAll(l)),n}catch(d){pe(e,!0)}finally{s===A&&t.removeAttribute("id")}}}return _e(e.replace(ee,"$1"),t,n,r)}function De(){var n=[];function r(e,t){return n.push(e+" ")>w.cacheLength&&delete r[n.shift()],r[e+" "]=t}return r}function u(e){return e[A]=!0,e}function Ne(e){var t=E.createElement("fieldset");try{return!!e(t)}catch(sr){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function qe(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&Ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function Le(s){return u(function(o){return o=+o,u(function(e,t){for(var n,r=s([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function He(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function Oe(e){var e=e?e.ownerDocument||e:i;return e!=E&&9===e.nodeType&&e.documentElement&&(r=(E=e).documentElement,k=!S.isXMLDoc(E),ae=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&i!=E&&(e=E.defaultView)&&e.top!==e&&e.addEventListener("unload",je),g.getById=Ne(function(e){return r.appendChild(e).id=S.expando,!E.getElementsByName||!E.getElementsByName(S.expando).length}),g.disconnectedMatch=Ne(function(e){return ae.call(e,"*")}),g.scope=Ne(function(){return E.querySelectorAll(":scope")}),g.cssHas=Ne(function(){try{E.querySelector(":has(*,:jqfake)")}catch(sr){return 1}}),g.getById?(w.filter.ID=function(e){var t=e.replace(f,d);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&k)return(e=t.getElementById(e))?[e]:[]}):(w.filter.ID=function(e){var t=e.replace(f,d);return function(e){e="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}},w.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&k){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),w.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},w.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&k)return t.getElementsByClassName(e)},p=[],Ne(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||p.push("\\["+n+"*(?:value|"+ge+")"),e.querySelectorAll("[id~="+A+"-]").length||p.push("~="),e.querySelectorAll("a#"+A+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=E.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=E.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+n+"*name"+n+"*="+n+"*(?:''|\"\")")}),g.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),he=function(e,t){var n;return e===t?(se=!0,0):(n=!e.compareDocumentPosition-!t.compareDocumentPosition)||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===E||e.ownerDocument==i&&N.contains(i,e)?-1:t===E||t.ownerDocument==i&&N.contains(i,t)?1:oe?b.call(oe,e)-b.call(oe,t):0:4&n?-1:1)}),E}for(re in N.matches=function(e,t){return N(e,null,null,t)},N.matchesSelector=function(e,t){if(Oe(e),k&&!pe[t+" "]&&(!p||!p.test(t)))try{var n=ae.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(sr){pe(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(f,d),e[3]=(e[3]||e[4]||e[5]||"").replace(f,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||N.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&N.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Te.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&be.test(n)&&(t=(t=Me(n,!0))&&n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(f,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return x(e,t)}},CLASS:function(e){var t=ce[e+" "];return t||(t=new RegExp("(^|"+n+")"+e+"("+n+"|$)"))&&ce(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(e){e=N.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===r:"!="===n?e!==r:"^="===n?r&&0===e.indexOf(r):"*="===n?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Ge(e,n,r){return v(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/,Ke=((S.fn.init=function(e,t,n){if(e){if(n=n||Ye,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):v(e)?n.ready!==undefined?n.ready(e):e(S):S.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:Je.exec(e))||!r[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),Ve.test(r[1])&&S.isPlainObject(t))for(var r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r])}else(n=C.getElementById(r[2]))&&(this[0]=n,this.length=1)}return this}).prototype=S.fn,Ye=S(C),/^(?:parents|prev(?:Until|All))/),Qe={children:!0,contents:!0,next:!0,prev:!0};function Ze(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Et=/^$|^module$|\/(?:java|ecma)script/i,h=(o=C.createDocumentFragment().appendChild(C.createElement("div")),(s=C.createElement("input")).setAttribute("type","radio"),s.setAttribute("checked","checked"),s.setAttribute("name","t"),o.appendChild(s),g.checkClone=o.cloneNode(!0).cloneNode(!0).lastChild.checked,o.innerHTML="",g.noCloneChecked=!!o.cloneNode(!0).lastChild.defaultValue,o.innerHTML="",g.option=!!o.lastChild,{thead:[1,"","
            "],col:[2,"","
            "],tr:[2,"","
            "],td:[3,"","
            "],_default:[0,"",""]});function y(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x(e,t)?S.merge([e],n):n}function kt(e,t){for(var n=0,r=e.length;n",""]);var jt=/<|&#?\w+;/;function At(e,t,n,r,i){for(var o,s,a,u,l,c=t.createDocumentFragment(),f=[],d=0,p=e.length;d\s*$/g;function Rt(e,t){return x(e,"table")&&x(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function It(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Wt(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ft(e,t){var n,r,i,o;if(1===t.nodeType){if(m.hasData(e)&&(o=m.get(e).events))for(i in m.remove(t,"handle events"),o)for(n=0,r=o[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}}),[]),ir=/(=)\?(?=&|$)|\?\?/,or=(S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=rr.pop()||S.expando+"_"+Hn.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,s=!1!==e.jsonp&&(ir.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&ir.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(ir,"$1"+r):!1!==e.jsonp&&(e.url+=(On.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=T[r],T[r]=function(){o=arguments},n.always(function(){i===undefined?S(T).removeProp(r):T[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,rr.push(r)),o&&v(i)&&i(o[0]),o=i=undefined}),"script"}),g.createHTMLDocument=((e=C.implementation.createHTMLDocument("").body).innerHTML="
            ",2===e.childNodes.length),S.parseHTML=function(e,t,n){var r;return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(g.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),r=!n&&[],(n=Ve.exec(e))?[t.createElement(n[1])]:(n=At([e],t,r),r&&r.length&&S(r).remove(),S.merge([],n.childNodes)))},S.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,s,a=S.css(e,"position"),u=S(e),l={};"static"===a&&(e.style.position="relative"),o=u.offset(),r=S.css(e,"top"),s=S.css(e,"left"),a=("absolute"===a||"fixed"===a)&&-1<(r+s).indexOf("auto")?(i=(a=u.position()).top,a.left):(i=parseFloat(r)||0,parseFloat(s)||0),null!=(t=v(t)?t.call(e,n,S.extend({},o)):t).top&&(l.top=t.top-o.top+i),null!=t.left&&(l.left=t.left-o.left+a),"using"in t?t.using.call(e,l):u.css(l)}},S.fn.extend({offset:function(t){var e,n;return arguments.length?t===undefined?this:this.each(function(e){S.offset.setOffset(this,t,e)}):(n=this[0])?n.getClientRects().length?(e=n.getBoundingClientRect(),n=n.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===S.css(e,"position");)e=e.offsetParent;return e||yt})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return c(this,function(e,t,n){var r;if(X(e)?r=e:9===e.nodeType&&(r=e.defaultView),n===undefined)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=on(g.pixelPosition,function(e,t){if(t)return t=rn(e,n),Jt.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(s,a){S.each({padding:"inner"+s,content:a,"":"outer"+s},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return c(this,function(e,t,n){var r;return X(e)?0===o.indexOf("outer")?e["inner"+s]:e.document.documentElement["client"+s]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+s],r["scroll"+s],e.body["offset"+s],r["offset"+s],r["client"+s])):n===undefined?S.css(e,t,i):S.style(e,t,n,i)},a,n?e:undefined,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0'+(s?a.title[0]:a.title)+"
            ":"";return a.zIndex=o,t([a.shade?'
            ':"",'
            '+(e&&2!=a.type?"":s)+"'+(n=["layui-icon-tips","layui-icon-success","layui-icon-error","layui-icon-question","layui-icon-lock","layui-icon-face-cry","layui-icon-face-smile"],o="layui-anim layui-anim-rotate layui-anim-loop",0==a.type&&-1!==a.icon?'':3==a.type?(i=["layui-icon-loading","layui-icon-loading-1"],2==a.icon?'
            ':''):"")+((1!=a.type||!e)&&a.content||"")+'
            '+(n=[],r&&(n.push(''),n.push('')),a.closeBtn&&n.push(''),n.join(""))+"
            "+(a.btn?function(){var e="";"string"==typeof a.btn&&(a.btn=[a.btn]);for(var t,i=0,n=a.btn.length;i'+a.btn[i]+"";return'
            '+e+"
            "}():"")+(a.resize?'':"")+"
            "],s,h('
            ')),this},t.pt.creat=function(){var e,t,i,n,a=this,o=a.config,s=a.index,r="object"==typeof(d=o.content),l=h("body"),c=function(e){var t;o.shift&&(o.anim=o.shift),u.anim[o.anim]&&(t="layer-anim "+u.anim[o.anim],e.addClass(t).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){h(this).removeClass(t)}))};if(o.id&&h("."+u[0]).find("#"+o.id)[0])e=h("#"+o.id).closest("."+u[0]),t=e.attr("times"),i=e.data("config"),n=h("#"+u.SHADE+t),"min"===(e.data("maxminStatus")||{})?v.restore(t):i.hideOnClose&&(n.show(),e.show(),c(e),setTimeout(function(){n.css({opacity:n.data(y)})},10));else{switch(o.removeFocus&&document.activeElement&&document.activeElement.blur(),"string"==typeof o.area&&(o.area="auto"===o.area?["",""]:[o.area,""]),6==v.ie&&(o.fixed=!1),o.type){case 0:o.btn="btn"in o?o.btn:f.btn[0],v.closeAll("dialog");break;case 2:var d=o.content=r?o.content:[o.content||"","auto"];o.content='';break;case 3:delete o.title,delete o.closeBtn,-1===o.icon&&o.icon,v.closeAll("loading");break;case 4:r||(o.content=[o.content,"body"]),o.follow=o.content[1],o.content=o.content[0]+'',delete o.title,o.tips="object"==typeof o.tips?o.tips:[o.tips,!0],o.tipsMore||v.closeAll("tips")}a.vessel(r,function(e,t,i){l.append(e[0]),r?2==o.type||4==o.type?h("body").append(e[1]):d.parents("."+u[0])[0]||(d.data("display",d.css("display")).show().addClass("layui-layer-wrap").wrap(e[1]),h("#"+u[0]+s).find("."+u[5]).before(t)):l.append(e[1]),h("#"+u.MOVE)[0]||l.append(f.moveElem=i),a.layero=h("#"+u[0]+s),a.shadeo=h("#"+u.SHADE+s),o.scrollbar||f.setScrollbar(s)}).auto(s),a.shadeo.css({"background-color":o.shade[1]||"#000",opacity:o.shade[0]||o.shade,transition:o.shade[2]||""}),a.shadeo.data(y,o.shade[0]||o.shade),2==o.type&&6==v.ie&&a.layero.find("iframe").attr("src",d[0]),4==o.type?a.tips():(a.offset(),parseInt(f.getStyle(document.getElementById(u.MOVE),"z-index"))||(a.layero.css("visibility","hidden"),v.ready(function(){a.offset(),a.layero.css("visibility","visible")}))),!o.fixed||f.events.resize[a.index]||(f.events.resize[a.index]=function(){a.resize()},g.on("resize",f.events.resize[a.index])),a.layero.data("config",o),o.time<=0||setTimeout(function(){v.close(a.index)},o.time),a.move().callback(),c(a.layero)}},t.pt.resize=function(){var e=this,t=e.config;e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(e.index),4==t.type&&e.tips()},t.pt.auto=function(e){var t=this.config,i=h("#"+u[0]+e),n=((""===t.area[0]||"auto"===t.area[0])&&0t.maxWidth)&&i.width(t.maxWidth),[i.innerWidth(),i.innerHeight()]),a=i.find(u[1]).outerHeight()||0,o=i.find("."+u[6]).outerHeight()||0,e=function(e){(e=i.find(e)).height(n[1]-a-o-2*(0|parseFloat(e.css("padding-top"))))};return 2===t.type?e("iframe"):""===t.area[1]||"auto"===t.area[1]?0t.maxHeight?(n[1]=t.maxHeight,e("."+u[5])):t.fixed&&n[1]>=g.height()&&(n[1]=g.height(),e("."+u[5])):e("."+u[5]),this},t.pt.offset=function(){var e=this,t=e.config,i=e.layero,n=[i.outerWidth(),i.outerHeight()],a="object"==typeof t.offset;e.offsetTop=(g.height()-n[1])/2,e.offsetLeft=(g.width()-n[0])/2,a?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=g.width()-n[0]:"b"===t.offset?e.offsetTop=g.height()-n[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=g.width()-n[0]):"rb"===t.offset?(e.offsetTop=g.height()-n[1],e.offsetLeft=g.width()-n[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?g.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?g.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=g.scrollTop(),e.offsetLeft+=g.scrollLeft()),"min"===i.data("maxminStatus")&&(e.offsetTop=g.height()-(i.find(u[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},t.pt.tips=function(){var e=this.config,t=this.layero,i=[t.outerWidth(),t.outerHeight()],n=h(e.follow),a={width:(n=n[0]?n:h("body")).outerWidth(),height:n.outerHeight(),top:n.offset().top,left:n.offset().left},o=t.find(".layui-layer-TipsG"),n=e.tips[0];e.tips[1]||o.remove(),a.autoLeft=function(){0'):e.removeClass("layui-layer-btn-is-loading").removeAttr("disabled").find(".layui-layer-btn-loading-icon").remove()},t.pt.callback=function(){var n=this,a=n.layero,o=n.config;n.openLayer(),o.success&&(2==o.type?a.find("iframe").on("load",function(){o.success(a,n.index,n)}):o.success(a,n.index,n)),6==v.ie&&n.IE6(a),a.find("."+u[6]).children("a").on("click",function(){var e,t=h(this),i=t.index();t.attr("disabled")||(o.btnAsync?(e=0===i?o.yes||o.btn1:o["btn"+(i+1)],n.loading=function(e){n.btnLoading(t,e)},e?f.promiseLikeResolve(e.call(o,n.index,a,n)).then(function(e){!1!==e&&v.close(n.index)},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}):v.close(n.index)):0===i?o.yes?o.yes(n.index,a,n):o.btn1?o.btn1(n.index,a,n):v.close(n.index):!1!==(o["btn"+(i+1)]&&o["btn"+(i+1)](n.index,a,n))&&v.close(n.index))}),a.find("."+u[7]).on("click",function(){!1!==(o.cancel&&o.cancel(n.index,a,n))&&v.close(n.index)}),o.shadeClose&&n.shadeo.on("click",function(){v.close(n.index)}),a.find(".layui-layer-min").on("click",function(){!1!==(o.min&&o.min(a,n.index,n))&&v.min(n.index,o)}),a.find(".layui-layer-max").on("click",function(){h(this).hasClass("layui-layer-maxmin")?(v.restore(n.index),o.restore&&o.restore(a,n.index,n)):(v.full(n.index,o),setTimeout(function(){o.full&&o.full(a,n.index,n)},100))}),o.end&&(f.end[n.index]=o.end),o.beforeEnd&&(f.beforeEnd[n.index]=h.proxy(o.beforeEnd,o,a,n.index,n))},f.reselect=function(){h.each(h("select"),function(e,t){var i=h(this);i.parents("."+u[0])[0]||1==i.attr("layer")&&h("."+u[0]).length<1&&i.removeAttr("layer").show()})},t.pt.IE6=function(e){h("select").each(function(e,t){var i=h(this);i.parents("."+u[0])[0]||"none"!==i.css("display")&&i.attr({layer:"1"}).hide()})},t.pt.openLayer=function(){v.zIndex=this.config.zIndex,v.setTop=function(e){return v.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",function(){v.zIndex++,e.css("z-index",v.zIndex+1)}),v.zIndex}},f.record=function(e){if(!e[0])return p.console&&console.error("index error");var t=e.attr("type"),i=e.find(".layui-layer-content"),t=t===f.type[2]?i.children("iframe"):i,n=[e[0].style.width||f.getStyle(e[0],"width"),e[0].style.height||f.getStyle(e[0],"height"),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:n}),i.data(l,f.getStyle(t[0],"height"))},f.setScrollbar=function(e){u.html.css("overflow","hidden")},f.restScrollbar=function(t){u.html.css("overflow")&&0===h("."+u[0]).filter(function(){var e=h(this);return!1===(e.data("config")||{}).scrollbar&&"min"!==e.data("maxminStatus")&&e.attr("times")!==String(t)}).length&&u.html.css("overflow","")},f.promiseLikeResolve=function(e){var t=h.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()},(p.layer=v).getChildFrame=function(e,t){return t=t||h("."+u[4]).attr("times"),h("#"+u[0]+t).find("iframe").contents().find(e)},v.getFrameIndex=function(e){if(e)return h("#"+e).parents("."+u[4]).attr("times")},v.iframeAuto=function(e){var t,i,n;e&&(t=v.getChildFrame("html",e).outerHeight(),i=(e=h("#"+u[0]+e)).find(u[1]).outerHeight()||0,n=e.find("."+u[6]).outerHeight()||0,e.css({height:t+i+n}),e.find("iframe").css({height:t}))},v.iframeSrc=function(e,t){h("#"+u[0]+e).find("iframe").attr("src",t)},v.style=function(e,t,i){var e=h("#"+u[0]+e),n=e.find(".layui-layer-content"),a=e.attr("type"),o=e.find(u[1]).outerHeight()||0,s=e.find("."+u[6]).outerHeight()||0;e.attr("minLeft");a!==f.type[3]&&a!==f.type[4]&&(i||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-o-s<=64&&(t.height=64+o+s)),e.css(t),s=e.find("."+u[6]).outerHeight()||0,a===f.type[2]?e.find("iframe").css({height:("number"==typeof t.height?t.height:e.height())-o-s}):n.css({height:("number"==typeof t.height?t.height:e.height())-o-s-parseFloat(n.css("padding-top"))-parseFloat(n.css("padding-bottom"))}))},v.min=function(e,t){var i,n,a,o,s,r,l=h("#"+u[0]+e),c=l.data("maxminStatus");"min"!==c&&("max"===c&&v.restore(e),l.data("maxminStatus","min"),t=t||l.data("config")||{},c=h("#"+u.SHADE+e),i=l.find(".layui-layer-min"),n=l.find(u[1]).outerHeight()||0,o=(a="string"==typeof(o=l.attr("minLeft")))?o:181*f.minStackIndex+"px",s=l.css("position"),r={width:180,height:n,position:"fixed",overflow:"hidden"},f.record(l),0g.width()&&(o=g.width()-180-(f.minStackArr.edgeIndex=f.minStackArr.edgeIndex||0,f.minStackArr.edgeIndex+=3))<0&&(o=0),t.minStack&&(r.left=o,r.top=g.height()-n,a||f.minStackIndex++,l.attr("minLeft",o)),l.attr("position",s),v.style(e,r,!0),i.hide(),"page"===l.attr("type")&&l.find(u[4]).hide(),f.restScrollbar(e),c.hide())},v.restore=function(e){var t=h("#"+u[0]+e),i=h("#"+u.SHADE+e),n=t.find(".layui-layer-content"),a=t.attr("area").split(","),o=t.attr("type"),s=t.data("config")||{},r=n.data(l);t.removeData("maxminStatus"),v.style(e,{width:a[0],height:a[1],top:parseFloat(a[2]),left:parseFloat(a[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===o&&t.find(u[4]).show(),s.scrollbar?f.restScrollbar(e):f.setScrollbar(e),r!==m&&(n.removeData(l),(o===f.type[2]?n.children("iframe"):n).css({height:r})),i.show()},v.full=function(t){var i=h("#"+u[0]+t),e=i.data("maxminStatus");"max"!==e&&("min"===e&&v.restore(t),i.data("maxminStatus","max"),f.record(i),f.setScrollbar(t),setTimeout(function(){var e="fixed"===i.css("position");v.style(t,{top:e?0:g.scrollTop(),left:e?0:g.scrollLeft(),width:"100%",height:"100%"},!0),i.find(".layui-layer-min").hide()},100))},v.title=function(e,t){h("#"+u[0]+(t||v.index)).find(u[1]).html(e)},v.close=function(s,r){var e,t,l=(e=h("."+u[0]).children("#"+s).closest("."+u[0]))[0]?(s=e.attr("times"),e):h("#"+u[0]+s),c=l.attr("type"),i=l.data("config")||{},d=i.id&&i.hideOnClose;l[0]&&(t=function(){var o={slideDown:"layer-anim-slide-down-out",slideLeft:"layer-anim-slide-left-out",slideUp:"layer-anim-slide-up-out",slideRight:"layer-anim-slide-right-out"}[i.anim]||"layer-anim-close",e=function(){var e="layui-layer-wrap";if(d)return l.removeClass("layer-anim "+o),l.hide();if(c===f.type[1]&&"object"===l.attr("conType")){l.children(":not(."+u[5]+")").remove();for(var t=l.find("."+e),i=0;i<2;i++)t.unwrap();t.css("display",t.data("display")).removeClass(e)}else{if(c===f.type[2])try{var n=h("#"+u[4]+s)[0];n.contentWindow.document.write(""),n.contentWindow.close(),l.find("."+u[5])[0].removeChild(n)}catch(a){}l[0].innerHTML="",l.remove()}"function"==typeof f.end[s]&&f.end[s](),delete f.end[s],"function"==typeof r&&r(),f.events.resize[s]&&(g.off("resize",f.events.resize[s]),delete f.events.resize[s])},t=h("#"+u.SHADE+s);v.ie&&v.ie<10||!i.isOutAnim?t[d?"hide":"remove"]():(t.css({opacity:0}),setTimeout(function(){t[d?"hide":"remove"]()},350)),i.isOutAnim&&l.addClass("layer-anim "+o),6==v.ie&&f.reselect(),f.restScrollbar(s),"string"==typeof l.attr("minLeft")&&(f.minStackIndex--,f.minStackArr.push(l.attr("minLeft"))),v.ie&&v.ie<10||!i.isOutAnim?e():setTimeout(function(){e()},200)},d||"function"!=typeof f.beforeEnd[s]?(delete f.beforeEnd[s],t()):f.promiseLikeResolve(f.beforeEnd[s]()).then(function(e){!1!==e&&(delete f.beforeEnd[s],t())},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}))},v.closeAll=function(n,a){"function"==typeof n&&(a=n,n=null);var o=h("."+u[0]);h.each(o,function(e){var t=h(this),i=n?t.attr("type")===n:1;i&&v.close(t.attr("times"),e===o.length-1?a:null)}),0===o.length&&"function"==typeof a&&a()},v.closeLast=function(i,e){var t,n=[],a=h.isArray(i);h("string"==typeof i?".layui-layer-"+i:".layui-layer").each(function(e,t){t=h(t);if(a&&-1===i.indexOf(t.attr("type"))||"none"===t.css("display"))return!0;n.push(Number(t.attr("times")))}),0":'",s=i.success;return delete i.success,v.open(h.extend({type:1,btn:["\u786e\u5b9a","\u53d6\u6d88"],content:o,skin:"layui-layer-prompt"+x("prompt"),maxWidth:g.width(),success:function(e){(a=e.find(".layui-layer-input")).val(i.value||"").focus(),"function"==typeof s&&s(e)},resize:!1,yes:function(e){var t=a.val();t.length>(i.maxlength||500)?v.tips("\u6700\u591a\u8f93\u5165"+(i.maxlength||500)+"\u4e2a\u5b57\u7b26",a,{tips:1}):n&&n(t,e,a)}},i))},v.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,v.open(h.extend({type:1,skin:"layui-layer-tab"+x("tab"),resize:!1,title:function(){var e=a.length,t=1,i="";if(0'+a[0].title+"";t"+a[t].title+"";return i}(),content:'
              '+function(){var e=a.length,t=1,i="";if(0'+(a[0].content||"no content")+"";t'+(a[t].content||"no content")+"";return i}()+"
            ",success:function(e){var t=e.find(".layui-layer-title").children(),i=e.find(".layui-layer-tabmain").children();t.on("mousedown",function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0;var e=h(this),t=e.index();e.addClass(o).siblings().removeClass(o),i.eq(t).show().siblings().hide(),"function"==typeof n.change&&n.change(t)}),"function"==typeof s&&s(e)}},n))},v.photos=function(n,e,a){var s={};if((n=h.extend(!0,{toolbar:!0,footer:!0},n)).photos){var t=!("string"==typeof n.photos||n.photos instanceof h),i=t?n.photos:{},o=i.data||[],r=i.start||0,l=n.success;if(s.imgIndex=1+(0|r),n.img=n.img||"img",delete n.success,t){if(0===o.length)return v.msg("\u6ca1\u6709\u56fe\u7247")}else{var c=h(n.photos),d=function(){o=[],c.find(n.img).each(function(e){var t=h(this);t.attr("layer-index",e),o.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("lay-src")||t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(d(),e||c.on("click",n.img,function(){d();var e=h(this).attr("layer-index");v.photos(h.extend(n,{photos:{start:e,data:o,tab:n.tab},full:n.full}),!0)}),!e)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=o.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>o.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){var t;s.end||(t=e.keyCode,e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&v.close(s.index))},s.tabimg=function(e){if(!(o.length<=1))return i.start=s.imgIndex-1,v.close(s.index),v.photos(n,!0,e)},s.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},s.image={},s.getTransform=function(e){var t=[],i=e.rotate,n=e.scaleX,e=e.scale;return s.isNumber(i)&&0!==i&&t.push("rotate("+i+"deg)"),s.isNumber(n)&&1!==n&&t.push("scaleX("+n+")"),s.isNumber(e)&&t.push("scale("+e+")"),t.length?t.join(" "):"none"},s.event=function(e,i,n){var a,o;s.main.find(".layui-layer-photos-prev").on("click",function(e){e.preventDefault(),s.imgprev(!0)}),s.main.find(".layui-layer-photos-next").on("click",function(e){e.preventDefault(),s.imgnext(!0)}),h(document).on("keyup",s.keyup),e.off("click").on("click","*[toolbar-event]",function(){var e=h(this);switch(e.attr("toolbar-event")){case"rotate":s.image.rotate=((s.image.rotate||0)+Number(e.attr("data-option")))%360,s.imgElem.css({transform:s.getTransform(s.image)});break;case"scalex":s.image.scaleX=-1===s.image.scaleX?1:-1,s.imgElem.css({transform:s.getTransform(s.image)});break;case"zoom":var t=Number(e.attr("data-option"));s.image.scale=(s.image.scale||1)+t,t<0&&s.image.scale<0-t&&(s.image.scale=0-t),s.imgElem.css({transform:s.getTransform(s.image)});break;case"reset":s.image.scaleX=1,s.image.scale=1,s.image.rotate=0,s.imgElem.css({transform:"none"});break;case"close":v.close(i)}n.offset(),n.auto(i)}),s.main.on("mousewheel DOMMouseScroll",function(e){var t=e.originalEvent.wheelDelta||-e.originalEvent.detail,i=s.main.find('[toolbar-event="zoom"]');(0n)&&("left"===t.direction?s.imgnext(!0):"right"===t.direction&&s.imgprev(!0))},h.each([n.shadeo,s.main],function(e,t){a.touchSwipe(t,{onTouchEnd:o})}))},s.loadi=v.load(1,{shade:!("shade"in n)&&[.9,m,"unset"],scrollbar:!1});var t=o[r].src,f=function(e){v.close(s.loadi);var t,i=o[r].alt||"";a&&(n.anim=-1),s.index=v.open(h.extend({type:1,id:"layui-layer-photos",area:(e=[e.width,e.height],t=[h(p).width()-100,h(p).height()-100],!n.full&&(t[0]'+i+''+(t=['
            '],1','','',"
            "].join("")),n.toolbar&&t.push(['
            ','','','','','','',"
            "].join("")),n.footer&&t.push(['"].join("")),t.push(""),t.join(""))+"",success:function(e,t,i){s.main=e.find(".layer-layer-photos-main"),s.footer=e.find(".layui-layer-photos-footer"),s.imgElem=s.main.children("img"),s.event(e,t,i),n.tab&&n.tab(o[r],e),"function"==typeof l&&l(e)},end:function(){s.end=!0,h(document).off("keyup",s.keyup)}},n))},u=function(){v.close(s.loadi),v.msg("\u5f53\u524d\u56fe\u7247\u5730\u5740\u5f02\u5e38\uff0c
            \u662f\u5426\u7ee7\u7eed\u67e5\u770b\u4e0b\u4e00\u5f20\uff1f",{time:3e4,btn:["\u4e0b\u4e00\u5f20","\u4e0d\u770b\u4e86"],yes:function(){1").addClass(o));layui.each(i.bars,function(t,e){var n=s('
          • ');n.addClass(e.icon).attr({"lay-type":e.type,style:e.style||(i.bgcolor?"background-color: "+i.bgcolor:"")}).html(e.content),n.on("click",function(){var t=s(this).attr("lay-type");"top"===t&&("body"===i.target?s("html,body"):c).animate({scrollTop:0},i.duration),"function"==typeof i.click&&i.click.call(this,t)}),"object"===layui.type(i.on)&&layui.each(i.on,function(t,e){n.on(t,function(){var t=s(this).attr("lay-type");"function"==typeof e&&e.call(this,t)})}),"top"===e.type&&(n.addClass("layui-fixbar-top"),r=n),l.append(n)}),u.find("."+o).remove(),"object"==typeof i.css&&l.css(i.css),u.append(l),r&&(e=function e(){return c.scrollTop()>=i.margin?t||(r.show(),t=1):t&&(r.hide(),t=0),e}()),c.on("scroll",function(){e&&(clearTimeout(n),n=setTimeout(function(){e()},100))})},countdown:function(i){i=s.extend(!0,{date:new Date,now:new Date},i);var r=arguments,o=(1]|&(?=#?[a-zA-Z0-9]+)/g.test(t+="")?t.replace(/&(?=#?[a-zA-Z0-9]+;?)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):t},unescape:function(t){return t===undefined||null===t?"":String(t).replace(/\"/g,'"').replace(/\'/g,"'").replace(/\>/g,">").replace(/\</g,"<").replace(/\&/g,"&")},openWin:function(t){var e=(t=t||{}).window||window.open(t.url||"",t.target,t.specs);t.url||(e.document.open("text/html","replace"),e.document.write(t.content||""),e.document.close())},toVisibleArea:function(t){var e,n,i,r,o,a,u,c;(t=s.extend({margin:160,duration:200,type:"y"},t)).scrollElem[0]&&t.thisElem[0]&&(e=t.scrollElem,u=t.thisElem,i=(o="y"===t.type)?"top":"left",r=e[n=o?"scrollTop":"scrollLeft"](),o=e[o?"height":"width"](),a=e.offset()[i],c={},(u=u.offset()[i]-a)>o-t.margin||u."+v,T=function(e){var i=this;i.index=++h.index,i.config=c.extend({},i.config,h.config,e),i.init()};T.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:[200,300],shade:0,accordion:!1,closeOnClick:!0},T.prototype.reload=function(e,i){var t=this;t.config=c.extend({},t.config,e),t.init(!0,i)},T.prototype.init=function(e,i){var t=this,n=t.config,a=c(n.elem);return 1",(t="href"in i?''+o+"":o,n?'
            '+t+("parent"===l?'':"group"===l&&d.isAllowSpread?'':"")+"
            ":'
            '+t+"
            "),"
          • "].join(""))).data("item",i),n&&(a=c('
            '),t=c("
              "),"parent"===l?(a.append(u(t,i[s.children])),o.append(a)):o.append(u(t,i[s.children]))),r.append(o))}),r},t=['
              ',"
              "].join(""),n=d.content||(n=c('
                '),0\u6682\u65e0\u6570\u636e'),n),a=g.findMainElem(d.id);"reloadData"===e&&a.length?(i=o.mainElem=a).html(n):((i=o.mainElem=c(t)).append(n),i.addClass(d.className),i.attr("style",d.style),o.remove(h.thisId),d.target.append(i),d.elem.data(f,!0),e=d.shade?'
                ':"",i.before(e),"mouseenter"===d.trigger&&i.on("mouseenter",function(){clearTimeout(g.timer)}).on("mouseleave",function(){o.delayRemove()})),o.position(),h.thisId=d.id,i.find(".layui-menu").on(l,function(e){layui.stope(e)}),i.find(".layui-menu li").on("click",function(e){var i=c(this),t=i.data("item")||{},n=t[s.children]&&0n.width()&&(t.addClass(x),(i=t[0].getBoundingClientRect()).left<0)&&t.removeClass(x),i.bottom>n.height())&&t.eq(0).css("margin-top",-(i.bottom-n.height()+5))}).on("mouseleave",t,function(e){var i=c(this).children("."+C);i.removeClass(x),i.css("margin-top",0)}),h.close=function(e){e=g.getThis(e);return e?(e.remove(),g.call(e)):this},h.open=function(e){e=g.getThis(e);return e?(e.render(),g.call(e)):this},h.reload=function(e,i,t){e=g.getThis(e);return e?(e.reload(i,t),g.call(e)):this},h.reloadData=function(){var t=c.extend([],arguments),n=(t[2]="reloadData",new RegExp("^("+["data","templet","content"].join("|")+")$"));return layui.each(t[1],function(e,i){n.test(e)||delete t[1][e]}),h.reload.apply(null,t)},h.render=function(e){e=new T(e);return g.call(e)},e(r,h)});layui.define(["jquery","lay"],function(e){"use strict";var x=layui.$,b=layui.lay,m={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=x.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},i="slider",f="layui-disabled",T="layui-slider-bar",w="layui-slider-wrap",M="layui-slider-wrap-btn",L="layui-slider-tips",E="layui-slider-input-txt",Y="layui-slider-hover",t=function(e){var t=this;t.index=++m.index,t.config=x.extend({},t.config,m.config,e),t.render()};t.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,tipsAlways:!1,input:!1,range:!1,height:200,disabled:!1,theme:"#16baaa"},t.prototype.precision=function(){var e=this.config,e=x.map([e.min,e.max,e.step],function(e,t){e=String(e).split(".");return e[1]?e[1].length:0});return Math.max.apply(null,e)},t.prototype.render=function(){var n=this,a=n.config,e=x(a.elem);if(1a.max&&(a.value=a.max),l=(a.value-a.min)/(a.max-a.min)*100+"%");var t,e=a.disabled?"#c2c2c2":a.theme,i='
                '+(a.tips?'
                ":"")+'
                '+(a.range?'
                ':"")+"
                ",l=x(a.elem),s=l.next(".layui-slider");if(s[0]&&s.remove(),n.elemTemp=x(i),a.range?(n.elemTemp.find("."+w).eq(0).data("value",a.value[0]),n.elemTemp.find("."+w).eq(1).data("value",a.value[1])):n.elemTemp.find("."+w).data("value",a.value),l.html(n.elemTemp),"vertical"===a.type&&n.elemTemp.height(a.height+"px"),a.showstep){for(var o=(a.max-a.min)/a.step,r="",u=1;u<1+o;u++){var c=100*u/o;c<100&&(r+='
                ')}n.elemTemp.append(r)}function d(e){e=e.parent().data("value"),e=a.setTips?a.setTips(e):e;n.elemTemp.find("."+L).html(e)}function p(e){var t="vertical"===a.type?a.height:n.elemTemp[0].offsetWidth,i=n.elemTemp.find("."+w);return("vertical"===a.type?t-e.parent()[0].offsetTop-i.height():e.parent()[0].offsetLeft)/t*100}function v(e){"vertical"===a.type?n.elemTemp.find("."+L).css({bottom:e+"%","margin-bottom":"20px",display:"inline-block"}):n.elemTemp.find("."+L).css({left:e+"%",display:"inline-block"})}a.input&&!a.range&&(e=x('
                '),l.css("position","relative"),l.append(e),l.find("."+E).children("input").val(a.value),"vertical"===a.type?e.css({left:0,top:-48}):n.elemTemp.css("margin-right",e.outerWidth()+15)),a.disabled?(n.elemTemp.addClass(f),n.elemTemp.find("."+M).addClass(f)):n.slide(),a.tips&&(a.tipsAlways?(d(s=n.elemTemp.find("."+M)),v(p(s))):n.elemTemp.find("."+M).on("mouseover",function(){d(x(this));var e=p(x(this));clearTimeout(t),t=setTimeout(function(){v(e)},300)}).on("mouseout",function(){clearTimeout(t),a.tipsAlways||n.elemTemp.find("."+L).css("display","none")}))},t.prototype.slide=function(e,t,i){var u=this,c=u.config,d=u.elemTemp,p=function(){return"vertical"===c.type?c.height:d[0].offsetWidth},v=d.find("."+w),o=d.next(".layui-slider-input"),r=o.children("."+E).children("input").val(),m=100/((c.max-c.min)/c.step),f=u.precision(),h=function(e,t,i){e=(e=100<(e=100n[1]&&n.reverse(),u.value=c.range?n:l,c.change&&c.change(u.value),"done"===i&&c.done&&c.done(u.value)},y=function(e){var t=e/p()*100/m,i=Math.round(t)*m;return i=e==p()?Math.ceil(t)*m:i},g=x(['
                p()?p():t)/p()*100/m;h(t,o),r.addClass(Y),d.find("."+L).show(),e.preventDefault()},n=function(e){r.removeClass(Y),c.tipsAlways||setTimeout(function(){d.find("."+L).hide()},e)},a=function(){n&&n(b.touchEventsSupported()?1e3:0),g.remove(),c.done&&c.done(u.value),b.touchEventsSupported()&&(t[0].removeEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].removeEventListener("touchend",a),t[0].removeEventListener("touchcancel",a))},x("#LAY-slider-moving")[0]||x("body").append(g),g.on("mousemove",i),g.on("mouseup",a).on("mouseleave",a),b.touchEventsSupported()&&(t[0].addEventListener("touchmove",i,!!b.passiveSupported&&{passive:!1}),t[0].addEventListener("touchend",a),t[0].addEventListener("touchcancel",a))})}),d.on("click",function(e){var t=x("."+M),i=x(this);!t.is(event.target)&&0===t.has(event.target).length&&t.length&&(i=(t=(t=(t="vertical"===c.type?p()-e.clientY+i.offset().top-x(window).scrollTop():e.clientX-i.offset().left-x(window).scrollLeft())<0?0:t)>p()?p():t)/p()*100/m,t=c.range?"vertical"===c.type?Math.abs(t-parseInt(x(v[0]).css("bottom")))>Math.abs(t-parseInt(x(v[1]).css("bottom")))?1:0:Math.abs(t-v[0].offsetLeft)>Math.abs(t-v[1].offsetLeft)?1:0:0,h(i,t,"done"),e.preventDefault())}),o.children(".layui-slider-input-btn").children("i").each(function(t){x(this).on("click",function(){r=o.children("."+E).children("input").val();var e=((r=1==t?r-c.stepc.max?c.max:Number(r)+c.step)-c.min)/(c.max-c.min)*100/m;h(e,0,"done")})});var n=function(){var e=this.value,e=(e=(e=(e=isNaN(e)?0:e)c.max?c.max:e,((this.value=e)-c.min)/(c.max-c.min)*100/m);h(e,0,"done")};o.children("."+E).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),n.call(this))}).on("change",n)},t.prototype.events=function(){this.config},m.render=function(e){e=new t(e);return function(){var i=this,n=i.config;return{setValue:function(e,t){return e=(e=e>n.max?n.max:e)',"",'','',"","","
                "].join("")),t=i.elem=x(i.elem);i.size&&o.addClass("layui-colorpicker-"+i.size),t.addClass("layui-inline").html(e.elemColorBox=o),i.id="id"in i?i.id:t.attr("id")||e.index,e.color=e.elemColorBox.find("."+T)[0].style.background,e.events()},s.prototype.renderPicker=function(){var o,e=this,i=e.config,t=e.elemColorBox[0],n=e.elemPicker=x(['
                ','
                ','
                ','
                ','
                ','
                ',"
                ",'
                ','
                ',"
                ","
                ",'
                ','
                ','
                ',"
                ","
                ",i.predefine?(o=['
                '],layui.each(i.colors,function(e,i){o.push(['
                ','
                ',"
                "].join(""))}),o.push("
                "),o.join("")):"",'
                ','
                ','',"
                ",'
                ','','',"","
                "].join(""));e.elemColorBox.find("."+T)[0];x(c)[0]&&x(c).data("index")==e.index?e.removePicker(s.thisElemInd):(e.removePicker(s.thisElemInd),x("body").append(n)),r.thisId=i.id,s.thisElemInd=e.index,s.thisColor=t.style.background,e.position(),e.pickerEvents()},s.prototype.removePicker=function(e){var i=this.config,e=x("#layui-colorpicker"+(e||this.index));return e[0]&&(e.remove(),delete r.thisId,"function"==typeof i.close)&&i.close(this.color),this},s.prototype.position=function(){var e=this,i=e.config;return P.position(e.bindElem||e.elemColorBox[0],e.elemPicker[0],{position:i.position,align:"center"}),e},s.prototype.val=function(){var e,i=this,o=(i.config,i.elemColorBox.find("."+T)),t=i.elemPicker.find("."+X),n=o[0].style.backgroundColor;n?(e=j(L(n)),o=o.attr("lay-type"),i.select(e.h,e.s,e.b),"torgb"===o?t.find("input").val(n):"rgba"===o?(o=L(n),3===(n.match(/[0-9]{1,3}/g)||[]).length?(t.find("input").val("rgba("+o.r+", "+o.g+", "+o.b+", 1)"),i.elemPicker.find("."+Y).css("left",280)):(t.find("input").val(n),n=280*n.slice(n.lastIndexOf(",")+1,n.length-1),i.elemPicker.find("."+Y).css("left",n)),i.elemPicker.find("."+D)[0].style.background="linear-gradient(to right, rgba("+o.r+", "+o.g+", "+o.b+", 0), rgb("+o.r+", "+o.g+", "+o.b+"))"):t.find("input").val("#"+H(e))):(i.select(0,100,100),t.find("input").val(""),i.elemPicker.find("."+D)[0].style.background="",i.elemPicker.find("."+Y).css("left",280))},s.prototype.side=function(){var r=this,l=r.config,c=r.elemColorBox.find("."+T),a=c.attr("lay-type"),s=r.elemPicker.find(".layui-colorpicker-side"),o=r.elemPicker.find("."+I),d=r.elemPicker.find("."+E),t=r.elemPicker.find("."+M),u=r.elemPicker.find("."+D),f=r.elemPicker.find("."+Y),p=o[0].offsetTop/180*360,h=100-t[0].offsetTop/180*100,g=t[0].offsetLeft/260*100,v=Math.round(f[0].offsetLeft/280*100)/100,m=r.elemColorBox.find("."+B),e=r.elemPicker.find(".layui-colorpicker-pre").children("div"),y=function(e,i,o,t){r.select(e,i,o);var n=F({h:e,s:i,b:o}),e=H({h:e,s:i,b:o}),i=r.elemPicker.find("."+X).find("input");m.addClass(C).removeClass(w),c[0].style.background="rgb("+n.r+", "+n.g+", "+n.b+")","torgb"===a?i.val("rgb("+n.r+", "+n.g+", "+n.b+")"):"rgba"===a?(f.css("left",280*t),i.val("rgba("+n.r+", "+n.g+", "+n.b+", "+t+")"),c[0].style.background="rgba("+n.r+", "+n.g+", "+n.b+", "+t+")",u[0].style.background="linear-gradient(to right, rgba("+n.r+", "+n.g+", "+n.b+", 0), rgb("+n.r+", "+n.g+", "+n.b+"))"):i.val("#"+e),l.change&&l.change(x.trim(r.elemPicker.find("."+X).find("input").val()))},i=x(['
                '].join("")),b=function(e){x("#LAY-colorpicker-moving")[0]||x("body").append(i),i.on("mousemove",e),i.on("mouseup",function(){i.remove()}).on("mouseleave",function(){i.remove()})},n=!0,k=!0;o.on("mousedown",function(e,i){var t=this.offsetTop,n=(e.clientY===undefined?i:e).clientY;k&&layui.stope(e),b(function(e){var i=t+(e.clientY-n),o=s[0].offsetHeight,o=(i=o<(i=i<0?0:i)?o:i)/180*360;y(p=o,g,h,v),e.preventDefault()}),e.preventDefault()}),s.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),i=(i=(i=i<0?0:i)>this.offsetHeight?this.offsetHeight:i)/180*360;y(p=i,g,h,v),e.preventDefault(),n&&o.trigger("mousedown",e)}),t.on("mousedown",function(e,i){var r=this.offsetTop,l=this.offsetLeft,c=(e.clientY===undefined?i:e).clientY,a=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=r+(e.clientY-c),o=l+(e.clientX-a),t=d[0].offsetHeight,n=d[0].offsetWidth,n=(o=n<(o=o<0?0:o)?n:o)/260*100,o=100-(i=t<(i=i<0?0:i)?t:i)/180*100;y(p,g=n,h=o,v),e.preventDefault()}),e.preventDefault()}),d.on("mousedown",function(e){var i=e.clientY-x(this).offset().top+W.scrollTop(),o=e.clientX-x(this).offset().left+W.scrollLeft(),o=((i=i<0?0:i)>this.offsetHeight&&(i=this.offsetHeight),(o=(o=o<0?0:o)>this.offsetWidth?this.offsetWidth:o)/260*100),i=100-i/180*100;y(p,g=o,h=i,v),layui.stope(e),e.preventDefault(),n&&t.trigger("mousedown",e)}),f.on("mousedown",function(e,i){var t=this.offsetLeft,n=(e.clientX===undefined?i:e).clientX;k&&layui.stope(e),b(function(e){var i=t+(e.clientX-n),o=u[0].offsetWidth,o=(o<(i=i<0?0:i)&&(i=o),Math.round(i/280*100)/100);y(p,g,h,v=o),e.preventDefault()}),e.preventDefault()}),u.on("mousedown",function(e){var i=e.clientX-x(this).offset().left,i=((i=i<0?0:i)>this.offsetWidth&&(i=this.offsetWidth),Math.round(i/280*100)/100);y(p,g,h,v=i),e.preventDefault(),n&&f.trigger("mousedown",e)}),e.each(function(){x(this).on("click",function(){x(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e=this.style.backgroundColor,i=j(L(e)),o=e.slice(e.lastIndexOf(",")+1,e.length-1);p=i.h,g=i.s,h=i.b,3===(e.match(/[0-9]{1,3}/g)||[]).length&&(o=1),v=o,y(i.h,i.s,i.b,o)})}),P.touchEventsSupported()&&layui.each([{elem:s,eventType:"mousedown"},{elem:u,eventType:"mousedown"},{elem:d,eventType:"mousedown"}],function(e,t){P.touchSwipe(t.elem,{onTouchStart:function(){k=n=!1},onTouchMove:function(e){var i,o;e=e,i=t.eventType,e=e.touches[0],(o=document.createEvent("MouseEvent")).initMouseEvent(i,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(o)},onTouchEnd:function(){i.remove(),k=n=!0}})})},s.prototype.select=function(e,i,o,t){this.config;var n=H({h:e,s:100,b:100}),e=(H({h:e,s:i,b:o}),e/360*180),o=180-o/100*180,i=i/100*260,r=this.elemPicker.find("."+E)[0];this.elemPicker.find("."+I).css("top",e),r.style.background="#"+n,this.elemPicker.find("."+M).css({top:o/r.offsetHeight*100+"%",left:i/r.offsetWidth*100+"%"})},s.prototype.pickerEvents=function(){var c=this,a=c.config,s=c.elemColorBox.find("."+T),d=c.elemPicker.find("."+X+" input"),o={clear:function(e){s[0].style.background="",c.elemColorBox.find("."+B).removeClass(C).addClass(w),c.color="",a.done&&a.done(""),c.removePicker()},confirm:function(e,i){var o,t,n,r,l=x.trim(d.val());-1>16,g:(65280&n)>>8,b:255&n},t=j(r),s[0].style.background=o="#"+H(t),c.elemColorBox.find("."+B).removeClass(w).addClass(C)),"change"===i?(c.select(t.h,t.s,t.b,i),a.change&&a.change(o)):(c.color=l,a.done&&a.done(l),c.removePicker())}};c.elemPicker.on("click","*[colorpicker-events]",function(){var e=x(this),i=e.attr("colorpicker-events");o[i]&&o[i].call(this,e)}),d.on("keyup",function(e){var i=x(this);o.confirm.call(this,i,13===e.keyCode?null:"change")})},s.prototype.events=function(){var e=this;e.config;e.elemColorBox.on("click",function(){e.renderPicker(),x(c)[0]&&(e.val(),e.side())})},a.on(i,function(e){var i,o,t;r.thisId&&(i=n.getThis(r.thisId))&&(o=i.config,t=i.elemColorBox.find("."+T),x(e.target).hasClass(l)||x(e.target).parents("."+l)[0]||x(e.target).hasClass(c.replace(/\./g,""))||x(e.target).parents(c)[0]||i.elemPicker&&(i.color?(e=j(L(i.color)),i.select(e.h,e.s,e.b)):i.elemColorBox.find("."+B).removeClass(C).addClass(w),t[0].style.background=i.color||"","function"==typeof o.cancel&&o.cancel(i.color),i.removePicker()))}),W.on("resize",function(){if(r.thisId){var e=n.getThis(r.thisId);if(e)return!(!e.elemPicker||!x(c)[0])&&void e.position()}}),n.that={},n.getThis=function(e){var i=n.that[e];return i||o.error(e?t+" instance with ID '"+e+"' not found":"ID argument required"),i},r.render=function(e){e=new s(e);return n.call(e)},e(t,r)});layui.define("jquery",function(t){"use strict";var u=layui.$,d=(layui.hint(),layui.device()),r="element",y="layui-this",f="layui-show",c=".layui-tab-title",i=function(){this.config={}},h=(i.prototype.set=function(t){return u.extend(!0,this.config,t),this},i.prototype.on=function(t,i){return layui.onevent.call(this,r,t,i)},i.prototype.tabAdd=function(t,i){var a,e=u(".layui-tab[lay-filter="+t+"]"),l=e.children(c),n=l.children(".layui-tab-bar"),s=e.children(".layui-tab-content"),o=""+(i.title||"unnaming")+"";return n[0]?n.before(o):l.append(o),s.append('
                "+(i.content||"")+"
                "),i.change&&this.tabChange(t,i.id),l.data("LAY_TAB_CHANGE",i.change),w.tabAuto(i.change?"change":null,e),this},i.prototype.tabDelete=function(t,i,a){t=u(".layui-tab[lay-filter="+t+"]").children(c).find('>li[lay-id="'+i+'"]');return w.tabDelete.call(t[0],{liElem:t,force:a}),this},i.prototype.tabChange=function(t,i,a){t=u(".layui-tab[lay-filter="+t+"]").children(c).find('>li[lay-id="'+i+'"]');return w.tabClick.call(t[0],{liElem:t,force:a}),this},i.prototype.tab=function(a){a=a||{},e.on("click",a.headerElem,function(t){var i=u(a.headerElem).index(u(this));w.tabClick.call(this,{index:i,options:a})})},i.prototype.progress=function(t,i){var a="layui-progress",t=u("."+a+"[lay-filter="+t+"]").find("."+a+"-bar"),a=t.find("."+a+"-text");return t.css("width",function(){return/^.+\/.+$/.test(i)?100*new Function("return "+i)()+"%":i}).attr("lay-percent",i),a.text(i),this},".layui-nav"),p="layui-nav-item",b="layui-nav-bar",v="layui-nav-tree",m="layui-nav-child",g="layui-nav-more",C="layui-anim layui-anim-upbit",w={tabClick:function(t){var i=(t=t||{}).options||{},a=t.liElem||u(this),e=i.headerElem?a.parent():a.parents(".layui-tab").eq(0),i=i.bodyElem?u(i.bodyElem):e.children(".layui-tab-content").children(".layui-tab-item"),l=a.find("a"),l="javascript:;"!==l.attr("href")&&"_blank"===l.attr("target"),n="string"==typeof a.attr("lay-unselect"),s=e.attr("lay-filter"),o=a.attr("lay-id"),c="index"in t?t.index:a.parent().children("li").index(a);if(!t.force){var t=a.siblings("."+y);if(!1===layui.event.call(this,r,"tabBeforeChange("+s+")",{elem:e,from:{index:a.parent().children("li").index(t),id:t.attr("lay-id")},to:{index:c,id:o}}))return}l||n||(a.addClass(y).siblings().removeClass(y),(o?t=(t=i.filter('[lay-id="'+o+'"]')).length?t:i.eq(c):i.eq(c)).addClass(f).siblings().removeClass(f)),layui.event.call(this,r,"tab("+s+")",{elem:e,index:c,id:o})},tabDelete:function(t){var i=(t=t||{}).liElem||u(this).parent(),a=i.parent().children("li").index(i),e=i.closest(".layui-tab"),l=e.children(".layui-tab-content").children(".layui-tab-item"),n=e.attr("lay-filter"),s=i.attr("lay-id");if(!t.force&&!1===layui.event.call(i[0],r,"tabBeforeDelete("+n+")",{elem:e,index:a,id:s}))return;i.hasClass(y)&&(i.next()[0]&&i.next().is("li")?w.tabClick.call(i.next()[0],{index:a+1}):i.prev()[0]&&i.prev().is("li")&&w.tabClick.call(i.prev()[0],null,a-1)),i.remove(),(s?t=(t=l.filter('[lay-id="'+s+'"]')).length?t:l.eq(a):l.eq(a)).remove(),setTimeout(function(){w.tabAuto(null,e)},50),layui.event.call(this,r,"tabDelete("+n+")",{elem:e,index:a,id:s})},tabAuto:function(l,t){var n="layui-tab-more",s="layui-tab-bar",o="layui-tab-close",c=this;(t||u(".layui-tab")).each(function(){var t=u(this),a=t.children(".layui-tab-title"),i=(t.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),i=u(''),e=(c===window&&d.ie,t.attr("lay-allowclose"));e&&"false"!==e&&a.find("li").each(function(){var t,i=u(this);i.find("."+o)[0]||"false"===i.attr("lay-allowclose")||((t=u('')).on("click",function(t){w.tabDelete.call(this,{e:t})}),i.append(t))}),"string"!=typeof t.attr("lay-unauto")&&(a.prop("scrollWidth")>a.outerWidth()+1||a.find("li").length&&a.height()>(e=a.find("li").eq(0).height())+e/2?("change"===l&&a.data("LAY_TAB_CHANGE")&&a.addClass(n),a.find("."+s)[0]||(a.append(i),t.attr("overflow",""),i.on("click",function(t){var i=a.hasClass(n);a[i?"removeClass":"addClass"](n)}))):(a.find("."+s).remove(),t.removeAttr("overflow")))})},hideTabMore:function(t){var i=u(".layui-tab-title");!0!==t&&"tabmore"===u(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=u(this),i=t.closest(h),a=i.attr("lay-filter"),e=t.parent(),l=t.siblings("."+m),n="string"==typeof e.attr("lay-unselect");if("javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||n||l[0]||(i.find("."+y).removeClass(y),e.addClass(y)),i.hasClass(v)){var n=p+"ed",s=!e.hasClass(n),o=function(){u(this).css({display:""}),i.children("."+b).css({opacity:0})};if(l.is(":animated"))return;l.removeClass(C),l[0]&&(s?(l.slideDown(200,o),e.addClass(n)):(e.removeClass(n),l.show().slideUp(200,o)),"string"!=typeof i.attr("lay-accordion")&&"all"!==i.attr("lay-shrink")||((s=e.siblings("."+n)).removeClass(n),s.children("."+m).show().stop().slideUp(200,o)))}layui.event.call(this,r,"nav("+a+")",t)},collapse:function(){var t=u(this),i=t.find(".layui-colla-icon"),a=t.siblings(".layui-colla-content"),e=t.parents(".layui-collapse").eq(0),l=e.attr("lay-filter"),n="none"===a.css("display");"string"==typeof e.attr("lay-accordion")&&((e=e.children(".layui-colla-item").children("."+f)).siblings(".layui-colla-title").children(".layui-colla-icon").html(""),e.removeClass(f)),a[n?"addClass":"removeClass"](f),i.html(n?"":""),layui.event.call(this,r,"collapse("+l+")",{title:t,content:a,show:n})}},a=(i.prototype.render=i.prototype.init=function(t,i){var a="string"==typeof i&&i?'[lay-filter="'+i+'"]':"",e={tab:function(t){t=t||u(".layui-tab"+a);w.tabAuto.call({},null,t)},nav:function(t){var s={},o={},c={},r="layui-nav-title";(t||u(h+a)).each(function(t){var i=u(this),a=u(''),e=i.find("."+p),l=i.find("."+b);l[0]&&l.remove(),i.append(a),(i.hasClass(v)?e.find("dd,>."+r):e).off("mouseenter.lay_nav").on("mouseenter.lay_nav",function(){!function(t,i,a){var e,l=u(this),n=l.find("."+m);i.hasClass(v)?n[0]||(e=l.children("."+r),t.css({top:l.offset().top-i.offset().top,height:(e[0]?e:l).outerHeight(),opacity:1})):(n.addClass(C),n.hasClass("layui-nav-child-c")&&n.css({left:-(n.outerWidth()-l.width())/2}),n[0]?t.css({left:t.position().left+t.width()/2,width:0,opacity:0}):t.css({left:l.position().left+parseFloat(l.css("marginLeft")),top:l.position().top+l.height()-t.height()}),s[a]=setTimeout(function(){t.css({width:n[0]?0:l.width(),opacity:n[0]?0:1})},d.ie&&d.ie<10?0:200),clearTimeout(c[a]),"block"===n.css("display")&&clearTimeout(o[a]),o[a]=setTimeout(function(){n.addClass(f),l.find("."+g).addClass(g+"d")},300))}.call(this,a,i,t)}).off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){i.hasClass(v)?a.css({height:0,opacity:0}):(clearTimeout(o[t]),o[t]=setTimeout(function(){i.find("."+m).removeClass(f),i.find("."+g).removeClass(g+"d")},300))}),i.off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){clearTimeout(s[t]),c[t]=setTimeout(function(){i.hasClass(v)||a.css({width:0,left:a.position().left+a.width()/2,opacity:0})},200)}),e.find("a").each(function(){var t=u(this);t.parent();t.siblings("."+m)[0]&&!t.children("."+g)[0]&&t.append(''),t.off("click",w.clickThis).on("click",w.clickThis)})})},breadcrumb:function(t){(t||u(".layui-breadcrumb"+a)).each(function(){var t=u(this),i="lay-separator",a=t.attr(i)||"/",e=t.find("a");e.next("span["+i+"]")[0]||(e.each(function(t){t!==e.length-1&&u(this).after(""+a+"")}),t.css("visibility","visible"))})},progress:function(t){var e="layui-progress";(t||u("."+e+a)).each(function(){var t=u(this),i=t.find(".layui-progress-bar"),a=i.attr("lay-percent");i.css("width",function(){return/^.+\/.+$/.test(a)?100*new Function("return "+a)()+"%":a}),t.attr("lay-showpercent")&&setTimeout(function(){i.html(''+a+"")},350)})},collapse:function(t){(t||u(".layui-collapse"+a)).each(function(){u(this).find(".layui-colla-item").each(function(){var t=u(this),i=t.find(".layui-colla-title"),t="none"===t.find(".layui-colla-content").css("display");i.find(".layui-colla-icon").remove(),i.append(''+(t?"":"")+""),i.off("click",w.collapse).on("click",w.collapse)})})}};return t&&"object"==typeof i&&i instanceof u?e[t](i):e[t]?e[t]():layui.each(e,function(t,i){i()})},new i),e=u(document);u(function(){a.render()}),e.on("click",".layui-tab-title li",w.tabClick),u(window).on("resize",w.tabAuto),t(r,a)});layui.define(["lay","layer"],function(e){"use strict";var F=layui.$,a=layui.lay,t=layui.layer,R=layui.device(),i="upload",s="layui_"+i+"_index",w={config:{},index:layui[i]?layui[i].index+1e4:0,set:function(e){var t=this;return t.config=F.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,i,e,t)}},o=function(){var t=this,e=t.config.id;return{upload:function(e){t.upload.call(t,e)},reload:function(e){t.reload.call(t,e)},config:(o.that[e]=t).config}},r="layui-upload-file",l="layui-upload-form",E="layui-upload-iframe",L="layui-upload-choose",T="UPLOADING",D=function(e){var t=this;t.index=++w.index,t.config=F.extend({},t.config,w.config,e),t.render()};D.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",force:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1,text:{"cross-domain":"Cross-domain requests are not supported","data-format-error":"Please return JSON data format","check-error":"",error:"","limit-number":null,"limit-size":null}},D.prototype.reload=function(e){var t=this;t.config=F.extend({},t.config,e),t.render(!0)},D.prototype.render=function(e){var t=this,i=t.config,n=F(i.elem);return 1"].join("")),n=t.elem.next();(n.hasClass(r)||n.hasClass(l))&&n.remove(),R.ie&&R.ie<10&&t.elem.wrap('
                '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(i),R.ie&&R.ie<10&&e.initIE()},D.prototype.initIE=function(){var i,e=this.config,t=F(''),n=F(['
                ',"
                "].join(""));F("#"+E)[0]||F("body").append(t),e.elem.next().hasClass(l)||(this.elemFile.wrap(n),e.elem.next("."+l).append((i=[],layui.each(e.data,function(e,t){t="function"==typeof t?t():t,i.push('')}),i.join(""))))},D.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},D.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},D.prototype.preview=function(n){window.FileReader&&layui.each(this.chooseFiles,function(e,t){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){n&&n(e,t,this.result)}})},D.prototype.upload=function(e,t){var i,n,a,o,r,u=this,f=u.config,s=f.text||{},l=u.elemFile[0],c=function(){return e||u.files||u.chooseFiles||l.files},d=function(){var a=0,o=0,r=c(),l=function(){f.multiple&&a+o===u.fileLength&&"function"==typeof f.allDone&&f.allDone({total:u.fileLength,successful:a,failed:o})},i=function(i){var n=new FormData,t=function(e){i.unified?layui.each(r,function(e,t){delete t[T]}):delete e[T]};if(layui.each(f.data,function(e,t){t="function"==typeof t?i.unified?t():t(i.index,i.file):t,n.append(e,t)}),i.unified)layui.each(r,function(e,t){t[T]||(t[T]=!0,n.append(f.field,t))});else{if(i.file[T])return;n.append(f.field,i.file),i.file[T]=!0}var e={url:f.url,type:"post",data:n,dataType:f.dataType||"json",contentType:!1,processData:!1,headers:f.headers||{},success:function(e){f.unified?a+=u.fileLength:a++,m(i.index,e),l(i.index),t(i.file)},error:function(e){f.unified?o+=u.fileLength:o++,u.msg(s.error||["Upload failed, please try again.","status: "+(e.status||"")+" - "+(e.statusText||"error")].join("
                ")),g(i.index,e.responseText,e),l(i.index),t(i.file)}};"function"==typeof f.progress&&(e.xhr=function(){var e=F.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){var t;e.lengthComputable&&(t=Math.floor(e.loaded/e.total*100),f.progress(t,(f.item||f.elem)[0],e,i.index))}),e}),F.ajax(e)};f.unified?i({unified:!0,index:0}):layui.each(r,function(e,t){i({index:e,file:t})})},p=function(){var n=F("#"+E);u.elemFile.parent().submit(),clearInterval(D.timer),D.timer=setInterval(function(){var e,t=n.contents().find("body");try{e=t.text()}catch(i){u.msg(s["cross-domain"]),clearInterval(D.timer),g()}e&&(clearInterval(D.timer),t.html(""),m(0,e))},30)},h=function(e){if("json"===f.force&&"object"!=typeof e)try{return{status:"CONVERTED",data:JSON.parse(e)}}catch(t){return u.msg(s["data-format-error"]),{status:"FORMAT_ERROR",data:{}}}return{status:"DO_NOTHING",data:{}}},m=function(e,t){u.elemFile.next("."+L).remove(),l.value="";var i=h(t);switch(i.status){case"CONVERTED":t=i.data;break;case"FORMAT_ERROR":return}"function"==typeof f.done&&f.done(t,e||0,function(e){u.upload(e)})},g=function(e,t,i){f.auto&&(l.value="");var n=h(t);switch(n.status){case"CONVERTED":t=n.data;break;case"FORMAT_ERROR":return}"function"==typeof f.error&&f.error(e||0,function(e){u.upload(e)},t,i)},v=f.exts,y=(n=[],layui.each(e||u.chooseFiles,function(e,t){n.push(t.name)}),n),x={preview:function(e){u.preview(e)},upload:function(e,t){var i={};i[e]=t,u.upload(i)},pushFile:function(){return u.files=u.files||{},layui.each(u.chooseFiles,function(e,t){u.files[e]=t}),u.files},resetFile:function(e,t,i){t=new File([t],i);u.files=u.files||{},u.files[e]=t},getChooseFiles:function(){return u.chooseFiles}},b={file:"\u6587\u4ef6",images:"\u56fe\u7247",video:"\u89c6\u9891",audio:"\u97f3\u9891"}[f.accept]||"\u6587\u4ef6",y=0===y.length?l.value.match(/[^\/\\]+\..+/g)||[]:y;if(0!==y.length){switch(f.accept){case"file":layui.each(y,function(e,t){if(v&&!RegExp(".\\.("+v+")$","i").test(escape(t)))return i=!0});break;case"video":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(t)))return i=!0});break;case"audio":layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"mp3|wav|mid")+")$","i").test(escape(t)))return i=!0});break;default:layui.each(y,function(e,t){if(!RegExp(".\\.("+(v||"jpg|png|gif|bmp|jpeg|svg|webp")+")$","i").test(escape(t)))return i=!0})}if(i)return u.msg(s["check-error"]||"\u9009\u62e9\u7684"+b+"\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),l.value="";if("choose"!==t&&!f.auto||(f.choose&&f.choose(x),"choose"!==t)){if(u.fileLength=(a=0,b=c(),layui.each(b,function(){a++}),a),f.number&&u.fileLength>f.number)return u.msg("function"==typeof s["limit-number"]?s["limit-number"](f,u.fileLength):"\u540c\u65f6\u6700\u591a\u53ea\u80fd\u4e0a\u4f20: "+f.number+" \u4e2a\u6587\u4ef6
                \u60a8\u5f53\u524d\u5df2\u7ecf\u9009\u62e9\u4e86: "+u.fileLength+" \u4e2a\u6587\u4ef6");if(01024*f.size&&(t=1<=(t=f.size/1024)?t.toFixed(2)+"MB":f.size+"KB",l.value="",o=t)}),o)return u.msg("function"==typeof s["limit-size"]?s["limit-size"](f,o):"\u6587\u4ef6\u5927\u5c0f\u4e0d\u80fd\u8d85\u8fc7 "+o);r=function(){if(R.ie)return(9'+e+"")},l=function(i){var n=!0;return layui.each(a.files,function(e,t){if(!(n=!(t.name===i.name)))return!0}),n},u=function(e){var i=function(e){e.ext=e.name.substr(e.name.lastIndexOf(".")+1).toLowerCase(),e.sizes=w.util.parseSize(e.size)};return e instanceof FileList?layui.each(e,function(e,t){i(t)}):i(e),e},f=function(e){var i;return(e=e||[]).length?a.files?(i=[],layui.each(e,function(e,t){l(t)&&i.push(u(t))}),i):u(e):[]};n.elem.off("upload.start").on("upload.start",function(){var e=F(this);a.config.item=e,a.elemFile[0].click()}),R.ie&&R.ie<10||n.elem.off("upload.over").on("upload.over",function(){F(this).attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){F(this).removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(e,t){var i=F(this),t=f(t.originalEvent.dataTransfer.files);i.removeAttr("lay-over"),o(t),n.auto?a.upload():r(t)}),a.elemFile.on("change",function(){var e=f(this.files);0!==e.length&&(o(e),n.auto?a.upload():r(e))}),n.bindAction.off("upload.action").on("upload.action",function(){a.upload()}),n.elem.data(s)||(n.elem.on("click",function(){a.isFile()||F(this).trigger("upload.start")}),n.drag&&n.elem.on("dragover",function(e){e.preventDefault(),F(this).trigger("upload.over")}).on("dragleave",function(e){F(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),F(this).trigger("upload.drop",e)}),n.bindAction.on("click",function(){F(this).trigger("upload.action")}),n.elem.data(s,n.id))},w.util={parseSize:function(e,t){var i,n;return t=t||2,null!=e&&e?(i="string"==typeof e?parseFloat(e):e,n=Math.floor(Math.log(i)/Math.log(1024)),(e=(e=i/Math.pow(1024,n))%1==0?e:parseFloat(e.toFixed(t)))+["Bytes","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"][n]):"0"},promiseLikeResolve:function(e){var t=F.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()}},o.that={},o.getThis=function(e){var t=o.that[e];return t||hint.error(e?i+" instance with ID '"+e+"' not found":"ID argument required"),t},w.render=function(e){e=new D(e);return o.call(e)},e(i,w)});layui.define(["lay","layer","util"],function(e){"use strict";var _=layui.$,p=layui.layer,T=layui.util,l=layui.hint(),d=(layui.device(),lay.ie&&8===parseFloat(lay.ie)),A="form",h=".layui-form",E="layui-this",O="layui-hide",j="layui-disabled",y="layui-input-number-invalid",t=function(){this.config={verify:{required:function(e){if(!/[\S]+/.test(e)||e===undefined||null===e)return"\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"},phone:function(e){if(e&&!/^1\d{10}$/.test(e))return"\u624b\u673a\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"},email:function(e){if(e&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))return"\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"},url:function(e){if(e&&!/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/.test(e))return"\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"},number:function(e){if(e&&isNaN(e))return"\u53ea\u80fd\u586b\u5199\u6570\u5b57"},date:function(e){if(e&&!/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/.test(e))return"\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"},identity:function(e){if(e&&!/(^\d{15}$)|(^\d{17}(x|X|\d)$)/.test(e))return"\u8eab\u4efd\u8bc1\u53f7\u683c\u5f0f\u4e0d\u6b63\u786e"}},autocomplete:null}},i=(t.prototype.set=function(e){return _.extend(!0,this.config,e),this},t.prototype.verify=function(e){return _.extend(!0,this.config.verify,e),this},t.prototype.getFormElem=function(e){return _(h+(e?'[lay-filter="'+e+'"]':""))},t.prototype.on=function(e,t){return layui.onevent.call(this,A,e,t)},t.prototype.val=function(e,s){return this.getFormElem(e).each(function(e,t){var i,a,n,l,r=_(this);for(i in s)lay.hasOwn(s,i)&&(n=s[i],(l=r.find('[name="'+i+'"]'))[0])&&("checkbox"===(a=l[0].type)?l[0].checked=n:"radio"===a?l.each(function(){this.checked=this.value==n+""}):l.val(n))}),r.render(null,e),this.getValue(e)},t.prototype.getValue=function(e,t){t=t||this.getFormElem(e);var n={},l={},e=t.find("input,select,textarea");return layui.each(e,function(e,t){var i,a=_(this);t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name&&(/^.*\[\]$/.test(t.name)&&(i=t.name.match(/^(.*)\[\]$/g)[0],n[i]=0|n[i],i=t.name.replace(/^(.*)\[\]$/,"$1["+n[i]+++"]")),/^(checkbox|radio)$/.test(t.type)&&!t.checked||(l[i||t.name]="SELECT"===this.tagName&&"string"==typeof this.getAttribute("multiple")?a.val()||[]:this.value))}),l},t.prototype.render=function(e,t){var u=this,i=u.config,a=_(h+(t?'[lay-filter="'+t+'"]':"")),n={input:function(e){var e=e||a.find("input,textarea"),p=(i.autocomplete&&e.attr("autocomplete",i.autocomplete),function(e,t){var i=e.val(),a=Number(i),n=Number(e.attr("step"))||1,l=Number(e.attr("min")),r=Number(e.attr("max")),s=Number(e.attr("lay-precision")),o="click"!==t&&""===i,c="init"===t,u=isNaN(a),d="string"==typeof e.attr("lay-step-strictly");if(e.toggleClass(y,u),!u){if("click"===t){if("text"===e[0].type&&"string"==typeof e.attr("readonly"))return;a=!!_(this).index()?a-n:a+n}u=function(e){return((e.toString().match(/\.(\d+$)/)||[])[1]||"").length},s=0<=s?s:Math.max(u(n),u(i));o||(c||r<=(a=(a=d?Math.round(a/n)*n:a)<=l?l:a)&&(a=r),0===s?a=parseInt(a):0'),e=layui.isArray(i.value)?i.value:[i.value],e=_((a=[],layui.each(e,function(e,t){a.push('')}),a.join(""))),n=(t.append(e),i.split&&t.addClass("layui-input-split"),i.className&&t.addClass(i.className),r.next("."+u)),l=(n[0]&&n.remove(),r.parent().hasClass(o)||r.wrap('
                '),r.next("."+c));l[0]?((n=l.find("."+u))[0]&&n.remove(),l.prepend(t),r.css("padding-right",function(){return(r.closest(".layui-input-group")[0]?0:l.outerWidth())+t.outerWidth()})):(t.addClass(c),r.after(t)),"auto"===i.show&&d(t,r.val()),"function"==typeof i.init&&i.init.call(this,r,i),r.on("input propertychange",function(){var e=this.value;"auto"===i.show&&d(t,e)}),r.on("blur",function(){"function"==typeof i.blur&&i.blur.call(this,r,i)}),e.on("click",function(){var e=r.attr("lay-filter");_(this).hasClass(j)||("function"==typeof i.click&&i.click.call(this,r,i),layui.event.call(this,A,"input-affix("+e+")",{elem:r[0],affix:s,options:i}))})},h={eye:{value:"eye-invisible",click:function(e,t){var i="LAY_FORM_INPUT_AFFIX_SHOW",a=e.data(i);e.attr("type",a?"password":"text").data(i,!a),n({value:a?"eye-invisible":"eye"})}},clear:{value:"clear",click:function(e){e.val("").focus(),d(_(this).parent(),null)},show:"auto",disabled:e},number:{value:["up","down"],split:!0,className:"layui-input-number",disabled:r.is("[disabled]"),init:function(a){var e,n,l,t,i,r;"text"!==a.attr("type")&&"text"!==a[0].type||(l=n=!(e=".lay_input_number"),t="string"==typeof a.attr("readonly"),i="string"==typeof a.attr("lay-wheel"),r=a.next(".layui-input-number").children("i"),a.attr("lay-input-mirror",a.val()),a.off(e),a.on("keydown"+e,function(e){n=!1,8!==e.keyCode&&46!==e.keyCode||(n=!0),t||2!==r.length||38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),r.eq(38===e.keyCode?0:1).click())}),a.on("input"+e+" propertychange"+e,function(e){var t,i;l||"propertychange"===e.type&&"value"!==e.originalEvent.propertyName||(n||""===(e=this.value)||"00"!==e.slice(0,2)&&!e.match(/\s/g)&&!((t=e.match(/\./g))&&1=Math.abs(e.deltaY)?e.deltaX:e.deltaY):"mousewheel"===e.type?t=-e.originalEvent.wheelDelta:"DOMMouseScroll"===e.type&&(t=e.originalEvent.detail),r.eq(0S.height()&&t<=e&&n.addClass(x+"up"),p(),o&&g.off("mousedown.lay_select_ieph").on("mousedown.lay_select_ieph",function(){m[0].__ieph=!0,setTimeout(function(){m[0].__ieph=!1},60)}),l=lay.onClickOutside((a?n:g)[0],function(){h(),C&&m.val(C)},{ignore:v,detectIframe:!0,capture:!1})},h=function(e){v.parent().removeClass(x+"ed "+x+"up"),m.blur(),u&&g.children("."+N).remove(),"function"==typeof l&&(l(),l=null),a&&(n.detach(),_(window).off("resize.lay_select_resize")),e||y(m.val(),function(e){var t=f[0].selectedIndex;e&&(C=_(f[0].options[t]).html(),0===t&&C===m.attr("placeholder")&&(C=""),m.val(C||""))})},p=function(){var e,t,i=g.children("dd."+E);i[0]&&(e=i.position().top,t=g.height(),i=i.height(),t").addClass(N).attr("lay-value",n).html(T.escape(n)),a=(i=g.children().eq(0)).hasClass("layui-select-tips"),i[a?"after":"before"](t)):e?g.find("."+w)[0]||g.append('

                \u65e0\u5339\u914d\u9879

                '):g.find("."+w).remove()},"keyup"),""===n&&(f.val(""),g.find("."+E).removeClass(E),(f[0].options[0]||{}).value||g.children("dd:eq(0)").addClass(E),g.find("."+w).remove(),u)&&g.children("."+N).remove(),void p()))},50)).on("blur",function(e){var t=f[0].selectedIndex;C=_(f[0].options[t]).text(),0===t&&C===m.attr("placeholder")&&(C=""),setTimeout(function(){y(m.val(),function(e){C||m.val("")},"blur")},200)}),g.on("click","dd",function(){var e,t=_(this),i=t.attr("lay-value"),a=f.attr("lay-filter");return t.hasClass(j)||(t.hasClass("layui-select-tips")?m.val(""):(m.val(t.text()),t.addClass(E)),u&&t.hasClass(N)&&(g.append(t.removeClass(N)),e=_("
                "].join(""));i.after(l),function(t,i){var a=_(this),e=a.attr("lay-skin")||"primary",n="switch"===e,e="primary"===e;t.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].indeterminate&&(a[0].indeterminate=!1),a[0].checked=!a[0].checked,layui.event.call(a[0],A,i[2]+"("+e+")",{elem:a[0],value:a[0].value,othis:t}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e;n&&(e=(t.next("*[lay-checkbox]")[0]?t.next().html():a.attr("title")||"").split("|"),t.children("div").html(!this.checked&&e[1]||e[0])),t.toggleClass(i[1],this.checked)}),e&&u.syncAppearanceOnPropChanged(this,"indeterminate",function(){this.indeterminate?t.children(".layui-icon-ok").removeClass("layui-icon-ok").addClass(c.SUBTRA):t.children("."+c.SUBTRA).removeClass(c.SUBTRA).addClass("layui-icon-ok")})}.call(this,l,r)})},radio:function(e){var o="layui-form-radio",c=["layui-icon-radio","layui-icon-circle"],e=e||a.find("input[type=radio]");e.each(function(e,t){var i=_(this),a=i.next("."+o),n=this.disabled,l=i.attr("lay-skin");if(i.closest("[lay-ignore]").length)return i.show();d&&f.call(t,"lay-form-sync-checked",t.checked),a[0]&&a.remove();var a=T.escape(t.title||""),r=[],s=(i.next("[lay-radio]")[0]&&(a=(s=i.next()).html()||"",1",'',"
                "+a+"
                ","
                "].join("")));i.after(s),function(i){var a=_(this),n="layui-anim-scaleSpring";i.on("click",function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].checked=!0,layui.event.call(a[0],A,"radio("+e+")",{elem:a[0],value:a[0].value,othis:i}))}),u.syncAppearanceOnPropChanged(this,"checked",function(){var e,t=this;t.checked?(i.addClass(o+"ed"),i.children(".layui-icon").addClass(n+" "+c[0]),e=a.parents(h).find("input[name="+t.name.replace(/(\.|#|\[|\])/g,"\\$1")+"]"),layui.each(e,function(){t!==this&&(this.checked=!1)})):(i.removeClass(o+"ed"),i.children(".layui-icon").removeClass(n+" "+c[0]).addClass(c[1]))})}.call(this,s)})}},t=function(){layui.each(n,function(e,t){t()})};return"object"===layui.type(e)?_(e).is(h)?(a=_(e),t()):e.each(function(e,t){var i=_(t);i.closest(h).length&&("SELECT"===t.tagName?n.select(i):"INPUT"===t.tagName&&("checkbox"===(t=t.type)||"radio"===t?n[t](i):n.input(i)))}):e?n[e]?n[e]():l.error('\u4e0d\u652f\u6301\u7684 "'+e+'" \u8868\u5355\u6e32\u67d3'):t(),u},t.prototype.syncAppearanceOnPropChanged=d?function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,lay.extend({},a,{get:function(){return"string"==typeof this.getAttribute("lay-form-sync-"+t)},set:function(e){f.call(this,"lay-form-sync-"+t,e),i.call(this)}}))}:function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,lay.extend({},a,{get:function(){return a.get.call(this)},set:function(e){a.set.call(this,e),i.call(this)}}))},t.prototype.validate=function(e){var u,d=this.config.verify,h="layui-form-danger";return!(e=_(e))[0]||(e.attr("lay-verify")!==undefined||!1!==this.validate(e.find("*[lay-verify]")))&&(layui.each(e,function(e,r){var s=_(this),t=(s.attr("lay-verify")||"").split("|"),o=s.attr("lay-vertype"),c="string"==typeof(c=s.val())?_.trim(c):c;if(s.removeClass(h),layui.each(t,function(e,t){var i="",a=d[t];if(a){var n="function"==typeof a?i=a(c,r):!a[0].test(c),l="select"===r.tagName.toLowerCase()||/^(checkbox|radio)$/.test(r.type),i=i||a[1];if("required"===t&&(i=s.attr("lay-reqtext")||i),n)return"tips"===o?p.tips(i,!s.closest("[lay-ignore]").length&&l?s.next():s,{tips:1}):"alert"===o?p.alert(i,{title:"\u63d0\u793a",shadeClose:!0}):/\b(string|number)\b/.test(typeof i)&&p.msg(i,{icon:5,shift:6}),setTimeout(function(){(l?s.next().find("input"):r).focus()},7),s.addClass(h),u=!0}}),u)return u}),!u)},t.prototype.submit=function(e,t){var i={},a=_(this),e="string"==typeof e?e:a.attr("lay-filter"),n=this.getFormElem?this.getFormElem(e):a.parents(h).eq(0),l=n.find("*[lay-verify]");return!!r.validate(l)&&(i=r.getValue(null,n),l={elem:this.getFormElem?window.event&&window.event.target:this,form:(this.getFormElem?n:a.parents("form"))[0],field:i},"function"==typeof t&&t(l),layui.event.call(this,A,"submit("+e+")",l))});function f(e,t){var i=!!t,t=2===arguments.length&&!t;return null!==this.getAttribute(e)?i||(this.removeAttribute(e),!1):!t&&(this.setAttribute(e,""),!0)}var v=["-",".","e","E","+"];var r=new t,t=_(document),S=_(window);_(function(){r.render()}),t.on("reset",h,function(){var e=_(this).attr("lay-filter");setTimeout(function(){r.render(null,e)},50)}),t.on("submit",h,i).on("click","*[lay-submit]",i),e(A,r)});layui.define(["lay","laytpl","laypage","form","util"],function(s){"use strict";var f=layui.$,r=layui.lay,m=layui.laytpl,p=layui.laypage,g=layui.layer,i=layui.form,v=layui.util,b=layui.hint(),x=layui.device(),k={config:{checkName:"LAY_CHECKED",indexName:"LAY_INDEX",initIndexName:"LAY_INDEX_INIT",numbersName:"LAY_NUM",disabledName:"LAY_DISABLED"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){return this.config=f.extend({},this.config,e),this},on:function(e,t){return layui.onevent.call(this,R,e,t)}},w=function(){var a=this,e=a.config,i=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){k.reloadData(i,e,t)},setColsWidth:function(){a.setColsWidth.call(a)},resize:function(){a.resize.call(a)}}},C=function(e){var t=w.that[e];return t||b.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},l=function(e){var t=w.config[e];return t||b.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},T=function(e){var t=this.config||{},a=(e=e||{}).item3,i=e.content;"numbers"===a.type&&(i=e.tplData[k.config.numbersName]);("escape"in a?a:t).escape&&(i=v.escape(i));t=e.text&&a.exportTemplet||a.templet||a.toolbar;return t&&(i="function"==typeof t?t.call(a,e.tplData,e.obj):m(function(e){try{return r(e).html()}catch(t){return e}}(t)||String(i)).render(f.extend({LAY_COL:a},e.tplData))),e.text?f("
                "+i+"
                ").text():i},R="table",N="lay-"+R+"-id",t=".layui-table",W="layui-hide",y="layui-hide-v",h="layui-none",_="layui-table-view",o=".layui-table-header",D=".layui-table-body",I=".layui-table-fixed-r",P=".layui-table-pageview",L=".layui-table-sort",A="layui-table-checked",E="layui-table-edit",M="layui-table-hover",u="laytable-cell-group",F="layui-table-col-special",S="layui-table-tool-panel",H="layui-table-expanded",O="layui-table-disabled-transition",j="LAY_TABLE_MOVE_DICT",e=function(e){return['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',(e=e||{}).fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':"","{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
                ','
                ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{-item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
                ","
                "].join("")},a=['',"","
                "].join(""),B=[,"{{# if(d.data.toolbar){ }}",'
                ','
                ','
                ',"
                ","{{# } }}",'
                ',"{{# if(d.data.loading){ }}",'
                ','
                ','{{# if(typeof d.data.loading === "string"){ }}',"{{- d.data.loading}}","{{# } else{ }}",'',"{{# } }}","
                ","
                ","{{# } }}","{{# var left, right; }}",'
                ',e(),"
                ",'
                ',a,"
                ","{{# if(left){ }}",'
                ','
                ',e({fixed:!0}),"
                ",'
                ',a,"
                ","
                ","{{# }; }}","{{# if(right){ }}",'
                ','
                ',e({fixed:"right"}),'
                ',"
                ",'
                ',a,"
                ","
                ","{{# }; }}","
                ","{{# if(d.data.totalRow){ }}",'
                ','','',"
                ","
                ","{{# } }}",'
                ','
                ',"
                "].join(""),d=f(window),z=f(document),n=function(e){this.index=++k.index,this.config=f.extend({},this.config,k.config,e),this.render()},c=(n.prototype.config={limit:10,loading:!0,escape:!0,cellMinWidth:60,cellMaxWidth:Number.MAX_VALUE,editTrigger:"click",defaultToolbar:["filter","exports","print"],defaultContextmenu:!0,autoSort:!0,text:{none:"\u65e0\u6570\u636e"},cols:[]},n.prototype.render=function(e){var t=this,a=t.config,i=(a.elem=f(a.elem),a.where=a.where||{},a.id="id"in a?a.id:a.elem.attr("id")||t.index);if(w.that[i]=t,(w.config[i]=a).request=f.extend({pageName:"page",limitName:"limit"},a.request),a.response=f.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),null!==a.page&&"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,t.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return t;if(a.elem.attr("lay-filter")||a.elem.attr("lay-filter",a.id),"reloadData"===e)return t.pullData(t.page,{type:"reloadData"});a.index=t.index,t.key=a.id||a.index,t.setInit(),a.height&&/^full-.+$/.test(a.height)?(t.fullHeightGap=a.height.split("-")[1],a.height=d.height()-(parseFloat(t.fullHeightGap)||0)):a.height&&/^#\w+\S*-.+$/.test(a.height)?(i=a.height.split("-"),t.parentHeightGap=i.pop(),t.parentDiv=i.join("-"),a.height=f(t.parentDiv).height()-(parseFloat(t.parentHeightGap)||0)):"function"==typeof a.height&&(t.customHeightFunc=a.height,a.height=t.customHeightFunc());var l,e=a.elem,i=e.next("."+_),n=t.elem=f("
                ");n.addClass((l=[_,_+"-"+t.index,"layui-form","layui-border-box"],a.className&&l.push(a.className),l.join(" "))).attr(((l={"lay-filter":"LAY-TABLE-FORM-DF-"+t.index,style:(l=[],a.width&&l.push("width:"+a.width+"px;"),l.join(""))})[N]=a.id,l)).html(m(B,{open:"{{",close:"}}",tagStyle:"legacy"}).render({data:a,index:t.index})),t.renderStyle(),i[0]&&i.remove(),e.after(n),t.layTool=n.find(".layui-table-tool"),t.layBox=n.find(".layui-table-box"),t.layHeader=n.find(o),t.layMain=n.find(".layui-table-main"),t.layBody=n.find(D),t.layFixed=n.find(".layui-table-fixed"),t.layFixLeft=n.find(".layui-table-fixed-l"),t.layFixRight=n.find(I),t.layTotal=n.find(".layui-table-total"),t.layPage=n.find(".layui-table-page"),t.renderToolbar(),t.renderPagebar(),t.fullSize(),t.setColsWidth({isInit:!0}),t.pullData(t.page),t.events()},n.prototype.initOpts=function(e){this.config;e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||{checkbox:50,radio:50,space:30,numbers:60}[e.type])},n.prototype.setInit=function(e){var n,a,d=this,r=d.config;if(r.clientWidth=r.width||(n=function(e){var t,a;e=e||r.elem.parent(),t=d.getContentWidth(e);try{a="none"===e.css("display")}catch(l){}var i=e.parent();return e[0]&&i&&i[0]&&(!t||a)?n(i):t})(),"width"===e)return r.clientWidth;r.height=r.maxHeight||r.height,r.css&&-1===r.css.indexOf(_)&&(a=r.css.split("}"),layui.each(a,function(e,t){t&&(a[e]="."+_+"-"+d.index+" "+t)}),r.css=a.join("}"));var c=function(a,e,i,l){var n,o;l?(l.key=[r.index,a,i].join("-"),l.colspan=l.colspan||0,l.rowspan=l.rowspan||0,d.initOpts(l),(n=a+(parseInt(l.rowspan)||1)) td:hover > .layui-table-cell{overflow: auto;}"].concat(x.ie?[".layui-table-edit{height: "+i+";}","td[data-edit]:hover:after{height: "+i+";}"]:[]),function(e,t){t&&o.push(a+" "+t)})),l.css&&o.push(l.css),r.style({target:this.elem[0],text:o.join(""),id:"DF-table-"+n})},n.prototype.renderToolbar=function(){var l,o=this,e=o.config,d=e.elem.attr("lay-filter"),t=['
                ','
                ','
                '].join(""),a=o.layTool.find(".layui-table-tool-temp"),n=("default"===e.toolbar?a.html(t):"string"==typeof e.toolbar&&(t=f(e.toolbar).html()||"")&&a.html(m(t).render(e)),{filter:{title:"\u7b5b\u9009\u5217",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols",onClick:function(e){var a,n=e.config;(0,e.openPanel)({list:(a=[],o.eachCols(function(e,t){t.field&&"normal"==t.type&&a.push('
              • "+(t.fieldTitle||t.title||t.field)+"").text())+'" lay-filter="LAY_TABLE_TOOL_COLS">
              • ')}),a.join("")),done:function(){i.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var e=f(e.elem),t=this.checked,a=e.data("key"),i=o.col(a),l=i.hide,e=e.data("parentkey");i.key&&(i.hide=!t,o.elem.find('*[data-key="'+a+'"]')[t?"removeClass":"addClass"](W),l!=i.hide&&o.setParentCol(!t,e),o.resize(),layui.event.call(this,R,"colToggled("+d+")",{col:i,config:n}))})}})}},exports:{title:"\u5bfc\u51fa",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export",onClick:function(e){var t=e.data,a=e.config,i=e.openPanel,e=e.elem;if(!t.length)return g.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});x.ie?g.tips("\u5bfc\u51fa\u529f\u80fd\u4e0d\u652f\u6301 IE\uff0c\u8bf7\u7528 Chrome \u7b49\u9ad8\u7ea7\u6d4f\u89c8\u5668\u5bfc\u51fa",e,{tips:3}):i({list:['
              • \u5bfc\u51fa CSV \u6587\u4ef6
              • '].join(""),done:function(e,t){t.on("click",function(){var e=f(this).data("type");k.exportFile.call(o,a.id,null,e)})}})}},print:{title:"\u6253\u5370",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print",onClick:function(e){var t=e.data,e=(e.config,e.elem);if(!t.length)return g.tips("\u5f53\u524d\u8868\u683c\u65e0\u6570\u636e",e,{tips:3});var t=window.open("about:blank","_blank"),e=[""].join(""),a=f(o.layHeader.html());a.append(o.layMain.find("table").html()),a.append(o.layTotal.find("table").html()),a.find("th.layui-table-patch").remove(),a.find("thead>tr>th."+F).filter(function(e,t){return!f(t).children("."+u).length}).remove(),a.find("tbody>tr>td."+F).remove(),t.document.write(e+a.prop("outerHTML")),t.document.close(),layui.device("edg").edg?(t.onafterprint=t.close,t.print()):(t.print(),t.close())}}});"object"==typeof e.defaultToolbar&&(l=[],e.defaultToolbar=f.map(e.defaultToolbar,function(e,t){var a="string"==typeof e,i=a?n[e]:e;return i&&(!(i=i.name&&n[i.name]?f.extend({},n[i.name],i):i).name&&a&&(i.name=e),l.push('
                ')),i}),o.layTool.find(".layui-table-tool-self").html(l.join("")))},n.prototype.renderPagebar=function(){var e,t=this.config,a=this.layPagebar=f('
                ');t.pagebar&&((e=f(t.pagebar).html()||"")&&a.append(m(e).render(t)),this.layPage.append(a))},n.prototype.setParentCol=function(e,t){var a=this.config,i=this.layHeader.find('th[data-key="'+t+'"]'),l=parseInt(i.attr("colspan"))||0;i[0]&&(t=t.split("-"),t=a.cols[t[1]][t[2]],e?l--:l++,i.attr("colspan",l),i[l?"removeClass":"addClass"](W),t.colspan2=l,t.hide=l<1,a=i.data("parentkey"))&&this.setParentCol(e,a)},n.prototype.setColsPatch=function(){var a=this,e=a.config;layui.each(e.cols,function(e,t){layui.each(t,function(e,t){t.hide&&a.setParentCol(t.hide,t.parentKey)})})},n.prototype.setGroupWidth=function(i){var e,l=this;l.config.cols.length<=1||((e=l.layHeader.find((i?"th[data-key="+i.data("parentkey")+"]>":"")+"."+u)).css("width",0),layui.each(e.get().reverse(),function(){var e=f(this),t=e.parent().data("key"),a=0;l.layHeader.eq(0).find("th[data-parentkey="+t+"]").width(function(e,t){f(this).hasClass(W)||0o.layMain.prop("clientHeight")&&(e.style.width=parseFloat(e.style.width)-i+"px")}),!p&&h?y.width(o.getContentWidth(l)):y.width("auto"),o.setGroupWidth()},n.prototype.resize=function(){var e=this;e.layMain&&("isConnected"in e.layMain[0]?e.layMain[0].isConnected:f.contains(document.body,e.layMain[0]))&&(e.fullSize(),e.setColsWidth(),e.scrollPatch())},n.prototype.reload=function(e,t,a){var i=this;e=e||{},delete i.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete i.config[e]}),i.config=f.extend(t,{},i.config,e),"reloadData"!==a&&(layui.each(i.config.cols,function(e,t){layui.each(t,function(e,t){delete t.colspan2})}),delete i.config.HAS_SET_COLS_PATCH),i.render(a)},n.prototype.errorView=function(e){var t=this,a=t.layMain.find("."+h),e=f('
                '+(e||"Error")+"
                ");a[0]&&(t.layNone.remove(),a.remove()),t.layFixed.addClass(W),t.layMain.find("tbody").html(""),t.layMain.append(t.layNone=e),t.layTotal.addClass(y),t.layPage.find(P).addClass(y),k.cache[t.key]=[],t.syncCheckAll(),t.renderForm(),t.setColsWidth(),t.loading(!1)},n.prototype.page=1,n.prototype.pullData=function(i,l){var e,t,n=this,o=n.config,a=(o.HAS_SET_COLS_PATCH||n.setColsPatch(),o.HAS_SET_COLS_PATCH=!0,o.request),d=o.response,r=function(){"object"==typeof o.initSort&&n.sort({field:o.initSort.field,type:o.initSort.type,reloadType:l.type})},c=function(e,t){n.setColsWidth(),n.loading(!1),"function"==typeof o.done&&o.done(e,i,e[d.countName],t)};l=l||{},"function"==typeof o.before&&o.before(o),n.startTime=(new Date).getTime(),l.renderData?((e={})[d.dataName]=k.cache[n.key],e[d.countName]=o.url?"object"===layui.type(o.page)?o.page.count:e[d.dataName].length:o.data.length,"object"==typeof o.totalRow&&(e[d.totalRowName]=f.extend({},n.totalRow)),n.renderData({res:e,curr:i,count:e[d.countName],type:l.type,sort:!0}),c(e,"renderData")):o.url?(t={},o.page&&(t[a.pageName]=i,t[a.limitName]=o.limit),a=f.extend(t,o.where),o.contentType&&0==o.contentType.indexOf("application/json")&&(a=JSON.stringify(a)),n.loading(!0),n._xhr&&4!==n._xhr.readyState&&(n._xhrAbort=!0,n._xhr.abort()),n._xhr=f.ajax({type:o.method||"get",url:o.url,contentType:o.contentType,data:a,dataType:o.dataType||"json",jsonpCallback:o.jsonpCallback,headers:o.headers||{},complete:"function"==typeof o.complete?o.complete:undefined,success:function(e){var t,a;(e="function"==typeof o.parseData?o.parseData(e)||e:e)[d.statusName]!=d.statusCode?n.errorView(e[d.msgName]||'\u8fd4\u56de\u7684\u6570\u636e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u6b63\u786e\u7684\u6210\u529f\u72b6\u6001\u7801\u5e94\u4e3a\uff1a"'+d.statusName+'": '+d.statusCode):(t=e[d.countName],(a=Math.ceil(t/o.limit)||1)','
                "+function(){var e,t=f.extend(!0,{LAY_COL:l},o),a=k.config.checkName,i=k.config.disabledName;switch(l.type){case"checkbox":return'';case"radio":return'';case"numbers":return c}return l.toolbar?m(f(l.toolbar).html()||"").render(t):T.call(s,{item3:l,content:n,tplData:t})}(),"
                "].join(""),i.push(e),l.fixed&&"right"!==l.fixed&&d.push(e),"right"===l.fixed&&r.push(e))}),e=['data-index="'+e+'"'],o[k.config.checkName]&&e.push('class="'+A+'"'),e=e.join(" "),y.push(""+i.join("")+""),h.push(""+d.join("")+""),p.push(""+r.join("")+""))}),{trs:y,trs_fixed:h,trs_fixed_r:p}},k.getTrHtml=function(e,t){e=C(e);return e.getTrHtml(t,null,e.page)},n.prototype.renderData=function(e){var a=this,i=a.config,t=e.res,l=e.curr,n=a.count=e.count,o=e.sort,d=t[i.response.dataName]||[],t=t[i.response.totalRowName],r=[],c=[],s=[],u=function(){if(!o&&a.sortKey)return a.sort({field:a.sortKey.field,type:a.sortKey.sort,pull:!0,reloadType:e.type});a.getTrHtml(d,o,l,{trs:r,trs_fixed:c,trs_fixed_r:s}),"fixed"===i.scrollPos&&"reloadData"===e.type||a.layBody.scrollTop(0),"reset"===i.scrollPos&&a.layBody.scrollLeft(0),a.layMain.find("."+h).remove(),a.layMain.find("tbody").html(r.join("")),a.layFixLeft.find("tbody").html(c.join("")),a.layFixRight.find("tbody").html(s.join("")),a.syncCheckAll(),a.renderForm(),a.fullSize(),a.haveInit?a.scrollPatch():setTimeout(function(){a.scrollPatch()},50),a.haveInit=!0,g.close(a.tipsIndex)};return k.cache[a.key]=d,a.layTotal[0==d.length?"addClass":"removeClass"](y),a.layPage[i.page||i.pagebar?"removeClass":"addClass"](W),a.layPage.find(P)[!i.page||0==n||0===d.length&&1==l?"addClass":"removeClass"](y),0===d.length?a.errorView(i.text.none):(a.layFixLeft.removeClass(W),o?u():(u(),a.renderTotal(d,t),a.layTotal&&a.layTotal.removeClass(W),void(i.page&&(i.page=f.extend({elem:"layui-table-page"+i.index,count:n,limit:i.limit,limits:i.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(a.page=e.curr,i.limit=e.limit,a.pullData(e.curr))}},i.page),i.page.count=n,p.render(i.page)))))},k.renderData=function(e){e=C(e);e&&e.pullData(e.page,{renderData:!0,type:"reloadData"})},n.prototype.renderTotal=function(e,o){var d,r=this,c=r.config,s={};c.totalRow&&(layui.each(e,function(e,i){"array"===layui.type(i)&&0===i.length||r.eachCols(function(e,t){var e=t.field||e,a=i[e];t.totalRow&&(s[e]=(s[e]||0)+(parseFloat(a)||0))})}),r.dataTotal=[],d=[],r.eachCols(function(e,t){var e=t.field||e,a=o&&o[t.field],i="totalRowDecimals"in t?t.totalRowDecimals:2,i=s[e]?parseFloat(s[e]||0).toFixed(i):"",i=(n=t.totalRowText||"",(l={LAY_COL:t})[e]=i,l=t.totalRow&&T.call(r,{item3:t,content:i,tplData:l})||n,a||l),l="string"==typeof(n=t.totalRow||c.totalRow)?m(n).render(f.extend({TOTAL_NUMS:a||s[e],TOTAL_ROW:o||{},LAY_COL:t},t)):i,n=(t.field&&r.dataTotal.push({field:t.field,total:f("
                "+l+"
                ").text()}),['','
                "+l,"
                "].join(""));d.push(n)}),e=r.layTotal.find(".layui-table-patch"),r.layTotal.find("tbody").html(""+d.join("")+(e.length?e.get(0).outerHTML:"")+""))},n.prototype.getColElem=function(e,t){return e.eq(0).find(".laytable-cell-"+t+":eq(0)")},n.prototype.renderForm=function(e){this.config;var t=this.elem.attr("lay-filter");i.render(e,t)},n.prototype.renderFormByElem=function(a){layui.each(["input","select"],function(e,t){i.render(a.find(t))})},n.prototype.syncCheckAll=function(){var a,e=this,i=e.config,t=e.layHeader.find('input[name="layTableCheckbox"]'),l=k.checkStatus(e.key);t[0]&&(a=l.isAll,e.eachCols(function(e,t){"checkbox"===t.type&&(t[i.checkName]=a)}),t.prop({checked:l.isAll,indeterminate:!l.isAll&&l.data.length}))},n.prototype.setRowActive=function(e,t,a){this.config;e=this.layBody.find('tr[data-index="'+e+'"]');if(t=t||"layui-table-click",a)return e.removeClass(t);e.addClass(t),e.siblings("tr").removeClass(t)},n.prototype.setRowChecked=function(i){var a,e,l,t,n,o,d,r=this,c=r.config,s="all"===i.index,u="array"===layui.type(i.index),y=s||u;c.tree&&c.tree.view||y&&(r.layBox.addClass(O),"radio"===i.type)||(u&&(a={},layui.each(i.index,function(e,t){a[t]=!0}),i.index=a),e=r.layBody.children(".layui-table").children("tbody"),d=y?"tr":'tr[data-index="'+i.index+'"]',d=e.children(d),e=s?d:d.filter(u?function(){var e=f(this).data("index");return i.index[e]}:'[data-index="'+i.index+'"]'),i=f.extend({type:"checkbox"},i),l=k.cache[r.key],t="checked"in i,n=function(e){return"radio"===i.type||(t?i.checked:!e)},e.each(function(){var e=f(this),t=e.attr("data-index"),a=l[t];t&&"array"!==layui.type(a)&&!a[c.disabledName]&&(a=a[c.checkName]=n(e.hasClass(A)),e.toggleClass(A,!!a),"radio"===i.type)&&(o=t,e.siblings().removeClass(A))}),o&&layui.each(l,function(e,t){Number(o)!==Number(e)&&delete t[c.checkName]}),d=(u=(s=e.children("td").children(".layui-table-cell").children('input[lay-type="'+({radio:"layTableRadio",checkbox:"layTableCheckbox"}[i.type]||"checkbox")+'"]:not(:disabled)')).last()).closest(I),("radio"===i.type&&d.hasClass(W)?s.first():s).prop("checked",n(u.prop("checked"))),r.syncCheckAll(),y&&setTimeout(function(){r.layBox.removeClass(O)},100))},n.prototype.sort=function(l){var e,t=this,a={},i=t.config,n=i.elem.attr("lay-filter"),o=k.cache[t.key];"string"==typeof(l=l||{}).field&&(d=l.field,t.layHeader.find("th").each(function(e,t){var a=f(this),i=a.data("field");if(i===l.field)return l.field=a,d=i,!1}));try{var d=d||l.field.data("field"),r=l.field.data("key");if(t.sortKey&&!l.pull&&d===t.sortKey.field&&l.type===t.sortKey.sort)return;var c=t.layHeader.find("th .laytable-cell-"+r).find(L);t.layHeader.find("th").find(L).removeAttr("lay-sort"),c.attr("lay-sort",l.type||null),t.layFixed.find("th")}catch(s){b.error("Table modules: sort field '"+d+"' not matched")}t.sortKey={field:d,sort:l.type},i.autoSort&&("asc"===l.type?e=layui.sort(o,d,null,!0):"desc"===l.type?e=layui.sort(o,d,!0,!0):(e=layui.sort(o,k.config.initIndexName,null,!0),delete t.sortKey,delete i.initSort)),a[i.response.dataName]=e||o,t.renderData({res:a,curr:t.page,count:t.count,sort:!0,type:l.reloadType}),l.fromEvent&&(i.initSort={field:d,type:l.type},layui.event.call(l.field,R,"sort("+n+")",f.extend({config:i},i.initSort)))},n.prototype.loading=function(e){this.config.loading&&this.layBox.find(".layui-table-init").toggleClass(W,!e)},n.prototype.cssRules=function(t,a){var e=this.elem.children("style")[0];r.getStyleRules(e,function(e){if(e.selectorText===".laytable-cell-"+t)return a(e),!0})},n.prototype.fullSize=function(){var e,a,i=this,t=i.config,l=t.height;i.fullHeightGap?(l=d.height()-i.fullHeightGap)<135&&(l=135):i.parentDiv&&i.parentHeightGap?(l=f(i.parentDiv).height()-i.parentHeightGap)<135&&(l=135):i.customHeightFunc&&(l=i.customHeightFunc())<135&&(l=135),1
                ')).find("div").css({width:a}),e.find("tr").append(t)):e.find(".layui-table-patch").remove()};n(e.layHeader),n(e.layTotal);n=e.layMain.height()-i;e.layFixed.find(D).css("height",t.height()>=n?n:"auto").scrollTop(e.layMain.scrollTop()),e.layFixRight[k.cache[e.key]&&k.cache[e.key].length&&0');a.html(t),s.height&&a.css("max-height",s.height-(c.layTool.outerHeight()||50)),i.find("."+S)[0]||i.append(a),c.renderForm(),a.on("click",function(e){layui.stope(e)}),e.done&&e.done(a,t)};layui.stope(e),z.trigger("table.tool.panel.remove"),g.close(c.tipsIndex),layui.each(s.defaultToolbar,function(e,t){if(t.layEvent===a)return"function"==typeof t.onClick&&t.onClick({data:l,config:s,openPanel:n,elem:i}),!0}),layui.event.call(this,R,"toolbar("+o+")",f.extend({event:a,config:s},{}))}),c.layHeader.on("click","*[lay-event]",function(e){var t=f(this),a=t.attr("lay-event"),t=t.closest("th").data("key"),t=c.col(t);layui.event.call(this,R,"colTool("+o+")",f.extend({event:a,config:s,col:t},{}))}),c.layPagebar.on("click","*[lay-event]",function(e){var t=f(this).attr("lay-event");layui.event.call(this,R,"pagebar("+o+")",f.extend({event:t,config:s},{}))}),e.on("mousemove",function(e){var t=f(this),a=t.offset().left,e=e.clientX-a;t.data("unresize")||w.eventMoveElem||(r.allowResize=t.width()-e<=10,d.css("cursor",r.allowResize?"col-resize":""))}).on("mouseleave",function(){f(this);w.eventMoveElem||(r.allowResize=!1,d.css("cursor",""))}).on("mousedown",function(e){var t,a=f(this);r.allowResize&&(t=a.data("key"),e.preventDefault(),r.offset=[e.clientX,e.clientY],c.cssRules(t,function(e){var t=e.style.width||a.outerWidth();r.rule=e,r.ruleWidth=parseFloat(t),r.minWidth=a.data("minwidth")||s.cellMinWidth,r.maxWidth=a.data("maxwidth")||s.cellMaxWidth}),a.data(j,r),w.eventMoveElem=a)}),w.docEvent||z.on("mousemove",function(e){var t,a;w.eventMoveElem&&(t=w.eventMoveElem.data(j)||{},w.eventMoveElem.data("resizing",1),e.preventDefault(),t.rule)&&(e=t.ruleWidth+e.clientX-t.offset[0],a=w.eventMoveElem.closest("."+_).attr(N),a=C(a))&&((e=et.maxWidth&&(e=t.maxWidth),t.rule.style.width=e+"px",a.setGroupWidth(w.eventMoveElem),g.close(c.tipsIndex))}).on("mouseup",function(e){var t,a,i,l,n;w.eventMoveElem&&(i=(t=w.eventMoveElem).closest("."+_).attr(N),a=C(i))&&(i=t.data("key"),l=a.col(i),n=a.config.elem.attr("lay-filter"),r={},d.css("cursor",""),a.scrollPatch(),t.removeData(j),delete w.eventMoveElem,a.cssRules(i,function(e){l.width=parseFloat(e.style.width),layui.event.call(t[0],R,"colResized("+n+")",{col:l,config:a.config})}))}),w.docEvent=!0,e.on("click",function(e){var t=f(this),a=t.find(L),i=a.attr("lay-sort");if(!a[0]||1===t.data("resizing"))return t.removeData("resizing");c.sort({field:t,type:"asc"===i?"desc":"desc"===i?null:"asc",fromEvent:!0})}).find(L+" .layui-edge ").on("click",function(e){var t=f(this),a=t.index(),t=t.parents("th").eq(0).data("field");layui.stope(e),0===a?c.sort({field:t,type:"asc",fromEvent:!0}):c.sort({field:t,type:"desc",fromEvent:!0})}),c.commonMember=function(e){var a=f(this).parents("tr").eq(0).data("index"),t=c.layBody.find('tr[data-index="'+a+'"]'),i=(k.cache[c.key]||[])[a]||{},l={tr:t,config:s,data:k.clearCacheKey(i),dataCache:i,index:a,del:function(){k.cache[c.key][a]=[],t.remove(),c.scrollPatch()},update:function(e,t){c.updateRow({index:a,data:e=e||{},related:t},function(e,t){l.data[e]=t})},setRowChecked:function(e){c.setRowChecked(f.extend({index:a},e))}};return f.extend(l,e)}),t=(c.elem.on("click",'input[name="layTableCheckbox"]+',function(e){var t=f(this),a=t.closest("td"),t=t.prev(),i=(c.layBody.find('input[name="layTableCheckbox"]'),t.parents("tr").eq(0).data("index")),l=t[0].checked,n="layTableAllChoose"===t.attr("lay-filter");t[0].disabled||(n?c.setRowChecked({index:"all",checked:l}):c.setRowChecked({index:i,checked:l}),layui.stope(e),layui.event.call(t[0],R,"checkbox("+o+")",y.call(t[0],{checked:l,type:n?"all":"one",getCol:function(){return c.col(a.data("key"))}})))}),c.elem.on("click",'input[lay-type="layTableRadio"]+',function(e){var t=f(this),a=t.closest("td"),t=t.prev(),i=t[0].checked,l=t.parents("tr").eq(0).data("index");if(layui.stope(e),t[0].disabled)return!1;c.setRowChecked({type:"radio",index:l}),layui.event.call(t[0],R,"radio("+o+")",y.call(t[0],{checked:i,getCol:function(){return c.col(a.data("key"))}}))}),c.layBody.on("mouseenter","tr",function(){var e=f(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").addClass(M)}).on("mouseleave","tr",function(){var e=f(this),t=e.index();e.data("off")||c.layBody.find("tr:eq("+t+")").removeClass(M)}).on("click","tr",function(e){t.call(this,"row",e)}).on("dblclick","tr",function(e){t.call(this,"rowDouble",e)}).on("contextmenu","tr",function(e){s.defaultContextmenu||e.preventDefault(),t.call(this,"rowContextmenu",e)}),function(e,t){var a=f(this);if(!a.data("off")){if("rowContextmenu"!==e){var i=[".layui-form-checkbox",".layui-form-switch",".layui-form-radio","[lay-unrow]"].join(",");if(f(t.target).is(i)||f(t.target).closest(i)[0])return}layui.event.call(this,R,e+"("+o+")",y.call(a.children("td")[0],{e:t}))}}),n=function(e,t){var a,i,l;(e=f(e)).data("off")||(l=e.data("field"),i=e.data("key"),i=c.col(i),a=e.closest("tr").data("index"),a=k.cache[c.key][a],e.children(u),(i="function"==typeof i.edit?i.edit(a):i.edit)&&((i=f("textarea"===i?'':''))[0].value=(l=e.data("content")||a[l])===undefined||null===l?"":l,e.find("."+E)[0]||e.append(i),i.focus(),t)&&layui.stope(t))},i=(c.layBody.on("change","."+E,function(){var e=f(this),t=e.parent(),a=this.value,i=e.parent().data("field"),e=e.closest("tr").data("index"),e=k.cache[c.key][e],l=y.call(t[0],{value:a,field:i,oldValue:e[i],td:t,reedit:function(){setTimeout(function(){n(l.td);var e={};e[i]=l.oldValue,l.update(e)})},getCol:function(){return c.col(t.data("key"))}}),e={};e[i]=a,l.update(e),layui.event.call(t[0],R,"edit("+o+")",l)}).on("blur","."+E,function(){f(this).remove()}),c.layBody.on(s.editTrigger,"td",function(e){n(this,e)}).on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),c.layTotal.on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),"layui-table-grid-down"),a=function(e){var t=f(this),a=t.children(u);t.data("off")||t.parent().hasClass(H)||(e?t.find(".layui-table-grid-down").remove():!(a.prop("scrollWidth")>a.prop("clientWidth")||0'))},l=function(e,t){var a=f(this),i=a.parent(),l=i.data("key"),n=c.col(l),o=i.parent().data("index"),d=i.children(u),i="layui-table-cell-c",r=f('');"tips"===(t=t||n.expandedMode||s.cellExpandedMode)?c.tipsIndex=g.tips(['
                ',d.html(),"
                ",''].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:x.ios||x.android?300:c.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){g.close(t)})}}):(c.elem.find("."+i).trigger("click"),c.cssRules(l,function(e){var t=e.style.width,a=n.expandedWidth||s.cellExpandedWidth;atr").each(function(i){n.cols[i]=[],f(this).children().each(function(e){var t=f(this),a=t.attr("lay-data"),a=r.options(this,{attr:a?"lay-data":null,errorText:d+(a||t.attr("lay-options"))}),t=f.extend({title:t.text(),colspan:parseInt(t.attr("colspan"))||1,rowspan:parseInt(t.attr("rowspan"))||1},a);n.cols[i].push(t)})}),e.find("tbody>tr")),t=k.render(n);!a.length||o.data||t.config.url||(l=0,k.eachCols(t.config.id,function(e,i){a.each(function(e){n.data[e]=n.data[e]||{};var t=f(this),a=i.field;n.data[e][a]=t.children("td").eq(l).html()}),l++}),t.reloadData({data:n.data}))}),this},w.that={},w.config={},function(a,i,e,l){var n,o;l.colGroup&&(n=0,a++,l.CHILD_COLS=[],o=e+(parseInt(l.rowspan)||1),layui.each(i[o],function(e,t){t.parentKey?t.parentKey===l.key&&(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),c(a,i,o,t)):t.PARENT_COL_INDEX||1<=n&&n==(l.colspan||1)||(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),n+=parseInt(1td').filter('[data-field="'+e+'"]')}}})).replace(/"/g,'""'),n.push(a='"'+a+'"')):t.field&&"normal"!==t.type&&0==i&&(u[t.field]=!0)}),c.push(n.join(","))}),o&&layui.each(o.dataTotal,function(e,t){u[t.field]||s.push('"'+(t.total||"")+'"')}),r.join(",")+"\r\n"+c.join("\r\n")+"\r\n"+s.join(","))),d.download=(a.title||l.title||"table_"+(l.index||""))+"."+i,document.body.appendChild(d),d.click(),document.body.removeChild(d)},k.getOptions=l,k.hideCol=function(e,l){var n=C(e);n&&("boolean"===layui.type(l)?n.eachCols(function(e,t){var a=t.key,i=n.col(a),t=t.parentKey;i.hide!=l&&(i=i.hide=l,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](W),n.setParentCol(i,t))}):(l=layui.isArray(l)?l:[l],layui.each(l,function(e,l){n.eachCols(function(e,t){var a,i;l.field===t.field&&(a=t.key,i=n.col(a),t=t.parentKey,"hide"in l)&&i.hide!=l.hide&&(i=i.hide=!!l.hide,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](W),n.setParentCol(i,t))})})),f("."+S).remove(),n.resize())},k.reload=function(e,t,a,i){if(l(e))return(e=C(e)).reload(t,a,i),w.call(e)},k.reloadData=function(){var a=f.extend([],arguments),i=(a[3]="reloadData",new RegExp("^("+["elem","id","cols","width","height","maxHeight","toolbar","defaultToolbar","className","css","pagebar"].join("|")+")$"));return layui.each(a[1],function(e,t){i.test(e)&&delete a[1][e]}),k.reload.apply(null,a)},k.render=function(e){e=new n(e);return w.call(e)},k.clearCacheKey=function(e){return delete(e=f.extend({},e))[k.config.checkName],delete e[k.config.indexName],delete e[k.config.initIndexName],delete e[k.config.numbersName],delete e[k.config.disabledName],e},f(function(){k.init()}),s(R,k)});layui.define(["table"],function(e){"use strict";var A=layui.$,h=layui.form,P=layui.table,y=layui.hint(),B={config:{},on:P.on,eachCols:P.eachCols,index:P.index,set:function(e){var t=this;return t.config=A.extend({},t.config,e),t},resize:P.resize,getOptions:P.getOptions,hideCol:P.hideCol,renderData:P.renderData},i=function(){var a=this,e=a.config,n=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){B.reloadData(n,e,t)}}},j=function(e){var t=i.that[e];return t||y.error(e?"The treeTable instance with ID '"+e+"' not found":"ID argument required"),t||null},F="lay-table-id",L="layui-hide",s=".layui-table-body",q=".layui-table-main",R=".layui-table-fixed-l",Y=".layui-table-fixed-r",l="layui-table-checked",m="layui-table-tree",z="LAY_DATA_INDEX",b="LAY_DATA_INDEX_HISTORY",p="LAY_PARENT_INDEX",g="LAY_CHECKBOX_HALF",H="LAY_EXPAND",X="LAY_HAS_EXPANDED",V="LAY_ASYNC_STATUS",n=["all","parent","children","none"],t=/<[^>]+?>/,f=["flexIconClose","flexIconOpen","iconClose","iconOpen","iconLeaf","icon"],a=function(e){var t=this;t.index=++B.index,t.config=A.extend(!0,{},t.config,B.config,e),t.init(),t.render()},x=function(n,i,e){var l=P.cache[n];layui.each(e||l,function(e,t){var a=t[z]||"";-1!==a.indexOf("-")&&(l[a]=t),t[i]&&x(n,i,t[i])})},d=function(d,a,e){var r=j(d),o=("reloadData"!==e&&(r.status={expand:{}}),A.extend(!0,{},r.getOptions(),a)),n=o.tree,c=n.customName.children,i=n.customName.id,l=(delete a.hasNumberCol,delete a.hasChecboxCol,delete a.hasRadioCol,P.eachCols(null,function(e,t){"numbers"===t.type?a.hasNumberCol=!0:"checkbox"===t.type?a.hasChecboxCol=!0:"radio"===t.type&&(a.hasRadioCol=!0)},o.cols),a.parseData),u=a.done;"reloadData"===e&&"fixed"===o.scrollPos&&(r.scrollTopCache=r.config.elem.next().find(s).scrollTop()),o.url?e&&(!l||l.mod)||(a.parseData=function(){var e=this,t=arguments,a=t[0],t=("function"===layui.type(l)&&(a=l.apply(e,t)||t[0]),e.response.dataName);return n.data.isSimpleData&&!n["async"].enable&&(a[t]=r.flatToTree(a[t])),N(a[t],function(e){e[H]=H in e?e[H]:e[i]!==undefined&&r.status.expand[e[i]]},c),e.autoSort&&e.initSort&&e.initSort.type&&layui.sort(a[t],e.initSort.field,"desc"===e.initSort.type,!0),r.initData(a[t]),a},a.parseData.mod=!0):a.data!==undefined&&(a.data=a.data||[],n.data.isSimpleData&&(a.data=r.flatToTree(a.data)),r.initData(a.data)),e&&(!u||u.mod)||(a.done=function(){var e,t=arguments,a=t[3],n="renderData"===a,i=(n||delete r.isExpandAll,this.elem.next()),l=(r.updateStatus(null,{LAY_HAS_EXPANDED:!1}),x(d,c),i.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'));if(l.length&&(e=B.checkStatus(d),l.prop({checked:e.isAll&&e.data.length,indeterminate:!e.isAll&&e.data.length})),!n&&o.autoSort&&o.initSort&&o.initSort.type&&B.sort(d),r.renderTreeTable(i),"reloadData"===a&&"fixed"===this.scrollPos&&i.find(s).scrollTop(r.scrollTopCache),"function"===layui.type(u))return u.apply(this,t)},a.done.mod=!0),a&&a.tree&&a.tree.view&&layui.each(f,function(e,t){a.tree.view[t]!==undefined&&(a.tree.view[t]=r.normalizedIcon(a.tree.view[t]))})};a.prototype.init=function(){var e=this.config,t=e.tree.data.cascade,t=(-1===n.indexOf(t)&&(e.tree.data.cascade="all"),P.render(A.extend({},e,{data:[],url:"",done:null}))),a=t.config.id;(i.that[a]=this).tableIns=t,d(a,e)},a.prototype.config={tree:{customName:{children:"children",isParent:"isParent",name:"name",id:"id",pid:"parentId",icon:"icon"},view:{indent:14,flexIconClose:'',flexIconOpen:'',showIcon:!0,icon:"",iconClose:'',iconOpen:'',iconLeaf:'',showFlexIconIfNotParent:!1,dblClickExpand:!0,expandAllDefault:!1},data:{isSimpleData:!1,rootPid:null,cascade:"all"},"async":{enable:!1,url:"",type:null,contentType:null,headers:null,where:null,autoParam:[]},callback:{beforeExpand:null,onExpand:null}}},a.prototype.normalizedIcon=function(e){return e?t.test(e)?e:'':""},a.prototype.getOptions=function(){return this.tableIns?P.getOptions(this.tableIns.config.id):this.config},a.prototype.flatToTree=function(e){var n,i,l,d,r,o,c,u,t=this.getOptions(),a=t.tree,s=a.customName,t=t.id;return e=e||P.cache[t],t=e,n=s.id,i=s.pid,l=s.children,d=a.data.rootPid,n=n||"id",i=i||"parentId",l=l||"children",c={},u=[],layui.each(t,function(e,t){r=n+t[n],o=n+t[i],c[r]||(c[r]={},c[r][l]=[]);var a={};a[l]=c[r][l],c[r]=A.extend({},t,a),((d?c[r][i]===d:!c[r][i])?u:(c[o]||(c[o]={},c[o][l]=[]),c[o][l])).push(c[r])}),u},a.prototype.treeToFlat=function(e,n,i){var l=this,d=l.getOptions().tree.customName,r=d.children,o=d.pid,c=[];return layui.each(e,function(e,t){var e=(i?i+"-":"")+e,a=A.extend({},t);a[o]="undefined"!=typeof t[o]?t[o]:n,c.push(a),c=c.concat(l.treeToFlat(t[r],t[d.id],e))}),c},a.prototype.getTreeNode=function(e){var t,a,n=this;return e?(a=(t=n.getOptions()).tree,t.id,a.customName,{data:e,dataIndex:e[z],getParentNode:function(){return n.getNodeByIndex(e[p])}}):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeByIndex=function(t){var a,e,n=this,i=n.getNodeDataByIndex(t);return i?((e=n.getOptions()).tree.customName.parent,a=e.id,(e={data:i,dataIndex:i[z],getParentNode:function(){return n.getNodeByIndex(i[p])},update:function(e){return B.updateNode(a,t,e)},remove:function(){return B.removeNode(a,t)},expand:function(e){return B.expandNode(a,A.extend({},e,{index:t}))},setChecked:function(e){return B.setRowChecked(a,A.extend({},e,{index:t}))}}).dataIndex=t,e):y.error("\u627e\u4e0d\u5230\u8282\u70b9\u6570\u636e")},a.prototype.getNodeById=function(a){var e=this.getOptions(),n=e.tree.customName.id,i="",e=B.getData(e.id,!0);if(layui.each(e,function(e,t){if(t[n]===a)return i=t[z],!0}),i)return this.getNodeByIndex(i)},a.prototype.getNodeDataByIndex=function(e,t,a){var n=this.getOptions(),i=n.tree,n=n.id,n=P.cache[n],l=n[e];if("delete"!==a&&l)return A.extend(l,a),t?A.extend({},l):l;for(var d=n,r=String(e).split("-"),o=0,c=i.customName.children;o
                '),N=function(e){y[V]="success",y[s.children]=e,c.initData(y[s.children],y[z]),J(t,!0,!p&&n,i,l)},C=m.format,"function"===layui.type(C)?C(y,o,N):(I=A.extend({},m.where||o.where),C=m.autoParam,layui.each(C,function(e,t){t=t.split("=");I[t[0].trim()]=y[(t[1]||t[0]).trim()]}),(C=m.contentType||o.contentType)&&0==C.indexOf("application/json")&&(I=JSON.stringify(I)),O=m.method||o.method,D=m.dataType||o.dataType,T=m.jsonpCallback||o.jsonpCallback,_=m.headers||o.headers,k=m.parseData||o.parseData,w=m.response||o.response,A.ajax({type:O||"get",url:b,contentType:C,data:I,dataType:D||"json",jsonpCallback:T,headers:_||{},success:function(e){(e="function"==typeof k?k.call(o,e)||e:e)[w.statusName]!=w.statusCode?(y[V]="error",y[H]=!1,g.html('')):N(e[w.dataName])},error:function(e,t){y[V]="error",y[H]=!1,"function"==typeof o.error&&o.error(e,t)}})),h;y[X]=!0,v.length&&(!o.initSort||o.url&&!o.autoSort||((m=o.initSort).type?layui.sort(v,m.field,"desc"===m.type,!0):layui.sort(v,P.config.indexName,null,!0)),c.initData(y[s.children],y[z]),O=P.getTrHtml(r,v,null,null,e),S={trs:A(O.trs.join("")),trs_fixed:A(O.trs_fixed.join("")),trs_fixed_r:A(O.trs_fixed_r.join(""))},E=(e.split("-").length-1||0)+1,layui.each(v,function(e,t){S.trs.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z]),S.trs_fixed_r.eq(e).attr({"data-index":t[z],"lay-data-index":t[z],"data-level":E}).data("index",t[z])}),d.find(q).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs),d.find(R).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed),d.find(Y).find('tbody tr[lay-data-index="'+e+'"]').after(S.trs_fixed_r),c.renderTreeTable(S.trs,E),n)&&!p&&layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)})}else c.isExpandAll=!1,(n&&!p?(layui.each(v,function(e,t){J({dataIndex:t[z],trElem:d.find('tr[lay-data-index="'+t[z]+'"]').first(),tableViewElem:d,tableId:r,options:o},a,n,i,l)}),d.find(v.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(","))):(b=c.treeToFlat(v,y[s.id],e),d.find(b.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))).addClass(L);U("resize-"+r,function(){B.resize(r)},0)(),l&&"loading"!==y[V]&&(C=u.callback.onExpand,"function"===layui.type(C))&&C(r,y,x)}return h},v=(B.expandNode=function(e,t){var a,n,i,e=j(e);if(e)return a=(t=t||{}).index,n=t.expandFlag,i=t.inherit,t=t.callbackFlag,e=e.getOptions().elem.next(),J({trElem:e.find('tr[lay-data-index="'+a+'"]').first()},n,i,null,t)},B.expandAll=function(a,e){if("boolean"!==layui.type(e))return y.error("expandAll \u7684\u5c55\u5f00\u72b6\u6001\u53c2\u6570\u53ea\u63a5\u6536true/false");var t=j(a);if(t){t.isExpandAll=e;var n=t.getOptions(),i=n.tree,l=n.elem.next(),d=i.customName.isParent,r=i.customName.id,o=i.view.showFlexIconIfNotParent;if(e){e=B.getData(a,!0);if(i["async"].enable){var c=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[V])return!(c=!1)}),!c)return void layui.each(B.getData(a),function(e,t){B.expandNode(a,{index:t[z],expandFlag:!0,inherit:!0})})}var u=!0;if(layui.each(e,function(e,t){if(t[d]&&!t[X])return!(u=!1)}),u)t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),l.find('tbody tr[data-level!="0"]').removeClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconOpen),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconOpen);else{if(t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!0,e[X]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),n.initSort&&n.initSort.type&&n.autoSort)return B.sort(a);var s,n=P.getTrHtml(a,e),f={trs:A(n.trs.join("")),trs_fixed:A(n.trs_fixed.join("")),trs_fixed_r:A(n.trs_fixed_r.join(""))};layui.each(e,function(e,t){var a=t[z].split("-").length-1;s={"data-index":t[z],"lay-data-index":t[z],"data-level":a},f.trs.eq(e).attr(s).data("index",t[z]),f.trs_fixed.eq(e).attr(s).data("index",t[z]),f.trs_fixed_r.eq(e).attr(s).data("index",t[z])}),layui.each(["main","fixed-l","fixed-r"],function(e,t){l.find(".layui-table-"+t+" tbody").html(f[["trs","trs_fixed","trs_fixed_r"][e]])}),t.renderTreeTable(l,0,!1)}}else t.updateStatus(null,function(e){(e[d]||o)&&(e[H]=!1,e[r]!==undefined)&&(t.status.expand[e[r]]=!1)}),l.find('.layui-table-box tbody tr[data-level!="0"]').addClass(L),l.find(".layui-table-tree-flexIcon").html(i.view.flexIconClose),i.view.showIcon&&l.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconClose);B.resize(a)}},a.prototype.updateNodeIcon=function(e){var t=this.getOptions().tree||{},a=e.scopeEl,n=e.isExpand,e=e.isParent;a.find(".layui-table-tree-flexIcon").css("visibility",e||t.view.showFlexIconIfNotParent?"visible":"hidden").html(n?t.view.flexIconOpen:t.view.flexIconClose),t.view.showIcon&&(a=a.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom)"),n=e?n?t.view.iconOpen:t.view.iconClose:t.view.iconLeaf,a.toggleClass("layui-table-tree-iconLeaf",!e).html(n))},a.prototype.renderTreeTable=function(e,t,a){var l=this,n=l.getOptions(),d=n.elem.next(),i=(d.hasClass(m)||d.addClass(m),n.id),r=n.tree||{},o=(r.data,r.view||{}),c=r.customName||{},u=c.isParent,s=(d.attr("lay-filter"),l),f=n.data.length,y=((t=t||0)||(d.find(".layui-table-body tr:not([data-level])").attr("data-level",t),layui.each(P.cache[i],function(e,t){f&&(t[z]=String(e));t=t[z];d.find('.layui-table-main tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),d.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),d.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t)})),null),p=c.name,x=o.indent||14;if(layui.each(e.find('td[data-field="'+p+'"]'),function(e,t){var a,n,i=(t=A(t)).closest("tr"),t=t.children(".layui-table-cell");t.hasClass("layui-table-tree-item")||(n=i.attr("lay-data-index"))&&(i=d.find('tr[lay-data-index="'+n+'"]'),(a=s.getNodeDataByIndex(n))[H]&&a[u]&&((y=y||{})[n]=!0),a[g]&&i.find('input[type="checkbox"][name="layTableCheckbox"]').prop("indeterminate",!0),n=t.html(),(t=i.find('td[data-field="'+p+'"]>div.layui-table-cell')).addClass("layui-table-tree-item"),t.html(['
                ',a[H]?o.flexIconOpen:o.flexIconClose,"
                ",o.showIcon?'
                '+(l.normalizedIcon(a[c.icon])||o.icon||(a[u]?a[H]?o.iconOpen:o.iconClose:o.iconLeaf)||"")+"
                ":"",n].join("")).find(".layui-table-tree-flexIcon").on("click",function(e){layui.stope(e),J({trElem:i},null,null,null,!0)}))}),!t&&r.view.expandAllDefault&&l.isExpandAll===undefined)return B.expandAll(i,!0);(!1!==a&&y?(layui.each(y,function(e,t){e=d.find('tr[lay-data-index="'+e+'"]');e.find(".layui-table-tree-flexIcon").html(o.flexIconOpen),J({trElem:e.first()},!0)}),U("renderTreeTable2-"+i,function(){h.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0)):U("renderTreeTable-"+i,function(){n.hasNumberCol&&v(l),h.render(A(".layui-table-tree["+F+'="'+i+'"]'))},0))()},function(a){var e=a.getOptions(),t=e.elem.next(),n=0,i=t.find(".layui-table-main tbody tr"),l=t.find(".layui-table-fixed-l tbody tr"),d=t.find(".layui-table-fixed-r tbody tr");layui.each(a.treeToFlat(P.cache[e.id]),function(e,t){t.LAY_HIDE||(a.getNodeDataByIndex(t[z]).LAY_NUM=++n,i.eq(e).find(".laytable-cell-numbers").html(n),l.eq(e).find(".laytable-cell-numbers").html(n),d.eq(e).find(".laytable-cell-numbers").html(n))})}),N=(a.prototype.render=function(e){var t=this;t.tableIns=P["reloadData"===e?"reloadData":"reload"](t.tableIns.config.id,A.extend(!0,{},t.config)),t.config=t.tableIns.config},a.prototype.reload=function(e,t,a){var n=this;e=e||{},delete n.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete n.config[e]}),d(n.getOptions().id,e,a||!0),n.config=A.extend(t,{},n.config,e),n.render(a)},B.reloadData=function(){var e=A.extend(!0,[],arguments);return e[3]="reloadData",B.reload.apply(null,e)},function(e,a,n,i){var l=[];return layui.each(e,function(e,t){"function"===layui.type(a)?a(t):A.extend(t,a),l.push(A.extend({},t)),i||(l=l.concat(N(t[n],a,n,i)))}),l}),o=(a.prototype.updateStatus=function(e,t,a){var n=this.getOptions(),i=n.tree;return e=e||P.cache[n.id],N(e,t,i.customName.children,a)},a.prototype.getTableData=function(){var e=this.getOptions();return P.cache[e.id]},B.updateStatus=function(e,t,a){var e=j(e),n=e.getOptions();return a=a||(n.url?P.cache[n.id]:n.data),e.updateStatus(a,t)},B.sort=function(e){var t,a,i,l,n,d=j(e);d&&(n=(t=d.getOptions()).tree,a=B.getData(e),i=n.customName.children,l=function(e,a,n){layui.sort(e,a,n,!0),layui.each(e,function(e,t){l(t[i]||[],a,n)})},t.autoSort)&&((n=t.initSort).type?l(a,n.field,"desc"===n.type):l(a,P.config.indexName,null),P.cache[e]=a,d.initData(a),B.renderData(e))},function(n){var t=n.config.id,i=j(t),a=n.data=B.getNodeDataByIndex(t,n.index),l=a[z],d=(n.dataIndex=l,n.update);n.update=function(){var e=arguments,t=(A.extend(i.getNodeDataByIndex(l),e[0]),d.apply(this,e)),a=n.config.tree.customName.name;return a in e[0]&&n.tr.find('td[data-field="'+a+'"]').children("div.layui-table-cell").removeClass("layui-table-tree-item"),i.renderTreeTable(n.tr,n.tr.attr("data-level"),!1),t},n.del=function(){B.removeNode(t,a)},n.setRowChecked=function(e){B.setRowChecked(t,{index:a,checked:e})}}),u=(B.updateNode=function(e,a,t){var n,i,l,d,r,o=j(e);o&&((d=o.getOptions()).tree,d=(n=d.elem.next()).find('tr[lay-data-index="'+a+'"]'),i=d.attr("data-index"),l=d.attr("data-level"),t)&&(d=o.getNodeDataByIndex(a,!1,t),r=P.getTrHtml(e,[d]),layui.each(["main","fixed-l","fixed-r"],function(e,t){n.find(".layui-table-"+t+' tbody tr[lay-data-index="'+a+'"]').replaceWith(A(r[["trs","trs_fixed","trs_fixed_r"][e]].join("")).attr({"data-index":i,"lay-data-index":a,"data-level":l}).data("index",i))}),o.renderTreeTable(n.find('tr[lay-data-index="'+a+'"]'),l))},B.removeNode=function(e,t,a){var n=j(e);if(n){var i,l=n.getOptions(),d=l.tree,r=d.customName.isParent,o=d.customName.children,c=l.elem.next(),u=[],s=P.cache[e],t=n.getNodeDataByIndex("string"===layui.type(t)?t:t[z],!1,"delete"),f=n.getNodeDataByIndex(t[p]),d=(n.updateCheckStatus(f),n.treeToFlat([t],t[d.customName.pid],t[p])),t=(layui.each(d,function(e,t){t=t[z];u.push('tr[lay-data-index="'+t+'"]'),-1!==t.indexOf("-")&&delete s[t]}),c.find(u.join(",")).remove(),n.initData());for(i in s)-1!==i.indexOf("-")&&i!==s[i][z]&&delete s[i];layui.each(n.treeToFlat(t),function(e,t){t[b]&&t[b]!==t[z]&&c.find('tr[lay-data-index="'+t[b]+'"]').attr({"data-index":t[z],"lay-data-index":t[z]}).data("index",t[z])}),layui.each(s,function(e,t){c.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),l.hasNumberCol&&v(n),f&&(d=c.find('tr[lay-data-index="'+f[z]+'"]'),a||(f[r]=!(!f[o]||!f[o].length)),n.updateNodeIcon({scopeEl:d,isExpand:f[H],isParent:f[r]})),B.resize(e)}},B.addNodes=function(e,t){var a=j(e);if(a){var n=a.getOptions(),i=n.tree,l=n.elem.next(),d=P.config.checkName,r=(t=t||{}).parentIndex,o=t.index,c=t.data,t=t.focus,u=(r="number"===layui.type(r)?r.toString():r)?a.getNodeDataByIndex(r):null,o="number"===layui.type(o)?o:-1,c=A.extend(!0,[],layui.isArray(c)?c:[c]);layui.each(c,function(e,t){d in t||!u||(t[d]=u[d])}),a.getTableData();if(u){var s=i.customName.isParent,f=i.customName.children;u[s]=!0;var y=(y=u[f])?(p=y.splice(-1===o?y.length:o),u[f]=y.concat(c,p)):u[f]=c,f=(a.updateStatus(y,function(e){(e[s]||i.view.showFlexIconIfNotParent)&&(e[X]=!1)}),a.treeToFlat(y));l.find(f.map(function(e){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")).remove(),a.initData(),u[X]=!1,u[V]="local",J({trElem:l.find('tr[lay-data-index="'+r+'"]')},!0)}else{var p=P.cache[e].splice(-1===o?P.cache[e].length:o);if(P.cache[e]=P.cache[e].concat(c,p),n.url||(n.page?(y=n.page,n.data.splice.apply(n.data,[y.limit*(y.curr-1),y.limit].concat(P.cache[e]))):n.data=P.cache[e]),a.initData(),l.find(".layui-none").length)return P.renderData(e),c;var x,f=P.getTrHtml(e,c),h={trs:A(f.trs.join("")),trs_fixed:A(f.trs_fixed.join("")),trs_fixed_r:A(f.trs_fixed_r.join(""))},r=(layui.each(c,function(e,t){x={"data-index":t[z],"lay-data-index":t[z],"data-level":"0"},h.trs.eq(e).attr(x).data("index",t[z]),h.trs_fixed.eq(e).attr(x).data("index",t[z]),h.trs_fixed_r.eq(e).attr(x).data("index",t[z])}),parseInt(c[0][z])-1),y=l.find(q),n=l.find(R),f=l.find(Y);-1==r?y.find('tr[data-level="0"][data-index="0"]')[0]?(y.find('tr[data-level="0"][data-index="0"]').before(h.trs),n.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="0"]').before(h.trs_fixed_r)):(y.find("tbody").prepend(h.trs),n.find("tbody").prepend(h.trs_fixed),f.find("tbody").prepend(h.trs_fixed_r)):-1===o?(y.find("tbody").append(h.trs),n.find("tbody").append(h.trs_fixed),f.find("tbody").append(h.trs_fixed_r)):(r=p[0][b],y.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs),n.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed),f.find('tr[data-level="0"][data-index="'+r+'"]').before(h.trs_fixed_r)),layui.each(P.cache[e],function(e,t){l.find('tr[data-level="0"][lay-data-index="'+t[z]+'"]').attr("data-index",e).data("index",e)}),a.renderTreeTable(l.find(c.map(function(e,t,a){return'tr[lay-data-index="'+e[z]+'"]'}).join(",")))}return a.updateCheckStatus(u),u&&(o=l.find('tr[lay-data-index="'+u[z]+'"]'),a.updateNodeIcon({scopeEl:o,isExpand:u[H],isParent:u[s]})),B.resize(e),t&&l.find(q).find('tr[lay-data-index="'+c[0][z]+'"]').get(0).scrollIntoViewIfNeeded(),c}},B.checkStatus=function(e,n){var i,t,a,l=j(e);if(l)return l=l.getOptions().tree,i=P.config.checkName,t=B.getData(e,!0).filter(function(e,t,a){return e[i]||n&&e[g]}),a=!0,layui.each("all"===l.data.cascade?P.cache[e]:B.getData(e,!0),function(e,t){if(!t[i])return!(a=!1)}),{data:t,isAll:a}},B.on("sort",function(e){var e=e.config,t=e.elem.next(),e=e.id;t.hasClass(m)&&B.sort(e)}),B.on("row",function(e){e.config.elem.next().hasClass(m)&&o(e)}),B.on("rowDouble",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&(o(e),(t.tree||{}).view.dblClickExpand)&&J({trElem:e.tr.first()},null,null,null,!0)}),B.on("rowContextmenu",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),B.on("tool",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),B.on("edit",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&(o(e),e.field===t.tree.customName.name)&&((a={})[e.field]=e.value,e.update(a))}),B.on("radio",function(e){var t=e.config,a=t.elem.next(),t=t.id;a.hasClass(m)&&(a=j(t),o(e),u.call(a,e.tr,e.checked))}),a.prototype.setRowCheckedClass=function(e,t){var a=this.getOptions(),n=(e.data("index"),a.elem.next());e[t?"addClass":"removeClass"](l),e.each(function(){var e=A(this).data("index");n.find('.layui-table-fixed-r tbody tr[data-index="'+e+'"]')[t?"addClass":"removeClass"](l)})},a.prototype.updateCheckStatus=function(e,t){var a,n,i,l,d,r,o,c=this,u=c.getOptions();return!!u.hasChecboxCol&&(a=u.tree,n=u.id,i=u.elem.next(),l=P.config.checkName,"all"!==(d=a.data.cascade)&&"parent"!==d||!e||(d=c.updateParentCheckStatus(e,"boolean"===layui.type(t)?t:null),layui.each(d,function(e,t){var a=i.find('tr[lay-data-index="'+t[z]+'"] input[name="layTableCheckbox"]:not(:disabled)'),n=t[l];c.setRowCheckedClass(a.closest("tr"),n),a.prop({checked:n,indeterminate:t[g]})})),o=!(r=!0),0<(e=(e="all"===a.data.cascade?P.cache[n]:B.getData(n,!0)).filter(function(e){return!e[u.disabledName]})).length?layui.each(e,function(e,t){if((t[l]||t[g])&&(o=!0),t[l]||(r=!1),o&&!r)return!0}):r=!1,o=o&&!r,i.find('input[name="layTableCheckbox"][lay-filter="layTableAllChoose"]').prop({checked:r,indeterminate:o}),r)},a.prototype.updateParentCheckStatus=function(a,n){var i,e=this.getOptions(),t=e.tree,e=e.id,l=P.config.checkName,t=t.customName.children,d=[];return!(a[g]=!1)===n?a[t].length?layui.each(a[t],function(e,t){if(!t[l])return n=!1,a[g]=!0}):n=!1:!1===n?layui.each(a[t],function(e,t){if(t[l]||t[g])return a[g]=!0}):(n=!1,i=0,layui.each(a[t],function(e,t){t[l]&&i++}),n=a[t].length?a[t].length===i:a[l],a[g]=!n&&0li"],n.bodyElem=["."+C.CONST.BODY+":eq(0)",">."+C.CONST.ITEM],n.getContainer=function(){var e=n.documentElem||t.elem;return{header:{elem:e.find(n.headerElem[0]),items:e.find(n.headerElem.join(""))},body:{elem:e.find(n.bodyElem[0]),items:e.find(n.bodyElem.join(""))}}},"array"===layui.type(t.header)){if(0===t.header.length)return;"string"==typeof t.header[0]?(n.headerElem=t.header.concat(),n.documentElem=p(document)):(n.elemView=p('
                '),t.className&&n.elemView.addClass(t.className),a=p('
                  '),i=p('
                  '),layui.each(t.header,function(e,t){t=n.renderHeaderItem(t);a.append(t)}),layui.each(t.body,function(e,t){t=n.renderBodyItem(t);i.append(t)}),n.elemView.append(a).append(i),t.elem.html(n.elemView))}else n.renderClose();"array"===layui.type(t.body)&&"string"==typeof t.body[0]&&(n.documentElem=p(document),n.bodyElem=t.body.concat());var e=n.data();"index"in t&&e.index!=t.index?n.change(n.findHeaderItem(t.index),!0):-1===e.index&&n.change(n.findHeaderItem(0),!0),n.roll("auto"),t.elem.hasClass(C.CONST.CLASS_HIDEV)&&t.elem.removeClass(C.CONST.CLASS_HIDEV),"function"==typeof t.afterRender&&t.afterRender(e),layui.event.call(t.elem[0],C.CONST.MOD_NAME,"afterRender("+t.id+")",e)},events:function(){var e,t=this,a=t.config,i=t.getContainer(),n=C.CONST.MOD_NAME,i=(t.documentElem?i.header:a).elem,a=a.trigger+(".lay_"+n+"_trigger"),n=t.documentElem?t.headerElem[1]:t.headerElem.join("");i.off(a).on(a,n,function(){t.change(p(this))}),r.onresize||(p(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){layui.each(C.cache.id,function(e){e=C.getInst(e);e&&e.roll("init")})},50)}),r.onresize=!0)}}),r={},t=C.Class;t.prototype.add=function(e){var t,a,i=this,n=(i.config,i.getContainer()),r=i.renderHeaderItem(e),o=i.renderBodyItem(e),d=(e=p.extend({active:!0},e),/(before|after)/.test(e.mode)?(a=i.data(),d=(t=e.hasOwnProperty("index"))?i.findHeaderItem(e.index):a.thisHeaderItem,t=t?i.findBodyItem(e.index):a.thisHeaderItem,d[e.mode](r),t[e.mode](o)):(a={prepend:"prepend",append:"append"}[e.mode||"append"]||"append",n.header.elem[a](r),n.body.elem[a](o)),e.active?i.change(r,!0):i.roll("auto"),i.data());"function"==typeof e.done&&e.done(d)},t.prototype.close=function(e,t){if(e&&e[0]){var a=this,i=a.config,n=e.index();if(e[0]&&"false"!==e.attr("lay-closable")){var r=a.data();if(!t)if(!1===layui.event.call(e[0],C.CONST.MOD_NAME,"beforeClose("+i.id+")",p.extend(r,{index:e.index()})))return;e.hasClass(C.CONST.CLASS_THIS)&&(e.next()[0]?a.change(e.next(),!0):e.prev()[0]&&a.change(e.prev(),!0)),e.remove(),a.findBodyItem(n).remove(),a.roll("auto",n);r=a.data();layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterClose("+i.id+")",r)}}},t.prototype.closeMult=function(e,t){var a,i=this,n=i.config,r=i.getContainer(),o=i.data(),d=r.header.items,l=r.body.items,r='[lay-closable="false"]',s=":not("+r+")",r=(t=t===undefined?o.index:t,d.each(function(e){var t=p(this).attr("lay-closable");t&&l.eq(e).attr("lay-closable",t)}),"false"!==o.thisHeaderItem.attr("lay-closable")&&("all"!==e&&e?t!==o.index&&i.change(i.findHeaderItem(t),!0):(a=d.filter(":gt("+o.index+")"+r).eq(0),o=p(d.filter(":lt("+o.index+")"+r).get().reverse()).eq(0),a[0]?i.change(a,!0):o[0]&&i.change(o,!0))),("other"===e?(d.eq(t).siblings(s).remove(),l.eq(t).siblings(s)):"right"===e?(d.filter(":gt("+t+")"+s).remove(),l.filter(":gt("+t+")"+s)):(d.filter(s).remove(),l.filter(s))).remove(),i.roll("auto"),i.data());layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterClose("+n.id+")",r)},t.prototype.change=function(e,t){if(e&&e[0]){var a=this,i=a.config,n=e.index(),r=e.find("a"),r="string"==typeof r.attr("href")&&"_blank"===r.attr("target"),o="string"==typeof e.attr("lay-unselect");if(!r&&!o){r=a.data();if(!t)if(!1===layui.event.call(e[0],C.CONST.MOD_NAME,"beforeChange("+i.id+")",p.extend(r,{from:{index:r.index,headerItem:r.thisHeaderItem},to:{index:e.index(),headerItem:e}})))return;e.addClass(C.CONST.CLASS_THIS).siblings().removeClass(C.CONST.CLASS_THIS),a.findBodyItem(n).addClass(C.CONST.CLASS_SHOW).siblings().removeClass(C.CONST.CLASS_SHOW),a.roll("auto",n);r=a.data();layui.event.call(r.thisHeaderItem[0],C.CONST.MOD_NAME,"afterChange("+i.id+")",r)}}},t.prototype.renderHeaderItem=function(e){var t=this.config,a=p(e.headerItem||t.headerItem||"
                • ");return a.html(e.title||"New Tab"),layui.each(e,function(e,t){/^(title|content|mode|done)$/.test(e)||a.attr("lay-"+e,t)}),this.appendClose(a,e),a},t.prototype.renderBodyItem=function(e){var t=this.config,t=p(e.bodyItem||t.bodyItem||'
                  ');return t.html(e.content||""),t},t.prototype.appendClose=function(e,t){var a=this;a.config.closable&&"false"!==(t=t||{}).closable&&"false"!==e.attr("lay-closable")&&!e.find("."+C.CONST.CLOSE)[0]&&((t=p('')).on("click",function(){return a.close(p(this).parent()),!1}),e.append(t))},t.prototype.renderClose=function(){var e=this,t=e.config,a=e.getContainer();t.closable?a.header.items.each(function(){e.appendClose(p(this))}):a.header.items.each(function(){p(this).find("."+C.CONST.CLOSE).remove()})},t.prototype.roll=function(e,i){var n=this,t=n.config,a=n.getContainer(),r=a.header.elem,o=a.header.items,a=r.prop("scrollWidth"),d=Math.ceil(r.outerWidth()),l=r.data("left")||0,s="scroll"===t.headerMode,c="layui-tabs-scroll",f="layui-tabs-bar",u=["layui-icon-prev","layui-icon-next"],m={elem:p('
                  '),bar:p(['
                  ','','',"
                  "].join(""))};if("normal"!==t.headerMode){var h,y=r.parent("."+c);if(s||!s&&d=d-l)return r.css("left",-a).data("left",-a),!1}),l=r.data("left")||0,y.find("."+u[0])[l<0?"removeClass":"addClass"](C.CONST.CLASS_DISABLED),y.find("."+u[1])[0')),n=(e.tree(a),i.elem=p(i.elem));if(n[0]){if(e.key=i.id||e.index,e.elem=a,e.elemNone=p('
                  '+i.text.none+"
                  "),n.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=p(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(T),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(T)}),e.events()}},l.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},l.prototype.tree=function(r,e){var d=this,s=d.config,o=s.customName,e=e||s.data;layui.each(e,function(e,i){var a,n,t=i[o.children]&&0"),c=p(['
                  ','
                  ','
                  ',s.showLine?t?'':'':'',s.showCheckbox?'':"",s.isJump&&i.href?''+(i[o.title]||i.label||s.text.defaultNodeName)+"":''+(i[o.title]||i.label||s.text.defaultNodeName)+"","
                  ",s.edit?(a={add:'',update:'',del:''},n=['
                  '],!0===s.edit&&(s.edit=["update","del"]),"object"==typeof s.edit?(layui.each(s.edit,function(e,i){n.push(a[i]||"")}),n.join("")+"
                  "):void 0):"","
                  "].join(""));t&&(c.append(l),d.tree(l,i[o.children])),r.append(c),c.prev("."+k)[0]&&c.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),t||c.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),d.spread(c,i),s.showCheckbox&&(i.checked&&d.checkids.push(i[o.id]),d.checkClick(c,i)),s.edit&&d.operate(c,i)})},l.prototype.spread=function(n,t){var l=this,c=l.config,e=n.children("."+b),i=e.children("."+g),a=i.find('input[same="layuiTreeCheck"]'),r=e.find("."+C),e=e.find("."+w),d=c.onlyIconControl?r:i,s="";d.on("click",function(e){var i=n.children("."+N),a=(d.children(".layui-icon")[0]?d:d.find(".layui-tree-icon")).children(".layui-icon");i[0]?n.hasClass(F)?(n.removeClass(F),i.slideUp(200),a.removeClass(x).addClass(v),l.updateFieldValue(t,"spread",!1)):(n.addClass(F),i.slideDown(200),a.addClass(x).removeClass(v),l.updateFieldValue(t,"spread",!0),c.accordion&&((i=n.siblings("."+k)).removeClass(F),i.children("."+N).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(x).addClass(v))):s="normal"}),e.on("click",function(){p(this).hasClass(u)||(s=n.hasClass(F)?c.onlyIconControl?"open":"close":c.onlyIconControl?"close":"open",a[0]&&l.updateFieldValue(t,"checked",a.prop("checked")),c.click&&c.click({elem:n,state:s,data:t}))})},l.prototype.updateFieldValue=function(e,i,a){i in e&&(e[i]=a)},l.prototype.setCheckbox=function(e,i,a){var t,n=this,l=n.config.customName,c=a.prop("checked");a.prop("disabled")||("object"!=typeof i[l.children]&&!e.find("."+N)[0]||e.find("."+N).find('input[same="layuiTreeCheck"]').each(function(e){this.disabled||((e=i[l.children][e])&&n.updateFieldValue(e,"checked",c),n.updateFieldValue(this,"checked",c))}),(t=function(e){var i,a,n;e.parents("."+k)[0]&&(a=(e=e.parent("."+N)).parent(),n=e.prev().find('input[same="layuiTreeCheck"]'),c?n.prop("checked",c):(e.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||n.prop("checked",!1)),t(a))})(e),n.renderForm("checkbox"))},l.prototype.checkClick=function(a,n){var t=this,l=t.config;a.children("."+b).children("."+g).on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var e=p(this).prev(),i=e.prop("checked");e.prop("disabled")||(t.setCheckbox(a,n,e),t.updateFieldValue(n,"checked",i),l.oncheck&&l.oncheck({elem:a,checked:i,data:n}))})},l.prototype.operate=function(r,d){var s=this,o=s.config,u=o.customName,e=r.children("."+b),h=e.children("."+g);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,e=p(this).data("type"),n=r.children("."+N),t={data:d,type:e,elem:r};if("add"==e){n[0]||(o.showLine?(h.find("."+C).addClass("layui-tree-icon"),h.find("."+C).children(".layui-icon").addClass(v).removeClass("layui-icon-file")):h.find(".layui-tree-iconArrow").removeClass(m),r.append('
                  '));var a,l=o.operate&&o.operate(t),c={};if(c[u.title]=o.text.defaultNodeName,c[u.id]=l,s.tree(r.children("."+N),[c]),o.showLine&&(n[0]?(n.hasClass(S)||n.addClass(S),r.find("."+N).each(function(){p(this).children("."+k).last().addClass(T)}),(n.children("."+k).last().prev().hasClass(T)?n.children("."+k).last().prev():n.children("."+k).last()).removeClass(T),!r.parent("."+N)[0]&&r.next()[0]&&n.children("."+k).last().removeClass(T)):(l=r.siblings("."+k),a=1,c=r.parent("."+N),layui.each(l,function(e,i){p(i).children("."+N)[0]||(a=0)}),(1==a?(l.children("."+N).addClass(L),l.children("."+N).children("."+k).removeClass(T),r.children("."+N).addClass(L),c.removeClass(S),c.children("."+k).last().children("."+N).children("."+k).last()):r.children("."+N).children("."+k)).addClass(T))),!o.showCheckbox)return;h.find('input[same="layuiTreeCheck"]')[0].checked&&(r.children("."+N).children("."+k).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),s.renderForm("checkbox")}else"update"==e?(l=h.children("."+w).html(),h.children("."+w).html(""),h.append(''),h.children(".layui-tree-editInput").val(f.unescape(l)).focus(),i=function(e){var i=f.escape(e.val().trim())||o.text.defaultNodeName;e.remove(),h.children("."+w).html(i),t.data[u.title]=i,o.operate&&o.operate(t)},h.children(".layui-tree-editInput").blur(function(){i(p(this))}),h.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),i(p(this)))})):y.confirm('\u786e\u8ba4\u5220\u9664\u8be5\u8282\u70b9 "'+(d[u.title]||"")+'" \u5417\uff1f',function(e){var l,a,i;o.operate&&o.operate(t),t.status="remove",y.close(e),r.prev("."+k)[0]||r.next("."+k)[0]||r.parent("."+N)[0]?(r.siblings("."+k).children("."+b)[0]?(o.showCheckbox&&(l=function(e){var i,a,n,t;e.parents("."+k)[0]&&(i=e.siblings("."+k).children("."+b),a=(e=e.parent("."+N).prev()).find('input[same="layuiTreeCheck"]')[0],n=1,(t=0)==a.checked)&&(i.each(function(e,i){i=p(i).find('input[same="layuiTreeCheck"]')[0];0!=i.checked||i.disabled||(n=0),i.disabled||(t=1)}),1==n)&&1==t&&(a.checked=!0,s.renderForm("checkbox"),l(e.parent("."+k)))})(r),o.showLine&&(e=r.siblings("."+k),a=1,i=r.parent("."+N),layui.each(e,function(e,i){p(i).children("."+N)[0]||(a=0)}),1==a?(n[0]||(i.removeClass(S),e.children("."+N).addClass(L),e.children("."+N).children("."+k).removeClass(T)),(r.next()[0]?i.children("."+k).last():r.prev()).children("."+N).children("."+k).last().addClass(T),r.next()[0]||r.parents("."+k)[1]||r.parents("."+k).eq(0).next()[0]||r.prev("."+k).addClass(T)):!r.next()[0]&&r.hasClass(T)&&r.prev().addClass(T))):(e=r.parent("."+N).prev(),o.showLine?(e.find("."+C).removeClass("layui-tree-icon"),e.find("."+C).children(".layui-icon").removeClass(x).addClass("layui-icon-file"),(i=e.parents("."+N).eq(0)).addClass(S),i.children("."+k).each(function(){p(this).children("."+N).children("."+k).last().addClass(T)})):e.find(".layui-tree-iconArrow").addClass(m),r.parents("."+k).eq(0).removeClass(F),r.parent("."+N).remove()),r.remove()):(r.remove(),s.elem.append(s.elemNone))})})},l.prototype.events=function(){var i=this,t=i.config;i.elem.find(".layui-tree-checkedFirst");i.setChecked(i.checkids),i.elem.find(".layui-tree-search").on("keyup",function(){var e=p(this),a=e.val(),e=e.nextAll(),n=[];e.find("."+w).each(function(){var i,e=p(this).parents("."+b);-1!=p(this).html().indexOf(a)&&(n.push(p(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+N)[0]&&i(e.parent("."+N).parent("."+k))})(e.parent("."+k)))}),e.find("."+b).each(function(){var e=p(this).parent("."+k);e.hasClass("layui-tree-searchShow")||e.addClass(m)}),0==e.find(".layui-tree-searchShow").length&&i.elem.append(i.elemNone),t.onsearch&&t.onsearch({elem:n})}),i.elem.find(".layui-tree-search").on("keydown",function(){p(this).nextAll().find("."+b).each(function(){p(this).parent("."+k).removeClass("layui-tree-searchShow "+m)}),p(".layui-tree-emptyText")[0]&&p(".layui-tree-emptyText").remove()})},l.prototype.getChecked=function(){var t=this,e=t.config,l=e.customName,i=[],a=[],c=(t.elem.find(".layui-form-checked").each(function(){i.push(p(this).prev()[0].value)}),function(e,n){layui.each(e,function(e,a){layui.each(i,function(e,i){if(a[l.id]==i)return t.updateFieldValue(a,"checked",!0),delete(i=p.extend({},a))[l.children],n.push(i),a[l.children]&&(i[l.children]=[],c(a[l.children],i[l.children])),!0})})});return c(p.extend({},e.data),a),a},l.prototype.setChecked=function(l){this.config;this.elem.find("."+k).each(function(e,i){var a=p(this).data("id"),n=p(i).children("."+b).find('input[same="layuiTreeCheck"]'),t=n.next();if("number"==typeof l){if(a.toString()==l.toString())return n[0].checked||t.click(),!1}else"object"==typeof l&&layui.each(l,function(e,i){if(i.toString()==a.toString()&&!n[0].checked)return t.click(),!0})})},n.that={},n.config={},t.reload=function(e,i){e=n.that[e];return e.reload(i),n.call(e)},t.getChecked=function(e){return n.that[e].getChecked()},t.setChecked=function(e,i){return n.that[e].setChecked(i)},t.render=function(e){e=new l(e);return n.call(e)},e(a,t)});layui.define(["laytpl","form"],function(e){"use strict";var d=layui.$,n=layui.laytpl,t=layui.form,a="transfer",i={config:{},index:layui[a]?layui[a].index+1e4:0,set:function(e){var t=this;return t.config=d.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,a,e,t)}},l=function(){var t=this,e=t.config,a=e.id||t.index;return l.that[a]=t,{config:l.config[a]=e,reload:function(e){t.reload.call(t,e)},getData:function(){return t.getData.call(t)}}},s="layui-hide",u="layui-btn-disabled",c="layui-none",r="layui-transfer-box",h="layui-transfer-header",o="layui-transfer-search",f="layui-transfer-data",y=function(e){return['
                  ','
                  ','","
                  ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
                    ',"
                    "].join("")},p=['
                    ',y({index:0,checkAllName:"layTransferLeftCheckAll"}),'
                    ','",'","
                    ",y({index:1,checkAllName:"layTransferRightCheckAll"}),"
                    "].join(""),v=function(e){var t=this;t.index=++i.index,t.config=d.extend({},t.config,i.config,e),t.render()};v.prototype.config={title:["\u5217\u8868\u4e00","\u5217\u8868\u4e8c"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"\u65e0\u6570\u636e",searchNone:"\u65e0\u5339\u914d\u6570\u636e"}},v.prototype.reload=function(e){var t=this;t.config=d.extend({},t.config,e),t.render()},v.prototype.render=function(){var e=this,t=e.config,a=e.elem=d(n(p,{open:"{{",close:"}}",tagStyle:"legacy"}).render({data:t,index:e.index})),i=t.elem=d(t.elem);i[0]&&(t.data=t.data||[],t.value=t.value||[],t.id="id"in t?t.id:elem.attr("id")||e.index,e.key=t.id,i.html(e.elem),e.layBox=e.elem.find("."+r),e.layHeader=e.elem.find("."+h),e.laySearch=e.elem.find("."+o),e.layData=a.find("."+f),e.layBtn=a.find(".layui-transfer-active .layui-btn"),e.layBox.css({width:t.width,height:t.height}),e.layData.css({height:(i=t.height-e.layHeader.outerHeight(),t.showSearch&&(i-=e.laySearch.outerHeight()),i-2)}),e.renderData(),e.events())},v.prototype.renderData=function(){var e=this,t=e.config,l=[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}];e.parseData(function(a){var i=a.selected?1:0,n=["
                  • ",'',"
                  • "].join("");i?layui.each(t.value,function(e,t){t==a.value&&a.selected&&(l[i].views[e]=n)}):l[i].views.push(n),delete a.selected}),e.layData.eq(0).html(l[0].views.join("")),e.layData.eq(1).html(l[1].views.join("")),e.renderCheckBtn()},v.prototype.renderForm=function(e){t.render(e,"LAY-transfer-"+this.index)},v.prototype.renderCheckBtn=function(c){var r=this,o=r.config;c=c||{},r.layBox.each(function(e){var t=d(this),a=t.find("."+f),t=t.find("."+h).find('input[type="checkbox"]'),i=a.find('input[type="checkbox"]'),n=0,l=!1;i.each(function(){var e=d(this).data("hide");(this.checked||this.disabled||e)&&n++,this.checked&&!e&&(l=!0)}),t.prop("checked",l&&n===i.length),r.layBtn.eq(e)[l?"removeClass":"addClass"](u),c.stopNone||(i=a.children("li:not(."+s+")").length,r.noneView(a,i?"":o.text.none))}),r.renderForm("checkbox")},v.prototype.noneView=function(e,t){var a=d('

                    '+(t||"")+"

                    ");e.find("."+c)[0]&&e.find("."+c).remove(),t.replace(/\s/g,"")&&e.append(a)},v.prototype.setValue=function(){var e=this.config,t=[];return this.layBox.eq(1).find("."+f+' input[type="checkbox"]').each(function(){d(this).data("hide")||t.push(this.value)}),e.value=t,this},v.prototype.parseData=function(t){var i=this.config,n=[];return layui.each(i.data,function(e,a){a=("function"==typeof i.parseData?i.parseData(a):a)||a,n.push(a=d.extend({},a)),layui.each(i.value,function(e,t){t==a.value&&(a.selected=!0)}),t&&t(a)}),i.data=n,this},v.prototype.getData=function(e){var t=this.config,i=[];return this.setValue(),layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&i.push(t)})}),i},v.prototype.transfer=function(e,t){var a,i=this,n=i.config,l=i.layBox.eq(e),c=[],t=(t?((a=(t=t).find('input[type="checkbox"]'))[0].checked=!1,l.siblings("."+r).find("."+f).append(t.clone()),t.remove(),c.push(a[0].value),i.setValue()):l.each(function(e){d(this).find("."+f).children("li").each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t.data("hide");t[0].checked&&!a&&(t[0].checked=!1,l.siblings("."+r).find("."+f).append(e.clone()),e.remove(),c.push(t[0].value)),i.setValue()})}),i.renderCheckBtn(),l.siblings("."+r).find("."+o+" input"));""!==t.val()&&t.trigger("keyup"),n.onchange&&n.onchange(i.getData(c),e)},v.prototype.events=function(){var n=this,l=n.config;n.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var e=d(this).prev(),t=e[0].checked,a=e.parents("."+r).eq(0).find("."+f);e[0].disabled||("all"===e.attr("lay-type")&&a.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=t)}),setTimeout(function(){n.renderCheckBtn({stopNone:!0})},0))}),n.elem.on("dblclick","."+f+">li",function(e){var t=d(this),a=t.children('input[type="checkbox"]'),i=t.parent().parent().data("index");a[0].disabled||!1!==("function"==typeof l.dblclick?l.dblclick({elem:t,data:n.getData([a[0].value])[0],index:i}):null)&&n.transfer(i,t)}),n.layBtn.on("click",function(){var e=d(this),t=e.data("index");e.hasClass(u)||n.transfer(t)}),n.laySearch.find("input").on("keyup",function(){var i=this.value,e=d(this).parents("."+o).eq(0).siblings("."+f),t=e.children("li"),t=(t.each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t[0].title,a=("cs"!==l.showSearch&&(a=a.toLowerCase(),i=i.toLowerCase()),-1!==a.indexOf(i));e[a?"removeClass":"addClass"](s),t.data("hide",!a)}),n.renderCheckBtn(),t.length===e.children("li."+s).length);n.noneView(e,t?l.text.searchNone:"")})},l.that={},l.config={},i.reload=function(e,t){e=l.that[e];return e.reload(t),l.call(e)},i.getData=function(e){return l.that[e].getData()},i.render=function(e){e=new v(e);return l.call(e)},e(a,i)});layui.define(["jquery","lay"],function(e){"use strict";var o=layui.$,l=layui.lay,t=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=o.extend({},n.config,e),n},on:function(e,n){return layui.onevent.call(this,r,e,n)}}),r="carousel",s="layui-this",u="layui-carousel-left",c="layui-carousel-right",m="layui-carousel-prev",h="layui-carousel-next",a="layui-carousel-arrow",d="layui-carousel-ind",n=function(e){var n=this;n.config=o.extend({},n.config,t.config,e),n.render()};n.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},n.prototype.render=function(){var e=this,n=e.config,i=o(n.elem);if(1*[carousel-item]>*"),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(s),e.indicator(),e.arrow(),e.autoplay(),1=this.elemItem.length?0:e},n.prototype.addIndex=function(e){var n=this.config;n.index=n.index+(e=e||1),n.index>=this.elemItem.length&&(n.index=0)},n.prototype.subIndex=function(e){var n=this.config;n.index=n.index-(e=e||1),n.index<0&&(n.index=this.elemItem.length-1)},n.prototype.autoplay=function(){var e=this,n=e.config,i=e.elemItem.length;n.autoplay&&(clearInterval(e.timer),1',''].join(""));e.elem.attr("lay-arrow",e.arrow),e.elem.find("."+a)[0]&&e.elem.find("."+a).remove(),1i.index?n.slide("add",e-i.index):e
                      ',(n=[],layui.each(e.elemItem,function(e){n.push("")}),n.join("")),"
                    "].join(""));i.elem.attr("lay-indicator",i.indicator),i.elem.find("."+d)[0]&&i.elem.find("."+d).remove(),1t[a?"height":"width"]()/3)&&o.slide(0a.length&&(a.value=a.length),parseInt(a.value)===a.value||a.half||(a.value=Math.ceil(a.value)-a.value<.5?Math.ceil(a.value):Math.floor(a.value)),'
                      "),i=1;i<=a.length;i++){var n='
                    • ";a.half&&parseInt(a.value)!==a.value&&i==Math.ceil(a.value)?t=t+'
                    • ":t+=n}t+="
                    ",a.text&&(t+=''+a.value+"");var s=a.elem,o=s.next("."+c.ELEM);o[0]&&o.remove(),e.elemTemplate=u(t),a.span=e.elemTemplate.next("span"),a.setText&&a.setText(a.value),s.html(e.elemTemplate),s.addClass("layui-inline"),a.readonly||e.action()},extendsInstance:function(){var a=this,l=a.config;return{setvalue:function(e){l.value=e,a.render()}}}}),c=l.CONST;l.Class.prototype.action=function(){var n=this.config,t=this.elemTemplate,i=t.find("i").width(),l=t.children("li");l.each(function(e){var a=e+1,l=u(this);l.on("click",function(e){n.value=a,n.half&&e.pageX-u(this).offset().left<=i/2&&(n.value=n.value-.5),n.text&&t.next("span").text(n.value),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value)}),l.on("mousemove",function(e){t.find("i").each(function(){u(this).addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF)}),t.find("i:lt("+a+")").each(function(){u(this).addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE)}),n.half&&e.pageX-u(this).offset().left<=i/2&&l.children("i").addClass(c.ICON_RATE_HALF).removeClass(c.ICON_RATE_SOLID)}),l.on("mouseleave",function(){t.find("i").each(function(){u(this).addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF)}),t.find("i:lt("+Math.floor(n.value)+")").each(function(){u(this).addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE)}),n.half&&parseInt(n.value)!==n.value&&t.children("li:eq("+Math.floor(n.value)+")").children("i").addClass(c.ICON_RATE_HALF).removeClass(c.ICON_SOLID_RATE)})}),a.touchSwipe(t,{onTouchMove:function(e,a){var i;Date.now()-a.timeStart<=200||(a=e.touches[0].pageX,e=t.width()/n.length,a=(a-t.offset().left)/e,(i=(i=(e=a%1)<=.5&&n.half?.5+(a-e):Math.ceil(a))>n.length?n.length:i)<0&&(i=0),l.each(function(e){var a=u(this).children("i"),l=Math.ceil(i)-e==1,t=Math.ceil(i)>e,e=i-e==.5;t?(a.addClass(c.ICON_RATE_SOLID).removeClass(c.ICON_HALF_RATE),n.half&&e&&a.addClass(c.ICON_RATE_HALF).removeClass(c.ICON_RATE_SOLID)):a.addClass(c.ICON_RATE).removeClass(c.ICON_SOLID_HALF),a.toggleClass("layui-rate-hover",l)}),n.value=i,n.text&&t.next("span").text(n.value),n.setText&&n.setText(n.value))},onTouchEnd:function(e,a){Date.now()-a.timeStart<=200||(t.find("i").removeClass("layui-rate-hover"),n.choose&&n.choose(n.value),n.setText&&n.setText(n.value))}})},e(c.MOD_NAME,l)});layui.define("jquery",function(o){"use strict";var w=layui.$,l=function(o){};l.prototype.load=function(o){var i,n,r,l,c,m,e,t,a,f,s,u,p,d,y,g=this,h=0,v=w((o=o||{}).elem);if(v[0])return c=w(o.scrollElem||document),m="mb"in o?o.mb:50,e=!("isAuto"in o)||o.isAuto,t=o.moreText||"\u52a0\u8f7d\u66f4\u591a",a=o.end||"\u6ca1\u6709\u66f4\u591a\u4e86",f="top"===(o.direction||"bottom"),g._cleanup(v,c),s=o.scrollElem&&o.scrollElem!==document,p=w('"),v.find(".layui-flow-more")[0]||v[f?"prepend":"append"](p),d=function(o,l){var e=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,t=c.scrollTop();o=w(o),p[f?"after":"before"](o),(l=0==l||null)?p.html(a):p.find("a").html(u),n=l,i=null,r&&r(),f&&(o=s?c.prop("scrollHeight"):document.documentElement.scrollHeight,1===h?c.scrollTop(o):1'),"function"==typeof o.done&&o.done(++h,d)})(),p.find("a").on("click.flow",function(){w(this);n||i||y()}),o.isLazyimg&&(r=g.lazyimg({elem:o.elem+" img",scrollElem:o.scrollElem,direction:o.direction})),e&&c.on("scroll.flow",function(){var e=w(this),t=e.scrollTop();l&&clearTimeout(l),!n&&v.width()&&(l=setTimeout(function(){var o=(s?e:w(window)).height(),l=s?e.prop("scrollHeight"):document.documentElement.scrollHeight;(f?t<=m:l-t-o<=m)&&!i&&y()},100))}),g},l.prototype.lazyimg=function(o){var l,m=this,a=0,f=w((o=o||{}).scrollElem||document),s=o.elem||"img",n="top"===(o.direction||"bottom"),u=o.scrollElem&&o.scrollElem!==document,p=function(l,o){var e,t=f.scrollTop(),o=t+o,i=u?l.offset().top-f.offset().top+t:l.offset().top;(n?i+l.height():i)>=t&&i<=o&&l.attr("lay-src")&&(e=l.attr("lay-src"),layui.img(e,function(){var o=m.lazyimg.elem.eq(a);l.attr("src",e).removeAttr("lay-src"),o[0]&&r(o),a++},function(){m.lazyimg.elem.eq(a);l.removeAttr("lay-src")}))},r=function(o,l){var e=(u?l||f:w(window)).height(),t=f.scrollTop(),i=t+e;if(m.lazyimg.elem=w(s),o)p(o,e);else for(var n=0;n"),preview:"Preview"},wordWrap:!0,lang:"text",highlighter:!1,langMarker:!1},R=layui.code?layui.code.index+1e4:0,j=function(e){return String(e).replace(/\s+$/,"").replace(/^\n|\n$/,"")};e("code",function(l,e){var o,i,t,a,n,d,c,s,r,u,y,p,E,f,h,v,m,L,_,M,C,g={config:l=x.extend(!0,{},T,l),reload:function(e){layui.code(this.updateOptions(e))},updateOptions:function(e){return delete(e=e||{}).elem,x.extend(!0,l,e)},reloadCode:function(e){layui.code(this.updateOptions(e),"reloadCode")}},w=x(l.elem);return 1',l.ln?['
                    ',D.digit(t+1)+".","
                    "].join(""):"",'
                    ',e||" ","
                    ",""].join("")})}},a=l.code,n=function(e){return"function"==typeof l.codeParse?l.codeParse(e,l):e},"reloadCode"===e?o.children(".layui-code-wrap").html(w(n(a)).html):(d=layui.code.index=++R,o.attr("lay-code-index",d),(M=A.CDDE_DATA_CLASS in o.data())&&o.attr("class",o.data(A.CDDE_DATA_CLASS)||""),M||o.data(A.CDDE_DATA_CLASS,o.attr("class")),c={copy:{className:"file-b",title:["\u590d\u5236\u4ee3\u7801"],event:function(e){var t=D.unescape(n(l.code)),a="function"==typeof l.onCopy;lay.clipboard.writeText({text:t,done:function(){if(a&&!1===l.onCopy(t,!0))return;W.msg("\u5df2\u590d\u5236",{icon:1})},error:function(){if(a&&!1===l.onCopy(t,!1))return;W.msg("\u590d\u5236\u5931\u8d25",{icon:2})}})}}},function b(){var e=o.parent("."+A.ELEM_PREVIEW),t=e.children("."+A.ELEM_TAB),a=e.children("."+A.ELEM_ITEM+"-preview");return t.remove(),a.remove(),e[0]&&o.unwrap(),b}(),l.preview&&(M="LAY-CODE-DF-"+d,f=l.layout||["code","preview"],s="iframe"===l.preview,E=x('
                    '),C=x('
                    '),r=x('
                    '),_=x('
                    '),u=x('
                    '),l.id&&E.attr("id",l.id),E.addClass(l.className),C.attr("lay-filter",M),layui.each(f,function(e,t){var a=x('
                  • ');0===e&&a.addClass("layui-this"),a.html(l.text[t]),r.append(a)}),x.extend(c,{full:{className:"screen-full",title:["\u6700\u5927\u5316\u663e\u793a","\u8fd8\u539f\u663e\u793a"],event:function(e){var e=e.elem,t=e.closest("."+A.ELEM_PREVIEW),a="layui-icon-"+this.className,i="layui-icon-screen-restore",l=this.title,o=x("html,body"),n="layui-scrollbar-hide";e.hasClass(a)?(t.addClass(A.ELEM_FULL),e.removeClass(a).addClass(i),e.attr("title",l[1]),o.addClass(n)):(t.removeClass(A.ELEM_FULL),e.removeClass(i).addClass(a),e.attr("title",l[0]),o.removeClass(n))}},window:{className:"release",title:["\u5728\u65b0\u7a97\u53e3\u9884\u89c8"],event:function(e){D.openWin({content:n(l.code)})}}}),l.copy&&("array"===layui.type(l.tools)?-1===l.tools.indexOf("copy")&&l.tools.unshift("copy"):l.tools=["copy"]),u.on("click",">i",function(){var e=x(this),t=e.data("type"),e={elem:e,type:t,options:l,rawCode:l.code,finalCode:D.unescape(n(l.code))};c[t]&&"function"==typeof c[t].event&&c[t].event(e),"function"==typeof l.toolsEvent&&l.toolsEvent(e)}),l.addTools&&l.tools&&(l.tools=[].concat(l.tools,l.addTools)),layui.each(l.tools,function(e,t){var a="object"==typeof t,i=a?t:c[t]||{className:t,title:[t]},l=i.className||i.type,o=i.title||[""],a=a?i.type||l:t;a&&(c[a]||((t={})[a]=i,x.extend(c,t)),u.append(''))}),o.addClass(A.ELEM_ITEM).wrap(E),C.append(r),l.tools&&C.append(u),o.before(C),s&&_.html(''),y=function(e){var t=e.children("iframe")[0];s&&t?t.srcdoc=n(l.code):e.html(l.code),setTimeout(function(){"function"==typeof l.done&&l.done({container:e,options:l,render:function(){N.render(e.find(".layui-form")),S.render(),I.render({elem:["."+A.ELEM_PREVIEW,".layui-tabs"].join(" ")})}})},3)},"preview"===f[0]?(_.addClass(A.ELEM_SHOW),o.before(_),y(_)):o.addClass(A.ELEM_SHOW).after(_),l.previewStyle=[l.style,l.previewStyle].join(""),_.attr("style",l.previewStyle),S.on("tab("+M+")",function(e){var t=x(this),a=x(e.elem).closest("."+A.ELEM_PREVIEW).find("."+A.ELEM_ITEM),e=a.eq(e.index);a.removeClass(A.ELEM_SHOW),e.addClass(A.ELEM_SHOW),"preview"===t.attr("lay-id")&&y(e),L()})),p=x(''),o.addClass((E=["layui-code-view layui-border-box"],l.wordWrap||E.push("layui-code-nowrap"),E.join(" "))),(C=l.theme||l.skin)&&(o.removeClass("layui-code-theme-dark layui-code-theme-light"),o.addClass("layui-code-theme-"+C)),l.highlighter&&o.addClass([l.highlighter,"language-"+l.lang,"layui-code-hl"].join(" ")),f=w(l.encode?D.escape(n(a)):a),h=f.lines,o.html(p.html(f.html)),l.ln&&o.append('
                    '),l.height&&p.css("max-height",l.height),l.codeStyle=[l.style,l.codeStyle].join(""),l.codeStyle&&p.attr("style",function(e,t){return(t||"")+l.codeStyle}),v=[{selector:">.layui-code-wrap>.layui-code-line{}",setValue:function(e,t){e.style["padding-left"]=t+"px"}},{selector:">.layui-code-wrap>.layui-code-line>.layui-code-line-number{}",setValue:function(e,t){e.style.width=t+"px"}},{selector:">.layui-code-ln-side{}",setValue:function(e,t){e.style.width=t+"px"}}],m=lay.style({target:o[0],id:"DF-code-"+d,text:x.map(x.map(v,function(e){return e.selector}),function(e,t){return['.layui-code-view[lay-code-index="'+d+'"]',e].join(" ")}).join("")}),L=function b(){var e,i;return l.ln&&(e=Math.floor(h.length/100),i=p.children("."+A.ELEM_LINE).last().children("."+A.ELEM_LINE_NUM).outerWidth(),o.addClass(A.ELEM_LN_MODE),e)&&A.LINE_RAW_WIDTH
                  • ')).html(l.title||l.text.code),o.prepend(_)),M=x('
                    '),l.copy&&!l.preview&&((C=x(['','',""].join(""))).on("click",function(){c.copy.event()}),M.append(C)),l.langMarker&&M.append(''+l.lang+""),l.about&&M.append(l.about),o.append(M),l.preview||setTimeout(function(){"function"==typeof l.done&&l.done({})},3),l.elem.length===1+d&&"function"==typeof l.allDone&&l.allDone())),g})}),layui["layui.all"]||layui.addcss("modules/code.css?v=6","skincodecss"); //# sourceMappingURL=layui.js.map diff --git a/dist/layui.js.map b/dist/layui.js.map index a2f61e3f..63e0f8e2 100644 --- a/dist/layui.js.map +++ b/dist/layui.js.map @@ -1 +1 @@ -{"version":3,"sources":["layui.js","modules/layui.all.js","modules/lay.js","modules/laytpl.js","modules/laypage.js","modules/laydate.js","modules/jquery.js","modules/component.js","modules/layer.js","modules/util.js","modules/dropdown.js","modules/slider.js","modules/colorpicker.js","modules/element.js","modules/upload.js","modules/form.js","modules/table.js","modules/treeTable.js","modules/tabs.js","modules/tree.js","modules/transfer.js","modules/carousel.js","modules/rate.js","modules/flow.js","modules/code.js"],"names":["window","jsPath","document","location","config","timeout","debug","version","cache","modules","status","event","callback","Class","this","v","GLOBAL","LAYUI_GLOBAL","getPath","currentScript","tagName","toUpperCase","src","js","getElementsByTagName","last","length","i","readyState","dir","substring","lastIndexOf","error","msg","type","console","builtinModules","builtin","lay","layer","laydate","laypage","laytpl","form","upload","dropdown","transfer","tree","table","treeTable","tabs","element","rate","colorpicker","slider","carousel","flow","util","code","jquery","component","all","layui.all","onNodeLoad","Object","assign","target","to","arguments","sourcesIndex","nextSource","undefined","nextKey","prototype","hasOwnProperty","call","node","done","onCompleted","e","test","currentTarget","srcElement","removeListener","onError","detachEvent","removeEventListener","attachEvent","toString","indexOf","addEventListener","EV_REMOVE","options","define","deps","use","setModule","mod","exports","layui","mods","from","item","modInfo","isExternalModule","onCallback","pollCallback","head","that","host","match","jQuery","fn","on","each","index","splice","$","push","slice","apply","poll","api","setTimeout","modSrc","url","base","replace","createElement","async","charset","Date","getTime","appendChild","removeChild","extend","settings","modName","firstSymbolEXP","disuse","isArray","getStyle","name","style","currentStyle","getComputedStyle","getPropertyValue","getAttribute","_","c","link","href","id","isArr","value","rel","getElementById","addcss","factory","img","Image","complete","onload","onerror","router","hash","data","path","pathname","search","split","obj","_index","key","substr","storage","localStorage","JSON","parse","remove","stringify","sessionData","sessionStorage","device","agent","navigator","userAgent","toLowerCase","getVersion","label","exp","RegExp","result","os","ie","ActiveXObject","weixin","android","ios","mobile","hint","_typeof","operand","String","_isArray","len","sort","arr","desc","notClone","clone","o1","o2","v1","v2","isNaN","isNum","reverse","stope","thisEvent","stopPropagation","cancelBubble","onevent","events","params","filter","eventName","filterName","off","debounce","func","wait","context","args","clearTimeout","throttle","cooldown","selector","elem","querySelectorAll","Array","searchElement","fromIndex","rst","val","constructor","ai","digit","num","str","Math","pow","elemName","attr","setAttribute","hasScrollbar","body","scrollHeight","innerHeight","documentElement","clientHeight","getStyleRules","rules","sheet","styleSheet","cssRules","styleText","text","cssText","innerHTML","styleElem","find","append","position","opts","scrollArea","winArea","margin","top","offsetX","offsetY","rect1","clickType","rect","left","clientX","clientY","right","bottom","getBoundingClientRect","elemWidth","offsetWidth","elemHeight","offsetHeight","align","allowBottomOut","offset","SYSTEM_RELOAD","othis","attrName","attrValue","Function","ev","errorText","join","isTopElem","topElems","matched","clipboard","writeText","legacyCopy","opacity","select","execCommand","err","then","passiveSupported","defineProperty","get","touchEventsSupported","touchSwipe","state","onMove","onEnd","targetElem","preventDefault","pointerStart","x","y","pointerEnd","distanceX","distanceY","direction","timeStart","onStart","touches","passive","now","onTouchStart","abs","onTouchMove","onTouchEnd","__lay_touchswipe_cb_","addEvent","eventsCacheName","listener","include","_rawFn","removeEvent","newEvents","onClickOutside","handler","eventType","scopeTarget","scope","ignore","useCapture","capture","detectIframe","bindEventListener","cleanup","el","eventTarget","eventPath","composedPath","concat","getParents","memo","parentNode","shouldIgnore","targetElements","j","targetEl","activeElement","contains","hasOwn","prop","addStr","new_str","ii","removeStr","isObject","children","child","addClass","className","removeClass","hasClass","has","css","parseValue","thisKey","thisValue","width","height","removeAttr","removeAttribute","html","global","vars","escape","charCodeAt","tools","message","open","close","condense","tagStyle","template","render","compile","compiler","compilerCache","checkErrorArea","source","openDelimiter","closeDelimiter","regex","placeholder","tagRegex","cores","sides","before","unshift","after","sidesRegex","delimSides","clear","nowrap","tpl","strConcatenation","output","statement","tag","delimiter","_escape","createCompiler","codeBuilder","srcs","validLine","errLine","inst","querySelector","extendVars","variables","set","module","amd","doc","DISABLED","view","elemArr","countText","plate","groups","Number","layout","count","curr","limits","limit","pages","ceil","prev","next","views","page","pager","first","halve","floor","start","end","max","theme","def","limitTemplet","refresh","skip","skipText","jump","isskip","childs","btn","input","nodeName","keyCode","load","even","isLayui","ready","cssname","MOD_NAME","MOD_ID","weekStart","laydate_dir","thisModule","content","reload","THIS","LIMIT_YEAR","ELEM_STATIC","ELEM_LIST","ELEM_SELECTED","ELEM_HINT","ELEM_PREV","ELEM_NEXT","ELEM_CONFIRM","ELEM_TIME_TEXT","ELEM_TIME_BTN","ELEM_PREVIEW","ELEM_SHADE","newThat","getThis","init","dateType","formatArr","format","isLeapYear","year","range","isInitValue","min","trigger","show","showBottom","isPreview","btns","lang","calendar","mark","holidays","zIndex","change","autoConfirm","shade","cn","weeks","time","timeTips","startTime","endTime","dateTips","month","confirm","invalidDate","formatError","preview","en","markerOfChineseFestivals","0-1-1","0-2-14","0-3-8","0-3-12","0-4-1","0-5-1","0-5-4","0-6-1","0-9-10","0-10-1","0-12-25","isStatic","date","datetime","eventElem","fullPanel","rangeStr","rangeLinked","autoCalendarModel","startDate","endDate","auto","rangeElem","EXP_IF","EXP_SPLIT","EXP","EXP_IF_ONE","isInput","ymd","hms","day","tDate","newDate","getFullYear","getMonth","getDate","hours","minutes","seconds","thisDate","getHours","getMinutes","getSeconds","elemID","formatToDisplay","setValue","systemDate","themeStr","shortcutBtns","colorTheme","class","elemMain","elemHeader","elemCont","elemTable","divFooter","footer","divShortcut","shortcut","divHeader","headerChild","divContent","thead","theadTr","tr","insertRow","th","insertCell","insertBefore","ELEM_MAIN","title","shortcuts","btnSetting","dataset","timeBtn","dateTime","endState","listYM","checkDate","click","main","isPrimaryColor","thisElemDate","thisId","parseInt","insertAdjacentHTML","changeEvent","renderAdditional","div","hinTimer","ms","getAsYM","Y","M","thisMaxDate","vals","arrDate","minMaxError","checkValid","getEndDate","initDate","startEnd","thisv","parseFloat","EYM","_i","_v","getDateTime","markRender","tdElem","YMD","markers","markText","keys","td","holidaysRender","insertHtml","idx","dayStr","ymdStr2","ymd1","ymd2","ymdStr1","cellRender","dateObj","panelMode","originElem","startOfYear","setFullYear","setHours","endOfYear","startOfMonth","setDate","endOfMonth","addDays","amount","isDisabledYearOrMonth","startDay","endDay","numOfDays","disabledCount","disabledDate","isDisabledDate","rangeType","disabledType","normalizedDate","isDisabledTime","isDisabledItem","disabledTime","compareVal","rangeFn","rangeFnParam","isDisabledDateTime","timestamp","isOut","thisDateTime","startWeek","prevMaxDate","isAlone","tds","elemYM","firstDate","getDay","index_","st","panelYM","list","setBtnStatus","timeParams","stampRange","yearNum","setTimeStatus","showHour","liElem","hideCount","scroll","haveSpan","ul","haveList","isCN","startY","li","lay-ym","ol","childUL","showMinute","showSecond","isShow","isYearOrMonth","isChangeMonth","ym","closeList","choose","span","scrollTop","olElem","overflowY","touchAction","tips","elemBtn","displayValueCallback","props","getOwnPropertyDescriptor","HTMLInputElement","displayValue","elemPreview","color","thisTime","param","checkPanelDate","panelMonth","startPanel","firstRenderIndex","needFullRender","panelIndex","isChange","dateTimeTemp","renderMode","checkState","panelIdx","tool","active","addSubYear","isYear","isMonth","prevYear","prevMonth","YM","nextMonth","nextYear","header","layYM","layType","toLocaleLowerCase","showEvent","eventHandler","unbind","run","closeStop","getInst","one","w","Error","noGlobal","getProto","getPrototypeOf","flat","array","class2type","fnToString","ObjectFunctionString","support","isFunction","nodeType","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","script","toType","rhtmlSuffix","isArrayLike","toArray","pushStack","elems","ret","merge","prevObject","map","eq","grep","_elem","odd","copy","copyIsArray","deep","isPlainObject","expando","random","isReady","noop","proto","Ctor","isEmptyObject","globalEval","textContent","nodeValue","makeArray","results","inArray","isXMLDoc","namespace","namespaceURI","docElem","ownerDocument","second","invert","matches","callbackExpect","arg","guid","Symbol","iterator","pop","whitespace","rtrimCSS","rcssescape","a","b","bup","compareDocumentPosition","fcssescape","ch","asCodePoint","escapeSelector","sel","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","preferredDoc","pushNative","dirruns","classCache","createCache","tokenCache","nonnativeSelectorCache","sortOrder","booleans","identifier","attributes","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","nonHex","high","fromCharCode","unloadHandler","setDocument","inDisabledFieldset","addCombinator","disabled","childNodes","els","seed","m","nid","newSelector","newContext","exec","getElementsByClassName","testContext","tokenize","toSelector","qsaError","cacheLength","shift","markFunction","assert","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","webkitMatchesSelector","msMatchesSelector","subWindow","defaultView","getById","getElementsByName","disconnectedMatch","cssHas","attrId","getAttributeNode","compare","sortDetached","expr","elements","matchesSelector","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","pattern","operator","check","what","_argument","simple","forward","ofType","_context","xml","outerCache","nodeIndex","parent","useCache","diff","firstChild","lastChild","pseudo","setFilters","not","matcher","unmatched","elemLang","root","focus","hasFocus","tabIndex","enabled","checked","selected","selectedIndex","empty","nextSibling","button","_matchIndexes","lt","gt","nth","radio","checkbox","file","password","image","submit","reset","parseOnly","tokens","soFar","preFilters","cached","combinator","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","matcherOut","preMap","postMap","preexisting","contexts","matcherIn","elementMatchers","setMatchers","bySet","byElement","superMatcher","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","filters","unique","getText","isXML","selectors","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","rparentsprev","parseHTML","guaranteedUnique","contents","sibling","cur","targets","l","closest","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","Callbacks","object","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","disable","lock","fireWith","Deferred","tuples","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","rejectWith","getErrorHook","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","readyList","asyncError","warn","stack","readyException","completed","readyWait","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","camelCase","string","acceptData","owner","Data","uid","configurable","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","removeData","_data","_removeData","attrs","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","tmp","defer","pnum","rcssNum","cssExpand","isAttached","composed","isHiddenWithinTree","getRootNode","display","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","createDocumentFragment","checkClone","cloneNode","noCloneChecked","defaultValue","option","col","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","types","origFn","leverageNative","isSetup","saved","isTrigger","delegateType","stopImmediatePropagation","isImmediatePropagationStopped","handleObjIn","eventHandle","t","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","handleObj","delegateCount","setup","mappedTypes","origCount","teardown","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","noBubble","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","char","charCode","buttons","pointerId","pointerType","screenX","screenY","targetTouches","toElement","which","blur","focusMappedHandler","documentMode","simulate","attaches","dataHolder","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","prepend","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","pixelPositionVal","boxSizingReliableVal","scrollboxSizeVal","pixelBoxStylesVal","reliableTrDimensionsVal","reliableMarginLeftVal","container","rnumnonpx","rcustomProp","getStyles","opener","swap","old","rboxStyle","computeStyleTests","divStyle","roundPixelMeasures","marginLeft","measure","round","curCSS","computed","isCustomProp","pixelBoxStyles","minWidth","maxWidth","addGetHookIf","conditionFn","hookFn","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","trStyle","trChild","borderTopWidth","borderBottomWidth","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","marginDelta","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","setProperty","isFinite","scrollboxSizeBuggy","padding","border","prefix","suffix","expand","expanded","parts","propHooks","percent","eased","duration","pos","step","fx","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","bind","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","prefilter","speed","opt","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","checkOn","optSelected","radioValue","boolHook","rfocusable","nType","attrHooks","attrNames","getter","lowercaseName","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","classNames","curValue","finalValue","toggleClass","stateVal","isValidValue","rreturn","valHooks","optionSet","rquery","rfocusMorph","parseXML","parserErrorElem","DOMParser","parseFromString","stopPropagationCallback","rbracket","onlyHandlers","bubbleType","ontype","lastElement","parentWindow","triggerHandler","rCRLF","rsubmitterTypes","rsubmittable","traditional","s","valueOrFunction","encodeURIComponent","buildParams","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxConvert","response","isSuccess","conv2","current","conv","converters","responseFields","dataFilter","throws","lastModified","etag","isLocal","protocol","processData","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","fireGlobals","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","abort","statusText","finalText","crossDomain","urlAnchor","hasContent","uncached","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","ct","finalDataType","firstDataType","modified","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","oldCallbacks","cors","errorCallback","username","xhrFields","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","scriptCharset","evt","rjsonp","rtrim","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curCSSTop","curTop","curOffset","curCSSLeft","curElem","curLeft","curPosition","using","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","trim","isDeepReload","CONST","CLASS_THIS","CLASS_SHOW","CLASS_HIDE","CLASS_HIDEV","CLASS_DISABLED","CLASS_NONE","instance","extendsInstance","beforeInit","rerender","layOptions","beforeRender","MOD_CACHE_NAME","removeCache","getAllInst","removeInst","layer_dir","removeFocus","beforeEnd","resize","minStackIndex","minStackArr","app","STATUS_NAME","getLinkElem","alert","yes","cancel","btn2","rskin","skin","doms","closeBtn","icon","follow","fixed","setings","creat","pt","SHADE_KEY","1","2","3","4","5","6","slideLeft","slideRight","SHADE","MOVE","RECORD_HEIGHT_KEY","move","area","isOutAnim","minStack","moveType","scrollbar","vessel","conType","times","titype","ismax","maxmin","titleHTML","face","animClass","additFaceClass","btnAlign","layero","elemShade","setAnim","restore","hideOnClose","closeAll","tipsMore","moveElem","shadeo","setScrollbar","background-color","transition","innerWidth","outerWidth","titHeight","outerHeight","btnHeight","setHeight","maxHeight","offsetTop","offsetLeft","layArea","goal","tipsG","guide","autoLeft","tipLeft","where","tipTop","padding-right","_DOC","DATA_NAME","resizeElem","dict","eventMoveElem","eventResizeElem","docEvent","setRig","setBot","X","stX","stY","moveOut","resizing","moveEnd","btnLoading","btnElem","isLoading","openLayer","IE6","btnCallback","btnAsync","loading","promiseLikeResolve","reason","shadeClose","full","reselect","sthis","setTop","record","contentElem","contentRecordHeightElem","restScrollbar","getChildFrame","getFrameIndex","iframeAuto","heg","iframeSrc","elemMin","hasMinLeft","maxminStatus","minLeft","edgeIndex","contentRecordHeight","isfix","executor","closeAnim","WRAP","iframe","contentWindow","write","domsElem","closeLast","layerIndexMax","layerIndexList","isArrayType","prompt","formType","maxlength","tab","photos","loop","toolbar","imgIndex","pushData","alt","pid","thumb","imgprev","tabimg","imgnext","errorMsg","keyup","isNumber","getTransform","transforms","rotate","scaleX","touchEndCallback","imgElem","transform","ratio","wheelDelta","zoomElem","threshold","loadi","loadImage","winarea","imgarea","wh","_$","isMobile","_win","propSuffix","propName","deliver","fixbar","elemTopBar","setTopBar","ELEM","$doc","$target","bars","default","$scroll","bar1","bar2","elemBar","lay-type","bgcolor","countdown","clock","countTime","d","h","setTime","timeAgo","onlyDate","stamp","toDateString","REGEX_PARSE","years","days","milliseconds","meridiem","getMilliseconds","customMeridiem","hm","yy","yyyy","MM","dd","H","HH","hh","A","mm","ss","SSS","$1","unescape","openWin","specs","toVisibleArea","scrollElem","SCROLL_NAME","OFFSET_NAME","scrollValue","size","scrollOffset","thisOffset","thisElem","vertical","attrSelector","DATANAME","dataCache","_WIN","ELEM_LI","clickOrMousedown","MOD_INDEX_OPENED","MOD_INDEX","customName","reloadData","STR_ELEM","STR_ITEM_UP","STR_ITEM_DOWN","STR_MENU_TITLE","STR_ITEM_GROUP","STR_ITEM_PARENT","STR_ITEM_CHECKED","STR_ITEM_CHECKED2","STR_MENU_PANEL","STR_MENU_PANEL_L","STR_ELEM_SHADE","STR_GROUP_TITLE","isAllowSpread","isSpreadItem","accordion","closeOnClick","mainElem","eachItemView","elemUl","isChild","templet","group","-","viewLi","viewText","elemPanel","TPL_MAIN","mainElemExisted","findMainElem","delayRemove","isClickAllScope","clickScope","elemGroup","spread","normalizedDelay","isMouseEnter","thisEventElem","opened","isAccordion","needSpread","groupSibs","isCtxMenu","isTriggerTarget","isPanelTarget","ELEM_LI_PAR","dataParams","SLIDER_BAR","SLIDER_WRAP","SLIDER_WRAP_BTN","SLIDER_TIPS","SLIDER_INPUT_TXT","ELEM_HOVER","showstep","tipsAlways","precision","precisions","decimalArr","minValue","maxValue","scaleFir","scaleSec","hasRender","elemTemp","number","setSliderTipsTxt","sliderWrapBtnElem","tipsTxt","setTips","calcSliderTipsLeft","sliderWidth","sliderWrap","setSliderTipsLeft","margin-bottom","elemInput","slide","sliderAct","sliderTxt","inputValue","offsetValue","arrValue","firLeft","valueTo","secLeft","wrapWidth","selfValue","toFixed","oldLeft","elemMove","sliderBtnElem","up","upCall","oldleft","oldx","reaLeft","inputScale","getInputValue","realValue","ICON_PICKER_DOWN","ICON_PICKER_CLOSE","PICKER_TRIG_SPAN","PICKER_TRIG_I","PICKER_SIDE_SLIDER","PICKER_BASIS","PICKER_ALPHA_BG","PICKER_ALPHA_SLIDER","PICKER_BASIS_CUR","PICKER_INPUT","RGBToHSB","rgb","hsb","r","g","HSBToRGB","t1","t3","t2","HSBToHEX","hex","nr","RGBSTo","rgbs","re","$win","alpha","predefine","colors","elemColorBox","bgstr","background","renderPicker","elemPicker","removePicker","thisElemInd","thisColor","pickerEvents","bindElem","elemPickerInput","backgroundColor","side","basis","alphacolor","alphaslider","_h","_b","_s","_a","pre","z","createMoveElem","needTrigger","needStopPropagation","triggerEvent","oldtop","oldy","maxh","maxw","simulatedEvent","pointer","createEvent","initMouseEvent","dispatchEvent","sidetop","basisElem","elemColorBoxSpan","colorValue","attrEvent","SHOW","TITLE","Element","NAV_ELEM","tabAdd","layAttr","tabElem","titElem","barElem","contElem","tabChange","tabAuto","tabDelete","layid","force","tabClick","dom","headerElem","NAV_ITEM","NAV_BAR","NAV_TREE","NAV_CHILD","NAV_MORE","NAV_ANIM","bodyElem","elemA","isJump","unselect","hasId","liThis","MORE","BAR","CLOSE","STOPE","allowclose","isSpread","hideTabMore","tsbTitle","clickThis","NAV_ITEMED","needExpand","parentSibs","collapse","isNone","elemFilter","items","nav","timerMore","timeEnd","NAV_TITLE","bar","itemElem","hasBarElem","thisA","breadcrumb","ATTE_SPR","separator","aNode","elemTitle","files","ELEM_FILE","ELEM_FORM","ELEM_IFRAME","ELEM_CHOOSE","UPLOADING","accept","exts","bindAction","field","acceptMime","drag","multiple","cross-domain","data-format-error","check-error","limit-number","limit-size","elemFile","isFile","initIE","elemForm","FileReader","chooseFiles","reader","readAsDataURL","limitSize","getFiles","ajaxSend","successful","failed","allDone","fileLength","total","request","sets","formData","FormData","resetFileState","unified","res","lengthComputable","loaded","iframeSend","clearInterval","setInterval","iframeBody","forceConvert","convert","thisFile","pushFile","resetFile","filename","newFile","File","getChooseFiles","typeName","images","video","audio","setChooseFile","setChooseText","checkFile","extendInfo","extInfo","ext","sizes","parseSize","FileList","dataTransfer","formatSize","log","needCheckboxFallback","HIDE","BAD_INPUT","Form","verify","required","phone","email","identity","autocomplete","getFormElem","itemForm","getValue","nameIndex","fieldElem","init_name","inputs","handleInputNumber","rawValue","noAction","isInit","isBadInput","isStepStrictly","decimals","controlBtn","increment","decrement","affix","CLASS_WRAP","CLASS_SUFFIX","CLASS_AFFIX","showAffix","renderAffix","affixOptions","elemAffix","elemIcon","hasElemAffix","hasElemSuffix","inputFilter","eye","SHOW_NAME","ns","skipCheck","isComposition","isReadonly","isMouseWheel","tempMatched","tempNumber","propertyName","specialCode","deltaX","deltaY","TIPS","NONE","CREATE_OPTION","PANEL_ELEM_DATA","selects","reElem","titleElem","isSearch","isCreatable","isAppendTo","removeClickOutsideEvent","laySearch","appendTarget","appendPosition","needPlaceholderPatch","showDown","hideDown","followScroll","notOption","dl","dts","initValue","caseSensitive","updatePosition","dlHeight","dds","__ieph","none","posTop","thisDd","ddHeight","setThisDd","prevNext","lastIndex","allDisplayedElem","nextIndex","origin","fuzzyMatchRE","hasEquals","fuzzy","keyword","wordMap","regexPattern","wordArr","isCreateOption","thisDds","firstOptionELem","hasTips","createOptionElem","ddElem","optionElem","optionsFirst","contentWrapElem","triggerElem","panelWrapElem","switch","SUBTRA","checks","RE_CLASS","titleTplAttrs","titleTplElem","toggleAttribute","indeterminate","isSwitch","isPrimary","syncAppearanceOnPropChanged","ICON","radios","ANIM","sameRadios","radioEl","renderItem","itemType","originProps","newValue","validate","intercept","DANGER","vers","verType","thisVer","rule","verst","isForm2Elem","layFilter","verifyElem","forceOn","forceOff","$dom","checkName","indexName","initIndexName","numbersName","disabledName","thisTable","setColsWidth","getThisTable","getThisTableConfig","parseTempData","item3","tplData","exportTemplet","LAY_COL","HIDE_V","ELEM_VIEW","ELEM_HEADER","ELEM_BODY","ELEM_FIXR","ELEM_PAGE_VIEW","ELEM_SORT","ELEM_CHECKED","ELEM_EDIT","ELEM_GROUP","ELEM_COL_SPECIAL","ELEM_TOOL_PANEL","ELEM_EXPAND","DISABLED_TRANSITION","DATA_MOVE_NAME","TPL_HEADER","TPL_BODY","eachChildCols","cellMinWidth","cellMaxWidth","MAX_VALUE","editTrigger","defaultToolbar","defaultContextmenu","autoSort","cols","pageName","limitName","statusName","msgName","dataName","totalRowName","countName","pullData","setInit","fullHeightGap","parentDiv","parentHeightGap","customHeightFunc","lay-filter","renderStyle","layTool","layBox","layHeader","layMain","layBody","layFixed","layFixLeft","layFixRight","layTotal","layPage","renderToolbar","renderPagebar","fullSize","initOpts","space","unresize","numbers","getWidth","clientWidth","getContentWidth","parentElem","initChildCols","i1","item1","i2","item2","indexChild","childIndex","colspan","rowspan","colGroup","i22","item22","HAS_PARENT","parentKey","lineStyle","trClassName","cellMaxHeight","iconElem","leftDefaultTemp","elemToolTemp","defaultConfig","toolbarHtml","layEvent","onClick","lis","openPanel","eachCols","fieldTitle","setParentCol","panel","exportFile","print","printWin","thElem","edg","onafterprint","itemIsName","thisItem","pagebarHtml","layPagebar","pagebar","parentTh","parentColspan","arrParentKey","getThisCol","colspan2","nextParentKey","setColsPatch","setGroupWidth","lastSpreadCol","colNums","autoColNums","autoWidth","countWidth","cntrWidth","borderWidth","headerTableElem","mainTableElem","isEmptyTable","getAutoWidth","getScrollWidth","back","pixelsForLastCol","i3","newWidth","isConnected","scrollPatch","haveInit","HAS_SET_COLS_PATCH","errorView","elemNone","layNone","syncCheckAll","renderForm","startLimit","initSort","reloadType","renderData","totalRow","_xhr","_xhrAbort","parseData","newData","getTrHtml","trsObj","trs","trs_fixed","trs_fixed_r","tds_fixed","tds_fixed_r","LAY_KEY","edit","trAttr","totalRowData","sortKey","pull","scrollPos","tipsIndex","renderTotal","totalNums","dataTotal","TOTAL_NUMS","totalRowDecimals","thisTotalNum","totalRowText","getContent","tdContent","TOTAL_ROW","patchElem","outerHTML","getColElem","renderFormByElem","checkAllElem","checkStatus","isAll","setRowActive","setRowChecked","makeMap","thisData","existChecked","getChecked","radioCheckedIndex","fixRElem","isCheckAll","isCheckMult","isCheckAllOrMult","dataIndex","checkedSameElem","checkedElem","_field","elemSort","fromEvent","selectorText","headerMain","thIndex","bodyHeight","layMainTable","scrollWidth","outWidth","addPatch","fixHeight","updateRow","ELEM_CELL","row","cell","_BODY","commonMember","oLeft","pLeft","allowResize","ruleWidth","thatTable","setWidth","nowType","clearCacheKey","del","update","fields","setRowEvent","getCol","UNROW","renderGridEdit","editType","ELEM_GRID_DOWN","oldValue","reedit","showGridExpandIcon","elemCell","gridExpand","expandedMode","ELEM_CELL_C","elemCellClose","cellExpandedMode","expandedWidth","cellExpandedWidth","$this","toolFn","rAF","cb","getElementSize","borderRightWidth","borderLeftWidth","paddingTop","paddingRight","paddingBottom","paddingLeft","marginTop","marginRight","marginBottom","boxSizing","errorTips","tdIndex","attrData","tableData","trElem","itemData","tableIns","CHILD_COLS","PARENT_COL_INDEX","arrs","eachArrs","invalidNum","getData","textType","csv","xls","alink","dataTitle","dataMain","fieldsIsHide","isTreeTable","reduce","acc","ignoreExport","o","download","getOptions","hideCol","thisTreeTable","ELEM_FIXL","TABLE_TREE","LAY_DATA_INDEX","LAY_DATA_INDEX_HISTORY","LAY_PARENT_INDEX","LAY_CHECKBOX_HALF","LAY_EXPAND","LAY_HAS_EXPANDED","LAY_ASYNC_STATUS","LAY_CASCADE","HTML_TAG_RE","ICON_PROPS","updateCache","childrenKey","tableCache","itemDataIndex","updateOptions","thatOptionsTemp","treeOptions","idKey","hasNumberCol","hasChecboxCol","hasRadioCol","scrollTopCache","parseDataThat","retData","isSimpleData","enable","flatToTree","updateStatus","initData","renderType","isRenderData","tableView","isExpandAll","layTableAllChooseElem","renderTreeTable","iconProp","normalizedIcon","cascade","isParent","indent","flexIconClose","flexIconOpen","showIcon","iconClose","iconOpen","iconLeaf","showFlexIconIfNotParent","dblClickExpand","expandAllDefault","rootPid","autoParam","beforeExpand","onExpand","iconStr","pIdKey","idTemp","pidTemp","rootNodes","tableId","flatArr","tempObj","treeToFlat","parentId","parentIndex","dataNew","getTreeNode","getParentNode","getNodeByIndex","treeNode","treeNodeData","getNodeDataByIndex","updateNode","removeNode","expandNode","setChecked","getNodeById","tableDataFlat","dataRet","indexArr","getTableData","isParentKey","debounceFn","expandFlag","sonSign","callbackFlag","tableViewElem","treeTableThat","trData","isToggle","trExpand","retValue","trExpanded","trsElem","flexIconElem","trDataId","updateNodeIcon","scopeEl","isExpand","asyncSuccessFn","asyncContentType","asyncDataType","asyncJsonpCallback","asyncHeaders","asyncParseData","asyncResponse","str2","str2Obj","dataLevelNew","asyncSetting","asyncUrl","asyncAutoParam","itemArr","asyncType","childItem","data-index","lay-data-index","data-level","childNodesFlat","formatNumber","inherit","expandAll","isAllAsyncDone","isAllExpanded","trAll","trAllObj","dataItem","dataLevel","nodeIconElem","nodeIcon","level","treeOptionsView","existsData","dataExpand","layDataIndex","nameKey","htmlTemp","itemCell","trIndex","trDefaultExpand","trMain","trFixedL","trFixedR","statusObj","notCascade","dataUpdated","updateObjParams","rowIndex","tableThat","updateFn","checkNode","newNode","trLevel","newNodeTemp","trNew","_keepParent","delNode","nodeP","delNodesFlat","updateCheckStatus","delNodeDataIndex","i4","item4","trEl","addNodes","newNodes","childKey","childrenNodes","dataAfter","childrenNodesFlat","pageOptions","newNodesHtml","newNodesHtmlObj","trIndexPrev","newNodeIndex","newNodeItem","tableViewElemMAIN","tableViewElemFIXL","tableViewElemFIXR","trIndexNext","scrollIntoViewIfNeeded","includeHalfCheck","checkedData","updateData","setRowCheckedClass","dataP","trsP","isIndeterminate","updateParentCheckStatus","indexP","itemP","checkboxElem","checkedNum","inputElem","isRadio","trDataP","radioElem","collectNeedExpandNodeIndex","needExpandIndex","nodeData","checkAllNodes","reloadAsyncNode","dataId","getNodesByFilter","isSingle","nodesResult","headerMode","HEADER","BODY","ITEM","CARD","getContainer","documentElem","elemView","elemHeaderItem","renderHeaderItem","elemBodyItem","renderBodyItem","renderClose","findHeaderItem","roll","afterRender","delegatedElement","inner","onresize","bodyItem","mode","newHeaderItem","newBodyItem","headerItem","hasOwnIndex","thisHeaderItem","findBodyItem","closeMult","nextHeader","bodys","DISABLED_CLOSE_SELECTOR","FILTER","closableAttr","prevHeader","thatA","isLink","appendClose","closable","headerItems","tabsLeft","scrollMode","CLASS_SCROLL","CLASS_BAR","CLASS_BAR_ICON","rollElem","prevLeft","elemScroll","thisItemElem","thisLeft","thisBodyItem","getHeaderItem","getBodyItem","ELEM_SET","ICON_CLICK","ICON_ADD","ICON_SUB","ELEM_ENTRY","ELEM_TEXT","ELEM_PACK","ELEM_SPREAD","ELEM_LINE_SHORT","ELEM_SHOW","ELEM_EXTEND","showCheckbox","showLine","onlyIconControl","defaultNodeName","checkids","editIcon","hasChild","packDiv","entryDiv","checkClick","operate","entry","elemCheckbox","elemText","touchOpen","packCont","iconClick","updateFieldValue","sibls","setCheckbox","setParentsChecked","thisNodeElem","parentNodeElem","parentCheckbox","parentPack","oncheck","getVal","returnObj","textNew","elemDel","pare","siblingTree","parentTree","prevDiv","pack","onsearch","checkId","checkData","eachNodes","index2","cloneItem","checkedId","reInput","ELEM_BOX","ELEM_SEARCH","ELEM_DATA","TPL_BOX","checkAllName","showSearch","searchNone","layData","layBtn","listElem","renderCheckBtn","thisDataElem","allElemCheckbox","listElemCheckbox","nums","haveChecked","isHide","stopNone","noneView","createNoneElem","selectedData","thisElemCheckbox","thisBoxElem","siblingInput","thisList","onchange","elemThis","dblclick","thisListElem","isMatch","ELEM_LEFT","ELEM_RIGHT","ELEM_ARROW","ELEM_IND","arrow","indicator","autoplay","elemItem","prevIndex","addIndex","subIndex","itemsCount","tplArrow","goto","tplInd","elemInd","thisIndex","haveSlide","touchEl","isVertical","distance","half","readonly","ICON_RATE","ICON_RATE_SOLID","ICON_RATE_HALF","ICON_SOLID_HALF","ICON_SOLID_RATE","ICON_HALF_RATE","elemTemplate","setText","action","setvalue","_ul","wide","liElems","ind","score","itemElemWidth","remainder","isActiveIcon","needSelect","shouldHalfIcon","Flow","isOver","lazyimg","isAuto","moreText","isTop","notDocument","more","mb","_cleanup","over","scrollHeightStart","scrollTopStart","scrollHeightEnd","isLazyimg","elemTop","ELEM_TAB","ELEM_FULL","ELEM_ITEM","ELEM_LINE","ELEM_LINE_NUM","ELEM_LN_MODE","CDDE_DATA_CLASS","LINE_RAW_WIDTH","about","ln","encode","wordWrap","highlighter","langMarker","codeIndex","rawCode","finalCode","isIframePreview","elemHeaderView","elemToolbar","runPreview","codeElem","createCodeRst","lines","setCodeLayout","elemFixbar","copyElem","reloadCode","obverse","codeRender","createCode","line","codeParse","hasDataClass","hasOnCopy","onCopy","elemViewHas","elemTabHas","elemPreviewViewHas","FILTER_VALUE","elemTabView","elemPreviewView","classNameFull","classNameRestore","htmlElem","ELEM_SCROLLBAR_HIDE","oi","parameters","toolsEvent","addTools","viso","thisItemBody","srcdoc","previewStyle","elemItemBody","codeStyle","multiLine"],"mappings":"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","file":"layui.js","sourcesContent":["/**\n * Layui\n * Classic modular front-end UI library\n * MIT Licensed\n */\n\n(function(window) {\n 'use strict';\n\n // 便于打包时的字符压缩\n var document = window.document;\n var location = window.location;\n\n // 基础配置\n var config = {\n timeout: 10, // 符合规范的模块请求最长等待秒数\n debug: false, // 是否开启调试模式\n version: false // 是否在模块请求时加入版本号参数(以更新模块缓存)\n };\n\n // 模块加载缓存信息\n var cache = {\n modules: {}, // 模块物理路径\n status: {}, // 模块加载就绪状态\n event: {}, // 模块自定义事件\n callback: {} // 模块的回调\n };\n\n // constructor\n var Class = function() {\n this.v = '2.11.0-rc.4'; // 版本号\n };\n\n // 识别预先可能定义的指定全局对象\n var GLOBAL = window.LAYUI_GLOBAL || {};\n\n // 获取 layui 所在目录\n var getPath = function() {\n var jsPath = (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') ? document.currentScript.src : function(){\n var js = document.getElementsByTagName('script');\n var last = js.length - 1;\n var src;\n for(var i = last; i > 0; i--){\n if(js[i].readyState === 'interactive'){\n src = js[i].src;\n break;\n }\n }\n return src || js[last].src;\n }();\n\n return config.dir = GLOBAL.dir || jsPath.substring(0, jsPath.lastIndexOf('/') + 1);\n }();\n\n // 异常提示\n var error = function(msg, type) {\n type = type || 'log';\n window.console && console[type] && console[type]('layui error hint: ' + msg);\n };\n\n // 内置模块\n var builtinModules = config.builtin = {\n lay: 'lay', // 基础 DOM 操作\n layer: 'layer', // 弹层\n laydate: 'laydate', // 日期\n laypage: 'laypage', // 分页\n laytpl: 'laytpl', // 模板引擎\n form: 'form', // 表单集\n upload: 'upload', // 上传\n dropdown: 'dropdown', // 下拉菜单\n transfer: 'transfer', // 穿梭框\n tree: 'tree', // 树结构\n table: 'table', // 表格\n treeTable: 'treeTable', // 树表\n tabs: 'tabs', // 标签页\n element: 'element', // 常用元素操作\n rate: 'rate', // 评分组件\n colorpicker: 'colorpicker', // 颜色选择器\n slider: 'slider', // 滑块\n carousel: 'carousel', // 轮播\n flow: 'flow', // 流加载\n util: 'util', // 工具块\n code: 'code', // 代码修饰器\n jquery: 'jquery', // DOM 库(第三方)\n component: 'component', // 组件构建器\n\n all: 'all',\n 'layui.all': 'layui.all' // 聚合标识(功能性的,非真实模块)\n };\n\n /**\n * 低版本浏览器适配\n * @see polyfill\n */\n\n // Object.assign\n if (typeof Object.assign !== 'function') {\n Object.assign = function(target) {\n var to = Object(target);\n if (arguments.length < 2) return to;\n\n var sourcesIndex = 1;\n for (; sourcesIndex < arguments.length; sourcesIndex++) {\n var nextSource = arguments[sourcesIndex];\n if (!(nextSource === undefined || nextSource === null)) {\n for (var nextKey in nextSource) {\n // 确保属性是源对象自身的(而非来自继承)\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n };\n }\n\n /**\n * 节点加载事件\n * @param {HTMLElement} node - script 或 link 节点\n * @param {Function} done\n * @param {Function} error\n */\n var onNodeLoad = function(node, done, error) {\n // 资源加载完毕\n var onCompleted = function (e) {\n var readyRegExp = /^(complete|loaded)$/;\n if (e.type === 'load' || (readyRegExp.test((e.currentTarget || e.srcElement).readyState))) {\n removeListener();\n typeof done === 'function' && done(e);\n }\n };\n // 资源加载失败\n var onError = function (e) {\n removeListener();\n typeof error === 'function' && error(e);\n };\n\n // 移除事件\n var removeListener = function() {\n if (node.detachEvent) {\n node.detachEvent('onreadystatechange', onCompleted);\n } else {\n node.removeEventListener('load', onCompleted, false);\n node.removeEventListener('error', onError, false);\n }\n };\n\n // 添加事件\n if(node.attachEvent && !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0)){\n // 此处考虑到 IE9+ load 的稳定性,固仍然采用 onreadystatechange\n node.attachEvent('onreadystatechange', onCompleted);\n } else {\n node.addEventListener('load', onCompleted, false);\n node.addEventListener('error', onError, false);\n }\n };\n\n // 获取配置及临时缓存信息\n Class.prototype.cache = Object.assign(config, cache);\n\n /**\n * 全局配置\n * @param {Object} options\n */\n Class.prototype.config = function(options) {\n Object.assign(config, options);\n return this;\n };\n\n /**\n * 定义模块\n * @param {(string|string[])} deps - 依赖的模块列表\n * @param {Function} callback - 模块的回调\n */\n Class.prototype.define = function(deps, callback) {\n var that = this;\n var useCallback = function() {\n var setModule = function(mod, exports) {\n layui[mod] = exports; // 将模块接口赋值在 layui 对象中\n cache.status[mod] = true; // 标记模块注册完成\n };\n // 执行模块的回调\n typeof callback === 'function' && callback(function(mod, exports) {\n setModule(mod, exports);\n // 记录模块回调,以便需要时再执行\n cache.callback[mod] = function() {\n callback(setModule);\n }\n });\n return this;\n };\n\n // 若未依赖模块\n if (typeof deps === 'function') {\n callback = deps;\n deps = [];\n }\n\n that.use(deps, useCallback, null, 'define');\n return that;\n };\n\n /**\n * 使用模块\n * @param {(string|string[])} mods - 模块列表\n * @param {Function} callback - 回调\n */\n Class.prototype.use = function(mods, callback, exports, from) {\n var that = this;\n var dir = config.dir = config.dir ? config.dir : getPath;\n\n // 整理模块队列\n mods = (function() {\n if (typeof mods === 'string') {\n return [mods];\n }\n // 若第一个参数为 function ,则自动加载所有内置模块,且执行的回调即为该 function 参数;\n else if(typeof mods === 'function') {\n callback = mods;\n return ['all'];\n }\n return mods;\n })();\n\n // 获取 layui 静态资源所在 host\n if (!config.host) {\n config.host = (dir.match(/\\/\\/([\\s\\S]+?)\\//)||['//'+ location.host +'/'])[0];\n }\n\n // 若参数异常\n if (!mods) return that;\n\n // 若页面已经存在 jQuery 且所定义的模块依赖 jQuery,则不加载内部 jquery 模块\n if (window.jQuery && jQuery.fn.on) {\n that.each(mods, function(index, item) {\n if (item === 'jquery') {\n mods.splice(index, 1);\n }\n });\n layui.jquery = layui.$ = window.jQuery;\n }\n\n // 将模块的接口作为回调的参数传递\n exports = exports || [];\n\n // 加载当前队列的第一个模块\n var item = mods[0];\n var modInfo = that.modules[item]; // 当前模块信息\n // 是否为外部模块,即无需遵循 layui 轻量级模块规范的任意第三方组件。\n var isExternalModule = typeof modInfo === 'object';\n\n // 回调触发\n var onCallback = function () {\n exports.push(layui[item]);\n mods.length > 1\n ? that.use(mods.slice(1), callback, exports, from)\n : (typeof callback === 'function' && function() {\n // 保证文档加载完毕再执行回调\n if(layui.jquery && typeof layui.jquery === 'function' && from !== 'define'){\n return layui.jquery(function(){\n callback.apply(layui, exports);\n });\n }\n callback.apply(layui, exports);\n }() );\n };\n\n // 回调轮询\n var pollCallback = function () {\n var timeout = 0; // 超时计数器(秒)\n var delay = 5; // 轮询等待毫秒数\n\n // 轮询模块加载完毕状态\n (function poll() {\n if (++timeout > config.timeout * 1000 / delay) {\n return error(item + ' is not a valid module', 'error');\n };\n\n // 根据模块加载完毕的标志来完成轮询\n // 若为任意外部模块,则标志为该模块接口是否存在;\n // 若为遵循 layui 规范的模块,则标志为模块的 status 状态值\n (isExternalModule ? layui[item] = window[modInfo.api] : cache.status[item])\n ? onCallback()\n : setTimeout(poll, delay);\n })();\n };\n\n // 若为发行版,则内置模块不必异步加载\n if (mods.length === 0 || (layui['layui.all'] && builtinModules[item])) {\n return onCallback(), that;\n }\n\n // 当前模块所在路径\n var modSrc = isExternalModule ? modInfo.src : modInfo;\n\n // 基础路径\n var basePath = builtinModules[item]\n ? (dir + 'modules/') // 若为内置模块,则按照默认 dir 参数拼接模块 URL\n : (modSrc ? '' : config.base); // 若为扩展模块,且模块路径已设置,则不必再重复拼接基础路径\n\n // 若从 layui.modules 为获取到模块路径, 则将传入的模块名视为路径名\n if (!modSrc) modSrc = item;\n\n // 过滤空格符和 .js 后缀\n modSrc = modSrc.replace(/\\s/g, '').replace(/\\.js[^\\/\\.]*$/, '');\n\n // 拼接最终模块 URL\n var url = basePath + modSrc + '.js';\n\n // 若扩展模块对象已经存在,则不必再重复加载\n if(!cache.modules[item] && layui[item]){\n cache.modules[item] = url; // 并记录起该扩展模块的 url\n }\n\n // 首次加载模块\n if (!cache.modules[item]) {\n var head = document.getElementsByTagName('head')[0];\n var node = document.createElement('script');\n\n node.async = true;\n node.charset = 'utf-8'; // 避免 IE9 的编码问题\n node.src = url + function() {\n var version = config.version === true\n ? (config.v || (new Date()).getTime())\n : (config.version || '');\n return version ? ('?v=' + version) : '';\n }();\n\n head.appendChild(node);\n\n // 节点加载事件\n onNodeLoad(node, function() {\n head.removeChild(node);\n pollCallback();\n }, function() {\n head.removeChild(node);\n });\n\n // 模块已首次加载的标记\n cache.modules[item] = url;\n } else { // 再次 use 模块\n pollCallback();\n }\n\n return that;\n };\n\n // 记录全部模块\n Class.prototype.modules = Object.assign({}, builtinModules);\n\n /**\n * 拓展模块\n * @param {Object} settings - 拓展模块的配置\n */\n Class.prototype.extend = function(settings) {\n var that = this;\n var base = config.base || '';\n var firstSymbolEXP = /^\\{\\/\\}/; // 模块单独路径首字符表达式\n\n settings = settings || {};\n\n // 遍历拓展模块\n for (var modName in settings) {\n if (that[modName] || that.modules[modName]) { // 验证模块是否被占用\n error('the '+ modName + ' module already exists, extend failure');\n } else {\n var modInfo = settings[modName];\n // 若直接传入模块路径字符\n if (typeof modInfo === 'string') {\n // 判断传入的模块路径是否特定首字符\n // 若存在特定首字符,则模块 URL 即为该首字符后面紧跟的字符\n // 否则,则按照 config.base 路径进行拼接\n if (firstSymbolEXP.test(modInfo)) base = '';\n modInfo = (base + modInfo).replace(firstSymbolEXP, '');\n }\n that.modules[modName] = modInfo;\n }\n }\n\n return that;\n };\n\n /**\n * 弃用指定的模块,以便重新扩展新的同名模块。\n * @param {(string|string[])} mods - 模块列表\n */\n Class.prototype.disuse = function(mods) {\n var that = this;\n mods = that.isArray(mods) ? mods : [mods];\n that.each(mods, function (index, item) {\n delete that[item];\n delete builtinModules[item];\n delete that.modules[item];\n delete cache.status[item];\n delete cache.modules[item];\n });\n return that;\n };\n\n /**\n * 获取节点的 style 属性值\n * currentStyle.getAttribute 参数为 camelCase 形式的字符串\n * @param {HTMLElement} node - 节点\n * @param {string} name - 属性名\n * @returns 属性值\n */\n Class.prototype.getStyle = function(node, name) {\n var style = node.currentStyle ? node.currentStyle : window.getComputedStyle(node, null);\n return style.getPropertyValue\n ? style.getPropertyValue(name)\n : style.getAttribute(name.replace(/-(\\w)/g, function(_, c){ return c ? c.toUpperCase() : '';}));\n };\n\n /**\n * CSS 外部加载器\n * @param {string} href - 外部 CSS 文件路径\n * @param {Function} callback - 回调函数\n * @param {string} id - 定义 link 标签的 id\n */\n Class.prototype.link = function(href, callback, id) {\n var that = this;\n var head = document.getElementsByTagName('head')[0];\n var link = document.createElement('link');\n\n // 若第二个参数为 string 类型,则该参数为 id\n if (typeof callback === 'string') {\n id = callback;\n }\n\n // 若加载多个\n if (typeof href === 'object') {\n var isArr = that.type(id) === 'array';\n return that.each(href, function(index, value){\n that.link(\n value,\n index === href.length - 1 && callback,\n isArr && id[index]\n );\n });\n }\n\n // 若为传入 id ,则取路径 `//` 后面的字符拼接为 id,不含.与参数\n id = id || href.replace(/^(#|(http(s?)):\\/\\/|\\/\\/)|\\.|\\/|\\?.+/g, '');\n id = 'layuicss-'+ id;\n\n link.href = href + (config.debug ? '?v='+new Date().getTime() : '');\n link.rel = 'stylesheet';\n link.id = id;\n\n // 插入节点\n if (!document.getElementById(id)) {\n head.appendChild(link);\n }\n\n // 是否执行回调\n if (typeof callback !== 'function') {\n return that;\n }\n\n onNodeLoad(link, function() {\n callback(link);\n }, function() {\n error(href + ' load error', 'error');\n head.removeChild(link); // 移除节点\n });\n\n return that;\n };\n\n /**\n * CSS 内部加载器\n * @param {string} modName - 模块名\n */\n Class.prototype.addcss = function(modName, callback, id) {\n return layui.link(config.dir + 'css/' + modName, callback, id);\n };\n\n /**\n * 获取执行定义模块时的回调函数,factory 为向下兼容\n * @param {string} modName - 模块名\n * @returns {Function}\n */\n Class.prototype.factory = function(modName) {\n if (layui[modName]) {\n return typeof config.callback[modName] === 'function'\n ? config.callback[modName]\n : null;\n }\n };\n\n /**\n * 图片预加载\n * @param {string} url - 图片路径\n * @param {Function} callback - 成功回调\n * @param {Function} error - 错误回调\n */\n Class.prototype.img = function(url, callback, error) {\n var img = new Image();\n img.src = url;\n if (img.complete) {\n return callback(img);\n }\n img.onload = function(){\n img.onload = null;\n typeof callback === 'function' && callback(img);\n };\n img.onerror = function(e){\n img.onerror = null;\n typeof error === 'function' && error(e);\n };\n };\n\n /**\n * location.hash 路由解析\n * @param {string} hash 值\n * @returns {Object}\n */\n Class.prototype.router = Class.prototype.hash = function(hash) {\n var that = this;\n var hash = hash || location.hash;\n var data = {\n path: [],\n pathname: [],\n search: {},\n hash: (hash.match(/[^#](#.*$)/) || [])[1] || '',\n href: ''\n };\n\n // 禁止非 hash 路由规范\n if (!/^#/.test(hash)) {\n return data;\n }\n\n hash = hash.replace(/^#/, '');\n data.href = hash;\n hash = hash.replace(/([^#])(#.*$)/, '$1').split('/') || [];\n\n // 提取 Hash 结构\n that.each(hash, function(index, item) {\n /^\\w+=/.test(item) ? function(){\n item = item.split('=');\n data.search[item[0]] = item[1];\n }() : data.path.push(item);\n });\n\n data.pathname = data.path; // path → pathname, 与 layui.url 一致\n return data;\n };\n\n /**\n * URL 解析\n * @param {string} href - url 路径\n * @returns {Object}\n */\n Class.prototype.url = function(href) {\n var that = this;\n var data = {\n // 提取 url 路径\n pathname: function() {\n var pathname = href\n ? function(){\n var str = (href.match(/\\.[^.]+?\\/.+/) || [])[0] || '';\n return str.replace(/^[^\\/]+/, '').replace(/\\?.+/, '');\n }()\n : location.pathname;\n return pathname.replace(/^\\//, '').split('/');\n }(),\n\n // 提取 url 参数\n search: function(){\n var obj = {};\n var search = (href\n ? function(){\n var str = (href.match(/\\?.+/) || [])[0] || '';\n return str.replace(/\\#.+/, '');\n }()\n : location.search\n ).replace(/^\\?+/, '').split('&'); // 去除 ?,按 & 分割参数\n\n // 遍历分割后的参数\n that.each(search, function(index, item) {\n var _index = item.indexOf('=');\n var key = function() { // 提取 key\n if (_index < 0) {\n return item.substr(0, item.length);\n } else if(_index === 0) {\n return false;\n } else {\n return item.substr(0, _index);\n }\n }();\n // 提取 value\n if (key) {\n obj[key] = _index > 0 ? item.substr(_index + 1) : null;\n }\n });\n\n return obj;\n }(),\n\n // 提取 Hash\n hash: that.router(function() {\n return href\n ? ((href.match(/#.+/) || [])[0] || '/')\n : location.hash;\n }())\n };\n\n return data;\n };\n\n /**\n * 本地持久存储\n * @param {string} table - 表名\n * @param {Object} settings - 设置项\n * @param {Storage} storage - 存储对象,localStorage 或 sessionStorage\n * @returns {Object}\n */\n Class.prototype.data = function(table, settings, storage) {\n table = table || 'layui';\n storage = storage || localStorage;\n\n // 如果 settings 为 null,则删除表\n if (settings === null) {\n return delete storage[table];\n }\n\n settings = typeof settings === 'object'\n ? settings\n : {key: settings};\n\n try {\n var data = JSON.parse(storage[table]);\n } catch(e) {\n var data = {};\n }\n\n if ('value' in settings) data[settings.key] = settings.value;\n if (settings.remove) delete data[settings.key];\n storage[table] = JSON.stringify(data);\n\n return settings.key ? data[settings.key] : data;\n };\n\n /**\n * 本地临时存储\n * @param {string} table - 表名\n * @param {Object} settings - 设置项\n * @returns {Object}\n */\n Class.prototype.sessionData = function(table, settings) {\n return this.data(table, settings, sessionStorage);\n }\n\n /**\n * 设备信息\n * @param {string} key - 任意 key\n * @returns {Object}\n */\n Class.prototype.device = function(key) {\n var agent = navigator.userAgent.toLowerCase();\n\n // 获取版本号\n var getVersion = function(label) {\n var exp = new RegExp(label + '/([^\\\\s\\\\_\\\\-]+)');\n label = (agent.match(exp)||[])[1];\n return label || false;\n };\n\n // 返回结果集\n var result = {\n os: function() { // 底层操作系统\n if (/windows/.test(agent)) {\n return 'windows';\n } else if(/linux/.test(agent)) {\n return 'linux';\n } else if(/iphone|ipod|ipad|ios/.test(agent)) {\n return 'ios';\n } else if(/mac/.test(agent)) {\n return 'mac';\n }\n }(),\n ie: function() { // ie 版本\n return (!!window.ActiveXObject || \"ActiveXObject\" in window) ? (\n (agent.match(/msie\\s(\\d+)/) || [])[1] || '11' // 由于 ie11 并没有 msie 的标识\n ) : false;\n }(),\n weixin: getVersion('micromessenger') // 是否微信\n };\n\n // 任意的 key\n if (key && !result[key]) {\n result[key] = getVersion(key);\n }\n\n // 移动设备\n result.android = /android/.test(agent);\n result.ios = result.os === 'ios';\n result.mobile = (result.android || result.ios);\n\n return result;\n };\n\n // 提示\n Class.prototype.hint = function() {\n return {\n error: error\n };\n };\n\n /**\n * typeof 类型细分 -> string/number/boolean/undefined/null、object/array/function/…\n * @param {*} operand - 任意值\n * @returns {string}\n */\n Class.prototype._typeof = Class.prototype.type = function(operand) {\n if(operand === null) return String(operand);\n\n // 细分引用类型\n return (typeof operand === 'object' || typeof operand === 'function') ? function() {\n var type = Object.prototype.toString.call(operand).match(/\\s(.+)\\]$/) || []; // 匹配类型字符\n var classType = 'Function|Array|Date|RegExp|Object|Error|Symbol'; // 常见类型字符\n\n type = type[1] || 'Object';\n\n // 除匹配到的类型外,其他对象均返回 object\n return new RegExp('\\\\b('+ classType + ')\\\\b').test(type)\n ? type.toLowerCase()\n : 'object';\n }() : typeof operand;\n };\n\n /**\n * 对象是否具备数组结构(此处为兼容 jQuery 对象)\n * @param {Object} obj - 任意对象\n * @returns {boolean}\n */\n Class.prototype._isArray = Class.prototype.isArray = function(obj) {\n var that = this;\n var len;\n var type = that.type(obj);\n\n if (!obj || (typeof obj !== 'object') || obj === window) return false;\n\n len = 'length' in obj && obj.length; // 兼容 ie\n return type === 'array' || len === 0 || (\n typeof len === 'number' && len > 0 && (len - 1) in obj // 兼容 jQuery 对象\n );\n };\n\n /**\n * 遍历\n * @param {Object} obj - 任意对象\n * @param {Function} fn - 遍历回调\n */\n Class.prototype.each = function(obj, fn) {\n var key;\n var that = this;\n var callback = function(key, obj) {\n return fn.call(obj[key], key, obj[key]);\n };\n\n if (typeof fn !== 'function') {\n return that;\n }\n\n obj = obj || [];\n\n // 优先处理数组结构\n if (that.isArray(obj)) {\n for (key = 0; key < obj.length; key++) {\n if(callback(key, obj)) break;\n }\n } else {\n for (key in obj) {\n if(callback(key, obj)) break;\n }\n }\n\n return that;\n };\n\n /**\n * 将数组中的成员对象按照某个 key 的 value 值进行排序\n * @param {Object[]} arr - 任意数组\n * @param {string} key - 任意 key\n * @param {boolean} desc - 是否降序\n * @param {boolean} notClone - 是否不对 arr 进行克隆\n * @returns {Object[]}\n */\n Class.prototype.sort = function(arr, key, desc, notClone) {\n var that = this;\n var clone = notClone ? (arr || []) : JSON.parse(\n JSON.stringify(arr || [])\n );\n\n // 若未传入 key,则直接返回原对象\n if (that.type(arr) === 'object' && !key) {\n return clone;\n } else if(typeof arr !== 'object') { // 若 arr 非对象\n return [clone];\n }\n\n // 开始排序\n clone.sort(function(o1, o2) {\n var v1 = o1[key];\n var v2 = o2[key];\n\n /*\n * 特殊数据\n * 若比较的成员均非对象\n */\n\n // 若比较的成员均为数字\n if (!isNaN(o1) && !isNaN(o2)) return o1 - o2;\n\n // 若比较的成员只存在某一个非对象\n if (!isNaN(o1) && isNaN(o2)) {\n if(key && typeof o2 === 'object'){\n v1 = o1;\n } else {\n return -1;\n }\n } else if (isNaN(o1) && !isNaN(o2)) {\n if (key && typeof o1 === 'object') {\n v2 = o2;\n } else {\n return 1;\n }\n }\n\n /*\n * 正常数据\n * 即成员均为对象,也传入了对比依据: key\n * 若 value 为数字,按「大小」排序;若 value 非数字,则按「字典序」排序\n */\n\n // value 是否为数字\n var isNum = [!isNaN(v1), !isNaN(v2)];\n\n // 若为数字比较\n if (isNum[0] && isNum[1]) {\n if(v1 && (!v2 && v2 !== 0)) { // 数字 vs 空\n return 1;\n } else if((!v1 && v1 !== 0) && v2) { // 空 vs 数字\n return -1;\n } else { // 数字 vs 数字\n return v1 - v2;\n }\n }\n\n /**\n * 字典序排序\n */\n\n // 若为非数字比较\n if (!isNum[0] && !isNum[1]) {\n // 字典序比较\n if (v1 > v2) {\n return 1;\n } else if (v1 < v2) {\n return -1;\n } else {\n return 0;\n }\n }\n\n // 若为混合比较\n if (isNum[0] || !isNum[1]) { // 数字 vs 非数字\n return -1;\n } else if(!isNum[0] || isNum[1]) { // 非数字 vs 数字\n return 1;\n }\n\n });\n\n desc && clone.reverse(); // 倒序\n return clone;\n };\n\n /**\n * 阻止事件冒泡\n * @param {Event} thisEvent - 事件对象\n */\n Class.prototype.stope = function(thisEvent) {\n try {\n thisEvent.stopPropagation();\n } catch(e) {\n thisEvent.cancelBubble = true;\n }\n };\n\n // 字符常理\n var EV_REMOVE = 'LAYUI-EVENT-REMOVE';\n\n /**\n * 自定义模块事件\n * @param {string} modName - 模块名\n * @param {string} events - 事件名\n * @param {Function} callback - 回调\n * @returns {Object}\n */\n Class.prototype.onevent = function(modName, events, callback) {\n if (typeof modName !== 'string' || typeof callback !== 'function') {\n return this;\n }\n return Class.event(modName, events, null, callback);\n };\n\n /**\n * 执行自定义模块事件\n * @param {string} modName - 模块名\n * @param {string} events - 事件名\n * @param {Object} params - 参数\n * @param {Function} fn - 回调\n */\n Class.prototype.event = Class.event = function(modName, events, params, fn) {\n var that = this;\n var result = null;\n var filter = (events || '').match(/\\((.*)\\)$/)||[]; // 提取事件过滤器字符结构,如:select(xxx)\n var eventName = (modName + '.'+ events).replace(filter[0], ''); // 获取事件名称,如:form.select\n var filterName = filter[1] || ''; // 获取过滤器名称, 如:xxx\n var callback = function(_, item) {\n var res = item && item.call(that, params);\n res === false && result === null && (result = false);\n };\n\n // 如果参数传入特定字符,则执行移除事件\n if (params === EV_REMOVE) {\n delete (that.cache.event[eventName] || {})[filterName];\n return that;\n }\n\n // 添加事件\n if (fn) {\n cache.event[eventName] = cache.event[eventName] || {};\n\n if (filterName) {\n // 带 filter 不支持重复事件\n cache.event[eventName][filterName] = [fn];\n } else {\n // 不带 filter 处理的是所有的同类事件,应该支持重复事件\n cache.event[eventName][filterName] = cache.event[eventName][filterName] || [];\n cache.event[eventName][filterName].push(fn);\n }\n return this;\n }\n\n // 执行事件回调\n layui.each(cache.event[eventName], function(key, item) {\n // 执行当前模块的全部事件\n if (filterName === '{*}') {\n layui.each(item, callback);\n return;\n }\n\n // 执行指定事件\n key === '' && layui.each(item, callback);\n (filterName && key === filterName) && layui.each(item, callback);\n });\n\n return result;\n };\n\n /**\n * 新增模块事件\n * @param {string} events - 事件名\n * @param {string} modName - 模块名\n * @param {Function} callback - 回调\n * @returns {Object}\n */\n Class.prototype.on = function(events, modName, callback) {\n var that = this;\n return that.onevent.call(that, modName, events, callback);\n }\n\n /**\n * 移除模块事件\n * @param {string} events - 事件名\n * @param {string} modName - 模块名\n * @returns {Object}\n */\n Class.prototype.off = function(events, modName) {\n var that = this;\n return that.event.call(that, modName, events, EV_REMOVE);\n };\n\n /**\n * 防抖\n * @param {Function} func - 回调\n * @param {number} wait - 延时执行的毫秒数\n * @returns {Function}\n */\n Class.prototype.debounce = function (func, wait) {\n var timeout;\n return function () {\n var context = this;\n var args = arguments;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n func.apply(context, args);\n }, wait);\n }\n };\n\n /**\n * 节流\n * @param {Function} func - 回调\n * @param {number} wait - 不重复执行的毫秒数\n */\n Class.prototype.throttle = function (func, wait) {\n var cooldown = false;\n return function () {\n var context = this;\n var args = arguments;\n if (!cooldown) {\n func.apply(context, args);\n cooldown = true;\n setTimeout(function () {\n cooldown = false;\n }, wait);\n }\n }\n };\n\n // export layui\n window.layui = new Class();\n})(window);\n","/**\r\n * 用于打包聚合版,该文件不会存在于构建后的目录\r\n */\r\n\r\nlayui.define(function(exports) {\r\n var cache = layui.cache;\r\n layui.config({\r\n dir: cache.dir.replace(/lay\\/dest\\/$/, '')\r\n });\r\n exports('layui.all', layui.v);\r\n});\r\n","\r\n/** lay 基础模块 | MIT Licensed */\r\n\r\n(function(window) {\r\n \"use strict\";\r\n\r\n var MOD_NAME = 'lay'; // 模块名\r\n var document = window.document;\r\n\r\n /**\r\n * 元素查找\r\n * @param {string | HTMLElement | JQuery} selector\r\n */\r\n var lay = function(selector){\r\n return new Class(selector);\r\n };\r\n\r\n // 构造器\r\n var Class = function(selector){\r\n var that = this;\r\n var elem = typeof selector === 'object' ? function(){\r\n // 仅适配简单元素对象\r\n return layui.isArray(selector) ? selector : [selector];\r\n }() : (\r\n this.selector = selector,\r\n document.querySelectorAll(selector || null)\r\n );\r\n\r\n lay.each(elem, function(index, item){\r\n that.push(elem[index]);\r\n });\r\n };\r\n\r\n /*\r\n * API 兼容\r\n */\r\n Array.prototype.indexOf = Array.prototype.indexOf || function(searchElement, fromIndex) {\r\n var rst = -1;\r\n fromIndex = fromIndex || 0;\r\n layui.each(this, function(index, val){\r\n if (searchElement === val && index >= fromIndex) {\r\n rst = index;\r\n return !0;\r\n }\r\n });\r\n return rst;\r\n };\r\n\r\n /*\r\n lay 对象操作\r\n */\r\n\r\n Class.fn = Class.prototype = [];\r\n Class.fn.constructor = Class;\r\n\r\n /**\r\n * 将两个或多个对象的内容深度合并到第一个对象中\r\n * @callback ExtendFunc\r\n * @param {*} target - 一个对象\r\n * @param {...*} objectN - 包含额外的属性合并到第一个参数\r\n * @returns {*} 返回合并后的对象\r\n */\r\n /** @type ExtendFunc*/\r\n lay.extend = function(){\r\n var ai = 1;\r\n var length;\r\n var args = arguments;\r\n var clone = function(target, obj){\r\n target = target || (layui.type(obj) === 'array' ? [] : {}); // 目标对象\r\n for(var i in obj){\r\n // 若值为普通对象,则进入递归,继续深度合并\r\n target[i] = (obj[i] && obj[i].constructor === Object)\r\n ? clone(target[i], obj[i])\r\n : obj[i];\r\n }\r\n return target;\r\n };\r\n\r\n args[0] = typeof args[0] === 'object' ? args[0] : {};\r\n length = args.length\r\n\r\n for(; ai < length; ai++){\r\n if(typeof args[ai] === 'object'){\r\n clone(args[0], args[ai]);\r\n }\r\n }\r\n return args[0];\r\n };\r\n\r\n /**\r\n * IE 版本\r\n * @type {string | boolean} - 如果是 IE 返回版本字符串,否则返回 false\r\n */\r\n lay.ie = function(){\r\n var agent = navigator.userAgent.toLowerCase();\r\n return (!!window.ActiveXObject || \"ActiveXObject\" in window) ? (\r\n (agent.match(/msie\\s(\\d+)/) || [])[1] || '11' // 由于 ie11 并没有 msie 的标识\r\n ) : false;\r\n }();\r\n\r\n\r\n /**\r\n * 获取 layui 常见方法,以便用于组件单独版\r\n */\r\n\r\n lay.layui = layui || {};\r\n lay.getPath = layui.cache.dir; // 获取当前 JS 所在目录\r\n lay.stope = layui.stope; // 中止冒泡\r\n lay.each = function(){ // 遍历\r\n layui.each.apply(layui, arguments);\r\n return this;\r\n };\r\n\r\n\r\n /**\r\n * 数字前置补零\r\n * @param {number | string} num - 原始数字\r\n * @param {number} [length=2] - 数字长度,如果原始数字长度小于 length,则前面补零\r\n * @returns {string} 返回补 0 后的数字\r\n * @example\r\n * ```js\r\n * lay.digit(6, 2); // \"06\"\r\n * lay.digit('7', 3); // \"007\"\r\n * ```\r\n */\r\n lay.digit = function(num, length){\r\n if(!(typeof num === 'string' || typeof num === 'number')) return '';\r\n\r\n var str = '';\r\n num = String(num);\r\n length = length || 2;\r\n for(var i = num.length; i < length; i++){\r\n str += '0';\r\n }\r\n return num < Math.pow(10, length) ? str + num : num;\r\n };\r\n\r\n /**\r\n * 创建元素\r\n * @param {string} elemName - 元素的标签名\r\n * @param {Object.} [attr] - 添加到元素上的属性\r\n * @returns {HTMLElement} 返回创建的 HTML 元素\r\n * @example\r\n * ```js\r\n * lay.elem('div', {id: 'test'}) //
                    \r\n * ```\r\n */\r\n lay.elem = function(elemName, attr){\r\n var elem = document.createElement(elemName);\r\n lay.each(attr || {}, function(key, value){\r\n elem.setAttribute(key, value);\r\n });\r\n return elem;\r\n };\r\n\r\n /**\r\n * 当前页面是否存在滚动条\r\n * @returns {boolean} 是否存在滚动条\r\n * @example\r\n * ```\r\n * lay.hasScrollbar() // true 或 false\r\n * ```\r\n */\r\n lay.hasScrollbar = function(){\r\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight);\r\n };\r\n\r\n /**\r\n * 获取 style rules\r\n * @param {HTMLStyleElement} style - HTMLStyle 元素\r\n * @param {(ruleItem: CSSStyleRule, index: number) => boolean} [callback] - 用来返回 style 元素中的每个 `style rule` 的函数,返回 true 终止遍历\r\n * @returns {CSSRuleList } 返回 `style rules`\r\n * @example\r\n * ```\r\n * \r\n *\r\n * lay.getStyleRules($('#test')[0], function(rule, index){\r\n * if(rule.selectorText === '.lay-card'){\r\n * console.log(index, rule.cssText) // 0 '.lay-card{color: #000}'\r\n * rule.style.color = '#EEE';\r\n * return true; // 终止遍历\r\n * }\r\n * }) // RuleList\r\n * ```\r\n */\r\n lay.getStyleRules = function(style, callback) {\r\n if (!style) return;\r\n\r\n var sheet = style.sheet || style.styleSheet || {};\r\n var rules = sheet.cssRules || sheet.rules;\r\n\r\n if (typeof callback === 'function') {\r\n layui.each(rules, function(i, item){\r\n if (callback(item, i)) return true;\r\n });\r\n }\r\n\r\n return rules;\r\n };\r\n\r\n /**\r\n * 创建 style 样式\r\n * @param {Object} options - 可配置的选项\r\n * @param {string | HTMLElement | JQuery} [options.target] - 目标容器,指定后会将样式追加到目标容器\r\n * @param {string} [options.id] - 样式元素的 id,默认自增\r\n * @param {string} options.text - 样式内容\r\n * @returns {HTMLStyleElement} 返回创建的样式元素\r\n * @example\r\n * ```html\r\n *
                    \r\n * \r\n * \r\n *
                    \r\n *\r\n * lay.style({\r\n * target: '#targetEl',\r\n * text: '.card{color: #000}'\r\n * }) // \r\n * ```\r\n */\r\n lay.style = function(options){\r\n options = options || {};\r\n\r\n var style = lay.elem('style');\r\n var styleText = options.text || '';\r\n var target = options.target;\r\n\r\n if (!styleText) return;\r\n\r\n // 添加样式\r\n if ('styleSheet' in style) {\r\n style.setAttribute('type', 'text/css');\r\n style.styleSheet.cssText = styleText;\r\n } else {\r\n style.innerHTML = styleText;\r\n }\r\n\r\n // ID\r\n style.id = 'LAY-STYLE-'+ (options.id || function(index) {\r\n lay.style.index++;\r\n return 'DF-'+ index;\r\n }(lay.style.index || 0));\r\n\r\n // 是否向目标容器中追加 style 元素\r\n if (target) {\r\n var styleElem = lay(target).find('#'+ style.id);\r\n styleElem[0] && styleElem.remove();\r\n lay(target).append(style);\r\n }\r\n\r\n return style;\r\n };\r\n\r\n /**\r\n * 将元素定位到指定目标元素附近\r\n * @param {HTMLElement} target - 目标元素\r\n * @param {HTMLElement} elem - 定位元素\r\n * @param {Object} [opts] - 可配置的选项\r\n * @param {'absolute' | 'fixed'} [opts.position] - 元素的定位类型\r\n * @param {'left' | 'right'} [opts.clickType=\"left\"] - 点击类型,默认为 'left',如果 {@link target} 是 document 或 body 元素,则为 'right'\r\n * @param {'left' | 'right' | 'center'} [opts.align=\"left\"] - 对齐方式\r\n * @param {boolean} [opts.allowBottomOut=false] - 顶部没有足够区域显示时,是否允许底部溢出\r\n * @param {string | number} [opts.margin=5] - 边距\r\n * @param {Event} [opts.e] - 事件对象,仅右键生效\r\n * @param {boolean} [opts.SYSTEM_RELOAD] - 是否重载,用于出现滚动条时重新计算位置\r\n * @param {[offsetX:number, offsetY:number]} [opts.offset] - 相对于触发元素的额外偏移量[x,y]\r\n * @example\r\n * ```js\r\n * \r\n *
                      \r\n *
                    • 菜单1
                    • \r\n *
                    • 菜单2
                    • \r\n *
                    \r\n *\r\n * // 下拉菜单将被定位到按钮附近\r\n * lay.position(\r\n * $('#targetEl')[0],\r\n * $('#contentEl')[0],\r\n * {\r\n * position: 'fixed',\r\n * align: 'center'\r\n * }\r\n * )\r\n * ```\r\n */\r\n lay.position = function(target, elem, opts){\r\n if(!elem) return;\r\n opts = opts || {};\r\n\r\n // 如果绑定的是 document 或 body 元素,则直接获取鼠标坐标\r\n if(target === document || target === lay('body')[0]){\r\n opts.clickType = 'right';\r\n }\r\n\r\n // 绑定绑定元素的坐标\r\n var rect = opts.clickType === 'right' ? function(){\r\n var e = opts.e || window.event || {};\r\n return {\r\n left: e.clientX,\r\n top: e.clientY,\r\n right: e.clientX,\r\n bottom: e.clientY\r\n }\r\n }() : target.getBoundingClientRect();\r\n var elemWidth = elem.offsetWidth; // 控件的宽度\r\n var elemHeight = elem.offsetHeight; // 控件的高度\r\n\r\n // 滚动条高度\r\n var scrollArea = function(type){\r\n type = type ? 'scrollLeft' : 'scrollTop';\r\n return document.body[type] | document.documentElement[type];\r\n };\r\n\r\n // 窗口宽高\r\n var winArea = function(type){\r\n return document.documentElement[type ? 'clientWidth' : 'clientHeight']\r\n };\r\n var margin = 'margin' in opts ? opts.margin : 5;\r\n var left = rect.left;\r\n var top = rect.bottom;\r\n\r\n // 相对元素居中\r\n if(opts.align === 'center'){\r\n left = left - (elemWidth - target.offsetWidth) / 2;\r\n } else if(opts.align === 'right'){\r\n left = left - elemWidth + target.offsetWidth;\r\n }\r\n\r\n // 判断右侧是否超出边界\r\n if(left + elemWidth + margin > winArea('width')){\r\n left = winArea('width') - elemWidth - margin; // 如果超出右侧,则将面板向右靠齐\r\n }\r\n // 左侧是否超出边界\r\n if(left < margin) left = margin;\r\n\r\n\r\n // 判断底部和顶部是否超出边界\r\n if(rect.bottom + elemHeight + margin > winArea()){ // 底部超出边界\r\n // 优先判断顶部是否有足够区域显示完全,且底部不能超出边界\r\n if(rect.top > elemHeight + margin && rect.top <= winArea() ){\r\n top = rect.top - elemHeight - margin*2; // 顶部有足够的区域显示\r\n } else if(!opts.allowBottomOut){ // 顶部没有足够区域显示时,是否允许底部溢出\r\n top = winArea() - elemHeight - margin*2; // 面板向底部靠齐\r\n if(top < 0) top = 0; // 如果面板底部靠齐时,又溢出窗口顶部,则只能将顶部靠齐\r\n }\r\n }\r\n /*\r\n if(top + elemHeight + margin > winArea()){\r\n // 优先顶部是否有足够区域显示完全\r\n if(rect.top > elemHeight + margin){\r\n top = rect.top - elemHeight - margin*2; // 顶部有足够的区域显示\r\n } else {\r\n // 如果面板是鼠标右键弹出,且顶部没有足够区域显示,则将面板向底部靠齐\r\n if(obj.clickType === 'right'){\r\n top = winArea() - elemHeight - margin*2;\r\n if(top < 0) top = 0; // 不能溢出窗口顶部\r\n } else {\r\n top = margin; // 位置计算逻辑完备性处理\r\n }\r\n }\r\n }\r\n */\r\n\r\n // 定位类型\r\n var position = opts.position;\r\n if(position) elem.style.position = position;\r\n var offsetX = opts.offset ? opts.offset[0] : 0;\r\n var offsetY = opts.offset ? opts.offset[1] : 0;\r\n\r\n // 设置坐标\r\n elem.style.left = left + (position === 'fixed' ? 0 : scrollArea(1)) + offsetX + 'px';\r\n elem.style.top = top + (position === 'fixed' ? 0 : scrollArea()) + offsetY + 'px';\r\n\r\n // 防止页面无滚动条时,又因为弹出面板而出现滚动条导致的坐标计算偏差\r\n if(!lay.hasScrollbar()){\r\n var rect1 = elem.getBoundingClientRect();\r\n // 如果弹出面板的溢出窗口底部,则表示将出现滚动条,此时需要重新计算坐标\r\n if(!opts.SYSTEM_RELOAD && (rect1.bottom + margin) > winArea()){\r\n opts.SYSTEM_RELOAD = true;\r\n setTimeout(function(){\r\n lay.position(target, elem, opts);\r\n }, 50);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * 获取元素上的属性配置项\r\n * @param {string | HTMLElement | JQuery} elem - HTML 元素\r\n * @param {{attr: string} | string} [opts=\"lay-options\"] - 可配置的选项,string 类型指定属性名\r\n * @returns {Object.} 返回元素上的属性配置项\r\n * @example\r\n * ```js\r\n *
                    \r\n *\r\n * var elem = $('#testEl')\r\n * lay.options(elem) // {color:red}\r\n * lay.options(elem[0]) // {color:red}\r\n * lay.options('#testEl') // {color:red}\r\n * lay.options('#testEl', {attr: 'lay-toc'}) // {hot: true}\r\n * lay.options('#testEl', 'lay-toc') // {hot: true}\r\n *\r\n * $('#testEl').attr('lay-toc') // '{hot: true}'\r\n * ```\r\n */\r\n lay.options = function(elem, opts){\r\n opts = typeof opts === 'object' ? opts : {attr: opts};\r\n\r\n if(elem === document) return {};\r\n\r\n var othis = lay(elem);\r\n var attrName = opts.attr || 'lay-options';\r\n var attrValue = othis.attr(attrName);\r\n\r\n try {\r\n /**\r\n * 请注意: 开发者在使用 lay-options=\"{}\" 配置组件选项时,需确保属性值不来自于网页用户,\r\n * 即属性值必须在网页开发者自身的可控范围内,否则请勿在 HTML 标签属性中获取组件选项。\r\n */\r\n return new Function('return '+ (attrValue || '{}'))();\r\n } catch(ev) {\r\n layui.hint().error(opts.errorText || [\r\n attrName + '=\"'+ attrValue + '\"',\r\n '\\n parseerror: '+ ev\r\n ].join('\\n'), 'error');\r\n return {};\r\n }\r\n };\r\n\r\n\r\n /**\r\n * 元素是否属于顶级元素(document 或 body)\r\n * @param {HTMLElement} elem - HTML 元素\r\n * @returns {boolean} 是否属于顶级元素\r\n * @example\r\n * ```js\r\n * lay.isTopElem(document) // true\r\n * ```\r\n */\r\n lay.isTopElem = function(elem){\r\n var topElems = [document, lay('body')[0]]\r\n ,matched = false;\r\n lay.each(topElems, function(index, item){\r\n if(item === elem){\r\n return matched = true\r\n }\r\n });\r\n return matched;\r\n };\r\n\r\n // 剪切板\r\n lay.clipboard = {\r\n /**\r\n * 写入文本\r\n * @param {Object} options - 可配置的选项\r\n * @param {string} options.text - 写入剪贴板的文本\r\n * @param {() => void} [options.done] - 写入成功/完成回调\r\n * @param {(err?: any) => void} [options.error] - 写入失败回调\r\n * @example\r\n * ```js\r\n * lay.clipboard.writeText({\r\n * text: '测试文本',\r\n * done: function(){ layer.msg('copied')},\r\n * error: function(){ layer.msg('error')}\r\n * })\r\n * ```\r\n */\r\n writeText: function(options) {\r\n var text = String(options.text);\r\n\r\n if(navigator && 'clipboard' in navigator){\r\n navigator.clipboard.writeText(text)\r\n .then(options.done, function(){\r\n legacyCopy();\r\n });\r\n }else{\r\n legacyCopy();\r\n }\r\n\r\n function legacyCopy(){\r\n var elem = document.createElement('textarea');\r\n\r\n elem.value = text;\r\n elem.style.position = 'fixed';\r\n elem.style.opacity = '0';\r\n elem.style.top = '0px';\r\n elem.style.left = '0px';\r\n\r\n document.body.appendChild(elem);\r\n elem.select();\r\n\r\n try {\r\n document.execCommand('copy');\r\n typeof options.done === 'function' && options.done();\r\n } catch(err) {\r\n typeof options.error === 'function' && options.error(err);\r\n } finally {\r\n elem.remove ? elem.remove() : document.body.removeChild(elem);\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * 检测是否支持 Passive Event Listeners\r\n * 引用自 https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\r\n * @type {boolean}\r\n */\r\n lay.passiveSupported = function(){\r\n var passiveSupported = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n passiveSupported = true;\r\n }\r\n });\r\n window.addEventListener('test', null, opts);\r\n window.removeEventListener('test', null, opts);\r\n } catch (err) {}\r\n return passiveSupported;\r\n }();\r\n\r\n /**\r\n * 是否支持 touch 事件\r\n */\r\n lay.touchEventsSupported = function(){\r\n return 'ontouchstart' in window;\r\n };\r\n\r\n /**\r\n * @typedef touchSwipeState\r\n * @prop {{x: number,y: number}} pointerStart - 初始坐标\r\n * @prop {{x: number,y: number}} pointerEnd - 结束坐标\r\n * @prop {number} distanceX - X 轴移动距离\r\n * @prop {number} distanceY - Y 轴移动距离\r\n * @prop {'none'|'right'|'left'|'up'|'down'} direction - 滑动方向\r\n * @prop {Date} timeStart 开始时间\r\n */\r\n /**\r\n * @callback touchSwipeCallback\r\n * @param {TouchEvent} e 滑动事件\r\n * @param {touchSwipeState} state 滑动相关的状态\r\n */\r\n /**\r\n * 基于 touch 事件的触摸滑动\r\n * @param {string | HTMLElement | JQuery} elem - HTML 元素\r\n * @param {{onTouchStart?: touchSwipeCallback; onTouchMove?: touchSwipeCallback; onTouchEnd?: touchSwipeCallback; preventDefault?: boolean}} opts - 配置项\r\n */\r\n lay.touchSwipe = function(elem, opts){\r\n var options = opts\r\n var targetElem = lay(elem)[0];\r\n var preventDefault = 'preventDefault' in options ? options.preventDefault : true;\r\n\r\n if(!targetElem || !lay.touchEventsSupported()) return;\r\n\r\n var state = {\r\n pointerStart: {x:0, y:0},\r\n pointerEnd: {x:0, y:0},\r\n distanceX: 0,\r\n distanceY: 0,\r\n direction:'none', // 'up','down','left','right','none\r\n timeStart: null\r\n }\r\n\r\n var onStart = function(e){\r\n if(e.touches.length !== 1) return;\r\n bindEvents();\r\n // 重置状态\r\n state.timeStart = Date.now();\r\n state.pointerStart.x = state.pointerEnd.x = e.touches[0].clientX;\r\n state.pointerStart.y = state.pointerEnd.y = e.touches[0].clientY;\r\n state.distanceX = state.distanceY = 0;\r\n state.direction = 'none'\r\n\r\n options.onTouchStart && options.onTouchStart(e, state);\r\n }\r\n\r\n var onMove = function(e){\r\n if(preventDefault){\r\n e.preventDefault();\r\n }\r\n state.pointerEnd.x = e.touches[0].clientX;\r\n state.pointerEnd.y = e.touches[0].clientY;\r\n state.distanceX = state.pointerStart.x - state.pointerEnd.x;\r\n state.distanceY = state.pointerStart.y - state.pointerEnd.y;\r\n if(Math.abs(state.distanceX) > Math.abs(state.distanceY)){\r\n state.direction = state.distanceX > 0 ? 'left' : 'right';\r\n }else{\r\n state.direction = state.distanceY > 0 ? 'up' : 'down';\r\n }\r\n options.onTouchMove && options.onTouchMove(e, state);\r\n }\r\n\r\n var onEnd = function(e){\r\n options.onTouchEnd && options.onTouchEnd(e, state);\r\n unbindEvents();\r\n }\r\n\r\n var bindEvents = function(){\r\n targetElem.addEventListener('touchmove', onMove, lay.passiveSupported ? { passive: false} : false);\r\n targetElem.addEventListener('touchend', onEnd);\r\n targetElem.addEventListener('touchcancel', onEnd);\r\n }\r\n\r\n var unbindEvents = function(){\r\n targetElem.removeEventListener('touchmove', onMove);\r\n targetElem.removeEventListener('touchend', onEnd, lay.passiveSupported ? { passive: false} : false);\r\n targetElem.removeEventListener('touchcancel', onEnd);\r\n }\r\n\r\n // 防止事件重复绑定\r\n if(targetElem.__lay_touchswipe_cb_){\r\n targetElem.removeEventListener('touchstart', targetElem.__lay_touchswipe_cb_);\r\n }\r\n targetElem.__lay_touchswipe_cb_ = onStart;\r\n targetElem.addEventListener('touchstart', onStart);\r\n }\r\n\r\n /** @type {(elem: Element|Document|Window,eventName: string,fn:EventListenerOrEventListenerObject,options: boolean | AddEventListenerOptions) => any}*/\r\n lay.addEvent = function(){\r\n if(document.addEventListener){\r\n return function(elem, eventName, fn, options){\r\n elem.addEventListener(eventName, fn, options);\r\n }\r\n }else{\r\n return function(elem, eventName, fn){\r\n var prefix = '_lay_on_';\r\n var eventsCacheName = prefix + eventName;\r\n var listener = function(e){\r\n e.target = e.srcElement;\r\n fn.call(elem, e);\r\n }\r\n listener._rawFn = fn;\r\n if(!elem[eventsCacheName]){\r\n elem[eventsCacheName] = [];\r\n }\r\n var include = false;\r\n lay.each(elem[eventsCacheName], function(_, listener){\r\n if(listener._rawFn === fn){\r\n include = true;\r\n return true;\r\n }\r\n })\r\n if(!include){\r\n elem[eventsCacheName].push(listener);\r\n elem.attachEvent('on' + eventName, listener);\r\n }\r\n }\r\n }\r\n }();\r\n\r\n /** @type {(elem: Element|Document|Window,eventName: string,fn:EventListenerOrEventListenerObject,options: boolean | EventListenerOptions) => any}*/\r\n lay.removeEvent = function(){\r\n if(document.removeEventListener){\r\n return function(elem, eventName, fn, options){\r\n elem.removeEventListener(eventName, fn, options);\r\n }\r\n }else{\r\n return function(elem, eventName, fn){\r\n var prefix = '_lay_on_';\r\n var eventsCacheName = prefix + eventName;\r\n var events = elem[eventsCacheName];\r\n if(layui.isArray(events)){\r\n var newEvents = [];\r\n lay.each(events, function(_, listener){\r\n if(listener._rawFn === fn){\r\n elem.detachEvent('on'+ eventName, listener);\r\n }else{\r\n newEvents.push(listener);\r\n }\r\n })\r\n elem[eventsCacheName] = newEvents;\r\n }\r\n }\r\n }\r\n }();\r\n\r\n /**\r\n * 绑定指定元素外部的点击事件\r\n * @param {HTMLElement} target - 响应事件的元素\r\n * @param {(e: Event) => void} handler - 事件触发时执行的函数\r\n * @param {object} [options] - 选项\r\n * @param {string} [options.event=\"pointerdown\"] - 事件类型\r\n * @param {HTMLElement | Window} [options.scope=document] - 事件范围\r\n * @param {Array} [options.ignore] - 忽略触发事件的元素或选择器字符串\r\n * @param {boolean} [options.capture=true] - 对内部事件 listener 使用捕获阶段\r\n * @param {boolean} [options.detectIframe] - 是否检测 iframe\r\n * @returns {() => void} - 返回一个停止事件响应的函数\r\n */\r\n lay.onClickOutside = function(target, handler, options){\r\n options = options || {};\r\n var eventType = options.event || ('onpointerdown' in window ? 'pointerdown' : 'mousedown');\r\n var scopeTarget = options.scope || document;\r\n var ignore = options.ignore || [];\r\n var useCapture = 'capture' in options ? options.capture : true;\r\n var detectIframe = options.detectIframe;\r\n\r\n var listener = function(event){\r\n var el = target;\r\n var eventTarget = event.target || event.srcElement;\r\n var eventPath = getEventPath(event);\r\n\r\n if (!el || el === eventTarget || eventPath.indexOf(el) !== -1){\r\n return;\r\n }\r\n if(shouldIgnore(event, eventPath)){\r\n return;\r\n }\r\n\r\n handler(event);\r\n };\r\n\r\n function shouldIgnore(event, eventPath){\r\n var eventTarget = event.target || event.srcElement;\r\n for(var i = 0; i < ignore.length; i++){\r\n var target = ignore[i];\r\n if(typeof target === 'string'){\r\n var targetElements = document.querySelectorAll(target);\r\n for(var j = 0; j < targetElements.length; j++){\r\n var targetEl = targetElements[i];\r\n if(targetEl === eventTarget || eventPath.indexOf(targetEl) !== -1){\r\n return true;\r\n }\r\n }\r\n }else{\r\n if(target && (target === eventTarget || eventPath.indexOf(target) !== -1)){\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function getEventPath(event){\r\n var path = (event.composedPath && event.composedPath()) || event.path;\r\n var eventTarget = event.target || event.srcElement;\r\n\r\n if (path !== null && path !== undefined){\r\n return path;\r\n }\r\n\r\n function getParents(node, memo){\r\n memo = memo || [];\r\n var parentNode = node.parentNode;\r\n\r\n return parentNode\r\n ? getParents(parentNode, memo.concat([parentNode]))\r\n : memo;\r\n }\r\n\r\n return [eventTarget].concat(getParents(eventTarget));\r\n }\r\n\r\n function bindEventListener(elem, eventName, handler, opts){\r\n elem.addEventListener\r\n ? elem.addEventListener(eventName, handler, opts)\r\n : elem.attachEvent('on' + eventName, handler);\r\n\r\n return function(){\r\n elem.removeEventListener\r\n ? elem.removeEventListener(eventName, handler, opts)\r\n : elem.detachEvent('on' + eventName, handler);\r\n }\r\n }\r\n\r\n var cleanup = [\r\n bindEventListener(\r\n scopeTarget, \r\n eventType, \r\n listener, \r\n lay.passiveSupported ? { passive: true, capture: useCapture } : useCapture\r\n ),\r\n detectIframe && bindEventListener(window, 'blur', function(event){\r\n setTimeout(function(){\r\n if(document.activeElement && document.activeElement.tagName === 'IFRAME' \r\n && target.contains && !target.contains(document.activeElement)\r\n ){\r\n handler(event);\r\n }\r\n }, 0);\r\n })\r\n ];\r\n\r\n return function(){\r\n for(var i=0; i < cleanup.length; i++){\r\n cleanup[i] && cleanup[i]();\r\n }\r\n cleanup = null;\r\n }\r\n };\r\n\r\n var hasOwnProperty = Object.prototype.hasOwnProperty;\r\n lay.hasOwn = function(obj, prop){\r\n return hasOwnProperty.call(obj, prop);\r\n };\r\n\r\n\r\n /*\r\n * lay 元素操作\r\n */\r\n\r\n\r\n // 追加字符\r\n Class.addStr = function(str, new_str){\r\n str = str.replace(/\\s+/, ' ');\r\n new_str = new_str.replace(/\\s+/, ' ').split(' ');\r\n lay.each(new_str, function(ii, item){\r\n if(!new RegExp('\\\\b'+ item + '\\\\b').test(str)){\r\n str = str + ' ' + item;\r\n }\r\n });\r\n return str.replace(/^\\s|\\s$/, '');\r\n };\r\n\r\n // 移除值\r\n Class.removeStr = function(str, new_str){\r\n str = str.replace(/\\s+/, ' ');\r\n new_str = new_str.replace(/\\s+/, ' ').split(' ');\r\n lay.each(new_str, function(ii, item){\r\n var exp = new RegExp('\\\\b'+ item + '\\\\b')\r\n if(exp.test(str)){\r\n str = str.replace(exp, '');\r\n }\r\n });\r\n return str.replace(/\\s+/, ' ').replace(/^\\s|\\s$/, '');\r\n };\r\n\r\n // 查找子元素\r\n Class.fn.find = function(selector){\r\n var that = this;\r\n var elem = [];\r\n var isObject = typeof selector === 'object';\r\n\r\n this.each(function(i, item){\r\n var children = isObject && item.contains(selector)\r\n ? selector\r\n : item.querySelectorAll(selector || null);\r\n\r\n lay.each(children, function(index, child){\r\n elem.push(child);\r\n });\r\n });\r\n\r\n return lay(elem);\r\n };\r\n\r\n // 元素遍历\r\n Class.fn.each = function(fn){\r\n return lay.each.call(this, this, fn);\r\n };\r\n\r\n // 添加 className\r\n Class.fn.addClass = function(className, type){\r\n return this.each(function(index, item){\r\n item.className = Class[type ? 'removeStr' : 'addStr'](item.className, className)\r\n });\r\n };\r\n\r\n // 移除 className\r\n Class.fn.removeClass = function(className){\r\n return this.addClass(className, true);\r\n };\r\n\r\n // 是否包含 css 类\r\n Class.fn.hasClass = function(className){\r\n var has = false;\r\n this.each(function(index, item){\r\n if(new RegExp('\\\\b'+ className +'\\\\b').test(item.className)){\r\n has = true;\r\n }\r\n });\r\n return has;\r\n };\r\n\r\n // 添加或获取 css style\r\n Class.fn.css = function(key, value){\r\n var that = this;\r\n var parseValue = function(v){\r\n return isNaN(v) ? v : (v +'px');\r\n };\r\n return (typeof key === 'string' && value === undefined) ? function(){\r\n if(that.length > 0) return that[0].style[key];\r\n }() : that.each(function(index, item){\r\n typeof key === 'object' ? lay.each(key, function(thisKey, thisValue){\r\n item.style[thisKey] = parseValue(thisValue);\r\n }) : item.style[key] = parseValue(value);\r\n });\r\n };\r\n\r\n // 添加或获取宽度\r\n Class.fn.width = function(value){\r\n var that = this;\r\n return value === undefined ? function(){\r\n if(that.length > 0) return that[0].offsetWidth; // 此处还需做兼容\r\n }() : that.each(function(index, item){\r\n that.css('width', value);\r\n });\r\n };\r\n\r\n // 添加或获取高度\r\n Class.fn.height = function(value){\r\n var that = this;\r\n return value === undefined ? function(){\r\n if(that.length > 0) return that[0].offsetHeight; // 此处还需做兼容\r\n }() : that.each(function(index, item){\r\n that.css('height', value);\r\n });\r\n };\r\n\r\n // 添加或获取属性\r\n Class.fn.attr = function(key, value){\r\n var that = this;\r\n return value === undefined ? function(){\r\n if(that.length > 0) return that[0].getAttribute(key);\r\n }() : that.each(function(index, item){\r\n item.setAttribute(key, value);\r\n });\r\n };\r\n\r\n // 移除属性\r\n Class.fn.removeAttr = function(key){\r\n return this.each(function(index, item){\r\n item.removeAttribute(key);\r\n });\r\n };\r\n\r\n // 设置或获取 HTML 内容\r\n Class.fn.html = function(html){\r\n var that = this;\r\n return html === undefined ? function(){\r\n if(that.length > 0) return that[0].innerHTML;\r\n }() : this.each(function(index, item){\r\n item.innerHTML = html;\r\n });\r\n };\r\n\r\n // 设置或获取值\r\n Class.fn.val = function(value){\r\n var that = this;\r\n return value === undefined ? function(){\r\n if(that.length > 0) return that[0].value;\r\n }() : this.each(function(index, item){\r\n item.value = value;\r\n });\r\n };\r\n\r\n // 追加内容\r\n Class.fn.append = function(elem){\r\n return this.each(function(index, item){\r\n typeof elem === 'object'\r\n ? item.appendChild(elem)\r\n : item.innerHTML = item.innerHTML + elem;\r\n });\r\n };\r\n\r\n // 移除内容\r\n Class.fn.remove = function(elem){\r\n return this.each(function(index, item){\r\n elem ? item.removeChild(elem) : item.parentNode.removeChild(item);\r\n });\r\n };\r\n\r\n // 事件绑定\r\n Class.fn.on = function(eventName, fn, options){\r\n return this.each(function(index, item){\r\n lay.addEvent(item, eventName, fn, options)\r\n });\r\n };\r\n\r\n // 解除事件\r\n Class.fn.off = function(eventName, fn, options){\r\n return this.each(function(index, item){\r\n lay.removeEvent(item, eventName, fn, options)\r\n });\r\n };\r\n\r\n // export\r\n window.lay = lay;\r\n\r\n // 输出为 layui 模块\r\n if(window.layui && layui.define){\r\n layui.define(function(exports){\r\n exports(MOD_NAME, lay);\r\n });\r\n }\r\n\r\n})(window);\r\n","/**\r\n * laytpl\r\n * 轻量级通用模板引擎\r\n */\r\n\r\n(function(global) {\r\n 'use strict';\r\n\r\n var MOD_NAME = 'laytpl';\r\n\r\n // 实例接口\r\n var thisModule = function() {\r\n var that = this;\r\n var options = that.config;\r\n return {\r\n config: options,\r\n\r\n /**\r\n * 渲染模板\r\n * @param {Object} data - 模板数据\r\n * @param {Function} callback - 回调函数\r\n * @returns {string} 渲染后的模板\r\n */\r\n render: function(data, callback) {\r\n options.data = data\r\n var html = that.render();\r\n\r\n // 如果传入目标元素选择器,则直接将模板渲染到目标元素中\r\n if (options.target) {\r\n var elem = document.querySelector(options.target);\r\n if (elem) {\r\n elem.innerHTML = html;\r\n }\r\n }\r\n\r\n // 返回结果\r\n return typeof callback === 'function'\r\n ? (callback(html), this)\r\n : html;\r\n },\r\n\r\n /**\r\n * 编译新的模板\r\n * @param {string} template - 模板\r\n * @returns {this}\r\n */\r\n compile: function(template) {\r\n options.template = template;\r\n delete that.compilerCache; // 清除模板缓存\r\n // that.compile(template);\r\n return this;\r\n },\r\n\r\n /**\r\n * 模板编译错误事件\r\n * @param {Function} callback\r\n * @returns {this}\r\n */\r\n error: function(callback) {\r\n callback && (options.error = callback);\r\n return this;\r\n },\r\n\r\n /**\r\n * 以下为兼容旧版本相关方法\r\n */\r\n\r\n // 解析并渲染模板\r\n parse: function(template, data) {\r\n return this.compile(template).render(data);\r\n }\r\n };\r\n };\r\n\r\n // 模板内部变量\r\n var vars = {\r\n // 字符转义\r\n escape: function(html) {\r\n var exp = /[<\"'>]|&(?=#?[a-zA-Z0-9]+)/g;\r\n if (html === undefined || html === null) return '';\r\n html += '';\r\n if (!exp.test(html)) return html;\r\n return html.replace(exp, function(str) {\r\n return '&#'+ str.charCodeAt(0) + ';';\r\n });\r\n }\r\n };\r\n\r\n // 组件工具类方法\r\n var tools = {\r\n regex: function(str, mod) {\r\n return new RegExp(str, mod || 'g');\r\n },\r\n\r\n /**\r\n * 错误提示\r\n * @param {string} e - 原始错误信息\r\n * @param {Object} opts - 自定义选项\r\n * @param {Function} error - 错误回调\r\n * @returns {string} - 错误提示\r\n */\r\n error: function(e, opts, error) {\r\n opts = opts || {};\r\n opts = Object.assign({\r\n debug: '',\r\n message: 'Laytpl '+ (opts.type || '') +'Error: ' + e\r\n }, opts);\r\n\r\n // 向控制台输出错误信息\r\n typeof console === 'object' && console.error(opts.message, '\\n', opts.debug, '\\n', opts);\r\n typeof error === 'function' && error(opts); // 执行错误回调\r\n return opts.message; // 向视图返回错误提示\r\n }\r\n };\r\n\r\n // 默认配置\r\n var config = {\r\n open: '{{', // 起始界定符\r\n close: '}}', // 结束界定符\r\n cache: true, // 是否开启模板缓存,以便下次渲染时不重新编译模板\r\n condense: true, // 是否压缩模板空白符,如:将多个连续的空白符压缩为单个空格\r\n tagStyle: '' // 标签风格。默认采用 < 2.11 的风格,设置 modern 则采用 2.11+ 风格\r\n };\r\n\r\n // 构造器\r\n var Class = function(template, options) {\r\n var that = this;\r\n\r\n // 选项合并\r\n options = that.config = Object.assign({\r\n template: template\r\n }, config, options);\r\n\r\n // 当前实例的模板内工具\r\n that.vars = Object.assign({\r\n /**\r\n * 引用外部模板。若在 Node.js 环境,可通过重置该方法实现模板文件导入\r\n * @param {string} id - 模板 ID\r\n * @param {Object} data - 模板数据\r\n * @returns {string} 模板渲染后内容\r\n */\r\n include: function(id, data) {\r\n var elem = document.getElementById(id);\r\n var template = elem ? elem.innerHTML : '';\r\n return template ? that.render(template, data) : '';\r\n }\r\n }, vars);\r\n\r\n // 编译模板\r\n that.compile(options.template);\r\n };\r\n\r\n /**\r\n * 渲染\r\n * @param {Object} template - 模板\r\n * @param {Object} data - 数据\r\n * @returns {string} 渲染后的模板内容\r\n */\r\n Class.prototype.render = function(template, data) {\r\n var that = this;\r\n var options = that.config;\r\n\r\n // 获得模板渲染函数\r\n var compiler = template ? that.compile(template) : (\r\n that.compilerCache || that.compile(options.template)\r\n );\r\n\r\n // 获取渲染后的字符\r\n var html = function() {\r\n data = data || options.data || {};\r\n try {\r\n return compiler(data);\r\n } catch(e) {\r\n template = template || options.template;\r\n return tools.error(e, {\r\n debug: that.checkErrorArea(template, data),\r\n template: template,\r\n type: 'Render'\r\n }, options.error);\r\n }\r\n }();\r\n\r\n // 缓存编译器\r\n if (options.cache && !template) {\r\n that.compilerCache = compiler;\r\n }\r\n\r\n return html; // 返回渲染后的字符\r\n };\r\n\r\n /**\r\n * 编译模板\r\n * @param {string} template - 原始模板\r\n * @returns {Function} 模板编译器,用于后续数据渲染\r\n */\r\n Class.prototype.compile = function(template) {\r\n var that = this;\r\n var options = that.config;\r\n var source = template;\r\n var openDelimiter = options.open;\r\n var closeDelimiter = options.close;\r\n var condense = options.condense;\r\n var regex = tools.regex;\r\n var placeholder = '\\u2028'; // Unicode 行分隔符\r\n\r\n // console.log('compile');\r\n\r\n // 模板必须为 string 类型,且不能为空\r\n if (typeof template !== 'string' || !template) {\r\n return function() {\r\n return '';\r\n };\r\n }\r\n\r\n /**\r\n * 完整标签正则\r\n * @param {string[]} cores - 标签内部核心表达式,含:前置、主体、后置\r\n * @param {Object} sides - 标签两侧外部表达式\r\n * @returns {RegExp}\r\n */\r\n var tagRegex = function(cores, sides) {\r\n var arr = [\r\n '(?:'+ openDelimiter + (cores[0] || '') +'\\\\s*)', // 界定符前置\r\n '('+ (cores[1] || '[\\\\s\\\\S]') +'*?)', // 标签主体\r\n '(?:\\\\s*'+ (cores[2] || '') + closeDelimiter +')' // 界定符后置\r\n ];\r\n sides = sides || {};\r\n sides.before && arr.unshift(sides.before); // 标签前面的表达式\r\n sides.after && arr.push(sides.after); // 标签后面的表达式\r\n return regex(arr.join(''));\r\n };\r\n\r\n // 匹配非输出类型标签两侧的换行符和空白符,避免渲染后占用一行\r\n var sidesRegex = condense ? ['', ''] : ['(?:(?:\\\\n)*\\\\s*)', '(?:\\\\s*?)'];\r\n var delimSides = {\r\n before: sidesRegex[0],\r\n after: sidesRegex[1]\r\n };\r\n\r\n /**\r\n * 清理多余符号\r\n * @param {string} body - 标签主体字符\r\n * @param {boolean} nowrap - 是否强制不换行\r\n * @returns {string} 清理后的字符\r\n */\r\n var clear = function(body, nowrap) {\r\n if (!condense) {\r\n // 还原语句中的 Unicode 行分隔符\r\n body = body.replace(regex(placeholder), nowrap ? '' : '\\n');\r\n }\r\n body = body.replace(/\\\\(\\\\|\")/g, '$1'); // 去除多余反斜杠\r\n return body;\r\n };\r\n\r\n // 纠正标签结构\r\n var correct = function(tpl) {\r\n return tpl.replace(regex('([}\\\\]])'+ closeDelimiter), '$1 '+ closeDelimiter);\r\n };\r\n\r\n // 模板解析\r\n var parse = that.parse = function(tpl) {\r\n tpl = tpl || '';\r\n if (!tpl) return tpl;\r\n\r\n // 压缩连续空白符\r\n if (condense) {\r\n tpl = tpl.replace(/\\t/g, ' ').replace(/\\s+/g, ' ');\r\n }\r\n\r\n // 初始整理\r\n tpl = correct(tpl) // 纠正标签\r\n .replace(/(?=\\\\|\")/g, '\\\\') // 转义反斜杠和双引号\r\n .replace(/\\r?\\n/g, condense ? '' : placeholder); // 整理换行符\r\n\r\n // 忽略标签 - 即区域中的内容不进行标签解析\r\n tpl = tpl.replace(tagRegex(['!', '', '!'], delimSides), function(str, body) {\r\n body = body.replace(regex(openDelimiter + '|' + closeDelimiter), function(tag) {\r\n return tag.replace(/(?=.)/g, '\\\\');\r\n });\r\n return body;\r\n });\r\n\r\n // 模板字符拼接\r\n var strConcatenation = function(body) {\r\n // 通过对 20k+ 行的模板进行编译测试, 发现 Chrome `+=` 性能竟优于 `push`\r\n // 1k 次循环 + 1k 行数据量进行模板编译+渲染,发现 `+=` 性能仍然优于 `push`\r\n // 考虑可能是 V8 做了 Ropes 结构优化? 或跟模板采用「静态拼接」的实现有关(可能性更大)\r\n return ['\";', body, '__laytpl__+=\"'].join('\\n');\r\n // return ['\");', body, '__laytpl__.push(\"'].join('\\n');\r\n };\r\n\r\n // 解析输出标签\r\n var output = function(str, delimiter, body) {\r\n var _escape;\r\n\r\n if (!body) return '';\r\n body = clear(body, true);\r\n\r\n // 输出方式\r\n if (delimiter === '-') { // 原文输出,即不对 HTML 原文进行转义\r\n _escape = '';\r\n } else { // 转义输出\r\n _escape = '_escape';\r\n }\r\n\r\n return body ? strConcatenation(\r\n '__laytpl__+='+ _escape +'('+ body +');'\r\n // '__laytpl__.push('+ _escape +'('+ body +'));'\r\n ) : '';\r\n };\r\n\r\n // 解析 Scriptlet\r\n var statement = function(str, body) {\r\n if (!body) return '';\r\n body = clear(body);\r\n return strConcatenation(body);\r\n };\r\n\r\n // 标签风格\r\n if (options.tagStyle === 'modern') { // 2.11+ 版本风格\r\n // 注释标签 - 仅在模板中显示,不进行解析,也不在视图中输出\r\n tpl = tpl.replace(tagRegex(['#'], delimSides), '');\r\n // 输出标签\r\n tpl = tpl.replace(tagRegex(['(=|-)']), output);\r\n // Scriptlet 标签\r\n tpl = tpl.replace(tagRegex([], delimSides), statement);\r\n } else { // < 2.11 版本风格\r\n // Scriptlet 标签\r\n tpl = tpl.replace(tagRegex(['#'], delimSides), statement);\r\n // 输出标签\r\n tpl = tpl.replace(tagRegex(['(=|-)*']), output);\r\n }\r\n\r\n // 恢复换行符\r\n if (!condense) {\r\n tpl = tpl.replace(regex(placeholder), '\\\\n');\r\n }\r\n\r\n return tpl;\r\n };\r\n\r\n // 创建模板编译器\r\n var createCompiler = that.createCompiler = function(template) {\r\n var codeBuilder = [\r\n 'function(d){',\r\n '\"use strict\";',\r\n 'var __laytpl__=\"\",'+\r\n function() { // 内部变量\r\n // 内部方法\r\n var arr = [];\r\n for (var key in that.vars) {\r\n arr.push(((key === 'escape' ? '_' : '') + key) +'=laytpl.'+ key);\r\n }\r\n return arr.join(',');\r\n }() + ';',\r\n '__laytpl__=\"'+ parse(template) +'\";',\r\n 'return __laytpl__;',\r\n // '__laytpl__.push(\"'+ parse(template) +'\");',\r\n // 'return __laytpl__.join(\"\");',\r\n '};'\r\n ].join('\\n');\r\n // console.log(codeBuilder);\r\n\r\n /**\r\n * 请注意: 开发者在使用模板语法时,需确保模板中的 JS 语句不来自于页面用户输入。\r\n * 即模板中的 JS 语句必须在页面开发者自身的可控范围内,否则请避免使用该模板解析。\r\n */\r\n return new Function('laytpl', 'return '+ codeBuilder)(that.vars);\r\n };\r\n\r\n try {\r\n return createCompiler(template); // 返回编译器\r\n } catch(e) {\r\n delete that.compilerCache;\r\n return function() {\r\n return tools.error(e, {\r\n debug: that.checkErrorArea(source),\r\n template: source,\r\n type: 'Compile'\r\n }, options.error);\r\n };\r\n }\r\n };\r\n\r\n /**\r\n * 校验出错区域\r\n * @param {string} source - 原始模板\r\n * @param {Object} data - 数据\r\n * @returns {string} 出错区域的模板碎片\r\n */\r\n Class.prototype.checkErrorArea = function(source, data) {\r\n var that = this;\r\n var srcs = source.split(/\\n/g);\r\n var validLine = -1; // 有效行\r\n\r\n // 逐行查找\r\n var i = 0;\r\n var str = '';\r\n var len = srcs.length;\r\n for (; i < len; i++) {\r\n str += srcs[i];\r\n try {\r\n data\r\n ? that.createCompiler(str)(data)\r\n : new Function('\"use strict\";_laytpl__=\"'+ that.parse(str) +'\";');\r\n validLine = i;\r\n } catch(e) {\r\n continue;\r\n }\r\n }\r\n\r\n // 呈现模板出错大致区域\r\n var errorArea = function(errLine) {\r\n var arr = [];\r\n var addLine = 3; // 错误行上下延伸的行数\r\n var i = 0;\r\n var len = srcs.length;\r\n\r\n if (errLine < 0) errLine = 0;\r\n if (errLine > len - 1) errLine = len - 1;\r\n\r\n i = errLine - addLine;\r\n if (i < 0) i = 0;\r\n\r\n for (; i < len; i++) {\r\n arr.push((i == errLine ? '? ' : ' ') +(i + 1)+ '| '+ srcs[i]);\r\n if (i >= errLine + addLine) break;\r\n }\r\n\r\n return '\\n'+ arr.join('\\n');\r\n };\r\n\r\n return errorArea(validLine + 1); // 有效行的下一行即为出错行\r\n };\r\n\r\n /**\r\n * 创建实例\r\n * @param {string} template - 模板\r\n * @param {Object} options - 选项\r\n * @returns\r\n */\r\n var laytpl = function(template, options) {\r\n var inst = new Class(template, options);\r\n return thisModule.call(inst);\r\n };\r\n\r\n /**\r\n * 扩展模板内部变量\r\n * @param {Object} variables - 扩展内部变量,变量值通常为函数\r\n */\r\n laytpl.extendVars = function(variables) {\r\n Object.assign(vars, variables);\r\n };\r\n\r\n /**\r\n * 设置默认配置\r\n * @param {Object} options - 选项\r\n */\r\n laytpl.config = laytpl.set = function(options) {\r\n Object.assign(config, options);\r\n };\r\n\r\n // 输出接口\r\n typeof module === 'object' && typeof exports === 'object'\r\n ? module.exports = laytpl // CommonJS\r\n : ( // 浏览器\r\n typeof layui === 'object' ? layui.define(function(exports) { // Layui\r\n exports(MOD_NAME, laytpl);\r\n }) : (\r\n typeof define === 'function' && define.amd ? define(function() { // RequireJS\r\n return laytpl;\r\n }) : global.laytpl = laytpl // 单独引入\r\n )\r\n );\r\n})(this);\r\n","/**\r\n * laypage 分页组件\r\n */\r\n\r\nlayui.define(function(exports) {\r\n \"use strict\";\r\n\r\n var doc = document;\r\n var id = 'getElementById';\r\n var tag = 'getElementsByTagName';\r\n\r\n // 字符常量\r\n var MOD_NAME = 'laypage';\r\n var DISABLED = 'layui-disabled';\r\n\r\n // 构造器\r\n var Class = function(options){\r\n var that = this;\r\n that.config = options || {};\r\n that.config.index = ++laypage.index;\r\n that.render(true);\r\n };\r\n\r\n // 判断传入的容器类型\r\n Class.prototype.type = function(){\r\n var config = this.config;\r\n if(typeof config.elem === 'object'){\r\n return config.elem.length === undefined ? 2 : 3;\r\n }\r\n };\r\n\r\n // 分页视图\r\n Class.prototype.view = function(){\r\n var that = this;\r\n var config = that.config;\r\n\r\n // 连续页码个数\r\n var groups = config.groups = 'groups' in config\r\n ? (Number(config.groups) || 0)\r\n : 5;\r\n\r\n // 排版\r\n config.layout = typeof config.layout === 'object'\r\n ? config.layout\r\n : ['prev', 'page', 'next'];\r\n\r\n config.count = Number(config.count) || 0; // 数据总数\r\n config.curr = Number(config.curr) || 1; // 当前页\r\n\r\n // 每页条数的选择项\r\n config.limits = typeof config.limits === 'object'\r\n ? config.limits\r\n : [10, 20, 30, 40, 50];\r\n\r\n // 默认条数\r\n config.limit = Number(config.limit) || 10;\r\n\r\n // 总页数\r\n config.pages = Math.ceil(config.count/config.limit) || 1;\r\n\r\n // 当前页不能超过总页数\r\n if(config.curr > config.pages){\r\n config.curr = config.pages;\r\n } else if(config.curr < 1) { // 当前分页不能小于 1\r\n config.curr = 1;\r\n }\r\n\r\n // 连续分页个数不能低于 0 且不能大于总页数\r\n if(groups < 0){\r\n groups = 1;\r\n } else if (groups > config.pages){\r\n groups = config.pages;\r\n }\r\n\r\n config.prev = 'prev' in config ? config.prev : '上一页'; // 上一页文本\r\n config.next = 'next' in config ? config.next : '下一页'; // 下一页文本\r\n\r\n // 计算当前组\r\n var index = config.pages > groups\r\n ? Math.ceil( (config.curr + (groups > 1 ? 1 : 0)) / (groups > 0 ? groups : 1) )\r\n : 1;\r\n\r\n // 视图片段\r\n var views = {\r\n // 上一页\r\n prev: function(){\r\n return config.prev\r\n ? ''+ config.prev +''\r\n : '';\r\n }(),\r\n\r\n // 页码\r\n page: function(){\r\n var pager = [];\r\n\r\n // 数据量为0时,不输出页码\r\n if(config.count < 1){\r\n return '';\r\n }\r\n\r\n // 首页\r\n if(index > 1 && config.first !== false && groups !== 0){\r\n pager.push(''+ (config.first || 1) +'');\r\n }\r\n\r\n // 计算当前页码组的起始页\r\n var halve = Math.floor((groups-1)/2) // 页码数等分\r\n var start = index > 1 ? config.curr - halve : 1;\r\n var end = index > 1 ? (function(){\r\n var max = config.curr + (groups - halve - 1);\r\n return max > config.pages ? config.pages : max;\r\n }()) : groups;\r\n\r\n // 防止最后一组出现“不规定”的连续页码数\r\n if(end - start < groups - 1){\r\n start = end - groups + 1;\r\n }\r\n\r\n // 输出左分割符\r\n if(config.first !== false && start > 2){\r\n pager.push('...')\r\n }\r\n\r\n // 输出连续页码\r\n for(; start <= end; start++){\r\n if(start === config.curr){\r\n // 当前页\r\n pager.push(''+ start +'');\r\n } else {\r\n pager.push(''+ start +'');\r\n }\r\n }\r\n\r\n // 输出输出右分隔符 & 末页\r\n if(config.pages > groups && config.pages > end && config.last !== false){\r\n if(end + 1 < config.pages){\r\n pager.push('...');\r\n }\r\n if(groups !== 0){\r\n pager.push(''+ (config.last || config.pages) +'');\r\n }\r\n }\r\n\r\n return pager.join('');\r\n }(),\r\n\r\n // 下一页\r\n next: function(){\r\n return config.next\r\n ? ''+ config.next +''\r\n : '';\r\n }(),\r\n\r\n // 数据总数\r\n count: function(){\r\n var countText = typeof config.countText === 'object' ? config.countText : ['共 ', ' 条'];\r\n return ''+ countText[0] + config.count + countText[1] +''\r\n }(),\r\n\r\n // 每页条数\r\n limit: function(){\r\n var elemArr = ['';\r\n }(),\r\n\r\n // 刷新当前页\r\n refresh: [\r\n '',\r\n '',\r\n ''\r\n ].join(''),\r\n\r\n // 跳页区域\r\n skip: function(){\r\n var skipText = typeof config.skipText === 'object' ? config.skipText : [\r\n '到第',\r\n '页',\r\n '确定'\r\n ];\r\n return [\r\n ''+ skipText[0],\r\n '',\r\n skipText[1]+ '',\r\n ''\r\n ].join('');\r\n }()\r\n };\r\n\r\n return ['
                    ',\r\n function(){\r\n var plate = [];\r\n layui.each(config.layout, function(index, item){\r\n if(views[item]){\r\n plate.push(views[item])\r\n }\r\n });\r\n return plate.join('');\r\n }(),\r\n '
                    '].join('');\r\n };\r\n\r\n // 跳页的回调\r\n Class.prototype.jump = function(elem, isskip){\r\n if(!elem) return;\r\n\r\n var that = this;\r\n var config = that.config;\r\n var childs = elem.children;\r\n var btn = elem[tag]('button')[0];\r\n var input = elem[tag]('input')[0];\r\n var select = elem[tag]('select')[0];\r\n var skip = function(){\r\n var curr = Number(input.value.replace(/\\s|\\D/g, ''));\r\n if(curr){\r\n config.curr = curr;\r\n that.render();\r\n }\r\n };\r\n\r\n if(isskip) return skip();\r\n\r\n // 页码\r\n for(var i = 0, len = childs.length; i < len; i++){\r\n if(childs[i].nodeName.toLowerCase() === 'a'){\r\n laypage.on(childs[i], 'click', function(){\r\n var curr = Number(this.getAttribute('data-page'));\r\n if(curr < 1 || curr > config.pages) return;\r\n config.curr = curr;\r\n that.render();\r\n });\r\n }\r\n }\r\n\r\n // 条数\r\n if(select){\r\n laypage.on(select, 'change', function(){\r\n var value = this.value;\r\n if(config.curr*value > config.count){\r\n config.curr = Math.ceil(config.count/value);\r\n }\r\n config.limit = value;\r\n that.render();\r\n });\r\n }\r\n\r\n // 确定\r\n if(btn){\r\n laypage.on(btn, 'click', function(){\r\n skip();\r\n });\r\n }\r\n };\r\n\r\n // 输入页数字控制\r\n Class.prototype.skip = function(elem){\r\n if(!elem) return;\r\n\r\n var that = this;\r\n var input = elem[tag]('input')[0];\r\n\r\n if(!input) return;\r\n\r\n // 键盘事件\r\n laypage.on(input, 'keyup', function(e){\r\n var value = this.value;\r\n var keyCode = e.keyCode;\r\n\r\n if(/^(37|38|39|40)$/.test(keyCode)) return;\r\n\r\n if(/\\D/.test(value)){\r\n this.value = value.replace(/\\D/, '');\r\n }\r\n if(keyCode === 13){\r\n that.jump(elem, true)\r\n }\r\n });\r\n };\r\n\r\n // 渲染分页\r\n Class.prototype.render = function(load){\r\n var that = this;\r\n var config = that.config;\r\n var type = that.type();\r\n var view = that.view();\r\n\r\n if(type === 2){\r\n config.elem && (config.elem.innerHTML = view);\r\n } else if(type === 3){\r\n config.elem.html(view);\r\n } else {\r\n if(doc[id](config.elem)){\r\n doc[id](config.elem).innerHTML = view;\r\n }\r\n }\r\n\r\n config.jump && config.jump(config, load);\r\n\r\n var elem = doc[id]('layui-laypage-' + config.index);\r\n that.jump(elem);\r\n\r\n if(config.hash && !load){\r\n location.hash = '!'+ config.hash +'='+ config.curr;\r\n }\r\n\r\n that.skip(elem);\r\n };\r\n\r\n // 外部接口\r\n var laypage = {\r\n // 分页渲染\r\n render: function(options){\r\n var o = new Class(options);\r\n return o.index;\r\n },\r\n index: layui.laypage ? (layui.laypage.index + 10000) : 0,\r\n on: function(elem, even, fn){\r\n elem.attachEvent ? elem.attachEvent('on'+ even, function(e){ // for ie\r\n e.target = e.srcElement;\r\n fn.call(elem, e);\r\n }) : elem.addEventListener(even, fn, false);\r\n return this;\r\n }\r\n }\r\n\r\n exports(MOD_NAME, laypage);\r\n});\r\n","/** laydate 日期与时间控件 | MIT Licensed */\r\n// @ts-expect-error\r\n(function(window, document) {\r\n \"use strict\";\r\n\r\n var isLayui = window.layui && layui.define;\r\n var ready = {\r\n getPath: window.lay && lay.getPath ? lay.getPath : '',\r\n\r\n // 载入 CSS 依赖\r\n link: function (href, fn, cssname) {\r\n // 未设置路径,则不主动加载 css\r\n if (!laydate.path) return;\r\n\r\n // 加载 css\r\n if (window.lay && lay.layui) {\r\n lay.layui.link(laydate.path + href, fn, cssname);\r\n }\r\n }\r\n };\r\n\r\n // 识别预先可能定义的指定全局对象\r\n var GLOBAL = window.LAYUI_GLOBAL || {};\r\n\r\n // 模块名\r\n var MOD_NAME = 'laydate';\r\n var MOD_ID = 'lay-' + MOD_NAME + '-id'; // 已渲染过的索引标记名\r\n\r\n // 外部调用\r\n var laydate = {\r\n v: '5.6.0', // layDate 版本号\r\n config: {\r\n weekStart: 0 // 默认周日一周的开始\r\n }, // 全局配置项\r\n index: window.laydate && window.laydate.v ? 100000 : 0,\r\n path: GLOBAL.laydate_dir || ready.getPath,\r\n\r\n // 设置全局项\r\n set: function (options) {\r\n var that = this;\r\n that.config = lay.extend({}, that.config, options);\r\n return that;\r\n },\r\n\r\n // 主体 CSS 等待事件\r\n ready: function (callback) {\r\n var cssname = 'laydate';\r\n var ver = '';\r\n var path = (isLayui ? 'modules/' : '') + 'laydate.css?v=' + laydate.v + ver;\r\n\r\n isLayui ? (\r\n layui['layui.all'] ?\r\n (typeof callback === 'function' && callback()) :\r\n layui.addcss(path, callback, cssname)\r\n ) : ready.link(path, callback, cssname);\r\n\r\n return this;\r\n }\r\n };\r\n\r\n // 操作当前实例\r\n var thisModule = function(){\r\n var that = this;\r\n var options = that.config;\r\n var id = options.id;\r\n\r\n thisModule.that[id] = that; // 记录当前实例对象\r\n\r\n return that.inst = {\r\n // 提示框\r\n hint: function(content){\r\n that.hint.call(that, content);\r\n },\r\n // 重载实例\r\n reload: function(options){\r\n that.reload.call(that, options);\r\n },\r\n config: that.config\r\n };\r\n };\r\n\r\n // 字符常量\r\n var ELEM = '.layui-laydate';\r\n var THIS = 'layui-this';\r\n var SHOW = 'layui-show';\r\n var HIDE = 'layui-hide';\r\n var DISABLED = 'laydate-disabled';\r\n var LIMIT_YEAR = [100, 200000];\r\n\r\n var ELEM_STATIC = 'layui-laydate-static';\r\n var ELEM_LIST = 'layui-laydate-list';\r\n var ELEM_SELECTED = 'laydate-selected';\r\n var ELEM_HINT = 'layui-laydate-hint';\r\n var ELEM_DAY_NOW = 'laydate-day-now';\r\n var ELEM_PREV = 'laydate-day-prev';\r\n var ELEM_NEXT = 'laydate-day-next';\r\n var ELEM_FOOTER = 'layui-laydate-footer';\r\n var ELEM_SHORTCUT = 'layui-laydate-shortcut';\r\n var ELEM_NOW = '.laydate-btns-now'\r\n var ELEM_CONFIRM = '.laydate-btns-confirm';\r\n var ELEM_TIME_TEXT = 'laydate-time-text';\r\n var ELEM_TIME_BTN = 'laydate-btns-time';\r\n var ELEM_PREVIEW = 'layui-laydate-preview';\r\n var ELEM_MAIN = 'layui-laydate-main';\r\n var ELEM_SHADE = 'layui-laydate-shade';\r\n\r\n // 组件构造器\r\n var Class = function(options){\r\n var that = this;\r\n that.index = ++laydate.index;\r\n that.config = lay.extend({}, that.config, laydate.config, options);\r\n\r\n // 若 elem 非唯一,则拆分为多个实例\r\n var elem = lay(options.elem || that.config.elem);\r\n if(elem.length > 1){\r\n lay.each(elem, function(){\r\n laydate.render(lay.extend({}, that.config, {\r\n elem: this\r\n }));\r\n });\r\n return that;\r\n }\r\n\r\n // 初始化属性\r\n options = lay.extend(that.config, lay.options(elem[0])); // 继承节点上的属性\r\n\r\n // 若重复执行 render,则视为 reload 处理\r\n if(elem[0] && elem.attr(MOD_ID)){\r\n var newThat = thisModule.getThis(elem.attr(MOD_ID));\r\n if(!newThat) return;\r\n return newThat.reload(options);\r\n }\r\n\r\n // 初始化 id 属性 - 优先取 options > 元素 id > 自增索引\r\n options.id = 'id' in options ? options.id : (\r\n elem.attr('id') || that.index\r\n );\r\n\r\n // 自增索引\r\n options.index = that.index;\r\n\r\n // 初始化\r\n laydate.ready(function(){\r\n that.init();\r\n });\r\n };\r\n\r\n // 日期格式字符\r\n var dateType = 'yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s';\r\n\r\n // 将日期格式字符转换为数组\r\n thisModule.formatArr = function(format){\r\n return (format || '').match(new RegExp(dateType + '|.', 'g')) || []\r\n };\r\n\r\n /*\r\n 组件操作\r\n */\r\n\r\n // 是否闰年\r\n Class.isLeapYear = function(year){\r\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n };\r\n\r\n // 默认配置\r\n Class.prototype.config = {\r\n type: 'date' //控件类型,支持:year/month/date/time/datetime\r\n ,range: false //是否开启范围选择,即双控件\r\n ,format: 'yyyy-MM-dd' //默认日期格式\r\n ,value: null //默认日期,支持传入new Date(),或者符合format参数设定的日期格式字符\r\n ,isInitValue: true //用于控制是否自动向元素填充初始值(需配合 value 参数使用)\r\n ,min: '1900-1-1' //有效最小日期,年月日必须用“-”分割,时分秒必须用“:”分割。注意:它并不是遵循 format 设定的格式。\r\n ,max: '2099-12-31' //有效最大日期,同上\r\n ,trigger: 'click' //呼出控件的事件\r\n ,show: false //是否直接显示,如果设置 true,则默认直接显示控件\r\n ,showBottom: true //是否显示底部栏\r\n ,isPreview: true //是否显示值预览\r\n ,btns: ['clear', 'now', 'confirm'] //右下角显示的按钮,会按照数组顺序排列\r\n ,lang: 'cn' //语言,只支持cn/en,即中文和英文\r\n ,theme: 'default' //主题\r\n ,position: null //控件定位方式定位, 默认absolute,支持:fixed/absolute/static\r\n ,calendar: false //是否开启公历重要节日,仅支持中文版\r\n ,mark: {} //日期备注,如重要事件或活动标记\r\n ,holidays: null // 标注法定节假日或补假上班\r\n ,zIndex: null //控件层叠顺序\r\n ,done: null //控件选择完毕后的回调,点击清空/现在/确定也均会触发\r\n ,change: null //日期时间改变后的回调\r\n ,autoConfirm: true //是否自动确认(日期|年份|月份选择器非range下是否自动确认)\r\n ,shade: 0\r\n };\r\n\r\n //多语言\r\n Class.prototype.lang = function(){\r\n var that = this\r\n ,options = that.config\r\n ,text = {\r\n cn: {\r\n weeks: ['日', '一', '二', '三', '四', '五', '六']\r\n ,time: ['时', '分', '秒']\r\n ,timeTips: '选择时间'\r\n ,startTime: '开始时间'\r\n ,endTime: '结束时间'\r\n ,dateTips: '返回日期'\r\n ,month: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']\r\n ,tools: {\r\n confirm: '确定'\r\n ,clear: '清空'\r\n ,now: '现在'\r\n }\r\n ,timeout: '结束时间不能早于开始时间
                    请重新选择'\r\n ,invalidDate: '不在有效日期或时间范围内'\r\n ,formatError: ['日期格式不合法
                    必须遵循下述格式:
                    ', '
                    已为你重置']\r\n ,preview: '当前选中的结果'\r\n }\r\n ,en: {\r\n weeks: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n ,time: ['Hours', 'Minutes', 'Seconds']\r\n ,timeTips: 'Select Time'\r\n ,startTime: 'Start Time'\r\n ,endTime: 'End Time'\r\n ,dateTips: 'Select Date'\r\n ,month: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n ,tools: {\r\n confirm: 'Confirm'\r\n ,clear: 'Clear'\r\n ,now: 'Now'\r\n }\r\n ,timeout: 'End time cannot be less than start Time
                    Please re-select'\r\n ,invalidDate: 'Invalid date'\r\n ,formatError: ['The date format error
                    Must be followed:
                    ', '
                    It has been reset']\r\n ,preview: 'The selected result'\r\n }\r\n };\r\n return text[options.lang] || text['cn'];\r\n };\r\n\r\n Class.prototype.markerOfChineseFestivals = {\r\n '0-1-1': '元旦',\r\n '0-2-14': '情人' ,\r\n '0-3-8': '妇女',\r\n '0-3-12': '植树',\r\n '0-4-1': '愚人',\r\n '0-5-1': '劳动',\r\n '0-5-4': '青年',\r\n '0-6-1': '儿童',\r\n '0-9-10': '教师',\r\n '0-10-1': '国庆',\r\n '0-12-25': '圣诞'\r\n }\r\n\r\n // 重载实例\r\n Class.prototype.reload = function(options){\r\n var that = this;\r\n that.config = lay.extend({}, that.config, options);\r\n that.init();\r\n };\r\n\r\n //初始准备\r\n Class.prototype.init = function(){\r\n var that = this\r\n ,options = that.config\r\n ,isStatic = options.position === 'static'\r\n ,format = {\r\n year: 'yyyy'\r\n ,month: 'yyyy-MM'\r\n ,date: 'yyyy-MM-dd'\r\n ,time: 'HH:mm:ss'\r\n ,datetime: 'yyyy-MM-dd HH:mm:ss'\r\n };\r\n\r\n options.elem = lay(options.elem);\r\n options.eventElem = lay(options.eventElem);\r\n\r\n if(!options.elem[0]) return;\r\n\r\n layui.type(options.theme) !== 'array' && (options.theme = [options.theme]);\r\n // 设置了全面版模式\r\n if (options.fullPanel) {\r\n if (options.type !== 'datetime' || options.range) {\r\n // 目前只支持datetime的全面版\r\n delete options.fullPanel;\r\n }\r\n }\r\n\r\n //日期范围分隔符\r\n that.rangeStr = options.range ? (\r\n typeof options.range === 'string' ? options.range : '-'\r\n ) : '';\r\n\r\n //日期范围的日历面板是否联动\r\n that.rangeLinked = !!(options.range && options.rangeLinked && (options.type === 'date' || options.type === 'datetime'))\r\n\r\n //切换日历联动方式\r\n that.autoCalendarModel = function () {\r\n var state = that.rangeLinked;\r\n that.rangeLinked = (options.range && (options.type === 'date' || options.type === 'datetime'))\r\n && ((!that.startDate || !that.endDate) || (that.startDate && that.endDate && that.startDate.year === that.endDate.year && that.startDate.month === that.endDate.month));\r\n lay(that.elem)[that.rangeLinked ? 'addClass' : 'removeClass']('layui-laydate-linkage');\r\n return that.rangeLinked != state; // 返回发生了变化\r\n };\r\n\r\n //是否自动切换\r\n that.autoCalendarModel.auto = that.rangeLinked && options.rangeLinked === 'auto';\r\n\r\n //若 range 参数为数组,则表示为开始日期和结束日期的 input 对象\r\n if(layui.type(options.range) === 'array'){\r\n that.rangeElem = [\r\n lay(options.range[0]),\r\n lay(options.range[1])\r\n ];\r\n }\r\n\r\n //若 type 设置非法,则初始化为 date 类型\r\n if(!format[options.type]){\r\n window.console && console.error && console.error('laydate type error:\\''+ options.type + '\\' is not supported')\r\n options.type = 'date';\r\n }\r\n\r\n //根据不同 type,初始化默认 format\r\n if(options.format === format.date){\r\n options.format = format[options.type] || format.date;\r\n }\r\n\r\n //将日期格式转化成数组\r\n that.format = thisModule.formatArr(options.format);\r\n\r\n // 设置了一周的开始是周几,此处做一个控制\r\n if (options.weekStart) {\r\n if (!/^[0-6]$/.test(options.weekStart)) {\r\n var lang = that.lang();\r\n options.weekStart = lang.weeks.indexOf(options.weekStart);\r\n if (options.weekStart === -1) options.weekStart = 0;\r\n }\r\n }\r\n\r\n //生成正则表达式\r\n that.EXP_IF = '';\r\n that.EXP_SPLIT = '';\r\n lay.each(that.format, function(i, item){\r\n var EXP = new RegExp(dateType).test(item)\r\n ? '\\\\d{'+ function(){\r\n if(new RegExp(dateType).test(that.format[i === 0 ? i + 1 : i - 1]||'')){\r\n if(/^yyyy|y$/.test(item)) return 4;\r\n return item.length;\r\n }\r\n if(/^yyyy$/.test(item)) return '1,4';\r\n if(/^y$/.test(item)) return '1,308';\r\n return '1,2';\r\n }() +'}'\r\n : '\\\\' + item;\r\n that.EXP_IF = that.EXP_IF + EXP;\r\n that.EXP_SPLIT = that.EXP_SPLIT + '(' + EXP + ')';\r\n });\r\n //验证日期格式正则\r\n that.EXP_IF_ONE = new RegExp('^'+ that.EXP_IF +'$'); //验证单个日期格式\r\n that.EXP_IF = new RegExp('^'+ (\r\n options.range ?\r\n that.EXP_IF + '\\\\s\\\\'+ that.rangeStr + '\\\\s' + that.EXP_IF\r\n : that.EXP_IF\r\n ) +'$');\r\n that.EXP_SPLIT = new RegExp('^'+ that.EXP_SPLIT +'$', '');\r\n\r\n //如果不是 input|textarea 元素,则默认采用 click 事件\r\n if(!that.isInput(options.elem[0])){\r\n if(options.trigger === 'focus'){\r\n options.trigger = 'click';\r\n }\r\n }\r\n\r\n // 设置唯一 KEY\r\n options.elem.attr('lay-key', that.index);\r\n options.eventElem.attr('lay-key', that.index);\r\n options.elem.attr(MOD_ID, options.id); // 渲染过的标记\r\n\r\n\r\n //获取限制内日期\r\n lay.each(['min', 'max'], function(i, item){\r\n var ymd = [];\r\n var hms = [];\r\n if(typeof options[item] === 'number'){ //如果为数字\r\n var day = options[item]\r\n ,tDate = new Date()\r\n ,time = that.newDate({ //今天的最大毫秒数\r\n year: tDate.getFullYear()\r\n ,month: tDate.getMonth()\r\n ,date: tDate.getDate()\r\n ,hours: i ? 23 : 0\r\n ,minutes: i ? 59 : 0\r\n ,seconds: i ? 59 : 0\r\n }).getTime()\r\n ,STAMP = 86400000 //代表一天的毫秒数\r\n ,thisDate = new Date(\r\n day ? (\r\n day < STAMP ? time + day*STAMP : day //如果数字小于一天的毫秒数,则数字为天数,否则为毫秒数\r\n ) : time\r\n );\r\n ymd = [thisDate.getFullYear(), thisDate.getMonth() + 1, thisDate.getDate()];\r\n hms = [thisDate.getHours(), thisDate.getMinutes(), thisDate.getSeconds()];\r\n } else if(typeof options[item] === 'string') {\r\n ymd = (options[item].match(/\\d+-\\d+-\\d+/) || [''])[0].split('-');\r\n hms = (options[item].match(/\\d+:\\d+:\\d+/) || [''])[0].split(':');\r\n } else if(typeof options[item] === 'object'){\r\n return options[item];\r\n }\r\n options[item] = {\r\n year: ymd[0] | 0 || new Date().getFullYear()\r\n ,month: ymd[1] ? (ymd[1] | 0) - 1 : new Date().getMonth()\r\n ,date: ymd[2] | 0 || new Date().getDate()\r\n ,hours: hms[0] | 0\r\n ,minutes: hms[1] | 0\r\n ,seconds: hms[2] | 0\r\n };\r\n });\r\n\r\n that.elemID = 'layui-laydate'+ options.elem.attr('lay-key');\r\n\r\n if(options.show || isStatic) that.render();\r\n isStatic || that.events();\r\n\r\n // 重定义 input 元素的 get set\r\n if(typeof options.formatToDisplay === 'function'){\r\n if(that.isInput(options.elem[0])){\r\n that.formatToDisplay(options.elem[0], options.formatToDisplay);\r\n } else {\r\n var rangeElem = that.rangeElem;\r\n if(rangeElem){\r\n that.formatToDisplay(rangeElem[0][0], options.formatToDisplay);\r\n that.formatToDisplay(rangeElem[1][0], options.formatToDisplay);\r\n }\r\n }\r\n }\r\n\r\n //默认赋值\r\n if(options.value && options.isInitValue){\r\n if(layui.type(options.value) === 'date'){\r\n that.setValue(that.parse(0, that.systemDate(options.value)));\r\n } else {\r\n that.setValue(options.value);\r\n }\r\n }\r\n };\r\n\r\n //控件主体渲染\r\n Class.prototype.render = function(){\r\n var that = this\r\n ,options = that.config\r\n ,lang = that.lang()\r\n ,isStatic = options.position === 'static'\r\n\r\n //主面板\r\n ,elem = that.elem = lay.elem('div', {\r\n id: that.elemID\r\n ,\"class\": [\r\n 'layui-laydate'\r\n ,options.range ? ' layui-laydate-range' : ''\r\n ,that.rangeLinked ? ' layui-laydate-linkage' : ''\r\n ,isStatic ? (' '+ ELEM_STATIC) : ''\r\n ,options.fullPanel ? ' laydate-theme-fullpanel' : '' // 全面版\r\n // ,options.theme && options.theme !== 'default' && !/^#/.test(options.theme) ? (' laydate-theme-' + options.theme) : ''\r\n ,(function () {\r\n var themeStr = '';\r\n lay.each(options.theme, function (index, theme) {\r\n if (theme !== 'default' && !/^#/.test(theme)) {\r\n themeStr += ' laydate-theme-' + theme;\r\n }\r\n })\r\n return themeStr;\r\n })()\r\n ].join('')\r\n })\r\n\r\n //主区域\r\n ,elemMain = that.elemMain = []\r\n ,elemHeader = that.elemHeader = []\r\n ,elemCont = that.elemCont = []\r\n ,elemTable = that.table = []\r\n\r\n //底部区域\r\n ,divFooter = that.footer = lay.elem('div', {\r\n \"class\": ELEM_FOOTER\r\n })\r\n\r\n //快捷栏\r\n ,divShortcut = that.shortcut = lay.elem('ul', {\r\n \"class\": ELEM_SHORTCUT\r\n });\r\n\r\n if(options.zIndex) elem.style.zIndex = options.zIndex;\r\n\r\n //单双日历区域\r\n lay.each(new Array(2), function(i){\r\n if(!options.range && i > 0){\r\n return true;\r\n }\r\n\r\n //头部区域\r\n var divHeader = lay.elem('div', {\r\n \"class\": 'layui-laydate-header'\r\n })\r\n\r\n //左右切换\r\n ,headerChild = [function(){ //上一年\r\n var elem = lay.elem('i', {\r\n \"class\": 'layui-icon laydate-icon laydate-prev-y'\r\n });\r\n elem.innerHTML = '';\r\n return elem;\r\n }(), function(){ //上一月\r\n var elem = lay.elem('i', {\r\n \"class\": 'layui-icon laydate-icon laydate-prev-m'\r\n });\r\n elem.innerHTML = '';\r\n return elem;\r\n }(), function(){ //年月选择\r\n var elem = lay.elem('div', {\r\n \"class\": 'laydate-set-ym'\r\n });\r\n elem.appendChild(lay.elem('span'));\r\n elem.appendChild(lay.elem('span'));\r\n return elem;\r\n }(), function(){ //下一月\r\n var elem = lay.elem('i', {\r\n \"class\": 'layui-icon laydate-icon laydate-next-m'\r\n });\r\n elem.innerHTML = '';\r\n return elem;\r\n }(), function(){ //下一年\r\n var elem = lay.elem('i', {\r\n \"class\": 'layui-icon laydate-icon laydate-next-y'\r\n });\r\n elem.innerHTML = '';\r\n return elem;\r\n }()]\r\n\r\n //日历内容区域\r\n ,divContent = lay.elem('div', {\r\n \"class\": 'layui-laydate-content'\r\n })\r\n ,table = lay.elem('table')\r\n ,thead = lay.elem('thead'), theadTr = lay.elem('tr');\r\n\r\n //生成年月选择\r\n lay.each(headerChild, function(i, item){\r\n divHeader.appendChild(item);\r\n });\r\n\r\n //生成表格\r\n thead.appendChild(theadTr);\r\n lay.each(new Array(6), function(i){ //表体\r\n var tr = table.insertRow(0);\r\n lay.each(new Array(7), function(j){\r\n if(i === 0){\r\n var th = lay.elem('th');\r\n th.innerHTML = lang.weeks[(j + options.weekStart) % 7];\r\n theadTr.appendChild(th);\r\n }\r\n tr.insertCell(j);\r\n });\r\n });\r\n table.insertBefore(thead, table.children[0]); //表头\r\n divContent.appendChild(table);\r\n\r\n elemMain[i] = lay.elem('div', {\r\n \"class\": ELEM_MAIN + ' laydate-main-list-'+ i\r\n });\r\n\r\n elemMain[i].appendChild(divHeader);\r\n elemMain[i].appendChild(divContent);\r\n\r\n elemHeader.push(headerChild);\r\n elemCont.push(divContent);\r\n elemTable.push(table);\r\n });\r\n\r\n //生成底部栏\r\n lay(divFooter).html(function(){\r\n var html = [], btns = [];\r\n if(options.type === 'datetime'){\r\n html.push(''+ lang.timeTips +'');\r\n }\r\n if(!(!options.range && options.type === 'datetime') || options.fullPanel){\r\n html.push('')\r\n }\r\n\r\n lay.each(options.btns, function(i, item){\r\n var title = lang.tools[item] || 'btn';\r\n if(options.range && item === 'now') return;\r\n if(isStatic && item === 'clear') title = options.lang === 'cn' ? '重置' : 'Reset';\r\n btns.push(''+ title +'');\r\n });\r\n html.push('');\r\n return html.join('');\r\n }());\r\n\r\n // 生成快捷键栏\r\n if (options.shortcuts) {\r\n elem.appendChild(divShortcut);\r\n lay(divShortcut).html(function () {\r\n var shortcutBtns = [];\r\n lay.each(options.shortcuts, function (i, item) {\r\n shortcutBtns.push('
                  • '+item.text+'
                  • ')\r\n })\r\n return shortcutBtns.join('');\r\n }()).find('li').on('click', function (event) {\r\n var btnSetting = options.shortcuts[this.dataset['index']] || {};\r\n var value = (typeof btnSetting.value === 'function'\r\n ? btnSetting.value()\r\n : btnSetting.value) || [];\r\n if (!layui.isArray(value)) {\r\n value = [value];\r\n }\r\n var type = options.type;\r\n lay.each(value, function (i, item) {\r\n var dateTime = [options.dateTime, that.endDate][i];\r\n if (type === 'time' && layui.type(item) !== 'date') {\r\n if (that.EXP_IF.test(item)) {\r\n item = (item.match(that.EXP_SPLIT) || []).slice(1);\r\n lay.extend(dateTime, {hours: item[0] | 0, minutes: item[2] | 0, seconds: item[4] | 0})\r\n }\r\n } else {\r\n lay.extend(dateTime, that.systemDate(layui.type(item) === 'date' ? item : new Date(item)))\r\n }\r\n\r\n if (type === 'time' || type === 'datetime') {\r\n that[['startTime', 'endTime'][i]] = {\r\n hours: dateTime.hours,\r\n minutes: dateTime.minutes,\r\n seconds: dateTime.seconds,\r\n }\r\n }\r\n if (i === 0) { // 第一个值作为startDate\r\n that.startDate = lay.extend({}, dateTime);\r\n } else {\r\n that.endState = true;\r\n }\r\n if (type === 'year' || type === 'month' || type === 'time') {\r\n that.listYM[i] = [dateTime.year, dateTime.month + 1];\r\n } else if (i) {\r\n that.autoCalendarModel.auto && that.autoCalendarModel();\r\n }\r\n });\r\n that.checkDate('limit').calendar(null, null, 'init');\r\n\r\n var timeBtn = lay(that.footer).find('.'+ ELEM_TIME_BTN).removeClass(DISABLED);\r\n timeBtn && timeBtn.attr('lay-type') === 'date' && timeBtn[0].click();\r\n that.done(null, 'change');\r\n\r\n lay(this).addClass(THIS);\r\n\r\n // 自动确认\r\n if(options.position !== 'static'){\r\n that.setValue(that.parse()).done().remove();\r\n }\r\n /*\r\n if (options.position !== 'static' && !options.range && options.autoConfirm) {\r\n if (type === 'date') {\r\n that.choose(lay(elem).find('td.layui-this'))\r\n } else if (type === 'year' || type === 'month') {\r\n if(lay(elemMain[0]).find('.' + ELEM_MAIN + ' li.' + THIS + ':not(.laydate-disabled)')[0]) {\r\n that.setValue(that.parse()).done().remove();\r\n }\r\n }\r\n }\r\n */\r\n })\r\n }\r\n\r\n //插入到主区域\r\n lay.each(elemMain, function(i, main){\r\n elem.appendChild(main);\r\n });\r\n options.showBottom && elem.appendChild(divFooter);\r\n\r\n // 生成自定义主题\r\n var style = lay.elem('style');\r\n var styleText = [];\r\n var colorTheme;\r\n var isPrimaryColor = true;\r\n lay.each(options.theme, function (index, theme) {\r\n // 主色\r\n if(isPrimaryColor && /^#/.test(theme)){\r\n colorTheme = true;\r\n isPrimaryColor = false;\r\n styleText.push([\r\n '#{{id}} .layui-laydate-header{background-color:{{theme}};}',\r\n '#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}',\r\n options.theme.indexOf('circle') !== -1 ? '' : '#{{id}} .layui-this{background-color:{{theme}} !important;}',\r\n '#{{id}} .laydate-day-now{color:{{theme}} !important;}',\r\n '#{{id}} .laydate-day-now:after{border-color:{{theme}} !important;}'\r\n ].join('').replace(/{{id}}/g, that.elemID).replace(/{{theme}}/g, theme));\r\n return;\r\n }\r\n // 第二个自定义颜色作为辅色\r\n if(!isPrimaryColor && /^#/.test(theme)){\r\n styleText.push([\r\n '#{{id}} .laydate-selected>div{background-color:{{theme}} !important;}',\r\n '#{{id}} .laydate-selected:hover>div{background-color:{{theme}} !important;}'\r\n ].join('').replace(/{{id}}/g, that.elemID).replace(/{{theme}}/g, theme));\r\n }\r\n });\r\n //快捷栏样式\r\n if (options.shortcuts && options.range) {\r\n styleText.push('#{{id}}.layui-laydate-range{width: 628px;}'.replace(/{{id}}/g, that.elemID))\r\n }\r\n if (styleText.length) {\r\n styleText = styleText.join('');\r\n if('styleSheet' in style){\r\n style.setAttribute('type', 'text/css');\r\n style.styleSheet.cssText = styleText;\r\n } else {\r\n style.innerHTML = styleText;\r\n }\r\n\r\n colorTheme && lay(elem).addClass('laydate-theme-molv');\r\n elem.appendChild(style);\r\n }\r\n\r\n //移除上一个控件\r\n that.remove(Class.thisElemDate);\r\n\r\n //记录当前执行的实例索引\r\n laydate.thisId = options.id;\r\n\r\n //如果是静态定位,则插入到指定的容器中,否则,插入到body\r\n isStatic ? options.elem.append(elem) : (\r\n document.body.appendChild(elem)\r\n ,that.position() //定位\r\n );\r\n\r\n var shade = options.shade ? ('
                    ') : '';\r\n elem.insertAdjacentHTML('beforebegin', shade);\r\n\r\n that.checkDate().calendar(null, 0, 'init'); //初始校验\r\n that.changeEvent(); //日期切换\r\n\r\n Class.thisElemDate = that.elemID;\r\n\r\n that.renderAdditional()\r\n typeof options.ready === 'function' && options.ready(lay.extend({}, options.dateTime, {\r\n month: options.dateTime.month + 1\r\n }));\r\n\r\n that.preview();\r\n };\r\n\r\n //控件移除\r\n Class.prototype.remove = function(prev){\r\n var that = this\r\n ,options = that.config\r\n ,elem = lay('#'+ (prev || that.elemID));\r\n if(!elem[0]) return that;\r\n\r\n if(!elem.hasClass(ELEM_STATIC)){\r\n that.checkDate(function(){\r\n elem.remove();\r\n //delete options.dateTime;\r\n delete that.startDate;\r\n delete that.endDate;\r\n delete that.endState;\r\n delete that.startTime;\r\n delete that.endTime;\r\n delete laydate.thisId;\r\n typeof options.close === 'function' && options.close(that);\r\n });\r\n }\r\n lay('.' + ELEM_SHADE).remove();\r\n return that;\r\n };\r\n\r\n //定位算法\r\n Class.prototype.position = function(){\r\n var that = this\r\n ,options = that.config;\r\n lay.position(options.elem[0], that.elem, {\r\n position: options.position\r\n });\r\n return that;\r\n };\r\n\r\n // 提示\r\n Class.prototype.hint = function(opts){\r\n var that = this;\r\n var options = that.config;\r\n var div = lay.elem('div', {\r\n \"class\": ELEM_HINT\r\n });\r\n\r\n if(!that.elem) return;\r\n\r\n // 兼容旧版参数\r\n if(typeof opts === 'object'){\r\n opts = opts || {};\r\n } else {\r\n opts = {\r\n content: opts\r\n }\r\n }\r\n\r\n div.innerHTML = opts.content || '';\r\n lay(that.elem).find('.'+ ELEM_HINT).remove();\r\n that.elem.appendChild(div);\r\n\r\n clearTimeout(that.hinTimer);\r\n that.hinTimer = setTimeout(function(){\r\n lay(that.elem).find('.'+ ELEM_HINT).remove();\r\n }, 'ms' in opts ? opts.ms : 3000);\r\n };\r\n\r\n //获取递增/减后的年月\r\n Class.prototype.getAsYM = function(Y, M, type){\r\n type ? M-- : M++;\r\n if(M < 0){\r\n M = 11;\r\n Y--;\r\n }\r\n if(M > 11){\r\n M = 0;\r\n Y++;\r\n }\r\n return [Y, M];\r\n };\r\n\r\n //系统日期\r\n Class.prototype.systemDate = function(newDate){\r\n var thisDate = newDate || new Date();\r\n return {\r\n year: thisDate.getFullYear() //年\r\n ,month: thisDate.getMonth() //月\r\n ,date: thisDate.getDate() //日\r\n ,hours: newDate ? newDate.getHours() : 0 //时\r\n ,minutes: newDate ? newDate.getMinutes() : 0 //分\r\n ,seconds: newDate ? newDate.getSeconds() : 0 //秒\r\n }\r\n };\r\n\r\n //日期校验\r\n Class.prototype.checkDate = function(fn){\r\n var that = this\r\n ,thisDate = new Date()\r\n ,options = that.config\r\n ,lang = that.lang()\r\n ,dateTime = options.dateTime = options.dateTime || that.systemDate()\r\n ,thisMaxDate, error\r\n\r\n ,elem = options.elem[0]\r\n ,valType = that.isInput(elem) ? 'val' : 'html'\r\n ,value = function(){\r\n //如果传入了开始和结束日期的 input 对象,则将其拼接为日期范围字符\r\n if(that.rangeElem){\r\n var vals = [that.rangeElem[0].val(), that.rangeElem[1].val()];\r\n\r\n if(vals[0] && vals[1]){\r\n return vals.join(' ' + that.rangeStr + ' ');\r\n }\r\n }\r\n return that.isInput(elem)\r\n ? elem.value\r\n : (options.position === 'static' ? '' : lay(elem).attr('lay-date'));\r\n }()\r\n\r\n //校验日期有效数字\r\n ,checkValid = function(dateTime){\r\n if (!dateTime) {\r\n return;\r\n }\r\n if(dateTime.year > LIMIT_YEAR[1]) dateTime.year = LIMIT_YEAR[1], error = true; //不能超过20万年\r\n if(dateTime.month > 11) dateTime.month = 11, error = true;\r\n if(dateTime.seconds > 59) dateTime.seconds = 0, dateTime.minutes++, error = true;\r\n if(dateTime.minutes > 59) dateTime.minutes = 0, dateTime.hours++, error = true;\r\n if(dateTime.hours > 23) dateTime.hours = 0, error = true;\r\n\r\n //计算当前月的最后一天\r\n thisMaxDate = laydate.getEndDate(dateTime.month + 1, dateTime.year);\r\n if(dateTime.date > thisMaxDate) dateTime.date = thisMaxDate, error = true;\r\n }\r\n\r\n //获得初始化日期值\r\n ,initDate = function(dateTime, value, index){\r\n var startEnd = ['startTime', 'endTime'];\r\n value = (value.match(that.EXP_SPLIT) || []).slice(1);\r\n index = index || 0;\r\n\r\n if(options.range){\r\n that[startEnd[index]] = that[startEnd[index]] || {};\r\n }\r\n lay.each(that.format, function(i, item){\r\n var thisv = parseFloat(value[i]);\r\n if(value[i].length < item.length) error = true;\r\n if(/yyyy|y/.test(item)){ //年\r\n if(thisv < LIMIT_YEAR[0]) thisv = LIMIT_YEAR[0], error = true; //年不能低于100年\r\n dateTime.year = thisv;\r\n } else if(/MM|M/.test(item)){ //月\r\n if(thisv < 1) thisv = 1, error = true;\r\n dateTime.month = thisv - 1;\r\n } else if(/dd|d/.test(item)){ //日\r\n if(thisv < 1) thisv = 1, error = true;\r\n dateTime.date = thisv;\r\n } else if(/HH|H/.test(item)){ //时\r\n if (thisv < 0) thisv = 0, error = true;\r\n if (thisv > 23) thisv = 23, error = true;\r\n dateTime.hours = thisv;\r\n options.range && (that[startEnd[index]].hours = thisv);\r\n } else if(/mm|m/.test(item)){ //分\r\n if (thisv < 0) thisv = 0, error = true;\r\n if (thisv > 59) thisv = 59, error = true;\r\n dateTime.minutes = thisv;\r\n options.range && (that[startEnd[index]].minutes = thisv);\r\n } else if(/ss|s/.test(item)){ //秒\r\n if (thisv < 0) thisv = 0, error = true;\r\n if (thisv > 59) thisv = 59, error = true;\r\n dateTime.seconds = thisv;\r\n options.range && (that[startEnd[index]].seconds = thisv);\r\n }\r\n });\r\n checkValid(dateTime);\r\n };\r\n\r\n if(fn === 'limit') {\r\n if (options.range) {\r\n checkValid(that.rangeLinked ? that.startDate : dateTime); // 校验开始时间\r\n that.endDate && checkValid(that.endDate); // 校验结束时间\r\n } else {\r\n checkValid(dateTime);\r\n }\r\n return that;\r\n }\r\n\r\n value = value || options.value;\r\n if(typeof value === 'string'){\r\n value = value.replace(/\\s+/g, ' ').replace(/^\\s|\\s$/g, '');\r\n }\r\n\r\n //如果开启范围,则计算结束日期\r\n var getEndDate = function(){\r\n if(options.range){\r\n that.endDate = that.endDate || lay.extend({}, options.dateTime, function(){\r\n var obj = {}\r\n ,dateTime = options.dateTime\r\n ,EYM = that.getAsYM(dateTime.year, dateTime.month);\r\n\r\n //初始右侧面板的年月\r\n if(options.type === 'year'){\r\n obj.year = dateTime.year + 1;\r\n } else if(options.type !== 'time'){\r\n obj.year = EYM[0];\r\n obj.month = EYM[1];\r\n }\r\n\r\n //初始右侧面板的时间\r\n if(options.type === 'datetime' || options.type === 'time'){\r\n obj.hours = 23;\r\n obj.minutes = obj.seconds = 59;\r\n }\r\n\r\n return obj;\r\n }());\r\n }\r\n };\r\n getEndDate();\r\n\r\n if(typeof value === 'string' && value){\r\n if(that.EXP_IF.test(value)){ //校验日期格式\r\n if(options.range){\r\n value = value.split(' '+ that.rangeStr +' ');\r\n lay.each([options.dateTime, that.endDate], function(i, item){\r\n initDate(item, value[i], i);\r\n });\r\n } else {\r\n initDate(dateTime, value);\r\n }\r\n } else {\r\n //格式不合法\r\n that.hint(lang.formatError[0] + (\r\n options.range ? (options.format + ' '+ that.rangeStr +' ' + options.format) : options.format\r\n ) + lang.formatError[1]);\r\n error = true;\r\n }\r\n } else if(value && layui.type(value) === 'date'){ //若值为日期对象\r\n options.dateTime = that.systemDate(value);\r\n } else {\r\n //重置开始日期\r\n options.dateTime = that.systemDate();\r\n delete that.startTime;\r\n\r\n //重置结束日期\r\n delete that.endDate; //删除原有的结束日期\r\n getEndDate(); //并重新获得新的结束日期\r\n delete that.endTime;\r\n }\r\n\r\n //从日期范围表单中获取初始值\r\n (function(){\r\n if(that.rangeElem){\r\n var vals = [that.rangeElem[0].val(), that.rangeElem[1].val()]\r\n ,arrDate = [options.dateTime, that.endDate];\r\n lay.each(vals, function(_i, _v){\r\n if(that.EXP_IF_ONE.test(_v)){ //校验日期格式\r\n initDate(arrDate[_i], _v, _i);\r\n }\r\n });\r\n }\r\n })();\r\n\r\n // 校验日期有效数字\r\n checkValid(dateTime);\r\n if(options.range) checkValid(that.endDate);\r\n\r\n // 如果初始值格式错误,则纠正初始值\r\n if(error && value){\r\n that.setValue(\r\n options.range ? (that.endDate ? that.parse() : '') : that.parse()\r\n );\r\n }\r\n\r\n //如果当前日期不在设定的最大小日期区间,则自动纠正在可选区域\r\n //校验主面板是否在可选日期区间\r\n var minMaxError;\r\n if(that.getDateTime(dateTime) > that.getDateTime(options.max)){ //若超出最大日期\r\n dateTime = options.dateTime = lay.extend({}, options.max);\r\n minMaxError = true;\r\n } else if(that.getDateTime(dateTime) < that.getDateTime(options.min)){ //若少于最小日期\r\n dateTime = options.dateTime = lay.extend({}, options.min);\r\n minMaxError = true;\r\n }\r\n\r\n //校验右侧面板是否在可选日期区间\r\n if(options.range){\r\n if(that.getDateTime(that.endDate) < that.getDateTime(options.min) || that.getDateTime(that.endDate) > that.getDateTime(options.max)){\r\n that.endDate = lay.extend({}, options.max);\r\n minMaxError = true;\r\n }\r\n // 有时间范围的情况下初始化startTime和endTime\r\n that.startTime = {\r\n hours: options.dateTime.hours,\r\n minutes: options.dateTime.minutes,\r\n seconds: options.dateTime.seconds,\r\n }\r\n that.endTime = {\r\n hours: that.endDate.hours,\r\n minutes: that.endDate.minutes,\r\n seconds: that.endDate.seconds,\r\n }\r\n // 如果是年月范围,将对应的日期统一成当月的1日进行比较,避免出现同一个月但是开始日期大于结束日期的情况\r\n if (options.type === 'month') {\r\n options.dateTime.date = 1;\r\n that.endDate.date = 1;\r\n }\r\n }\r\n\r\n // 初始值不在最大最小范围内\r\n if(minMaxError && value){\r\n that.setValue(that.parse());\r\n that.hint('value ' + lang.invalidDate + lang.formatError[1]);\r\n }\r\n\r\n // 初始赋值 startDate,endState\r\n that.startDate = that.startDate || value && lay.extend({}, options.dateTime); // 有默认值才初始化startDate\r\n that.autoCalendarModel.auto && that.autoCalendarModel();\r\n that.endState = !options.range || !that.rangeLinked || !!(that.startDate && that.endDate); // 初始化选中范围状态\r\n\r\n fn && fn();\r\n return that;\r\n };\r\n\r\n /**\r\n * 渲染备注\r\n * @param {JQuery} tdElem td 元素\r\n * @param {[number, number, number]} YMD 年月日\r\n * @param {object | string} markers 备注信息\r\n */\r\n Class.prototype.markRender = function(tdElem, YMD, markers){\r\n var markText;\r\n\r\n if(typeof markers === 'object'){\r\n lay.each(markers || {}, function(key, title){\r\n var keys = key.split('-');\r\n if((keys[0] == YMD[0] || keys[0] == 0) //每年的每月\r\n && (keys[1] == YMD[1] || keys[1] == 0) //每月的每日\r\n && keys[2] == YMD[2]){ //特定日\r\n markText = title || YMD[2];\r\n }\r\n });\r\n }else if(typeof markers === 'string'){\r\n markText = markers || YMD[2];\r\n }\r\n\r\n markText && tdElem.find('div').html(''+ markText +'');\r\n }\r\n\r\n /**\r\n * 公历重要日期与自定义备注\r\n * @param {JQuery} td\r\n * @param {[number, number, number]} YMD\r\n * @returns Class\r\n */\r\n Class.prototype.mark = function(td, YMD){\r\n var that = this;\r\n var options = that.config;\r\n\r\n var render = function(markers){\r\n that.markRender(td, YMD, markers);\r\n }\r\n\r\n if(options.calendar && options.lang === 'cn'){\r\n render(that.markerOfChineseFestivals);\r\n }\r\n\r\n if(typeof options.mark === 'function'){\r\n options.mark({year: YMD[0], month: YMD[1], date: YMD[2]}, render);\r\n }else if(typeof options.mark === 'object'){\r\n render(options.mark);\r\n }\r\n\r\n return that;\r\n };\r\n\r\n /**\r\n * 渲染法定节假日或补假上班标记\r\n * @param {JQuery} tdElem td 元素\r\n * @param {[number, number, number]} YMD 年月日\r\n * @param {[Array, Array] | string} markers 标记信息\r\n */\r\n Class.prototype.holidaysRender = function(tdElem, YMD, markers){\r\n var type = ['holidays', 'workdays'];\r\n\r\n var isEquals = function(ymdStr1, ymdStr2){\r\n var ymd1 = ymdStr1.split('-');\r\n var ymd2 = ymdStr2.split('-');\r\n\r\n lay.each(ymd1, function(i,v){\r\n ymd1[i] = parseInt(v, 10);\r\n })\r\n lay.each(ymd2, function(i,v){\r\n ymd2[i] = parseInt(v, 10);\r\n })\r\n\r\n return ymd1.join('-') === ymd2.join('-');\r\n }\r\n\r\n var insertHtml = function(el, type, text){\r\n el.find('div').html([\r\n '',\r\n text,\r\n ''\r\n ].join(''));\r\n }\r\n\r\n if(layui.type(markers) === 'array'){\r\n lay.each(markers, function(idx, item) {\r\n lay.each(item, function(i, dayStr) {\r\n if(isEquals(dayStr, tdElem.attr('lay-ymd'))){\r\n insertHtml(tdElem, type[idx], YMD[2])\r\n }\r\n });\r\n });\r\n }else if(typeof markers === 'string'){\r\n if(type.indexOf(markers) !== -1){\r\n insertHtml(tdElem, markers, YMD[2])\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 标注法定节假日或补假上班\r\n * @param {JQuery} td\r\n * @param {[number, number, number]} YMD\r\n * @returns Class\r\n */\r\n Class.prototype.holidays = function(td, YMD) {\r\n var that = this;\r\n var options = that.config;\r\n\r\n var render = function(markers){\r\n that.holidaysRender(td, YMD, markers);\r\n }\r\n\r\n if(typeof options.holidays === 'function'){\r\n options.holidays({year: YMD[0], month: YMD[1], date: YMD[2]}, render);\r\n }else if(layui.type(options.holidays) === 'array'){\r\n render(options.holidays);\r\n }\r\n\r\n return that;\r\n };\r\n\r\n /**\r\n * 自定义单元格\r\n * @param {HTMLElement|Array} el - 单元格元素\r\n * @param {{year:number, month:number, date:number}} dateObj - 当前单元格对应的日期信息\r\n * @param {'year' | 'month' | 'date'} panelMode - 面板模式\r\n * @returns\r\n */\r\n Class.prototype.cellRender = function(el, dateObj, panelMode){\r\n var that = this;\r\n var options = that.config;\r\n\r\n if(typeof options.cellRender === 'function'){\r\n var render = function(content){\r\n if(typeof content === 'string'){\r\n lay(el).html(content);\r\n }else if(typeof content === 'object'){\r\n lay(el).html('').append(lay(content)[0]);\r\n }\r\n }\r\n options.cellRender(dateObj, render, {originElem: el, type: panelMode})\r\n }\r\n\r\n return that;\r\n }\r\n\r\n /**\r\n * 给定年份的开始日期\r\n * @param {Date} date\r\n */\r\n Class.prototype.startOfYear = function(date){\r\n var newDate = new Date(date);\r\n newDate.setFullYear(newDate.getFullYear(), 0, 1);\r\n newDate.setHours(0, 0, 0, 0);\r\n return newDate;\r\n }\r\n\r\n /**\r\n * 给定年份的结束日期\r\n * @param {Date} date\r\n */\r\n Class.prototype.endOfYear = function(date){\r\n var newDate = new Date(date);\r\n var year = newDate.getFullYear();\r\n newDate.setFullYear(year + 1, 0, 0);\r\n newDate.setHours(23, 59, 59, 999);\r\n return newDate;\r\n }\r\n\r\n /**\r\n * 给定月份的开始日期\r\n * @param {Date} date\r\n */\r\n Class.prototype.startOfMonth = function(date){\r\n var newDate = new Date(date);\r\n newDate.setDate(1);\r\n newDate.setHours(0, 0, 0, 0);\r\n return newDate;\r\n }\r\n\r\n /**\r\n * 给定月份的结束日期\r\n * @param {Date} date\r\n */\r\n Class.prototype.endOfMonth = function(date){\r\n var newDate = new Date(date);\r\n var month = newDate.getMonth();\r\n newDate.setFullYear(newDate.getFullYear(), month + 1, 0);\r\n newDate.setHours(23, 59, 59, 999);\r\n return newDate;\r\n }\r\n\r\n /**\r\n * 将指定的天数添加到给定日期\r\n * @param {Date} date 要更改的日期\r\n * @param {number} amount 天数\r\n */\r\n Class.prototype.addDays = function(date, amount){\r\n var newDate = new Date(date);\r\n if(!amount) return newDate;\r\n newDate.setDate(newDate.getDate() + amount);\r\n return newDate;\r\n }\r\n\r\n /**\r\n * 不可选取的年或月。年或月中的所有日期都禁用时,才判定为不可选取。\r\n * @param {Date} date 要检测的年或月\r\n * @param {'year' | 'month'} type 面板类型\r\n * @param {'start' | 'end'} position 面板位置\r\n */\r\n Class.prototype.isDisabledYearOrMonth = function(date, type, position){\r\n var that = this;\r\n var options = that.config;\r\n var millisecondsInDay = 24 * 60 * 60 * 1000;\r\n\r\n var startDay = type === 'year' ? that.startOfYear(date) : that.startOfMonth(date);\r\n var endDay = type === 'year' ? that.endOfYear(date) : that.endOfMonth(date);\r\n var numOfDays = Math.floor((endDay.getTime() - startDay.getTime()) / millisecondsInDay) + 1;\r\n var disabledCount = 0;\r\n\r\n for(var i = 0; i < numOfDays; i++){\r\n var day = that.addDays(startDay, i);\r\n if(options.disabledDate.call(options, day, position)){\r\n disabledCount++;\r\n }\r\n }\r\n\r\n return disabledCount === numOfDays;\r\n }\r\n\r\n /**\r\n * @typedef limitOptions\r\n * @prop {JQuery} [elem] - 检测的元素, 例如面板中年月日时分秒元素,“现在”,“确认” 按钮等\r\n * @prop {number} [index] - 元素集合中,当前检测元素的索引,years:0,month:0,date:0-41,hms:0\r\n * @prop {['hours', 'minutes', 'seconds'] | ['hours', 'minutes'] | ['hours']} [time] - 是否比较时分秒\r\n * @prop {'year'|'month'|string} [type] - 面板类型?\r\n * @prop {0 | 1} [rangeType] - 面板索引, 0 表示 start, 1 表示 end\r\n * @prop {Partial<{year:number,month: number,date:number,hours:number,minutes:number,seconds:number}>} [date] - 检测的日期时间对象\r\n * @prop {'date' | 'time' | 'datetime'} disabledType - 禁用类型,按钮应使用 datetime\r\n */\r\n /**\r\n * 不可选取的日期\r\n * @param {number} date 当前检测的日期的时间戳\r\n * @param {limitOptions} opts\r\n * @returns {boolean}\r\n */\r\n Class.prototype.isDisabledDate = function(date, opts){\r\n opts = opts || {};\r\n\r\n var that = this;\r\n var options = that.config;\r\n var position = options.range ? (opts.rangeType === 0 ? 'start' : 'end') : 'start';\r\n\r\n if(!options.disabledDate) return false;\r\n if(options.type === 'time') return false;\r\n if(!(opts.disabledType === 'date' || opts.disabledType === 'datetime')) return false;\r\n\r\n // 不需要时分秒\r\n var normalizedDate = new Date(date);\r\n normalizedDate.setHours(0, 0, 0, 0);\r\n\r\n return opts.type === 'year' || opts.type === 'month'\r\n ? that.isDisabledYearOrMonth(normalizedDate, opts.type, position)\r\n : options.disabledDate.call(options, normalizedDate, position);\r\n }\r\n\r\n /**\r\n * 不可选取的时间\r\n * @param {number} date 当前检测的日期的时间戳\r\n * @param {limitOptions} opts\r\n * @returns {boolean}\r\n */\r\n Class.prototype.isDisabledTime = function(date, opts){\r\n opts = opts || {};\r\n\r\n var that = this;\r\n var options = that.config;\r\n var position = options.range ? (opts.rangeType === 0 ? 'start' : 'end') : 'start';\r\n\r\n if(!options.disabledTime) return false;\r\n if(!(options.type === \"time\" || options.type === \"datetime\")) return false;\r\n if(!(opts.disabledType === 'time' || opts.disabledType === 'datetime')) return false;\r\n\r\n var isDisabledItem = function(compareVal, rangeFn, rangeFnParam){\r\n return function(){\r\n return (typeof rangeFn === 'function' && rangeFn.apply(options, rangeFnParam) || []).indexOf(compareVal) !== -1;\r\n }\r\n }\r\n\r\n var dateObj = that.systemDate(new Date(date));\r\n var disabledTime = options.disabledTime.call(options, that.newDate(dateObj), position) || {};\r\n\r\n // 面板中的时分秒 HTML 元素需要分别检测是否禁用\r\n // 按钮检测任意一项是否禁用即可\r\n return opts.disabledType === 'datetime'\r\n ? isDisabledItem(dateObj.hours, disabledTime.hours)()\r\n || isDisabledItem(dateObj.minutes, disabledTime.minutes, [dateObj.hours])()\r\n || isDisabledItem(dateObj.seconds, disabledTime.seconds, [dateObj.hours, dateObj.minutes])()\r\n : [isDisabledItem(dateObj.hours, disabledTime.hours),\r\n isDisabledItem(dateObj.minutes, disabledTime.minutes, [dateObj.hours]),\r\n isDisabledItem(dateObj.seconds, disabledTime.seconds, [dateObj.hours, dateObj.minutes])][opts.time.length - 1]();\r\n }\r\n\r\n /**\r\n * 不可选取的日期时间\r\n * @param {number} timestamp 当前检测的日期的时间戳\r\n * @param {limitOptions} opts\r\n * @returns\r\n */\r\n Class.prototype.isDisabledDateTime = function(timestamp, opts){\r\n opts = opts || {};\r\n\r\n var that = this;\r\n var options = that.config;\r\n\r\n return that.isDisabledDate(timestamp, opts) || that.isDisabledTime(timestamp, opts);\r\n }\r\n\r\n\r\n /**\r\n * 无效日期范围的标记\r\n * @param {limitOptions} opts\r\n *\r\n */\r\n Class.prototype.limit = function(opts){\r\n opts = opts || {};\r\n\r\n var that = this;\r\n var options = that.config;\r\n var timestamp = {}\r\n var dateTime = opts.index > (opts.time ? 0 : 41) ? that.endDate : options.dateTime;\r\n var isOut;\r\n\r\n lay.each({\r\n now: lay.extend({}, dateTime, opts.date || {})\r\n ,min: options.min\r\n ,max: options.max\r\n }, function(key, item){\r\n timestamp[key] = that.newDate(lay.extend({\r\n year: item.year\r\n ,month: opts.type === 'year' ? 0 : item.month // 年份的时候只比较年\r\n ,date: (opts.type === 'year' || opts.type === 'month') ? 1 : item.date // 年月只比较年月不与最大最小比日期\r\n }, function(){\r\n var hms = {};\r\n lay.each(opts.time, function(i, keys){\r\n hms[keys] = item[keys];\r\n });\r\n return hms;\r\n }())).getTime(); //time:是否比较时分秒\r\n });\r\n\r\n isOut = timestamp.now < timestamp.min || timestamp.now > timestamp.max || that.isDisabledDateTime(timestamp.now, opts);\r\n opts.elem && opts.elem[isOut ? 'addClass' : 'removeClass'](DISABLED);\r\n\r\n return isOut;\r\n };\r\n\r\n //当前日期对象\r\n Class.prototype.thisDateTime = function(index){\r\n var that = this\r\n ,options = that.config;\r\n return index ? that.endDate: options.dateTime;\r\n };\r\n\r\n //日历表\r\n Class.prototype.calendar = function(value, index, type){\r\n index = index ? 1 : 0;\r\n var that = this\r\n ,options = that.config\r\n ,dateTime = value || that.thisDateTime(index)\r\n ,thisDate = new Date(), startWeek, prevMaxDate, thisMaxDate\r\n ,lang = that.lang()\r\n\r\n ,isAlone = options.type !== 'date' && options.type !== 'datetime'\r\n ,tds = lay(that.table[index]).find('td')\r\n ,elemYM = lay(that.elemHeader[index][2]).find('span');\r\n\r\n if(dateTime.year < LIMIT_YEAR[0]) dateTime.year = LIMIT_YEAR[0], that.hint(lang.invalidDate);\r\n if(dateTime.year > LIMIT_YEAR[1]) dateTime.year = LIMIT_YEAR[1], that.hint(lang.invalidDate);\r\n\r\n //记录初始值\r\n if(!that.firstDate){\r\n that.firstDate = lay.extend({}, dateTime);\r\n }\r\n\r\n //计算当前月第一天的星期\r\n thisDate.setFullYear(dateTime.year, dateTime.month, 1);\r\n startWeek = (thisDate.getDay() + (7 - options.weekStart)) % 7;\r\n\r\n prevMaxDate = laydate.getEndDate(dateTime.month || 12, dateTime.year); //计算上个月的最后一天\r\n thisMaxDate = laydate.getEndDate(dateTime.month + 1, dateTime.year); //计算当前月的最后一天\r\n\r\n //赋值日\r\n lay.each(tds, function(index_, item){\r\n var YMD = [dateTime.year, dateTime.month], st;\r\n item = lay(item);\r\n item.removeAttr(\"class\");\r\n if(index_ < startWeek){\r\n st = prevMaxDate - startWeek + index_;\r\n item.addClass('laydate-day-prev');\r\n YMD = that.getAsYM(dateTime.year, dateTime.month, 'sub');\r\n } else if(index_ >= startWeek && index_ < thisMaxDate + startWeek){\r\n st = index_ - startWeek;\r\n if (!that.rangeLinked) {\r\n st + 1 === dateTime.date && item.addClass(THIS);\r\n }\r\n } else {\r\n st = index_ - thisMaxDate - startWeek;\r\n item.addClass('laydate-day-next');\r\n YMD = that.getAsYM(dateTime.year, dateTime.month);\r\n }\r\n YMD[1]++;\r\n YMD[2] = st + 1;\r\n item.attr('lay-ymd', YMD.join('-')).html('
                    ' + YMD[2] + '
                    ');\r\n that.mark(item, YMD).holidays(item, YMD).limit({\r\n elem: item,\r\n date: {\r\n year: YMD[0],\r\n month: YMD[1] - 1,\r\n date: YMD[2]\r\n },\r\n index: index_,\r\n rangeType: index,\r\n disabledType: 'date' // 日面板,检测当前日期是否禁用\r\n });\r\n that.cellRender(item, {year: YMD[0], month: YMD[1], date: YMD[2]}, 'date');\r\n });\r\n\r\n //同步头部年月\r\n lay(elemYM[0]).attr('lay-ym', dateTime.year + '-' + (dateTime.month + 1));\r\n lay(elemYM[1]).attr('lay-ym', dateTime.year + '-' + (dateTime.month + 1));\r\n if(!that.panelYM) that.panelYM = {};\r\n that.panelYM[index] = {year: dateTime.year, month: dateTime.month};\r\n\r\n if(options.lang === 'cn'){\r\n lay(elemYM[0]).attr('lay-type', 'year').html(dateTime.year + ' 年')\r\n lay(elemYM[1]).attr('lay-type', 'month').html((dateTime.month + 1) + ' 月');\r\n } else {\r\n lay(elemYM[0]).attr('lay-type', 'month').html(lang.month[dateTime.month]);\r\n lay(elemYM[1]).attr('lay-type', 'year').html(dateTime.year);\r\n }\r\n\r\n //初始默认选择器\r\n if(isAlone){ //年、月等独立选择器\r\n if(options.range){\r\n if(value || type !== 'init'){ // 判断是否需要显示年月时间列表\r\n that.listYM = [\r\n [(that.startDate || options.dateTime).year, (that.startDate || options.dateTime).month + 1]\r\n ,[that.endDate.year, that.endDate.month + 1]\r\n ];\r\n that.list(options.type, 0).list(options.type, 1);\r\n\r\n //同步按钮可点状态\r\n options.type === 'time' ? that.setBtnStatus('时间'\r\n ,lay.extend({}, that.systemDate(), that.startTime)\r\n ,lay.extend({}, that.systemDate(), that.endTime)\r\n ) : that.setBtnStatus(true);\r\n }\r\n } else {\r\n that.listYM = [[dateTime.year, dateTime.month + 1]];\r\n that.list(options.type, 0);\r\n }\r\n }\r\n\r\n //初始赋值双日历\r\n if(options.range && type === 'init'){\r\n //执行渲染第二个日历\r\n if (that.rangeLinked) {\r\n var EYM = that.getAsYM(dateTime.year, dateTime.month, index ? 'sub' : null)\r\n that.calendar(lay.extend({}, dateTime, {\r\n year: EYM[0]\r\n ,month: EYM[1]\r\n }), 1 - index); // 渲染另外一个\r\n } else {\r\n that.calendar(null, 1 - index);\r\n }\r\n }\r\n\r\n // 通过检测当前有效日期,来设定底部按钮状态\r\n if(!options.range){\r\n var timeParams = ['hours', 'minutes', 'seconds'];\r\n\r\n // 现在按钮\r\n that.limit({\r\n elem: lay(that.footer).find(ELEM_NOW),\r\n date: that.systemDate(/^(datetime|time)$/.test(options.type) ? new Date() : null),\r\n index: 0,\r\n time: timeParams,\r\n disabledType: 'datetime' // 按钮,检测日期和时间\r\n });\r\n // 确认按钮\r\n that.limit({\r\n elem: lay(that.footer).find(ELEM_CONFIRM),\r\n index: 0,\r\n time: timeParams,\r\n disabledType: 'datetime' // 按钮,检测日期和时间\r\n });\r\n }\r\n\r\n //同步按钮可点状态\r\n that.setBtnStatus();\r\n\r\n // 重置快捷栏选中状态\r\n lay(that.shortcut).find('li.' + THIS).removeClass(THIS);\r\n\r\n //标记选择范围\r\n if(options.range && !isAlone && type !== 'init') that.stampRange();\r\n\r\n return that;\r\n };\r\n\r\n //生成年月时分秒列表\r\n Class.prototype.list = function(type, index){\r\n var that = this\r\n ,options = that.config\r\n ,dateTime = that.rangeLinked ? options.dateTime : [options.dateTime, that.endDate][index]\r\n ,lang = that.lang()\r\n ,isAlone = options.range && options.type !== 'date' && options.type !== 'datetime' //独立范围选择器\r\n\r\n ,ul = lay.elem('ul', {\r\n \"class\": ELEM_LIST + ' ' + ({\r\n year: 'laydate-year-list'\r\n ,month: 'laydate-month-list'\r\n ,time: 'laydate-time-list'\r\n })[type]\r\n })\r\n ,elemHeader = that.elemHeader[index]\r\n ,elemYM = lay(elemHeader[2]).find('span')\r\n ,elemCont = that.elemCont[index || 0]\r\n ,haveList = lay(elemCont).find('.'+ ELEM_LIST)[0]\r\n ,isCN = options.lang === 'cn'\r\n ,text = isCN ? '年' : ''\r\n\r\n ,listYM = that.listYM[index] || {}\r\n ,hms = ['hours', 'minutes', 'seconds']\r\n ,startEnd = ['startTime', 'endTime'][index];\r\n\r\n if(listYM[0] < 1) listYM[0] = 1;\r\n\r\n //生成年列表\r\n if(type === 'year'){\r\n var yearNum, startY = yearNum = listYM[0] - 7;\r\n if(startY < 1) startY = yearNum = 1;\r\n lay.each(new Array(15), function(i){\r\n var li = lay.elem('li', {\r\n 'lay-ym': yearNum\r\n })\r\n ,ymd = {\r\n year: yearNum\r\n ,month: 0\r\n ,date: 1\r\n };\r\n\r\n yearNum == listYM[0] && lay(li).addClass(THIS);\r\n li.innerHTML = yearNum + text;\r\n ul.appendChild(li);\r\n\r\n /*\r\n if(yearNum < that.firstDate.year){\r\n ymd.month = options.min.month;\r\n ymd.date = options.min.date;\r\n } else if(yearNum >= that.firstDate.year){\r\n ymd.month = options.max.month;\r\n ymd.date = options.max.date;\r\n }\r\n */\r\n\r\n that.limit({\r\n elem: lay(li),\r\n date: ymd,\r\n index: index,\r\n type: type,\r\n rangeType: index,\r\n disabledType: 'date' // 年面板,检测当前年份中的所有日期是否禁用\r\n });\r\n that.cellRender(li, {year: yearNum, month: 1, date: 1}, 'year');\r\n yearNum++;\r\n });\r\n\r\n lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', (yearNum - 8) + '-' + listYM[1])\r\n .html((startY + text) + ' - ' + (yearNum - 1 + text));\r\n }\r\n\r\n //生成月列表\r\n else if(type === 'month'){\r\n lay.each(new Array(12), function(i){\r\n var li = lay.elem('li', {\r\n 'lay-ym': i\r\n })\r\n ,ymd = {\r\n year: listYM[0]\r\n ,month: i\r\n ,date: 1\r\n };\r\n\r\n i + 1 == listYM[1] && lay(li).addClass(THIS);\r\n li.innerHTML = lang.month[i] + (isCN ? '月' : '');\r\n ul.appendChild(li);\r\n\r\n /*\r\n if(listYM[0] < that.firstDate.year){\r\n ymd.date = options.min.date;\r\n } else if(listYM[0] >= that.firstDate.year){\r\n ymd.date = options.max.date;\r\n }\r\n */\r\n\r\n that.limit({\r\n elem: lay(li),\r\n date: ymd,\r\n index: index,\r\n type: type,\r\n rangeType: index,\r\n disabledType: 'date' // 月面板,检测当前月份中的所有日期是否禁用\r\n });\r\n that.cellRender(li, {year: listYM[0], month: i + 1, date: 1}, 'month');\r\n });\r\n\r\n lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', listYM[0] + '-' + listYM[1])\r\n .html(listYM[0] + text);\r\n }\r\n\r\n //生成时间列表\r\n else if(type === 'time'){\r\n //检测时分秒状态是否在有效日期时间范围内\r\n var setTimeStatus = function(){\r\n lay(ul).find('ol').each(function(i, ol){\r\n lay(ol).find('li').each(function(ii, li){\r\n that.limit({\r\n elem: lay(li),\r\n date: [{\r\n hours: ii\r\n }, {\r\n hours: that[startEnd].hours\r\n ,minutes: ii\r\n }, {\r\n hours: that[startEnd].hours\r\n ,minutes: that[startEnd].minutes\r\n ,seconds: ii\r\n }][i],\r\n index: index,\r\n rangeType: index,\r\n disabledType: 'time', // 时间面板,分别检测时分秒列表是否禁用\r\n time: [\r\n ['hours'],\r\n ['hours', 'minutes'],\r\n ['hours', 'minutes', 'seconds']\r\n ][i]\r\n });\r\n });\r\n });\r\n if(!options.range){\r\n that.limit({\r\n elem: lay(that.footer).find(ELEM_CONFIRM),\r\n date: that[startEnd],\r\n index: 0,\r\n time: ['hours', 'minutes', 'seconds'],\r\n disabledType: 'datetime' // 确认按钮,检测时分秒列表任意一项是否禁用\r\n });\r\n }\r\n };\r\n\r\n var setTimeListVisibility = function(){\r\n var showHour = options.format.indexOf('H') !== -1;\r\n var showMinute = options.format.indexOf('m') !== -1;\r\n var showSecond = options.format.indexOf('s') !== -1;\r\n var liElem = ul.children;\r\n var hideCount = 0;\r\n\r\n lay.each([showHour, showMinute, showSecond], function(i, isShow){\r\n if(!isShow){\r\n liElem[i].className += ' layui-hide';\r\n hideCount++;\r\n }\r\n })\r\n ul.className += (' laydate-time-list-hide-' + hideCount);\r\n }\r\n\r\n //初始化时间对象\r\n if(options.range){\r\n if(!that[startEnd]){\r\n that[startEnd] = startEnd === 'startTime' ? dateTime : that.endDate;\r\n }\r\n } else {\r\n that[startEnd] = dateTime;\r\n }\r\n\r\n //生成时分秒\r\n lay.each([24, 60, 60], function(i, item){\r\n var li = lay.elem('li'), childUL = ['

                    '+ lang.time[i] +'

                      '];\r\n lay.each(new Array(item), function(ii){\r\n childUL.push(''+ lay.digit(ii, 2) +'');\r\n });\r\n li.innerHTML = childUL.join('') + '
                    ';\r\n ul.appendChild(li);\r\n });\r\n setTimeStatus();\r\n setTimeListVisibility();\r\n }\r\n\r\n //插入容器\r\n if(haveList) elemCont.removeChild(haveList);\r\n elemCont.appendChild(ul);\r\n\r\n //年月面板 - 选择事件\r\n if(type === 'year' || type === 'month'){\r\n //显示切换箭头\r\n lay(that.elemMain[index]).addClass('laydate-ym-show');\r\n\r\n //选中\r\n lay(ul).find('li').on('click', function(){\r\n var ym = lay(this).attr('lay-ym') | 0;\r\n if(lay(this).hasClass(DISABLED)) return;\r\n if (that.rangeLinked) {\r\n lay.extend(dateTime, {\r\n year: type === 'year' ? ym : listYM[0]\r\n ,month: type === 'year' ? listYM[1] - 1 : ym\r\n });\r\n } else {\r\n dateTime[type] = ym;\r\n }\r\n\r\n //当为年选择器或者年月选择器\r\n var isYearOrMonth = ['year', 'month'].indexOf(options.type) !== -1;\r\n var isChangeMonth = type === 'year' && ['date', 'datetime'].indexOf(options.type) !== -1;\r\n if (isYearOrMonth || isChangeMonth) {\r\n lay(ul).find('.'+ THIS).removeClass(THIS);\r\n lay(this).addClass(THIS);\r\n\r\n //如果为年月选择器,点击了年列表,则切换到月选择器\r\n if ((options.type === 'month' && type === 'year') || isChangeMonth) {\r\n that.listYM[index][0] = ym;\r\n isAlone && ((index ? that.endDate : dateTime).year = ym);\r\n that.list('month', index);\r\n }\r\n } else {\r\n that.checkDate('limit').calendar(dateTime, index, 'init'); // 重新渲染一下两个面板\r\n that.closeList();\r\n }\r\n\r\n that.setBtnStatus(); //同步按钮可点状态\r\n\r\n //若为月选择器,只有当选择月份时才自动关闭;\r\n //若为年选择器,选择年份即自动关闭\r\n //且在范围未开启时\r\n if(!options.range && options.autoConfirm){\r\n if((options.type === 'month' && type === 'month') || (options.type === 'year' && type === 'year')){\r\n that.setValue(that.parse()).done().remove();\r\n }\r\n }\r\n\r\n (that.autoCalendarModel.auto && !that.rangeLinked) ? that.choose(lay(elemCont).find('td.layui-this'), index) : (that.endState && that.done(null, 'change'));\r\n lay(that.footer).find('.'+ ELEM_TIME_BTN).removeClass(DISABLED);\r\n });\r\n } else { //时间选择面板 - 选择事件\r\n var span = lay.elem('span', {\r\n \"class\": ELEM_TIME_TEXT\r\n })\r\n\r\n //滚动条定位\r\n ,scroll = function(){\r\n lay(ul).find('ol').each(function(i){\r\n var ol = this\r\n ,li = lay(ol).find('li')\r\n ol.scrollTop = 30*(that[startEnd][hms[i]] - 2);\r\n if(ol.scrollTop <= 0){\r\n li.each(function(ii, item){\r\n if(!lay(this).hasClass(DISABLED)){\r\n ol.scrollTop = 30*(ii - 2);\r\n return true;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n ,haveSpan = lay(elemHeader[2]).find('.'+ ELEM_TIME_TEXT);\r\n\r\n scroll();\r\n span.innerHTML = options.range ? [lang.startTime,lang.endTime][index] : lang.timeTips;\r\n lay(that.elemMain[index]).addClass('laydate-time-show');\r\n\r\n if(haveSpan[0]) haveSpan.remove();\r\n elemHeader[2].appendChild(span);\r\n\r\n var olElem = lay(ul).find('ol');\r\n olElem.each(function(i){\r\n var ol = this;\r\n //选择时分秒\r\n lay(ol).find('li').on('click', function(){\r\n var value = this.innerHTML | 0;\r\n if(lay(this).hasClass(DISABLED)) return;\r\n\r\n if(options.range){\r\n that[startEnd][hms[i]] = value;\r\n } else {\r\n dateTime[hms[i]] = value;\r\n }\r\n lay(ol).find('.'+ THIS).removeClass(THIS);\r\n lay(this).addClass(THIS);\r\n\r\n setTimeStatus();\r\n scroll();\r\n (that.endDate || options.type === 'time' || options.type === 'datetime') && that.done(null, 'change');\r\n\r\n //同步按钮可点状态\r\n that.setBtnStatus();\r\n });\r\n });\r\n\r\n if(layui.device().mobile){\r\n olElem.css({\r\n overflowY: 'auto',\r\n touchAction: 'pan-y'\r\n })\r\n }\r\n }\r\n\r\n return that;\r\n };\r\n\r\n //记录列表切换后的年月\r\n Class.prototype.listYM = [];\r\n\r\n //关闭列表\r\n Class.prototype.closeList = function(){\r\n var that = this\r\n ,options = that.config;\r\n\r\n lay.each(that.elemCont, function(index, item){\r\n lay(this).find('.'+ ELEM_LIST).remove();\r\n lay(that.elemMain[index]).removeClass('laydate-ym-show laydate-time-show');\r\n });\r\n lay(that.elem).find('.'+ ELEM_TIME_TEXT).remove();\r\n };\r\n\r\n //检测结束日期是否超出开始日期\r\n Class.prototype.setBtnStatus = function(tips, start, end){\r\n var that = this\r\n ,options = that.config\r\n ,lang = that.lang()\r\n ,isOut\r\n ,elemBtn = lay(that.footer).find(ELEM_CONFIRM)\r\n ,timeParams = options.type === 'datetime' || options.type === 'time' ? ['hours', 'minutes', 'seconds'] : undefined;\r\n if(options.range){\r\n start = start || (that.rangeLinked ? that.startDate : options.dateTime);\r\n end = end || that.endDate;\r\n isOut = !that.endState || that.newDate(start).getTime() > that.newDate(end).getTime();\r\n\r\n //如果不在有效日期内,直接禁用按钮,否则比较开始和结束日期\r\n (that.limit({\r\n date: start,\r\n disabledType: 'datetime', // 按钮,检测日期和时间\r\n time: timeParams,\r\n rangeType: 0\r\n }) || that.limit({\r\n date: end,\r\n disabledType: 'datetime', // 按钮,检测日期和时间\r\n time: timeParams,\r\n rangeType: 1\r\n }))\r\n ? elemBtn.addClass(DISABLED)\r\n : elemBtn[isOut ? 'addClass' : 'removeClass'](DISABLED);\r\n\r\n //是否异常提示\r\n if(tips && isOut) that.hint(\r\n typeof tips === 'string' ? lang.timeout.replace(/日期/g, tips) : lang.timeout\r\n );\r\n }\r\n };\r\n\r\n // 转义为规定格式的日期字符\r\n Class.prototype.parse = function(state, date) {\r\n var that = this;\r\n var options = that.config;\r\n var startDate = (that.rangeLinked ? that.startDate : options.dateTime)\r\n var dateTime = date || (\r\n state == 'end' ? lay.extend({}, that.endDate, that.endTime) : (\r\n options.range\r\n ? lay.extend({}, startDate || options.dateTime, that.startTime)\r\n : options.dateTime\r\n )\r\n );\r\n var format = laydate.parse(dateTime, that.format, 1);\r\n\r\n // 返回日期范围字符\r\n if (options.range && state === undefined) {\r\n return format + ' '+ that.rangeStr +' ' + that.parse('end');\r\n }\r\n\r\n return format;\r\n };\r\n\r\n //创建指定日期时间对象\r\n Class.prototype.newDate = function(dateTime){\r\n dateTime = dateTime || {};\r\n return new Date(\r\n dateTime.year || 1\r\n ,dateTime.month || 0\r\n ,dateTime.date || 1\r\n ,dateTime.hours || 0\r\n ,dateTime.minutes || 0\r\n ,dateTime.seconds || 0\r\n );\r\n };\r\n\r\n // 获得指定日期时间对象的毫秒数\r\n Class.prototype.getDateTime = function(obj){\r\n return this.newDate(obj).getTime();\r\n }\r\n\r\n /**\r\n * 格式化输入框显示值\r\n * @param {HTMLInputElement} elem HTML input 元素\r\n * @param {(value: string) => string} displayValueCallback\r\n */\r\n Class.prototype.formatToDisplay = function (elem, displayValueCallback) {\r\n var that = this;\r\n var props = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value');\r\n\r\n Object.defineProperty(\r\n elem,\r\n 'value',\r\n lay.extend({}, props, {\r\n get: function () {\r\n return this.getAttribute('lay-date');\r\n },\r\n set: function (value) {\r\n props.set.call(this, displayValueCallback.call(that, value));\r\n this.setAttribute('lay-date', value);\r\n },\r\n })\r\n );\r\n };\r\n\r\n //赋值\r\n Class.prototype.setValue = function(value){\r\n var that = this\r\n ,options = that.config\r\n ,elem = options.elem[0];\r\n\r\n //静态展现则不作默认赋值\r\n if(options.position === 'static') return that;\r\n\r\n value = value || '';\r\n\r\n //绑定的元素是否为 input\r\n if(that.isInput(elem)){\r\n lay(elem).val(value);\r\n } else {\r\n //如果 range 传入了开始和结束的 input 对象,则分别对其赋值\r\n var rangeElem = that.rangeElem;\r\n if(rangeElem){\r\n if(layui.type(value) !== 'array'){\r\n value = value.split(' '+ that.rangeStr +' ');\r\n }\r\n rangeElem[0].val(value[0] || '');\r\n rangeElem[1].val(value[1] || '');\r\n } else {\r\n if(lay(elem).find('*').length === 0){\r\n var displayValue = typeof options.formatToDisplay === 'function' ? options.formatToDisplay(value) : value;\r\n lay(elem).html(displayValue);\r\n }\r\n lay(elem).attr('lay-date', value);\r\n }\r\n }\r\n\r\n return that;\r\n };\r\n\r\n //预览\r\n Class.prototype.preview = function(){\r\n var that = this\r\n ,options = that.config;\r\n\r\n if(!options.isPreview) return;\r\n\r\n var elemPreview = lay(that.elem).find('.'+ ELEM_PREVIEW)\r\n ,value = options.range ? ((that.rangeLinked ? that.endState : that.endDate) ? that.parse() : '') : that.parse();\r\n\r\n // 显示预览\r\n elemPreview.html(value);\r\n\r\n // 预览颜色渐变\r\n var oldValue = elemPreview.html();\r\n oldValue && (elemPreview.css({\r\n 'color': '#16b777'\r\n }),\r\n setTimeout(function(){\r\n elemPreview.css({\r\n 'color': '#777'\r\n });\r\n }, 300));\r\n };\r\n\r\n // 附加的渲染处理,在 ready 和 change 的时候调用\r\n Class.prototype.renderAdditional = function(){\r\n var that = this;\r\n var options = that.config;\r\n\r\n // 处理全面板\r\n if (options.fullPanel) {\r\n that.list('time', 0);\r\n }\r\n };\r\n\r\n // 标记范围内的日期\r\n Class.prototype.stampRange = function(){\r\n var that = this\r\n ,options = that.config\r\n ,startTime = that.rangeLinked ? that.startDate : options.dateTime, endTime\r\n ,tds = lay(that.elem).find('td');\r\n\r\n if(options.range && !that.endState) lay(that.footer).find(ELEM_CONFIRM).addClass(DISABLED);\r\n // if(!that.endState) return;\r\n\r\n startTime = startTime && that.newDate({\r\n year: startTime.year\r\n ,month: startTime.month\r\n ,date: startTime.date\r\n }).getTime();\r\n\r\n endTime = that.endState && that.endDate && that.newDate({\r\n year: that.endDate.year\r\n ,month: that.endDate.month\r\n ,date: that.endDate.date\r\n }).getTime();\r\n\r\n // if(startTime > endTime) return that.hint(TIPS_OUT);\r\n\r\n lay.each(tds, function(i, item){\r\n var ymd = lay(item).attr('lay-ymd').split('-');\r\n var thisTime = that.newDate({\r\n year: ymd[0]\r\n ,month: ymd[1] - 1\r\n ,date: ymd[2]\r\n }).getTime();\r\n\r\n // 标记当天\r\n if(options.rangeLinked && !that.startDate){\r\n if(thisTime === that.newDate(that.systemDate()).getTime()){\r\n lay(item).addClass(\r\n lay(item).hasClass(ELEM_PREV) || lay(item).hasClass(ELEM_NEXT)\r\n ? ''\r\n : ELEM_DAY_NOW\r\n );\r\n }\r\n }\r\n\r\n /*\r\n * 标注区间\r\n */\r\n\r\n lay(item).removeClass(ELEM_SELECTED + ' ' + THIS);\r\n\r\n if(thisTime === startTime || thisTime === endTime){\r\n (that.rangeLinked || (!that.rangeLinked && (i < 42 ? thisTime === startTime : thisTime === endTime))) &&\r\n lay(item).addClass(\r\n lay(item).hasClass(ELEM_PREV) || lay(item).hasClass(ELEM_NEXT)\r\n ? ELEM_SELECTED\r\n : THIS\r\n );\r\n }\r\n if(thisTime > startTime && thisTime < endTime){\r\n lay(item).addClass(ELEM_SELECTED);\r\n }\r\n });\r\n };\r\n\r\n // 执行 done/change 回调\r\n Class.prototype.done = function(param, type){\r\n var that = this;\r\n var options = that.config;\r\n var start = lay.extend({},\r\n lay.extend(that.rangeLinked ? that.startDate : options.dateTime, that.startTime)\r\n );\r\n var end = lay.extend({}, lay.extend(that.endDate, that.endTime));\r\n\r\n lay.each([start, end], function(i, item){\r\n if(!('month' in item)) return;\r\n lay.extend(item, {\r\n month: item.month + 1\r\n });\r\n });\r\n\r\n that.preview();\r\n\r\n param = param || [that.parse(), start, end];\r\n type === 'change' && that.renderAdditional();\r\n typeof options[type || 'done'] === 'function' && options[type || 'done'].apply(options, param);\r\n\r\n return that;\r\n };\r\n\r\n /**\r\n * 判断日期是否存在面板,用于处理日期范围选择的一些边缘情况\r\n * @param {object} datetime 日期时间对象\r\n * @param {number} index - 面板索引\r\n * @returns\r\n */\r\n Class.prototype.checkPanelDate = function(datetime, index){\r\n var that = this;\r\n var options = that.config;\r\n // 年月范围选择不需要处理\r\n if(options.type !== 'date' && options.type !== 'datetime') return;\r\n\r\n var startPanel = index === 0;\r\n var month = datetime.month + 1; // 点击的日期所在月份\r\n var panelMonth = that.panelYM[index].month + 1; // 当前面板头部月份\r\n\r\n // 边缘日期的处理\r\n var firstRenderIndex = that.endState\r\n // 二次点击(一般为结束日期)任意一侧面板时:\r\n // 1. 左侧面板中,点击的月份属于下一个月时,应渲染右侧面板而不是左侧面板;\r\n // 2. 左侧面板中,点击的月份属于上一个月时,应将两个面板都重新渲染(等效点击 prevMonth);\r\n // 3. 右侧面板同理。\r\n ? function() {\r\n return (startPanel && month > panelMonth) || (!startPanel && month < panelMonth)\r\n ? 1 - index\r\n : index;\r\n }()\r\n // 初次点击(一般为开始日期)任意一侧面板时:\r\n // 1. 让该面板自行切换,以保持日期的「选中状态」在该侧;\r\n // 2. 另一侧面板则根据点击的面板进行响应式切换,以保持左右面板始终为连续月份。\r\n : index;\r\n\r\n // 为简化实现,只要点击的月份不等于当前面板顶部显示的月份时,就重新渲染两侧面板\r\n return {\r\n needFullRender: month !== panelMonth,\r\n index: firstRenderIndex\r\n }\r\n }\r\n\r\n //选择日期\r\n Class.prototype.choose = function(td, index){\r\n if(td.hasClass(DISABLED)) return;\r\n\r\n var that = this\r\n ,options = that.config\r\n ,panelIndex = index; // 记录点击的是哪一个面板的\r\n\r\n if (that.rangeLinked) {\r\n if (that.endState || !that.startDate) {\r\n // 重新选择或者第一次选择\r\n index = 0;\r\n that.endState = false;\r\n } else {\r\n index = 1;\r\n that.endState = true;\r\n }\r\n }\r\n\r\n var dateTime = that.thisDateTime(index)\r\n\r\n ,tds = lay(that.elem).find('td')\r\n ,YMD = td.attr('lay-ymd').split('-');\r\n\r\n YMD = {\r\n year: YMD[0] | 0\r\n ,month: (YMD[1] | 0) - 1\r\n ,date: YMD[2] | 0\r\n };\r\n\r\n lay.extend(dateTime, YMD); //同步 dateTime\r\n\r\n //范围选择\r\n if(options.range){\r\n //补充时分秒\r\n lay.each(['startTime', 'endTime'], function(i, item){\r\n that[item] = that[item] || {\r\n hours: i ? 23: 0\r\n ,minutes: i ? 59: 0\r\n ,seconds: i ? 59: 0\r\n };\r\n if (index === i) {\r\n // 判断选择之后的是否在范围内,超出则需要调整时分秒\r\n if (that.getDateTime(lay.extend({}, dateTime, that[item])) < that.getDateTime(options.min)) {\r\n that[item] = {\r\n hours: options.min.hours\r\n ,minutes: options.min.minutes\r\n ,seconds: options.min.seconds\r\n };\r\n lay.extend(dateTime, that[item]);\r\n } else if (that.getDateTime(lay.extend({}, dateTime, that[item])) > that.getDateTime(options.max)) {\r\n that[item] = {\r\n hours: options.max.hours\r\n ,minutes: options.max.minutes\r\n ,seconds: options.max.seconds\r\n };\r\n lay.extend(dateTime, that[item]);\r\n }\r\n }\r\n });\r\n if (!index) {\r\n that.startDate = lay.extend({}, dateTime); // 同步startDate\r\n }\r\n // 校验另外一个日期是否在有效的范围内\r\n // 此处为范围选择的日期面板点击选中处理,所以 disabledType 为 date\r\n if (that.endState && !that.limit({date: that.rangeLinked ? that.startDate : that.thisDateTime(1 - index), disabledType:'date'})) {\r\n // 根据选择之后判断是否需要切换模式\r\n var isChange;\r\n if (that.endState && that.autoCalendarModel.auto) {\r\n isChange = that.autoCalendarModel();\r\n }\r\n // 判断是否反选\r\n var needSwapDate = (isChange || that.rangeLinked && that.endState) && that.newDate(that.startDate) > that.newDate(that.endDate);\r\n if (needSwapDate){\r\n var isSameDate = that.startDate.year === that.endDate.year && that.startDate.month === that.endDate.month && that.startDate.date === that.endDate.date;\r\n var startDate;\r\n // 如果是同一天并且出现了反选证明是时分秒出现开始时间大于结束时间的现象\r\n if(isSameDate){\r\n startDate = that.startTime;\r\n that.startTime = that.endTime;\r\n that.endTime = startDate;\r\n }\r\n // 当出现反向选择时(即“后点击”的日期比“先点击”的日期小),重新提取区间\r\n startDate = that.startDate;\r\n that.startDate = lay.extend({}, that.endDate, that.startTime);\r\n options.dateTime = lay.extend({}, that.startDate);\r\n that.endDate = lay.extend({}, startDate, that.endTime);\r\n }\r\n isChange && (options.dateTime = lay.extend({}, that.startDate));\r\n }\r\n if (that.rangeLinked) {\r\n // 处理日期范围选择的一些边缘情况\r\n var checkState = that.checkPanelDate(dateTime, panelIndex);\r\n var dateTimeTemp = lay.extend({}, dateTime);\r\n var renderMode = (isChange || (checkState && checkState.needFullRender)) ? 'init' : null;\r\n var panelIdx = checkState ? checkState.index : panelIndex;\r\n that.calendar(dateTimeTemp, panelIdx, renderMode);\r\n } else {\r\n that.calendar(null, index, isChange ? 'init' : null);\r\n }\r\n that.endState && that.done(null, 'change');\r\n } else if(options.position === 'static'){ //直接嵌套的选中\r\n that.calendar().done().done(null, 'change'); //同时执行 done 和 change 回调\r\n } else if(options.type === 'date'){\r\n options.autoConfirm ? that.setValue(that.parse()).done().remove() : that.calendar().done(null, 'change');\r\n } else if(options.type === 'datetime'){\r\n that.calendar().done(null, 'change');\r\n }\r\n };\r\n\r\n //底部按钮\r\n Class.prototype.tool = function(btn, type){\r\n var that = this\r\n ,options = that.config\r\n ,lang = that.lang()\r\n ,dateTime = options.dateTime\r\n ,isStatic = options.position === 'static'\r\n ,active = {\r\n //选择时间\r\n datetime: function(){\r\n if(lay(btn).hasClass(DISABLED)) return;\r\n that.list('time', 0);\r\n options.range && that.list('time', 1);\r\n lay(btn).attr('lay-type', 'date').html(that.lang().dateTips);\r\n }\r\n\r\n //选择日期\r\n ,date: function(){\r\n that.closeList();\r\n lay(btn).attr('lay-type', 'datetime').html(that.lang().timeTips);\r\n }\r\n\r\n //清空、重置\r\n ,clear: function(){\r\n isStatic && (\r\n lay.extend(dateTime, that.firstDate)\r\n ,that.calendar()\r\n )\r\n options.range && (\r\n delete options.dateTime\r\n ,delete that.endDate\r\n ,delete that.startTime\r\n ,delete that.endTime\r\n );\r\n that.setValue('');\r\n that.done(null, 'onClear').done(['', {}, {}]).remove();\r\n }\r\n\r\n // 现在\r\n ,now: function(){\r\n var thisDate = new Date();\r\n\r\n // 当前系统时间未在 min/max 范围内,则不可点击\r\n if(lay(btn).hasClass(DISABLED)){\r\n return that.hint(lang.tools.now +', '+ lang.invalidDate);\r\n }\r\n\r\n lay.extend(dateTime, that.systemDate(), {\r\n hours: thisDate.getHours()\r\n ,minutes: thisDate.getMinutes()\r\n ,seconds: thisDate.getSeconds()\r\n });\r\n\r\n that.setValue(that.parse());\r\n isStatic && that.calendar();\r\n that.done(null, 'onNow').done().remove();\r\n }\r\n\r\n //确定\r\n ,confirm: function(){\r\n if(options.range){\r\n if(lay(btn).hasClass(DISABLED)){\r\n var isTimeout = options.type === 'time'\r\n ? that.startTime && that.endTime && that.newDate(that.startTime) > that.newDate(that.endTime)\r\n : that.startDate && that.endDate && that.newDate(lay.extend({},that.startDate, that.startTime || {})) > that.newDate(lay.extend({},that.endDate, that.endTime || {}));\r\n\r\n return isTimeout\r\n ? that.hint(options.type === 'time' ? lang.timeout.replace(/日期/g, '时间') : lang.timeout)\r\n : that.hint(lang.invalidDate);\r\n }\r\n } else {\r\n if(lay(btn).hasClass(DISABLED)) return that.hint(lang.invalidDate);\r\n }\r\n\r\n that.setValue(that.parse());\r\n that.done(null, 'onConfirm').done().remove();\r\n }\r\n };\r\n active[type] && active[type]();\r\n };\r\n\r\n //统一切换处理\r\n Class.prototype.change = function(index){\r\n var that = this\r\n ,options = that.config\r\n ,dateTime = that.thisDateTime(index)\r\n ,isAlone = options.range && (options.type === 'year' || options.type === 'month')\r\n\r\n ,elemCont = that.elemCont[index || 0]\r\n ,listYM = that.listYM[index]\r\n ,addSubYear = function(type){\r\n var isYear = lay(elemCont).find('.laydate-year-list')[0]\r\n ,isMonth = lay(elemCont).find('.laydate-month-list')[0];\r\n\r\n //切换年列表\r\n if(isYear){\r\n listYM[0] = type ? listYM[0] - 15 : listYM[0] + 15;\r\n that.list('year', index);\r\n }\r\n\r\n if(isMonth){ //切换月面板中的年\r\n type ? listYM[0]-- : listYM[0]++;\r\n that.list('month', index);\r\n }\r\n\r\n if(isYear || isMonth){\r\n lay.extend(dateTime, {\r\n year: listYM[0]\r\n });\r\n if(isAlone) dateTime.year = listYM[0];\r\n options.range || that.done(null, 'change');\r\n options.range || that.limit({\r\n elem: lay(that.footer).find(ELEM_CONFIRM),\r\n date: {\r\n year: listYM[0]\r\n },\r\n disabledType: 'datetime' // 按钮,检测日期和时间\r\n });\r\n }\r\n\r\n that.setBtnStatus();\r\n return isYear || isMonth;\r\n };\r\n\r\n return {\r\n prevYear: function(){\r\n if(addSubYear('sub')) return;\r\n if (that.rangeLinked) {\r\n options.dateTime.year--;\r\n that.checkDate('limit').calendar(null, null, 'init');\r\n } else {\r\n dateTime.year--;\r\n that.checkDate('limit').calendar(null, index);\r\n // 面板自动切换的模式下重新判定是否发生模式转换等细节处理\r\n that.autoCalendarModel.auto ? that.choose(lay(elemCont).find('td.layui-this'), index) : that.done(null, 'change');\r\n }\r\n }\r\n ,prevMonth: function(){\r\n // rangeLinked 模式非实时选择日期,不需要同步 options.dateTime,应根据面板显示日期切换\r\n if(that.rangeLinked){\r\n var panelYM = that.panelYM[0];\r\n var YM = that.getAsYM(panelYM.year, panelYM.month, 'sub');\r\n var dateTimeTemp = lay.extend({}, options.dateTime, that.panelYM[0], {year: YM[0], month: YM[1]});\r\n that.checkDate('limit').calendar(dateTimeTemp, null, 'init');\r\n }else{\r\n var YM = that.getAsYM(dateTime.year, dateTime.month, 'sub');\r\n lay.extend(dateTime, {\r\n year: YM[0]\r\n ,month: YM[1]\r\n });\r\n\r\n that.checkDate('limit').calendar(null, null, 'init');\r\n that.autoCalendarModel.auto ? that.choose(lay(elemCont).find('td.layui-this'), index) : that.done(null, 'change');\r\n }\r\n }\r\n ,nextMonth: function(){\r\n if(that.rangeLinked){\r\n var panelYM = that.panelYM[0];\r\n var YM = that.getAsYM(panelYM.year, panelYM.month);\r\n var dateTimeTemp = lay.extend({}, options.dateTime, that.panelYM[0], {year: YM[0],month: YM[1]});\r\n that.checkDate('limit').calendar(dateTimeTemp, null, 'init');\r\n }else{\r\n var YM = that.getAsYM(dateTime.year, dateTime.month);\r\n lay.extend(dateTime, {\r\n year: YM[0]\r\n ,month: YM[1]\r\n });\r\n\r\n that.checkDate('limit').calendar(null, null, 'init');\r\n that.autoCalendarModel.auto ? that.choose(lay(elemCont).find('td.layui-this'), index) : that.done(null, 'change');\r\n }\r\n }\r\n ,nextYear: function(){\r\n if(addSubYear()) return;\r\n if (that.rangeLinked) {\r\n options.dateTime.year++;\r\n that.checkDate('limit').calendar(null, 0, 'init');\r\n } else {\r\n dateTime.year++;\r\n that.checkDate('limit').calendar(null, index);\r\n that.autoCalendarModel.auto ? that.choose(lay(elemCont).find('td.layui-this'), index) : that.done(null, 'change');\r\n }\r\n }\r\n };\r\n };\r\n\r\n //日期切换事件\r\n Class.prototype.changeEvent = function(){\r\n var that = this\r\n ,options = that.config;\r\n\r\n //日期选择事件\r\n lay(that.elem).on('click', function(e){\r\n lay.stope(e);\r\n }).on('mousedown', function(e){\r\n lay.stope(e);\r\n });\r\n\r\n //年月切换\r\n lay.each(that.elemHeader, function(i, header){\r\n //上一年\r\n lay(header[0]).on('click', function(e){\r\n that.change(i).prevYear();\r\n });\r\n\r\n //上一月\r\n lay(header[1]).on('click', function(e){\r\n that.change(i).prevMonth();\r\n });\r\n\r\n //选择年月\r\n lay(header[2]).find('span').on('click', function(e){\r\n var othis = lay(this)\r\n ,layYM = othis.attr('lay-ym')\r\n ,layType = othis.attr('lay-type');\r\n\r\n if(!layYM) return;\r\n\r\n layYM = layYM.split('-');\r\n\r\n that.listYM[i] = [layYM[0] | 0, layYM[1] | 0];\r\n that.list(layType, i);\r\n lay(that.footer).find('.'+ ELEM_TIME_BTN).addClass(DISABLED);\r\n });\r\n\r\n //下一月\r\n lay(header[3]).on('click', function(e){\r\n that.change(i).nextMonth();\r\n });\r\n\r\n //下一年\r\n lay(header[4]).on('click', function(e){\r\n that.change(i).nextYear();\r\n });\r\n });\r\n\r\n //点击日期\r\n lay.each(that.table, function(i, table){\r\n var tds = lay(table).find('td');\r\n tds.on('click', function(){\r\n that.choose(lay(this), i);\r\n });\r\n });\r\n\r\n //点击底部按钮\r\n lay(that.footer).find('span').on('click', function(){\r\n var type = lay(this).attr('lay-type');\r\n that.tool(this, type);\r\n });\r\n };\r\n\r\n //是否输入框\r\n Class.prototype.isInput = function(elem){\r\n return /input|textarea/.test(elem.tagName.toLocaleLowerCase()) || /INPUT|TEXTAREA/.test(elem.tagName);\r\n };\r\n\r\n //绑定的元素事件处理\r\n Class.prototype.events = function(){\r\n var that = this\r\n var options = that.config\r\n\r\n if(!options.elem[0] || options.elem[0].eventHandler) return;\r\n\r\n var showEvent = function(){\r\n // 已经打开的面板避免重新渲染\r\n if(laydate.thisId === options.id) return;\r\n that.render();\r\n };\r\n\r\n //绑定呼出控件事件\r\n options.elem.on(options.trigger, showEvent);\r\n options.elem[0].eventHandler = true;\r\n options.eventElem.on(options.trigger, showEvent);\r\n\r\n // 元素解绑\r\n that.unbind = function () {\r\n that.remove();\r\n options.elem.off(options.trigger, showEvent);\r\n options.elem.removeAttr('lay-key');\r\n options.elem.removeAttr(MOD_ID);\r\n options.elem[0].eventHandler = false;\r\n options.eventElem.off(options.trigger, showEvent);\r\n options.eventElem.removeAttr('lay-key');\r\n delete thisModule.that[options.id];\r\n };\r\n };\r\n\r\n //记录所有实例\r\n thisModule.that = {}; //记录所有实例对象\r\n\r\n //获取当前实例对象\r\n thisModule.getThis = function(id){\r\n var that = thisModule.that[id];\r\n if(!that && isLayui) layui.hint().error(id ? (MOD_NAME +' instance with ID \\''+ id +'\\' not found') : 'ID argument required');\r\n return that;\r\n };\r\n\r\n // 初始执行\r\n ready.run = function(lay){\r\n // 绑定关闭控件事件\r\n lay(document).on('mousedown', function(e){\r\n if(!laydate.thisId) return;\r\n var that = thisModule.getThis(laydate.thisId);\r\n if(!that) return;\r\n\r\n var options = that.config;\r\n\r\n if(\r\n e.target === options.elem[0] ||\r\n e.target === options.eventElem[0] ||\r\n e.target === lay(options.closeStop)[0] ||\r\n (options.elem[0] && options.elem[0].contains(e.target))\r\n ) return;\r\n\r\n that.remove();\r\n\r\n }).on('keydown', function(e){\r\n if(!laydate.thisId) return;\r\n var that = thisModule.getThis(laydate.thisId);\r\n if(!that) return;\r\n\r\n // 回车触发确认\r\n if(that.config.position === 'static') return;\r\n if(e.keyCode === 13){\r\n if(lay('#'+ that.elemID)[0] && that.elemID === Class.thisElemDate){\r\n e.preventDefault();\r\n lay(that.footer).find(ELEM_CONFIRM)[0].click();\r\n }\r\n }\r\n });\r\n\r\n //自适应定位\r\n lay(window).on('resize', function(){\r\n if(!laydate.thisId) return;\r\n var that = thisModule.getThis(laydate.thisId);\r\n if(!that) return;\r\n\r\n if(!that.elem || !lay(ELEM)[0]){\r\n return false;\r\n }\r\n\r\n that.position();\r\n });\r\n };\r\n\r\n // 渲染 - 核心接口\r\n laydate.render = function(options){\r\n var inst = new Class(options);\r\n return thisModule.call(inst);\r\n };\r\n\r\n // 重载\r\n laydate.reload = function (id, options) {\r\n var that = thisModule.getThis(id);\r\n if(!that) return;\r\n return that.reload(options);\r\n };\r\n\r\n // 获取对应 ID 的实例\r\n laydate.getInst = function (id) {\r\n var that = thisModule.getThis(id);\r\n if(that){\r\n return that.inst;\r\n }\r\n };\r\n\r\n // 面板提示\r\n laydate.hint = function(id, opts){\r\n var that = thisModule.getThis(id);\r\n if(!that) return;\r\n return that.hint(opts);\r\n };\r\n\r\n // 解绑实例\r\n laydate.unbind = function(id){\r\n var that = thisModule.getThis(id);\r\n if(!that) return;\r\n return that.unbind();\r\n };\r\n\r\n // 关闭日期面板\r\n laydate.close = function(id){\r\n var that = thisModule.getThis(id || laydate.thisId);\r\n if(!that) return;\r\n return that.remove();\r\n };\r\n\r\n // 将指定对象转化为日期值\r\n laydate.parse = function(dateTime, format, one){\r\n dateTime = dateTime || {};\r\n\r\n //如果 format 是字符型,则转换为数组格式\r\n if(typeof format === 'string'){\r\n format = thisModule.formatArr(format);\r\n }\r\n\r\n format = (format || []).concat();\r\n\r\n //转义为规定格式\r\n lay.each(format, function(i, item){\r\n if(/yyyy|y/.test(item)){ //年\r\n format[i] = lay.digit(dateTime.year, item.length);\r\n } else if(/MM|M/.test(item)){ //月\r\n format[i] = lay.digit(dateTime.month + (one || 0), item.length);\r\n } else if(/dd|d/.test(item)){ //日\r\n format[i] = lay.digit(dateTime.date, item.length);\r\n } else if(/HH|H/.test(item)){ //时\r\n format[i] = lay.digit(dateTime.hours, item.length);\r\n } else if(/mm|m/.test(item)){ //分\r\n format[i] = lay.digit(dateTime.minutes, item.length);\r\n } else if(/ss|s/.test(item)){ //秒\r\n format[i] = lay.digit(dateTime.seconds, item.length);\r\n }\r\n });\r\n\r\n return format.join('');\r\n };\r\n\r\n // 得到某月的最后一天\r\n laydate.getEndDate = function(month, year){\r\n var thisDate = new Date();\r\n //设置日期为下个月的第一天\r\n thisDate.setFullYear(\r\n year || thisDate.getFullYear()\r\n ,month || (thisDate.getMonth() + 1)\r\n ,1);\r\n //减去一天,得到当前月最后一天\r\n return new Date(thisDate.getTime() - 1000*60*60*24).getDate();\r\n };\r\n\r\n //加载方式\r\n isLayui ? (\r\n laydate.ready()\r\n ,layui.define('lay', function(exports){ //layui 加载\r\n laydate.path = layui.cache.dir;\r\n ready.run(lay);\r\n exports(MOD_NAME, laydate);\r\n })\r\n ) : (\r\n (typeof define === 'function' && define.amd) ? define(function(){ //requirejs 加载\r\n ready.run(lay);\r\n return laydate;\r\n }) : function(){ //普通 script 标签加载\r\n laydate.ready();\r\n ready.run(window.lay);\r\n window.laydate = laydate;\r\n }()\r\n );\r\n\r\n})(window, window.document);\r\n","/*!\r\n * jQuery JavaScript Library v3.7.1\r\n * https://jquery.com/\r\n *\r\n * Copyright OpenJS Foundation and other contributors\r\n * Released under the MIT license\r\n * https://jquery.org/license\r\n *\r\n * Date: 2023-08-28T13:37Z\r\n */\r\n( function( global, factory ) {\r\n\r\n\t\"use strict\";\r\n\r\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\r\n\r\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\r\n\t\t// is present, execute the factory and get jQuery.\r\n\t\t// For environments that do not have a `window` with a `document`\r\n\t\t// (such as Node.js), expose a factory as module.exports.\r\n\t\t// This accentuates the need for the creation of a real `window`.\r\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\r\n\t\t// See ticket trac-14549 for more info.\r\n\t\tmodule.exports = global.document ?\r\n\t\t\tfactory( global, true ) :\r\n\t\t\tfunction( w ) {\r\n\t\t\t\tif ( !w.document ) {\r\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\r\n\t\t\t\t}\r\n\t\t\t\treturn factory( w );\r\n\t\t\t};\r\n\t} else {\r\n\t\tfactory( global );\r\n\t}\r\n\r\n// Pass this if window is not defined yet\r\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\r\n\r\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\r\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\r\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\r\n// enough that all such attempts are guarded in a try block.\r\n\"use strict\";\r\n\r\nvar arr = [];\r\n\r\nvar getProto = Object.getPrototypeOf;\r\n\r\nvar slice = arr.slice;\r\n\r\nvar flat = arr.flat ? function( array ) {\r\n\treturn arr.flat.call( array );\r\n} : function( array ) {\r\n\treturn arr.concat.apply( [], array );\r\n};\r\n\r\n\r\nvar push = arr.push;\r\n\r\nvar indexOf = arr.indexOf;\r\n\r\nvar class2type = {};\r\n\r\nvar toString = class2type.toString;\r\n\r\nvar hasOwn = class2type.hasOwnProperty;\r\n\r\nvar fnToString = hasOwn.toString;\r\n\r\nvar ObjectFunctionString = fnToString.call( Object );\r\n\r\nvar support = {};\r\n\r\nvar isFunction = function isFunction( obj ) {\r\n\r\n\t\t// Support: Chrome <=57, Firefox <=52\r\n\t\t// In some browsers, typeof returns \"function\" for HTML elements\r\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\r\n\t\t// We don't want to classify *any* DOM node as a function.\r\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\r\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\r\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\r\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\r\n\t\t\ttypeof obj.item !== \"function\";\r\n\t};\r\n\r\n\r\nvar isWindow = function isWindow( obj ) {\r\n\t\treturn obj != null && obj === obj.window;\r\n\t};\r\n\r\n\r\nvar document = window.document;\r\n\r\n\r\n\r\n\tvar preservedScriptAttributes = {\r\n\t\ttype: true,\r\n\t\tsrc: true,\r\n\t\tnonce: true,\r\n\t\tnoModule: true\r\n\t};\r\n\r\n\tfunction DOMEval( code, node, doc ) {\r\n\t\tdoc = doc || document;\r\n\r\n\t\tvar i, val,\r\n\t\t\tscript = doc.createElement( \"script\" );\r\n\r\n\t\tscript.text = code;\r\n\t\tif ( node ) {\r\n\t\t\tfor ( i in preservedScriptAttributes ) {\r\n\r\n\t\t\t\t// Support: Firefox 64+, Edge 18+\r\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\r\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\r\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\r\n\t\t\t\t// becomes browsing-context connected.\r\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\r\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\r\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\r\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\r\n\t\t\t\t// via an object.\r\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\r\n\t\t\t\tif ( val ) {\r\n\t\t\t\t\tscript.setAttribute( i, val );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\r\n\t}\r\n\r\n\r\nfunction toType( obj ) {\r\n\tif ( obj == null ) {\r\n\t\treturn obj + \"\";\r\n\t}\r\n\r\n\t// Support: Android <=2.3 only (functionish RegExp)\r\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\r\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\r\n\t\ttypeof obj;\r\n}\r\n/* global Symbol */\r\n// Defining this global in .eslintrc.json would create a danger of using the global\r\n// unguarded in another place, it seems safer to define global only for this module\r\n\r\n\r\n\r\nvar version = \"3.7.1\",\r\n\r\n\trhtmlSuffix = /HTML$/i,\r\n\r\n\t// Define a local copy of jQuery\r\n\tjQuery = function( selector, context ) {\r\n\r\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\r\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\r\n\t\treturn new jQuery.fn.init( selector, context );\r\n\t};\r\n\r\njQuery.fn = jQuery.prototype = {\r\n\r\n\t// The current version of jQuery being used\r\n\tjquery: version,\r\n\r\n\tconstructor: jQuery,\r\n\r\n\t// The default length of a jQuery object is 0\r\n\tlength: 0,\r\n\r\n\ttoArray: function() {\r\n\t\treturn slice.call( this );\r\n\t},\r\n\r\n\t// Get the Nth element in the matched element set OR\r\n\t// Get the whole matched element set as a clean array\r\n\tget: function( num ) {\r\n\r\n\t\t// Return all the elements in a clean array\r\n\t\tif ( num == null ) {\r\n\t\t\treturn slice.call( this );\r\n\t\t}\r\n\r\n\t\t// Return just the one element from the set\r\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\r\n\t},\r\n\r\n\t// Take an array of elements and push it onto the stack\r\n\t// (returning the new matched element set)\r\n\tpushStack: function( elems ) {\r\n\r\n\t\t// Build a new jQuery matched element set\r\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\r\n\r\n\t\t// Add the old object onto the stack (as a reference)\r\n\t\tret.prevObject = this;\r\n\r\n\t\t// Return the newly-formed element set\r\n\t\treturn ret;\r\n\t},\r\n\r\n\t// Execute a callback for every element in the matched set.\r\n\teach: function( callback ) {\r\n\t\treturn jQuery.each( this, callback );\r\n\t},\r\n\r\n\tmap: function( callback ) {\r\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\r\n\t\t\treturn callback.call( elem, i, elem );\r\n\t\t} ) );\r\n\t},\r\n\r\n\tslice: function() {\r\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\r\n\t},\r\n\r\n\tfirst: function() {\r\n\t\treturn this.eq( 0 );\r\n\t},\r\n\r\n\tlast: function() {\r\n\t\treturn this.eq( -1 );\r\n\t},\r\n\r\n\teven: function() {\r\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\r\n\t\t\treturn ( i + 1 ) % 2;\r\n\t\t} ) );\r\n\t},\r\n\r\n\todd: function() {\r\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\r\n\t\t\treturn i % 2;\r\n\t\t} ) );\r\n\t},\r\n\r\n\teq: function( i ) {\r\n\t\tvar len = this.length,\r\n\t\t\tj = +i + ( i < 0 ? len : 0 );\r\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\r\n\t},\r\n\r\n\tend: function() {\r\n\t\treturn this.prevObject || this.constructor();\r\n\t},\r\n\r\n\t// For internal use only.\r\n\t// Behaves like an Array's method, not like a jQuery method.\r\n\tpush: push,\r\n\tsort: arr.sort,\r\n\tsplice: arr.splice\r\n};\r\n\r\njQuery.extend = jQuery.fn.extend = function() {\r\n\tvar options, name, src, copy, copyIsArray, clone,\r\n\t\ttarget = arguments[ 0 ] || {},\r\n\t\ti = 1,\r\n\t\tlength = arguments.length,\r\n\t\tdeep = false;\r\n\r\n\t// Handle a deep copy situation\r\n\tif ( typeof target === \"boolean\" ) {\r\n\t\tdeep = target;\r\n\r\n\t\t// Skip the boolean and the target\r\n\t\ttarget = arguments[ i ] || {};\r\n\t\ti++;\r\n\t}\r\n\r\n\t// Handle case when target is a string or something (possible in deep copy)\r\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\r\n\t\ttarget = {};\r\n\t}\r\n\r\n\t// Extend jQuery itself if only one argument is passed\r\n\tif ( i === length ) {\r\n\t\ttarget = this;\r\n\t\ti--;\r\n\t}\r\n\r\n\tfor ( ; i < length; i++ ) {\r\n\r\n\t\t// Only deal with non-null/undefined values\r\n\t\tif ( ( options = arguments[ i ] ) != null ) {\r\n\r\n\t\t\t// Extend the base object\r\n\t\t\tfor ( name in options ) {\r\n\t\t\t\tcopy = options[ name ];\r\n\r\n\t\t\t\t// Prevent Object.prototype pollution\r\n\t\t\t\t// Prevent never-ending loop\r\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Recurse if we're merging plain objects or arrays\r\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\r\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\r\n\t\t\t\t\tsrc = target[ name ];\r\n\r\n\t\t\t\t\t// Ensure proper type for the source value\r\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\r\n\t\t\t\t\t\tclone = [];\r\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\r\n\t\t\t\t\t\tclone = {};\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tclone = src;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcopyIsArray = false;\r\n\r\n\t\t\t\t\t// Never move original objects, clone them\r\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\r\n\r\n\t\t\t\t// Don't bring in undefined values\r\n\t\t\t\t} else if ( copy !== undefined ) {\r\n\t\t\t\t\ttarget[ name ] = copy;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the modified object\r\n\treturn target;\r\n};\r\n\r\njQuery.extend( {\r\n\r\n\t// Unique for each copy of jQuery on the page\r\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\r\n\r\n\t// Assume jQuery is ready without the ready module\r\n\tisReady: true,\r\n\r\n\terror: function( msg ) {\r\n\t\tthrow new Error( msg );\r\n\t},\r\n\r\n\tnoop: function() {},\r\n\r\n\tisPlainObject: function( obj ) {\r\n\t\tvar proto, Ctor;\r\n\r\n\t\t// Detect obvious negatives\r\n\t\t// Use toString instead of jQuery.type to catch host objects\r\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tproto = getProto( obj );\r\n\r\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\r\n\t\tif ( !proto ) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\r\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\r\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\r\n\t},\r\n\r\n\tisEmptyObject: function( obj ) {\r\n\t\tvar name;\r\n\r\n\t\tfor ( name in obj ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\r\n\t// Evaluates a script in a provided context; falls back to the global one\r\n\t// if not specified.\r\n\tglobalEval: function( code, options, doc ) {\r\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\r\n\t},\r\n\r\n\teach: function( obj, callback ) {\r\n\t\tvar length, i = 0;\r\n\r\n\t\tif ( isArrayLike( obj ) ) {\r\n\t\t\tlength = obj.length;\r\n\t\t\tfor ( ; i < length; i++ ) {\r\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor ( i in obj ) {\r\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn obj;\r\n\t},\r\n\r\n\r\n\t// Retrieve the text value of an array of DOM nodes\r\n\ttext: function( elem ) {\r\n\t\tvar node,\r\n\t\t\tret = \"\",\r\n\t\t\ti = 0,\r\n\t\t\tnodeType = elem.nodeType;\r\n\r\n\t\tif ( !nodeType ) {\r\n\r\n\t\t\t// If no nodeType, this is expected to be an array\r\n\t\t\twhile ( ( node = elem[ i++ ] ) ) {\r\n\r\n\t\t\t\t// Do not traverse comment nodes\r\n\t\t\t\tret += jQuery.text( node );\r\n\t\t\t}\r\n\t\t}\r\n\t\tif ( nodeType === 1 || nodeType === 11 ) {\r\n\t\t\treturn elem.textContent;\r\n\t\t}\r\n\t\tif ( nodeType === 9 ) {\r\n\t\t\treturn elem.documentElement.textContent;\r\n\t\t}\r\n\t\tif ( nodeType === 3 || nodeType === 4 ) {\r\n\t\t\treturn elem.nodeValue;\r\n\t\t}\r\n\r\n\t\t// Do not include comment or processing instruction nodes\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\t// results is for internal usage only\r\n\tmakeArray: function( arr, results ) {\r\n\t\tvar ret = results || [];\r\n\r\n\t\tif ( arr != null ) {\r\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\r\n\t\t\t\tjQuery.merge( ret,\r\n\t\t\t\t\ttypeof arr === \"string\" ?\r\n\t\t\t\t\t\t[ arr ] : arr\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tpush.call( ret, arr );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\tinArray: function( elem, arr, i ) {\r\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\r\n\t},\r\n\r\n\tisXMLDoc: function( elem ) {\r\n\t\tvar namespace = elem && elem.namespaceURI,\r\n\t\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\r\n\r\n\t\t// Assume HTML when documentElement doesn't yet exist, such as inside\r\n\t\t// document fragments.\r\n\t\treturn !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || \"HTML\" );\r\n\t},\r\n\r\n\t// Support: Android <=4.0 only, PhantomJS 1 only\r\n\t// push.apply(_, arraylike) throws on ancient WebKit\r\n\tmerge: function( first, second ) {\r\n\t\tvar len = +second.length,\r\n\t\t\tj = 0,\r\n\t\t\ti = first.length;\r\n\r\n\t\tfor ( ; j < len; j++ ) {\r\n\t\t\tfirst[ i++ ] = second[ j ];\r\n\t\t}\r\n\r\n\t\tfirst.length = i;\r\n\r\n\t\treturn first;\r\n\t},\r\n\r\n\tgrep: function( elems, callback, invert ) {\r\n\t\tvar callbackInverse,\r\n\t\t\tmatches = [],\r\n\t\t\ti = 0,\r\n\t\t\tlength = elems.length,\r\n\t\t\tcallbackExpect = !invert;\r\n\r\n\t\t// Go through the array, only saving the items\r\n\t\t// that pass the validator function\r\n\t\tfor ( ; i < length; i++ ) {\r\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\r\n\t\t\tif ( callbackInverse !== callbackExpect ) {\r\n\t\t\t\tmatches.push( elems[ i ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn matches;\r\n\t},\r\n\r\n\t// arg is for internal usage only\r\n\tmap: function( elems, callback, arg ) {\r\n\t\tvar length, value,\r\n\t\t\ti = 0,\r\n\t\t\tret = [];\r\n\r\n\t\t// Go through the array, translating each of the items to their new values\r\n\t\tif ( isArrayLike( elems ) ) {\r\n\t\t\tlength = elems.length;\r\n\t\t\tfor ( ; i < length; i++ ) {\r\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\r\n\r\n\t\t\t\tif ( value != null ) {\r\n\t\t\t\t\tret.push( value );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t// Go through every key on the object,\r\n\t\t} else {\r\n\t\t\tfor ( i in elems ) {\r\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\r\n\r\n\t\t\t\tif ( value != null ) {\r\n\t\t\t\t\tret.push( value );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Flatten any nested arrays\r\n\t\treturn flat( ret );\r\n\t},\r\n\r\n\t// A global GUID counter for objects\r\n\tguid: 1,\r\n\r\n\t// jQuery.support is not used in Core but other projects attach their\r\n\t// properties to it so it needs to exist.\r\n\tsupport: support\r\n} );\r\n\r\nif ( typeof Symbol === \"function\" ) {\r\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\r\n}\r\n\r\n// Populate the class2type map\r\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\r\n\tfunction( _i, name ) {\r\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\r\n\t} );\r\n\r\nfunction isArrayLike( obj ) {\r\n\r\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\r\n\t// `in` check used to prevent JIT error (gh-2145)\r\n\t// hasOwn isn't used here due to false negatives\r\n\t// regarding Nodelist length in IE\r\n\tvar length = !!obj && \"length\" in obj && obj.length,\r\n\t\ttype = toType( obj );\r\n\r\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn type === \"array\" || length === 0 ||\r\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\r\n}\r\n\r\n\r\nfunction nodeName( elem, name ) {\r\n\r\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\r\n\r\n}\r\nvar pop = arr.pop;\r\n\r\n\r\nvar sort = arr.sort;\r\n\r\n\r\nvar splice = arr.splice;\r\n\r\n\r\nvar whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\r\n\r\n\r\nvar rtrimCSS = new RegExp(\r\n\t\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\",\r\n\t\"g\"\r\n);\r\n\r\n\r\n\r\n\r\n// Note: an element does not contain itself\r\njQuery.contains = function( a, b ) {\r\n\tvar bup = b && b.parentNode;\r\n\r\n\treturn a === bup || !!( bup && bup.nodeType === 1 && (\r\n\r\n\t\t// Support: IE 9 - 11+\r\n\t\t// IE doesn't have `contains` on SVG.\r\n\t\ta.contains ?\r\n\t\t\ta.contains( bup ) :\r\n\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\r\n\t) );\r\n};\r\n\r\n\r\n\r\n\r\n// CSS string/identifier serialization\r\n// https://drafts.csswg.org/cssom/#common-serializing-idioms\r\nvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\r\n\r\nfunction fcssescape( ch, asCodePoint ) {\r\n\tif ( asCodePoint ) {\r\n\r\n\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\r\n\t\tif ( ch === \"\\0\" ) {\r\n\t\t\treturn \"\\uFFFD\";\r\n\t\t}\r\n\r\n\t\t// Control characters and (dependent upon position) numbers get escaped as code points\r\n\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\r\n\t}\r\n\r\n\t// Other potentially-special ASCII characters get backslash-escaped\r\n\treturn \"\\\\\" + ch;\r\n}\r\n\r\njQuery.escapeSelector = function( sel ) {\r\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\r\n};\r\n\r\n\r\n\r\n\r\nvar preferredDoc = document,\r\n\tpushNative = push;\r\n\r\n( function() {\r\n\r\nvar i,\r\n\tExpr,\r\n\toutermostContext,\r\n\tsortInput,\r\n\thasDuplicate,\r\n\tpush = pushNative,\r\n\r\n\t// Local document vars\r\n\tdocument,\r\n\tdocumentElement,\r\n\tdocumentIsHTML,\r\n\trbuggyQSA,\r\n\tmatches,\r\n\r\n\t// Instance-specific data\r\n\texpando = jQuery.expando,\r\n\tdirruns = 0,\r\n\tdone = 0,\r\n\tclassCache = createCache(),\r\n\ttokenCache = createCache(),\r\n\tcompilerCache = createCache(),\r\n\tnonnativeSelectorCache = createCache(),\r\n\tsortOrder = function( a, b ) {\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|\" +\r\n\t\t\"loop|multiple|open|readonly|required|scoped\",\r\n\r\n\t// Regular expressions\r\n\r\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\r\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\r\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\r\n\r\n\t// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\r\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\r\n\r\n\t\t// Operator (capture 2)\r\n\t\t\"*([*^$|!~]?=)\" + whitespace +\r\n\r\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\r\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\r\n\t\twhitespace + \"*\\\\]\",\r\n\r\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\r\n\r\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\r\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\r\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\r\n\r\n\t\t// 2. simple (capture 6)\r\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\r\n\r\n\t\t// 3. anything else (capture 2)\r\n\t\t\".*\" +\r\n\t\t\")\\\\)|)\",\r\n\r\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\r\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\r\n\r\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\r\n\trleadingCombinator = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" +\r\n\t\twhitespace + \"*\" ),\r\n\trdescend = new RegExp( whitespace + \"|>\" ),\r\n\r\n\trpseudo = new RegExp( pseudos ),\r\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\r\n\r\n\tmatchExpr = {\r\n\t\tID: new RegExp( \"^#(\" + identifier + \")\" ),\r\n\t\tCLASS: new RegExp( \"^\\\\.(\" + identifier + \")\" ),\r\n\t\tTAG: new RegExp( \"^(\" + identifier + \"|[*])\" ),\r\n\t\tATTR: new RegExp( \"^\" + attributes ),\r\n\t\tPSEUDO: new RegExp( \"^\" + pseudos ),\r\n\t\tCHILD: new RegExp(\r\n\t\t\t\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\r\n\t\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\r\n\t\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\r\n\t\tbool: new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\r\n\r\n\t\t// For use in libraries implementing .is()\r\n\t\t// We use this for POS matching in `select`\r\n\t\tneedsContext: new RegExp( \"^\" + whitespace +\r\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\r\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\r\n\t},\r\n\r\n\trinputs = /^(?:input|select|textarea|button)$/i,\r\n\trheader = /^h\\d$/i,\r\n\r\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\r\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\r\n\r\n\trsibling = /[+~]/,\r\n\r\n\t// CSS escapes\r\n\t// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\r\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\r\n\t\t\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\r\n\tfunescape = function( escape, nonHex ) {\r\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\r\n\r\n\t\tif ( nonHex ) {\r\n\r\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\r\n\t\t\treturn nonHex;\r\n\t\t}\r\n\r\n\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\r\n\t\t// Support: IE <=11+\r\n\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\r\n\t\t// surrogate pair\r\n\t\treturn high < 0 ?\r\n\t\t\tString.fromCharCode( high + 0x10000 ) :\r\n\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\r\n\t},\r\n\r\n\t// Used for iframes; see `setDocument`.\r\n\t// Support: IE 9 - 11+, Edge 12 - 18+\r\n\t// Removing the function wrapper causes a \"Permission Denied\"\r\n\t// error in IE/Edge.\r\n\tunloadHandler = function() {\r\n\t\tsetDocument();\r\n\t},\r\n\r\n\tinDisabledFieldset = addCombinator(\r\n\t\tfunction( elem ) {\r\n\t\t\treturn elem.disabled === true && nodeName( elem, \"fieldset\" );\r\n\t\t},\r\n\t\t{ dir: \"parentNode\", next: \"legend\" }\r\n\t);\r\n\r\n// Support: IE <=9 only\r\n// Accessing document.activeElement can throw unexpectedly\r\n// https://bugs.jquery.com/ticket/13393\r\nfunction safeActiveElement() {\r\n\ttry {\r\n\t\treturn document.activeElement;\r\n\t} catch ( err ) { }\r\n}\r\n\r\n// Optimize for push.apply( _, NodeList )\r\ntry {\r\n\tpush.apply(\r\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\r\n\t\tpreferredDoc.childNodes\r\n\t);\r\n\r\n\t// Support: Android <=4.0\r\n\t// Detect silently failing push.apply\r\n\t// eslint-disable-next-line no-unused-expressions\r\n\tarr[ preferredDoc.childNodes.length ].nodeType;\r\n} catch ( e ) {\r\n\tpush = {\r\n\t\tapply: function( target, els ) {\r\n\t\t\tpushNative.apply( target, slice.call( els ) );\r\n\t\t},\r\n\t\tcall: function( target ) {\r\n\t\t\tpushNative.apply( target, slice.call( arguments, 1 ) );\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction find( selector, context, results, seed ) {\r\n\tvar m, i, elem, nid, match, groups, newSelector,\r\n\t\tnewContext = context && context.ownerDocument,\r\n\r\n\t\t// nodeType defaults to 9, since context defaults to document\r\n\t\tnodeType = context ? context.nodeType : 9;\r\n\r\n\tresults = results || [];\r\n\r\n\t// Return early from calls with invalid selector or context\r\n\tif ( typeof selector !== \"string\" || !selector ||\r\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\r\n\r\n\t\treturn results;\r\n\t}\r\n\r\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\r\n\tif ( !seed ) {\r\n\t\tsetDocument( context );\r\n\t\tcontext = context || document;\r\n\r\n\t\tif ( documentIsHTML ) {\r\n\r\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\r\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\r\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\r\n\r\n\t\t\t\t// ID selector\r\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\r\n\r\n\t\t\t\t\t// Document context\r\n\t\t\t\t\tif ( nodeType === 9 ) {\r\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\r\n\r\n\t\t\t\t\t\t\t// Support: IE 9 only\r\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\r\n\t\t\t\t\t\t\tif ( elem.id === m ) {\r\n\t\t\t\t\t\t\t\tpush.call( results, elem );\r\n\t\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Element context\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t// Support: IE 9 only\r\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\r\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\r\n\t\t\t\t\t\t\tfind.contains( context, elem ) &&\r\n\t\t\t\t\t\t\telem.id === m ) {\r\n\r\n\t\t\t\t\t\t\tpush.call( results, elem );\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t// Type selector\r\n\t\t\t\t} else if ( match[ 2 ] ) {\r\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\r\n\t\t\t\t\treturn results;\r\n\r\n\t\t\t\t// Class selector\r\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {\r\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\r\n\t\t\t\t\treturn results;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Take advantage of querySelectorAll\r\n\t\t\tif ( !nonnativeSelectorCache[ selector + \" \" ] &&\r\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {\r\n\r\n\t\t\t\tnewSelector = selector;\r\n\t\t\t\tnewContext = context;\r\n\r\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\r\n\t\t\t\t// descendant combinators, which is not what we want.\r\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\r\n\t\t\t\t// list with an ID selector referencing the scope context.\r\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\r\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\r\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\r\n\t\t\t\tif ( nodeType === 1 &&\r\n\t\t\t\t\t( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {\r\n\r\n\t\t\t\t\t// Expand context for sibling selectors\r\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\r\n\t\t\t\t\t\tcontext;\r\n\r\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\r\n\t\t\t\t\t// supports it & if we're not changing the context.\r\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when\r\n\t\t\t\t\t// strict-comparing two documents; shallow comparisons work.\r\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\t\tif ( newContext != context || !support.scope ) {\r\n\r\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\r\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\r\n\t\t\t\t\t\t\tnid = jQuery.escapeSelector( nid );\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Prefix every selector in the list\r\n\t\t\t\t\tgroups = tokenize( selector );\r\n\t\t\t\t\ti = groups.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\r\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewSelector = groups.join( \",\" );\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tpush.apply( results,\r\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\r\n\t\t\t\t\t);\r\n\t\t\t\t\treturn results;\r\n\t\t\t\t} catch ( qsaError ) {\r\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tif ( nid === expando ) {\r\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// All others\r\n\treturn select( selector.replace( rtrimCSS, \"$1\" ), context, results, seed );\r\n}\r\n\r\n/**\r\n * Create key-value caches of limited size\r\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\r\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\r\n *\tdeleting the oldest entry\r\n */\r\nfunction createCache() {\r\n\tvar keys = [];\r\n\r\n\tfunction cache( key, value ) {\r\n\r\n\t\t// Use (key + \" \") to avoid collision with native prototype properties\r\n\t\t// (see https://github.com/jquery/sizzle/issues/157)\r\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\r\n\r\n\t\t\t// Only keep the most recent entries\r\n\t\t\tdelete cache[ keys.shift() ];\r\n\t\t}\r\n\t\treturn ( cache[ key + \" \" ] = value );\r\n\t}\r\n\treturn cache;\r\n}\r\n\r\n/**\r\n * Mark a function for special use by jQuery selector module\r\n * @param {Function} fn The function to mark\r\n */\r\nfunction markFunction( fn ) {\r\n\tfn[ expando ] = true;\r\n\treturn fn;\r\n}\r\n\r\n/**\r\n * Support testing using an element\r\n * @param {Function} fn Passed the created element and returns a boolean result\r\n */\r\nfunction assert( fn ) {\r\n\tvar el = document.createElement( \"fieldset\" );\r\n\r\n\ttry {\r\n\t\treturn !!fn( el );\r\n\t} catch ( e ) {\r\n\t\treturn false;\r\n\t} finally {\r\n\r\n\t\t// Remove from its parent by default\r\n\t\tif ( el.parentNode ) {\r\n\t\t\tel.parentNode.removeChild( el );\r\n\t\t}\r\n\r\n\t\t// release memory in IE\r\n\t\tel = null;\r\n\t}\r\n}\r\n\r\n/**\r\n * Returns a function to use in pseudos for input types\r\n * @param {String} type\r\n */\r\nfunction createInputPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\treturn nodeName( elem, \"input\" ) && elem.type === type;\r\n\t};\r\n}\r\n\r\n/**\r\n * Returns a function to use in pseudos for buttons\r\n * @param {String} type\r\n */\r\nfunction createButtonPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\treturn ( nodeName( elem, \"input\" ) || nodeName( elem, \"button\" ) ) &&\r\n\t\t\telem.type === type;\r\n\t};\r\n}\r\n\r\n/**\r\n * Returns a function to use in pseudos for :enabled/:disabled\r\n * @param {Boolean} disabled true for :disabled; false for :enabled\r\n */\r\nfunction createDisabledPseudo( disabled ) {\r\n\r\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\r\n\treturn function( elem ) {\r\n\r\n\t\t// Only certain elements can match :enabled or :disabled\r\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\r\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\r\n\t\tif ( \"form\" in elem ) {\r\n\r\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\r\n\t\t\t// * listed form-associated elements in a disabled fieldset\r\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\r\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\r\n\t\t\t// * option elements in a disabled optgroup\r\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\r\n\t\t\t// All such elements have a \"form\" property.\r\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\r\n\r\n\t\t\t\t// Option elements defer to a parent optgroup if present\r\n\t\t\t\tif ( \"label\" in elem ) {\r\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\r\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn elem.disabled === disabled;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Support: IE 6 - 11+\r\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\r\n\t\t\t\treturn elem.isDisabled === disabled ||\r\n\r\n\t\t\t\t\t// Where there is no isDisabled, check manually\r\n\t\t\t\t\telem.isDisabled !== !disabled &&\r\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\r\n\t\t\t}\r\n\r\n\t\t\treturn elem.disabled === disabled;\r\n\r\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\r\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\r\n\t\t// even exist on them, let alone have a boolean value.\r\n\t\t} else if ( \"label\" in elem ) {\r\n\t\t\treturn elem.disabled === disabled;\r\n\t\t}\r\n\r\n\t\t// Remaining elements are neither :enabled nor :disabled\r\n\t\treturn false;\r\n\t};\r\n}\r\n\r\n/**\r\n * Returns a function to use in pseudos for positionals\r\n * @param {Function} fn\r\n */\r\nfunction createPositionalPseudo( fn ) {\r\n\treturn markFunction( function( argument ) {\r\n\t\targument = +argument;\r\n\t\treturn markFunction( function( seed, matches ) {\r\n\t\t\tvar j,\r\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\r\n\t\t\t\ti = matchIndexes.length;\r\n\r\n\t\t\t// Match elements found at the specified indexes\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\r\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} );\r\n\t} );\r\n}\r\n\r\n/**\r\n * Checks a node for validity as a jQuery selector context\r\n * @param {Element|Object=} context\r\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\r\n */\r\nfunction testContext( context ) {\r\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\r\n}\r\n\r\n/**\r\n * Sets document-related variables once based on the current document\r\n * @param {Element|Object} [node] An element or document object to use to set the document\r\n * @returns {Object} Returns the current document\r\n */\r\nfunction setDocument( node ) {\r\n\tvar subWindow,\r\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\r\n\r\n\t// Return early if doc is invalid or already selected\r\n\t// Support: IE 11+, Edge 17 - 18+\r\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t// two documents; shallow comparisons work.\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\r\n\t\treturn document;\r\n\t}\r\n\r\n\t// Update global variables\r\n\tdocument = doc;\r\n\tdocumentElement = document.documentElement;\r\n\tdocumentIsHTML = !jQuery.isXMLDoc( document );\r\n\r\n\t// Support: iOS 7 only, IE 9 - 11+\r\n\t// Older browsers didn't support unprefixed `matches`.\r\n\tmatches = documentElement.matches ||\r\n\t\tdocumentElement.webkitMatchesSelector ||\r\n\t\tdocumentElement.msMatchesSelector;\r\n\r\n\t// Support: IE 9 - 11+, Edge 12 - 18+\r\n\t// Accessing iframe documents after unload throws \"permission denied\" errors\r\n\t// (see trac-13936).\r\n\t// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\r\n\t// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\r\n\tif ( documentElement.msMatchesSelector &&\r\n\r\n\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t// two documents; shallow comparisons work.\r\n\t\t// eslint-disable-next-line eqeqeq\r\n\t\tpreferredDoc != document &&\r\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\r\n\r\n\t\t// Support: IE 9 - 11+, Edge 12 - 18+\r\n\t\tsubWindow.addEventListener( \"unload\", unloadHandler );\r\n\t}\r\n\r\n\t// Support: IE <10\r\n\t// Check if getElementById returns elements by name\r\n\t// The broken getElementById methods don't pick up programmatically-set names,\r\n\t// so use a roundabout getElementsByName test\r\n\tsupport.getById = assert( function( el ) {\r\n\t\tdocumentElement.appendChild( el ).id = jQuery.expando;\r\n\t\treturn !document.getElementsByName ||\r\n\t\t\t!document.getElementsByName( jQuery.expando ).length;\r\n\t} );\r\n\r\n\t// Support: IE 9 only\r\n\t// Check to see if it's possible to do matchesSelector\r\n\t// on a disconnected node.\r\n\tsupport.disconnectedMatch = assert( function( el ) {\r\n\t\treturn matches.call( el, \"*\" );\r\n\t} );\r\n\r\n\t// Support: IE 9 - 11+, Edge 12 - 18+\r\n\t// IE/Edge don't support the :scope pseudo-class.\r\n\tsupport.scope = assert( function() {\r\n\t\treturn document.querySelectorAll( \":scope\" );\r\n\t} );\r\n\r\n\t// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\r\n\t// Make sure the `:has()` argument is parsed unforgivingly.\r\n\t// We include `*` in the test to detect buggy implementations that are\r\n\t// _selectively_ forgiving (specifically when the list includes at least\r\n\t// one valid selector).\r\n\t// Note that we treat complete lack of support for `:has()` as if it were\r\n\t// spec-compliant support, which is fine because use of `:has()` in such\r\n\t// environments will fail in the qSA path and fall back to jQuery traversal\r\n\t// anyway.\r\n\tsupport.cssHas = assert( function() {\r\n\t\ttry {\r\n\t\t\tdocument.querySelector( \":has(*,:jqfake)\" );\r\n\t\t\treturn false;\r\n\t\t} catch ( e ) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t} );\r\n\r\n\t// ID filter and find\r\n\tif ( support.getById ) {\r\n\t\tExpr.filter.ID = function( id ) {\r\n\t\t\tvar attrId = id.replace( runescape, funescape );\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\r\n\t\t\t};\r\n\t\t};\r\n\t\tExpr.find.ID = function( id, context ) {\r\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\r\n\t\t\t\tvar elem = context.getElementById( id );\r\n\t\t\t\treturn elem ? [ elem ] : [];\r\n\t\t\t}\r\n\t\t};\r\n\t} else {\r\n\t\tExpr.filter.ID = function( id ) {\r\n\t\t\tvar attrId = id.replace( runescape, funescape );\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\r\n\t\t\t\t\telem.getAttributeNode( \"id\" );\r\n\t\t\t\treturn node && node.value === attrId;\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\t// Support: IE 6 - 7 only\r\n\t\t// getElementById is not reliable as a find shortcut\r\n\t\tExpr.find.ID = function( id, context ) {\r\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\r\n\t\t\t\tvar node, i, elems,\r\n\t\t\t\t\telem = context.getElementById( id );\r\n\r\n\t\t\t\tif ( elem ) {\r\n\r\n\t\t\t\t\t// Verify the id attribute\r\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\r\n\t\t\t\t\tif ( node && node.value === id ) {\r\n\t\t\t\t\t\treturn [ elem ];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Fall back on getElementsByName\r\n\t\t\t\t\telems = context.getElementsByName( id );\r\n\t\t\t\t\ti = 0;\r\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\r\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\r\n\t\t\t\t\t\tif ( node && node.value === id ) {\r\n\t\t\t\t\t\t\treturn [ elem ];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\t// Tag\r\n\tExpr.find.TAG = function( tag, context ) {\r\n\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\r\n\t\t\treturn context.getElementsByTagName( tag );\r\n\r\n\t\t// DocumentFragment nodes don't have gEBTN\r\n\t\t} else {\r\n\t\t\treturn context.querySelectorAll( tag );\r\n\t\t}\r\n\t};\r\n\r\n\t// Class\r\n\tExpr.find.CLASS = function( className, context ) {\r\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\r\n\t\t\treturn context.getElementsByClassName( className );\r\n\t\t}\r\n\t};\r\n\r\n\t/* QSA/matchesSelector\r\n\t---------------------------------------------------------------------- */\r\n\r\n\t// QSA and matchesSelector support\r\n\r\n\trbuggyQSA = [];\r\n\r\n\t// Build QSA regex\r\n\t// Regex strategy adopted from Diego Perini\r\n\tassert( function( el ) {\r\n\r\n\t\tvar input;\r\n\r\n\t\tdocumentElement.appendChild( el ).innerHTML =\r\n\t\t\t\"\" +\r\n\t\t\t\"\";\r\n\r\n\t\t// Support: iOS <=7 - 8 only\r\n\t\t// Boolean attributes and \"value\" are not treated correctly in some XML documents\r\n\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\r\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\r\n\t\t}\r\n\r\n\t\t// Support: iOS <=7 - 8 only\r\n\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\r\n\t\t\trbuggyQSA.push( \"~=\" );\r\n\t\t}\r\n\r\n\t\t// Support: iOS 8 only\r\n\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\r\n\t\t// In-page `selector#id sibling-combinator selector` fails\r\n\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\r\n\t\t\trbuggyQSA.push( \".#.+[+~]\" );\r\n\t\t}\r\n\r\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\r\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\r\n\t\t// This is probably OK but for backwards compatibility we want to maintain\r\n\t\t// handling them through jQuery traversal in jQuery 3.x.\r\n\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\r\n\t\t\trbuggyQSA.push( \":checked\" );\r\n\t\t}\r\n\r\n\t\t// Support: Windows 8 Native Apps\r\n\t\t// The type and name attributes are restricted during .innerHTML assignment\r\n\t\tinput = document.createElement( \"input\" );\r\n\t\tinput.setAttribute( \"type\", \"hidden\" );\r\n\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\r\n\r\n\t\t// Support: IE 9 - 11+\r\n\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\r\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\r\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\r\n\t\t// This is probably OK but for backwards compatibility we want to maintain\r\n\t\t// handling them through jQuery traversal in jQuery 3.x.\r\n\t\tdocumentElement.appendChild( el ).disabled = true;\r\n\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\r\n\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\r\n\t\t}\r\n\r\n\t\t// Support: IE 11+, Edge 15 - 18+\r\n\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\r\n\t\t// Adding a temporary attribute to the document before the selection works\r\n\t\t// around the issue.\r\n\t\t// Interestingly, IE 10 & older don't seem to have the issue.\r\n\t\tinput = document.createElement( \"input\" );\r\n\t\tinput.setAttribute( \"name\", \"\" );\r\n\t\tel.appendChild( input );\r\n\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\r\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\r\n\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\r\n\t\t}\r\n\t} );\r\n\r\n\tif ( !support.cssHas ) {\r\n\r\n\t\t// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\r\n\t\t// Our regular `try-catch` mechanism fails to detect natively-unsupported\r\n\t\t// pseudo-classes inside `:has()` (such as `:has(:contains(\"Foo\"))`)\r\n\t\t// in browsers that parse the `:has()` argument as a forgiving selector list.\r\n\t\t// https://drafts.csswg.org/selectors/#relational now requires the argument\r\n\t\t// to be parsed unforgivingly, but browsers have not yet fully adjusted.\r\n\t\trbuggyQSA.push( \":has\" );\r\n\t}\r\n\r\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\r\n\r\n\t/* Sorting\r\n\t---------------------------------------------------------------------- */\r\n\r\n\t// Document order sorting\r\n\tsortOrder = function( a, b ) {\r\n\r\n\t\t// Flag for duplicate removal\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Sort on method existence if only one input has compareDocumentPosition\r\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\r\n\t\tif ( compare ) {\r\n\t\t\treturn compare;\r\n\t\t}\r\n\r\n\t\t// Calculate position if both inputs belong to the same document\r\n\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t// two documents; shallow comparisons work.\r\n\t\t// eslint-disable-next-line eqeqeq\r\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\r\n\t\t\ta.compareDocumentPosition( b ) :\r\n\r\n\t\t\t// Otherwise we know they are disconnected\r\n\t\t\t1;\r\n\r\n\t\t// Disconnected nodes\r\n\t\tif ( compare & 1 ||\r\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\r\n\r\n\t\t\t// Choose the first element that is related to our preferred document\r\n\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t\t// two documents; shallow comparisons work.\r\n\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\tif ( a === document || a.ownerDocument == preferredDoc &&\r\n\t\t\t\tfind.contains( preferredDoc, a ) ) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\r\n\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t\t// two documents; shallow comparisons work.\r\n\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\tif ( b === document || b.ownerDocument == preferredDoc &&\r\n\t\t\t\tfind.contains( preferredDoc, b ) ) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\r\n\t\t\t// Maintain original order\r\n\t\t\treturn sortInput ?\r\n\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\r\n\t\t\t\t0;\r\n\t\t}\r\n\r\n\t\treturn compare & 4 ? -1 : 1;\r\n\t};\r\n\r\n\treturn document;\r\n}\r\n\r\nfind.matches = function( expr, elements ) {\r\n\treturn find( expr, null, null, elements );\r\n};\r\n\r\nfind.matchesSelector = function( elem, expr ) {\r\n\tsetDocument( elem );\r\n\r\n\tif ( documentIsHTML &&\r\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\r\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\r\n\r\n\t\ttry {\r\n\t\t\tvar ret = matches.call( elem, expr );\r\n\r\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\r\n\t\t\tif ( ret || support.disconnectedMatch ||\r\n\r\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\r\n\t\t\t\t\t// fragment in IE 9\r\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\t\t} catch ( e ) {\r\n\t\t\tnonnativeSelectorCache( expr, true );\r\n\t\t}\r\n\t}\r\n\r\n\treturn find( expr, document, null, [ elem ] ).length > 0;\r\n};\r\n\r\nfind.contains = function( context, elem ) {\r\n\r\n\t// Set document vars if needed\r\n\t// Support: IE 11+, Edge 17 - 18+\r\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t// two documents; shallow comparisons work.\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif ( ( context.ownerDocument || context ) != document ) {\r\n\t\tsetDocument( context );\r\n\t}\r\n\treturn jQuery.contains( context, elem );\r\n};\r\n\r\n\r\nfind.attr = function( elem, name ) {\r\n\r\n\t// Set document vars if needed\r\n\t// Support: IE 11+, Edge 17 - 18+\r\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t// two documents; shallow comparisons work.\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif ( ( elem.ownerDocument || elem ) != document ) {\r\n\t\tsetDocument( elem );\r\n\t}\r\n\r\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\r\n\r\n\t\t// Don't get fooled by Object.prototype properties (see trac-13807)\r\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\r\n\t\t\tfn( elem, name, !documentIsHTML ) :\r\n\t\t\tundefined;\r\n\r\n\tif ( val !== undefined ) {\r\n\t\treturn val;\r\n\t}\r\n\r\n\treturn elem.getAttribute( name );\r\n};\r\n\r\nfind.error = function( msg ) {\r\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\r\n};\r\n\r\n/**\r\n * Document sorting and removing duplicates\r\n * @param {ArrayLike} results\r\n */\r\njQuery.uniqueSort = function( results ) {\r\n\tvar elem,\r\n\t\tduplicates = [],\r\n\t\tj = 0,\r\n\t\ti = 0;\r\n\r\n\t// Unless we *know* we can detect duplicates, assume their presence\r\n\t//\r\n\t// Support: Android <=4.0+\r\n\t// Testing for detecting duplicates is unpredictable so instead assume we can't\r\n\t// depend on duplicate detection in all browsers without a stable sort.\r\n\thasDuplicate = !support.sortStable;\r\n\tsortInput = !support.sortStable && slice.call( results, 0 );\r\n\tsort.call( results, sortOrder );\r\n\r\n\tif ( hasDuplicate ) {\r\n\t\twhile ( ( elem = results[ i++ ] ) ) {\r\n\t\t\tif ( elem === results[ i ] ) {\r\n\t\t\t\tj = duplicates.push( i );\r\n\t\t\t}\r\n\t\t}\r\n\t\twhile ( j-- ) {\r\n\t\t\tsplice.call( results, duplicates[ j ], 1 );\r\n\t\t}\r\n\t}\r\n\r\n\t// Clear input after sorting to release objects\r\n\t// See https://github.com/jquery/sizzle/pull/225\r\n\tsortInput = null;\r\n\r\n\treturn results;\r\n};\r\n\r\njQuery.fn.uniqueSort = function() {\r\n\treturn this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );\r\n};\r\n\r\nExpr = jQuery.expr = {\r\n\r\n\t// Can be adjusted by the user\r\n\tcacheLength: 50,\r\n\r\n\tcreatePseudo: markFunction,\r\n\r\n\tmatch: matchExpr,\r\n\r\n\tattrHandle: {},\r\n\r\n\tfind: {},\r\n\r\n\trelative: {\r\n\t\t\">\": { dir: \"parentNode\", first: true },\r\n\t\t\" \": { dir: \"parentNode\" },\r\n\t\t\"+\": { dir: \"previousSibling\", first: true },\r\n\t\t\"~\": { dir: \"previousSibling\" }\r\n\t},\r\n\r\n\tpreFilter: {\r\n\t\tATTR: function( match ) {\r\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\r\n\r\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\r\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || \"\" )\r\n\t\t\t\t.replace( runescape, funescape );\r\n\r\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\r\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\r\n\t\t\t}\r\n\r\n\t\t\treturn match.slice( 0, 4 );\r\n\t\t},\r\n\r\n\t\tCHILD: function( match ) {\r\n\r\n\t\t\t/* matches from matchExpr[\"CHILD\"]\r\n\t\t\t\t1 type (only|nth|...)\r\n\t\t\t\t2 what (child|of-type)\r\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\r\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\r\n\t\t\t\t5 sign of xn-component\r\n\t\t\t\t6 x of xn-component\r\n\t\t\t\t7 sign of y-component\r\n\t\t\t\t8 y of y-component\r\n\t\t\t*/\r\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\r\n\r\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\r\n\r\n\t\t\t\t// nth-* requires argument\r\n\t\t\t\tif ( !match[ 3 ] ) {\r\n\t\t\t\t\tfind.error( match[ 0 ] );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\r\n\t\t\t\t// remember that false/true cast respectively to 0/1\r\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\r\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\r\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" )\r\n\t\t\t\t);\r\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\r\n\r\n\t\t\t// other types prohibit arguments\r\n\t\t\t} else if ( match[ 3 ] ) {\r\n\t\t\t\tfind.error( match[ 0 ] );\r\n\t\t\t}\r\n\r\n\t\t\treturn match;\r\n\t\t},\r\n\r\n\t\tPSEUDO: function( match ) {\r\n\t\t\tvar excess,\r\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\r\n\r\n\t\t\tif ( matchExpr.CHILD.test( match[ 0 ] ) ) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\t// Accept quoted arguments as-is\r\n\t\t\tif ( match[ 3 ] ) {\r\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\r\n\r\n\t\t\t// Strip excess characters from unquoted arguments\r\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\r\n\r\n\t\t\t\t// Get excess from tokenize (recursively)\r\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\r\n\r\n\t\t\t\t// advance to the next closing parenthesis\r\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\r\n\r\n\t\t\t\t// excess is a negative index\r\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\r\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\r\n\t\t\t}\r\n\r\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\r\n\t\t\treturn match.slice( 0, 3 );\r\n\t\t}\r\n\t},\r\n\r\n\tfilter: {\r\n\r\n\t\tTAG: function( nodeNameSelector ) {\r\n\t\t\tvar expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\r\n\t\t\treturn nodeNameSelector === \"*\" ?\r\n\t\t\t\tfunction() {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t} :\r\n\t\t\t\tfunction( elem ) {\r\n\t\t\t\t\treturn nodeName( elem, expectedNodeName );\r\n\t\t\t\t};\r\n\t\t},\r\n\r\n\t\tCLASS: function( className ) {\r\n\t\t\tvar pattern = classCache[ className + \" \" ];\r\n\r\n\t\t\treturn pattern ||\r\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace + \")\" + className +\r\n\t\t\t\t\t\"(\" + whitespace + \"|$)\" ) ) &&\r\n\t\t\t\tclassCache( className, function( elem ) {\r\n\t\t\t\t\treturn pattern.test(\r\n\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\r\n\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\r\n\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} );\r\n\t\t},\r\n\r\n\t\tATTR: function( name, operator, check ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\tvar result = find.attr( elem, name );\r\n\r\n\t\t\t\tif ( result == null ) {\r\n\t\t\t\t\treturn operator === \"!=\";\r\n\t\t\t\t}\r\n\t\t\t\tif ( !operator ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresult += \"\";\r\n\r\n\t\t\t\tif ( operator === \"=\" ) {\r\n\t\t\t\t\treturn result === check;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"!=\" ) {\r\n\t\t\t\t\treturn result !== check;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"^=\" ) {\r\n\t\t\t\t\treturn check && result.indexOf( check ) === 0;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"*=\" ) {\r\n\t\t\t\t\treturn check && result.indexOf( check ) > -1;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"$=\" ) {\r\n\t\t\t\t\treturn check && result.slice( -check.length ) === check;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"~=\" ) {\r\n\t\t\t\t\treturn ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" )\r\n\t\t\t\t\t\t.indexOf( check ) > -1;\r\n\t\t\t\t}\r\n\t\t\t\tif ( operator === \"|=\" ) {\r\n\t\t\t\t\treturn result === check || result.slice( 0, check.length + 1 ) === check + \"-\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\tCHILD: function( type, what, _argument, first, last ) {\r\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\r\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\r\n\t\t\t\tofType = what === \"of-type\";\r\n\r\n\t\t\treturn first === 1 && last === 0 ?\r\n\r\n\t\t\t\t// Shortcut for :nth-*(n)\r\n\t\t\t\tfunction( elem ) {\r\n\t\t\t\t\treturn !!elem.parentNode;\r\n\t\t\t\t} :\r\n\r\n\t\t\t\tfunction( elem, _context, xml ) {\r\n\t\t\t\t\tvar cache, outerCache, node, nodeIndex, start,\r\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\r\n\t\t\t\t\t\tparent = elem.parentNode,\r\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\r\n\t\t\t\t\t\tuseCache = !xml && !ofType,\r\n\t\t\t\t\t\tdiff = false;\r\n\r\n\t\t\t\t\tif ( parent ) {\r\n\r\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\r\n\t\t\t\t\t\tif ( simple ) {\r\n\t\t\t\t\t\t\twhile ( dir ) {\r\n\t\t\t\t\t\t\t\tnode = elem;\r\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\r\n\t\t\t\t\t\t\t\t\tif ( ofType ?\r\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\r\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\r\n\r\n\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\r\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\r\n\r\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\r\n\t\t\t\t\t\tif ( forward && useCache ) {\r\n\r\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\r\n\t\t\t\t\t\t\touterCache = parent[ expando ] || ( parent[ expando ] = {} );\r\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\r\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\r\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\r\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\r\n\r\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\r\n\r\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\r\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\r\n\r\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\r\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\r\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t// Use previously-cached element index if available\r\n\t\t\t\t\t\t\tif ( useCache ) {\r\n\t\t\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\r\n\t\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\r\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\r\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// xml :nth-child(...)\r\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\r\n\t\t\t\t\t\t\tif ( diff === false ) {\r\n\r\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\r\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\r\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\r\n\r\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\r\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\r\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\r\n\t\t\t\t\t\t\t\t\t\t++diff ) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\r\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\r\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\r\n\t\t\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, diff ];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\r\n\t\t\t\t\t\tdiff -= last;\r\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t},\r\n\r\n\t\tPSEUDO: function( pseudo, argument ) {\r\n\r\n\t\t\t// pseudo-class names are case-insensitive\r\n\t\t\t// https://www.w3.org/TR/selectors/#pseudo-classes\r\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\r\n\t\t\t// Remember that setFilters inherits from pseudos\r\n\t\t\tvar args,\r\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\r\n\t\t\t\t\tfind.error( \"unsupported pseudo: \" + pseudo );\r\n\r\n\t\t\t// The user may use createPseudo to indicate that\r\n\t\t\t// arguments are needed to create the filter function\r\n\t\t\t// just as jQuery does\r\n\t\t\tif ( fn[ expando ] ) {\r\n\t\t\t\treturn fn( argument );\r\n\t\t\t}\r\n\r\n\t\t\t// But maintain support for old signatures\r\n\t\t\tif ( fn.length > 1 ) {\r\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\r\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\r\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\r\n\t\t\t\t\t\tvar idx,\r\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\r\n\t\t\t\t\t\t\ti = matched.length;\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[ i ] );\r\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} ) :\r\n\t\t\t\t\tfunction( elem ) {\r\n\t\t\t\t\t\treturn fn( elem, 0, args );\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn fn;\r\n\t\t}\r\n\t},\r\n\r\n\tpseudos: {\r\n\r\n\t\t// Potentially complex pseudos\r\n\t\tnot: markFunction( function( selector ) {\r\n\r\n\t\t\t// Trim the selector passed to compile\r\n\t\t\t// to avoid treating leading and trailing\r\n\t\t\t// spaces as combinators\r\n\t\t\tvar input = [],\r\n\t\t\t\tresults = [],\r\n\t\t\t\tmatcher = compile( selector.replace( rtrimCSS, \"$1\" ) );\r\n\r\n\t\t\treturn matcher[ expando ] ?\r\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\r\n\t\t\t\t\tvar elem,\r\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\r\n\t\t\t\t\t\ti = seed.length;\r\n\r\n\t\t\t\t\t// Match elements unmatched by `matcher`\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\r\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} ) :\r\n\t\t\t\tfunction( elem, _context, xml ) {\r\n\t\t\t\t\tinput[ 0 ] = elem;\r\n\t\t\t\t\tmatcher( input, null, xml, results );\r\n\r\n\t\t\t\t\t// Don't keep the element\r\n\t\t\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\r\n\t\t\t\t\tinput[ 0 ] = null;\r\n\t\t\t\t\treturn !results.pop();\r\n\t\t\t\t};\r\n\t\t} ),\r\n\r\n\t\thas: markFunction( function( selector ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn find( selector, elem ).length > 0;\r\n\t\t\t};\r\n\t\t} ),\r\n\r\n\t\tcontains: markFunction( function( text ) {\r\n\t\t\ttext = text.replace( runescape, funescape );\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;\r\n\t\t\t};\r\n\t\t} ),\r\n\r\n\t\t// \"Whether an element is represented by a :lang() selector\r\n\t\t// is based solely on the element's language value\r\n\t\t// being equal to the identifier C,\r\n\t\t// or beginning with the identifier C immediately followed by \"-\".\r\n\t\t// The matching of C against the element's language value is performed case-insensitively.\r\n\t\t// The identifier C does not have to be a valid language name.\"\r\n\t\t// https://www.w3.org/TR/selectors/#lang-pseudo\r\n\t\tlang: markFunction( function( lang ) {\r\n\r\n\t\t\t// lang value must be a valid identifier\r\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\r\n\t\t\t\tfind.error( \"unsupported lang: \" + lang );\r\n\t\t\t}\r\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\tvar elemLang;\r\n\t\t\t\tdo {\r\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\r\n\t\t\t\t\t\telem.lang :\r\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\r\n\r\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\r\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\r\n\t\t\t\treturn false;\r\n\t\t\t};\r\n\t\t} ),\r\n\r\n\t\t// Miscellaneous\r\n\t\ttarget: function( elem ) {\r\n\t\t\tvar hash = window.location && window.location.hash;\r\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\r\n\t\t},\r\n\r\n\t\troot: function( elem ) {\r\n\t\t\treturn elem === documentElement;\r\n\t\t},\r\n\r\n\t\tfocus: function( elem ) {\r\n\t\t\treturn elem === safeActiveElement() &&\r\n\t\t\t\tdocument.hasFocus() &&\r\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\r\n\t\t},\r\n\r\n\t\t// Boolean properties\r\n\t\tenabled: createDisabledPseudo( false ),\r\n\t\tdisabled: createDisabledPseudo( true ),\r\n\r\n\t\tchecked: function( elem ) {\r\n\r\n\t\t\t// In CSS3, :checked should return both checked and selected elements\r\n\t\t\t// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\r\n\t\t\treturn ( nodeName( elem, \"input\" ) && !!elem.checked ) ||\r\n\t\t\t\t( nodeName( elem, \"option\" ) && !!elem.selected );\r\n\t\t},\r\n\r\n\t\tselected: function( elem ) {\r\n\r\n\t\t\t// Support: IE <=11+\r\n\t\t\t// Accessing the selectedIndex property\r\n\t\t\t// forces the browser to treat the default option as\r\n\t\t\t// selected when in an optgroup.\r\n\t\t\tif ( elem.parentNode ) {\r\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\t\t\telem.parentNode.selectedIndex;\r\n\t\t\t}\r\n\r\n\t\t\treturn elem.selected === true;\r\n\t\t},\r\n\r\n\t\t// Contents\r\n\t\tempty: function( elem ) {\r\n\r\n\t\t\t// https://www.w3.org/TR/selectors/#empty-pseudo\r\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\r\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\r\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\r\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\r\n\t\t\t\tif ( elem.nodeType < 6 ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t},\r\n\r\n\t\tparent: function( elem ) {\r\n\t\t\treturn !Expr.pseudos.empty( elem );\r\n\t\t},\r\n\r\n\t\t// Element/input types\r\n\t\theader: function( elem ) {\r\n\t\t\treturn rheader.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\tinput: function( elem ) {\r\n\t\t\treturn rinputs.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\tbutton: function( elem ) {\r\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"button\" ||\r\n\t\t\t\tnodeName( elem, \"button\" );\r\n\t\t},\r\n\r\n\t\ttext: function( elem ) {\r\n\t\t\tvar attr;\r\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"text\" &&\r\n\r\n\t\t\t\t// Support: IE <10 only\r\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear\r\n\t\t\t\t// with elem.type === \"text\"\r\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\r\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\r\n\t\t},\r\n\r\n\t\t// Position-in-collection\r\n\t\tfirst: createPositionalPseudo( function() {\r\n\t\t\treturn [ 0 ];\r\n\t\t} ),\r\n\r\n\t\tlast: createPositionalPseudo( function( _matchIndexes, length ) {\r\n\t\t\treturn [ length - 1 ];\r\n\t\t} ),\r\n\r\n\t\teq: createPositionalPseudo( function( _matchIndexes, length, argument ) {\r\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\r\n\t\t} ),\r\n\r\n\t\teven: createPositionalPseudo( function( matchIndexes, length ) {\r\n\t\t\tvar i = 0;\r\n\t\t\tfor ( ; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t} ),\r\n\r\n\t\todd: createPositionalPseudo( function( matchIndexes, length ) {\r\n\t\t\tvar i = 1;\r\n\t\t\tfor ( ; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t} ),\r\n\r\n\t\tlt: createPositionalPseudo( function( matchIndexes, length, argument ) {\r\n\t\t\tvar i;\r\n\r\n\t\t\tif ( argument < 0 ) {\r\n\t\t\t\ti = argument + length;\r\n\t\t\t} else if ( argument > length ) {\r\n\t\t\t\ti = length;\r\n\t\t\t} else {\r\n\t\t\t\ti = argument;\r\n\t\t\t}\r\n\r\n\t\t\tfor ( ; --i >= 0; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t} ),\r\n\r\n\t\tgt: createPositionalPseudo( function( matchIndexes, length, argument ) {\r\n\t\t\tvar i = argument < 0 ? argument + length : argument;\r\n\t\t\tfor ( ; ++i < length; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t} )\r\n\t}\r\n};\r\n\r\nExpr.pseudos.nth = Expr.pseudos.eq;\r\n\r\n// Add button/input type pseudos\r\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\r\n\tExpr.pseudos[ i ] = createInputPseudo( i );\r\n}\r\nfor ( i in { submit: true, reset: true } ) {\r\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\r\n}\r\n\r\n// Easy API for creating new setFilters\r\nfunction setFilters() {}\r\nsetFilters.prototype = Expr.filters = Expr.pseudos;\r\nExpr.setFilters = new setFilters();\r\n\r\nfunction tokenize( selector, parseOnly ) {\r\n\tvar matched, match, tokens, type,\r\n\t\tsoFar, groups, preFilters,\r\n\t\tcached = tokenCache[ selector + \" \" ];\r\n\r\n\tif ( cached ) {\r\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\r\n\t}\r\n\r\n\tsoFar = selector;\r\n\tgroups = [];\r\n\tpreFilters = Expr.preFilter;\r\n\r\n\twhile ( soFar ) {\r\n\r\n\t\t// Comma and first run\r\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\r\n\t\t\tif ( match ) {\r\n\r\n\t\t\t\t// Don't consume trailing commas as valid\r\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\r\n\t\t\t}\r\n\t\t\tgroups.push( ( tokens = [] ) );\r\n\t\t}\r\n\r\n\t\tmatched = false;\r\n\r\n\t\t// Combinators\r\n\t\tif ( ( match = rleadingCombinator.exec( soFar ) ) ) {\r\n\t\t\tmatched = match.shift();\r\n\t\t\ttokens.push( {\r\n\t\t\t\tvalue: matched,\r\n\r\n\t\t\t\t// Cast descendant combinators to space\r\n\t\t\t\ttype: match[ 0 ].replace( rtrimCSS, \" \" )\r\n\t\t\t} );\r\n\t\t\tsoFar = soFar.slice( matched.length );\r\n\t\t}\r\n\r\n\t\t// Filters\r\n\t\tfor ( type in Expr.filter ) {\r\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\r\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\r\n\t\t\t\tmatched = match.shift();\r\n\t\t\t\ttokens.push( {\r\n\t\t\t\t\tvalue: matched,\r\n\t\t\t\t\ttype: type,\r\n\t\t\t\t\tmatches: match\r\n\t\t\t\t} );\r\n\t\t\t\tsoFar = soFar.slice( matched.length );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( !matched ) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the length of the invalid excess\r\n\t// if we're just parsing\r\n\t// Otherwise, throw an error or return tokens\r\n\tif ( parseOnly ) {\r\n\t\treturn soFar.length;\r\n\t}\r\n\r\n\treturn soFar ?\r\n\t\tfind.error( selector ) :\r\n\r\n\t\t// Cache the tokens\r\n\t\ttokenCache( selector, groups ).slice( 0 );\r\n}\r\n\r\nfunction toSelector( tokens ) {\r\n\tvar i = 0,\r\n\t\tlen = tokens.length,\r\n\t\tselector = \"\";\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tselector += tokens[ i ].value;\r\n\t}\r\n\treturn selector;\r\n}\r\n\r\nfunction addCombinator( matcher, combinator, base ) {\r\n\tvar dir = combinator.dir,\r\n\t\tskip = combinator.next,\r\n\t\tkey = skip || dir,\r\n\t\tcheckNonElements = base && key === \"parentNode\",\r\n\t\tdoneName = done++;\r\n\r\n\treturn combinator.first ?\r\n\r\n\t\t// Check against closest ancestor/preceding element\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\r\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\r\n\t\t\t\t\treturn matcher( elem, context, xml );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t} :\r\n\r\n\t\t// Check against all ancestor/preceding elements\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\tvar oldCache, outerCache,\r\n\t\t\t\tnewCache = [ dirruns, doneName ];\r\n\r\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\r\n\t\t\tif ( xml ) {\r\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\r\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\r\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\r\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\r\n\r\n\t\t\t\t\t\tif ( skip && nodeName( elem, skip ) ) {\r\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\r\n\t\t\t\t\t\t} else if ( ( oldCache = outerCache[ key ] ) &&\r\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\r\n\r\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\r\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\r\n\t\t\t\t\t\t\touterCache[ key ] = newCache;\r\n\r\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\r\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\r\n\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t};\r\n}\r\n\r\nfunction elementMatcher( matchers ) {\r\n\treturn matchers.length > 1 ?\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\tvar i = matchers.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} :\r\n\t\tmatchers[ 0 ];\r\n}\r\n\r\nfunction multipleContexts( selector, contexts, results ) {\r\n\tvar i = 0,\r\n\t\tlen = contexts.length;\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tfind( selector, contexts[ i ], results );\r\n\t}\r\n\treturn results;\r\n}\r\n\r\nfunction condense( unmatched, map, filter, context, xml ) {\r\n\tvar elem,\r\n\t\tnewUnmatched = [],\r\n\t\ti = 0,\r\n\t\tlen = unmatched.length,\r\n\t\tmapped = map != null;\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( ( elem = unmatched[ i ] ) ) {\r\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\r\n\t\t\t\tnewUnmatched.push( elem );\r\n\t\t\t\tif ( mapped ) {\r\n\t\t\t\t\tmap.push( i );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn newUnmatched;\r\n}\r\n\r\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\r\n\tif ( postFilter && !postFilter[ expando ] ) {\r\n\t\tpostFilter = setMatcher( postFilter );\r\n\t}\r\n\tif ( postFinder && !postFinder[ expando ] ) {\r\n\t\tpostFinder = setMatcher( postFinder, postSelector );\r\n\t}\r\n\treturn markFunction( function( seed, results, context, xml ) {\r\n\t\tvar temp, i, elem, matcherOut,\r\n\t\t\tpreMap = [],\r\n\t\t\tpostMap = [],\r\n\t\t\tpreexisting = results.length,\r\n\r\n\t\t\t// Get initial elements from seed or context\r\n\t\t\telems = seed ||\r\n\t\t\t\tmultipleContexts( selector || \"*\",\r\n\t\t\t\t\tcontext.nodeType ? [ context ] : context, [] ),\r\n\r\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\r\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\r\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\r\n\t\t\t\telems;\r\n\r\n\t\tif ( matcher ) {\r\n\r\n\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter\r\n\t\t\t// or preexisting results,\r\n\t\t\tmatcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?\r\n\r\n\t\t\t\t// ...intermediate processing is necessary\r\n\t\t\t\t[] :\r\n\r\n\t\t\t\t// ...otherwise use results directly\r\n\t\t\t\tresults;\r\n\r\n\t\t\t// Find primary matches\r\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\r\n\t\t} else {\r\n\t\t\tmatcherOut = matcherIn;\r\n\t\t}\r\n\r\n\t\t// Apply postFilter\r\n\t\tif ( postFilter ) {\r\n\t\t\ttemp = condense( matcherOut, postMap );\r\n\t\t\tpostFilter( temp, [], context, xml );\r\n\r\n\t\t\t// Un-match failing elements by moving them back to matcherIn\r\n\t\t\ti = temp.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\r\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( seed ) {\r\n\t\t\tif ( postFinder || preFilter ) {\r\n\t\t\t\tif ( postFinder ) {\r\n\r\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\r\n\t\t\t\t\ttemp = [];\r\n\t\t\t\t\ti = matcherOut.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\r\n\r\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\r\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\r\n\t\t\t\ti = matcherOut.length;\r\n\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\r\n\t\t\t\t\t\t( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {\r\n\r\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t// Add elements to results, through postFinder if defined\r\n\t\t} else {\r\n\t\t\tmatcherOut = condense(\r\n\t\t\t\tmatcherOut === results ?\r\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\r\n\t\t\t\t\tmatcherOut\r\n\t\t\t);\r\n\t\t\tif ( postFinder ) {\r\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\r\n\t\t\t} else {\r\n\t\t\t\tpush.apply( results, matcherOut );\r\n\t\t\t}\r\n\t\t}\r\n\t} );\r\n}\r\n\r\nfunction matcherFromTokens( tokens ) {\r\n\tvar checkContext, matcher, j,\r\n\t\tlen = tokens.length,\r\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\r\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\r\n\t\ti = leadingRelative ? 1 : 0,\r\n\r\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\r\n\t\tmatchContext = addCombinator( function( elem ) {\r\n\t\t\treturn elem === checkContext;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchAnyContext = addCombinator( function( elem ) {\r\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchers = [ function( elem, context, xml ) {\r\n\r\n\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t\t// two documents; shallow comparisons work.\r\n\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\tvar ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (\r\n\t\t\t\t( checkContext = context ).nodeType ?\r\n\t\t\t\t\tmatchContext( elem, context, xml ) :\r\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\r\n\r\n\t\t\t// Avoid hanging onto element\r\n\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\r\n\t\t\tcheckContext = null;\r\n\t\t\treturn ret;\r\n\t\t} ];\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\r\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\r\n\t\t} else {\r\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\r\n\r\n\t\t\t// Return special upon seeing a positional matcher\r\n\t\t\tif ( matcher[ expando ] ) {\r\n\r\n\t\t\t\t// Find the next relative operator (if any) for proper handling\r\n\t\t\t\tj = ++i;\r\n\t\t\t\tfor ( ; j < len; j++ ) {\r\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn setMatcher(\r\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\r\n\t\t\t\t\ti > 1 && toSelector(\r\n\r\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\r\n\t\t\t\t\t\ttokens.slice( 0, i - 1 )\r\n\t\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\r\n\t\t\t\t\t).replace( rtrimCSS, \"$1\" ),\r\n\t\t\t\t\tmatcher,\r\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\r\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\r\n\t\t\t\t\tj < len && toSelector( tokens )\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tmatchers.push( matcher );\r\n\t\t}\r\n\t}\r\n\r\n\treturn elementMatcher( matchers );\r\n}\r\n\r\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\r\n\tvar bySet = setMatchers.length > 0,\r\n\t\tbyElement = elementMatchers.length > 0,\r\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\r\n\t\t\tvar elem, j, matcher,\r\n\t\t\t\tmatchedCount = 0,\r\n\t\t\t\ti = \"0\",\r\n\t\t\t\tunmatched = seed && [],\r\n\t\t\t\tsetMatched = [],\r\n\t\t\t\tcontextBackup = outermostContext,\r\n\r\n\t\t\t\t// We must always have either seed elements or outermost context\r\n\t\t\t\telems = seed || byElement && Expr.find.TAG( \"*\", outermost ),\r\n\r\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\r\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\r\n\t\t\t\tlen = elems.length;\r\n\r\n\t\t\tif ( outermost ) {\r\n\r\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t\t\t// two documents; shallow comparisons work.\r\n\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\toutermostContext = context == document || context || outermost;\r\n\t\t\t}\r\n\r\n\t\t\t// Add elements passing elementMatchers directly to results\r\n\t\t\t// Support: iOS <=7 - 9 only\r\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching\r\n\t\t\t// elements by id. (see trac-14142)\r\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\r\n\t\t\t\tif ( byElement && elem ) {\r\n\t\t\t\t\tj = 0;\r\n\r\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\r\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\r\n\t\t\t\t\t// two documents; shallow comparisons work.\r\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\r\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\r\n\t\t\t\t\t\tsetDocument( elem );\r\n\t\t\t\t\t\txml = !documentIsHTML;\r\n\t\t\t\t\t}\r\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\r\n\t\t\t\t\t\t\tpush.call( results, elem );\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( outermost ) {\r\n\t\t\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Track unmatched elements for set filters\r\n\t\t\t\tif ( bySet ) {\r\n\r\n\t\t\t\t\t// They will have gone through all possible matchers\r\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\r\n\t\t\t\t\t\tmatchedCount--;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Lengthen the array for every element, matched or not\r\n\t\t\t\t\tif ( seed ) {\r\n\t\t\t\t\t\tunmatched.push( elem );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\r\n\t\t\t// makes the latter nonnegative.\r\n\t\t\tmatchedCount += i;\r\n\r\n\t\t\t// Apply set filters to unmatched elements\r\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\r\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\r\n\t\t\t// no element matchers and no seed.\r\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\r\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\r\n\t\t\t// numerically zero.\r\n\t\t\tif ( bySet && i !== matchedCount ) {\r\n\t\t\t\tj = 0;\r\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\r\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( seed ) {\r\n\r\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\r\n\t\t\t\t\tif ( matchedCount > 0 ) {\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\r\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\r\n\t\t\t\t\tsetMatched = condense( setMatched );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Add matches to results\r\n\t\t\t\tpush.apply( results, setMatched );\r\n\r\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\r\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\r\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\r\n\r\n\t\t\t\t\tjQuery.uniqueSort( results );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Override manipulation of globals by nested matchers\r\n\t\t\tif ( outermost ) {\r\n\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\toutermostContext = contextBackup;\r\n\t\t\t}\r\n\r\n\t\t\treturn unmatched;\r\n\t\t};\r\n\r\n\treturn bySet ?\r\n\t\tmarkFunction( superMatcher ) :\r\n\t\tsuperMatcher;\r\n}\r\n\r\nfunction compile( selector, match /* Internal Use Only */ ) {\r\n\tvar i,\r\n\t\tsetMatchers = [],\r\n\t\telementMatchers = [],\r\n\t\tcached = compilerCache[ selector + \" \" ];\r\n\r\n\tif ( !cached ) {\r\n\r\n\t\t// Generate a function of recursive functions that can be used to check each element\r\n\t\tif ( !match ) {\r\n\t\t\tmatch = tokenize( selector );\r\n\t\t}\r\n\t\ti = match.length;\r\n\t\twhile ( i-- ) {\r\n\t\t\tcached = matcherFromTokens( match[ i ] );\r\n\t\t\tif ( cached[ expando ] ) {\r\n\t\t\t\tsetMatchers.push( cached );\r\n\t\t\t} else {\r\n\t\t\t\telementMatchers.push( cached );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Cache the compiled function\r\n\t\tcached = compilerCache( selector,\r\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers ) );\r\n\r\n\t\t// Save selector and tokenization\r\n\t\tcached.selector = selector;\r\n\t}\r\n\treturn cached;\r\n}\r\n\r\n/**\r\n * A low-level selection function that works with jQuery's compiled\r\n * selector functions\r\n * @param {String|Function} selector A selector or a pre-compiled\r\n * selector function built with jQuery selector compile\r\n * @param {Element} context\r\n * @param {Array} [results]\r\n * @param {Array} [seed] A set of elements to match against\r\n */\r\nfunction select( selector, context, results, seed ) {\r\n\tvar i, tokens, token, type, find,\r\n\t\tcompiled = typeof selector === \"function\" && selector,\r\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\r\n\r\n\tresults = results || [];\r\n\r\n\t// Try to minimize operations if there is only one selector in the list and no seed\r\n\t// (the latter of which guarantees us context)\r\n\tif ( match.length === 1 ) {\r\n\r\n\t\t// Reduce context if the leading compound selector is an ID\r\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\r\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\r\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\r\n\r\n\t\t\tcontext = ( Expr.find.ID(\r\n\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\r\n\t\t\t\tcontext\r\n\t\t\t) || [] )[ 0 ];\r\n\t\t\tif ( !context ) {\r\n\t\t\t\treturn results;\r\n\r\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\r\n\t\t\t} else if ( compiled ) {\r\n\t\t\t\tcontext = context.parentNode;\r\n\t\t\t}\r\n\r\n\t\t\tselector = selector.slice( tokens.shift().value.length );\r\n\t\t}\r\n\r\n\t\t// Fetch a seed set for right-to-left matching\r\n\t\ti = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;\r\n\t\twhile ( i-- ) {\r\n\t\t\ttoken = tokens[ i ];\r\n\r\n\t\t\t// Abort if we hit a combinator\r\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\r\n\r\n\t\t\t\t// Search, expanding context for leading sibling combinators\r\n\t\t\t\tif ( ( seed = find(\r\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\r\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) &&\r\n\t\t\t\t\t\ttestContext( context.parentNode ) || context\r\n\t\t\t\t) ) ) {\r\n\r\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\r\n\t\t\t\t\ttokens.splice( i, 1 );\r\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\r\n\t\t\t\t\tif ( !selector ) {\r\n\t\t\t\t\t\tpush.apply( results, seed );\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Compile and execute a filtering function if one is not provided\r\n\t// Provide `match` to avoid retokenization if we modified the selector above\r\n\t( compiled || compile( selector, match ) )(\r\n\t\tseed,\r\n\t\tcontext,\r\n\t\t!documentIsHTML,\r\n\t\tresults,\r\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\r\n\t);\r\n\treturn results;\r\n}\r\n\r\n// One-time assignments\r\n\r\n// Support: Android <=4.0 - 4.1+\r\n// Sort stability\r\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\r\n\r\n// Initialize against the default document\r\nsetDocument();\r\n\r\n// Support: Android <=4.0 - 4.1+\r\n// Detached nodes confoundingly follow *each other*\r\nsupport.sortDetached = assert( function( el ) {\r\n\r\n\t// Should return 1, but returns 4 (following)\r\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\r\n} );\r\n\r\njQuery.find = find;\r\n\r\n// Deprecated\r\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\r\njQuery.unique = jQuery.uniqueSort;\r\n\r\n// These have always been private, but they used to be documented as part of\r\n// Sizzle so let's maintain them for now for backwards compatibility purposes.\r\nfind.compile = compile;\r\nfind.select = select;\r\nfind.setDocument = setDocument;\r\nfind.tokenize = tokenize;\r\n\r\nfind.escape = jQuery.escapeSelector;\r\nfind.getText = jQuery.text;\r\nfind.isXML = jQuery.isXMLDoc;\r\nfind.selectors = jQuery.expr;\r\nfind.support = jQuery.support;\r\nfind.uniqueSort = jQuery.uniqueSort;\r\n\r\n\t/* eslint-enable */\r\n\r\n} )();\r\n\r\n\r\nvar dir = function( elem, dir, until ) {\r\n\tvar matched = [],\r\n\t\ttruncate = until !== undefined;\r\n\r\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\r\n\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tmatched.push( elem );\r\n\t\t}\r\n\t}\r\n\treturn matched;\r\n};\r\n\r\n\r\nvar siblings = function( n, elem ) {\r\n\tvar matched = [];\r\n\r\n\tfor ( ; n; n = n.nextSibling ) {\r\n\t\tif ( n.nodeType === 1 && n !== elem ) {\r\n\t\t\tmatched.push( n );\r\n\t\t}\r\n\t}\r\n\r\n\treturn matched;\r\n};\r\n\r\n\r\nvar rneedsContext = jQuery.expr.match.needsContext;\r\n\r\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\r\n\r\n\r\n\r\n// Implement the identical functionality for filter and not\r\nfunction winnow( elements, qualifier, not ) {\r\n\tif ( isFunction( qualifier ) ) {\r\n\t\treturn jQuery.grep( elements, function( elem, i ) {\r\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\r\n\t\t} );\r\n\t}\r\n\r\n\t// Single element\r\n\tif ( qualifier.nodeType ) {\r\n\t\treturn jQuery.grep( elements, function( elem ) {\r\n\t\t\treturn ( elem === qualifier ) !== not;\r\n\t\t} );\r\n\t}\r\n\r\n\t// Arraylike of elements (jQuery, arguments, Array)\r\n\tif ( typeof qualifier !== \"string\" ) {\r\n\t\treturn jQuery.grep( elements, function( elem ) {\r\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\r\n\t\t} );\r\n\t}\r\n\r\n\t// Filtered directly for both simple and complex selectors\r\n\treturn jQuery.filter( qualifier, elements, not );\r\n}\r\n\r\njQuery.filter = function( expr, elems, not ) {\r\n\tvar elem = elems[ 0 ];\r\n\r\n\tif ( not ) {\r\n\t\texpr = \":not(\" + expr + \")\";\r\n\t}\r\n\r\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\r\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\r\n\t}\r\n\r\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\r\n\t\treturn elem.nodeType === 1;\r\n\t} ) );\r\n};\r\n\r\njQuery.fn.extend( {\r\n\tfind: function( selector ) {\r\n\t\tvar i, ret,\r\n\t\t\tlen = this.length,\r\n\t\t\tself = this;\r\n\r\n\t\tif ( typeof selector !== \"string\" ) {\r\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\r\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\r\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} ) );\r\n\t\t}\r\n\r\n\t\tret = this.pushStack( [] );\r\n\r\n\t\tfor ( i = 0; i < len; i++ ) {\r\n\t\t\tjQuery.find( selector, self[ i ], ret );\r\n\t\t}\r\n\r\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\r\n\t},\r\n\tfilter: function( selector ) {\r\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\r\n\t},\r\n\tnot: function( selector ) {\r\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\r\n\t},\r\n\tis: function( selector ) {\r\n\t\treturn !!winnow(\r\n\t\t\tthis,\r\n\r\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\r\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\r\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\r\n\t\t\t\tjQuery( selector ) :\r\n\t\t\t\tselector || [],\r\n\t\t\tfalse\r\n\t\t).length;\r\n\t}\r\n} );\r\n\r\n\r\n// Initialize a jQuery object\r\n\r\n\r\n// A central reference to the root jQuery(document)\r\nvar rootjQuery,\r\n\r\n\t// A simple way to check for HTML strings\r\n\t// Prioritize #id over to avoid XSS via location.hash (trac-9521)\r\n\t// Strict HTML recognition (trac-11290: must start with <)\r\n\t// Shortcut simple #id case for speed\r\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\r\n\r\n\tinit = jQuery.fn.init = function( selector, context, root ) {\r\n\t\tvar match, elem;\r\n\r\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\r\n\t\tif ( !selector ) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\t// Method init() accepts an alternate rootjQuery\r\n\t\t// so migrate can support jQuery.sub (gh-2101)\r\n\t\troot = root || rootjQuery;\r\n\r\n\t\t// Handle HTML strings\r\n\t\tif ( typeof selector === \"string\" ) {\r\n\t\t\tif ( selector[ 0 ] === \"<\" &&\r\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\r\n\t\t\t\tselector.length >= 3 ) {\r\n\r\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\r\n\t\t\t\tmatch = [ null, selector, null ];\r\n\r\n\t\t\t} else {\r\n\t\t\t\tmatch = rquickExpr.exec( selector );\r\n\t\t\t}\r\n\r\n\t\t\t// Match html or make sure no context is specified for #id\r\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\r\n\r\n\t\t\t\t// HANDLE: $(html) -> $(array)\r\n\t\t\t\tif ( match[ 1 ] ) {\r\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\r\n\r\n\t\t\t\t\t// Option to run scripts is true for back-compat\r\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\r\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\r\n\t\t\t\t\t\tmatch[ 1 ],\r\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\r\n\t\t\t\t\t\ttrue\r\n\t\t\t\t\t) );\r\n\r\n\t\t\t\t\t// HANDLE: $(html, props)\r\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\r\n\t\t\t\t\t\tfor ( match in context ) {\r\n\r\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\r\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\r\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\r\n\r\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn this;\r\n\r\n\t\t\t\t// HANDLE: $(#id)\r\n\t\t\t\t} else {\r\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\r\n\r\n\t\t\t\t\tif ( elem ) {\r\n\r\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\r\n\t\t\t\t\t\tthis[ 0 ] = elem;\r\n\t\t\t\t\t\tthis.length = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\r\n\t\t\t// HANDLE: $(expr, $(...))\r\n\t\t\t} else if ( !context || context.jquery ) {\r\n\t\t\t\treturn ( context || root ).find( selector );\r\n\r\n\t\t\t// HANDLE: $(expr, context)\r\n\t\t\t// (which is just equivalent to: $(context).find(expr)\r\n\t\t\t} else {\r\n\t\t\t\treturn this.constructor( context ).find( selector );\r\n\t\t\t}\r\n\r\n\t\t// HANDLE: $(DOMElement)\r\n\t\t} else if ( selector.nodeType ) {\r\n\t\t\tthis[ 0 ] = selector;\r\n\t\t\tthis.length = 1;\r\n\t\t\treturn this;\r\n\r\n\t\t// HANDLE: $(function)\r\n\t\t// Shortcut for document ready\r\n\t\t} else if ( isFunction( selector ) ) {\r\n\t\t\treturn root.ready !== undefined ?\r\n\t\t\t\troot.ready( selector ) :\r\n\r\n\t\t\t\t// Execute immediately if ready is not present\r\n\t\t\t\tselector( jQuery );\r\n\t\t}\r\n\r\n\t\treturn jQuery.makeArray( selector, this );\r\n\t};\r\n\r\n// Give the init function the jQuery prototype for later instantiation\r\ninit.prototype = jQuery.fn;\r\n\r\n// Initialize central reference\r\nrootjQuery = jQuery( document );\r\n\r\n\r\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\r\n\r\n\t// Methods guaranteed to produce a unique set when starting from a unique set\r\n\tguaranteedUnique = {\r\n\t\tchildren: true,\r\n\t\tcontents: true,\r\n\t\tnext: true,\r\n\t\tprev: true\r\n\t};\r\n\r\njQuery.fn.extend( {\r\n\thas: function( target ) {\r\n\t\tvar targets = jQuery( target, this ),\r\n\t\t\tl = targets.length;\r\n\r\n\t\treturn this.filter( function() {\r\n\t\t\tvar i = 0;\r\n\t\t\tfor ( ; i < l; i++ ) {\r\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tclosest: function( selectors, context ) {\r\n\t\tvar cur,\r\n\t\t\ti = 0,\r\n\t\t\tl = this.length,\r\n\t\t\tmatched = [],\r\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\r\n\r\n\t\t// Positional selectors never match, since there's no _selection_ context\r\n\t\tif ( !rneedsContext.test( selectors ) ) {\r\n\t\t\tfor ( ; i < l; i++ ) {\r\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\r\n\r\n\t\t\t\t\t// Always skip document fragments\r\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\r\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\r\n\r\n\t\t\t\t\t\t// Don't pass non-elements to jQuery#find\r\n\t\t\t\t\t\tcur.nodeType === 1 &&\r\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\r\n\r\n\t\t\t\t\t\tmatched.push( cur );\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\r\n\t},\r\n\r\n\t// Determine the position of an element within the set\r\n\tindex: function( elem ) {\r\n\r\n\t\t// No argument, return index in parent\r\n\t\tif ( !elem ) {\r\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\r\n\t\t}\r\n\r\n\t\t// Index in selector\r\n\t\tif ( typeof elem === \"string\" ) {\r\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\r\n\t\t}\r\n\r\n\t\t// Locate the position of the desired element\r\n\t\treturn indexOf.call( this,\r\n\r\n\t\t\t// If it receives a jQuery object, the first element is used\r\n\t\t\telem.jquery ? elem[ 0 ] : elem\r\n\t\t);\r\n\t},\r\n\r\n\tadd: function( selector, context ) {\r\n\t\treturn this.pushStack(\r\n\t\t\tjQuery.uniqueSort(\r\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\r\n\t\t\t)\r\n\t\t);\r\n\t},\r\n\r\n\taddBack: function( selector ) {\r\n\t\treturn this.add( selector == null ?\r\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\r\n\t\t);\r\n\t}\r\n} );\r\n\r\nfunction sibling( cur, dir ) {\r\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\r\n\treturn cur;\r\n}\r\n\r\njQuery.each( {\r\n\tparent: function( elem ) {\r\n\t\tvar parent = elem.parentNode;\r\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\r\n\t},\r\n\tparents: function( elem ) {\r\n\t\treturn dir( elem, \"parentNode\" );\r\n\t},\r\n\tparentsUntil: function( elem, _i, until ) {\r\n\t\treturn dir( elem, \"parentNode\", until );\r\n\t},\r\n\tnext: function( elem ) {\r\n\t\treturn sibling( elem, \"nextSibling\" );\r\n\t},\r\n\tprev: function( elem ) {\r\n\t\treturn sibling( elem, \"previousSibling\" );\r\n\t},\r\n\tnextAll: function( elem ) {\r\n\t\treturn dir( elem, \"nextSibling\" );\r\n\t},\r\n\tprevAll: function( elem ) {\r\n\t\treturn dir( elem, \"previousSibling\" );\r\n\t},\r\n\tnextUntil: function( elem, _i, until ) {\r\n\t\treturn dir( elem, \"nextSibling\", until );\r\n\t},\r\n\tprevUntil: function( elem, _i, until ) {\r\n\t\treturn dir( elem, \"previousSibling\", until );\r\n\t},\r\n\tsiblings: function( elem ) {\r\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\r\n\t},\r\n\tchildren: function( elem ) {\r\n\t\treturn siblings( elem.firstChild );\r\n\t},\r\n\tcontents: function( elem ) {\r\n\t\tif ( elem.contentDocument != null &&\r\n\r\n\t\t\t// Support: IE 11+\r\n\t\t\t// elements with no `data` attribute has an object\r\n\t\t\t// `contentDocument` with a `null` prototype.\r\n\t\t\tgetProto( elem.contentDocument ) ) {\r\n\r\n\t\t\treturn elem.contentDocument;\r\n\t\t}\r\n\r\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\r\n\t\t// Treat the template element as a regular one in browsers that\r\n\t\t// don't support it.\r\n\t\tif ( nodeName( elem, \"template\" ) ) {\r\n\t\t\telem = elem.content || elem;\r\n\t\t}\r\n\r\n\t\treturn jQuery.merge( [], elem.childNodes );\r\n\t}\r\n}, function( name, fn ) {\r\n\tjQuery.fn[ name ] = function( until, selector ) {\r\n\t\tvar matched = jQuery.map( this, fn, until );\r\n\r\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\r\n\t\t\tselector = until;\r\n\t\t}\r\n\r\n\t\tif ( selector && typeof selector === \"string\" ) {\r\n\t\t\tmatched = jQuery.filter( selector, matched );\r\n\t\t}\r\n\r\n\t\tif ( this.length > 1 ) {\r\n\r\n\t\t\t// Remove duplicates\r\n\t\t\tif ( !guaranteedUnique[ name ] ) {\r\n\t\t\t\tjQuery.uniqueSort( matched );\r\n\t\t\t}\r\n\r\n\t\t\t// Reverse order for parents* and prev-derivatives\r\n\t\t\tif ( rparentsprev.test( name ) ) {\r\n\t\t\t\tmatched.reverse();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.pushStack( matched );\r\n\t};\r\n} );\r\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\r\n\r\n\r\n\r\n// Convert String-formatted options into Object-formatted ones\r\nfunction createOptions( options ) {\r\n\tvar object = {};\r\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\r\n\t\tobject[ flag ] = true;\r\n\t} );\r\n\treturn object;\r\n}\r\n\r\n/*\r\n * Create a callback list using the following parameters:\r\n *\r\n *\toptions: an optional list of space-separated options that will change how\r\n *\t\t\tthe callback list behaves or a more traditional option object\r\n *\r\n * By default a callback list will act like an event callback list and can be\r\n * \"fired\" multiple times.\r\n *\r\n * Possible options:\r\n *\r\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\r\n *\r\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\r\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\r\n *\t\t\t\t\tvalues (like a Deferred)\r\n *\r\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\r\n *\r\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\r\n *\r\n */\r\njQuery.Callbacks = function( options ) {\r\n\r\n\t// Convert options from String-formatted to Object-formatted if needed\r\n\t// (we check in cache first)\r\n\toptions = typeof options === \"string\" ?\r\n\t\tcreateOptions( options ) :\r\n\t\tjQuery.extend( {}, options );\r\n\r\n\tvar // Flag to know if list is currently firing\r\n\t\tfiring,\r\n\r\n\t\t// Last fire value for non-forgettable lists\r\n\t\tmemory,\r\n\r\n\t\t// Flag to know if list was already fired\r\n\t\tfired,\r\n\r\n\t\t// Flag to prevent firing\r\n\t\tlocked,\r\n\r\n\t\t// Actual callback list\r\n\t\tlist = [],\r\n\r\n\t\t// Queue of execution data for repeatable lists\r\n\t\tqueue = [],\r\n\r\n\t\t// Index of currently firing callback (modified by add/remove as needed)\r\n\t\tfiringIndex = -1,\r\n\r\n\t\t// Fire callbacks\r\n\t\tfire = function() {\r\n\r\n\t\t\t// Enforce single-firing\r\n\t\t\tlocked = locked || options.once;\r\n\r\n\t\t\t// Execute callbacks for all pending executions,\r\n\t\t\t// respecting firingIndex overrides and runtime changes\r\n\t\t\tfired = firing = true;\r\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\r\n\t\t\t\tmemory = queue.shift();\r\n\t\t\t\twhile ( ++firingIndex < list.length ) {\r\n\r\n\t\t\t\t\t// Run callback and check for early termination\r\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\r\n\t\t\t\t\t\toptions.stopOnFalse ) {\r\n\r\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\r\n\t\t\t\t\t\tfiringIndex = list.length;\r\n\t\t\t\t\t\tmemory = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Forget the data if we're done with it\r\n\t\t\tif ( !options.memory ) {\r\n\t\t\t\tmemory = false;\r\n\t\t\t}\r\n\r\n\t\t\tfiring = false;\r\n\r\n\t\t\t// Clean up if we're done firing for good\r\n\t\t\tif ( locked ) {\r\n\r\n\t\t\t\t// Keep an empty list if we have data for future add calls\r\n\t\t\t\tif ( memory ) {\r\n\t\t\t\t\tlist = [];\r\n\r\n\t\t\t\t// Otherwise, this object is spent\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlist = \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Actual Callbacks object\r\n\t\tself = {\r\n\r\n\t\t\t// Add a callback or a collection of callbacks to the list\r\n\t\t\tadd: function() {\r\n\t\t\t\tif ( list ) {\r\n\r\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\r\n\t\t\t\t\tif ( memory && !firing ) {\r\n\t\t\t\t\t\tfiringIndex = list.length - 1;\r\n\t\t\t\t\t\tqueue.push( memory );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t( function add( args ) {\r\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\r\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\r\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\r\n\t\t\t\t\t\t\t\t\tlist.push( arg );\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\r\n\r\n\t\t\t\t\t\t\t\t// Inspect recursively\r\n\t\t\t\t\t\t\t\tadd( arg );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} );\r\n\t\t\t\t\t} )( arguments );\r\n\r\n\t\t\t\t\tif ( memory && !firing ) {\r\n\t\t\t\t\t\tfire();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\t// Remove a callback from the list\r\n\t\t\tremove: function() {\r\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\r\n\t\t\t\t\tvar index;\r\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\r\n\t\t\t\t\t\tlist.splice( index, 1 );\r\n\r\n\t\t\t\t\t\t// Handle firing indexes\r\n\t\t\t\t\t\tif ( index <= firingIndex ) {\r\n\t\t\t\t\t\t\tfiringIndex--;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} );\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\t// Check if a given callback is in the list.\r\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\r\n\t\t\thas: function( fn ) {\r\n\t\t\t\treturn fn ?\r\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\r\n\t\t\t\t\tlist.length > 0;\r\n\t\t\t},\r\n\r\n\t\t\t// Remove all callbacks from the list\r\n\t\t\tempty: function() {\r\n\t\t\t\tif ( list ) {\r\n\t\t\t\t\tlist = [];\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\t// Disable .fire and .add\r\n\t\t\t// Abort any current/pending executions\r\n\t\t\t// Clear all callbacks and values\r\n\t\t\tdisable: function() {\r\n\t\t\t\tlocked = queue = [];\r\n\t\t\t\tlist = memory = \"\";\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\tdisabled: function() {\r\n\t\t\t\treturn !list;\r\n\t\t\t},\r\n\r\n\t\t\t// Disable .fire\r\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\r\n\t\t\t// Abort any pending executions\r\n\t\t\tlock: function() {\r\n\t\t\t\tlocked = queue = [];\r\n\t\t\t\tif ( !memory && !firing ) {\r\n\t\t\t\t\tlist = memory = \"\";\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\tlocked: function() {\r\n\t\t\t\treturn !!locked;\r\n\t\t\t},\r\n\r\n\t\t\t// Call all callbacks with the given context and arguments\r\n\t\t\tfireWith: function( context, args ) {\r\n\t\t\t\tif ( !locked ) {\r\n\t\t\t\t\targs = args || [];\r\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\r\n\t\t\t\t\tqueue.push( args );\r\n\t\t\t\t\tif ( !firing ) {\r\n\t\t\t\t\t\tfire();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\t// Call all the callbacks with the given arguments\r\n\t\t\tfire: function() {\r\n\t\t\t\tself.fireWith( this, arguments );\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\r\n\t\t\t// To know if the callbacks have already been called at least once\r\n\t\t\tfired: function() {\r\n\t\t\t\treturn !!fired;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\treturn self;\r\n};\r\n\r\n\r\nfunction Identity( v ) {\r\n\treturn v;\r\n}\r\nfunction Thrower( ex ) {\r\n\tthrow ex;\r\n}\r\n\r\nfunction adoptValue( value, resolve, reject, noValue ) {\r\n\tvar method;\r\n\r\n\ttry {\r\n\r\n\t\t// Check for promise aspect first to privilege synchronous behavior\r\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\r\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\r\n\r\n\t\t// Other thenables\r\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\r\n\t\t\tmethod.call( value, resolve, reject );\r\n\r\n\t\t// Other non-thenables\r\n\t\t} else {\r\n\r\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\r\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\r\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\r\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\r\n\t\t}\r\n\r\n\t// For Promises/A+, convert exceptions into rejections\r\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\r\n\t// Deferred#then to conditionally suppress rejection.\r\n\t} catch ( value ) {\r\n\r\n\t\t// Support: Android 4.0 only\r\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\r\n\t\treject.apply( undefined, [ value ] );\r\n\t}\r\n}\r\n\r\njQuery.extend( {\r\n\r\n\tDeferred: function( func ) {\r\n\t\tvar tuples = [\r\n\r\n\t\t\t\t// action, add listener, callbacks,\r\n\t\t\t\t// ... .then handlers, argument index, [final state]\r\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\r\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\r\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\r\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\r\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\r\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\r\n\t\t\t],\r\n\t\t\tstate = \"pending\",\r\n\t\t\tpromise = {\r\n\t\t\t\tstate: function() {\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t},\r\n\t\t\t\talways: function() {\r\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\t\t\t\t\"catch\": function( fn ) {\r\n\t\t\t\t\treturn promise.then( null, fn );\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Keep pipe for back-compat\r\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\r\n\t\t\t\t\tvar fns = arguments;\r\n\r\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\r\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\r\n\r\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\r\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\r\n\r\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\r\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\r\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\r\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\r\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\r\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\r\n\t\t\t\t\t\t\t\t\treturned.promise()\r\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\r\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\r\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\r\n\t\t\t\t\t\t\t\t\t\tthis,\r\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} );\r\n\t\t\t\t\t\t} );\r\n\t\t\t\t\t\tfns = null;\r\n\t\t\t\t\t} ).promise();\r\n\t\t\t\t},\r\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\r\n\t\t\t\t\tvar maxDepth = 0;\r\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\r\n\t\t\t\t\t\treturn function() {\r\n\t\t\t\t\t\t\tvar that = this,\r\n\t\t\t\t\t\t\t\targs = arguments,\r\n\t\t\t\t\t\t\t\tmightThrow = function() {\r\n\t\t\t\t\t\t\t\t\tvar returned, then;\r\n\r\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\r\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\r\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\r\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\r\n\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\r\n\r\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\r\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\r\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\r\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\r\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\r\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\r\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\r\n\t\t\t\t\t\t\t\t\tthen = returned &&\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\r\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\r\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\r\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\r\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\r\n\t\t\t\t\t\t\t\t\t\treturned.then;\r\n\r\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\r\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\r\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\r\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\r\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\r\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\r\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\r\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\r\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\r\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\r\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\r\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\r\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\r\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\r\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\r\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\r\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\r\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\r\n\t\t\t\t\t\t\t\tprocess = special ?\r\n\t\t\t\t\t\t\t\t\tmightThrow :\r\n\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\r\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.error );\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\r\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\r\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\r\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\r\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\r\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\r\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\r\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\r\n\t\t\t\t\t\t\t// subsequent errors\r\n\t\t\t\t\t\t\tif ( depth ) {\r\n\t\t\t\t\t\t\t\tprocess();\r\n\t\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t\t// Call an optional hook to record the error, in case of exception\r\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\r\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getErrorHook ) {\r\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getErrorHook();\r\n\r\n\t\t\t\t\t\t\t\t// The deprecated alias of the above. While the name suggests\r\n\t\t\t\t\t\t\t\t// returning the stack, not an error instance, jQuery just passes\r\n\t\t\t\t\t\t\t\t// it directly to `console.warn` so both will work; an instance\r\n\t\t\t\t\t\t\t\t// just better cooperates with source maps.\r\n\t\t\t\t\t\t\t\t} else if ( jQuery.Deferred.getStackHook ) {\r\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getStackHook();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\r\n\r\n\t\t\t\t\t\t// progress_handlers.add( ... )\r\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\r\n\t\t\t\t\t\t\tresolve(\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\tnewDefer,\r\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\r\n\t\t\t\t\t\t\t\t\tonProgress :\r\n\t\t\t\t\t\t\t\t\tIdentity,\r\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\r\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\r\n\t\t\t\t\t\t\tresolve(\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\tnewDefer,\r\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\r\n\t\t\t\t\t\t\t\t\tonFulfilled :\r\n\t\t\t\t\t\t\t\t\tIdentity\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t// rejected_handlers.add( ... )\r\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\r\n\t\t\t\t\t\t\tresolve(\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\tnewDefer,\r\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\r\n\t\t\t\t\t\t\t\t\tonRejected :\r\n\t\t\t\t\t\t\t\t\tThrower\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} ).promise();\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Get a promise for this deferred\r\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\r\n\t\t\t\tpromise: function( obj ) {\r\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdeferred = {};\r\n\r\n\t\t// Add list-specific methods\r\n\t\tjQuery.each( tuples, function( i, tuple ) {\r\n\t\t\tvar list = tuple[ 2 ],\r\n\t\t\t\tstateString = tuple[ 5 ];\r\n\r\n\t\t\t// promise.progress = list.add\r\n\t\t\t// promise.done = list.add\r\n\t\t\t// promise.fail = list.add\r\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\r\n\r\n\t\t\t// Handle state\r\n\t\t\tif ( stateString ) {\r\n\t\t\t\tlist.add(\r\n\t\t\t\t\tfunction() {\r\n\r\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\r\n\t\t\t\t\t\t// state = \"rejected\"\r\n\t\t\t\t\t\tstate = stateString;\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// rejected_callbacks.disable\r\n\t\t\t\t\t// fulfilled_callbacks.disable\r\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\r\n\r\n\t\t\t\t\t// rejected_handlers.disable\r\n\t\t\t\t\t// fulfilled_handlers.disable\r\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\r\n\r\n\t\t\t\t\t// progress_callbacks.lock\r\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\r\n\r\n\t\t\t\t\t// progress_handlers.lock\r\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\t// progress_handlers.fire\r\n\t\t\t// fulfilled_handlers.fire\r\n\t\t\t// rejected_handlers.fire\r\n\t\t\tlist.add( tuple[ 3 ].fire );\r\n\r\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\r\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\r\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\r\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\r\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\r\n\t\t\t\treturn this;\r\n\t\t\t};\r\n\r\n\t\t\t// deferred.notifyWith = list.fireWith\r\n\t\t\t// deferred.resolveWith = list.fireWith\r\n\t\t\t// deferred.rejectWith = list.fireWith\r\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\r\n\t\t} );\r\n\r\n\t\t// Make the deferred a promise\r\n\t\tpromise.promise( deferred );\r\n\r\n\t\t// Call given func if any\r\n\t\tif ( func ) {\r\n\t\t\tfunc.call( deferred, deferred );\r\n\t\t}\r\n\r\n\t\t// All done!\r\n\t\treturn deferred;\r\n\t},\r\n\r\n\t// Deferred helper\r\n\twhen: function( singleValue ) {\r\n\t\tvar\r\n\r\n\t\t\t// count of uncompleted subordinates\r\n\t\t\tremaining = arguments.length,\r\n\r\n\t\t\t// count of unprocessed arguments\r\n\t\t\ti = remaining,\r\n\r\n\t\t\t// subordinate fulfillment data\r\n\t\t\tresolveContexts = Array( i ),\r\n\t\t\tresolveValues = slice.call( arguments ),\r\n\r\n\t\t\t// the primary Deferred\r\n\t\t\tprimary = jQuery.Deferred(),\r\n\r\n\t\t\t// subordinate callback factory\r\n\t\t\tupdateFunc = function( i ) {\r\n\t\t\t\treturn function( value ) {\r\n\t\t\t\t\tresolveContexts[ i ] = this;\r\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\r\n\t\t\t\t\tif ( !( --remaining ) ) {\r\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t};\r\n\r\n\t\t// Single- and empty arguments are adopted like Promise.resolve\r\n\t\tif ( remaining <= 1 ) {\r\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\r\n\t\t\t\t!remaining );\r\n\r\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\r\n\t\t\tif ( primary.state() === \"pending\" ||\r\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\r\n\r\n\t\t\t\treturn primary.then();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Multiple arguments are aggregated like Promise.all array elements\r\n\t\twhile ( i-- ) {\r\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\r\n\t\t}\r\n\r\n\t\treturn primary.promise();\r\n\t}\r\n} );\r\n\r\n\r\n// These usually indicate a programmer mistake during development,\r\n// warn about them ASAP rather than swallowing them by default.\r\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\r\n\r\n// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\r\n// captured before the async barrier to get the original error cause\r\n// which may otherwise be hidden.\r\njQuery.Deferred.exceptionHook = function( error, asyncError ) {\r\n\r\n\t// Support: IE 8 - 9 only\r\n\t// Console exists when dev tools are open, which can happen at any time\r\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\r\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message,\r\n\t\t\terror.stack, asyncError );\r\n\t}\r\n};\r\n\r\n\r\n\r\n\r\njQuery.readyException = function( error ) {\r\n\twindow.setTimeout( function() {\r\n\t\tthrow error;\r\n\t} );\r\n};\r\n\r\n\r\n\r\n\r\n// The deferred used on DOM ready\r\nvar readyList = jQuery.Deferred();\r\n\r\njQuery.fn.ready = function( fn ) {\r\n\r\n\treadyList\r\n\t\t.then( fn )\r\n\r\n\t\t// Wrap jQuery.readyException in a function so that the lookup\r\n\t\t// happens at the time of error handling instead of callback\r\n\t\t// registration.\r\n\t\t.catch( function( error ) {\r\n\t\t\tjQuery.readyException( error );\r\n\t\t} );\r\n\r\n\treturn this;\r\n};\r\n\r\njQuery.extend( {\r\n\r\n\t// Is the DOM ready to be used? Set to true once it occurs.\r\n\tisReady: false,\r\n\r\n\t// A counter to track how many items to wait for before\r\n\t// the ready event fires. See trac-6781\r\n\treadyWait: 1,\r\n\r\n\t// Handle when the DOM is ready\r\n\tready: function( wait ) {\r\n\r\n\t\t// Abort if there are pending holds or we're already ready\r\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Remember that the DOM is ready\r\n\t\tjQuery.isReady = true;\r\n\r\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\r\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// If there are functions bound, to execute\r\n\t\treadyList.resolveWith( document, [ jQuery ] );\r\n\t}\r\n} );\r\n\r\njQuery.ready.then = readyList.then;\r\n\r\n// The ready event handler and self cleanup method\r\nfunction completed() {\r\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\r\n\twindow.removeEventListener( \"load\", completed );\r\n\tjQuery.ready();\r\n}\r\n\r\n// Catch cases where $(document).ready() is called\r\n// after the browser event has already occurred.\r\n// Support: IE <=9 - 10 only\r\n// Older IE sometimes signals \"interactive\" too soon\r\nif ( document.readyState === \"complete\" ||\r\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\r\n\r\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\r\n\twindow.setTimeout( jQuery.ready );\r\n\r\n} else {\r\n\r\n\t// Use the handy event callback\r\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\r\n\r\n\t// A fallback to window.onload, that will always work\r\n\twindow.addEventListener( \"load\", completed );\r\n}\r\n\r\n\r\n\r\n\r\n// Multifunctional method to get and set values of a collection\r\n// The value/s can optionally be executed if it's a function\r\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\r\n\tvar i = 0,\r\n\t\tlen = elems.length,\r\n\t\tbulk = key == null;\r\n\r\n\t// Sets many values\r\n\tif ( toType( key ) === \"object\" ) {\r\n\t\tchainable = true;\r\n\t\tfor ( i in key ) {\r\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\r\n\t\t}\r\n\r\n\t// Sets one value\r\n\t} else if ( value !== undefined ) {\r\n\t\tchainable = true;\r\n\r\n\t\tif ( !isFunction( value ) ) {\r\n\t\t\traw = true;\r\n\t\t}\r\n\r\n\t\tif ( bulk ) {\r\n\r\n\t\t\t// Bulk operations run against the entire set\r\n\t\t\tif ( raw ) {\r\n\t\t\t\tfn.call( elems, value );\r\n\t\t\t\tfn = null;\r\n\r\n\t\t\t// ...except when executing function values\r\n\t\t\t} else {\r\n\t\t\t\tbulk = fn;\r\n\t\t\t\tfn = function( elem, _key, value ) {\r\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( fn ) {\r\n\t\t\tfor ( ; i < len; i++ ) {\r\n\t\t\t\tfn(\r\n\t\t\t\t\telems[ i ], key, raw ?\r\n\t\t\t\t\t\tvalue :\r\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif ( chainable ) {\r\n\t\treturn elems;\r\n\t}\r\n\r\n\t// Gets\r\n\tif ( bulk ) {\r\n\t\treturn fn.call( elems );\r\n\t}\r\n\r\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\r\n};\r\n\r\n\r\n// Matches dashed string for camelizing\r\nvar rmsPrefix = /^-ms-/,\r\n\trdashAlpha = /-([a-z])/g;\r\n\r\n// Used by camelCase as callback to replace()\r\nfunction fcamelCase( _all, letter ) {\r\n\treturn letter.toUpperCase();\r\n}\r\n\r\n// Convert dashed to camelCase; used by the css and data modules\r\n// Support: IE <=9 - 11, Edge 12 - 15\r\n// Microsoft forgot to hump their vendor prefix (trac-9572)\r\nfunction camelCase( string ) {\r\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\r\n}\r\nvar acceptData = function( owner ) {\r\n\r\n\t// Accepts only:\r\n\t// - Node\r\n\t// - Node.ELEMENT_NODE\r\n\t// - Node.DOCUMENT_NODE\r\n\t// - Object\r\n\t// - Any\r\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\r\n};\r\n\r\n\r\n\r\n\r\nfunction Data() {\r\n\tthis.expando = jQuery.expando + Data.uid++;\r\n}\r\n\r\nData.uid = 1;\r\n\r\nData.prototype = {\r\n\r\n\tcache: function( owner ) {\r\n\r\n\t\t// Check if the owner object already has a cache\r\n\t\tvar value = owner[ this.expando ];\r\n\r\n\t\t// If not, create one\r\n\t\tif ( !value ) {\r\n\t\t\tvalue = {};\r\n\r\n\t\t\t// We can accept data for non-element nodes in modern browsers,\r\n\t\t\t// but we should not, see trac-8335.\r\n\t\t\t// Always return an empty object.\r\n\t\t\tif ( acceptData( owner ) ) {\r\n\r\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\r\n\t\t\t\t// use plain assignment\r\n\t\t\t\tif ( owner.nodeType ) {\r\n\t\t\t\t\towner[ this.expando ] = value;\r\n\r\n\t\t\t\t// Otherwise secure it in a non-enumerable property\r\n\t\t\t\t// configurable must be true to allow the property to be\r\n\t\t\t\t// deleted when data is removed\r\n\t\t\t\t} else {\r\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\r\n\t\t\t\t\t\tvalue: value,\r\n\t\t\t\t\t\tconfigurable: true\r\n\t\t\t\t\t} );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t},\r\n\tset: function( owner, data, value ) {\r\n\t\tvar prop,\r\n\t\t\tcache = this.cache( owner );\r\n\r\n\t\t// Handle: [ owner, key, value ] args\r\n\t\t// Always use camelCase key (gh-2257)\r\n\t\tif ( typeof data === \"string\" ) {\r\n\t\t\tcache[ camelCase( data ) ] = value;\r\n\r\n\t\t// Handle: [ owner, { properties } ] args\r\n\t\t} else {\r\n\r\n\t\t\t// Copy the properties one-by-one to the cache object\r\n\t\t\tfor ( prop in data ) {\r\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn cache;\r\n\t},\r\n\tget: function( owner, key ) {\r\n\t\treturn key === undefined ?\r\n\t\t\tthis.cache( owner ) :\r\n\r\n\t\t\t// Always use camelCase key (gh-2257)\r\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\r\n\t},\r\n\taccess: function( owner, key, value ) {\r\n\r\n\t\t// In cases where either:\r\n\t\t//\r\n\t\t// 1. No key was specified\r\n\t\t// 2. A string key was specified, but no value provided\r\n\t\t//\r\n\t\t// Take the \"read\" path and allow the get method to determine\r\n\t\t// which value to return, respectively either:\r\n\t\t//\r\n\t\t// 1. The entire cache object\r\n\t\t// 2. The data stored at the key\r\n\t\t//\r\n\t\tif ( key === undefined ||\r\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\r\n\r\n\t\t\treturn this.get( owner, key );\r\n\t\t}\r\n\r\n\t\t// When the key is not a string, or both a key and value\r\n\t\t// are specified, set or extend (existing objects) with either:\r\n\t\t//\r\n\t\t// 1. An object of properties\r\n\t\t// 2. A key and value\r\n\t\t//\r\n\t\tthis.set( owner, key, value );\r\n\r\n\t\t// Since the \"set\" path can have two possible entry points\r\n\t\t// return the expected data based on which path was taken[*]\r\n\t\treturn value !== undefined ? value : key;\r\n\t},\r\n\tremove: function( owner, key ) {\r\n\t\tvar i,\r\n\t\t\tcache = owner[ this.expando ];\r\n\r\n\t\tif ( cache === undefined ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( key !== undefined ) {\r\n\r\n\t\t\t// Support array or space separated string of keys\r\n\t\t\tif ( Array.isArray( key ) ) {\r\n\r\n\t\t\t\t// If key is an array of keys...\r\n\t\t\t\t// We always set camelCase keys, so remove that.\r\n\t\t\t\tkey = key.map( camelCase );\r\n\t\t\t} else {\r\n\t\t\t\tkey = camelCase( key );\r\n\r\n\t\t\t\t// If a key with the spaces exists, use it.\r\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\r\n\t\t\t\tkey = key in cache ?\r\n\t\t\t\t\t[ key ] :\r\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\r\n\t\t\t}\r\n\r\n\t\t\ti = key.length;\r\n\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tdelete cache[ key[ i ] ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove the expando if there's no more data\r\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\r\n\r\n\t\t\t// Support: Chrome <=35 - 45\r\n\t\t\t// Webkit & Blink performance suffers when deleting properties\r\n\t\t\t// from DOM nodes, so set to undefined instead\r\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\r\n\t\t\tif ( owner.nodeType ) {\r\n\t\t\t\towner[ this.expando ] = undefined;\r\n\t\t\t} else {\r\n\t\t\t\tdelete owner[ this.expando ];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\thasData: function( owner ) {\r\n\t\tvar cache = owner[ this.expando ];\r\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\r\n\t}\r\n};\r\nvar dataPriv = new Data();\r\n\r\nvar dataUser = new Data();\r\n\r\n\r\n\r\n//\tImplementation Summary\r\n//\r\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\r\n//\t2. Improve the module's maintainability by reducing the storage\r\n//\t\tpaths to a single mechanism.\r\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\r\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\r\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\r\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\r\n\r\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\r\n\trmultiDash = /[A-Z]/g;\r\n\r\nfunction getData( data ) {\r\n\tif ( data === \"true\" ) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif ( data === \"false\" ) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif ( data === \"null\" ) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Only convert to a number if it doesn't change the string\r\n\tif ( data === +data + \"\" ) {\r\n\t\treturn +data;\r\n\t}\r\n\r\n\tif ( rbrace.test( data ) ) {\r\n\t\treturn JSON.parse( data );\r\n\t}\r\n\r\n\treturn data;\r\n}\r\n\r\nfunction dataAttr( elem, key, data ) {\r\n\tvar name;\r\n\r\n\t// If nothing was found internally, try to fetch any\r\n\t// data from the HTML5 data-* attribute\r\n\tif ( data === undefined && elem.nodeType === 1 ) {\r\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\r\n\t\tdata = elem.getAttribute( name );\r\n\r\n\t\tif ( typeof data === \"string\" ) {\r\n\t\t\ttry {\r\n\t\t\t\tdata = getData( data );\r\n\t\t\t} catch ( e ) {}\r\n\r\n\t\t\t// Make sure we set the data so it isn't changed later\r\n\t\t\tdataUser.set( elem, key, data );\r\n\t\t} else {\r\n\t\t\tdata = undefined;\r\n\t\t}\r\n\t}\r\n\treturn data;\r\n}\r\n\r\njQuery.extend( {\r\n\thasData: function( elem ) {\r\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\r\n\t},\r\n\r\n\tdata: function( elem, name, data ) {\r\n\t\treturn dataUser.access( elem, name, data );\r\n\t},\r\n\r\n\tremoveData: function( elem, name ) {\r\n\t\tdataUser.remove( elem, name );\r\n\t},\r\n\r\n\t// TODO: Now that all calls to _data and _removeData have been replaced\r\n\t// with direct calls to dataPriv methods, these can be deprecated.\r\n\t_data: function( elem, name, data ) {\r\n\t\treturn dataPriv.access( elem, name, data );\r\n\t},\r\n\r\n\t_removeData: function( elem, name ) {\r\n\t\tdataPriv.remove( elem, name );\r\n\t}\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\tdata: function( key, value ) {\r\n\t\tvar i, name, data,\r\n\t\t\telem = this[ 0 ],\r\n\t\t\tattrs = elem && elem.attributes;\r\n\r\n\t\t// Gets all values\r\n\t\tif ( key === undefined ) {\r\n\t\t\tif ( this.length ) {\r\n\t\t\t\tdata = dataUser.get( elem );\r\n\r\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\r\n\t\t\t\t\ti = attrs.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\r\n\t\t\t\t\t\t// Support: IE 11 only\r\n\t\t\t\t\t\t// The attrs elements can be null (trac-14894)\r\n\t\t\t\t\t\tif ( attrs[ i ] ) {\r\n\t\t\t\t\t\t\tname = attrs[ i ].name;\r\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\r\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\r\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn data;\r\n\t\t}\r\n\r\n\t\t// Sets multiple values\r\n\t\tif ( typeof key === \"object\" ) {\r\n\t\t\treturn this.each( function() {\r\n\t\t\t\tdataUser.set( this, key );\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\treturn access( this, function( value ) {\r\n\t\t\tvar data;\r\n\r\n\t\t\t// The calling jQuery object (element matches) is not empty\r\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\r\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\r\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\r\n\t\t\t// throw an exception if an attempt to read a data cache is made.\r\n\t\t\tif ( elem && value === undefined ) {\r\n\r\n\t\t\t\t// Attempt to get data from the cache\r\n\t\t\t\t// The key will always be camelCased in Data\r\n\t\t\t\tdata = dataUser.get( elem, key );\r\n\t\t\t\tif ( data !== undefined ) {\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Attempt to \"discover\" the data in\r\n\t\t\t\t// HTML5 custom data-* attrs\r\n\t\t\t\tdata = dataAttr( elem, key );\r\n\t\t\t\tif ( data !== undefined ) {\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// We tried really hard, but the data doesn't exist.\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Set the data...\r\n\t\t\tthis.each( function() {\r\n\r\n\t\t\t\t// We always store the camelCased key\r\n\t\t\t\tdataUser.set( this, key, value );\r\n\t\t\t} );\r\n\t\t}, null, value, arguments.length > 1, null, true );\r\n\t},\r\n\r\n\tremoveData: function( key ) {\r\n\t\treturn this.each( function() {\r\n\t\t\tdataUser.remove( this, key );\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\n\r\njQuery.extend( {\r\n\tqueue: function( elem, type, data ) {\r\n\t\tvar queue;\r\n\r\n\t\tif ( elem ) {\r\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\r\n\t\t\tqueue = dataPriv.get( elem, type );\r\n\r\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\r\n\t\t\tif ( data ) {\r\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\r\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tqueue.push( data );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn queue || [];\r\n\t\t}\r\n\t},\r\n\r\n\tdequeue: function( elem, type ) {\r\n\t\ttype = type || \"fx\";\r\n\r\n\t\tvar queue = jQuery.queue( elem, type ),\r\n\t\t\tstartLength = queue.length,\r\n\t\t\tfn = queue.shift(),\r\n\t\t\thooks = jQuery._queueHooks( elem, type ),\r\n\t\t\tnext = function() {\r\n\t\t\t\tjQuery.dequeue( elem, type );\r\n\t\t\t};\r\n\r\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\r\n\t\tif ( fn === \"inprogress\" ) {\r\n\t\t\tfn = queue.shift();\r\n\t\t\tstartLength--;\r\n\t\t}\r\n\r\n\t\tif ( fn ) {\r\n\r\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\r\n\t\t\t// automatically dequeued\r\n\t\t\tif ( type === \"fx\" ) {\r\n\t\t\t\tqueue.unshift( \"inprogress\" );\r\n\t\t\t}\r\n\r\n\t\t\t// Clear up the last queue stop function\r\n\t\t\tdelete hooks.stop;\r\n\t\t\tfn.call( elem, next, hooks );\r\n\t\t}\r\n\r\n\t\tif ( !startLength && hooks ) {\r\n\t\t\thooks.empty.fire();\r\n\t\t}\r\n\t},\r\n\r\n\t// Not public - generate a queueHooks object, or return the current one\r\n\t_queueHooks: function( elem, type ) {\r\n\t\tvar key = type + \"queueHooks\";\r\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\r\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\r\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\r\n\t\t\t} )\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\tqueue: function( type, data ) {\r\n\t\tvar setter = 2;\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tdata = type;\r\n\t\t\ttype = \"fx\";\r\n\t\t\tsetter--;\r\n\t\t}\r\n\r\n\t\tif ( arguments.length < setter ) {\r\n\t\t\treturn jQuery.queue( this[ 0 ], type );\r\n\t\t}\r\n\r\n\t\treturn data === undefined ?\r\n\t\t\tthis :\r\n\t\t\tthis.each( function() {\r\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\r\n\r\n\t\t\t\t// Ensure a hooks for this queue\r\n\t\t\t\tjQuery._queueHooks( this, type );\r\n\r\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\r\n\t\t\t\t\tjQuery.dequeue( this, type );\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t},\r\n\tdequeue: function( type ) {\r\n\t\treturn this.each( function() {\r\n\t\t\tjQuery.dequeue( this, type );\r\n\t\t} );\r\n\t},\r\n\tclearQueue: function( type ) {\r\n\t\treturn this.queue( type || \"fx\", [] );\r\n\t},\r\n\r\n\t// Get a promise resolved when queues of a certain type\r\n\t// are emptied (fx is the type by default)\r\n\tpromise: function( type, obj ) {\r\n\t\tvar tmp,\r\n\t\t\tcount = 1,\r\n\t\t\tdefer = jQuery.Deferred(),\r\n\t\t\telements = this,\r\n\t\t\ti = this.length,\r\n\t\t\tresolve = function() {\r\n\t\t\t\tif ( !( --count ) ) {\r\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tobj = type;\r\n\t\t\ttype = undefined;\r\n\t\t}\r\n\t\ttype = type || \"fx\";\r\n\r\n\t\twhile ( i-- ) {\r\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\r\n\t\t\tif ( tmp && tmp.empty ) {\r\n\t\t\t\tcount++;\r\n\t\t\t\ttmp.empty.add( resolve );\r\n\t\t\t}\r\n\t\t}\r\n\t\tresolve();\r\n\t\treturn defer.promise( obj );\r\n\t}\r\n} );\r\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\r\n\r\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\r\n\r\n\r\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\r\n\r\nvar documentElement = document.documentElement;\r\n\r\n\r\n\r\n\tvar isAttached = function( elem ) {\r\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\r\n\t\t},\r\n\t\tcomposed = { composed: true };\r\n\r\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\r\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\r\n\t// Support: iOS 10.0-10.2 only\r\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\r\n\t// leading to errors. We need to check for `getRootNode`.\r\n\tif ( documentElement.getRootNode ) {\r\n\t\tisAttached = function( elem ) {\r\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\r\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\r\n\t\t};\r\n\t}\r\nvar isHiddenWithinTree = function( elem, el ) {\r\n\r\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\r\n\t\t// in that case, element will be second argument\r\n\t\telem = el || elem;\r\n\r\n\t\t// Inline style trumps all\r\n\t\treturn elem.style.display === \"none\" ||\r\n\t\t\telem.style.display === \"\" &&\r\n\r\n\t\t\t// Otherwise, check computed style\r\n\t\t\t// Support: Firefox <=43 - 45\r\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\r\n\t\t\t// in the document.\r\n\t\t\tisAttached( elem ) &&\r\n\r\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\r\n\t};\r\n\r\n\r\n\r\nfunction adjustCSS( elem, prop, valueParts, tween ) {\r\n\tvar adjusted, scale,\r\n\t\tmaxIterations = 20,\r\n\t\tcurrentValue = tween ?\r\n\t\t\tfunction() {\r\n\t\t\t\treturn tween.cur();\r\n\t\t\t} :\r\n\t\t\tfunction() {\r\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\r\n\t\t\t},\r\n\t\tinitial = currentValue(),\r\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\r\n\r\n\t\t// Starting value computation is required for potential unit mismatches\r\n\t\tinitialInUnit = elem.nodeType &&\r\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\r\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\r\n\r\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\r\n\r\n\t\t// Support: Firefox <=54\r\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\r\n\t\tinitial = initial / 2;\r\n\r\n\t\t// Trust units reported by jQuery.css\r\n\t\tunit = unit || initialInUnit[ 3 ];\r\n\r\n\t\t// Iteratively approximate from a nonzero starting point\r\n\t\tinitialInUnit = +initial || 1;\r\n\r\n\t\twhile ( maxIterations-- ) {\r\n\r\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\r\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\r\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\r\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\r\n\t\t\t\tmaxIterations = 0;\r\n\t\t\t}\r\n\t\t\tinitialInUnit = initialInUnit / scale;\r\n\r\n\t\t}\r\n\r\n\t\tinitialInUnit = initialInUnit * 2;\r\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\r\n\r\n\t\t// Make sure we update the tween properties later on\r\n\t\tvalueParts = valueParts || [];\r\n\t}\r\n\r\n\tif ( valueParts ) {\r\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\r\n\r\n\t\t// Apply relative offset (+=/-=) if specified\r\n\t\tadjusted = valueParts[ 1 ] ?\r\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\r\n\t\t\t+valueParts[ 2 ];\r\n\t\tif ( tween ) {\r\n\t\t\ttween.unit = unit;\r\n\t\t\ttween.start = initialInUnit;\r\n\t\t\ttween.end = adjusted;\r\n\t\t}\r\n\t}\r\n\treturn adjusted;\r\n}\r\n\r\n\r\nvar defaultDisplayMap = {};\r\n\r\nfunction getDefaultDisplay( elem ) {\r\n\tvar temp,\r\n\t\tdoc = elem.ownerDocument,\r\n\t\tnodeName = elem.nodeName,\r\n\t\tdisplay = defaultDisplayMap[ nodeName ];\r\n\r\n\tif ( display ) {\r\n\t\treturn display;\r\n\t}\r\n\r\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\r\n\tdisplay = jQuery.css( temp, \"display\" );\r\n\r\n\ttemp.parentNode.removeChild( temp );\r\n\r\n\tif ( display === \"none\" ) {\r\n\t\tdisplay = \"block\";\r\n\t}\r\n\tdefaultDisplayMap[ nodeName ] = display;\r\n\r\n\treturn display;\r\n}\r\n\r\nfunction showHide( elements, show ) {\r\n\tvar display, elem,\r\n\t\tvalues = [],\r\n\t\tindex = 0,\r\n\t\tlength = elements.length;\r\n\r\n\t// Determine new display value for elements that need to change\r\n\tfor ( ; index < length; index++ ) {\r\n\t\telem = elements[ index ];\r\n\t\tif ( !elem.style ) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tdisplay = elem.style.display;\r\n\t\tif ( show ) {\r\n\r\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\r\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\r\n\t\t\t// inline or about-to-be-restored)\r\n\t\t\tif ( display === \"none\" ) {\r\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\r\n\t\t\t\tif ( !values[ index ] ) {\r\n\t\t\t\t\telem.style.display = \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\r\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ( display !== \"none\" ) {\r\n\t\t\t\tvalues[ index ] = \"none\";\r\n\r\n\t\t\t\t// Remember what we're overwriting\r\n\t\t\t\tdataPriv.set( elem, \"display\", display );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Set the display of the elements in a second loop to avoid constant reflow\r\n\tfor ( index = 0; index < length; index++ ) {\r\n\t\tif ( values[ index ] != null ) {\r\n\t\t\telements[ index ].style.display = values[ index ];\r\n\t\t}\r\n\t}\r\n\r\n\treturn elements;\r\n}\r\n\r\njQuery.fn.extend( {\r\n\tshow: function() {\r\n\t\treturn showHide( this, true );\r\n\t},\r\n\thide: function() {\r\n\t\treturn showHide( this );\r\n\t},\r\n\ttoggle: function( state ) {\r\n\t\tif ( typeof state === \"boolean\" ) {\r\n\t\t\treturn state ? this.show() : this.hide();\r\n\t\t}\r\n\r\n\t\treturn this.each( function() {\r\n\t\t\tif ( isHiddenWithinTree( this ) ) {\r\n\t\t\t\tjQuery( this ).show();\r\n\t\t\t} else {\r\n\t\t\t\tjQuery( this ).hide();\r\n\t\t\t}\r\n\t\t} );\r\n\t}\r\n} );\r\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\r\n\r\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\r\n\r\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\r\n\r\n\r\n\r\n( function() {\r\n\tvar fragment = document.createDocumentFragment(),\r\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\r\n\t\tinput = document.createElement( \"input\" );\r\n\r\n\t// Support: Android 4.0 - 4.3 only\r\n\t// Check state lost if the name is set (trac-11217)\r\n\t// Support: Windows Web Apps (WWA)\r\n\t// `name` and `type` must use .setAttribute for WWA (trac-14901)\r\n\tinput.setAttribute( \"type\", \"radio\" );\r\n\tinput.setAttribute( \"checked\", \"checked\" );\r\n\tinput.setAttribute( \"name\", \"t\" );\r\n\r\n\tdiv.appendChild( input );\r\n\r\n\t// Support: Android <=4.1 only\r\n\t// Older WebKit doesn't clone checked state correctly in fragments\r\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\r\n\r\n\t// Support: IE <=11 only\r\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\r\n\tdiv.innerHTML = \"\";\r\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\r\n\r\n\t// Support: IE <=9 only\r\n\t// IE <=9 replaces \";\r\n\tsupport.option = !!div.lastChild;\r\n} )();\r\n\r\n\r\n// We have to close these tags to support XHTML (trac-13200)\r\nvar wrapMap = {\r\n\r\n\t// XHTML parsers do not magically insert elements in the\r\n\t// same way that tag soup parsers do. So we cannot shorten\r\n\t// this by omitting or other required elements.\r\n\tthead: [ 1, \"\", \"
                    \" ],\r\n\tcol: [ 2, \"\", \"
                    \" ],\r\n\ttr: [ 2, \"\", \"
                    \" ],\r\n\ttd: [ 3, \"\", \"
                    \" ],\r\n\r\n\t_default: [ 0, \"\", \"\" ]\r\n};\r\n\r\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\r\nwrapMap.th = wrapMap.td;\r\n\r\n// Support: IE <=9 only\r\nif ( !support.option ) {\r\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\r\n}\r\n\r\n\r\nfunction getAll( context, tag ) {\r\n\r\n\t// Support: IE <=9 - 11 only\r\n\t// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\r\n\tvar ret;\r\n\r\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\r\n\t\tret = context.getElementsByTagName( tag || \"*\" );\r\n\r\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\r\n\t\tret = context.querySelectorAll( tag || \"*\" );\r\n\r\n\t} else {\r\n\t\tret = [];\r\n\t}\r\n\r\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\r\n\t\treturn jQuery.merge( [ context ], ret );\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n\r\n// Mark scripts as having already been evaluated\r\nfunction setGlobalEval( elems, refElements ) {\r\n\tvar i = 0,\r\n\t\tl = elems.length;\r\n\r\n\tfor ( ; i < l; i++ ) {\r\n\t\tdataPriv.set(\r\n\t\t\telems[ i ],\r\n\t\t\t\"globalEval\",\r\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nvar rhtml = /<|&#?\\w+;/;\r\n\r\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\r\n\tvar elem, tmp, tag, wrap, attached, j,\r\n\t\tfragment = context.createDocumentFragment(),\r\n\t\tnodes = [],\r\n\t\ti = 0,\r\n\t\tl = elems.length;\r\n\r\n\tfor ( ; i < l; i++ ) {\r\n\t\telem = elems[ i ];\r\n\r\n\t\tif ( elem || elem === 0 ) {\r\n\r\n\t\t\t// Add nodes directly\r\n\t\t\tif ( toType( elem ) === \"object\" ) {\r\n\r\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\r\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\r\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\r\n\r\n\t\t\t// Convert non-html into a text node\r\n\t\t\t} else if ( !rhtml.test( elem ) ) {\r\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\r\n\r\n\t\t\t// Convert html into DOM nodes\r\n\t\t\t} else {\r\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\r\n\r\n\t\t\t\t// Deserialize a standard representation\r\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\r\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\r\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\r\n\r\n\t\t\t\t// Descend through wrappers to the right content\r\n\t\t\t\tj = wrap[ 0 ];\r\n\t\t\t\twhile ( j-- ) {\r\n\t\t\t\t\ttmp = tmp.lastChild;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\r\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\r\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\r\n\r\n\t\t\t\t// Remember the top-level container\r\n\t\t\t\ttmp = fragment.firstChild;\r\n\r\n\t\t\t\t// Ensure the created nodes are orphaned (trac-12392)\r\n\t\t\t\ttmp.textContent = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Remove wrapper from fragment\r\n\tfragment.textContent = \"\";\r\n\r\n\ti = 0;\r\n\twhile ( ( elem = nodes[ i++ ] ) ) {\r\n\r\n\t\t// Skip elements already in the context collection (trac-4087)\r\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\r\n\t\t\tif ( ignored ) {\r\n\t\t\t\tignored.push( elem );\r\n\t\t\t}\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tattached = isAttached( elem );\r\n\r\n\t\t// Append to fragment\r\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\r\n\r\n\t\t// Preserve script evaluation history\r\n\t\tif ( attached ) {\r\n\t\t\tsetGlobalEval( tmp );\r\n\t\t}\r\n\r\n\t\t// Capture executables\r\n\t\tif ( scripts ) {\r\n\t\t\tj = 0;\r\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\r\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\r\n\t\t\t\t\tscripts.push( elem );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn fragment;\r\n}\r\n\r\n\r\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\r\n\r\nfunction returnTrue() {\r\n\treturn true;\r\n}\r\n\r\nfunction returnFalse() {\r\n\treturn false;\r\n}\r\n\r\nfunction on( elem, types, selector, data, fn, one ) {\r\n\tvar origFn, type;\r\n\r\n\t// Types can be a map of types/handlers\r\n\tif ( typeof types === \"object\" ) {\r\n\r\n\t\t// ( types-Object, selector, data )\r\n\t\tif ( typeof selector !== \"string\" ) {\r\n\r\n\t\t\t// ( types-Object, data )\r\n\t\t\tdata = data || selector;\r\n\t\t\tselector = undefined;\r\n\t\t}\r\n\t\tfor ( type in types ) {\r\n\t\t\ton( elem, type, selector, data, types[ type ], one );\r\n\t\t}\r\n\t\treturn elem;\r\n\t}\r\n\r\n\tif ( data == null && fn == null ) {\r\n\r\n\t\t// ( types, fn )\r\n\t\tfn = selector;\r\n\t\tdata = selector = undefined;\r\n\t} else if ( fn == null ) {\r\n\t\tif ( typeof selector === \"string\" ) {\r\n\r\n\t\t\t// ( types, selector, fn )\r\n\t\t\tfn = data;\r\n\t\t\tdata = undefined;\r\n\t\t} else {\r\n\r\n\t\t\t// ( types, data, fn )\r\n\t\t\tfn = data;\r\n\t\t\tdata = selector;\r\n\t\t\tselector = undefined;\r\n\t\t}\r\n\t}\r\n\tif ( fn === false ) {\r\n\t\tfn = returnFalse;\r\n\t} else if ( !fn ) {\r\n\t\treturn elem;\r\n\t}\r\n\r\n\tif ( one === 1 ) {\r\n\t\torigFn = fn;\r\n\t\tfn = function( event ) {\r\n\r\n\t\t\t// Can use an empty set, since event contains the info\r\n\t\t\tjQuery().off( event );\r\n\t\t\treturn origFn.apply( this, arguments );\r\n\t\t};\r\n\r\n\t\t// Use same guid so caller can remove using origFn\r\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\r\n\t}\r\n\treturn elem.each( function() {\r\n\t\tjQuery.event.add( this, types, fn, data, selector );\r\n\t} );\r\n}\r\n\r\n/*\r\n * Helper functions for managing events -- not part of the public interface.\r\n * Props to Dean Edwards' addEvent library for many of the ideas.\r\n */\r\njQuery.event = {\r\n\r\n\tglobal: {},\r\n\r\n\tadd: function( elem, types, handler, data, selector ) {\r\n\r\n\t\tvar handleObjIn, eventHandle, tmp,\r\n\t\t\tevents, t, handleObj,\r\n\t\t\tspecial, handlers, type, namespaces, origType,\r\n\t\t\telemData = dataPriv.get( elem );\r\n\r\n\t\t// Only attach events to objects that accept data\r\n\t\tif ( !acceptData( elem ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Caller can pass in an object of custom data in lieu of the handler\r\n\t\tif ( handler.handler ) {\r\n\t\t\thandleObjIn = handler;\r\n\t\t\thandler = handleObjIn.handler;\r\n\t\t\tselector = handleObjIn.selector;\r\n\t\t}\r\n\r\n\t\t// Ensure that invalid selectors throw exceptions at attach time\r\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\r\n\t\tif ( selector ) {\r\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\r\n\t\t}\r\n\r\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\r\n\t\tif ( !handler.guid ) {\r\n\t\t\thandler.guid = jQuery.guid++;\r\n\t\t}\r\n\r\n\t\t// Init the element's event structure and main handler, if this is the first\r\n\t\tif ( !( events = elemData.events ) ) {\r\n\t\t\tevents = elemData.events = Object.create( null );\r\n\t\t}\r\n\t\tif ( !( eventHandle = elemData.handle ) ) {\r\n\t\t\teventHandle = elemData.handle = function( e ) {\r\n\r\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\r\n\t\t\t\t// when an event is called after a page has unloaded\r\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\r\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Handle multiple events separated by a space\r\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\r\n\t\tt = types.length;\r\n\t\twhile ( t-- ) {\r\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\r\n\t\t\ttype = origType = tmp[ 1 ];\r\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\r\n\r\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\r\n\t\t\tif ( !type ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// If event changes its type, use the special event handlers for the changed type\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\r\n\t\t\t// If selector defined, determine special event api type, otherwise given type\r\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\r\n\r\n\t\t\t// Update special based on newly reset type\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\r\n\t\t\t// handleObj is passed to all event handlers\r\n\t\t\thandleObj = jQuery.extend( {\r\n\t\t\t\ttype: type,\r\n\t\t\t\torigType: origType,\r\n\t\t\t\tdata: data,\r\n\t\t\t\thandler: handler,\r\n\t\t\t\tguid: handler.guid,\r\n\t\t\t\tselector: selector,\r\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\r\n\t\t\t\tnamespace: namespaces.join( \".\" )\r\n\t\t\t}, handleObjIn );\r\n\r\n\t\t\t// Init the event handler queue if we're the first\r\n\t\t\tif ( !( handlers = events[ type ] ) ) {\r\n\t\t\t\thandlers = events[ type ] = [];\r\n\t\t\t\thandlers.delegateCount = 0;\r\n\r\n\t\t\t\t// Only use addEventListener if the special events handler returns false\r\n\t\t\t\tif ( !special.setup ||\r\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\r\n\r\n\t\t\t\t\tif ( elem.addEventListener ) {\r\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( special.add ) {\r\n\t\t\t\tspecial.add.call( elem, handleObj );\r\n\r\n\t\t\t\tif ( !handleObj.handler.guid ) {\r\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Add to the element's handler list, delegates in front\r\n\t\t\tif ( selector ) {\r\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\r\n\t\t\t} else {\r\n\t\t\t\thandlers.push( handleObj );\r\n\t\t\t}\r\n\r\n\t\t\t// Keep track of which events have ever been used, for event optimization\r\n\t\t\tjQuery.event.global[ type ] = true;\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t// Detach an event or set of events from an element\r\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\r\n\r\n\t\tvar j, origCount, tmp,\r\n\t\t\tevents, t, handleObj,\r\n\t\t\tspecial, handlers, type, namespaces, origType,\r\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\r\n\r\n\t\tif ( !elemData || !( events = elemData.events ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Once for each type.namespace in types; type may be omitted\r\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\r\n\t\tt = types.length;\r\n\t\twhile ( t-- ) {\r\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\r\n\t\t\ttype = origType = tmp[ 1 ];\r\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\r\n\r\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\r\n\t\t\tif ( !type ) {\r\n\t\t\t\tfor ( type in events ) {\r\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\r\n\t\t\t\t}\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\r\n\t\t\thandlers = events[ type ] || [];\r\n\t\t\ttmp = tmp[ 2 ] &&\r\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\r\n\r\n\t\t\t// Remove matching events\r\n\t\t\torigCount = j = handlers.length;\r\n\t\t\twhile ( j-- ) {\r\n\t\t\t\thandleObj = handlers[ j ];\r\n\r\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\r\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\r\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\r\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\r\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\r\n\t\t\t\t\thandlers.splice( j, 1 );\r\n\r\n\t\t\t\t\tif ( handleObj.selector ) {\r\n\t\t\t\t\t\thandlers.delegateCount--;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( special.remove ) {\r\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\r\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\r\n\t\t\tif ( origCount && !handlers.length ) {\r\n\t\t\t\tif ( !special.teardown ||\r\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\r\n\r\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdelete events[ type ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove data and the expando if it's no longer used\r\n\t\tif ( jQuery.isEmptyObject( events ) ) {\r\n\t\t\tdataPriv.remove( elem, \"handle events\" );\r\n\t\t}\r\n\t},\r\n\r\n\tdispatch: function( nativeEvent ) {\r\n\r\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\r\n\t\t\targs = new Array( arguments.length ),\r\n\r\n\t\t\t// Make a writable jQuery.Event from the native event object\r\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\r\n\r\n\t\t\thandlers = (\r\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\r\n\t\t\t)[ event.type ] || [],\r\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\r\n\r\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\r\n\t\targs[ 0 ] = event;\r\n\r\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\r\n\t\t\targs[ i ] = arguments[ i ];\r\n\t\t}\r\n\r\n\t\tevent.delegateTarget = this;\r\n\r\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\r\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Determine handlers\r\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\r\n\r\n\t\t// Run delegates first; they may want to stop propagation beneath us\r\n\t\ti = 0;\r\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\r\n\t\t\tevent.currentTarget = matched.elem;\r\n\r\n\t\t\tj = 0;\r\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\r\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\r\n\r\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\r\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\r\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\r\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\r\n\r\n\t\t\t\t\tevent.handleObj = handleObj;\r\n\t\t\t\t\tevent.data = handleObj.data;\r\n\r\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\r\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\r\n\r\n\t\t\t\t\tif ( ret !== undefined ) {\r\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\r\n\t\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t\tevent.stopPropagation();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Call the postDispatch hook for the mapped type\r\n\t\tif ( special.postDispatch ) {\r\n\t\t\tspecial.postDispatch.call( this, event );\r\n\t\t}\r\n\r\n\t\treturn event.result;\r\n\t},\r\n\r\n\thandlers: function( event, handlers ) {\r\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\r\n\t\t\thandlerQueue = [],\r\n\t\t\tdelegateCount = handlers.delegateCount,\r\n\t\t\tcur = event.target;\r\n\r\n\t\t// Find delegate handlers\r\n\t\tif ( delegateCount &&\r\n\r\n\t\t\t// Support: IE <=9\r\n\t\t\t// Black-hole SVG instance trees (trac-13180)\r\n\t\t\tcur.nodeType &&\r\n\r\n\t\t\t// Support: Firefox <=42\r\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\r\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\r\n\t\t\t// Support: IE 11 only\r\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\r\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\r\n\r\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\r\n\r\n\t\t\t\t// Don't check non-elements (trac-13208)\r\n\t\t\t\t// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\r\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\r\n\t\t\t\t\tmatchedHandlers = [];\r\n\t\t\t\t\tmatchedSelectors = {};\r\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\r\n\t\t\t\t\t\thandleObj = handlers[ i ];\r\n\r\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (trac-13203)\r\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\r\n\r\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\r\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\r\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\r\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\r\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( matchedHandlers.length ) {\r\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Add the remaining (directly-bound) handlers\r\n\t\tcur = this;\r\n\t\tif ( delegateCount < handlers.length ) {\r\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\r\n\t\t}\r\n\r\n\t\treturn handlerQueue;\r\n\t},\r\n\r\n\taddProp: function( name, hook ) {\r\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: true,\r\n\r\n\t\t\tget: isFunction( hook ) ?\r\n\t\t\t\tfunction() {\r\n\t\t\t\t\tif ( this.originalEvent ) {\r\n\t\t\t\t\t\treturn hook( this.originalEvent );\r\n\t\t\t\t\t}\r\n\t\t\t\t} :\r\n\t\t\t\tfunction() {\r\n\t\t\t\t\tif ( this.originalEvent ) {\r\n\t\t\t\t\t\treturn this.originalEvent[ name ];\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\tset: function( value ) {\r\n\t\t\t\tObject.defineProperty( this, name, {\r\n\t\t\t\t\tenumerable: true,\r\n\t\t\t\t\tconfigurable: true,\r\n\t\t\t\t\twritable: true,\r\n\t\t\t\t\tvalue: value\r\n\t\t\t\t} );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tfix: function( originalEvent ) {\r\n\t\treturn originalEvent[ jQuery.expando ] ?\r\n\t\t\toriginalEvent :\r\n\t\t\tnew jQuery.Event( originalEvent );\r\n\t},\r\n\r\n\tspecial: {\r\n\t\tload: {\r\n\r\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\r\n\t\t\tnoBubble: true\r\n\t\t},\r\n\t\tclick: {\r\n\r\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\r\n\t\t\tsetup: function( data ) {\r\n\r\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\r\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\r\n\t\t\t\tvar el = this || data;\r\n\r\n\t\t\t\t// Claim the first handler\r\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\r\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\r\n\r\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\r\n\t\t\t\t\tleverageNative( el, \"click\", true );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Return false to allow normal processing in the caller\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t\ttrigger: function( data ) {\r\n\r\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\r\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\r\n\t\t\t\tvar el = this || data;\r\n\r\n\t\t\t\t// Force setup before triggering a click\r\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\r\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\r\n\r\n\t\t\t\t\tleverageNative( el, \"click\" );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Return non-false to allow normal event-path propagation\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\r\n\t\t\t// For cross-browser consistency, suppress native .click() on links\r\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\r\n\t\t\t_default: function( event ) {\r\n\t\t\t\tvar target = event.target;\r\n\t\t\t\treturn rcheckableType.test( target.type ) &&\r\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\r\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\r\n\t\t\t\t\tnodeName( target, \"a\" );\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tbeforeunload: {\r\n\t\t\tpostDispatch: function( event ) {\r\n\r\n\t\t\t\t// Support: Firefox 20+\r\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\r\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\r\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// Ensure the presence of an event listener that handles manually-triggered\r\n// synthetic events by interrupting progress until reinvoked in response to\r\n// *native* events that it fires directly, ensuring that state changes have\r\n// already occurred before other listeners are invoked.\r\nfunction leverageNative( el, type, isSetup ) {\r\n\r\n\t// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\r\n\tif ( !isSetup ) {\r\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\r\n\t\t\tjQuery.event.add( el, type, returnTrue );\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Register the controller as a special universal handler for all event namespaces\r\n\tdataPriv.set( el, type, false );\r\n\tjQuery.event.add( el, type, {\r\n\t\tnamespace: false,\r\n\t\thandler: function( event ) {\r\n\t\t\tvar result,\r\n\t\t\t\tsaved = dataPriv.get( this, type );\r\n\r\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\r\n\r\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\r\n\t\t\t\tif ( !saved ) {\r\n\r\n\t\t\t\t\t// Store arguments for use when handling the inner native event\r\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\r\n\t\t\t\t\t// will not be confused with a leftover capture object.\r\n\t\t\t\t\tsaved = slice.call( arguments );\r\n\t\t\t\t\tdataPriv.set( this, type, saved );\r\n\r\n\t\t\t\t\t// Trigger the native event and capture its result\r\n\t\t\t\t\tthis[ type ]();\r\n\t\t\t\t\tresult = dataPriv.get( this, type );\r\n\t\t\t\t\tdataPriv.set( this, type, false );\r\n\r\n\t\t\t\t\tif ( saved !== result ) {\r\n\r\n\t\t\t\t\t\t// Cancel the outer synthetic event\r\n\t\t\t\t\t\tevent.stopImmediatePropagation();\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\r\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering\r\n\t\t\t\t// the native event and prevent that from happening again here.\r\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\r\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\r\n\t\t\t\t// less bad than duplication.\r\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\r\n\t\t\t\t\tevent.stopPropagation();\r\n\t\t\t\t}\r\n\r\n\t\t\t// If this is a native event triggered above, everything is now in order\r\n\t\t\t// Fire an inner synthetic event with the original arguments\r\n\t\t\t} else if ( saved ) {\r\n\r\n\t\t\t\t// ...and capture the result\r\n\t\t\t\tdataPriv.set( this, type, jQuery.event.trigger(\r\n\t\t\t\t\tsaved[ 0 ],\r\n\t\t\t\t\tsaved.slice( 1 ),\r\n\t\t\t\t\tthis\r\n\t\t\t\t) );\r\n\r\n\t\t\t\t// Abort handling of the native event by all jQuery handlers while allowing\r\n\t\t\t\t// native handlers on the same element to run. On target, this is achieved\r\n\t\t\t\t// by stopping immediate propagation just on the jQuery event. However,\r\n\t\t\t\t// the native event is re-wrapped by a jQuery one on each level of the\r\n\t\t\t\t// propagation so the only way to stop it for jQuery is to stop it for\r\n\t\t\t\t// everyone via native `stopPropagation()`. This is not a problem for\r\n\t\t\t\t// focus/blur which don't bubble, but it does also stop click on checkboxes\r\n\t\t\t\t// and radios. We accept this limitation.\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tevent.isImmediatePropagationStopped = returnTrue;\r\n\t\t\t}\r\n\t\t}\r\n\t} );\r\n}\r\n\r\njQuery.removeEvent = function( elem, type, handle ) {\r\n\r\n\t// This \"if\" is needed for plain objects\r\n\tif ( elem.removeEventListener ) {\r\n\t\telem.removeEventListener( type, handle );\r\n\t}\r\n};\r\n\r\njQuery.Event = function( src, props ) {\r\n\r\n\t// Allow instantiation without the 'new' keyword\r\n\tif ( !( this instanceof jQuery.Event ) ) {\r\n\t\treturn new jQuery.Event( src, props );\r\n\t}\r\n\r\n\t// Event object\r\n\tif ( src && src.type ) {\r\n\t\tthis.originalEvent = src;\r\n\t\tthis.type = src.type;\r\n\r\n\t\t// Events bubbling up the document may have been marked as prevented\r\n\t\t// by a handler lower down the tree; reflect the correct value.\r\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\r\n\t\t\t\tsrc.defaultPrevented === undefined &&\r\n\r\n\t\t\t\t// Support: Android <=2.3 only\r\n\t\t\t\tsrc.returnValue === false ?\r\n\t\t\treturnTrue :\r\n\t\t\treturnFalse;\r\n\r\n\t\t// Create target properties\r\n\t\t// Support: Safari <=6 - 7 only\r\n\t\t// Target should not be a text node (trac-504, trac-13143)\r\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\r\n\t\t\tsrc.target.parentNode :\r\n\t\t\tsrc.target;\r\n\r\n\t\tthis.currentTarget = src.currentTarget;\r\n\t\tthis.relatedTarget = src.relatedTarget;\r\n\r\n\t// Event type\r\n\t} else {\r\n\t\tthis.type = src;\r\n\t}\r\n\r\n\t// Put explicitly provided properties onto the event object\r\n\tif ( props ) {\r\n\t\tjQuery.extend( this, props );\r\n\t}\r\n\r\n\t// Create a timestamp if incoming event doesn't have one\r\n\tthis.timeStamp = src && src.timeStamp || Date.now();\r\n\r\n\t// Mark it as fixed\r\n\tthis[ jQuery.expando ] = true;\r\n};\r\n\r\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\r\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\r\njQuery.Event.prototype = {\r\n\tconstructor: jQuery.Event,\r\n\tisDefaultPrevented: returnFalse,\r\n\tisPropagationStopped: returnFalse,\r\n\tisImmediatePropagationStopped: returnFalse,\r\n\tisSimulated: false,\r\n\r\n\tpreventDefault: function() {\r\n\t\tvar e = this.originalEvent;\r\n\r\n\t\tthis.isDefaultPrevented = returnTrue;\r\n\r\n\t\tif ( e && !this.isSimulated ) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t},\r\n\tstopPropagation: function() {\r\n\t\tvar e = this.originalEvent;\r\n\r\n\t\tthis.isPropagationStopped = returnTrue;\r\n\r\n\t\tif ( e && !this.isSimulated ) {\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\t},\r\n\tstopImmediatePropagation: function() {\r\n\t\tvar e = this.originalEvent;\r\n\r\n\t\tthis.isImmediatePropagationStopped = returnTrue;\r\n\r\n\t\tif ( e && !this.isSimulated ) {\r\n\t\t\te.stopImmediatePropagation();\r\n\t\t}\r\n\r\n\t\tthis.stopPropagation();\r\n\t}\r\n};\r\n\r\n// Includes all common event props including KeyEvent and MouseEvent specific props\r\njQuery.each( {\r\n\taltKey: true,\r\n\tbubbles: true,\r\n\tcancelable: true,\r\n\tchangedTouches: true,\r\n\tctrlKey: true,\r\n\tdetail: true,\r\n\teventPhase: true,\r\n\tmetaKey: true,\r\n\tpageX: true,\r\n\tpageY: true,\r\n\tshiftKey: true,\r\n\tview: true,\r\n\t\"char\": true,\r\n\tcode: true,\r\n\tcharCode: true,\r\n\tkey: true,\r\n\tkeyCode: true,\r\n\tbutton: true,\r\n\tbuttons: true,\r\n\tclientX: true,\r\n\tclientY: true,\r\n\toffsetX: true,\r\n\toffsetY: true,\r\n\tpointerId: true,\r\n\tpointerType: true,\r\n\tscreenX: true,\r\n\tscreenY: true,\r\n\ttargetTouches: true,\r\n\ttoElement: true,\r\n\ttouches: true,\r\n\twhich: true\r\n}, jQuery.event.addProp );\r\n\r\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\r\n\r\n\tfunction focusMappedHandler( nativeEvent ) {\r\n\t\tif ( document.documentMode ) {\r\n\r\n\t\t\t// Support: IE 11+\r\n\t\t\t// Attach a single focusin/focusout handler on the document while someone wants\r\n\t\t\t// focus/blur. This is because the former are synchronous in IE while the latter\r\n\t\t\t// are async. In other browsers, all those handlers are invoked synchronously.\r\n\r\n\t\t\t// `handle` from private data would already wrap the event, but we need\r\n\t\t\t// to change the `type` here.\r\n\t\t\tvar handle = dataPriv.get( this, \"handle\" ),\r\n\t\t\t\tevent = jQuery.event.fix( nativeEvent );\r\n\t\t\tevent.type = nativeEvent.type === \"focusin\" ? \"focus\" : \"blur\";\r\n\t\t\tevent.isSimulated = true;\r\n\r\n\t\t\t// First, handle focusin/focusout\r\n\t\t\thandle( nativeEvent );\r\n\r\n\t\t\t// ...then, handle focus/blur\r\n\t\t\t//\r\n\t\t\t// focus/blur don't bubble while focusin/focusout do; simulate the former by only\r\n\t\t\t// invoking the handler at the lower level.\r\n\t\t\tif ( event.target === event.currentTarget ) {\r\n\r\n\t\t\t\t// The setup part calls `leverageNative`, which, in turn, calls\r\n\t\t\t\t// `jQuery.event.add`, so event handle will already have been set\r\n\t\t\t\t// by this point.\r\n\t\t\t\thandle( event );\r\n\t\t\t}\r\n\t\t} else {\r\n\r\n\t\t\t// For non-IE browsers, attach a single capturing handler on the document\r\n\t\t\t// while someone wants focusin/focusout.\r\n\t\t\tjQuery.event.simulate( delegateType, nativeEvent.target,\r\n\t\t\t\tjQuery.event.fix( nativeEvent ) );\r\n\t\t}\r\n\t}\r\n\r\n\tjQuery.event.special[ type ] = {\r\n\r\n\t\t// Utilize native event if possible so blur/focus sequence is correct\r\n\t\tsetup: function() {\r\n\r\n\t\t\tvar attaches;\r\n\r\n\t\t\t// Claim the first handler\r\n\t\t\t// dataPriv.set( this, \"focus\", ... )\r\n\t\t\t// dataPriv.set( this, \"blur\", ... )\r\n\t\t\tleverageNative( this, type, true );\r\n\r\n\t\t\tif ( document.documentMode ) {\r\n\r\n\t\t\t\t// Support: IE 9 - 11+\r\n\t\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\r\n\t\t\t\t// so we need to coordinate setup & teardown parts between those events.\r\n\t\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\r\n\t\t\t\tattaches = dataPriv.get( this, delegateType );\r\n\t\t\t\tif ( !attaches ) {\r\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\r\n\t\t\t\t}\r\n\t\t\t\tdataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// Return false to allow normal processing in the caller\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\t\ttrigger: function() {\r\n\r\n\t\t\t// Force setup before trigger\r\n\t\t\tleverageNative( this, type );\r\n\r\n\t\t\t// Return non-false to allow normal event-path propagation\r\n\t\t\treturn true;\r\n\t\t},\r\n\r\n\t\tteardown: function() {\r\n\t\t\tvar attaches;\r\n\r\n\t\t\tif ( document.documentMode ) {\r\n\t\t\t\tattaches = dataPriv.get( this, delegateType ) - 1;\r\n\t\t\t\tif ( !attaches ) {\r\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\r\n\t\t\t\t\tdataPriv.remove( this, delegateType );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataPriv.set( this, delegateType, attaches );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// Return false to indicate standard teardown should be applied\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Suppress native focus or blur if we're currently inside\r\n\t\t// a leveraged native-event stack\r\n\t\t_default: function( event ) {\r\n\t\t\treturn dataPriv.get( event.target, type );\r\n\t\t},\r\n\r\n\t\tdelegateType: delegateType\r\n\t};\r\n\r\n\t// Support: Firefox <=44\r\n\t// Firefox doesn't have focus(in | out) events\r\n\t// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\r\n\t//\r\n\t// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\r\n\t// focus(in | out) events fire after focus & blur events,\r\n\t// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\r\n\t// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\r\n\t//\r\n\t// Support: IE 9 - 11+\r\n\t// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\r\n\t// attach a single handler for both events in IE.\r\n\tjQuery.event.special[ delegateType ] = {\r\n\t\tsetup: function() {\r\n\r\n\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\r\n\t\t\t// (via `this.document`) & document (via `this`).\r\n\t\t\tvar doc = this.ownerDocument || this.document || this,\r\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\r\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType );\r\n\r\n\t\t\t// Support: IE 9 - 11+\r\n\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\r\n\t\t\t// so we need to coordinate setup & teardown parts between those events.\r\n\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\r\n\t\t\tif ( !attaches ) {\r\n\t\t\t\tif ( document.documentMode ) {\r\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdoc.addEventListener( type, focusMappedHandler, true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );\r\n\t\t},\r\n\t\tteardown: function() {\r\n\t\t\tvar doc = this.ownerDocument || this.document || this,\r\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\r\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType ) - 1;\r\n\r\n\t\t\tif ( !attaches ) {\r\n\t\t\t\tif ( document.documentMode ) {\r\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdoc.removeEventListener( type, focusMappedHandler, true );\r\n\t\t\t\t}\r\n\t\t\t\tdataPriv.remove( dataHolder, delegateType );\r\n\t\t\t} else {\r\n\t\t\t\tdataPriv.set( dataHolder, delegateType, attaches );\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n} );\r\n\r\n// Create mouseenter/leave events using mouseover/out and event-time checks\r\n// so that event delegation works in jQuery.\r\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\r\n//\r\n// Support: Safari 7 only\r\n// Safari sends mouseenter too often; see:\r\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\r\n// for the description of the bug (it existed in older Chrome versions as well).\r\njQuery.each( {\r\n\tmouseenter: \"mouseover\",\r\n\tmouseleave: \"mouseout\",\r\n\tpointerenter: \"pointerover\",\r\n\tpointerleave: \"pointerout\"\r\n}, function( orig, fix ) {\r\n\tjQuery.event.special[ orig ] = {\r\n\t\tdelegateType: fix,\r\n\t\tbindType: fix,\r\n\r\n\t\thandle: function( event ) {\r\n\t\t\tvar ret,\r\n\t\t\t\ttarget = this,\r\n\t\t\t\trelated = event.relatedTarget,\r\n\t\t\t\thandleObj = event.handleObj;\r\n\r\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\r\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\r\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\r\n\t\t\t\tevent.type = handleObj.origType;\r\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\r\n\t\t\t\tevent.type = fix;\r\n\t\t\t}\r\n\t\t\treturn ret;\r\n\t\t}\r\n\t};\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\r\n\ton: function( types, selector, data, fn ) {\r\n\t\treturn on( this, types, selector, data, fn );\r\n\t},\r\n\tone: function( types, selector, data, fn ) {\r\n\t\treturn on( this, types, selector, data, fn, 1 );\r\n\t},\r\n\toff: function( types, selector, fn ) {\r\n\t\tvar handleObj, type;\r\n\t\tif ( types && types.preventDefault && types.handleObj ) {\r\n\r\n\t\t\t// ( event ) dispatched jQuery.Event\r\n\t\t\thandleObj = types.handleObj;\r\n\t\t\tjQuery( types.delegateTarget ).off(\r\n\t\t\t\thandleObj.namespace ?\r\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\r\n\t\t\t\t\thandleObj.origType,\r\n\t\t\t\thandleObj.selector,\r\n\t\t\t\thandleObj.handler\r\n\t\t\t);\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif ( typeof types === \"object\" ) {\r\n\r\n\t\t\t// ( types-object [, selector] )\r\n\t\t\tfor ( type in types ) {\r\n\t\t\t\tthis.off( type, selector, types[ type ] );\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif ( selector === false || typeof selector === \"function\" ) {\r\n\r\n\t\t\t// ( types [, fn] )\r\n\t\t\tfn = selector;\r\n\t\t\tselector = undefined;\r\n\t\t}\r\n\t\tif ( fn === false ) {\r\n\t\t\tfn = returnFalse;\r\n\t\t}\r\n\t\treturn this.each( function() {\r\n\t\t\tjQuery.event.remove( this, types, fn, selector );\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\n\r\nvar\r\n\r\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\r\n\t// In IE/Edge using regex groups here causes severe slowdowns.\r\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\r\n\trnoInnerhtml = /\\s*$/g;\r\n\r\n// Prefer a tbody over its parent table for containing new rows\r\nfunction manipulationTarget( elem, content ) {\r\n\tif ( nodeName( elem, \"table\" ) &&\r\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\r\n\r\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\r\n\t}\r\n\r\n\treturn elem;\r\n}\r\n\r\n// Replace/restore the type attribute of script elements for safe DOM manipulation\r\nfunction disableScript( elem ) {\r\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\r\n\treturn elem;\r\n}\r\nfunction restoreScript( elem ) {\r\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\r\n\t\telem.type = elem.type.slice( 5 );\r\n\t} else {\r\n\t\telem.removeAttribute( \"type\" );\r\n\t}\r\n\r\n\treturn elem;\r\n}\r\n\r\nfunction cloneCopyEvent( src, dest ) {\r\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\r\n\r\n\tif ( dest.nodeType !== 1 ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// 1. Copy private data: events, handlers, etc.\r\n\tif ( dataPriv.hasData( src ) ) {\r\n\t\tpdataOld = dataPriv.get( src );\r\n\t\tevents = pdataOld.events;\r\n\r\n\t\tif ( events ) {\r\n\t\t\tdataPriv.remove( dest, \"handle events\" );\r\n\r\n\t\t\tfor ( type in events ) {\r\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\r\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 2. Copy user data\r\n\tif ( dataUser.hasData( src ) ) {\r\n\t\tudataOld = dataUser.access( src );\r\n\t\tudataCur = jQuery.extend( {}, udataOld );\r\n\r\n\t\tdataUser.set( dest, udataCur );\r\n\t}\r\n}\r\n\r\n// Fix IE bugs, see support tests\r\nfunction fixInput( src, dest ) {\r\n\tvar nodeName = dest.nodeName.toLowerCase();\r\n\r\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\r\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\r\n\t\tdest.checked = src.checked;\r\n\r\n\t// Fails to return the selected option to the default selected state when cloning options\r\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\r\n\t\tdest.defaultValue = src.defaultValue;\r\n\t}\r\n}\r\n\r\nfunction domManip( collection, args, callback, ignored ) {\r\n\r\n\t// Flatten any nested arrays\r\n\targs = flat( args );\r\n\r\n\tvar fragment, first, scripts, hasScripts, node, doc,\r\n\t\ti = 0,\r\n\t\tl = collection.length,\r\n\t\tiNoClone = l - 1,\r\n\t\tvalue = args[ 0 ],\r\n\t\tvalueIsFunction = isFunction( value );\r\n\r\n\t// We can't cloneNode fragments that contain checked, in WebKit\r\n\tif ( valueIsFunction ||\r\n\t\t\t( l > 1 && typeof value === \"string\" &&\r\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\r\n\t\treturn collection.each( function( index ) {\r\n\t\t\tvar self = collection.eq( index );\r\n\t\t\tif ( valueIsFunction ) {\r\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\r\n\t\t\t}\r\n\t\t\tdomManip( self, args, callback, ignored );\r\n\t\t} );\r\n\t}\r\n\r\n\tif ( l ) {\r\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\r\n\t\tfirst = fragment.firstChild;\r\n\r\n\t\tif ( fragment.childNodes.length === 1 ) {\r\n\t\t\tfragment = first;\r\n\t\t}\r\n\r\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\r\n\t\tif ( first || ignored ) {\r\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\r\n\t\t\thasScripts = scripts.length;\r\n\r\n\t\t\t// Use the original fragment for the last item\r\n\t\t\t// instead of the first because it can end up\r\n\t\t\t// being emptied incorrectly in certain situations (trac-8070).\r\n\t\t\tfor ( ; i < l; i++ ) {\r\n\t\t\t\tnode = fragment;\r\n\r\n\t\t\t\tif ( i !== iNoClone ) {\r\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\r\n\r\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\r\n\t\t\t\t\tif ( hasScripts ) {\r\n\r\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\r\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\r\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcallback.call( collection[ i ], node, i );\r\n\t\t\t}\r\n\r\n\t\t\tif ( hasScripts ) {\r\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\r\n\r\n\t\t\t\t// Re-enable scripts\r\n\t\t\t\tjQuery.map( scripts, restoreScript );\r\n\r\n\t\t\t\t// Evaluate executable scripts on first document insertion\r\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\r\n\t\t\t\t\tnode = scripts[ i ];\r\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\r\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\r\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\r\n\r\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\r\n\r\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\r\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\r\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\r\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\r\n\t\t\t\t\t\t\t\t}, doc );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t// Unwrap a CDATA section containing script contents. This shouldn't be\r\n\t\t\t\t\t\t\t// needed as in XML documents they're already not visible when\r\n\t\t\t\t\t\t\t// inspecting element contents and in HTML documents they have no\r\n\t\t\t\t\t\t\t// meaning but we're preserving that logic for backwards compatibility.\r\n\t\t\t\t\t\t\t// This will be removed completely in 4.0. See gh-4904.\r\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn collection;\r\n}\r\n\r\nfunction remove( elem, selector, keepData ) {\r\n\tvar node,\r\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\r\n\t\ti = 0;\r\n\r\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\r\n\t\tif ( !keepData && node.nodeType === 1 ) {\r\n\t\t\tjQuery.cleanData( getAll( node ) );\r\n\t\t}\r\n\r\n\t\tif ( node.parentNode ) {\r\n\t\t\tif ( keepData && isAttached( node ) ) {\r\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\r\n\t\t\t}\r\n\t\t\tnode.parentNode.removeChild( node );\r\n\t\t}\r\n\t}\r\n\r\n\treturn elem;\r\n}\r\n\r\njQuery.extend( {\r\n\thtmlPrefilter: function( html ) {\r\n\t\treturn html;\r\n\t},\r\n\r\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\r\n\t\tvar i, l, srcElements, destElements,\r\n\t\t\tclone = elem.cloneNode( true ),\r\n\t\t\tinPage = isAttached( elem );\r\n\r\n\t\t// Fix IE cloning issues\r\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\r\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\r\n\r\n\t\t\t// We eschew jQuery#find here for performance reasons:\r\n\t\t\t// https://jsperf.com/getall-vs-sizzle/2\r\n\t\t\tdestElements = getAll( clone );\r\n\t\t\tsrcElements = getAll( elem );\r\n\r\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\r\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Copy the events from the original to the clone\r\n\t\tif ( dataAndEvents ) {\r\n\t\t\tif ( deepDataAndEvents ) {\r\n\t\t\t\tsrcElements = srcElements || getAll( elem );\r\n\t\t\t\tdestElements = destElements || getAll( clone );\r\n\r\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\r\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tcloneCopyEvent( elem, clone );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Preserve script evaluation history\r\n\t\tdestElements = getAll( clone, \"script\" );\r\n\t\tif ( destElements.length > 0 ) {\r\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\r\n\t\t}\r\n\r\n\t\t// Return the cloned set\r\n\t\treturn clone;\r\n\t},\r\n\r\n\tcleanData: function( elems ) {\r\n\t\tvar data, elem, type,\r\n\t\t\tspecial = jQuery.event.special,\r\n\t\t\ti = 0;\r\n\r\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\r\n\t\t\tif ( acceptData( elem ) ) {\r\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\r\n\t\t\t\t\tif ( data.events ) {\r\n\t\t\t\t\t\tfor ( type in data.events ) {\r\n\t\t\t\t\t\t\tif ( special[ type ] ) {\r\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\r\n\r\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Support: Chrome <=35 - 45+\r\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\r\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\r\n\t\t\t\t}\r\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\r\n\r\n\t\t\t\t\t// Support: Chrome <=35 - 45+\r\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\r\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\tdetach: function( selector ) {\r\n\t\treturn remove( this, selector, true );\r\n\t},\r\n\r\n\tremove: function( selector ) {\r\n\t\treturn remove( this, selector );\r\n\t},\r\n\r\n\ttext: function( value ) {\r\n\t\treturn access( this, function( value ) {\r\n\t\t\treturn value === undefined ?\r\n\t\t\t\tjQuery.text( this ) :\r\n\t\t\t\tthis.empty().each( function() {\r\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\r\n\t\t\t\t\t\tthis.textContent = value;\r\n\t\t\t\t\t}\r\n\t\t\t\t} );\r\n\t\t}, null, value, arguments.length );\r\n\t},\r\n\r\n\tappend: function() {\r\n\t\treturn domManip( this, arguments, function( elem ) {\r\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\r\n\t\t\t\tvar target = manipulationTarget( this, elem );\r\n\t\t\t\ttarget.appendChild( elem );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tprepend: function() {\r\n\t\treturn domManip( this, arguments, function( elem ) {\r\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\r\n\t\t\t\tvar target = manipulationTarget( this, elem );\r\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tbefore: function() {\r\n\t\treturn domManip( this, arguments, function( elem ) {\r\n\t\t\tif ( this.parentNode ) {\r\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tafter: function() {\r\n\t\treturn domManip( this, arguments, function( elem ) {\r\n\t\t\tif ( this.parentNode ) {\r\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\tempty: function() {\r\n\t\tvar elem,\r\n\t\t\ti = 0;\r\n\r\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\r\n\t\t\tif ( elem.nodeType === 1 ) {\r\n\r\n\t\t\t\t// Prevent memory leaks\r\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\r\n\r\n\t\t\t\t// Remove any remaining nodes\r\n\t\t\t\telem.textContent = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\r\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\r\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\r\n\r\n\t\treturn this.map( function() {\r\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\r\n\t\t} );\r\n\t},\r\n\r\n\thtml: function( value ) {\r\n\t\treturn access( this, function( value ) {\r\n\t\t\tvar elem = this[ 0 ] || {},\r\n\t\t\t\ti = 0,\r\n\t\t\t\tl = this.length;\r\n\r\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\r\n\t\t\t\treturn elem.innerHTML;\r\n\t\t\t}\r\n\r\n\t\t\t// See if we can take a shortcut and just use innerHTML\r\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\r\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\r\n\r\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor ( ; i < l; i++ ) {\r\n\t\t\t\t\t\telem = this[ i ] || {};\r\n\r\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\r\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\r\n\t\t\t\t\t\t\telem.innerHTML = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\telem = 0;\r\n\r\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\r\n\t\t\t\t} catch ( e ) {}\r\n\t\t\t}\r\n\r\n\t\t\tif ( elem ) {\r\n\t\t\t\tthis.empty().append( value );\r\n\t\t\t}\r\n\t\t}, null, value, arguments.length );\r\n\t},\r\n\r\n\treplaceWith: function() {\r\n\t\tvar ignored = [];\r\n\r\n\t\t// Make the changes, replacing each non-ignored context element with the new content\r\n\t\treturn domManip( this, arguments, function( elem ) {\r\n\t\t\tvar parent = this.parentNode;\r\n\r\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\r\n\t\t\t\tjQuery.cleanData( getAll( this ) );\r\n\t\t\t\tif ( parent ) {\r\n\t\t\t\t\tparent.replaceChild( elem, this );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t// Force callback invocation\r\n\t\t}, ignored );\r\n\t}\r\n} );\r\n\r\njQuery.each( {\r\n\tappendTo: \"append\",\r\n\tprependTo: \"prepend\",\r\n\tinsertBefore: \"before\",\r\n\tinsertAfter: \"after\",\r\n\treplaceAll: \"replaceWith\"\r\n}, function( name, original ) {\r\n\tjQuery.fn[ name ] = function( selector ) {\r\n\t\tvar elems,\r\n\t\t\tret = [],\r\n\t\t\tinsert = jQuery( selector ),\r\n\t\t\tlast = insert.length - 1,\r\n\t\t\ti = 0;\r\n\r\n\t\tfor ( ; i <= last; i++ ) {\r\n\t\t\telems = i === last ? this : this.clone( true );\r\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\r\n\r\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\r\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\r\n\t\t\tpush.apply( ret, elems.get() );\r\n\t\t}\r\n\r\n\t\treturn this.pushStack( ret );\r\n\t};\r\n} );\r\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\r\n\r\nvar rcustomProp = /^--/;\r\n\r\n\r\nvar getStyles = function( elem ) {\r\n\r\n\t\t// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\r\n\t\t// IE throws on elements created in popups\r\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\r\n\t\tvar view = elem.ownerDocument.defaultView;\r\n\r\n\t\tif ( !view || !view.opener ) {\r\n\t\t\tview = window;\r\n\t\t}\r\n\r\n\t\treturn view.getComputedStyle( elem );\r\n\t};\r\n\r\nvar swap = function( elem, options, callback ) {\r\n\tvar ret, name,\r\n\t\told = {};\r\n\r\n\t// Remember the old values, and insert the new ones\r\n\tfor ( name in options ) {\r\n\t\told[ name ] = elem.style[ name ];\r\n\t\telem.style[ name ] = options[ name ];\r\n\t}\r\n\r\n\tret = callback.call( elem );\r\n\r\n\t// Revert the old values\r\n\tfor ( name in options ) {\r\n\t\telem.style[ name ] = old[ name ];\r\n\t}\r\n\r\n\treturn ret;\r\n};\r\n\r\n\r\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\r\n\r\n\r\n\r\n( function() {\r\n\r\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\r\n\t// so they're executed at the same time to save the second computation.\r\n\tfunction computeStyleTests() {\r\n\r\n\t\t// This is a singleton, we need to execute it only once\r\n\t\tif ( !div ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\r\n\t\t\t\"margin-top:1px;padding:0;border:0\";\r\n\t\tdiv.style.cssText =\r\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\r\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\r\n\t\t\t\"width:60%;top:1%\";\r\n\t\tdocumentElement.appendChild( container ).appendChild( div );\r\n\r\n\t\tvar divStyle = window.getComputedStyle( div );\r\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\r\n\r\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\r\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\r\n\r\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\r\n\t\t// Some styles come back with percentage values, even though they shouldn't\r\n\t\tdiv.style.right = \"60%\";\r\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\r\n\r\n\t\t// Support: IE 9 - 11 only\r\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\r\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\r\n\r\n\t\t// Support: IE 9 only\r\n\t\t// Detect overflow:scroll screwiness (gh-3699)\r\n\t\t// Support: Chrome <=64\r\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\r\n\t\tdiv.style.position = \"absolute\";\r\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\r\n\r\n\t\tdocumentElement.removeChild( container );\r\n\r\n\t\t// Nullify the div so it wouldn't be stored in the memory and\r\n\t\t// it will also be a sign that checks already performed\r\n\t\tdiv = null;\r\n\t}\r\n\r\n\tfunction roundPixelMeasures( measure ) {\r\n\t\treturn Math.round( parseFloat( measure ) );\r\n\t}\r\n\r\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\r\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\r\n\t\tcontainer = document.createElement( \"div\" ),\r\n\t\tdiv = document.createElement( \"div\" );\r\n\r\n\t// Finish early in limited (non-browser) environments\r\n\tif ( !div.style ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Support: IE <=9 - 11 only\r\n\t// Style of cloned element affects source element cloned (trac-8908)\r\n\tdiv.style.backgroundClip = \"content-box\";\r\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\r\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\r\n\r\n\tjQuery.extend( support, {\r\n\t\tboxSizingReliable: function() {\r\n\t\t\tcomputeStyleTests();\r\n\t\t\treturn boxSizingReliableVal;\r\n\t\t},\r\n\t\tpixelBoxStyles: function() {\r\n\t\t\tcomputeStyleTests();\r\n\t\t\treturn pixelBoxStylesVal;\r\n\t\t},\r\n\t\tpixelPosition: function() {\r\n\t\t\tcomputeStyleTests();\r\n\t\t\treturn pixelPositionVal;\r\n\t\t},\r\n\t\treliableMarginLeft: function() {\r\n\t\t\tcomputeStyleTests();\r\n\t\t\treturn reliableMarginLeftVal;\r\n\t\t},\r\n\t\tscrollboxSize: function() {\r\n\t\t\tcomputeStyleTests();\r\n\t\t\treturn scrollboxSizeVal;\r\n\t\t},\r\n\r\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\r\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\r\n\t\t// set in CSS while `offset*` properties report correct values.\r\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\r\n\t\t// some versions of this test; make sure not to make it pass there!\r\n\t\t//\r\n\t\t// Support: Firefox 70+\r\n\t\t// Only Firefox includes border widths\r\n\t\t// in computed dimensions. (gh-4529)\r\n\t\treliableTrDimensions: function() {\r\n\t\t\tvar table, tr, trChild, trStyle;\r\n\t\t\tif ( reliableTrDimensionsVal == null ) {\r\n\t\t\t\ttable = document.createElement( \"table\" );\r\n\t\t\t\ttr = document.createElement( \"tr\" );\r\n\t\t\t\ttrChild = document.createElement( \"div\" );\r\n\r\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\r\n\t\t\t\ttr.style.cssText = \"box-sizing:content-box;border:1px solid\";\r\n\r\n\t\t\t\t// Support: Chrome 86+\r\n\t\t\t\t// Height set through cssText does not get applied.\r\n\t\t\t\t// Computed height then comes back as 0.\r\n\t\t\t\ttr.style.height = \"1px\";\r\n\t\t\t\ttrChild.style.height = \"9px\";\r\n\r\n\t\t\t\t// Support: Android 8 Chrome 86+\r\n\t\t\t\t// In our bodyBackground.html iframe,\r\n\t\t\t\t// display for all div elements is set to \"inline\",\r\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\r\n\t\t\t\t// Ensuring the div is `display: block`\r\n\t\t\t\t// gets around this issue.\r\n\t\t\t\ttrChild.style.display = \"block\";\r\n\r\n\t\t\t\tdocumentElement\r\n\t\t\t\t\t.appendChild( table )\r\n\t\t\t\t\t.appendChild( tr )\r\n\t\t\t\t\t.appendChild( trChild );\r\n\r\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\r\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\r\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\r\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\r\n\r\n\t\t\t\tdocumentElement.removeChild( table );\r\n\t\t\t}\r\n\t\t\treturn reliableTrDimensionsVal;\r\n\t\t}\r\n\t} );\r\n} )();\r\n\r\n\r\nfunction curCSS( elem, name, computed ) {\r\n\tvar width, minWidth, maxWidth, ret,\r\n\t\tisCustomProp = rcustomProp.test( name ),\r\n\r\n\t\t// Support: Firefox 51+\r\n\t\t// Retrieving style before computed somehow\r\n\t\t// fixes an issue with getting wrong values\r\n\t\t// on detached elements\r\n\t\tstyle = elem.style;\r\n\r\n\tcomputed = computed || getStyles( elem );\r\n\r\n\t// getPropertyValue is needed for:\r\n\t// .css('filter') (IE 9 only, trac-12537)\r\n\t// .css('--customProperty) (gh-3144)\r\n\tif ( computed ) {\r\n\r\n\t\t// Support: IE <=9 - 11+\r\n\t\t// IE only supports `\"float\"` in `getPropertyValue`; in computed styles\r\n\t\t// it's only available as `\"cssFloat\"`. We no longer modify properties\r\n\t\t// sent to `.css()` apart from camelCasing, so we need to check both.\r\n\t\t// Normally, this would create difference in behavior: if\r\n\t\t// `getPropertyValue` returns an empty string, the value returned\r\n\t\t// by `.css()` would be `undefined`. This is usually the case for\r\n\t\t// disconnected elements. However, in IE even disconnected elements\r\n\t\t// with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\r\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\r\n\r\n\t\tif ( isCustomProp && ret ) {\r\n\r\n\t\t\t// Support: Firefox 105+, Chrome <=105+\r\n\t\t\t// Spec requires trimming whitespace for custom properties (gh-4926).\r\n\t\t\t// Firefox only trims leading whitespace. Chrome just collapses\r\n\t\t\t// both leading & trailing whitespace to a single space.\r\n\t\t\t//\r\n\t\t\t// Fall back to `undefined` if empty string returned.\r\n\t\t\t// This collapses a missing definition with property defined\r\n\t\t\t// and set to an empty string but there's no standard API\r\n\t\t\t// allowing us to differentiate them without a performance penalty\r\n\t\t\t// and returning `undefined` aligns with older jQuery.\r\n\t\t\t//\r\n\t\t\t// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\r\n\t\t\t// as whitespace while CSS does not, but this is not a problem\r\n\t\t\t// because CSS preprocessing replaces them with U+000A LINE FEED\r\n\t\t\t// (which *is* CSS whitespace)\r\n\t\t\t// https://www.w3.org/TR/css-syntax-3/#input-preprocessing\r\n\t\t\tret = ret.replace( rtrimCSS, \"$1\" ) || undefined;\r\n\t\t}\r\n\r\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\r\n\t\t\tret = jQuery.style( elem, name );\r\n\t\t}\r\n\r\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\r\n\t\t// Android Browser returns percentage for some values,\r\n\t\t// but width seems to be reliably pixels.\r\n\t\t// This is against the CSSOM draft spec:\r\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\r\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\r\n\r\n\t\t\t// Remember the original values\r\n\t\t\twidth = style.width;\r\n\t\t\tminWidth = style.minWidth;\r\n\t\t\tmaxWidth = style.maxWidth;\r\n\r\n\t\t\t// Put in the new values to get a computed value out\r\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\r\n\t\t\tret = computed.width;\r\n\r\n\t\t\t// Revert the changed values\r\n\t\t\tstyle.width = width;\r\n\t\t\tstyle.minWidth = minWidth;\r\n\t\t\tstyle.maxWidth = maxWidth;\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret !== undefined ?\r\n\r\n\t\t// Support: IE <=9 - 11 only\r\n\t\t// IE returns zIndex value as an integer.\r\n\t\tret + \"\" :\r\n\t\tret;\r\n}\r\n\r\n\r\nfunction addGetHookIf( conditionFn, hookFn ) {\r\n\r\n\t// Define the hook, we'll check on the first run if it's really needed.\r\n\treturn {\r\n\t\tget: function() {\r\n\t\t\tif ( conditionFn() ) {\r\n\r\n\t\t\t\t// Hook not needed (or it's not possible to use it due\r\n\t\t\t\t// to missing dependency), remove it.\r\n\t\t\t\tdelete this.get;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\r\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\r\n\t\t}\r\n\t};\r\n}\r\n\r\n\r\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\r\n\temptyStyle = document.createElement( \"div\" ).style,\r\n\tvendorProps = {};\r\n\r\n// Return a vendor-prefixed property or undefined\r\nfunction vendorPropName( name ) {\r\n\r\n\t// Check for vendor prefixed names\r\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\r\n\t\ti = cssPrefixes.length;\r\n\r\n\twhile ( i-- ) {\r\n\t\tname = cssPrefixes[ i ] + capName;\r\n\t\tif ( name in emptyStyle ) {\r\n\t\t\treturn name;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\r\nfunction finalPropName( name ) {\r\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\r\n\r\n\tif ( final ) {\r\n\t\treturn final;\r\n\t}\r\n\tif ( name in emptyStyle ) {\r\n\t\treturn name;\r\n\t}\r\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\r\n}\r\n\r\n\r\nvar\r\n\r\n\t// Swappable if display is none or starts with table\r\n\t// except \"table\", \"table-cell\", or \"table-caption\"\r\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\r\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\r\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\r\n\tcssNormalTransform = {\r\n\t\tletterSpacing: \"0\",\r\n\t\tfontWeight: \"400\"\r\n\t};\r\n\r\nfunction setPositiveNumber( _elem, value, subtract ) {\r\n\r\n\t// Any relative (+/-) values have already been\r\n\t// normalized at this point\r\n\tvar matches = rcssNum.exec( value );\r\n\treturn matches ?\r\n\r\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\r\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\r\n\t\tvalue;\r\n}\r\n\r\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\r\n\tvar i = dimension === \"width\" ? 1 : 0,\r\n\t\textra = 0,\r\n\t\tdelta = 0,\r\n\t\tmarginDelta = 0;\r\n\r\n\t// Adjustment may not be necessary\r\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tfor ( ; i < 4; i += 2 ) {\r\n\r\n\t\t// Both box models exclude margin\r\n\t\t// Count margin delta separately to only add it after scroll gutter adjustment.\r\n\t\t// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\r\n\t\tif ( box === \"margin\" ) {\r\n\t\t\tmarginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\r\n\t\t}\r\n\r\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\r\n\t\tif ( !isBorderBox ) {\r\n\r\n\t\t\t// Add padding\r\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\r\n\r\n\t\t\t// For \"border\" or \"margin\", add border\r\n\t\t\tif ( box !== \"padding\" ) {\r\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\r\n\r\n\t\t\t// But still keep track of it otherwise\r\n\t\t\t} else {\r\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\r\n\t\t\t}\r\n\r\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\r\n\t\t// \"padding\" or \"margin\"\r\n\t\t} else {\r\n\r\n\t\t\t// For \"content\", subtract padding\r\n\t\t\tif ( box === \"content\" ) {\r\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\r\n\t\t\t}\r\n\r\n\t\t\t// For \"content\" or \"padding\", subtract border\r\n\t\t\tif ( box !== \"margin\" ) {\r\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\r\n\tif ( !isBorderBox && computedVal >= 0 ) {\r\n\r\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\r\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\r\n\t\tdelta += Math.max( 0, Math.ceil(\r\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\r\n\t\t\tcomputedVal -\r\n\t\t\tdelta -\r\n\t\t\textra -\r\n\t\t\t0.5\r\n\r\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\r\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\r\n\t\t) ) || 0;\r\n\t}\r\n\r\n\treturn delta + marginDelta;\r\n}\r\n\r\nfunction getWidthOrHeight( elem, dimension, extra ) {\r\n\r\n\t// Start with computed style\r\n\tvar styles = getStyles( elem ),\r\n\r\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\r\n\t\t// Fake content-box until we know it's needed to know the true value.\r\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\r\n\t\tisBorderBox = boxSizingNeeded &&\r\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\r\n\t\tvalueIsBorderBox = isBorderBox,\r\n\r\n\t\tval = curCSS( elem, dimension, styles ),\r\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\r\n\r\n\t// Support: Firefox <=54\r\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\r\n\tif ( rnumnonpx.test( val ) ) {\r\n\t\tif ( !extra ) {\r\n\t\t\treturn val;\r\n\t\t}\r\n\t\tval = \"auto\";\r\n\t}\r\n\r\n\r\n\t// Support: IE 9 - 11 only\r\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\r\n\t// In those cases, the computed value can be trusted to be border-box.\r\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\r\n\r\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\r\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\r\n\t\t// set in CSS while `offset*` properties report correct values.\r\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\r\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\r\n\r\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\r\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\r\n\t\tval === \"auto\" ||\r\n\r\n\t\t// Support: Android <=4.1 - 4.3 only\r\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\r\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\r\n\r\n\t\t// Make sure the element is visible & connected\r\n\t\telem.getClientRects().length ) {\r\n\r\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\r\n\r\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\r\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\r\n\t\t// retrieved value as a content box dimension.\r\n\t\tvalueIsBorderBox = offsetProp in elem;\r\n\t\tif ( valueIsBorderBox ) {\r\n\t\t\tval = elem[ offsetProp ];\r\n\t\t}\r\n\t}\r\n\r\n\t// Normalize \"\" and auto\r\n\tval = parseFloat( val ) || 0;\r\n\r\n\t// Adjust for the element's box model\r\n\treturn ( val +\r\n\t\tboxModelAdjustment(\r\n\t\t\telem,\r\n\t\t\tdimension,\r\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\r\n\t\t\tvalueIsBorderBox,\r\n\t\t\tstyles,\r\n\r\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\r\n\t\t\tval\r\n\t\t)\r\n\t) + \"px\";\r\n}\r\n\r\njQuery.extend( {\r\n\r\n\t// Add in style property hooks for overriding the default\r\n\t// behavior of getting and setting a style property\r\n\tcssHooks: {\r\n\t\topacity: {\r\n\t\t\tget: function( elem, computed ) {\r\n\t\t\t\tif ( computed ) {\r\n\r\n\t\t\t\t\t// We should always get a number back from opacity\r\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\r\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// Don't automatically add \"px\" to these possibly-unitless properties\r\n\tcssNumber: {\r\n\t\tanimationIterationCount: true,\r\n\t\taspectRatio: true,\r\n\t\tborderImageSlice: true,\r\n\t\tcolumnCount: true,\r\n\t\tflexGrow: true,\r\n\t\tflexShrink: true,\r\n\t\tfontWeight: true,\r\n\t\tgridArea: true,\r\n\t\tgridColumn: true,\r\n\t\tgridColumnEnd: true,\r\n\t\tgridColumnStart: true,\r\n\t\tgridRow: true,\r\n\t\tgridRowEnd: true,\r\n\t\tgridRowStart: true,\r\n\t\tlineHeight: true,\r\n\t\topacity: true,\r\n\t\torder: true,\r\n\t\torphans: true,\r\n\t\tscale: true,\r\n\t\twidows: true,\r\n\t\tzIndex: true,\r\n\t\tzoom: true,\r\n\r\n\t\t// SVG-related\r\n\t\tfillOpacity: true,\r\n\t\tfloodOpacity: true,\r\n\t\tstopOpacity: true,\r\n\t\tstrokeMiterlimit: true,\r\n\t\tstrokeOpacity: true\r\n\t},\r\n\r\n\t// Add in properties whose names you wish to fix before\r\n\t// setting or getting the value\r\n\tcssProps: {},\r\n\r\n\t// Get and set the style property on a DOM Node\r\n\tstyle: function( elem, name, value, extra ) {\r\n\r\n\t\t// Don't set styles on text and comment nodes\r\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Make sure that we're working with the right name\r\n\t\tvar ret, type, hooks,\r\n\t\t\torigName = camelCase( name ),\r\n\t\t\tisCustomProp = rcustomProp.test( name ),\r\n\t\t\tstyle = elem.style;\r\n\r\n\t\t// Make sure that we're working with the right name. We don't\r\n\t\t// want to query the value if it is a CSS custom property\r\n\t\t// since they are user-defined.\r\n\t\tif ( !isCustomProp ) {\r\n\t\t\tname = finalPropName( origName );\r\n\t\t}\r\n\r\n\t\t// Gets hook for the prefixed version, then unprefixed version\r\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\r\n\r\n\t\t// Check if we're setting a value\r\n\t\tif ( value !== undefined ) {\r\n\t\t\ttype = typeof value;\r\n\r\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\r\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\r\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\r\n\r\n\t\t\t\t// Fixes bug trac-9237\r\n\t\t\t\ttype = \"number\";\r\n\t\t\t}\r\n\r\n\t\t\t// Make sure that null and NaN values aren't set (trac-7116)\r\n\t\t\tif ( value == null || value !== value ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\r\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\r\n\t\t\t// \"px\" to a few hardcoded values.\r\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\r\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\r\n\t\t\t}\r\n\r\n\t\t\t// background-* props affect original clone's values\r\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\r\n\t\t\t\tstyle[ name ] = \"inherit\";\r\n\t\t\t}\r\n\r\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\r\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\r\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\r\n\r\n\t\t\t\tif ( isCustomProp ) {\r\n\t\t\t\t\tstyle.setProperty( name, value );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstyle[ name ] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\r\n\t\t\t// If a hook was provided get the non-computed value from there\r\n\t\t\tif ( hooks && \"get\" in hooks &&\r\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\r\n\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\r\n\t\t\t// Otherwise just get the value from the style object\r\n\t\t\treturn style[ name ];\r\n\t\t}\r\n\t},\r\n\r\n\tcss: function( elem, name, extra, styles ) {\r\n\t\tvar val, num, hooks,\r\n\t\t\torigName = camelCase( name ),\r\n\t\t\tisCustomProp = rcustomProp.test( name );\r\n\r\n\t\t// Make sure that we're working with the right name. We don't\r\n\t\t// want to modify the value if it is a CSS custom property\r\n\t\t// since they are user-defined.\r\n\t\tif ( !isCustomProp ) {\r\n\t\t\tname = finalPropName( origName );\r\n\t\t}\r\n\r\n\t\t// Try prefixed name followed by the unprefixed name\r\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\r\n\r\n\t\t// If a hook was provided get the computed value from there\r\n\t\tif ( hooks && \"get\" in hooks ) {\r\n\t\t\tval = hooks.get( elem, true, extra );\r\n\t\t}\r\n\r\n\t\t// Otherwise, if a way to get the computed value exists, use that\r\n\t\tif ( val === undefined ) {\r\n\t\t\tval = curCSS( elem, name, styles );\r\n\t\t}\r\n\r\n\t\t// Convert \"normal\" to computed value\r\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\r\n\t\t\tval = cssNormalTransform[ name ];\r\n\t\t}\r\n\r\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\r\n\t\tif ( extra === \"\" || extra ) {\r\n\t\t\tnum = parseFloat( val );\r\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\r\n\t\t}\r\n\r\n\t\treturn val;\r\n\t}\r\n} );\r\n\r\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\r\n\tjQuery.cssHooks[ dimension ] = {\r\n\t\tget: function( elem, computed, extra ) {\r\n\t\t\tif ( computed ) {\r\n\r\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\r\n\t\t\t\t// but it must have a current display style that would benefit\r\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\r\n\r\n\t\t\t\t\t// Support: Safari 8+\r\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\r\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\r\n\t\t\t\t\t// Support: IE <=11 only\r\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\r\n\t\t\t\t\t// in IE throws an error.\r\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\r\n\t\t\t\t\tswap( elem, cssShow, function() {\r\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\r\n\t\t\t\t\t} ) :\r\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tset: function( elem, value, extra ) {\r\n\t\t\tvar matches,\r\n\t\t\t\tstyles = getStyles( elem ),\r\n\r\n\t\t\t\t// Only read styles.position if the test has a chance to fail\r\n\t\t\t\t// to avoid forcing a reflow.\r\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\r\n\t\t\t\t\tstyles.position === \"absolute\",\r\n\r\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\r\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\r\n\t\t\t\tisBorderBox = boxSizingNeeded &&\r\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\r\n\t\t\t\tsubtract = extra ?\r\n\t\t\t\t\tboxModelAdjustment(\r\n\t\t\t\t\t\telem,\r\n\t\t\t\t\t\tdimension,\r\n\t\t\t\t\t\textra,\r\n\t\t\t\t\t\tisBorderBox,\r\n\t\t\t\t\t\tstyles\r\n\t\t\t\t\t) :\r\n\t\t\t\t\t0;\r\n\r\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\r\n\t\t\t// faking a content-box to get border and padding (gh-3699)\r\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\r\n\t\t\t\tsubtract -= Math.ceil(\r\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\r\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\r\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\r\n\t\t\t\t\t0.5\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\t// Convert to pixels if value adjustment is needed\r\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\r\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\r\n\r\n\t\t\t\telem.style[ dimension ] = value;\r\n\t\t\t\tvalue = jQuery.css( elem, dimension );\r\n\t\t\t}\r\n\r\n\t\t\treturn setPositiveNumber( elem, value, subtract );\r\n\t\t}\r\n\t};\r\n} );\r\n\r\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\r\n\tfunction( elem, computed ) {\r\n\t\tif ( computed ) {\r\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\r\n\t\t\t\telem.getBoundingClientRect().left -\r\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\r\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\r\n\t\t\t\t\t} )\r\n\t\t\t) + \"px\";\r\n\t\t}\r\n\t}\r\n);\r\n\r\n// These hooks are used by animate to expand properties\r\njQuery.each( {\r\n\tmargin: \"\",\r\n\tpadding: \"\",\r\n\tborder: \"Width\"\r\n}, function( prefix, suffix ) {\r\n\tjQuery.cssHooks[ prefix + suffix ] = {\r\n\t\texpand: function( value ) {\r\n\t\t\tvar i = 0,\r\n\t\t\t\texpanded = {},\r\n\r\n\t\t\t\t// Assumes a single number if not a string\r\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\r\n\r\n\t\t\tfor ( ; i < 4; i++ ) {\r\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\r\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\r\n\t\t\t}\r\n\r\n\t\t\treturn expanded;\r\n\t\t}\r\n\t};\r\n\r\n\tif ( prefix !== \"margin\" ) {\r\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\r\n\t}\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\tcss: function( name, value ) {\r\n\t\treturn access( this, function( elem, name, value ) {\r\n\t\t\tvar styles, len,\r\n\t\t\t\tmap = {},\r\n\t\t\t\ti = 0;\r\n\r\n\t\t\tif ( Array.isArray( name ) ) {\r\n\t\t\t\tstyles = getStyles( elem );\r\n\t\t\t\tlen = name.length;\r\n\r\n\t\t\t\tfor ( ; i < len; i++ ) {\r\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn map;\r\n\t\t\t}\r\n\r\n\t\t\treturn value !== undefined ?\r\n\t\t\t\tjQuery.style( elem, name, value ) :\r\n\t\t\t\tjQuery.css( elem, name );\r\n\t\t}, name, value, arguments.length > 1 );\r\n\t}\r\n} );\r\n\r\n\r\nfunction Tween( elem, options, prop, end, easing ) {\r\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\r\n}\r\njQuery.Tween = Tween;\r\n\r\nTween.prototype = {\r\n\tconstructor: Tween,\r\n\tinit: function( elem, options, prop, end, easing, unit ) {\r\n\t\tthis.elem = elem;\r\n\t\tthis.prop = prop;\r\n\t\tthis.easing = easing || jQuery.easing._default;\r\n\t\tthis.options = options;\r\n\t\tthis.start = this.now = this.cur();\r\n\t\tthis.end = end;\r\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\r\n\t},\r\n\tcur: function() {\r\n\t\tvar hooks = Tween.propHooks[ this.prop ];\r\n\r\n\t\treturn hooks && hooks.get ?\r\n\t\t\thooks.get( this ) :\r\n\t\t\tTween.propHooks._default.get( this );\r\n\t},\r\n\trun: function( percent ) {\r\n\t\tvar eased,\r\n\t\t\thooks = Tween.propHooks[ this.prop ];\r\n\r\n\t\tif ( this.options.duration ) {\r\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\r\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.pos = eased = percent;\r\n\t\t}\r\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\r\n\r\n\t\tif ( this.options.step ) {\r\n\t\t\tthis.options.step.call( this.elem, this.now, this );\r\n\t\t}\r\n\r\n\t\tif ( hooks && hooks.set ) {\r\n\t\t\thooks.set( this );\r\n\t\t} else {\r\n\t\t\tTween.propHooks._default.set( this );\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n};\r\n\r\nTween.prototype.init.prototype = Tween.prototype;\r\n\r\nTween.propHooks = {\r\n\t_default: {\r\n\t\tget: function( tween ) {\r\n\t\t\tvar result;\r\n\r\n\t\t\t// Use a property on the element directly when it is not a DOM element,\r\n\t\t\t// or when there is no matching style property that exists.\r\n\t\t\tif ( tween.elem.nodeType !== 1 ||\r\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\r\n\t\t\t\treturn tween.elem[ tween.prop ];\r\n\t\t\t}\r\n\r\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\r\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\r\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\r\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\r\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\r\n\r\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\r\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\r\n\t\t},\r\n\t\tset: function( tween ) {\r\n\r\n\t\t\t// Use step hook for back compat.\r\n\t\t\t// Use cssHook if its there.\r\n\t\t\t// Use .style if available and use plain properties where available.\r\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\r\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\r\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\r\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\r\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\r\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\r\n\t\t\t} else {\r\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// Support: IE <=9 only\r\n// Panic based approach to setting things on disconnected nodes\r\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\r\n\tset: function( tween ) {\r\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\r\n\t\t\ttween.elem[ tween.prop ] = tween.now;\r\n\t\t}\r\n\t}\r\n};\r\n\r\njQuery.easing = {\r\n\tlinear: function( p ) {\r\n\t\treturn p;\r\n\t},\r\n\tswing: function( p ) {\r\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\r\n\t},\r\n\t_default: \"swing\"\r\n};\r\n\r\njQuery.fx = Tween.prototype.init;\r\n\r\n// Back compat <1.8 extension point\r\njQuery.fx.step = {};\r\n\r\n\r\n\r\n\r\nvar\r\n\tfxNow, inProgress,\r\n\trfxtypes = /^(?:toggle|show|hide)$/,\r\n\trrun = /queueHooks$/;\r\n\r\nfunction schedule() {\r\n\tif ( inProgress ) {\r\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\r\n\t\t\twindow.requestAnimationFrame( schedule );\r\n\t\t} else {\r\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\r\n\t\t}\r\n\r\n\t\tjQuery.fx.tick();\r\n\t}\r\n}\r\n\r\n// Animations created synchronously will run synchronously\r\nfunction createFxNow() {\r\n\twindow.setTimeout( function() {\r\n\t\tfxNow = undefined;\r\n\t} );\r\n\treturn ( fxNow = Date.now() );\r\n}\r\n\r\n// Generate parameters to create a standard animation\r\nfunction genFx( type, includeWidth ) {\r\n\tvar which,\r\n\t\ti = 0,\r\n\t\tattrs = { height: type };\r\n\r\n\t// If we include width, step value is 1 to do all cssExpand values,\r\n\t// otherwise step value is 2 to skip over Left and Right\r\n\tincludeWidth = includeWidth ? 1 : 0;\r\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\r\n\t\twhich = cssExpand[ i ];\r\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\r\n\t}\r\n\r\n\tif ( includeWidth ) {\r\n\t\tattrs.opacity = attrs.width = type;\r\n\t}\r\n\r\n\treturn attrs;\r\n}\r\n\r\nfunction createTween( value, prop, animation ) {\r\n\tvar tween,\r\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\r\n\t\tindex = 0,\r\n\t\tlength = collection.length;\r\n\tfor ( ; index < length; index++ ) {\r\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\r\n\r\n\t\t\t// We're done with this property\r\n\t\t\treturn tween;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction defaultPrefilter( elem, props, opts ) {\r\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\r\n\t\tisBox = \"width\" in props || \"height\" in props,\r\n\t\tanim = this,\r\n\t\torig = {},\r\n\t\tstyle = elem.style,\r\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\r\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\r\n\r\n\t// Queue-skipping animations hijack the fx hooks\r\n\tif ( !opts.queue ) {\r\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\r\n\t\tif ( hooks.unqueued == null ) {\r\n\t\t\thooks.unqueued = 0;\r\n\t\t\toldfire = hooks.empty.fire;\r\n\t\t\thooks.empty.fire = function() {\r\n\t\t\t\tif ( !hooks.unqueued ) {\r\n\t\t\t\t\toldfire();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t\thooks.unqueued++;\r\n\r\n\t\tanim.always( function() {\r\n\r\n\t\t\t// Ensure the complete handler is called before this completes\r\n\t\t\tanim.always( function() {\r\n\t\t\t\thooks.unqueued--;\r\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\r\n\t\t\t\t\thooks.empty.fire();\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t\t} );\r\n\t}\r\n\r\n\t// Detect show/hide animations\r\n\tfor ( prop in props ) {\r\n\t\tvalue = props[ prop ];\r\n\t\tif ( rfxtypes.test( value ) ) {\r\n\t\t\tdelete props[ prop ];\r\n\t\t\ttoggle = toggle || value === \"toggle\";\r\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\r\n\r\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\r\n\t\t\t\t// there is still data from a stopped show/hide\r\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\r\n\t\t\t\t\thidden = true;\r\n\r\n\t\t\t\t// Ignore all other no-op show/hide data\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\r\n\t\t}\r\n\t}\r\n\r\n\t// Bail out if this is a no-op like .hide().hide()\r\n\tpropTween = !jQuery.isEmptyObject( props );\r\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Restrict \"overflow\" and \"display\" styles during box animations\r\n\tif ( isBox && elem.nodeType === 1 ) {\r\n\r\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\r\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\r\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\r\n\t\t// the overflowX value there.\r\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\r\n\r\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\r\n\t\trestoreDisplay = dataShow && dataShow.display;\r\n\t\tif ( restoreDisplay == null ) {\r\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\r\n\t\t}\r\n\t\tdisplay = jQuery.css( elem, \"display\" );\r\n\t\tif ( display === \"none\" ) {\r\n\t\t\tif ( restoreDisplay ) {\r\n\t\t\t\tdisplay = restoreDisplay;\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\r\n\t\t\t\tshowHide( [ elem ], true );\r\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\r\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\r\n\t\t\t\tshowHide( [ elem ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Animate inline elements as inline-block\r\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\r\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\r\n\r\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\r\n\t\t\t\tif ( !propTween ) {\r\n\t\t\t\t\tanim.done( function() {\r\n\t\t\t\t\t\tstyle.display = restoreDisplay;\r\n\t\t\t\t\t} );\r\n\t\t\t\t\tif ( restoreDisplay == null ) {\r\n\t\t\t\t\t\tdisplay = style.display;\r\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tstyle.display = \"inline-block\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif ( opts.overflow ) {\r\n\t\tstyle.overflow = \"hidden\";\r\n\t\tanim.always( function() {\r\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\r\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\r\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\r\n\t\t} );\r\n\t}\r\n\r\n\t// Implement show/hide animations\r\n\tpropTween = false;\r\n\tfor ( prop in orig ) {\r\n\r\n\t\t// General show/hide setup for this element animation\r\n\t\tif ( !propTween ) {\r\n\t\t\tif ( dataShow ) {\r\n\t\t\t\tif ( \"hidden\" in dataShow ) {\r\n\t\t\t\t\thidden = dataShow.hidden;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\r\n\t\t\t}\r\n\r\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\r\n\t\t\tif ( toggle ) {\r\n\t\t\t\tdataShow.hidden = !hidden;\r\n\t\t\t}\r\n\r\n\t\t\t// Show elements before animating them\r\n\t\t\tif ( hidden ) {\r\n\t\t\t\tshowHide( [ elem ], true );\r\n\t\t\t}\r\n\r\n\t\t\t/* eslint-disable no-loop-func */\r\n\r\n\t\t\tanim.done( function() {\r\n\r\n\t\t\t\t/* eslint-enable no-loop-func */\r\n\r\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\r\n\t\t\t\tif ( !hidden ) {\r\n\t\t\t\t\tshowHide( [ elem ] );\r\n\t\t\t\t}\r\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\r\n\t\t\t\tfor ( prop in orig ) {\r\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\t// Per-property setup\r\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\r\n\t\tif ( !( prop in dataShow ) ) {\r\n\t\t\tdataShow[ prop ] = propTween.start;\r\n\t\t\tif ( hidden ) {\r\n\t\t\t\tpropTween.end = propTween.start;\r\n\t\t\t\tpropTween.start = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction propFilter( props, specialEasing ) {\r\n\tvar index, name, easing, value, hooks;\r\n\r\n\t// camelCase, specialEasing and expand cssHook pass\r\n\tfor ( index in props ) {\r\n\t\tname = camelCase( index );\r\n\t\teasing = specialEasing[ name ];\r\n\t\tvalue = props[ index ];\r\n\t\tif ( Array.isArray( value ) ) {\r\n\t\t\teasing = value[ 1 ];\r\n\t\t\tvalue = props[ index ] = value[ 0 ];\r\n\t\t}\r\n\r\n\t\tif ( index !== name ) {\r\n\t\t\tprops[ name ] = value;\r\n\t\t\tdelete props[ index ];\r\n\t\t}\r\n\r\n\t\thooks = jQuery.cssHooks[ name ];\r\n\t\tif ( hooks && \"expand\" in hooks ) {\r\n\t\t\tvalue = hooks.expand( value );\r\n\t\t\tdelete props[ name ];\r\n\r\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\r\n\t\t\t// Reusing 'index' because we have the correct \"name\"\r\n\t\t\tfor ( index in value ) {\r\n\t\t\t\tif ( !( index in props ) ) {\r\n\t\t\t\t\tprops[ index ] = value[ index ];\r\n\t\t\t\t\tspecialEasing[ index ] = easing;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tspecialEasing[ name ] = easing;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction Animation( elem, properties, options ) {\r\n\tvar result,\r\n\t\tstopped,\r\n\t\tindex = 0,\r\n\t\tlength = Animation.prefilters.length,\r\n\t\tdeferred = jQuery.Deferred().always( function() {\r\n\r\n\t\t\t// Don't match elem in the :animated selector\r\n\t\t\tdelete tick.elem;\r\n\t\t} ),\r\n\t\ttick = function() {\r\n\t\t\tif ( stopped ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tvar currentTime = fxNow || createFxNow(),\r\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\r\n\r\n\t\t\t\t// Support: Android 2.3 only\r\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\r\n\t\t\t\ttemp = remaining / animation.duration || 0,\r\n\t\t\t\tpercent = 1 - temp,\r\n\t\t\t\tindex = 0,\r\n\t\t\t\tlength = animation.tweens.length;\r\n\r\n\t\t\tfor ( ; index < length; index++ ) {\r\n\t\t\t\tanimation.tweens[ index ].run( percent );\r\n\t\t\t}\r\n\r\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\r\n\r\n\t\t\t// If there's more to do, yield\r\n\t\t\tif ( percent < 1 && length ) {\r\n\t\t\t\treturn remaining;\r\n\t\t\t}\r\n\r\n\t\t\t// If this was an empty animation, synthesize a final progress notification\r\n\t\t\tif ( !length ) {\r\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\r\n\t\t\t}\r\n\r\n\t\t\t// Resolve the animation and report its conclusion\r\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\tanimation = deferred.promise( {\r\n\t\t\telem: elem,\r\n\t\t\tprops: jQuery.extend( {}, properties ),\r\n\t\t\topts: jQuery.extend( true, {\r\n\t\t\t\tspecialEasing: {},\r\n\t\t\t\teasing: jQuery.easing._default\r\n\t\t\t}, options ),\r\n\t\t\toriginalProperties: properties,\r\n\t\t\toriginalOptions: options,\r\n\t\t\tstartTime: fxNow || createFxNow(),\r\n\t\t\tduration: options.duration,\r\n\t\t\ttweens: [],\r\n\t\t\tcreateTween: function( prop, end ) {\r\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\r\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\r\n\t\t\t\tanimation.tweens.push( tween );\r\n\t\t\t\treturn tween;\r\n\t\t\t},\r\n\t\t\tstop: function( gotoEnd ) {\r\n\t\t\t\tvar index = 0,\r\n\r\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\r\n\t\t\t\t\t// otherwise we skip this part\r\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\r\n\t\t\t\tif ( stopped ) {\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\t\t\t\tstopped = true;\r\n\t\t\t\tfor ( ; index < length; index++ ) {\r\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\r\n\t\t\t\tif ( gotoEnd ) {\r\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\r\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t} ),\r\n\t\tprops = animation.props;\r\n\r\n\tpropFilter( props, animation.opts.specialEasing );\r\n\r\n\tfor ( ; index < length; index++ ) {\r\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\r\n\t\tif ( result ) {\r\n\t\t\tif ( isFunction( result.stop ) ) {\r\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\r\n\t\t\t\t\tresult.stop.bind( result );\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t}\r\n\r\n\tjQuery.map( props, createTween, animation );\r\n\r\n\tif ( isFunction( animation.opts.start ) ) {\r\n\t\tanimation.opts.start.call( elem, animation );\r\n\t}\r\n\r\n\t// Attach callbacks from options\r\n\tanimation\r\n\t\t.progress( animation.opts.progress )\r\n\t\t.done( animation.opts.done, animation.opts.complete )\r\n\t\t.fail( animation.opts.fail )\r\n\t\t.always( animation.opts.always );\r\n\r\n\tjQuery.fx.timer(\r\n\t\tjQuery.extend( tick, {\r\n\t\t\telem: elem,\r\n\t\t\tanim: animation,\r\n\t\t\tqueue: animation.opts.queue\r\n\t\t} )\r\n\t);\r\n\r\n\treturn animation;\r\n}\r\n\r\njQuery.Animation = jQuery.extend( Animation, {\r\n\r\n\ttweeners: {\r\n\t\t\"*\": [ function( prop, value ) {\r\n\t\t\tvar tween = this.createTween( prop, value );\r\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\r\n\t\t\treturn tween;\r\n\t\t} ]\r\n\t},\r\n\r\n\ttweener: function( props, callback ) {\r\n\t\tif ( isFunction( props ) ) {\r\n\t\t\tcallback = props;\r\n\t\t\tprops = [ \"*\" ];\r\n\t\t} else {\r\n\t\t\tprops = props.match( rnothtmlwhite );\r\n\t\t}\r\n\r\n\t\tvar prop,\r\n\t\t\tindex = 0,\r\n\t\t\tlength = props.length;\r\n\r\n\t\tfor ( ; index < length; index++ ) {\r\n\t\t\tprop = props[ index ];\r\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\r\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\r\n\t\t}\r\n\t},\r\n\r\n\tprefilters: [ defaultPrefilter ],\r\n\r\n\tprefilter: function( callback, prepend ) {\r\n\t\tif ( prepend ) {\r\n\t\t\tAnimation.prefilters.unshift( callback );\r\n\t\t} else {\r\n\t\t\tAnimation.prefilters.push( callback );\r\n\t\t}\r\n\t}\r\n} );\r\n\r\njQuery.speed = function( speed, easing, fn ) {\r\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\r\n\t\tcomplete: fn || !fn && easing ||\r\n\t\t\tisFunction( speed ) && speed,\r\n\t\tduration: speed,\r\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\r\n\t};\r\n\r\n\t// Go to the end state if fx are off\r\n\tif ( jQuery.fx.off ) {\r\n\t\topt.duration = 0;\r\n\r\n\t} else {\r\n\t\tif ( typeof opt.duration !== \"number\" ) {\r\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\r\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\r\n\r\n\t\t\t} else {\r\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\r\n\tif ( opt.queue == null || opt.queue === true ) {\r\n\t\topt.queue = \"fx\";\r\n\t}\r\n\r\n\t// Queueing\r\n\topt.old = opt.complete;\r\n\r\n\topt.complete = function() {\r\n\t\tif ( isFunction( opt.old ) ) {\r\n\t\t\topt.old.call( this );\r\n\t\t}\r\n\r\n\t\tif ( opt.queue ) {\r\n\t\t\tjQuery.dequeue( this, opt.queue );\r\n\t\t}\r\n\t};\r\n\r\n\treturn opt;\r\n};\r\n\r\njQuery.fn.extend( {\r\n\tfadeTo: function( speed, to, easing, callback ) {\r\n\r\n\t\t// Show any hidden elements after setting opacity to 0\r\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\r\n\r\n\t\t\t// Animate to the value specified\r\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\r\n\t},\r\n\tanimate: function( prop, speed, easing, callback ) {\r\n\t\tvar empty = jQuery.isEmptyObject( prop ),\r\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\r\n\t\t\tdoAnimation = function() {\r\n\r\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\r\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\r\n\r\n\t\t\t\t// Empty animations, or finishing resolves immediately\r\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\r\n\t\t\t\t\tanim.stop( true );\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tdoAnimation.finish = doAnimation;\r\n\r\n\t\treturn empty || optall.queue === false ?\r\n\t\t\tthis.each( doAnimation ) :\r\n\t\t\tthis.queue( optall.queue, doAnimation );\r\n\t},\r\n\tstop: function( type, clearQueue, gotoEnd ) {\r\n\t\tvar stopQueue = function( hooks ) {\r\n\t\t\tvar stop = hooks.stop;\r\n\t\t\tdelete hooks.stop;\r\n\t\t\tstop( gotoEnd );\r\n\t\t};\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tgotoEnd = clearQueue;\r\n\t\t\tclearQueue = type;\r\n\t\t\ttype = undefined;\r\n\t\t}\r\n\t\tif ( clearQueue ) {\r\n\t\t\tthis.queue( type || \"fx\", [] );\r\n\t\t}\r\n\r\n\t\treturn this.each( function() {\r\n\t\t\tvar dequeue = true,\r\n\t\t\t\tindex = type != null && type + \"queueHooks\",\r\n\t\t\t\ttimers = jQuery.timers,\r\n\t\t\t\tdata = dataPriv.get( this );\r\n\r\n\t\t\tif ( index ) {\r\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\r\n\t\t\t\t\tstopQueue( data[ index ] );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor ( index in data ) {\r\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\r\n\t\t\t\t\t\tstopQueue( data[ index ] );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor ( index = timers.length; index--; ) {\r\n\t\t\t\tif ( timers[ index ].elem === this &&\r\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\r\n\r\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\r\n\t\t\t\t\tdequeue = false;\r\n\t\t\t\t\ttimers.splice( index, 1 );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Start the next in the queue if the last step wasn't forced.\r\n\t\t\t// Timers currently will call their complete callbacks, which\r\n\t\t\t// will dequeue but only if they were gotoEnd.\r\n\t\t\tif ( dequeue || !gotoEnd ) {\r\n\t\t\t\tjQuery.dequeue( this, type );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\tfinish: function( type ) {\r\n\t\tif ( type !== false ) {\r\n\t\t\ttype = type || \"fx\";\r\n\t\t}\r\n\t\treturn this.each( function() {\r\n\t\t\tvar index,\r\n\t\t\t\tdata = dataPriv.get( this ),\r\n\t\t\t\tqueue = data[ type + \"queue\" ],\r\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\r\n\t\t\t\ttimers = jQuery.timers,\r\n\t\t\t\tlength = queue ? queue.length : 0;\r\n\r\n\t\t\t// Enable finishing flag on private data\r\n\t\t\tdata.finish = true;\r\n\r\n\t\t\t// Empty the queue first\r\n\t\t\tjQuery.queue( this, type, [] );\r\n\r\n\t\t\tif ( hooks && hooks.stop ) {\r\n\t\t\t\thooks.stop.call( this, true );\r\n\t\t\t}\r\n\r\n\t\t\t// Look for any active animations, and finish them\r\n\t\t\tfor ( index = timers.length; index--; ) {\r\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\r\n\t\t\t\t\ttimers[ index ].anim.stop( true );\r\n\t\t\t\t\ttimers.splice( index, 1 );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Look for any animations in the old queue and finish them\r\n\t\t\tfor ( index = 0; index < length; index++ ) {\r\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\r\n\t\t\t\t\tqueue[ index ].finish.call( this );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Turn off finishing flag\r\n\t\t\tdelete data.finish;\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\r\n\tvar cssFn = jQuery.fn[ name ];\r\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\r\n\t\treturn speed == null || typeof speed === \"boolean\" ?\r\n\t\t\tcssFn.apply( this, arguments ) :\r\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\r\n\t};\r\n} );\r\n\r\n// Generate shortcuts for custom animations\r\njQuery.each( {\r\n\tslideDown: genFx( \"show\" ),\r\n\tslideUp: genFx( \"hide\" ),\r\n\tslideToggle: genFx( \"toggle\" ),\r\n\tfadeIn: { opacity: \"show\" },\r\n\tfadeOut: { opacity: \"hide\" },\r\n\tfadeToggle: { opacity: \"toggle\" }\r\n}, function( name, props ) {\r\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\r\n\t\treturn this.animate( props, speed, easing, callback );\r\n\t};\r\n} );\r\n\r\njQuery.timers = [];\r\njQuery.fx.tick = function() {\r\n\tvar timer,\r\n\t\ti = 0,\r\n\t\ttimers = jQuery.timers;\r\n\r\n\tfxNow = Date.now();\r\n\r\n\tfor ( ; i < timers.length; i++ ) {\r\n\t\ttimer = timers[ i ];\r\n\r\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\r\n\t\tif ( !timer() && timers[ i ] === timer ) {\r\n\t\t\ttimers.splice( i--, 1 );\r\n\t\t}\r\n\t}\r\n\r\n\tif ( !timers.length ) {\r\n\t\tjQuery.fx.stop();\r\n\t}\r\n\tfxNow = undefined;\r\n};\r\n\r\njQuery.fx.timer = function( timer ) {\r\n\tjQuery.timers.push( timer );\r\n\tjQuery.fx.start();\r\n};\r\n\r\njQuery.fx.interval = 13;\r\njQuery.fx.start = function() {\r\n\tif ( inProgress ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tinProgress = true;\r\n\tschedule();\r\n};\r\n\r\njQuery.fx.stop = function() {\r\n\tinProgress = null;\r\n};\r\n\r\njQuery.fx.speeds = {\r\n\tslow: 600,\r\n\tfast: 200,\r\n\r\n\t// Default speed\r\n\t_default: 400\r\n};\r\n\r\n\r\n// Based off of the plugin by Clint Helfers, with permission.\r\njQuery.fn.delay = function( time, type ) {\r\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\r\n\ttype = type || \"fx\";\r\n\r\n\treturn this.queue( type, function( next, hooks ) {\r\n\t\tvar timeout = window.setTimeout( next, time );\r\n\t\thooks.stop = function() {\r\n\t\t\twindow.clearTimeout( timeout );\r\n\t\t};\r\n\t} );\r\n};\r\n\r\n\r\n( function() {\r\n\tvar input = document.createElement( \"input\" ),\r\n\t\tselect = document.createElement( \"select\" ),\r\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\r\n\r\n\tinput.type = \"checkbox\";\r\n\r\n\t// Support: Android <=4.3 only\r\n\t// Default value for a checkbox should be \"on\"\r\n\tsupport.checkOn = input.value !== \"\";\r\n\r\n\t// Support: IE <=11 only\r\n\t// Must access selectedIndex to make default options select\r\n\tsupport.optSelected = opt.selected;\r\n\r\n\t// Support: IE <=11 only\r\n\t// An input loses its value after becoming a radio\r\n\tinput = document.createElement( \"input\" );\r\n\tinput.value = \"t\";\r\n\tinput.type = \"radio\";\r\n\tsupport.radioValue = input.value === \"t\";\r\n} )();\r\n\r\n\r\nvar boolHook,\r\n\tattrHandle = jQuery.expr.attrHandle;\r\n\r\njQuery.fn.extend( {\r\n\tattr: function( name, value ) {\r\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\r\n\t},\r\n\r\n\tremoveAttr: function( name ) {\r\n\t\treturn this.each( function() {\r\n\t\t\tjQuery.removeAttr( this, name );\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\njQuery.extend( {\r\n\tattr: function( elem, name, value ) {\r\n\t\tvar ret, hooks,\r\n\t\t\tnType = elem.nodeType;\r\n\r\n\t\t// Don't get/set attributes on text, comment and attribute nodes\r\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Fallback to prop when attributes are not supported\r\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\r\n\t\t\treturn jQuery.prop( elem, name, value );\r\n\t\t}\r\n\r\n\t\t// Attribute hooks are determined by the lowercase version\r\n\t\t// Grab necessary hook if one is defined\r\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\r\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\r\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\r\n\t\t}\r\n\r\n\t\tif ( value !== undefined ) {\r\n\t\t\tif ( value === null ) {\r\n\t\t\t\tjQuery.removeAttr( elem, name );\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( hooks && \"set\" in hooks &&\r\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\r\n\t\t\telem.setAttribute( name, value + \"\" );\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\tret = jQuery.find.attr( elem, name );\r\n\r\n\t\t// Non-existent attributes return null, we normalize to undefined\r\n\t\treturn ret == null ? undefined : ret;\r\n\t},\r\n\r\n\tattrHooks: {\r\n\t\ttype: {\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\r\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\r\n\t\t\t\t\tvar val = elem.value;\r\n\t\t\t\t\telem.setAttribute( \"type\", value );\r\n\t\t\t\t\tif ( val ) {\r\n\t\t\t\t\t\telem.value = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tremoveAttr: function( elem, value ) {\r\n\t\tvar name,\r\n\t\t\ti = 0,\r\n\r\n\t\t\t// Attribute names can contain non-HTML whitespace characters\r\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\r\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\r\n\r\n\t\tif ( attrNames && elem.nodeType === 1 ) {\r\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\r\n\t\t\t\telem.removeAttribute( name );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n} );\r\n\r\n// Hooks for boolean attributes\r\nboolHook = {\r\n\tset: function( elem, value, name ) {\r\n\t\tif ( value === false ) {\r\n\r\n\t\t\t// Remove boolean attributes when set to false\r\n\t\t\tjQuery.removeAttr( elem, name );\r\n\t\t} else {\r\n\t\t\telem.setAttribute( name, name );\r\n\t\t}\r\n\t\treturn name;\r\n\t}\r\n};\r\n\r\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\r\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\r\n\r\n\tattrHandle[ name ] = function( elem, name, isXML ) {\r\n\t\tvar ret, handle,\r\n\t\t\tlowercaseName = name.toLowerCase();\r\n\r\n\t\tif ( !isXML ) {\r\n\r\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\r\n\t\t\thandle = attrHandle[ lowercaseName ];\r\n\t\t\tattrHandle[ lowercaseName ] = ret;\r\n\t\t\tret = getter( elem, name, isXML ) != null ?\r\n\t\t\t\tlowercaseName :\r\n\t\t\t\tnull;\r\n\t\t\tattrHandle[ lowercaseName ] = handle;\r\n\t\t}\r\n\t\treturn ret;\r\n\t};\r\n} );\r\n\r\n\r\n\r\n\r\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\r\n\trclickable = /^(?:a|area)$/i;\r\n\r\njQuery.fn.extend( {\r\n\tprop: function( name, value ) {\r\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\r\n\t},\r\n\r\n\tremoveProp: function( name ) {\r\n\t\treturn this.each( function() {\r\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\njQuery.extend( {\r\n\tprop: function( elem, name, value ) {\r\n\t\tvar ret, hooks,\r\n\t\t\tnType = elem.nodeType;\r\n\r\n\t\t// Don't get/set properties on text, comment and attribute nodes\r\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\r\n\r\n\t\t\t// Fix name and attach hooks\r\n\t\t\tname = jQuery.propFix[ name ] || name;\r\n\t\t\thooks = jQuery.propHooks[ name ];\r\n\t\t}\r\n\r\n\t\tif ( value !== undefined ) {\r\n\t\t\tif ( hooks && \"set\" in hooks &&\r\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\r\n\t\t\treturn ( elem[ name ] = value );\r\n\t\t}\r\n\r\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\treturn elem[ name ];\r\n\t},\r\n\r\n\tpropHooks: {\r\n\t\ttabIndex: {\r\n\t\t\tget: function( elem ) {\r\n\r\n\t\t\t\t// Support: IE <=9 - 11 only\r\n\t\t\t\t// elem.tabIndex doesn't always return the\r\n\t\t\t\t// correct value when it hasn't been explicitly set\r\n\t\t\t\t// Use proper attribute retrieval (trac-12072)\r\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\r\n\r\n\t\t\t\tif ( tabindex ) {\r\n\t\t\t\t\treturn parseInt( tabindex, 10 );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\r\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\r\n\t\t\t\t\telem.href\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tpropFix: {\r\n\t\t\"for\": \"htmlFor\",\r\n\t\t\"class\": \"className\"\r\n\t}\r\n} );\r\n\r\n// Support: IE <=11 only\r\n// Accessing the selectedIndex property\r\n// forces the browser to respect setting selected\r\n// on the option\r\n// The getter ensures a default option is selected\r\n// when in an optgroup\r\n// eslint rule \"no-unused-expressions\" is disabled for this code\r\n// since it considers such accessions noop\r\nif ( !support.optSelected ) {\r\n\tjQuery.propHooks.selected = {\r\n\t\tget: function( elem ) {\r\n\r\n\t\t\t/* eslint no-unused-expressions: \"off\" */\r\n\r\n\t\t\tvar parent = elem.parentNode;\r\n\t\t\tif ( parent && parent.parentNode ) {\r\n\t\t\t\tparent.parentNode.selectedIndex;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tset: function( elem ) {\r\n\r\n\t\t\t/* eslint no-unused-expressions: \"off\" */\r\n\r\n\t\t\tvar parent = elem.parentNode;\r\n\t\t\tif ( parent ) {\r\n\t\t\t\tparent.selectedIndex;\r\n\r\n\t\t\t\tif ( parent.parentNode ) {\r\n\t\t\t\t\tparent.parentNode.selectedIndex;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\njQuery.each( [\r\n\t\"tabIndex\",\r\n\t\"readOnly\",\r\n\t\"maxLength\",\r\n\t\"cellSpacing\",\r\n\t\"cellPadding\",\r\n\t\"rowSpan\",\r\n\t\"colSpan\",\r\n\t\"useMap\",\r\n\t\"frameBorder\",\r\n\t\"contentEditable\"\r\n], function() {\r\n\tjQuery.propFix[ this.toLowerCase() ] = this;\r\n} );\r\n\r\n\r\n\r\n\r\n\t// Strip and collapse whitespace according to HTML spec\r\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\r\n\tfunction stripAndCollapse( value ) {\r\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\r\n\t\treturn tokens.join( \" \" );\r\n\t}\r\n\r\n\r\nfunction getClass( elem ) {\r\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\r\n}\r\n\r\nfunction classesToArray( value ) {\r\n\tif ( Array.isArray( value ) ) {\r\n\t\treturn value;\r\n\t}\r\n\tif ( typeof value === \"string\" ) {\r\n\t\treturn value.match( rnothtmlwhite ) || [];\r\n\t}\r\n\treturn [];\r\n}\r\n\r\njQuery.fn.extend( {\r\n\taddClass: function( value ) {\r\n\t\tvar classNames, cur, curValue, className, i, finalValue;\r\n\r\n\t\tif ( isFunction( value ) ) {\r\n\t\t\treturn this.each( function( j ) {\r\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\tclassNames = classesToArray( value );\r\n\r\n\t\tif ( classNames.length ) {\r\n\t\t\treturn this.each( function() {\r\n\t\t\t\tcurValue = getClass( this );\r\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\r\n\r\n\t\t\t\tif ( cur ) {\r\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\r\n\t\t\t\t\t\tclassName = classNames[ i ];\r\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + className + \" \" ) < 0 ) {\r\n\t\t\t\t\t\t\tcur += className + \" \";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\r\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\r\n\t\t\t\t\tif ( curValue !== finalValue ) {\r\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tremoveClass: function( value ) {\r\n\t\tvar classNames, cur, curValue, className, i, finalValue;\r\n\r\n\t\tif ( isFunction( value ) ) {\r\n\t\t\treturn this.each( function( j ) {\r\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\tif ( !arguments.length ) {\r\n\t\t\treturn this.attr( \"class\", \"\" );\r\n\t\t}\r\n\r\n\t\tclassNames = classesToArray( value );\r\n\r\n\t\tif ( classNames.length ) {\r\n\t\t\treturn this.each( function() {\r\n\t\t\t\tcurValue = getClass( this );\r\n\r\n\t\t\t\t// This expression is here for better compressibility (see addClass)\r\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\r\n\r\n\t\t\t\tif ( cur ) {\r\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\r\n\t\t\t\t\t\tclassName = classNames[ i ];\r\n\r\n\t\t\t\t\t\t// Remove *all* instances\r\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + className + \" \" ) > -1 ) {\r\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + className + \" \", \" \" );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\r\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\r\n\t\t\t\t\tif ( curValue !== finalValue ) {\r\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\ttoggleClass: function( value, stateVal ) {\r\n\t\tvar classNames, className, i, self,\r\n\t\t\ttype = typeof value,\r\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\r\n\r\n\t\tif ( isFunction( value ) ) {\r\n\t\t\treturn this.each( function( i ) {\r\n\t\t\t\tjQuery( this ).toggleClass(\r\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\r\n\t\t\t\t\tstateVal\r\n\t\t\t\t);\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\r\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\r\n\t\t}\r\n\r\n\t\tclassNames = classesToArray( value );\r\n\r\n\t\treturn this.each( function() {\r\n\t\t\tif ( isValidValue ) {\r\n\r\n\t\t\t\t// Toggle individual class names\r\n\t\t\t\tself = jQuery( this );\r\n\r\n\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\r\n\t\t\t\t\tclassName = classNames[ i ];\r\n\r\n\t\t\t\t\t// Check each className given, space separated list\r\n\t\t\t\t\tif ( self.hasClass( className ) ) {\r\n\t\t\t\t\t\tself.removeClass( className );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.addClass( className );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t// Toggle whole class name\r\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\r\n\t\t\t\tclassName = getClass( this );\r\n\t\t\t\tif ( className ) {\r\n\r\n\t\t\t\t\t// Store className if set\r\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If the element has a class name or if we're passed `false`,\r\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\r\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\r\n\t\t\t\t// falling back to the empty string if nothing was stored.\r\n\t\t\t\tif ( this.setAttribute ) {\r\n\t\t\t\t\tthis.setAttribute( \"class\",\r\n\t\t\t\t\t\tclassName || value === false ?\r\n\t\t\t\t\t\t\t\"\" :\r\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\thasClass: function( selector ) {\r\n\t\tvar className, elem,\r\n\t\t\ti = 0;\r\n\r\n\t\tclassName = \" \" + selector + \" \";\r\n\t\twhile ( ( elem = this[ i++ ] ) ) {\r\n\t\t\tif ( elem.nodeType === 1 &&\r\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n} );\r\n\r\n\r\n\r\n\r\nvar rreturn = /\\r/g;\r\n\r\njQuery.fn.extend( {\r\n\tval: function( value ) {\r\n\t\tvar hooks, ret, valueIsFunction,\r\n\t\t\telem = this[ 0 ];\r\n\r\n\t\tif ( !arguments.length ) {\r\n\t\t\tif ( elem ) {\r\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\r\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\r\n\r\n\t\t\t\tif ( hooks &&\r\n\t\t\t\t\t\"get\" in hooks &&\r\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tret = elem.value;\r\n\r\n\t\t\t\t// Handle most common string cases\r\n\t\t\t\tif ( typeof ret === \"string\" ) {\r\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Handle cases where value is null/undef or number\r\n\t\t\t\treturn ret == null ? \"\" : ret;\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvalueIsFunction = isFunction( value );\r\n\r\n\t\treturn this.each( function( i ) {\r\n\t\t\tvar val;\r\n\r\n\t\t\tif ( this.nodeType !== 1 ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( valueIsFunction ) {\r\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\r\n\t\t\t} else {\r\n\t\t\t\tval = value;\r\n\t\t\t}\r\n\r\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\r\n\t\t\tif ( val == null ) {\r\n\t\t\t\tval = \"\";\r\n\r\n\t\t\t} else if ( typeof val === \"number\" ) {\r\n\t\t\t\tval += \"\";\r\n\r\n\t\t\t} else if ( Array.isArray( val ) ) {\r\n\t\t\t\tval = jQuery.map( val, function( value ) {\r\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\r\n\t\t\t\t} );\r\n\t\t\t}\r\n\r\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\r\n\r\n\t\t\t// If set returns undefined, fall back to normal setting\r\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\r\n\t\t\t\tthis.value = val;\r\n\t\t\t}\r\n\t\t} );\r\n\t}\r\n} );\r\n\r\njQuery.extend( {\r\n\tvalHooks: {\r\n\t\toption: {\r\n\t\t\tget: function( elem ) {\r\n\r\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\r\n\t\t\t\treturn val != null ?\r\n\t\t\t\t\tval :\r\n\r\n\t\t\t\t\t// Support: IE <=10 - 11 only\r\n\t\t\t\t\t// option.text throws exceptions (trac-14686, trac-14858)\r\n\t\t\t\t\t// Strip and collapse whitespace\r\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\r\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\r\n\t\t\t}\r\n\t\t},\r\n\t\tselect: {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\tvar value, option, i,\r\n\t\t\t\t\toptions = elem.options,\r\n\t\t\t\t\tindex = elem.selectedIndex,\r\n\t\t\t\t\tone = elem.type === \"select-one\",\r\n\t\t\t\t\tvalues = one ? null : [],\r\n\t\t\t\t\tmax = one ? index + 1 : options.length;\r\n\r\n\t\t\t\tif ( index < 0 ) {\r\n\t\t\t\t\ti = max;\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\ti = one ? index : 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Loop through all the selected options\r\n\t\t\t\tfor ( ; i < max; i++ ) {\r\n\t\t\t\t\toption = options[ i ];\r\n\r\n\t\t\t\t\t// Support: IE <=9 only\r\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (trac-2551)\r\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\r\n\r\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\r\n\t\t\t\t\t\t\t!option.disabled &&\r\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\r\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\r\n\r\n\t\t\t\t\t\t// Get the specific value for the option\r\n\t\t\t\t\t\tvalue = jQuery( option ).val();\r\n\r\n\t\t\t\t\t\t// We don't need an array for one selects\r\n\t\t\t\t\t\tif ( one ) {\r\n\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Multi-Selects return an array\r\n\t\t\t\t\t\tvalues.push( value );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn values;\r\n\t\t\t},\r\n\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\tvar optionSet, option,\r\n\t\t\t\t\toptions = elem.options,\r\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\r\n\t\t\t\t\ti = options.length;\r\n\r\n\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\toption = options[ i ];\r\n\r\n\t\t\t\t\t/* eslint-disable no-cond-assign */\r\n\r\n\t\t\t\t\tif ( option.selected =\r\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\toptionSet = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/* eslint-enable no-cond-assign */\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\r\n\t\t\t\tif ( !optionSet ) {\r\n\t\t\t\t\telem.selectedIndex = -1;\r\n\t\t\t\t}\r\n\t\t\t\treturn values;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n} );\r\n\r\n// Radios and checkboxes getter/setter\r\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\r\n\tjQuery.valHooks[ this ] = {\r\n\t\tset: function( elem, value ) {\r\n\t\t\tif ( Array.isArray( value ) ) {\r\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tif ( !support.checkOn ) {\r\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\r\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\r\n\t\t};\r\n\t}\r\n} );\r\n\r\n\r\n\r\n\r\n// Return jQuery for attributes-only inclusion\r\nvar location = window.location;\r\n\r\nvar nonce = { guid: Date.now() };\r\n\r\nvar rquery = ( /\\?/ );\r\n\r\n\r\n\r\n// Cross-browser xml parsing\r\njQuery.parseXML = function( data ) {\r\n\tvar xml, parserErrorElem;\r\n\tif ( !data || typeof data !== \"string\" ) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Support: IE 9 - 11 only\r\n\t// IE throws on parseFromString with invalid input.\r\n\ttry {\r\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\r\n\t} catch ( e ) {}\r\n\r\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\r\n\tif ( !xml || parserErrorElem ) {\r\n\t\tjQuery.error( \"Invalid XML: \" + (\r\n\t\t\tparserErrorElem ?\r\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\r\n\t\t\t\t\treturn el.textContent;\r\n\t\t\t\t} ).join( \"\\n\" ) :\r\n\t\t\t\tdata\r\n\t\t) );\r\n\t}\r\n\treturn xml;\r\n};\r\n\r\n\r\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\r\n\tstopPropagationCallback = function( e ) {\r\n\t\te.stopPropagation();\r\n\t};\r\n\r\njQuery.extend( jQuery.event, {\r\n\r\n\ttrigger: function( event, data, elem, onlyHandlers ) {\r\n\r\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\r\n\t\t\teventPath = [ elem || document ],\r\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\r\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\r\n\r\n\t\tcur = lastElement = tmp = elem = elem || document;\r\n\r\n\t\t// Don't do events on text and comment nodes\r\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\r\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\r\n\r\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\r\n\t\t\tnamespaces = type.split( \".\" );\r\n\t\t\ttype = namespaces.shift();\r\n\t\t\tnamespaces.sort();\r\n\t\t}\r\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\r\n\r\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\r\n\t\tevent = event[ jQuery.expando ] ?\r\n\t\t\tevent :\r\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\r\n\r\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\r\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\r\n\t\tevent.namespace = namespaces.join( \".\" );\r\n\t\tevent.rnamespace = event.namespace ?\r\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\r\n\t\t\tnull;\r\n\r\n\t\t// Clean up the event in case it is being reused\r\n\t\tevent.result = undefined;\r\n\t\tif ( !event.target ) {\r\n\t\t\tevent.target = elem;\r\n\t\t}\r\n\r\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\r\n\t\tdata = data == null ?\r\n\t\t\t[ event ] :\r\n\t\t\tjQuery.makeArray( data, [ event ] );\r\n\r\n\t\t// Allow special events to draw outside the lines\r\n\t\tspecial = jQuery.event.special[ type ] || {};\r\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Determine event propagation path in advance, per W3C events spec (trac-9951)\r\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\r\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\r\n\r\n\t\t\tbubbleType = special.delegateType || type;\r\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\r\n\t\t\t\tcur = cur.parentNode;\r\n\t\t\t}\r\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\r\n\t\t\t\teventPath.push( cur );\r\n\t\t\t\ttmp = cur;\r\n\t\t\t}\r\n\r\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\r\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\r\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Fire handlers on the event path\r\n\t\ti = 0;\r\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\r\n\t\t\tlastElement = cur;\r\n\t\t\tevent.type = i > 1 ?\r\n\t\t\t\tbubbleType :\r\n\t\t\t\tspecial.bindType || type;\r\n\r\n\t\t\t// jQuery handler\r\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\r\n\t\t\t\tdataPriv.get( cur, \"handle\" );\r\n\t\t\tif ( handle ) {\r\n\t\t\t\thandle.apply( cur, data );\r\n\t\t\t}\r\n\r\n\t\t\t// Native handler\r\n\t\t\thandle = ontype && cur[ ontype ];\r\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\r\n\t\t\t\tevent.result = handle.apply( cur, data );\r\n\t\t\t\tif ( event.result === false ) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tevent.type = type;\r\n\r\n\t\t// If nobody prevented the default action, do it now\r\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\r\n\r\n\t\t\tif ( ( !special._default ||\r\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\r\n\t\t\t\tacceptData( elem ) ) {\r\n\r\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\r\n\t\t\t\t// Don't do default actions on window, that's where global variables be (trac-6170)\r\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\r\n\r\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\r\n\t\t\t\t\ttmp = elem[ ontype ];\r\n\r\n\t\t\t\t\tif ( tmp ) {\r\n\t\t\t\t\t\telem[ ontype ] = null;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\r\n\t\t\t\t\tjQuery.event.triggered = type;\r\n\r\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\r\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\telem[ type ]();\r\n\r\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\r\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tjQuery.event.triggered = undefined;\r\n\r\n\t\t\t\t\tif ( tmp ) {\r\n\t\t\t\t\t\telem[ ontype ] = tmp;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn event.result;\r\n\t},\r\n\r\n\t// Piggyback on a donor event to simulate a different one\r\n\t// Used only for `focus(in | out)` events\r\n\tsimulate: function( type, elem, event ) {\r\n\t\tvar e = jQuery.extend(\r\n\t\t\tnew jQuery.Event(),\r\n\t\t\tevent,\r\n\t\t\t{\r\n\t\t\t\ttype: type,\r\n\t\t\t\tisSimulated: true\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tjQuery.event.trigger( e, null, elem );\r\n\t}\r\n\r\n} );\r\n\r\njQuery.fn.extend( {\r\n\r\n\ttrigger: function( type, data ) {\r\n\t\treturn this.each( function() {\r\n\t\t\tjQuery.event.trigger( type, data, this );\r\n\t\t} );\r\n\t},\r\n\ttriggerHandler: function( type, data ) {\r\n\t\tvar elem = this[ 0 ];\r\n\t\tif ( elem ) {\r\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\r\n\t\t}\r\n\t}\r\n} );\r\n\r\n\r\nvar\r\n\trbracket = /\\[\\]$/,\r\n\trCRLF = /\\r?\\n/g,\r\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\r\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\r\n\r\nfunction buildParams( prefix, obj, traditional, add ) {\r\n\tvar name;\r\n\r\n\tif ( Array.isArray( obj ) ) {\r\n\r\n\t\t// Serialize array item.\r\n\t\tjQuery.each( obj, function( i, v ) {\r\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\r\n\r\n\t\t\t\t// Treat each array item as a scalar.\r\n\t\t\t\tadd( prefix, v );\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\r\n\t\t\t\tbuildParams(\r\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\r\n\t\t\t\t\tv,\r\n\t\t\t\t\ttraditional,\r\n\t\t\t\t\tadd\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} );\r\n\r\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\r\n\r\n\t\t// Serialize object item.\r\n\t\tfor ( name in obj ) {\r\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\r\n\t\t}\r\n\r\n\t} else {\r\n\r\n\t\t// Serialize scalar item.\r\n\t\tadd( prefix, obj );\r\n\t}\r\n}\r\n\r\n// Serialize an array of form elements or a set of\r\n// key/values into a query string\r\njQuery.param = function( a, traditional ) {\r\n\tvar prefix,\r\n\t\ts = [],\r\n\t\tadd = function( key, valueOrFunction ) {\r\n\r\n\t\t\t// If value is a function, invoke it and use its return value\r\n\t\t\tvar value = isFunction( valueOrFunction ) ?\r\n\t\t\t\tvalueOrFunction() :\r\n\t\t\t\tvalueOrFunction;\r\n\r\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\r\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\r\n\t\t};\r\n\r\n\tif ( a == null ) {\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\t// If an array was passed in, assume that it is an array of form elements.\r\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\r\n\r\n\t\t// Serialize the form elements\r\n\t\tjQuery.each( a, function() {\r\n\t\t\tadd( this.name, this.value );\r\n\t\t} );\r\n\r\n\t} else {\r\n\r\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\r\n\t\t// did it), otherwise encode params recursively.\r\n\t\tfor ( prefix in a ) {\r\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the resulting serialization\r\n\treturn s.join( \"&\" );\r\n};\r\n\r\njQuery.fn.extend( {\r\n\tserialize: function() {\r\n\t\treturn jQuery.param( this.serializeArray() );\r\n\t},\r\n\tserializeArray: function() {\r\n\t\treturn this.map( function() {\r\n\r\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\r\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\r\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\r\n\t\t} ).filter( function() {\r\n\t\t\tvar type = this.type;\r\n\r\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\r\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\r\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\r\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\r\n\t\t} ).map( function( _i, elem ) {\r\n\t\t\tvar val = jQuery( this ).val();\r\n\r\n\t\t\tif ( val == null ) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tif ( Array.isArray( val ) ) {\r\n\t\t\t\treturn jQuery.map( val, function( val ) {\r\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\r\n\t\t\t\t} );\r\n\t\t\t}\r\n\r\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\r\n\t\t} ).get();\r\n\t}\r\n} );\r\n\r\n\r\nvar\r\n\tr20 = /%20/g,\r\n\trhash = /#.*$/,\r\n\trantiCache = /([?&])_=[^&]*/,\r\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\r\n\r\n\t// trac-7653, trac-8125, trac-8152: local protocol detection\r\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\r\n\trnoContent = /^(?:GET|HEAD)$/,\r\n\trprotocol = /^\\/\\//,\r\n\r\n\t/* Prefilters\r\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\r\n\t * 2) These are called:\r\n\t * - BEFORE asking for a transport\r\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\r\n\t * 3) key is the dataType\r\n\t * 4) the catchall symbol \"*\" can be used\r\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\r\n\t */\r\n\tprefilters = {},\r\n\r\n\t/* Transports bindings\r\n\t * 1) key is the dataType\r\n\t * 2) the catchall symbol \"*\" can be used\r\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\r\n\t */\r\n\ttransports = {},\r\n\r\n\t// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\r\n\tallTypes = \"*/\".concat( \"*\" ),\r\n\r\n\t// Anchor tag for parsing the document origin\r\n\toriginAnchor = document.createElement( \"a\" );\r\n\r\noriginAnchor.href = location.href;\r\n\r\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\r\nfunction addToPrefiltersOrTransports( structure ) {\r\n\r\n\t// dataTypeExpression is optional and defaults to \"*\"\r\n\treturn function( dataTypeExpression, func ) {\r\n\r\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\r\n\t\t\tfunc = dataTypeExpression;\r\n\t\t\tdataTypeExpression = \"*\";\r\n\t\t}\r\n\r\n\t\tvar dataType,\r\n\t\t\ti = 0,\r\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\r\n\r\n\t\tif ( isFunction( func ) ) {\r\n\r\n\t\t\t// For each dataType in the dataTypeExpression\r\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\r\n\r\n\t\t\t\t// Prepend if requested\r\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\r\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\r\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\r\n\r\n\t\t\t\t// Otherwise append\r\n\t\t\t\t} else {\r\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// Base inspection function for prefilters and transports\r\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\r\n\r\n\tvar inspected = {},\r\n\t\tseekingTransport = ( structure === transports );\r\n\r\n\tfunction inspect( dataType ) {\r\n\t\tvar selected;\r\n\t\tinspected[ dataType ] = true;\r\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\r\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\r\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\r\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\r\n\r\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\r\n\t\t\t\tinspect( dataTypeOrTransport );\r\n\t\t\t\treturn false;\r\n\t\t\t} else if ( seekingTransport ) {\r\n\t\t\t\treturn !( selected = dataTypeOrTransport );\r\n\t\t\t}\r\n\t\t} );\r\n\t\treturn selected;\r\n\t}\r\n\r\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\r\n}\r\n\r\n// A special extend for ajax options\r\n// that takes \"flat\" options (not to be deep extended)\r\n// Fixes trac-9887\r\nfunction ajaxExtend( target, src ) {\r\n\tvar key, deep,\r\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\r\n\r\n\tfor ( key in src ) {\r\n\t\tif ( src[ key ] !== undefined ) {\r\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\r\n\t\t}\r\n\t}\r\n\tif ( deep ) {\r\n\t\tjQuery.extend( true, target, deep );\r\n\t}\r\n\r\n\treturn target;\r\n}\r\n\r\n/* Handles responses to an ajax request:\r\n * - finds the right dataType (mediates between content-type and expected dataType)\r\n * - returns the corresponding response\r\n */\r\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\r\n\r\n\tvar ct, type, finalDataType, firstDataType,\r\n\t\tcontents = s.contents,\r\n\t\tdataTypes = s.dataTypes;\r\n\r\n\t// Remove auto dataType and get content-type in the process\r\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\r\n\t\tdataTypes.shift();\r\n\t\tif ( ct === undefined ) {\r\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\r\n\t\t}\r\n\t}\r\n\r\n\t// Check if we're dealing with a known content-type\r\n\tif ( ct ) {\r\n\t\tfor ( type in contents ) {\r\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\r\n\t\t\t\tdataTypes.unshift( type );\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Check to see if we have a response for the expected dataType\r\n\tif ( dataTypes[ 0 ] in responses ) {\r\n\t\tfinalDataType = dataTypes[ 0 ];\r\n\t} else {\r\n\r\n\t\t// Try convertible dataTypes\r\n\t\tfor ( type in responses ) {\r\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\r\n\t\t\t\tfinalDataType = type;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif ( !firstDataType ) {\r\n\t\t\t\tfirstDataType = type;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Or just use first one\r\n\t\tfinalDataType = finalDataType || firstDataType;\r\n\t}\r\n\r\n\t// If we found a dataType\r\n\t// We add the dataType to the list if needed\r\n\t// and return the corresponding response\r\n\tif ( finalDataType ) {\r\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\r\n\t\t\tdataTypes.unshift( finalDataType );\r\n\t\t}\r\n\t\treturn responses[ finalDataType ];\r\n\t}\r\n}\r\n\r\n/* Chain conversions given the request and the original response\r\n * Also sets the responseXXX fields on the jqXHR instance\r\n */\r\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\r\n\tvar conv2, current, conv, tmp, prev,\r\n\t\tconverters = {},\r\n\r\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\r\n\t\tdataTypes = s.dataTypes.slice();\r\n\r\n\t// Create converters map with lowercased keys\r\n\tif ( dataTypes[ 1 ] ) {\r\n\t\tfor ( conv in s.converters ) {\r\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\r\n\t\t}\r\n\t}\r\n\r\n\tcurrent = dataTypes.shift();\r\n\r\n\t// Convert to each sequential dataType\r\n\twhile ( current ) {\r\n\r\n\t\tif ( s.responseFields[ current ] ) {\r\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\r\n\t\t}\r\n\r\n\t\t// Apply the dataFilter if provided\r\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\r\n\t\t\tresponse = s.dataFilter( response, s.dataType );\r\n\t\t}\r\n\r\n\t\tprev = current;\r\n\t\tcurrent = dataTypes.shift();\r\n\r\n\t\tif ( current ) {\r\n\r\n\t\t\t// There's only work to do if current dataType is non-auto\r\n\t\t\tif ( current === \"*\" ) {\r\n\r\n\t\t\t\tcurrent = prev;\r\n\r\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\r\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\r\n\r\n\t\t\t\t// Seek a direct converter\r\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\r\n\r\n\t\t\t\t// If none found, seek a pair\r\n\t\t\t\tif ( !conv ) {\r\n\t\t\t\t\tfor ( conv2 in converters ) {\r\n\r\n\t\t\t\t\t\t// If conv2 outputs current\r\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\r\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\r\n\r\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\r\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\r\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\r\n\t\t\t\t\t\t\tif ( conv ) {\r\n\r\n\t\t\t\t\t\t\t\t// Condense equivalence converters\r\n\t\t\t\t\t\t\t\tif ( conv === true ) {\r\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\r\n\r\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\r\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\r\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\r\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Apply converter (if not an equivalence)\r\n\t\t\t\tif ( conv !== true ) {\r\n\r\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\r\n\t\t\t\t\tif ( conv && s.throws ) {\r\n\t\t\t\t\t\tresponse = conv( response );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tresponse = conv( response );\r\n\t\t\t\t\t\t} catch ( e ) {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\r\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { state: \"success\", data: response };\r\n}\r\n\r\njQuery.extend( {\r\n\r\n\t// Counter for holding the number of active queries\r\n\tactive: 0,\r\n\r\n\t// Last-Modified header cache for next request\r\n\tlastModified: {},\r\n\tetag: {},\r\n\r\n\tajaxSettings: {\r\n\t\turl: location.href,\r\n\t\ttype: \"GET\",\r\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\r\n\t\tglobal: true,\r\n\t\tprocessData: true,\r\n\t\tasync: true,\r\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n\r\n\t\t/*\r\n\t\ttimeout: 0,\r\n\t\tdata: null,\r\n\t\tdataType: null,\r\n\t\tusername: null,\r\n\t\tpassword: null,\r\n\t\tcache: null,\r\n\t\tthrows: false,\r\n\t\ttraditional: false,\r\n\t\theaders: {},\r\n\t\t*/\r\n\r\n\t\taccepts: {\r\n\t\t\t\"*\": allTypes,\r\n\t\t\ttext: \"text/plain\",\r\n\t\t\thtml: \"text/html\",\r\n\t\t\txml: \"application/xml, text/xml\",\r\n\t\t\tjson: \"application/json, text/javascript\"\r\n\t\t},\r\n\r\n\t\tcontents: {\r\n\t\t\txml: /\\bxml\\b/,\r\n\t\t\thtml: /\\bhtml/,\r\n\t\t\tjson: /\\bjson\\b/\r\n\t\t},\r\n\r\n\t\tresponseFields: {\r\n\t\t\txml: \"responseXML\",\r\n\t\t\ttext: \"responseText\",\r\n\t\t\tjson: \"responseJSON\"\r\n\t\t},\r\n\r\n\t\t// Data converters\r\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\r\n\t\tconverters: {\r\n\r\n\t\t\t// Convert anything to text\r\n\t\t\t\"* text\": String,\r\n\r\n\t\t\t// Text to html (true = no transformation)\r\n\t\t\t\"text html\": true,\r\n\r\n\t\t\t// Evaluate text as a json expression\r\n\t\t\t\"text json\": JSON.parse,\r\n\r\n\t\t\t// Parse text as xml\r\n\t\t\t\"text xml\": jQuery.parseXML\r\n\t\t},\r\n\r\n\t\t// For options that shouldn't be deep extended:\r\n\t\t// you can add your own custom options here if\r\n\t\t// and when you create one that shouldn't be\r\n\t\t// deep extended (see ajaxExtend)\r\n\t\tflatOptions: {\r\n\t\t\turl: true,\r\n\t\t\tcontext: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Creates a full fledged settings object into target\r\n\t// with both ajaxSettings and settings fields.\r\n\t// If target is omitted, writes into ajaxSettings.\r\n\tajaxSetup: function( target, settings ) {\r\n\t\treturn settings ?\r\n\r\n\t\t\t// Building a settings object\r\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\r\n\r\n\t\t\t// Extending ajaxSettings\r\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\r\n\t},\r\n\r\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\r\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\r\n\r\n\t// Main method\r\n\tajax: function( url, options ) {\r\n\r\n\t\t// If url is an object, simulate pre-1.5 signature\r\n\t\tif ( typeof url === \"object\" ) {\r\n\t\t\toptions = url;\r\n\t\t\turl = undefined;\r\n\t\t}\r\n\r\n\t\t// Force options to be an object\r\n\t\toptions = options || {};\r\n\r\n\t\tvar transport,\r\n\r\n\t\t\t// URL without anti-cache param\r\n\t\t\tcacheURL,\r\n\r\n\t\t\t// Response headers\r\n\t\t\tresponseHeadersString,\r\n\t\t\tresponseHeaders,\r\n\r\n\t\t\t// timeout handle\r\n\t\t\ttimeoutTimer,\r\n\r\n\t\t\t// Url cleanup var\r\n\t\t\turlAnchor,\r\n\r\n\t\t\t// Request state (becomes false upon send and true upon completion)\r\n\t\t\tcompleted,\r\n\r\n\t\t\t// To know if global events are to be dispatched\r\n\t\t\tfireGlobals,\r\n\r\n\t\t\t// Loop variable\r\n\t\t\ti,\r\n\r\n\t\t\t// uncached part of the url\r\n\t\t\tuncached,\r\n\r\n\t\t\t// Create the final options object\r\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\r\n\r\n\t\t\t// Callbacks context\r\n\t\t\tcallbackContext = s.context || s,\r\n\r\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\r\n\t\t\tglobalEventContext = s.context &&\r\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\r\n\t\t\t\tjQuery( callbackContext ) :\r\n\t\t\t\tjQuery.event,\r\n\r\n\t\t\t// Deferreds\r\n\t\t\tdeferred = jQuery.Deferred(),\r\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\r\n\r\n\t\t\t// Status-dependent callbacks\r\n\t\t\tstatusCode = s.statusCode || {},\r\n\r\n\t\t\t// Headers (they are sent all at once)\r\n\t\t\trequestHeaders = {},\r\n\t\t\trequestHeadersNames = {},\r\n\r\n\t\t\t// Default abort message\r\n\t\t\tstrAbort = \"canceled\",\r\n\r\n\t\t\t// Fake xhr\r\n\t\t\tjqXHR = {\r\n\t\t\t\treadyState: 0,\r\n\r\n\t\t\t\t// Builds headers hashtable if needed\r\n\t\t\t\tgetResponseHeader: function( key ) {\r\n\t\t\t\t\tvar match;\r\n\t\t\t\t\tif ( completed ) {\r\n\t\t\t\t\t\tif ( !responseHeaders ) {\r\n\t\t\t\t\t\t\tresponseHeaders = {};\r\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\r\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\r\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\r\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Raw string\r\n\t\t\t\tgetAllResponseHeaders: function() {\r\n\t\t\t\t\treturn completed ? responseHeadersString : null;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Caches the header\r\n\t\t\t\tsetRequestHeader: function( name, value ) {\r\n\t\t\t\t\tif ( completed == null ) {\r\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\r\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\r\n\t\t\t\t\t\trequestHeaders[ name ] = value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Overrides response content-type header\r\n\t\t\t\toverrideMimeType: function( type ) {\r\n\t\t\t\t\tif ( completed == null ) {\r\n\t\t\t\t\t\ts.mimeType = type;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Status-dependent callbacks\r\n\t\t\t\tstatusCode: function( map ) {\r\n\t\t\t\t\tvar code;\r\n\t\t\t\t\tif ( map ) {\r\n\t\t\t\t\t\tif ( completed ) {\r\n\r\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\r\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\r\n\t\t\t\t\t\t\tfor ( code in map ) {\r\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Cancel the request\r\n\t\t\t\tabort: function( statusText ) {\r\n\t\t\t\t\tvar finalText = statusText || strAbort;\r\n\t\t\t\t\tif ( transport ) {\r\n\t\t\t\t\t\ttransport.abort( finalText );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdone( 0, finalText );\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t// Attach deferreds\r\n\t\tdeferred.promise( jqXHR );\r\n\r\n\t\t// Add protocol if not provided (prefilters might expect it)\r\n\t\t// Handle falsy url in the settings object (trac-10093: consistency with old signature)\r\n\t\t// We also use the url parameter if available\r\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\r\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\r\n\r\n\t\t// Alias method option to type as per ticket trac-12004\r\n\t\ts.type = options.method || options.type || s.method || s.type;\r\n\r\n\t\t// Extract dataTypes list\r\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\r\n\r\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\r\n\t\tif ( s.crossDomain == null ) {\r\n\t\t\turlAnchor = document.createElement( \"a\" );\r\n\r\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\r\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\r\n\t\t\t// e.g. http://example.com:80x/\r\n\t\t\ttry {\r\n\t\t\t\turlAnchor.href = s.url;\r\n\r\n\t\t\t\t// Support: IE <=8 - 11 only\r\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\r\n\t\t\t\turlAnchor.href = urlAnchor.href;\r\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\r\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\r\n\t\t\t} catch ( e ) {\r\n\r\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\r\n\t\t\t\t// it can be rejected by the transport if it is invalid\r\n\t\t\t\ts.crossDomain = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Convert data if not already a string\r\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\r\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\r\n\t\t}\r\n\r\n\t\t// Apply prefilters\r\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\r\n\r\n\t\t// If request was aborted inside a prefilter, stop there\r\n\t\tif ( completed ) {\r\n\t\t\treturn jqXHR;\r\n\t\t}\r\n\r\n\t\t// We can fire global events as of now if asked to\r\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\r\n\t\tfireGlobals = jQuery.event && s.global;\r\n\r\n\t\t// Watch for a new set of requests\r\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\r\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\r\n\t\t}\r\n\r\n\t\t// Uppercase the type\r\n\t\ts.type = s.type.toUpperCase();\r\n\r\n\t\t// Determine if request has content\r\n\t\ts.hasContent = !rnoContent.test( s.type );\r\n\r\n\t\t// Save the URL in case we're toying with the If-Modified-Since\r\n\t\t// and/or If-None-Match header later on\r\n\t\t// Remove hash to simplify url manipulation\r\n\t\tcacheURL = s.url.replace( rhash, \"\" );\r\n\r\n\t\t// More options handling for requests with no content\r\n\t\tif ( !s.hasContent ) {\r\n\r\n\t\t\t// Remember the hash so we can put it back\r\n\t\t\tuncached = s.url.slice( cacheURL.length );\r\n\r\n\t\t\t// If data is available and should be processed, append data to url\r\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\r\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\r\n\r\n\t\t\t\t// trac-9682: remove data so that it's not used in an eventual retry\r\n\t\t\t\tdelete s.data;\r\n\t\t\t}\r\n\r\n\t\t\t// Add or update anti-cache param if needed\r\n\t\t\tif ( s.cache === false ) {\r\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\r\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\r\n\t\t\t\t\tuncached;\r\n\t\t\t}\r\n\r\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\r\n\t\t\ts.url = cacheURL + uncached;\r\n\r\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\r\n\t\t} else if ( s.data && s.processData &&\r\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\r\n\t\t\ts.data = s.data.replace( r20, \"+\" );\r\n\t\t}\r\n\r\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\r\n\t\tif ( s.ifModified ) {\r\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\r\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\r\n\t\t\t}\r\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\r\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Set the correct header, if data is being sent\r\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\r\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\r\n\t\t}\r\n\r\n\t\t// Set the Accepts header for the server, depending on the dataType\r\n\t\tjqXHR.setRequestHeader(\r\n\t\t\t\"Accept\",\r\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\r\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\r\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\r\n\t\t\t\ts.accepts[ \"*\" ]\r\n\t\t);\r\n\r\n\t\t// Check for headers option\r\n\t\tfor ( i in s.headers ) {\r\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\r\n\t\t}\r\n\r\n\t\t// Allow custom headers/mimetypes and early abort\r\n\t\tif ( s.beforeSend &&\r\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\r\n\r\n\t\t\t// Abort if not done already and return\r\n\t\t\treturn jqXHR.abort();\r\n\t\t}\r\n\r\n\t\t// Aborting is no longer a cancellation\r\n\t\tstrAbort = \"abort\";\r\n\r\n\t\t// Install callbacks on deferreds\r\n\t\tcompleteDeferred.add( s.complete );\r\n\t\tjqXHR.done( s.success );\r\n\t\tjqXHR.fail( s.error );\r\n\r\n\t\t// Get transport\r\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\r\n\r\n\t\t// If no transport, we auto-abort\r\n\t\tif ( !transport ) {\r\n\t\t\tdone( -1, \"No Transport\" );\r\n\t\t} else {\r\n\t\t\tjqXHR.readyState = 1;\r\n\r\n\t\t\t// Send global event\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\r\n\t\t\t}\r\n\r\n\t\t\t// If request was aborted inside ajaxSend, stop there\r\n\t\t\tif ( completed ) {\r\n\t\t\t\treturn jqXHR;\r\n\t\t\t}\r\n\r\n\t\t\t// Timeout\r\n\t\t\tif ( s.async && s.timeout > 0 ) {\r\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\r\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\r\n\t\t\t\t}, s.timeout );\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tcompleted = false;\r\n\t\t\t\ttransport.send( requestHeaders, done );\r\n\t\t\t} catch ( e ) {\r\n\r\n\t\t\t\t// Rethrow post-completion exceptions\r\n\t\t\t\tif ( completed ) {\r\n\t\t\t\t\tthrow e;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Propagate others as results\r\n\t\t\t\tdone( -1, e );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Callback for when everything is done\r\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\r\n\t\t\tvar isSuccess, success, error, response, modified,\r\n\t\t\t\tstatusText = nativeStatusText;\r\n\r\n\t\t\t// Ignore repeat invocations\r\n\t\t\tif ( completed ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tcompleted = true;\r\n\r\n\t\t\t// Clear timeout if it exists\r\n\t\t\tif ( timeoutTimer ) {\r\n\t\t\t\twindow.clearTimeout( timeoutTimer );\r\n\t\t\t}\r\n\r\n\t\t\t// Dereference transport for early garbage collection\r\n\t\t\t// (no matter how long the jqXHR object will be used)\r\n\t\t\ttransport = undefined;\r\n\r\n\t\t\t// Cache response headers\r\n\t\t\tresponseHeadersString = headers || \"\";\r\n\r\n\t\t\t// Set readyState\r\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\r\n\r\n\t\t\t// Determine if successful\r\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\r\n\r\n\t\t\t// Get response data\r\n\t\t\tif ( responses ) {\r\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\r\n\t\t\t}\r\n\r\n\t\t\t// Use a noop converter for missing script but not if jsonp\r\n\t\t\tif ( !isSuccess &&\r\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\r\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\r\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\r\n\t\t\t}\r\n\r\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\r\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\r\n\r\n\t\t\t// If successful, handle type chaining\r\n\t\t\tif ( isSuccess ) {\r\n\r\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\r\n\t\t\t\tif ( s.ifModified ) {\r\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\r\n\t\t\t\t\tif ( modified ) {\r\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\r\n\t\t\t\t\tif ( modified ) {\r\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if no content\r\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\r\n\t\t\t\t\tstatusText = \"nocontent\";\r\n\r\n\t\t\t\t// if not modified\r\n\t\t\t\t} else if ( status === 304 ) {\r\n\t\t\t\t\tstatusText = \"notmodified\";\r\n\r\n\t\t\t\t// If we have data, let's convert it\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstatusText = response.state;\r\n\t\t\t\t\tsuccess = response.data;\r\n\t\t\t\t\terror = response.error;\r\n\t\t\t\t\tisSuccess = !error;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\r\n\t\t\t\terror = statusText;\r\n\t\t\t\tif ( status || !statusText ) {\r\n\t\t\t\t\tstatusText = \"error\";\r\n\t\t\t\t\tif ( status < 0 ) {\r\n\t\t\t\t\t\tstatus = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Set data for the fake xhr object\r\n\t\t\tjqXHR.status = status;\r\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\r\n\r\n\t\t\t// Success/Error\r\n\t\t\tif ( isSuccess ) {\r\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\r\n\t\t\t} else {\r\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\r\n\t\t\t}\r\n\r\n\t\t\t// Status-dependent callbacks\r\n\t\t\tjqXHR.statusCode( statusCode );\r\n\t\t\tstatusCode = undefined;\r\n\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\r\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\r\n\t\t\t}\r\n\r\n\t\t\t// Complete\r\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\r\n\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\r\n\r\n\t\t\t\t// Handle the global AJAX counter\r\n\t\t\t\tif ( !( --jQuery.active ) ) {\r\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn jqXHR;\r\n\t},\r\n\r\n\tgetJSON: function( url, data, callback ) {\r\n\t\treturn jQuery.get( url, data, callback, \"json\" );\r\n\t},\r\n\r\n\tgetScript: function( url, callback ) {\r\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\r\n\t}\r\n} );\r\n\r\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\r\n\tjQuery[ method ] = function( url, data, callback, type ) {\r\n\r\n\t\t// Shift arguments if data argument was omitted\r\n\t\tif ( isFunction( data ) ) {\r\n\t\t\ttype = type || callback;\r\n\t\t\tcallback = data;\r\n\t\t\tdata = undefined;\r\n\t\t}\r\n\r\n\t\t// The url can be an options object (which then must have .url)\r\n\t\treturn jQuery.ajax( jQuery.extend( {\r\n\t\t\turl: url,\r\n\t\t\ttype: method,\r\n\t\t\tdataType: type,\r\n\t\t\tdata: data,\r\n\t\t\tsuccess: callback\r\n\t\t}, jQuery.isPlainObject( url ) && url ) );\r\n\t};\r\n} );\r\n\r\njQuery.ajaxPrefilter( function( s ) {\r\n\tvar i;\r\n\tfor ( i in s.headers ) {\r\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\r\n\t\t\ts.contentType = s.headers[ i ] || \"\";\r\n\t\t}\r\n\t}\r\n} );\r\n\r\n\r\njQuery._evalUrl = function( url, options, doc ) {\r\n\treturn jQuery.ajax( {\r\n\t\turl: url,\r\n\r\n\t\t// Make this explicit, since user can override this through ajaxSetup (trac-11264)\r\n\t\ttype: \"GET\",\r\n\t\tdataType: \"script\",\r\n\t\tcache: true,\r\n\t\tasync: false,\r\n\t\tglobal: false,\r\n\r\n\t\t// Only evaluate the response if it is successful (gh-4126)\r\n\t\t// dataFilter is not invoked for failure responses, so using it instead\r\n\t\t// of the default converter is kludgy but it works.\r\n\t\tconverters: {\r\n\t\t\t\"text script\": function() {}\r\n\t\t},\r\n\t\tdataFilter: function( response ) {\r\n\t\t\tjQuery.globalEval( response, options, doc );\r\n\t\t}\r\n\t} );\r\n};\r\n\r\n\r\njQuery.fn.extend( {\r\n\twrapAll: function( html ) {\r\n\t\tvar wrap;\r\n\r\n\t\tif ( this[ 0 ] ) {\r\n\t\t\tif ( isFunction( html ) ) {\r\n\t\t\t\thtml = html.call( this[ 0 ] );\r\n\t\t\t}\r\n\r\n\t\t\t// The elements to wrap the target around\r\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\r\n\r\n\t\t\tif ( this[ 0 ].parentNode ) {\r\n\t\t\t\twrap.insertBefore( this[ 0 ] );\r\n\t\t\t}\r\n\r\n\t\t\twrap.map( function() {\r\n\t\t\t\tvar elem = this;\r\n\r\n\t\t\t\twhile ( elem.firstElementChild ) {\r\n\t\t\t\t\telem = elem.firstElementChild;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn elem;\r\n\t\t\t} ).append( this );\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\twrapInner: function( html ) {\r\n\t\tif ( isFunction( html ) ) {\r\n\t\t\treturn this.each( function( i ) {\r\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\treturn this.each( function() {\r\n\t\t\tvar self = jQuery( this ),\r\n\t\t\t\tcontents = self.contents();\r\n\r\n\t\t\tif ( contents.length ) {\r\n\t\t\t\tcontents.wrapAll( html );\r\n\r\n\t\t\t} else {\r\n\t\t\t\tself.append( html );\r\n\t\t\t}\r\n\t\t} );\r\n\t},\r\n\r\n\twrap: function( html ) {\r\n\t\tvar htmlIsFunction = isFunction( html );\r\n\r\n\t\treturn this.each( function( i ) {\r\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\r\n\t\t} );\r\n\t},\r\n\r\n\tunwrap: function( selector ) {\r\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\r\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\r\n\t\t} );\r\n\t\treturn this;\r\n\t}\r\n} );\r\n\r\n\r\njQuery.expr.pseudos.hidden = function( elem ) {\r\n\treturn !jQuery.expr.pseudos.visible( elem );\r\n};\r\njQuery.expr.pseudos.visible = function( elem ) {\r\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\r\n};\r\n\r\n\r\n\r\n\r\njQuery.ajaxSettings.xhr = function() {\r\n\ttry {\r\n\t\treturn new window.XMLHttpRequest();\r\n\t} catch ( e ) {}\r\n};\r\n\r\nvar xhrSuccessStatus = {\r\n\r\n\t\t// File protocol always yields status code 0, assume 200\r\n\t\t0: 200,\r\n\r\n\t\t// Support: IE <=9 only\r\n\t\t// trac-1450: sometimes IE returns 1223 when it should be 204\r\n\t\t1223: 204\r\n\t},\r\n\txhrSupported = jQuery.ajaxSettings.xhr();\r\n\r\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\r\nsupport.ajax = xhrSupported = !!xhrSupported;\r\n\r\njQuery.ajaxTransport( function( options ) {\r\n\tvar callback, errorCallback;\r\n\r\n\t// Cross domain only allowed if supported through XMLHttpRequest\r\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\r\n\t\treturn {\r\n\t\t\tsend: function( headers, complete ) {\r\n\t\t\t\tvar i,\r\n\t\t\t\t\txhr = options.xhr();\r\n\r\n\t\t\t\txhr.open(\r\n\t\t\t\t\toptions.type,\r\n\t\t\t\t\toptions.url,\r\n\t\t\t\t\toptions.async,\r\n\t\t\t\t\toptions.username,\r\n\t\t\t\t\toptions.password\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// Apply custom fields if provided\r\n\t\t\t\tif ( options.xhrFields ) {\r\n\t\t\t\t\tfor ( i in options.xhrFields ) {\r\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Override mime type if needed\r\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\r\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// X-Requested-With header\r\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\r\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\r\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\r\n\t\t\t\t// For same-domain requests, won't change header if already provided.\r\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\r\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Set headers\r\n\t\t\t\tfor ( i in headers ) {\r\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Callback\r\n\t\t\t\tcallback = function( type ) {\r\n\t\t\t\t\treturn function() {\r\n\t\t\t\t\t\tif ( callback ) {\r\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\r\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\r\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\r\n\r\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\r\n\t\t\t\t\t\t\t\txhr.abort();\r\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\r\n\r\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\r\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\r\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\r\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\r\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tcomplete(\r\n\r\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see trac-8605, trac-14207\r\n\t\t\t\t\t\t\t\t\t\txhr.status,\r\n\t\t\t\t\t\t\t\t\t\txhr.statusText\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tcomplete(\r\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\r\n\t\t\t\t\t\t\t\t\txhr.statusText,\r\n\r\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\r\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\r\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\r\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\r\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\r\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\r\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\r\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// Listen to events\r\n\t\t\t\txhr.onload = callback();\r\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\r\n\r\n\t\t\t\t// Support: IE 9 only\r\n\t\t\t\t// Use onreadystatechange to replace onabort\r\n\t\t\t\t// to handle uncaught aborts\r\n\t\t\t\tif ( xhr.onabort !== undefined ) {\r\n\t\t\t\t\txhr.onabort = errorCallback;\r\n\t\t\t\t} else {\r\n\t\t\t\t\txhr.onreadystatechange = function() {\r\n\r\n\t\t\t\t\t\t// Check readyState before timeout as it changes\r\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\r\n\r\n\t\t\t\t\t\t\t// Allow onerror to be called first,\r\n\t\t\t\t\t\t\t// but that will not handle a native abort\r\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\r\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\r\n\t\t\t\t\t\t\twindow.setTimeout( function() {\r\n\t\t\t\t\t\t\t\tif ( callback ) {\r\n\t\t\t\t\t\t\t\t\terrorCallback();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Create the abort callback\r\n\t\t\t\tcallback = callback( \"abort\" );\r\n\r\n\t\t\t\ttry {\r\n\r\n\t\t\t\t\t// Do send the request (this may raise an exception)\r\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\r\n\t\t\t\t} catch ( e ) {\r\n\r\n\t\t\t\t\t// trac-14683: Only rethrow if this hasn't been notified as an error yet\r\n\t\t\t\t\tif ( callback ) {\r\n\t\t\t\t\t\tthrow e;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tabort: function() {\r\n\t\t\t\tif ( callback ) {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n} );\r\n\r\n\r\n\r\n\r\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\r\njQuery.ajaxPrefilter( function( s ) {\r\n\tif ( s.crossDomain ) {\r\n\t\ts.contents.script = false;\r\n\t}\r\n} );\r\n\r\n// Install script dataType\r\njQuery.ajaxSetup( {\r\n\taccepts: {\r\n\t\tscript: \"text/javascript, application/javascript, \" +\r\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\r\n\t},\r\n\tcontents: {\r\n\t\tscript: /\\b(?:java|ecma)script\\b/\r\n\t},\r\n\tconverters: {\r\n\t\t\"text script\": function( text ) {\r\n\t\t\tjQuery.globalEval( text );\r\n\t\t\treturn text;\r\n\t\t}\r\n\t}\r\n} );\r\n\r\n// Handle cache's special case and crossDomain\r\njQuery.ajaxPrefilter( \"script\", function( s ) {\r\n\tif ( s.cache === undefined ) {\r\n\t\ts.cache = false;\r\n\t}\r\n\tif ( s.crossDomain ) {\r\n\t\ts.type = \"GET\";\r\n\t}\r\n} );\r\n\r\n// Bind script tag hack transport\r\njQuery.ajaxTransport( \"script\", function( s ) {\r\n\r\n\t// This transport only deals with cross domain or forced-by-attrs requests\r\n\tif ( s.crossDomain || s.scriptAttrs ) {\r\n\t\tvar script, callback;\r\n\t\treturn {\r\n\t\t\tsend: function( _, complete ) {\r\n\t\t\t\tscript = jQuery( \"