From 76d8726ee50716139163d2e023b1601a1f6e966b Mon Sep 17 00:00:00 2001 From: Krcia <1503175889@qq.com> Date: Fri, 7 Nov 2025 13:16:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + api.py | 16 +- docker/html/home.html | 480 ++++++++++++++++++++++++++ docker/html/idnex.html | 10 - docker/html/index.html | 183 ++++++++++ docker/html/layui/css/layui.css | 1 + docker/html/layui/font/iconfont.eot | Bin 0 -> 54764 bytes docker/html/layui/font/iconfont.svg | 409 ++++++++++++++++++++++ docker/html/layui/font/iconfont.ttf | Bin 0 -> 54588 bytes docker/html/layui/font/iconfont.woff | Bin 0 -> 34928 bytes docker/html/layui/font/iconfont.woff2 | Bin 0 -> 30004 bytes docker/html/layui/layui.js | 1 + docker/html/layui/layui.js.map | 1 + 13 files changed, 1079 insertions(+), 23 deletions(-) create mode 100644 docker/html/home.html delete mode 100644 docker/html/idnex.html create mode 100644 docker/html/index.html create mode 100644 docker/html/layui/css/layui.css create mode 100644 docker/html/layui/font/iconfont.eot create mode 100644 docker/html/layui/font/iconfont.svg create mode 100644 docker/html/layui/font/iconfont.ttf create mode 100644 docker/html/layui/font/iconfont.woff create mode 100644 docker/html/layui/font/iconfont.woff2 create mode 100644 docker/html/layui/layui.js create mode 100644 docker/html/layui/layui.js.map diff --git a/.gitignore b/.gitignore index 5d381cc..52fc54d 100644 --- a/.gitignore +++ b/.gitignore @@ -160,3 +160,4 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +/.idea/ diff --git a/api.py b/api.py index f83b133..06afae3 100644 --- a/api.py +++ b/api.py @@ -93,8 +93,7 @@ def login(): @app.route('/api/check/') @token_required def check_url(url): - status = is_from_missav(url) - if (status): + try: result = asyncio.run(crawl_missav( url )) @@ -103,7 +102,7 @@ def check_url(url): 'code': 200, 'dat': result }), 200 - else: + except: return jsonify({ 'msg': '不是来自missav的链接', 'code': 500 @@ -111,7 +110,7 @@ def check_url(url): @app.route('/api/download', methods=['POST']) -# @token_required +@token_required def download(): data = request.get_json() @@ -163,15 +162,6 @@ def progress(task_id): }), 200 -def is_from_missav(url): - try: - parsed = urlparse(url) - hostname = parsed.netloc.lower() - return hostname == 'missav.ws' or hostname.endswith('.missav.ws') - except: - return False - - if __name__ == '__main__': # 检查环境变量是否设置 if not USERNAME or not PASSWORD: diff --git a/docker/html/home.html b/docker/html/home.html new file mode 100644 index 0000000..1d820c6 --- /dev/null +++ b/docker/html/home.html @@ -0,0 +1,480 @@ + + + + + + 响应式任务列表 + + + + +
+
+
+
任务列表
+ +
+ +
+
+ +
正在加载任务数据...
+
+
+ +
+ 最后更新: -- +
+
+
+ + + + + \ No newline at end of file diff --git a/docker/html/idnex.html b/docker/html/idnex.html deleted file mode 100644 index 42550db..0000000 --- a/docker/html/idnex.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 下载器 - - - - - \ No newline at end of file diff --git a/docker/html/index.html b/docker/html/index.html new file mode 100644 index 0000000..7c19253 --- /dev/null +++ b/docker/html/index.html @@ -0,0 +1,183 @@ + + + + + + 简洁登录页面 + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docker/html/layui/css/layui.css b/docker/html/layui/css/layui.css new file mode 100644 index 0000000..66fea3f --- /dev/null +++ b/docker/html/layui/css/layui.css @@ -0,0 +1 @@ +blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{display:inline-block;border:none;vertical-align:middle}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{font-weight:700}h5,h6{font-size:100%}button,input,select,textarea{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;word-wrap:break-word}body{line-height:1.6;color:rgba(0,0,0,.85);font-size:14px;font-family:Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:0;line-height:0;margin:10px 0;padding:0;border:none;border-bottom:1px solid #eee;clear:both;overflow:hidden;background:0 0}a{color:#333;text-decoration:none}a cite{font-style:normal}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both}.layui-clear:after{content:'\20';clear:both;display:block;height:0}.layui-clear-space{word-spacing:-5px}.layui-inline{position:relative;display:inline-block;vertical-align:middle}.layui-edge{position:relative;display:inline-block;vertical-align:middle;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip,.layui-ellip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-disabled,.layui-icon,.layui-unselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-show-v{visibility:visible!important}.layui-hide-v{visibility:hidden!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=293);src:url(../font/iconfont.eot?v=293#iefix) format('embedded-opentype'),url(../font/iconfont.woff2?v=293) format('woff2'),url(../font/iconfont.woff?v=293) format('woff'),url(../font/iconfont.ttf?v=293) format('truetype'),url(../font/iconfont.svg?v=293#layui-icon) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-sound:before{content:"\e69d"}.layui-icon-bot:before{content:"\e7d6"}.layui-icon-leaf:before{content:"\e701"}.layui-icon-folder:before{content:"\eabe"}.layui-icon-folder-open:before{content:"\eac1"}.layui-icon-gitee:before{content:"\e69b"}.layui-icon-github:before{content:"\e6a7"}.layui-icon-disabled:before{content:"\e6cc"}.layui-icon-moon:before{content:"\e6c2"}.layui-icon-error:before{content:"\e693"}.layui-icon-success:before{content:"\e697"}.layui-icon-question:before{content:"\e699"}.layui-icon-lock:before{content:"\e69a"}.layui-icon-eye:before{content:"\e695"}.layui-icon-eye-invisible:before{content:"\e696"}.layui-icon-backspace:before{content:"\e694"}.layui-icon-tips-fill:before{content:"\eb2e"}.layui-icon-test:before{content:"\e692"}.layui-icon-clear:before{content:"\e788"}.layui-icon-heart-fill:before{content:"\e68f"}.layui-icon-light:before{content:"\e748"}.layui-icon-music:before{content:"\e690"}.layui-icon-time:before{content:"\e68d"}.layui-icon-ie:before{content:"\e7bb"}.layui-icon-firefox:before{content:"\e686"}.layui-icon-at:before{content:"\e687"}.layui-icon-bluetooth:before{content:"\e689"}.layui-icon-chrome:before{content:"\e68a"}.layui-icon-edge:before{content:"\e68b"}.layui-icon-heart:before{content:"\e68c"}.layui-icon-key:before{content:"\e683"}.layui-icon-android:before{content:"\e684"}.layui-icon-mike:before{content:"\e6dc"}.layui-icon-mute:before{content:"\e685"}.layui-icon-gift:before{content:"\e627"}.layui-icon-windows:before{content:"\e67f"}.layui-icon-ios:before{content:"\e680"}.layui-icon-logout:before{content:"\e682"}.layui-icon-wifi:before{content:"\e7e0"}.layui-icon-rss:before{content:"\e808"}.layui-icon-email:before{content:"\e618"}.layui-icon-reduce-circle:before{content:"\e616"}.layui-icon-transfer:before{content:"\e691"}.layui-icon-service:before{content:"\e626"}.layui-icon-addition:before{content:"\e624"}.layui-icon-subtraction:before{content:"\e67e"}.layui-icon-slider:before{content:"\e714"}.layui-icon-print:before{content:"\e66d"}.layui-icon-export:before{content:"\e67d"}.layui-icon-cols:before{content:"\e610"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-username:before{content:"\e66f"}.layui-icon-password:before{content:"\e673"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-auz:before{content:"\e672"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-tips:before{content:"\e702"}.layui-icon-note:before{content:"\e66e"}.layui-icon-senior:before{content:"\e674"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-notice:before{content:"\e667"}.layui-icon-console:before{content:"\e665"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-set:before{content:"\e716"}.layui-icon-template:before{content:"\e663"}.layui-icon-app:before{content:"\e653"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-home:before{content:"\e68e"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-more:before{content:"\e65f"}.layui-icon-camera:before{content:"\e660"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-read:before{content:"\e705"}.layui-icon-location:before{content:"\e715"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-return:before{content:"\e65c"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-fire:before{content:"\e756"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-cart:before{content:"\e657"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-next:before{content:"\e65b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-user:before{content:"\e770"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-component:before{content:"\e857"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-pause:before{content:"\e651"}.layui-icon-play:before{content:"\e652"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-voice:before{content:"\e688"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-link:before{content:"\e64c"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-share:before{content:"\e641"}.layui-icon-edit:before{content:"\e642"}.layui-icon-delete:before{content:"\e640"}.layui-icon-engine:before{content:"\e628"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-table:before{content:"\e62d"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-date:before{content:"\e637"}.layui-icon-layer:before{content:"\e638"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-file:before{content:"\e621"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-404:before{content:"\e61c"}.layui-icon-about:before{content:"\e60b"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-down:before{content:"\e61a"}.layui-icon-up:before{content:"\e619"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-search:before{content:"\e615"}.layui-icon-friends:before{content:"\e612"}.layui-icon-group:before{content:"\e613"}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-log:before{content:"\e60e"}.layui-icon-list:before{content:"\e60a"}.layui-icon-release:before{content:"\e609"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-ok:before{content:"\e605"}.layui-icon-help:before{content:"\e607"}.layui-icon-chat:before{content:"\e606"}.layui-icon-top:before{content:"\e604"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-star:before{content:"\e600"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-ok-circle:before{content:"\1005"}.layui-main{position:relative;width:1160px;margin:0 auto}.layui-header{position:relative;z-index:1000;height:60px}.layui-header a:hover{-webkit-transition:all .5s;transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:relative;left:200px;right:0;top:0;bottom:0;width:auto;box-sizing:border-box}.layui-layout-body{overflow-x:hidden}.layui-layout-admin .layui-header{position:fixed;top:0;left:0;right:0;background-color:#23292e}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{position:absolute;top:60px;padding-bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;z-index:990;height:44px;line-height:44px;padding:0 15px;box-shadow:-1px 0 4px rgb(0 0 0 / 12%);background-color:#fafafa}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#16baaa;font-size:16px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 15%)}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:"";display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:767.98px){.layui-container{padding:0 15px}.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:720px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:960px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1150px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}@media screen and (min-width:1400px){.layui-container{width:1330px}.layui-hide-xl{display:none!important}.layui-show-xl-block{display:block!important}.layui-show-xl-inline{display:inline!important}.layui-show-xl-inline-block{display:inline-block!important}.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9{float:left}.layui-col-xl1{width:8.33333333%}.layui-col-xl2{width:16.66666667%}.layui-col-xl3{width:25%}.layui-col-xl4{width:33.33333333%}.layui-col-xl5{width:41.66666667%}.layui-col-xl6{width:50%}.layui-col-xl7{width:58.33333333%}.layui-col-xl8{width:66.66666667%}.layui-col-xl9{width:75%}.layui-col-xl10{width:83.33333333%}.layui-col-xl11{width:91.66666667%}.layui-col-xl12{width:100%}.layui-col-xl-offset1{margin-left:8.33333333%}.layui-col-xl-offset2{margin-left:16.66666667%}.layui-col-xl-offset3{margin-left:25%}.layui-col-xl-offset4{margin-left:33.33333333%}.layui-col-xl-offset5{margin-left:41.66666667%}.layui-col-xl-offset6{margin-left:50%}.layui-col-xl-offset7{margin-left:58.33333333%}.layui-col-xl-offset8{margin-left:66.66666667%}.layui-col-xl-offset9{margin-left:75%}.layui-col-xl-offset10{margin-left:83.33333333%}.layui-col-xl-offset11{margin-left:91.66666667%}.layui-col-xl-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space2{margin:-1px}.layui-col-space2>*{padding:1px}.layui-col-space4{margin:-2px}.layui-col-space4>*{padding:2px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space6{margin:-3px}.layui-col-space6>*{padding:3px}.layui-col-space8{margin:-4px}.layui-col-space8>*{padding:4px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space14{margin:-7px}.layui-col-space14>*{padding:7px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space16{margin:-8px}.layui-col-space16>*{padding:8px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space24{margin:-12px}.layui-col-space24>*{padding:12px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space26{margin:-13px}.layui-col-space26>*{padding:13px}.layui-col-space28{margin:-14px}.layui-col-space28>*{padding:14px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-col-space32{margin:-16px}.layui-col-space32>*{padding:16px}.layui-padding-1{padding:4px!important}.layui-padding-2{padding:8px!important}.layui-padding-3{padding:16px!important}.layui-padding-4{padding:32px!important}.layui-padding-5{padding:48px!important}.layui-margin-1{margin:4px!important}.layui-margin-2{margin:8px!important}.layui-margin-3{margin:16px!important}.layui-margin-4{margin:32px!important}.layui-margin-5{margin:48px!important}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:all .3s;transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:1.8;border-left:5px solid #16b777;border-radius:0 2px 2px 0;background-color:#fafafa}.layui-quote-nm{border-style:solid;border-width:1px;border-left-width:5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px}.layui-field-title{margin:16px 0;border-width:0;border-top-width:1px}.layui-field-box{padding:15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#eee}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#16b777;-webkit-transition:all .3s;transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#5f5f5f}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#fafafa;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:1.6;color:#5f5f5f}.layui-colla-icon{position:absolute;left:15px;top:50%;margin-top:-7px;font-size:14px;line-height:normal;transition:all .2s}.layui-colla-item.layui-show>.layui-colla-title .layui-colla-icon{transform:rotate(90deg)}.layui-colla-item.layui-show>.layui-colla-content{display:block}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-body,.layui-card-header{position:relative;padding:10px 15px}.layui-card-header{border-bottom:1px solid #f8f8f8;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel{position:relative;border-width:1px;border-style:solid;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);background-color:#fff;color:#5f5f5f}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #eee;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-scrollbar-hide{overflow:hidden!important}.layui-bg-red{background-color:#ff5722!important;color:#fff!important}.layui-bg-orange{background-color:#ffb800!important;color:#fff!important}.layui-bg-green{background-color:#16baaa!important;color:#fff!important}.layui-bg-cyan{background-color:#2f4056!important;color:#fff!important}.layui-bg-blue{background-color:#1e9fff!important;color:#fff!important}.layui-bg-purple{background-color:#a233c6!important;color:#fff!important}.layui-bg-black{background-color:#2f363c!important;color:#fff!important}.layui-bg-gray{background-color:#fafafa!important;color:#5f5f5f!important}.layui-badge-rim,.layui-border,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-input-split,.layui-panel,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#eee}.layui-border{border-width:1px;border-style:solid;color:#5f5f5f!important}.layui-border-red{border-width:1px;border-style:solid;border-color:#ff5722!important;color:#ff5722!important}.layui-border-orange{border-width:1px;border-style:solid;border-color:#ffb800!important;color:#ffb800!important}.layui-border-green{border-width:1px;border-style:solid;border-color:#16baaa!important;color:#16baaa!important}.layui-border-cyan{border-width:1px;border-style:solid;border-color:#2f4056!important;color:#2f4056!important}.layui-border-blue{border-width:1px;border-style:solid;border-color:#1e9fff!important;color:#1e9fff!important}.layui-border-purple{border-width:1px;border-style:solid;border-color:#a233c6!important;color:#a233c6!important}.layui-border-black{border-width:1px;border-style:solid;border-color:#2f363c!important;color:#2f363c!important}hr.layui-border-black,hr.layui-border-blue,hr.layui-border-cyan,hr.layui-border-green,hr.layui-border-orange,hr.layui-border-purple,hr.layui-border-red{border-width:0 0 1px}.layui-timeline-item:before{background-color:#eee}.layui-text{line-height:1.8;font-size:14px}.layui-text h1{margin:32px 0;font-size:32px}.layui-text h2{margin:24px 0;font-size:24px}.layui-text h3{margin:16px 0;font-size:18px}.layui-text h4{margin:11px 0;font-size:16px}.layui-text h5{margin:11px 0;font-size:14px}.layui-text h6{margin:11px 0;font-size:13px}.layui-text p{margin:15px 0}.layui-text p:first-child{margin-top:0}.layui-text p:last-child{margin-bottom:0}.layui-text hr{margin:15px 0}.layui-text ol,.layui-text ul{padding-left:15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text ol li{margin-top:5px;list-style-type:decimal}.layui-text ol ul>li,.layui-text ul ul>li{list-style-type:disc}.layui-text ol li>p:first-child,.layui-text ul li>p:first-child{margin-top:0;margin-bottom:0}.layui-text :where(a:not(.layui-btn)){color:#01aaed}.layui-text :where(a:not(.layui-btn):hover){text-decoration:underline}.layui-text blockquote:not(.layui-elem-quote){margin:15px 0;padding:5px 15px;border-left:5px solid #eee}.layui-text pre>code:not(.layui-code){display:block;padding:15px;font-family:"Courier New",Consolas,"Lucida Console",monospace}.layui-text-em,.layui-word-aux{color:#999!important;padding-left:5px!important;padding-right:5px!important}.layui-font-12{font-size:12px!important}.layui-font-13{font-size:13px!important}.layui-font-14{font-size:14px!important}.layui-font-16{font-size:16px!important}.layui-font-18{font-size:18px!important}.layui-font-20{font-size:20px!important}.layui-font-22{font-size:22px!important}.layui-font-24{font-size:24px!important}.layui-font-26{font-size:26px!important}.layui-font-28{font-size:28px!important}.layui-font-30{font-size:30px!important}.layui-font-32{font-size:32px!important}.layui-font-red{color:#ff5722!important}.layui-font-orange{color:#ffb800!important}.layui-font-green{color:#16baaa!important}.layui-font-cyan{color:#2f4056!important}.layui-font-blue{color:#01aaed!important}.layui-font-purple{color:#a233c6!important}.layui-font-black{color:#000!important}.layui-font-gray{color:#c2c2c2!important}.layui-btn{display:inline-block;vertical-align:middle;height:38px;line-height:38px;border:1px solid transparent;padding:0 18px;background-color:#16baaa;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border-radius:2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{word-spacing:-5px}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px;word-spacing:normal}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\0;vertical-align:bottom}.layui-btn-primary{border-color:#d2d2d2;background:0 0;color:#5f5f5f}.layui-btn-primary:hover{border-color:#16baaa;color:#333}.layui-btn-normal{background-color:#1e9fff}.layui-btn-warm{background-color:#ffb800}.layui-btn-danger{background-color:#ff5722}.layui-btn-checked{background-color:#16b777}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#d2d2d2;color:#16baaa}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #d2d2d2}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;color:rgba(0,0,0,.85);border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#d2d2d2!important}.layui-input:focus,.layui-textarea:focus{border-color:#16b777!important;box-shadow:0 0 0 3px rgba(22,183,119,.08)}.layui-textarea{position:relative;min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-input[disabled],.layui-textarea[disabled]{background-color:#fafafa}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{position:relative;margin-bottom:15px;clear:both}.layui-form-item:after{content:'\20';clear:both;display:block;height:0}.layui-form-label{position:relative;float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block,.layui-input-inline{position:relative}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{position:relative;float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#ff5722!important;box-shadow:0 0 0 3px rgba(255,87,34,.08)}.layui-input-prefix,.layui-input-split,.layui-input-suffix,.layui-input-suffix .layui-input-affix{position:absolute;right:0;top:0;padding:0 10px;width:35px;height:100%;text-align:center;transition:all .3s;box-sizing:border-box}.layui-input-prefix{left:0;border-radius:2px 0 0 2px}.layui-input-suffix{right:0;border-radius:0 2px 2px 0}.layui-input-split{border-width:1px;border-style:solid}.layui-input-prefix .layui-icon,.layui-input-split .layui-icon,.layui-input-suffix .layui-icon{position:relative;font-size:16px;color:#5f5f5f;transition:all .3s}.layui-input-group{position:relative;display:table;box-sizing:border-box}.layui-input-group>*{display:table-cell;vertical-align:middle;position:relative}.layui-input-group .layui-input{padding-right:15px}.layui-input-group>.layui-input-prefix{width:auto;border-right:0}.layui-input-group>.layui-input-suffix{width:auto;border-left:0}.layui-input-group .layui-input-split{white-space:nowrap}.layui-input-wrap{position:relative;line-height:38px}.layui-input-wrap .layui-input{padding-right:35px}.layui-input-wrap .layui-input::-ms-clear,.layui-input-wrap .layui-input::-ms-reveal{display:none}.layui-input-wrap .layui-input-prefix+.layui-input,.layui-input-wrap .layui-input-prefix~* .layui-input{padding-left:35px}.layui-input-wrap .layui-input-split+.layui-input,.layui-input-wrap .layui-input-split~* .layui-input{padding-left:45px}.layui-input-wrap .layui-input-prefix~.layui-form-select{position:static}.layui-input-wrap .layui-input-prefix,.layui-input-wrap .layui-input-split,.layui-input-wrap .layui-input-suffix{pointer-events:none}.layui-input-wrap .layui-input:hover+.layui-input-split{border-color:#d2d2d2}.layui-input-wrap .layui-input:focus+.layui-input-split{border-color:#16b777}.layui-input-wrap .layui-input.layui-form-danger:focus+.layui-input-split{border-color:#ff5722}.layui-input-wrap .layui-input-prefix.layui-input-split{border-width:0;border-right-width:1px}.layui-input-wrap .layui-input-suffix.layui-input-split{border-width:0;border-left-width:1px}.layui-input-affix{line-height:38px}.layui-input-suffix .layui-input-affix{right:auto;left:-35px}.layui-input-affix .layui-icon{color:rgba(0,0,0,.8);pointer-events:auto!important;cursor:pointer}.layui-input-affix .layui-icon-clear{color:rgba(0,0,0,.3)}.layui-input-affix .layui-icon:hover{color:rgba(0,0,0,.6)}.layui-input-wrap .layui-input-number{width:24px;padding:0}.layui-input-wrap .layui-input-number .layui-icon{position:absolute;right:0;width:100%;height:50%;line-height:normal;font-size:12px}.layui-input-wrap .layui-input-number .layui-icon:before{position:absolute;left:50%;top:50%;margin-top:-6px;margin-left:-6px}.layui-input-wrap .layui-input-number .layui-icon-up{top:0;border-bottom:1px solid #eee}.layui-input-wrap .layui-input-number .layui-icon-down{bottom:0}.layui-input-wrap .layui-input-number .layui-icon:hover{font-weight:700}.layui-input-wrap .layui-input[type=number]::-webkit-inner-spin-button,.layui-input-wrap .layui-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important}.layui-input-wrap .layui-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.layui-input-wrap .layui-input.layui-input-number-invalid,.layui-input-wrap .layui-input.layui-input-number-out-of-range{color:#ff5722}.layui-form-select{position:relative;color:#5f5f5f}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;-webkit-transition:all .3s;transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #eee;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f8f8f8;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#f8f8f8;color:#16b777;font-weight:700}.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.layui-form-selected .layui-edge{margin-top:-3px\0}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-panel-wrap{position:absolute;z-index:99999999}.layui-select-panel-wrap dl{position:relative;display:block;top:0}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;display:inline-block;vertical-align:middle;height:30px;line-height:30px;margin-right:10px;padding-right:30px;background-color:#fff;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox>*{display:inline-block;vertical-align:middle}.layui-form-checkbox>div{padding:0 11px;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layui-form-checkbox>div>.layui-icon{line-height:normal}.layui-form-checkbox:hover>div{background-color:#c2c2c2}.layui-form-checkbox>i{position:absolute;right:0;top:0;width:30px;height:100%;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;color:rgba(255,255,255,0);font-size:20px;text-align:center;box-sizing:border-box}.layui-form-checkbox:hover>i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#16b777}.layui-form-checked:hover>div,.layui-form-checked>div{background-color:#16b777}.layui-form-checked:hover>i,.layui-form-checked>i{color:#16b777}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox.layui-checkbox-disabled>div{background-color:#eee!important}.layui-form [lay-checkbox]{display:none}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:24px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary]>div{margin-top:-1px;padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#5f5f5f}.layui-form-checkbox[lay-skin=primary]>i{right:auto;left:0;width:16px;height:16px;line-height:14px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover>i{border-color:#16b777;color:#fff}.layui-form-checked[lay-skin=primary]>i{border-color:#16b777!important;background-color:#16b777;color:#fff}.layui-checkbox-disabled[lay-skin=primary]>div{background:0 0!important}.layui-form-checked.layui-checkbox-disabled[lay-skin=primary]>i{background:#eee!important;border-color:#eee!important}.layui-checkbox-disabled[lay-skin=primary]:hover>i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate{border-color:#16b777;background-color:#fff}.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate:before{content:'';display:inline-block;vertical-align:middle;position:relative;width:50%;height:1px;margin:-1px auto 0;background-color:#16b777}.layui-form-switch{position:relative;display:inline-block;vertical-align:middle;height:24px;line-height:22px;min-width:44px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;box-sizing:border-box;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch>i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch>div{position:relative;top:0;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#16b777;background-color:#16b777}.layui-form-onswitch>i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch>div{margin-left:0;margin-right:21px;color:#fff!important}.layui-form-checkbox[lay-skin=none] *,.layui-form-radio[lay-skin=none] *{box-sizing:border-box}.layui-form-checkbox[lay-skin=none],.layui-form-radio[lay-skin=none]{position:relative;min-height:20px;margin:0;padding:0;height:auto;line-height:normal}.layui-form-checkbox[lay-skin=none]>div,.layui-form-radio[lay-skin=none]>div{position:relative;top:0;left:0;cursor:pointer;z-index:10;color:inherit;background-color:inherit}.layui-form-checkbox[lay-skin=none]>i,.layui-form-radio[lay-skin=none]>i{display:none}.layui-form-checkbox[lay-skin=none].layui-checkbox-disabled>div,.layui-form-radio[lay-skin=none].layui-radio-disabled>div{cursor:not-allowed}.layui-checkbox-disabled{border-color:#eee!important}.layui-checkbox-disabled>div{color:#c2c2c2!important}.layui-checkbox-disabled>i{border-color:#eee!important}.layui-checkbox-disabled:hover>i{color:#fff!important}.layui-form-checkbox[lay-skin=tag].layui-form-checked.layui-checkbox-disabled>i{color:#c2c2c2}.layui-form-checkbox[lay-skin=tag].layui-form-checked.layui-checkbox-disabled:hover>i{color:#c2c2c2!important}.layui-form-radio{display:inline-block;vertical-align:middle;line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio>*{display:inline-block;vertical-align:middle;font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio:hover>*,.layui-form-radioed,.layui-form-radioed>i{color:#16b777}.layui-radio-disabled>i{color:#eee!important}.layui-radio-disabled>*{color:#c2c2c2!important}.layui-form [lay-radio]{display:none}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#fafafa;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0;border-right-width:1px}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto!important;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-laypage{display:inline-block;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #eee}.layui-laypage a,.layui-laypage span{display:inline-block;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-laypage a[data-page]{color:#333}.layui-laypage a{text-decoration:none!important;cursor:pointer}.layui-laypage a:hover{color:#16baaa}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#16baaa}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{display:inline-block;width:40px;margin:0 10px;padding:0 3px;text-align:center;transition:none}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#16baaa!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px;clear:both}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{display:inline-block;vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;margin:10px 0;background-color:#fff;color:#5f5f5f}.layui-table tr{-webkit-transition:all .3s;transition:all .3s}.layui-table th{text-align:left;font-weight:600}.layui-table-mend{background-color:#fff}.layui-table-click,.layui-table-hover,.layui-table[lay-even] tbody tr:nth-child(even){background-color:#f8f8f8}.layui-table-checked{background-color:#dbfbf0}.layui-table-checked.layui-table-click,.layui-table-checked.layui-table-hover,.layui-table[lay-even] tbody tr:nth-child(even).layui-table-checked{background-color:#abf8dd}.layui-table-disabled-transition *,.layui-table-disabled-transition :after,.layui-table-disabled-transition :before{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-mend,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#eee}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0;border-bottom-width:1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0;border-right-width:1px}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding-top:15px;padding-right:30px;padding-bottom:15px;padding-left:30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:50px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{padding-top:5px;padding-right:10px;padding-bottom:5px;padding-left:10px;font-size:12px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:30px;line-height:20px;padding-top:5px;padding-left:11px;padding-right:11px}.layui-table[lay-data],.layui-table[lay-options]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view{clear:both;position:relative;border-right:none}.layui-table-view:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background-color:#eee;z-index:101}.layui-table-view .layui-table{position:relative;width:auto;margin:0;border:0;border-collapse:separate}.layui-table-view .layui-table[lay-skin=line]{border-width:0;border-right-width:1px}.layui-table-view .layui-table[lay-skin=row]{border-width:0;border-bottom-width:1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:0;border-top:none;border-left:none}.layui-table-view .layui-table th [lay-event],.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td,.layui-table-view .layui-table th span{cursor:default}.layui-table-view .layui-table td[data-edit]{cursor:text}.layui-table-view .layui-table td[data-edit]:hover:after{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;border:1px solid #16b777;pointer-events:none;content:""}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px;line-height:16px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;right:0;bottom:0;margin:0;z-index:199;transition:opacity .1s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layui-table-loading-icon{position:absolute;width:100%\0;left:50%;left:auto\0;top:50%;margin-top:-15px\0;transform:translate(-50%,-50%);transform:none\0;text-align:center}.layui-table-loading-icon .layui-icon{font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0;border-bottom-width:1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-column{position:relative;width:100%;min-height:41px;padding:8px 16px;border-width:0;border-bottom-width:1px}.layui-table-column .layui-btn-container{margin-bottom:-8px}.layui-table-column .layui-btn-container .layui-btn{margin-right:8px;margin-bottom:8px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;z-index:399;padding:5px 0!important;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-tool-panel li{padding:0 10px;margin:0!important;line-height:30px;list-style-type:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%}.layui-table-tool-panel li:hover{background-color:#f8f8f8}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{padding-left:28px}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0;border-left-width:1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#5f5f5f}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#5f5f5f}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:38px;line-height:28px;padding:6px 15px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-form-checkbox[lay-skin=primary]>div{padding-left:24px}.layui-table-cell .layui-table-link{color:#01aaed}.layui-table-cell .layui-btn{vertical-align:inherit}.layui-table-cell[align=center]{-webkit-box-pack:center}.layui-table-cell[align=right]{-webkit-box-pack:end}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{text-align:center;-webkit-box-pack:center}.layui-table-body{position:relative;overflow:auto;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:30px 15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:0;border-width:0;border-left-width:1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px;border-width:0;border-left-width:1px}.layui-table-tool{position:relative;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0;border-bottom-width:1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-total{margin-bottom:-1px;border-width:0;border-top-width:1px;overflow:hidden}.layui-table-page{border-width:0;border-top-width:1px;margin-bottom:-1px;white-space:nowrap;overflow:hidden}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-11px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-pagebar{float:right;line-height:23px}.layui-table-pagebar .layui-btn-sm{margin-top:-1px}.layui-table-pagebar .layui-btn-xs{margin-top:2px}.layui-table-view select[lay-ignore]{display:inline-block}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;z-index:189;min-width:100%;min-height:100%;padding:5px 14px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15);background-color:#fff}.layui-table-edit:focus{border-color:#16b777!important}input.layui-input.layui-table-edit{height:100%}select.layui-table-edit{padding:0 0 0 10px;border-color:#d2d2d2}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:24px;height:100%;padding:5px 0;border-width:0;border-left-width:1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px;font-size:14px}.layui-table-grid-down:hover{background-color:#fbfbfb}.layui-table-expanded{height:95px}.layui-table-expanded .layui-table-cell,.layui-table-view .layui-table[lay-size=lg] .layui-table-expanded .layui-table-cell,.layui-table-view .layui-table[lay-size=sm] .layui-table-expanded .layui-table-cell{height:auto;max-height:94px;white-space:normal;text-overflow:clip}.layui-table-cell-c{position:absolute;bottom:-10px;right:50%;margin-right:-9px;width:20px;height:20px;line-height:18px;cursor:pointer;text-align:center;background-color:#fff;border:1px solid #eee;border-radius:50%;z-index:1000;transition:.3s all;font-size:14px}.layui-table-cell-c:hover{border-color:#16b777}.layui-table-expanded td:hover .layui-table-cell{overflow:auto}.layui-table-main>.layui-table>tbody>tr:last-child>td>.layui-table-cell-c{bottom:0}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-49px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#5f5f5f}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#5f5f5f;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-table-tree-nodeIcon{max-width:20px}.layui-table-tree-nodeIcon>*{width:100%}.layui-table-tree-flexIcon,.layui-table-tree-nodeIcon{margin-right:2px}.layui-table-tree-flexIcon{cursor:pointer}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-list{margin:11px 0}.layui-upload-choose{max-width:200px;padding:0 10px;color:#999;font-size:14px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-upload-drag{position:relative;display:inline-block;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#16baaa}.layui-upload-drag[lay-over]{border-color:#16baaa}.layui-upload-form{display:inline-block}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;display:inline-block;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-btn-container .layui-upload-choose{padding-left:0}.layui-menu{position:relative;margin:5px 0;background-color:#fff;box-sizing:border-box}.layui-menu *{box-sizing:border-box}.layui-menu li,.layui-menu-body-title,.layui-menu-body-title a{padding:5px 15px;color:initial}.layui-menu li{position:relative;margin:0 0 1px;line-height:26px;color:rgba(0,0,0,.8);font-size:14px;white-space:nowrap;cursor:pointer;transition:all .3s}.layui-menu li:hover{background-color:#f8f8f8}.layui-menu li.layui-disabled,.layui-menu li.layui-disabled *{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important}.layui-menu-item-parent:hover>.layui-menu-body-panel{display:block;animation-name:layui-fadein;animation-duration:.3s;animation-fill-mode:both;animation-delay:.2s}.layui-menu-item-group>.layui-menu-body-title,.layui-menu-item-parent>.layui-menu-body-title{padding-right:38px}.layui-menu .layui-menu-item-divider:hover,.layui-menu .layui-menu-item-group:hover,.layui-menu .layui-menu-item-none:hover{background:0 0;cursor:default}.layui-menu .layui-menu-item-group>ul{margin:5px 0 -5px}.layui-menu .layui-menu-item-group>.layui-menu-body-title{color:rgba(0,0,0,.35);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layui-menu .layui-menu-item-none{color:rgba(0,0,0,.35);cursor:default}.layui-menu .layui-menu-item-none{text-align:center}.layui-menu .layui-menu-item-divider{margin:5px 0;padding:0;height:0;line-height:0;border-bottom:1px solid #eee;overflow:hidden}.layui-menu .layui-menu-item-down:hover,.layui-menu .layui-menu-item-up:hover{cursor:pointer}.layui-menu .layui-menu-item-up>.layui-menu-body-title{color:rgba(0,0,0,.8)}.layui-menu .layui-menu-item-up>ul{visibility:hidden;height:0;overflow:hidden}.layui-menu .layui-menu-item-down>.layui-menu-body-title>.layui-icon-down{transform:rotate(180deg)}.layui-menu .layui-menu-item-up>.layui-menu-body-title>.layui-icon-up{transform:rotate(-180deg)}.layui-menu .layui-menu-item-down:hover>.layui-menu-body-title>.layui-icon,.layui-menu .layui-menu-item-up>.layui-menu-body-title:hover>.layui-icon{color:#000}.layui-menu .layui-menu-item-down>ul{visibility:visible;height:auto}.layui-menu .layui-menu-item-checked,.layui-menu .layui-menu-item-checked2{background-color:#f8f8f8!important;color:#16b777}.layui-menu .layui-menu-item-checked a,.layui-menu .layui-menu-item-checked2 a{color:#16b777}.layui-menu .layui-menu-item-checked:after{position:absolute;right:-1px;top:0;bottom:0;border-right:3px solid #16b777;content:""}.layui-menu-body-title{position:relative;margin:-5px -15px;overflow:hidden;text-overflow:ellipsis}.layui-menu-body-title a{display:block;margin:-5px -15px;color:rgba(0,0,0,.8)}.layui-menu-body-title a:hover{transition:all .3s}.layui-menu-body-title>.layui-icon{position:absolute;right:15px;top:50%;margin-top:-6px;line-height:normal;font-size:14px;-webkit-transition:all .2s;transition:all .2s}.layui-menu-body-title>.layui-icon:hover{transition:all .3s}.layui-menu-body-title>.layui-icon-right{right:14px}.layui-menu-body-panel{display:none;position:absolute;top:-7px;left:100%;z-index:1000;margin-left:13px;padding:5px 0}.layui-menu-body-panel:before{content:"";position:absolute;width:20px;left:-16px;top:0;bottom:0}.layui-menu-body-panel-left{left:auto;right:100%;margin:0 13px 0}.layui-menu-body-panel-left:before{left:auto;right:-16px}.layui-menu-lg li{line-height:32px}.layui-menu-lg .layui-menu-body-title a:hover,.layui-menu-lg li:hover{background:0 0;color:#16b777}.layui-menu-lg li .layui-menu-body-panel{margin-left:14px}.layui-menu-lg li .layui-menu-body-panel-left{margin:0 15px 0}.layui-dropdown{position:absolute;left:-999999px;top:-999999px;z-index:77777777;margin:5px 0;min-width:100px}.layui-dropdown:before{content:"";position:absolute;width:100%;height:6px;left:0;top:-6px}.layui-dropdown-shade{top:0;left:0;width:100%;height:100%;position:fixed;pointer-events:auto}.layui-tabs{position:relative}.layui-tabs.layui-hide-v{overflow:hidden}.layui-tabs-header{position:relative;left:0;height:40px;padding:0!important;white-space:nowrap;font-size:0;-webkit-transition:all .16s;transition:all .16s}.layui-tabs-header:after,.layui-tabs-scroll:after{content:"";position:absolute;left:0;bottom:0;z-index:0;width:100%;border-bottom:1px solid #eee}.layui-tabs-header li{position:relative;display:inline-block;vertical-align:middle;line-height:40px;margin:0!important;padding:0 16px;text-align:center;cursor:pointer;font-size:14px;-webkit-transition:all .16s;transition:all .16s}.layui-tabs-header li:first-child{margin-left:0}.layui-tabs-header li a{display:block;padding:0 16px;margin:0 -16px;color:inherit}.layui-tabs-header li a:hover{text-decoration:none}.layui-tabs-header .layui-this,.layui-tabs-header li:hover{color:#16baaa}.layui-tabs-header .layui-this:after{content:"";position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;border-bottom:3px solid #16baaa;box-sizing:border-box;pointer-events:none}.layui-tabs-header .layui-badge,.layui-tabs-header .layui-badge-dot{left:5px;top:-1px}.layui-tabs-scroll{position:relative;overflow:hidden;padding:0 40px}.layui-tabs-scroll .layui-tabs-header:after{display:none;content:none;border:0}.layui-tabs-bar .layui-icon{position:absolute;left:0;top:0;z-index:3;width:40px;height:100%;line-height:40px;border:1px solid #eee;text-align:center;cursor:pointer;box-sizing:border-box;background-color:#fff;box-shadow:2px 0 5px 0 rgb(0 0 0 / 6%)}.layui-tabs-bar .layui-icon-next{left:auto;right:0;box-shadow:-2px 0 5px 0 rgb(0 0 0 / 6%)}.layui-tabs-header li .layui-tabs-close{position:relative;display:inline-block;width:16px;height:16px;line-height:18px;margin-left:8px;top:0;text-align:center;font-size:12px;color:#959595;border-radius:50%;font-weight:700;-webkit-transition:all .16s;transition:all .16s}.layui-tabs-header li .layui-tabs-close:hover{background-color:#ff5722;color:#fff}.layui-tabs-header li[lay-closable=false] .layui-tabs-close{display:none}.layui-tabs-body{padding:16px 0}.layui-tabs-item{display:none}.layui-tabs-card>.layui-tabs-header .layui-this{background-color:#fff}.layui-tabs-card>.layui-tabs-header .layui-this:after{border:1px solid #eee;border-bottom-color:#fff;border-radius:2px 2px 0 0}.layui-tabs-card>.layui-tabs-header li:first-child.layui-this:after{margin-left:-1px}.layui-tabs-card>.layui-tabs-header li:last-child.layui-this:after{margin-right:-1px}.layui-tabs-card.layui-panel>.layui-tabs-header .layui-this:after{border-top:0;border-radius:0}.layui-tabs-card.layui-panel>.layui-tabs-body{padding:16px}.layui-nav{position:relative;padding:0 15px;background-color:#2f363c;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;margin-top:0;list-style:none;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);-webkit-transition:all .3s;transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar{content:"";position:absolute;left:0;top:0;width:0;height:3px;background-color:#16b777;-webkit-transition:all .2s;transition:all .2s;pointer-events:none}.layui-nav-bar{z-index:1000}.layui-nav[lay-bar=disabled] .layui-nav-bar{display:none}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff;text-decoration:none}.layui-nav .layui-this:after{top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{position:absolute;top:0;right:3px;left:auto!important;margin-top:0;font-size:12px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{transform:rotate(180deg)}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #eee;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap;box-sizing:border-box}.layui-nav .layui-nav-child a{color:#5f5f5f;color:rgba(0,0,0,.8)}.layui-nav .layui-nav-child a:hover{background-color:#f8f8f8;color:rgba(0,0,0,.8)}.layui-nav-child dd{margin:1px 0;position:relative}.layui-nav-child dd.layui-this{background-color:#f8f8f8;color:#000}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-child-r{left:auto;right:0}.layui-nav-child-c{text-align:center}.layui-nav.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:40px}.layui-nav-tree .layui-nav-item a{position:relative;height:40px;line-height:40px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item>a{padding-top:5px;padding-bottom:5px}.layui-nav-tree .layui-nav-more{right:15px}.layui-nav-tree .layui-nav-item>a .layui-nav-more{padding:5px 0}.layui-nav-tree .layui-nav-bar{width:5px;height:0}.layui-side .layui-nav-tree .layui-nav-bar{width:2px}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#16baaa;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-bar{background-color:#16baaa}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;background:0 0;background-color:rgba(0,0,0,.3);box-shadow:none}.layui-nav-tree .layui-nav-child dd{margin:0}.layui-nav-tree .layui-nav-child a{color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-itemed>.layui-nav-child,.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-nav-tree.layui-bg-gray a,.layui-nav.layui-bg-gray .layui-nav-item a{color:#373737;color:rgba(0,0,0,.8)}.layui-nav-tree.layui-bg-gray .layui-nav-itemed>a{color:#000!important}.layui-nav.layui-bg-gray .layui-this a{color:#16b777}.layui-nav-tree.layui-bg-gray .layui-nav-child{padding-left:11px;background:0 0}.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this,.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this a,.layui-nav-tree.layui-bg-gray .layui-this,.layui-nav-tree.layui-bg-gray .layui-this>a{background:0 0!important;color:#16b777!important;font-weight:700}.layui-nav-tree.layui-bg-gray .layui-nav-bar{background-color:#16b777}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#16b777!important}.layui-breadcrumb a cite{color:#5f5f5f;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab .layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;-webkit-transition:all .2s;transition:all .2s}.layui-tab .layui-tab-title:after{content:"";border-bottom-color:#eee;border-bottom-width:1px;border-style:none none solid;bottom:0;left:0;right:auto;top:auto;pointer-events:none;position:absolute;width:100%;z-index:8}.layui-tab .layui-tab-title li{display:inline-block;vertical-align:middle;font-size:14px;-webkit-transition:all .2s;transition:all .2s}.layui-tab .layui-tab-title li{position:relative;line-height:40px;min-width:65px;margin:0;padding:0 15px;text-align:center;cursor:pointer}.layui-tab .layui-tab-title li a{display:block;padding:0 15px;margin:0 -15px}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:"";width:100%;height:40px;border-width:1px;border-bottom-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none;z-index:9}.layui-tab-bar{box-sizing:border-box;position:absolute;right:0;top:0;z-index:10;width:30px;height:40px;line-height:40px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;-webkit-transition:all .3s;transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#eee;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:15px 0}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;-webkit-transition:all .2s;transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#ff5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#16baaa}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #16b777}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#fafafa}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#16b777}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#16b777;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#ff5722}.layui-timeline-item:before{content:"";position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:first-child:before{display:block}.layui-timeline-item:last-child:before{display:none}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px;line-height:22px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#ff5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#5f5f5f}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-5px 6px 0}.layui-nav .layui-badge{margin-top:-10px}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\0;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:none 0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\0;opacity:1;left:20px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#eee;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind ul li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{-webkit-transform:translateX(0);transform:translateX(0)}.layui-carousel>[carousel-item]>.layui-carousel-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.layui-carousel>[carousel-item]>.layui-carousel-next{-webkit-transform:translateX(100%);transform:translateX(100%)}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{-webkit-transform:translateX(0);transform:translateX(0)}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{-webkit-transform:translateY(0);transform:translateY(0)}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{-webkit-transform:translateY(100%);transform:translateY(100%)}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{-webkit-transform:translateY(0);transform:translateY(0)}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{-webkit-transform:translateY(100%);transform:translateY(100%)}.layui-carousel[lay-anim=fade]>[carousel-item]>*{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:16px;bottom:16px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9f9f9f;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#5f5f5f;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #d9d9d9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{display:block;position:relative;padding:15px;line-height:20px;border:1px solid #eee;border-left-width:6px;background-color:#fff;color:#333;font-family:"Courier New",Consolas,"Lucida Console",monospace;font-size:12px}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#eee}.layui-transfer-box{position:relative;display:inline-block;vertical-align:middle;border-width:1px;width:200px;height:360px;border-radius:2px;background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 11px;border-bottom-width:1px}.layui-transfer-search{position:relative;padding:11px;border-bottom-width:1px}.layui-transfer-search .layui-input{height:32px;padding-left:30px;font-size:12px}.layui-transfer-search .layui-icon-search{position:absolute;left:20px;top:50%;line-height:normal;margin-top:-8px;color:#5f5f5f}.layui-transfer-active{margin:0 15px;display:inline-block;vertical-align:middle}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#16b777;border-color:#16b777;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#fbfbfb;border-color:#eee;color:#d2d2d2}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto}.layui-transfer-data li{height:32px;line-height:32px;margin-top:0!important;padding:0 11px;list-style-type:none!important}.layui-transfer-data li:hover{background-color:#f8f8f8;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 11px;text-align:center;color:#999}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:11px 6px 11px 0;font-size:0}.layui-rate li{margin-top:0!important}.layui-rate li i.layui-icon{font-size:20px;color:#ffb800}.layui-rate li i.layui-icon{margin-right:5px;-webkit-transition:all .3s;transition:all .3s}.layui-rate li i:hover,.layui-rate-hover{cursor:pointer;-webkit-transform:scale(1.12);transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:38px;height:38px;border:1px solid #eee;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;box-sizing:border-box}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:44px;height:44px;line-height:30px}.layui-colorpicker.layui-colorpicker-sm{width:30px;height:30px;line-height:20px;padding:3px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:16px;padding:1px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#fff;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;left:-999999px;top:-999999px;z-index:77777777;width:280px;margin:5px 0;padding:7px;background:#fff;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative;overflow:hidden}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #fff;border-radius:50%;position:absolute;top:0;right:100%;cursor:pointer;transform:translate(-50%,-50%)}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:168px;height:30px;color:#5f5f5f;padding-left:5px}.layui-slider{height:4px;background:#eee;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#fff;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:77777777;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#fff;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:"";position:absolute;bottom:-11px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #eee;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-14px;box-sizing:border-box}.layui-slider-input-btn{position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #eee}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #eee}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none;padding-right:21px}.layui-slider-input-btn i:hover{color:#16baaa}.layui-slider-vertical{width:4px;margin-left:33px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:"";position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:26px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:rgba(0,0,0,0)}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{display:inline-block;vertical-align:middle;cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:"";position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{display:inline-block;vertical-align:middle;position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:14px;line-height:12px;width:14px;margin:0 11px;text-align:center;border:1px solid #c0c4cc}.layui-tree-icon .layui-icon{font-size:12px;color:#5f5f5f}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:"";position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-spread>.layui-tree-entry .layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#5f5f5f}.layui-tree-btnGroup{visibility:hidden;display:inline-block;vertical-align:middle;position:relative}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{position:relative;display:inline-block;vertical-align:middle;height:20px;line-height:20px;padding:0;border:none;background-color:rgba(0,0,0,.05)}.layui-tree-emptyText{text-align:center;color:#999}.layui-anim{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:both;animation-duration:.3s;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{-webkit-transition:all .2s;transition:all .2s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,15px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,15px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@keyframes layui-down{0%{opacity:.3;transform:translate3d(0,-100%,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-down{animation-name:layui-down}@keyframes layui-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-downbit{animation-name:layui-downbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@keyframes layui-scalesmall{0%{opacity:.3;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall{animation-name:layui-scalesmall}@keyframes layui-scalesmall-spring{0%{opacity:.3;transform:scale(1.5)}80%{opacity:.8;transform:scale(.9)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall-spring{animation-name:layui-scalesmall-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-wrap{font-size:13px;font-family:"Courier New",Consolas,"Lucida Console",monospace}.layui-code-view{display:block;position:relative;padding:0!important;border:1px solid #eee;border-left-width:6px;background-color:#fff;color:#333}.layui-code-view pre{margin:0!important}.layui-code-header{position:relative;z-index:3;padding:0 11px;height:40px;line-height:40px;border-bottom:1px solid #eee;background-color:#fafafa;font-size:12px}.layui-code-header>.layui-code-header-about{position:absolute;right:11px;top:0;color:#b7b7b7}.layui-code-header-about>a{padding-left:10px}.layui-code-wrap{position:relative;display:block;z-index:1;margin:0!important;padding:11px 0!important;overflow-x:hidden;overflow-y:auto}.layui-code-line{position:relative;line-height:19px;margin:0!important}.layui-code-line-number{position:absolute;left:0;top:0;padding:0 8px;min-width:45px;height:100%;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.layui-code-line-content{padding:0 11px;word-wrap:break-word;white-space:pre-wrap}.layui-code-ln-mode>.layui-code-wrap>.layui-code-line{padding-left:45px}.layui-code-ln-side{position:absolute;left:0;top:0;bottom:0;z-index:0;width:45px;border-right:1px solid #eee;border-color:rgb(126 122 122 / 15%);background-color:#fafafa;pointer-events:none}.layui-code-nowrap>.layui-code-wrap{overflow:auto}.layui-code-nowrap>.layui-code-wrap>.layui-code-line>.layui-code-line-content{white-space:pre;word-wrap:normal}.layui-code-nowrap>.layui-code-ln-side{border-right-width:0!important;background:0 0!important}.layui-code-fixbar{position:absolute;top:8px;right:11px;padding-right:45px;z-index:5}.layui-code-fixbar>span{position:absolute;right:0;top:0;padding:0 8px;color:#777;transition:all .3s}.layui-code-fixbar>span:hover{color:#16b777}.layui-code-copy{display:none;cursor:pointer}.layui-code-preview>.layui-code-view>.layui-code-fixbar .layui-code-copy{display:none!important}.layui-code-view:hover>.layui-code-fixbar .layui-code-copy{display:block}.layui-code-view:hover>.layui-code-fixbar .layui-code-lang-marker{display:none}.layui-code-theme-dark,.layui-code-theme-dark>.layui-code-header{border-color:rgb(126 122 122 / 15%);background-color:#1f1f1f}.layui-code-theme-dark{border-width:1px;color:#ccc}.layui-code-theme-dark>.layui-code-ln-side{border-right-color:#2a2a2a;background:0 0;color:#6e7681}.layui-code textarea{display:none}.layui-code-preview>.layui-code,.layui-code-preview>.layui-code-view{margin:0}.layui-code-preview>.layui-tab{position:relative;z-index:1;margin-bottom:0}.layui-code-preview .layui-code-item{display:none;border-top-width:0}.layui-code-item-preview{position:relative;padding:16px}.layui-code-item-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.layui-code-tools{position:absolute;right:11px;top:8px;line-height:normal}.layui-code-tools>i{display:inline-block;margin-left:6px;padding:3px;cursor:pointer}.layui-code-tools>i.layui-icon-file-b{color:#999}.layui-code-tools>i:hover{color:#16b777}.layui-code-full{position:fixed;left:0;top:0;z-index:1111111;width:100%;height:100%;background-color:#fff}.layui-code-full .layui-code-item{width:100%!important;border-width:0!important}.layui-code-full .layui-code-item,.layui-code-full .layui-code-view,.layui-code-full .layui-code-wrap{height:calc(100vh - 51px)!important;box-sizing:border-box}.layui-code-full .layui-code-item-preview{overflow:auto}.layui-code-view.layui-code-hl{line-height:20px!important;border-left-width:1px}.layui-code-view.layui-code-hl>.layui-code-ln-side{background-color:transparent}.layui-code-theme-dark.layui-code-hl,.layui-code-theme-dark.layui-code-hl>.layui-code-ln-side{border-color:rgb(126 122 122 / 15%)}.layui-code-line-highlighted{background-color:rgba(142,150,170,.14)}.layui-code-line-diff-add{background-color:rgba(16,185,129,.14)}.layui-code-line-diff-remove{background-color:rgba(244,63,94,.14)}.layui-code-line-diff-add:before{position:absolute;content:"+";color:#18794e}.layui-code-line-diff-remove:before{position:absolute;content:"-";color:#b8272c}.layui-code-has-focused-lines .layui-code-line:not(.layui-code-line-has-focus){filter:blur(.095rem);opacity:.7;-webkit-transition:filter .35s,opacity .35s;transition:filter .35s,opacity .35s}.layui-code-has-focused-lines:hover .layui-code-line:not(.layui-code-line-has-focus){filter:blur();opacity:1}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate,.layui-laydate *{box-sizing:border-box}.layui-laydate{position:absolute;z-index:99999999;margin:5px 0;border-radius:2px;font-size:14px;line-height:normal;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{-webkit-transition-duration:.3s;transition-duration:.3s}.layui-laydate-shade{top:0;left:0;width:100%;height:100%;position:fixed;pointer-events:auto}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate{animation-name:laydate-downbit}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-time-show .layui-laydate-header{padding-left:10px;padding-right:10px}.laydate-set-ym{width:100%;text-align:center;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:0;text-align:center}.layui-laydate-content th{font-weight:400}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.laydate-day-holidays:before{position:absolute;left:0;top:0;font-size:12px;transform:scale(.7)}.laydate-day-holidays:before{content:'\4F11';color:#ff5722}.laydate-day-holidays[type=workdays]:before{content:'\73ED';color:inherit}.layui-laydate .layui-this .laydate-day-holidays:before{color:#fff}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #c9c9c9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-footer span:hover{color:#16b777}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#777}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px;border-radius:0}.laydate-footer-btns span:first-child{border-radius:2px 0 0 2px}.laydate-footer-btns span:last-child{border-radius:0 2px 2px 0}.layui-laydate-shortcut{width:80px;padding:6px 0;display:inline-block;vertical-align:top;overflow:auto;max-height:276px;text-align:center}.layui-laydate-shortcut+.layui-laydate-main{display:inline-block;border-left:1px solid #e2e2e2}.layui-laydate-shortcut>li{padding:5px 8px;cursor:pointer;line-height:18px}.layui-laydate .layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;box-sizing:border-box;background-color:#fff}.layui-laydate .layui-laydate-list>li{position:relative;display:inline-block;width:33.3%;height:36px;line-height:36px;margin:3px 0;vertical-align:middle;text-align:center;cursor:pointer;list-style:none}.layui-laydate .laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list{display:table}.layui-laydate .laydate-time-list>li{display:table-cell;height:100%;margin:0;line-height:normal;cursor:default}.layui-laydate .laydate-time-list p{position:relative;top:-4px;margin:0;line-height:29px}.layui-laydate .laydate-time-list ol{height:181px;overflow:hidden}.layui-laydate .laydate-time-list>li:hover ol{overflow-y:auto}.layui-laydate .laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate .laydate-time-list-hide-1 ol li{padding-left:53px}.layui-laydate .laydate-time-list-hide-2 ol li{padding-left:117px}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px;color:#ff5722;white-space:pre-line}.layui-laydate-range{width:546px}.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle;max-width:50%}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-y,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .layui-laydate-header{border-left-style:dashed}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#777}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#16b777}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{color:#333}.layui-laydate-content td{color:#777}.layui-laydate-content td.laydate-day-now{color:#16b777}.layui-laydate-content td.laydate-day-now:after{content:'';position:absolute;width:100%;height:30px;left:0;top:0;border:1px solid #16b777;box-sizing:border-box}.layui-laydate-linkage .layui-laydate-content td.laydate-selected>div{background-color:#cffae9;transition:all .3s}.layui-laydate-linkage .laydate-selected:hover>div{background-color:#cffae9!important}.layui-laydate-content td.laydate-selected:after,.layui-laydate-content td:hover:after{content:none}.layui-laydate-content td>div:hover,.layui-laydate-list li:hover,.layui-laydate-shortcut>li:hover{background-color:#eee;color:#333;transition:all .3s}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.layui-laydate-linkage .laydate-selected.laydate-day-next>div,.layui-laydate-linkage .laydate-selected.laydate-day-prev>div{background:0 0!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#ff5722}.laydate-day-mark::after{background-color:#16b777}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#16b777}.layui-laydate .layui-this,.layui-laydate .layui-this>div{background-color:#16b777!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-laydate .layui-this.laydate-disabled,.layui-laydate .layui-this.laydate-disabled>div{background-color:#eee!important}.layui-laydate-content td>div{padding:7px 0;height:100%}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#16baaa}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-molv .layui-this,.laydate-theme-molv .layui-this>div{background-color:#16baaa!important}.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead{border:1px solid #e2e2e2}.layui-laydate-linkage.laydate-theme-grid .laydate-selected,.layui-laydate-linkage.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#16baaa!important}.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-next,.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}.laydate-theme-grid .layui-laydate-content td>div{height:29px;margin-top:-1px}.laydate-theme-circle .layui-laydate-content td.layui-this>div,.laydate-theme-circle .layui-laydate-content td>div{width:28px;height:28px;line-height:28px;border-radius:14px;margin:0 4px;padding:0}.layui-laydate.laydate-theme-circle .layui-laydate-content table td.layui-this{background-color:transparent!important}.laydate-theme-grid.laydate-theme-circle .layui-laydate-content td>div{margin:0 3.5px}.laydate-theme-fullpanel .layui-laydate-main{width:526px}.laydate-theme-fullpanel .layui-laydate-list{width:252px;left:272px}.laydate-theme-fullpanel .laydate-set-ym span{display:none}.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-theme-fullpanel .laydate-time-show .layui-laydate-header .layui-icon{display:inline-block!important}.laydate-theme-fullpanel .laydate-btns-time{display:none}.laydate-theme-fullpanel .laydate-time-list-hide-1 ol li{padding-left:49px}.laydate-theme-fullpanel .laydate-time-list-hide-2 ol li{padding-left:107px}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{opacity:0;transition:opacity .35s cubic-bezier(.34,.69,.1,1);top:0;left:0;width:100%;height:100%}.layui-layer{top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(data:image/gif;base64,R0lGODlhJQAlAJECAL3L2AYrTv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgACACwAAAAAJQAlAAACi5SPqcvtDyGYIFpF690i8xUw3qJBwUlSadmcLqYmGQu6KDIeM13beGzYWWy3DlB4IYaMk+Dso2RWkFCfLPcRvFbZxFLUDTt21BW56TyjRep1e20+i+eYMR145W2eefj+6VFmgTQi+ECVY8iGxcg35phGo/iDFwlTyXWphwlm1imGRdcnuqhHeop6UAAAIfkEBQoAAgAsEAACAAQACwAAAgWMj6nLXAAh+QQFCgACACwVAAUACgALAAACFZQvgRi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwXABEADAADAAACBYyPqcsFACH5BAUKAAIALBUAFQAKAAsAAAITlGKZwWoMHYxqtmplxlNT7ixGAQAh+QQFCgACACwQABgABAALAAACBYyPqctcACH5BAUKAAIALAUAFQAKAAsAAAIVlC+BGL3Z3IlxUmUuhtR2LzHhsiEFACH5BAUKAAIALAEAEQAMAAMAAAIFjI+pywUAIfkEBQoAAgAsBQAFAAoACwAAAhOUYJnAagwdjGq2amXGU1PuLEYBACH5BAUKAAIALBAAAgAEAAsAAAIFhI+py1wAIfkEBQoAAgAsFQAFAAoACwAAAhWUL4AIvdnciXFSZS6G1HYvMeGyIQUAIfkEBQoAAgAsFwARAAwAAwAAAgWEj6nLBQAh+QQFCgACACwVABUACgALAAACE5RgmcBqDB2MarZqZcZTU+4sRgEAIfkEBQoAAgAsEAAYAAQACwAAAgWEj6nLXAAh+QQFCgACACwFABUACgALAAACFZQvgAi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwBABEADAADAAACBYSPqcsFADs=) #fff center center no-repeat}.layui-layer-btn a,.layui-layer-setwin span{display:inline-block;vertical-align:middle}.layui-layer-move{display:none;position:fixed;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@-webkit-keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@keyframes layer-slide-down{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-down-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-100%,0)}}.layer-anim-slide-down{animation-name:layer-slide-down}.layer-anim-slide-down-out{animation-name:layer-slide-down-out}@keyframes layer-slide-left{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-left-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layer-anim-slide-left{animation-name:layer-slide-left}.layer-anim-slide-left-out{animation-name:layer-slide-left-out}@keyframes layer-slide-up{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-up-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,100%,0)}}.layer-anim-slide-up{animation-name:layer-slide-up}.layer-anim-slide-up-out{animation-name:layer-slide-up-out}@keyframes layer-slide-right{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-right-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}.layer-anim-slide-right{animation-name:layer-slide-right}.layer-anim-slide-right-out{animation-name:layer-slide-right-out}.layui-layer-title{padding:0 81px 0 16px;height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;top:16px;font-size:0;line-height:initial}.layui-layer-setwin span{position:relative;width:16px;height:16px;line-height:18px;margin-left:10px;text-align:center;font-size:16px;cursor:pointer;color:#000;_overflow:hidden;box-sizing:border-box}.layui-layer-setwin .layui-layer-min:before{content:'';position:absolute;width:12px;border-bottom:1px solid #2e2d3c;left:50%;top:50%;margin:-.5px 0 0 -6px;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-max:after,.layui-layer-setwin .layui-layer-max:before{content:'';position:absolute;left:50%;top:50%;z-index:1;width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #2e2d3c}.layui-layer-setwin .layui-layer-max:hover:after,.layui-layer-setwin .layui-layer-max:hover:before{border-color:#2d93ca}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-maxmin:after,.layui-layer-setwin .layui-layer-maxmin:before{width:7px;height:7px;margin:-3px 0 0 -3px;background-color:#fff}.layui-layer-setwin .layui-layer-maxmin:after{z-index:0;margin:-5px 0 0 -1px}.layui-layer-setwin .layui-layer-close{cursor:pointer}.layui-layer-setwin .layui-layer-close:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;color:#fff;background-color:#787878;padding:3px;border:3px solid;width:28px;height:28px;font-size:16px;font-weight:bolder;border-radius:50%;margin-left:0}.layui-layer-setwin .layui-layer-close2:hover{opacity:unset;background-color:#3888f6}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layui-layer-btn a{height:30px;line-height:30px;margin:5px 5px 0;padding:0 16px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none;box-sizing:border-box}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:transparent;background-color:#1e9fff;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-btn-is-loading{opacity:.5!important;cursor:not-allowed!important;cursor:wait!important;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none}.layui-layer-btn-is-loading .layui-layer-btn-loading-icon{margin-right:8px;font-size:14px}.layui-layer-dialog{min-width:240px}.layui-layer-dialog .layui-layer-content{position:relative;padding:16px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-face{position:absolute;top:18px;left:16px;color:#959595;font-size:32px;_left:-40px}.layui-layer-dialog .layui-layer-content .layui-icon-tips{color:#f39b12}.layui-layer-dialog .layui-layer-content .layui-icon-success{color:#16b777}.layui-layer-dialog .layui-layer-content .layui-icon-error{top:19px;color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-question{color:#ffb800}.layui-layer-dialog .layui-layer-content .layui-icon-lock{color:#787878}.layui-layer-dialog .layui-layer-content .layui-icon-face-cry{color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-face-smile{color:#16b777}.layui-layer-rim{border:6px solid #8d8d8d;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #d3d4d3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-close{color:#fff}.layui-layer-hui .layui-layer-content{padding:11px 24px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:18px 24px 18px 58px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:76px;height:38px;line-height:38px;text-align:center}.layui-layer-loading-icon{font-size:38px;color:#959595}.layui-layer-loading2{text-align:center}.layui-layer-loading-2{position:relative;height:38px}.layui-layer-loading-2:after,.layui-layer-loading-2:before{content:'';position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid #d2d2d2;box-sizing:border-box}.layui-layer-loading-2:after{border-color:transparent;border-left-color:#1e9fff}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan .layui-layer-title{background:#4476a7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;border-top:1px solid #e9e7e7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#e9e7e7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#c9c5c5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92b8b1}.layui-layer-lan .layui-layer-setwin .layui-icon,.layui-layer-molv .layui-layer-setwin .layui-icon{color:#fff}.layui-layer-win10{border:1px solid #aaa;box-shadow:1px 1px 6px rgba(0,0,0,.3);border-radius:none}.layui-layer-win10 .layui-layer-title{height:32px;line-height:32px;padding-left:8px;border-bottom:none;font-size:12px}.layui-layer-win10 .layui-layer-setwin{right:0;top:0}.layui-layer-win10 .layui-layer-setwin span{margin-left:0;width:32px;height:32px;padding:8px}.layui-layer-win10.layui-layer-page .layui-layer-setwin span{width:38px}.layui-layer-win10 .layui-layer-setwin span:hover{background-color:#e5e5e5}.layui-layer-win10 .layui-layer-setwin span.layui-icon-close:hover{background-color:#e81123;color:#fff}.layui-layer-win10.layui-layer-dialog .layui-layer-content{padding:8px 16px 32px;color:#0033bc}.layui-layer-win10.layui-layer-dialog .layui-layer-padding{padding-top:18px;padding-left:58px}.layui-layer-win10 .layui-layer-btn{padding:5px 5px 10px;border-top:1px solid #dfdfdf;background-color:#f0f0f0}.layui-layer-win10 .layui-layer-btn a{height:20px;line-height:18px;background-color:#e1e1e1;border-color:#adadad;color:#000;font-size:12px;transition:all .3s}.layui-layer-win10 .layui-layer-btn a:hover{border-color:#2a8edd;background-color:#e5f1fb}.layui-layer-win10 .layui-layer-btn .layui-layer-btn0{border-color:#0078d7}.layui-layer-prompt .layui-layer-input{display:block;width:260px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:16px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;display:inline-block;vertical-align:top;border-left:1px solid transparent;border-right:1px solid transparent;min-width:80px;max-width:300px;padding:0 16px;text-align:center;cursor:default;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:51px;border-left-color:#eee;border-right-color:#eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left-color:transparent}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{background:0 0;box-shadow:none}.layui-layer-photos .layui-layer-content{overflow:visible;text-align:center}.layui-layer-photos .layer-layer-photos-main img{position:relative;width:100%;display:inline-block;vertical-align:top}.layui-layer-photos-next,.layui-layer-photos-prev{position:fixed;top:50%;width:52px;height:52px;line-height:52px;margin-top:-26px;cursor:pointer;font-size:52px;color:#717171}.layui-layer-photos-prev{left:32px}.layui-layer-photos-next{right:32px}.layui-layer-photos-next:hover,.layui-layer-photos-prev:hover{color:#959595}.layui-layer-photos-toolbar{position:fixed;left:0;right:0;bottom:0;width:100%;height:52px;line-height:52px;background-color:rgba(0,0,0,.32);color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:0}.layui-layer-photos-toolbar>*{display:inline-block;vertical-align:top;padding:0 16px;font-size:12px;color:#fff}.layui-layer-photos-toolbar *{font-size:12px}.layui-layer-photos-header{top:0;bottom:auto}.layui-layer-photos-header>span{cursor:pointer}.layui-layer-photos-header>span:hover{background-color:rgba(51,51,51,.32)}.layui-layer-photos-header .layui-icon{font-size:18px}.layui-layer-photos-footer>h3{max-width:65%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-layer-photos-footer a:hover{text-decoration:underline}.layui-layer-photos-footer em{font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s} \ No newline at end of file diff --git a/docker/html/layui/font/iconfont.eot b/docker/html/layui/font/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..3164c9f78997256462cc4295ece63026888aac4a GIT binary patch literal 54764 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 literal 0 HcmV?d00001 diff --git a/docker/html/layui/font/iconfont.svg b/docker/html/layui/font/iconfont.svg new file mode 100644 index 0000000..67e85a7 --- /dev/null +++ b/docker/html/layui/font/iconfont.svg @@ -0,0 +1,409 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/html/layui/font/iconfont.ttf b/docker/html/layui/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8f49efb999c4f2437134766e3c58f02459518545 GIT binary patch literal 54588 zcmd?ScbptYoi|+7H6130o;*8wXJ+H8Z%aUx_l4VO^TQ<%%#sM(c z*oX|aF*sttfE?gBusH+110P@nXGT8!fK9sN?zFAvTiv?~#@yZe-243TeqPP~s;jH3 zsw@6-wFo7ISjkbsNc+U()NtaK%n?Fp7gComo@^`Zs9S^_^j6$&+PZJ^{!6RVzahkQ ziV)kWoqG@OSkvMa2vM&knn{E-mhs{I!o zIC$ghH=%tm9wbEm7D3C{(bGrCI`MO-r%z9dMV@lrzvuN7r2e7qhR%)7zCRJGNzd?4 zuRMQB@6UBo@&95kkk4-ny9C=lK~=(jxShF9D6q( zypV*6QN8i}+&JC4d*^1Hlfn zr%%80_?*^E;F)bSVdaC+KwUfMg=_djU=d3B?n93Q9uL49v4 zD}L_(y}Ee2@DF5T7sq??2f;=YO>%DCj(eYMZjzEFF# z_H6B2wZE;sQ2S}^H?>nIg_Gh*|H;zHIVV?~Ty=8)$s12TeDbR&|Ka3`*Ok{-{__LB z{`#+#_rFsETJwMYkD?!=^h*7Alpdwmob$VuUQ2KM z&wqIFbL1KFEcpgGPQFII4*dRQ@>TK`@)Y?Jd6ImVJVqWTPmo7RfjmOKK)y&mPaY;s z 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∨Uh$h5E z>w(v+=2iSPMT@_VHZ?_gAPSnC`r)K-Gw6oT;smpTc6XW%rC;b{!O@r365Qf*H%iOM zxtlqZLeuew_fK16NnKwea8Xx@!lhY<4G;Ss;8jr*jO)qTo;IV>FD@f!X}9# zY;7fz0G~@B83EzY;&x!pRlDr9*QWECweigQyio=v+Oo1Svb?#azN@CzX>-PcQL?

a49|jeB0e} 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 literal 0 HcmV?d00001 diff --git a/docker/html/layui/font/iconfont.woff2 b/docker/html/layui/font/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a3d87744db163b958f29bba12eb25f309019b5c3 GIT binary patch literal 30004 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 P$t;rXwVD4100000_UEKA literal 0 HcmV?d00001 diff --git a/docker/html/layui/layui.js b/docker/html/layui/layui.js new file mode 100644 index 0000000..0ef2328 --- /dev/null +++ b/docker/html/layui/layui.js @@ -0,0 +1 @@ +/** v2.13.0 | 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.13.0"},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||p.documentElement.clientHeight)},h.getStyleRules=function(e,n){if(e)return e=(e=e.sheet||e.styleSheet||{}).cssRules||e.rules,"function"==typeof n&&layui.each(e,function(e,t){if(n(t,e))return!0}),e},h.style=function(e){e=e||{};var t=h.elem("style"),n=e.text||"",r=e.target;if(n)return"styleSheet"in t?(t.setAttribute("type","text/css"),t.styleSheet.cssText=n):t.innerHTML=n,t.id="LAY-STYLE-"+(e.id||(n=h.style.index||0,h.style.index++,"DF-"+n)),r&&((e=h(r).find("#"+t.id))[0]&&e.remove(),h(r).append(t)),t},h.position=function(e,t,n){var r,i,o,c,a,u,s,l,f;t&&(n=n||{},e!==p&&e!==h("body")[0]||(n.clickType="right"),r="right"===n.clickType?{left:(r=n.e||d.event||{}).clientX,top:r.clientY,right:r.clientX,bottom:r.clientY}:e.getBoundingClientRect(),a=t.offsetWidth,u=t.offsetHeight,i=function(e){return p.body[e=e?"scrollLeft":"scrollTop"]|p.documentElement[e]},o=function(e){return p.documentElement[e?"clientWidth":"clientHeight"]},c="margin"in n?n.margin:5,f=r.left,"center"===n.align?f-=(a-e.offsetWidth)/2:"right"===n.align&&(f=f-a+e.offsetWidth),(f=f+a+c>o("width")?o("width")-a-c:f)o()&&(r.top>u+c&&r.top<=o()?a=r.top-u-2*c:n.allowBottomOut||(a=o()-u-2*c)<0&&(a=0)),(u=n.position)&&(t.style.position=u),s=n.offset?n.offset[0]:0,l=n.offset?n.offset[1]:0,t.style.left=f+("fixed"===u?0:i(1))+s+"px",t.style.top=a+("fixed"===u?0:i())+l+"px",h.hasScrollbar()||(f=t.getBoundingClientRect(),!n.SYSTEM_RELOAD&&f.bottom+c>o()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){h.position(e,t,n)},50))))},h.options=function(e,t){if(t="object"==typeof t?t:{attr:t},e===p)return{};var e=h(e),n=t.attr||"lay-options",e=e.attr(n);try{return new Function("return "+(e||"{}"))()}catch(r){return layui.hint().error(t.errorText||[n+'="'+e+'"',"\n parseerror: "+r].join("\n"),"error"),{}}},h.isTopElem=function(n){var e=[p,h("body")[0]],r=!1;return h.each(e,function(e,t){if(t===n)return r=!0}),r},h.clipboard={writeText:function(n){var r=String(n.text);function e(){var e=p.createElement("textarea");e.value=r,e.style.position="fixed",e.style.opacity="0",e.style.top="0px",e.style.left="0px",p.body.appendChild(e),e.select();try{p.execCommand("copy"),"function"==typeof n.done&&n.done()}catch(t){"function"==typeof n.error&&n.error(t)}finally{e.remove?e.remove():p.body.removeChild(e)}}navigator&&"clipboard"in navigator?navigator.clipboard.writeText(r).then(n.done,function(){e()}):e()}},h.passiveSupported=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});d.addEventListener("test",null,t),d.removeEventListener("test",null,t)}catch(n){}return e}(),h.touchEventsSupported=function(){return"ontouchstart"in d},h.touchSwipe=function(e,t){var n,r,i,o,c=t,a=h(e)[0],u=!("preventDefault"in c)||c.preventDefault;a&&h.touchEventsSupported()&&(n={pointerStart:{x:0,y:0},pointerEnd:{x:0,y:0},distanceX:0,distanceY:0,direction:"none",timeStart:null},t=function(e){1===e.touches.length&&(a.addEventListener("touchmove",r,!!h.passiveSupported&&{passive:!1}),a.addEventListener("touchend",i),a.addEventListener("touchcancel",i),n.timeStart=Date.now(),n.pointerStart.x=n.pointerEnd.x=e.touches[0].clientX,n.pointerStart.y=n.pointerEnd.y=e.touches[0].clientY,n.distanceX=n.distanceY=0,n.direction="none",c.onTouchStart)&&c.onTouchStart(e,n)},r=function(e){u&&e.preventDefault(),n.pointerEnd.x=e.touches[0].clientX,n.pointerEnd.y=e.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.test(e+="")?e.replace(/&(?=#?[a-zA-Z0-9]+;?)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):e},h.unescape=function(e){return e===undefined||null===e?"":String(e).replace(/\"/g,'"').replace(/\'/g,"'").replace(/\>/g,">").replace(/\</g,"<").replace(/\&/g,"&")},n=0,r=null,function(e){e=e||"id";var t=(new Date).getTime();return t===r?n++:(n=0,r=t),e+"-"+t+"-"+Math.floor(1e4*Math.random())+"-"+n});h.createSharedResizeObserver=function(r){var i,o,c;return"undefined"==typeof d.ResizeObserver?(d.console&&console.log("ResizeObserver is not supported in this browser."),null):(i="lay-"+(r=r||"")+"-resizeobserver-key",o={},c=new ResizeObserver(function(e){for(var t=0;t]|&(?=#?[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,o=e.split(/\r?\n/g),n=(e=e.replace(/(?=^)/gm,function(){return"/*LINE:"+t+++"*/"}),this.createBuilder(e)),c=n.split(/\r?\n/),a="laytpl.builder.map";try{n+="\n//# sourceURL="+a;var i=this.createCompiler(e,n);r&&i(r)}catch(l){var e=m(a.replace(/\./g,"\\.")+":(\\d+)","i"),n=(l.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),l<0?l=1:l>n.pages&&(l=n.pages),n.prev="prev"in n?n.prev:p.$t("laypage.prev"),n.next="next"in n?n.next:p.$t("laypage.next"),n.pages>l?Math.ceil((n.curr+(1'+n.prev+"":"",page:function(){var e=[];if(n.count<1)return"";1'+(n.first||1)+"");var a=Math.floor((l-1)/2),t=1n.pages?n.pages:a:l;for(i-t...');t<=i;t++)t===n.curr?e.push('"+t+""):e.push(''+t+"");return n.pages>l&&n.pages>i&&!1!==n.last&&(i+1...'),0!==l)&&e.push(''+(n.last||n.pages)+""),e.join("")}(),next:n.next?''+n.next+"":"",count:''+("object"==typeof n.countText?n.countText[0]+n.count+n.countText[1]:p.$t("laypage.total",{total:n.count}))+"",limit:(i=['"),refresh:['','',""].join(""),skip:[''+(e="object"==typeof n.skipText?n.skipText:[p.$t("laypage.goto"),p.$t("laypage.page"),p.$t("laypage.confirm")])[0],'',e[1]+'",""].join("")};return['

',(t=[],layui.each(n.layout,function(e,a){u[a]&&t.push(u[a])}),t.join("")),"
"].join("")},t.prototype.jump=function(e,a){if(e){var t=this,i=t.config,n=e.children,l=e[c]("button")[0],r=e[c]("input")[0],e=e[c]("select")[0],u=function(){var e=Number(r.value.replace(/\s|\D/g,""));e&&(i.curr=e,t.render())};if(a)return u();for(var p=0,s=n.length;pi.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()}),l&&o.on(l,"click",function(){u()})}},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):l[r](t.elem)&&(l[r](t.elem).innerHTML=n),t.jump&&t.jump(t,e),l[r]("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)});layui.define(["lay","i18n"],function(e){"use strict";var M=layui.lay,a=layui.i18n,n="laydate",r="lay-"+n+"-id",o="zh-CN",l=["eu-ES","ja-JP","km-KH","ko-KR","pt-BR","si-LK","ms-MY","ug-CN","zh-CN","zh-HK","zh-TW"];function h(e){if("string"!=typeof e||e.length<=1)return e;for(var t="",a=0;a'+s.selectTime+""),(l.range||"datetime"!==l.type||l.fullPanel)&&p.push(''),M.each(l.btns,function(e,t){var a=s.tools[t]||"btn";l.range&&"now"===t||(d&&"clear"===t&&(a=s.tools.reset),n.push(''+a+""))}),p.push('"),p.join(""))),l.shortcuts&&(m.appendChild(t),M(t).html((i=[],M.each(l.shortcuts,function(e,t){i.push('
  • '+t.text+"
  • ")}),i.join(""))).find("li").on("click",function(e){var t=l.shortcuts[this.dataset.index]||{},t=("function"==typeof t.value?t.value():t.value)||[],n=(layui.isArray(t)||(t=[t]),l.type),t=(M.each(t,function(e,t){var a=[l.dateTime,o.endDate][e];"time"===n&&"date"!==layui.type(t)?o.EXP_IF.test(t)&&(t=(t.match(o.EXP_SPLIT)||[]).slice(1),M.extend(a,{hours:0|t[0],minutes:0|t[2],seconds:0|t[4]})):M.extend(a,o.systemDate("date"===layui.type(t)?t:new Date(t))),"time"!==n&&"datetime"!==n||(o[["startTime","endTime"][e]]={hours:a.hours,minutes:a.minutes,seconds:a.seconds}),0===e?o.startDate=M.extend({},a):o.endState=!0,"year"===n||"month"===n||"time"===n?o.listYM[e]=[a.year,a.month+1]:e&&o.autoCalendarModel.auto&&o.autoCalendarModel()}),o.checkDate("limit").calendar(null,null,"init"),M(o.footer).find("."+S).removeClass(C));t&&"date"===t.attr("lay-type")&&t[0].click(),o.done(null,"change"),M(this).addClass(k),"static"!==l.position&&o.setValue(o.parse()).done().remove()})),M.each(u,function(e,t){m.appendChild(t)}),l.showBottom&&m.appendChild(e),M.elem("style")),f=[],g=!0,t=(M.each(l.theme,function(e,t){g&&/^#/.test(t)?(g=!(r=!0),f.push(["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}",-1!==l.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,o.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,o.elemID).replace(/{{theme}}/g,t))}),l.shortcuts&&l.range&&f.push("#{{id}}.layui-laydate-range{width: 628px;}".replace(/{{id}}/g,o.elemID)),f.length&&(f=f.join(""),"styleSheet"in p?(p.setAttribute("type","text/css"),p.styleSheet.cssText=f):p.innerHTML=f,r&&M(m).addClass("laydate-theme-molv"),m.appendChild(p)),o.remove(w.thisElemDate),D.thisId=l.id,d?l.elem.append(m):(document.body.appendChild(m),o.position()),l.shade?'
    ':"");m.insertAdjacentHTML("beforebegin",t),o.checkDate().calendar(null,0,"init"),o.changeEvent(),w.thisElemDate=o.elemID,o.renderAdditional(),"function"==typeof l.ready&&l.ready(M.extend({},l.dateTime,{month:l.dateTime.month+1})),o.preview()},w.prototype.remove=function(e){var t=this,a=t.config,n=M("#"+(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 D.thisId,"function"==typeof a.close&&a.close(t)}),M("."+x).remove()),t},w.prototype.position=function(){var e=this.config;return M.position(e.elem[0],this.elem,{position:e.position}),this},w.prototype.hint=function(e){var t=this,a=(t.config,M.elem("div",{"class":i}));t.elem&&(a.innerHTML=(e="object"==typeof e?e||{}:{content:e}).content||"",M(t.elem).find("."+i).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){M(t.elem).find("."+i).remove()},"ms"in e?e.ms:3e3))},w.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),11p[1]&&(e.year=p[1],l=!0),11t)&&(e.date=t,l=!0)},c=function(n,i,r){var o=["startTime","endTime"];i=(i.match(s.EXP_SPLIT)||[]).slice(1),r=r||0,d.range&&(s[o[r]]=s[o[r]]||{}),M.each(s.format,function(e,t){var a=parseFloat(i[e]);i[e].lengths.getDateTime(d.max)?(o=d.dateTime=M.extend({},d.max),i=!0):s.getDateTime(o)s.getDateTime(d.max))&&(s.endDate=M.extend({},d.max),i=!0),s.startTime={hours:d.dateTime.hours,minutes:d.dateTime.minutes,seconds:d.dateTime.seconds},s.endTime={hours:s.endDate.hours,minutes:s.endDate.minutes,seconds:s.endDate.seconds},"month"===d.type)&&(d.dateTime.date=1,s.endDate.date=1),i&&u&&(s.setValue(s.parse()),s.hint("value "+r.invalidDatePrompt+r.autoResetPrompt)),s.startDate=s.startDate||u&&M.extend({},d.dateTime),s.autoCalendarModel.auto&&s.autoCalendarModel(),s.endState=!d.range||!s.rangeLinked||!(!s.startDate||!s.endDate),e&&e()),s},w.prototype.markRender=function(e,a,t){var n;"object"==typeof t?M.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+"")},w.prototype.mark=function(t,a){var n=this,e=n.config,i=function(e){n.markRender(t,a,e)};return e.calendar&&e.lang===o&&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},w.prototype.holidaysRender=function(o,l,e){var s=["holidays","workdays"],d=function(e,t,a){e.find("div").html(["",a,""].join(""))};"array"===layui.type(e)?M.each(e,function(r,e){M.each(e,function(e,t){var a,n,i;t=t,a=o.attr("lay-ymd"),n=t.split("-"),i=a.split("-"),M.each(n,function(e,t){n[e]=parseInt(t,10)}),M.each(i,function(e,t){i[e]=parseInt(t,10)}),n.join("-")===i.join("-")&&d(o,s[r],l[2])})}):"string"==typeof e&&-1!==s.indexOf(e)&&d(o,e,l[2])},w.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},w.prototype.cellRender=function(t,e,a){var n=this.config;return"function"==typeof n.cellRender&&n.cellRender(e,function(e){"string"==typeof e?M(t).html(e):"object"==typeof e&&M(t).html("").append(M(e)[0])},{originElem:t,type:a}),this},w.prototype.startOfYear=function(e){e=new Date(e);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e},w.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},w.prototype.startOfMonth=function(e){e=new Date(e);return e.setDate(1),e.setHours(0,0,0,0),e},w.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},w.prototype.addDays=function(e,t){e=new Date(e);return t&&e.setDate(e.getDate()+t),e},w.prototype.isDisabledYearOrMonth=function(e,t,a){for(var n=this,i=n.config,r="year"===t?n.startOfYear(e):n.startOfMonth(e),t="year"===t?n.endOfYear(e):n.endOfMonth(e),o=Math.floor((t.getTime()-r.getTime())/864e5)+1,l=0,s=0;s(t.time?0:41)?i.endDate:e.dateTime;return M.each({now:M.extend({},a,t.date||{}),min:e.min,max:e.max},function(e,a){var n;r[e]=i.newDate(M.extend({year:a.year,month:"year"===t.type?0:a.month,date:"year"===t.type||"month"===t.type?1:a.date},(n={},M.each(t.time,function(e,t){n[t]=a[t]}),n))).getTime()}),a=r.nowp[1]&&(d.year=p[1],s.hint(m.invalidDatePrompt)),s.firstDate||(s.firstDate=M.extend({},d)),n.setFullYear(d.year,d.month,1),r=(n.getDay()+(7-a.weekStart))%7,o=D.getEndDate(d.month||12,d.year),l=D.getEndDate(d.month+1,d.year),M.each(y,function(e,t){var a,n=[d.year,d.month];(t=M(t)).removeAttr("class"),e"+n[2]+""),s.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"}),s.cellRender(t,{year:n[0],month:n[1],date:n[2]},"date")}),M(c[0]).attr("lay-ym",d.year+"-"+(d.month+1)),M(c[1]).attr("lay-ym",d.year+"-"+(d.month+1)),s.panelYM||(s.panelYM={}),s.panelYM[i]={year:d.year,month:d.month},h(d.year+m.literal.year)),y=h(m.months[d.month]);return m.monthBeforeYear?(M(c[0]).attr("lay-type","month").html(y),M(c[1]).attr("lay-type","year").html(n)):(M(c[0]).attr("lay-type","year").html(n),M(c[1]).attr("lay-type","month").html(y)),u&&(a.range?!e&&"init"===t||(s.listYM=[[(s.startDate||a.dateTime).year,(s.startDate||a.dateTime).month+1],[s.endDate.year,s.endDate.month+1]],s.list(a.type,0).list(a.type,1),"time"===a.type?s.setBtnStatus(!0,M.extend({},s.systemDate(),s.startTime),M.extend({},s.systemDate(),s.endTime)):s.setBtnStatus(!0)):(s.listYM=[[d.year,d.month+1]],s.list(a.type,0))),a.range&&"init"===t&&(s.rangeLinked?(m=s.getAsYM(d.year,d.month,i?"sub":null),s.calendar(M.extend({},d,{year:m[0],month:m[1]}),1-i)):s.calendar(null,1-i)),a.range||(n=["hours","minutes","seconds"],s.limit({elem:M(s.footer).find(".laydate-btns-now"),date:s.systemDate(/^(datetime|time)$/.test(a.type)?new Date:null),index:0,time:n,disabledType:"datetime"}),s.limit({elem:M(s.footer).find(I),index:0,time:n,disabledType:"datetime"})),s.setBtnStatus(),M(s.shortcut).find("li."+k).removeClass(k),a.range&&!u&&"init"!==t&&s.stampRange(),s},w.prototype.list=function(n,i){var r,o,e,a,l,s,d=this,m=d.config,u=d.rangeLinked?m.dateTime:[m.dateTime,d.endDate][i],y=d.i18nMessages,c=m.range&&"date"!==m.type&&"datetime"!==m.type,h=M.elem("ul",{"class":b+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[n]}),t=d.elemHeader[i],p=M(t[2]).find("span"),f=d.elemCont[i||0],g=M(f).find("."+b)[0],D=y.monthBeforeYear,v=y.literal.year,T=d.listYM[i]||{},x=["hours","minutes","seconds"],w=["startTime","endTime"][i];return T[0]<1&&(T[0]=1),"year"===n?(e=r=T[0]-7,r<1&&(e=r=1),M.each(new Array(15),function(e){var t=M.elem("li",{"lay-ym":r}),a={year:r,month:0,date:1};r==T[0]&&M(t).addClass(k),t.innerHTML=r+v,h.appendChild(t),d.limit({elem:M(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),d.cellRender(t,{year:r,month:1,date:1},"year"),r++}),M(p[D?1:0]).attr("lay-ym",r-8+"-"+T[1]).html(e+v+" - "+(r-1+v))):"month"===n?(M.each(new Array(12),function(e){var t=M.elem("li",{"lay-ym":e}),a={year:T[0],month:e,date:1};e+1==T[1]&&M(t).addClass(k),t.innerHTML=y.months[e],h.appendChild(t),d.limit({elem:M(t),date:a,index:i,type:n,rangeType:i,disabledType:"date"}),d.cellRender(t,{year:T[0],month:e+1,date:1},"month")}),M(p[D?1:0]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+v)):"time"===n&&(o=function(){M(h).find("ol").each(function(a,e){M(e).find("li").each(function(e,t){d.limit({elem:M(t),date:[{hours:e},{hours:d[w].hours,minutes:e},{hours:d[w].hours,minutes:d[w].minutes,seconds:e}][a],index:i,rangeType:i,disabledType:"time",time:[["hours"],["hours","minutes"],["hours","minutes","seconds"]][a]})})}),m.range||d.limit({elem:M(d.footer).find(I),date:d[w],index:0,time:["hours","minutes","seconds"],disabledType:"datetime"})},m.range?d[w]||(d[w]="startTime"===w?u:d.endDate):d[w]=u,M.each([24,60,60],function(t,e){var a=M.elem("li"),n=["

    "+y.time[t]+"

      "];M.each(new Array(e),function(e){n.push(""+M.digit(e,2)+"")}),a.innerHTML=n.join("")+"
    ",h.appendChild(a)}),o(),e=-1!==m.format.indexOf("H"),D=-1!==m.format.indexOf("m"),p=-1!==m.format.indexOf("s"),a=h.children,l=0,M.each([e,D,p],function(e,t){t||(a[e].className+=" layui-hide",l++)}),h.className+=" laydate-time-list-hide-"+l),g&&f.removeChild(g),f.appendChild(h),"year"===n||"month"===n?(M(d.elemMain[i]).addClass("laydate-ym-show"),M(h).find("li").on("click",function(){var e,t,a=0|M(this).attr("lay-ym");M(this).hasClass(C)||(d.rangeLinked?M.extend(u,{year:"year"===n?a:T[0],month:"year"===n?T[1]-1:a}):u[n]=a,e=-1!==["year","month"].indexOf(m.type),t="year"===n&&-1!==["date","datetime"].indexOf(m.type),e||t?(M(h).find("."+k).removeClass(k),M(this).addClass(k),("month"===m.type&&"year"===n||t)&&(d.listYM[i][0]=a,c&&((i?d.endDate:u).year=a),d.list("month",i))):(d.checkDate("limit").calendar(u,i,"init"),d.closeList()),m.range||d.limit({type:n,elem:M(d.footer).find(I),date:u,disabledType:"datetime"}),d.setBtnStatus(),!m.range&&m.autoConfirm&&("month"===m.type&&"month"===n||"year"===m.type&&"year"===n)&&d.setValue(d.parse()).done().remove(),d.autoCalendarModel.auto&&!d.rangeLinked?d.choose(M(f).find("td.layui-this"),i):d.endState&&d.done(null,"change"),M(d.footer).find("."+S).removeClass(C))})):(D=M.elem("span",{"class":E}),s=function(){M(h).find("ol").each(function(e){var a=this,t=M(a).find("li");a.scrollTop=30*(d[w][x[e]]-2),a.scrollTop<=0&&t.each(function(e,t){if(!M(this).hasClass(C))return a.scrollTop=30*(e-2),!0})})},p=M(t[2]).find("."+E),s(),D.innerHTML=m.range?[y.startTime,y.endTime][i]:y.selectTime,M(d.elemMain[i]).addClass("laydate-time-show"),p[0]&&p.remove(),t[2].appendChild(D),(g=M(h).find("ol")).each(function(t){var a=this;M(a).find("li").on("click",function(){var e=0|this.innerHTML;M(this).hasClass(C)||(m.range?d[w][x[t]]=e:u[x[t]]=e,M(a).find("."+k).removeClass(k),M(this).addClass(k),o(),s(),!d.endDate&&"time"!==m.type&&"datetime"!==m.type||d.done(null,"change"),d.setBtnStatus())})}),layui.device().mobile&&g.css({overflowY:"auto",touchAction:"pan-y"})),d},w.prototype.listYM=[],w.prototype.closeList=function(){var a=this;a.config;M.each(a.elemCont,function(e,t){M(this).find("."+b).remove(),M(a.elemMain[e]).removeClass("laydate-ym-show laydate-time-show")}),M(a.elem).find("."+E).remove()},w.prototype.setBtnStatus=function(e,t,a){var n=this,i=n.config,r=n.i18nMessages,o=M(n.footer).find(I),l="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:l,rangeType:0})||n.limit({date:a,disabledType:"datetime",time:l,rangeType:1})?o.addClass(C):o[i?"addClass":"removeClass"](C),e)&&i&&n.hint(r.rangeOrderPrompt)},w.prototype.parse=function(e,t){var a=this,n=a.config,i=a.rangeLinked?a.startDate:n.dateTime,t=t||("end"==e?M.extend({},a.endDate,a.endTime):n.range?M.extend({},i||n.dateTime,a.startTime):n.dateTime),i=D.parse(t,a.format,1);return n.range&&e===undefined?i+" "+a.rangeStr+" "+a.parse("end"):i},w.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)},w.prototype.getDateTime=function(e){return this.newDate(e).getTime()},w.prototype.formatToDisplay=function(e,t){var a=this,n=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value");Object.defineProperty(e,"value",M.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)}}))},w.prototype.setValue=function(e){var t,a=this,n=a.config,i=n.elem[0];return"static"!==n.position&&(e=e||"",a.isInput(i)?M(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===M(i).find("*").length&&(t="function"==typeof n.formatToDisplay?n.formatToDisplay(e):e,M(i).html(t)),M(i).attr("lay-date",e))),a},w.prototype.preview=function(){var e,t=this,a=t.config;a.isPreview&&(e=M(t.elem).find("."+T),t=!a.range||(t.rangeLinked?t.endState:t.endDate)?t.parse():"",e.html(t),e.html())&&(t="array"===layui.type(a.theme)?a.theme[0]:a.theme,e.css({color:/^#/.test(String(t))?t:"#16b777"}),setTimeout(function(){e.css({color:"#777"})},300))},w.prototype.renderAdditional=function(){this.config.fullPanel&&this.list("time",0)},w.prototype.stampRange=function(){var n,i=this,r=i.config,o=i.rangeLinked?i.startDate:r.dateTime,e=M(i.elem).find("td");r.range&&!i.endState&&M(i.footer).find(I).addClass(C),o=o&&i.newDate({year:o.year,month:o.month,date:o.date}).getTime(),n=i.endState&&i.endDate&&i.newDate({year:i.endDate.year,month:i.endDate.month,date:i.endDate.date}).getTime(),M.each(e,function(e,t){var a=M(t).attr("lay-ymd").split("-"),a=i.newDate({year:a[0],month:a[1]-1,date:a[2]}).getTime();r.rangeLinked&&!i.startDate&&a===i.newDate(i.systemDate()).getTime()&&M(t).addClass(M(t).hasClass(u)||M(t).hasClass(y)?"":"laydate-day-now"),M(t).removeClass(m+" "+k),a!==o&&a!==n||(i.rangeLinked||!i.rangeLinked&&(e<42?a===o:a===n))&&M(t).addClass(M(t).hasClass(u)||M(t).hasClass(y)?m:k),on.getDateTime(i.max)&&(n[t]={hours:i.max.hours,minutes:i.max.minutes,seconds:i.max.seconds},M.extend(r,n[t])))}),a||(n.startDate=M.extend({},r)),n.endState&&!n.limit({date:n.rangeLinked?n.startDate:n.thisDateTime(1-a),disabledType:"date"})&&(((o=n.endState&&n.autoCalendarModel.auto?n.autoCalendarModel():o)||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&&(l=n.startTime,n.startTime=n.endTime,n.endTime=l),l=n.startDate,n.startDate=M.extend({},n.endDate,n.startTime),i.dateTime=M.extend({},n.startDate),n.endDate=M.extend({},l,n.endTime)),o)&&(i.dateTime=M.extend({},n.startDate)),n.rangeLinked?(e=n.checkPanelDate(r,t),l=M.extend({},r),s=o||e&&e.needFullRender?"init":null,e=e?e.index:t,n.calendar(l,e,s)):n.calendar(null,a,o?"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"))},w.prototype.tool=function(t,e){var a=this,n=a.config,i=a.i18nMessages,r=n.dateTime,o="static"===n.position,l={datetime:function(){M(t).hasClass(C)||(a.list("time",0),n.range&&a.list("time",1),M(t).attr("lay-type","date").html(a.i18nMessages.selectDate))},date:function(){a.closeList(),M(t).attr("lay-type","datetime").html(a.i18nMessages.selectTime)},clear:function(){o&&(M.extend(r,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(M(t).hasClass(C))return a.hint(i.tools.now+", "+i.invalidDatePrompt);M.extend(r,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()),o&&a.calendar(),a.done(null,"onNow").done().remove()},confirm:function(){var e;if(n.range){if(M(t).hasClass(C))return e="time"===n.type?a.startTime&&a.endTime&&a.newDate(a.startTime)>a.newDate(a.endTime):a.startDate&&a.endDate&&a.newDate(M.extend({},a.startDate,a.startTime||{}))>a.newDate(M.extend({},a.endDate,a.endTime||{})),a.hint(e?i.rangeOrderPrompt:i.invalidDatePrompt)}else if(M(t).hasClass(C))return a.hint(i.invalidDatePrompt);a.setValue(a.parse()),a.done(null,"onConfirm").done().remove()}};l[e]&&l[e]()},w.prototype.change=function(n){var i=this,r=i.config,o=i.thisDateTime(n),l=r.range&&("year"===r.type||"month"===r.type),s=i.elemCont[n||0],d=i.listYM[n],e=function(e){var t=M(s).find(".laydate-year-list")[0],a=M(s).find(".laydate-month-list")[0];return t&&(d[0]=e?d[0]-15:d[0]+15,i.list("year",n)),a&&(e?d[0]--:d[0]++,i.list("month",n)),(t||a)&&(M.extend(o,{year:d[0]}),l&&(o.year=d[0]),r.range||i.done(null,"change"),r.range||i.limit({elem:M(i.footer).find(I),date:{year:d[0],month:t?0:d[1]-1},disabledType:"datetime"})),i.setBtnStatus(),t||a};return{prevYear:function(){e("sub")||(i.rangeLinked?(r.dateTime.year--,i.checkDate("limit").calendar(null,null,"init")):(o.year--,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(M(s).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=M.extend({},r.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(o.year,o.month,"sub"),M.extend(o,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(M(s).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=M.extend({},r.dateTime,i.panelYM[0],{year:t[0],month:t[1]}),i.checkDate("limit").calendar(e,null,"init")):(t=i.getAsYM(o.year,o.month),M.extend(o,{year:t[0],month:t[1]}),i.checkDate("limit").calendar(null,null,"init"),i.autoCalendarModel.auto?i.choose(M(s).find("td.layui-this"),n):i.done(null,"change"))},nextYear:function(){e()||(i.rangeLinked?(r.dateTime.year++,i.checkDate("limit").calendar(null,0,"init")):(o.year++,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(M(s).find("td.layui-this"),n):i.done(null,"change")))}}},w.prototype.changeEvent=function(){var i=this;i.config;M(i.elem).on("click",function(e){M.stope(e)}).on("mousedown",function(e){M.stope(e)}),M.each(i.elemHeader,function(n,e){M(e[0]).on("click",function(e){i.change(n).prevYear()}),M(e[1]).on("click",function(e){i.change(n).prevMonth()}),M(e[2]).find("span").on("click",function(e){var t=M(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),M(i.footer).find("."+S).addClass(C))}),M(e[3]).on("click",function(e){i.change(n).nextMonth()}),M(e[4]).on("click",function(e){i.change(n).nextYear()})}),M.each(i.table,function(e,t){M(t).find("td").on("click",function(){i.choose(M(this),e)})}),M(i.footer).find("span").on("click",function(){var e=M(this).attr("lay-type");i.tool(this,e)})},w.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())||/INPUT|TEXTAREA/.test(e.tagName)},w.prototype.events=function(){var e,t=this,a=t.config;a.elem[0]&&!a.elem[0].eventHandler&&(a.elem.on(a.trigger,e=function(){D.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(r),a.elem[0].eventHandler=!1,a.eventElem.off(a.trigger,e),a.eventElem.removeAttr("lay-key"),delete d.that[a.id]})},M(document).on("mousedown",function(e){var t,a;D.thisId&&(t=d.getThis(D.thisId))&&(a=t.config,e.target===a.elem[0]||e.target===a.eventElem[0]||e.target===M(a.closeStop)[0]||a.elem[0]&&a.elem[0].contains(e.target)||t.remove())}).on("keydown",function(e){var t;D.thisId&&(t=d.getThis(D.thisId))&&"static"!==t.config.position&&13===e.keyCode&&M("#"+t.elemID)[0]&&t.elemID===w.thisElemDate&&(e.preventDefault(),M(t.footer).find(I)[0].click())}),M(window).on("resize",function(){if(D.thisId){var e=d.getThis(D.thisId);if(e)return!(!e.elem||!M(".layui-laydate")[0])&&void e.position()}}),d.that={},d.getThis=function(e){var t=d.that[e];return t||layui.hint().error(e?n+" instance with ID '"+e+"' not found":"ID argument required"),t},D.render=function(e){e=new w(e);return d.call(e)},D.reload=function(e,t){e=d.getThis(e);if(e)return e.reload(t)},D.getInst=function(e){e=d.getThis(e);if(e)return e.inst},D.hint=function(e,t){e=d.getThis(e);if(e)return e.hint(t)},D.unbind=function(e){e=d.getThis(e);if(e)return e.unbind()},D.close=function(e){e=d.getThis(e||D.thisId);if(e)return e.remove()},D.parse=function(a,n,i){return a=a||{},n=((n="string"==typeof n?d.formatArr(n):n)||[]).concat(),M.each(n,function(e,t){/yyyy|y/.test(t)?n[e]=M.digit(a.year,t.length):/MM|M/.test(t)?n[e]=M.digit(a.month+(i||0),t.length):/dd|d/.test(t)?n[e]=M.digit(a.date,t.length):/HH|H/.test(t)?n[e]=M.digit(a.hours,t.length):/mm|m/.test(t)?n[e]=M.digit(a.minutes,t.length):/ss|s/.test(t)&&(n[e]=M.digit(a.seconds,t.length))}),n.join("")},D.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()},e(n,D)});!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},i.pt.creat=function(){var e,t,i,n,a=this,o=a.config,s=a.index,r="object"==typeof(f=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")||{})?b.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==b.ie&&(o.fixed=!1),o.type){case 0:o.btn="btn"in o?o.btn:x.$t("layer.confirm"),b.closeAll("dialog");break;case 2:var f=o.content=r?o.content:[o.content||"","auto"];o.content='';break;case 3:delete o.title,delete o.closeBtn,-1===o.icon&&o.icon,b.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||b.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]):f.parents("."+u[0])[0]||(f.data("display",f.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(d.moveElem=i),a.layero=h("#"+u[0]+s),a.shadeo=h("#"+u.SHADE+s),o.scrollbar||d.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==b.ie&&a.layero.find("iframe").attr("src",f[0]),4==o.type?a.tips():(a.offset(),parseInt(d.getStyle(document.getElementById(u.MOVE),"z-index"))||(a.layero.css("visibility","hidden"),b.ready(function(){a.offset(),a.layero.css("visibility","visible")}))),!o.fixed||d.events.resize[a.index]||(d.events.resize[a.index]=function(){a.resize()},g.on("resize",d.events.resize[a.index])),a.layero.data("config",o),o.time<=0||setTimeout(function(){b.close(a.index)},o.time),a.move().callback(),c(a.layero)}},i.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()},i.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},i.pt.offset=function(){var e=this.config,t=this.layero,t=d.updatePosition(t,e);this.offsetTop=t.offsetTop,this.offsetLeft=t.offsetLeft},i.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()},i.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==b.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?d.promiseLikeResolve(e.call(o,n.index,a,n)).then(function(e){!1!==e&&b.close(n.index)},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}):b.close(n.index)):0===i?o.yes?o.yes(n.index,a,n):o.btn1?o.btn1(n.index,a,n):b.close(n.index):!1!==(o["btn"+(i+1)]&&o["btn"+(i+1)](n.index,a,n))&&b.close(n.index))}),a.find("."+u[7]).on("click",function(){!1!==(o.cancel&&o.cancel(n.index,a,n))&&b.close(n.index)}),o.shadeClose&&n.shadeo.on("click",function(){b.close(n.index)}),a.find(".layui-layer-min").on("click",function(){!1!==(o.min&&o.min(a,n.index,n))&&b.min(n.index,o)}),a.find(".layui-layer-max").on("click",function(){h(this).hasClass("layui-layer-maxmin")?(b.restore(n.index),o.restore&&o.restore(a,n.index,n)):(b.full(n.index,o),setTimeout(function(){o.full&&o.full(a,n.index,n)},100))}),o.end&&(d.end[n.index]=o.end),o.beforeEnd&&(d.beforeEnd[n.index]=h.proxy(o.beforeEnd,o,a,n.index,n))},d.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()})},i.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()})},i.pt.openLayer=function(){b.zIndex=this.config.zIndex,b.setTop=function(e){return b.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",function(){b.zIndex++,e.css("z-index",b.zIndex+1)}),b.zIndex}},d.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===d.type[2]?i.children("iframe"):i,n=[e[0].style.width||d.getStyle(e[0],"width"),e[0].style.height||d.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,d.getStyle(t[0],"height"))},d.setScrollbar=function(e){u.html.css("overflow","hidden")},d.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","")},d.promiseLikeResolve=function(e){var t=h.Deferred();return e&&"function"==typeof e.then?e.then(t.resolve,t.reject):t.resolve(e),t.promise()},d.updatePosition=function(e,t){var i=[e.outerWidth(),e.outerHeight()],n={offsetTop:(g.height()-i[1])/2,offsetLeft:(g.width()-i[0])/2};return"object"==typeof t.offset?(n.offsetTop=t.offset[0],n.offsetLeft=t.offset[1]||n.offsetLeft):"auto"!==t.offset&&("t"===t.offset?n.offsetTop=0:"r"===t.offset?n.offsetLeft=g.width()-i[0]:"b"===t.offset?n.offsetTop=g.height()-i[1]:"l"===t.offset?n.offsetLeft=0:"lt"===t.offset?(n.offsetTop=0,n.offsetLeft=0):"lb"===t.offset?(n.offsetTop=g.height()-i[1],n.offsetLeft=0):"rt"===t.offset?(n.offsetTop=0,n.offsetLeft=g.width()-i[0]):"rb"===t.offset?(n.offsetTop=g.height()-i[1],n.offsetLeft=g.width()-i[0]):n.offsetTop=t.offset),t.fixed||(n.offsetTop=/%$/.test(n.offsetTop)?g.height()*parseFloat(n.offsetTop)/100:parseFloat(n.offsetTop),n.offsetLeft=/%$/.test(n.offsetLeft)?g.width()*parseFloat(n.offsetLeft)/100:parseFloat(n.offsetLeft),n.offsetTop+=g.scrollTop(),n.offsetLeft+=g.scrollLeft()),"min"===e.data("maxminStatus")&&(n.offsetTop=g.height()-(e.find(u[1]).outerHeight()||0),n.offsetLeft=e.css("left")),e.css({top:n.offsetTop,left:n.offsetLeft}),n},(p.layer=b).getChildFrame=function(e,t){return t=t||h("."+u[4]).attr("times"),h("#"+u[0]+t).find("iframe").contents().find(e)},b.getFrameIndex=function(e){if(e)return h("#"+e).parents("."+u[4]).attr("times")},b.iframeAuto=function(e){var t,i,n,a,o;e&&(i=(t=h("#"+u[0]+e)).data("config"),e=b.getChildFrame("html",e).outerHeight(),n=t.find(u[1]).outerHeight()||0,a=t.find("."+u[6]).outerHeight()||0,(o="maxHeight"in i?i.maxHeight:g.height())&&(e=Math.min(e,o-n-a)),t.css({height:e+n+a}),t.find("iframe").css({height:e}),d.updatePosition(t,i))},b.iframeSrc=function(e,t){h("#"+u[0]+e).find("iframe").attr("src",t)},b.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!==d.type[3]&&a!==d.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===d.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"))}))},b.min=function(e,t){var i,n,a,o,s,r,l=h("#"+u[0]+e),c=l.data("maxminStatus");"min"!==c&&("max"===c&&b.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*d.minStackIndex+"px",s=l.css("position"),r={width:180,height:n,position:"fixed",overflow:"hidden"},d.record(l),0g.width()&&(o=g.width()-180-(d.minStackArr.edgeIndex=d.minStackArr.edgeIndex||0,d.minStackArr.edgeIndex+=3))<0&&(o=0),t.minStack&&(r.left=o,r.top=g.height()-n,a||d.minStackIndex++,l.attr("minLeft",o)),l.attr("position",s),b.style(e,r,!0),i.hide(),"page"===l.attr("type")&&l.find(u[4]).hide(),d.restScrollbar(e),c.hide())},b.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"),b.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?d.restScrollbar(e):d.setScrollbar(e),r!==m&&(n.removeData(l),(o===d.type[2]?n.children("iframe"):n).css({height:r})),i.show()},b.full=function(t){var i=h("#"+u[0]+t),e=i.data("maxminStatus");"max"!==e&&("min"===e&&b.restore(t),i.data("maxminStatus","max"),d.record(i),d.setScrollbar(t),setTimeout(function(){var e="fixed"===i.css("position");b.style(t,{top:e?0:g.scrollTop(),left:e?0:g.scrollLeft(),width:"100%",height:"100%"},!0),i.find(".layui-layer-min").hide()},100))},b.title=function(e,t){h("#"+u[0]+(t||b.index)).find(u[1]).html(e)},b.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")||{},f=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(f)return l.removeClass("layer-anim "+o),l.hide();if(c===d.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===d.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 d.end[s]&&d.end[s](),delete d.end[s],"function"==typeof r&&r(),d.events.resize[s]&&(g.off("resize",d.events.resize[s]),delete d.events.resize[s])},t=h("#"+u.SHADE+s);b.ie&&b.ie<10||!i.isOutAnim?t[f?"hide":"remove"]():(t.css({opacity:0}),setTimeout(function(){t[f?"hide":"remove"]()},350)),i.isOutAnim&&l.addClass("layer-anim "+o),6==b.ie&&d.reselect(),d.restScrollbar(s),"string"==typeof l.attr("minLeft")&&(d.minStackIndex--,d.minStackArr.push(l.attr("minLeft"))),b.ie&&b.ie<10||!i.isOutAnim?e():setTimeout(function(){e()},200)},f||"function"!=typeof d.beforeEnd[s]?(delete d.beforeEnd[s],t()):d.promiseLikeResolve(d.beforeEnd[s]()).then(function(e){!1!==e&&(delete d.beforeEnd[s],t())},function(e){e!==m&&p.console&&p.console.error("layer error hint: "+e)}))},b.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&&b.close(t.attr("times"),e===o.length-1?a:null)}),0===o.length&&"function"==typeof a&&a()},b.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,b.open(h.extend({type:1,btn:[x.$t("layer.confirm"),x.$t("layer.cancel")],content:o,skin:"layui-layer-prompt"+w("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)?b.tips(x.$t("layer.prompt.InputLengthPrompt",{length:i.maxlength||500}),a,{tips:1}):n&&n(t,e,a)}},i))},b.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,b.open(h.extend({type:1,skin:"layui-layer-tab"+w("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))},b.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 b.msg(x.$t("layer.photos.noData"))}else{var c=h(n.photos),f=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(f(),e||c.on("click",n.img,function(){f();var e=h(this).attr("layer-index");b.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&&b.close(s.index))},s.tabimg=function(e){if(!(o.length<=1))return i.start=s.imgIndex-1,b.close(s.index),b.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":b.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=b.load(1,{shade:!("shade"in n)&&[.9,m,"unset"],scrollbar:!1});var t=o[r].src,d=function(e){b.close(s.loadi);var t,i=o[r].alt||"";a&&(n.anim=-1),s.index=b.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(){b.close(s.loadi),b.msg(''+x.$t("layer.photos.urlError.prompt")+"",{time:3e4,btn:[x.$t("layer.photos.urlError.confirm"),x.$t("layer.photos.urlError.cancel")],yes:function(){1").addClass(r));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"),o=n),l.append(n)}),u.find("."+r).remove(),"object"==typeof i.css&&l.css(i.css),u.append(l),o&&(e=function e(){return c.scrollTop()>=i.margin?t||(o.show(),t=1):t&&(o.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 o=arguments,r=(1r-t.margin||u."+w,O=function(e){var i=this;i.index=++a.index,i.config=c.extend({},i.config,a.config,e),i.stopClickOutsideEvent=c.noop,i.stopResizeEvent=c.noop,i.init()};O.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:[200,300],shade:0,accordion:!1,closeOnClick:!0},O.prototype.reload=function(e,i){var t=this;t.config=c.extend({},t.config,e),t.init(!0,i)},O.prototype.init=function(e,i){var t=this,n=t.config,o=c(n.elem);return 1",(t="href"in i?''+a+"":a,n?'
    '+t+("parent"===l?'':"group"===l&&s.isAllowSpread?'':"")+"
    ":'
    '+t+"
    "),"
  • "].join(""))).data("item",i),n&&(o=c('
    '),t=c("
      "),"parent"===l?(o.append(u(t,i[d.children])),a.append(o)):a.append(u(t,i[d.children]))),r.append(a))}),r},t=['
      ',"
      "].join(""),n=s.content||(n=c('
        '),0'+r.$t("dropdown.noData")+""),n),o=v.findMainElem(s.id);"reloadData"===e&&o.length?(i=a.mainElem=o).html(n):((i=a.mainElem=c(t)).append(n),i.addClass(s.className),i.attr("style",s.style),a.remove(s.id),s.target.append(i),s.elem.data(y,!0),e=s.shade?'
        ':"",o=c(e),"touchstart"==f&&o.on(f,function(e){e.preventDefault()}),i.before(o),"mouseenter"===s.trigger&&i.on("mouseenter",function(){clearTimeout(a.timer)}).on("mouseleave",function(){a.delayRemove()})),a.position(),i.find(".layui-menu").on(f,function(e){layui.stope(e)}),i.find(".layui-menu li").on("click",function(e){var i=c(this),t=i.data("item")||{},n=t[d.children]&&0n.width()&&(t.addClass(b),(i=t[0].getBoundingClientRect()).left<0)&&t.removeClass(b),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("."+o);i.removeClass(b),i.css("margin-top",0)}),a.close=function(e){e=v.getThis(e);return e?(e.remove(),v.call(e)):this},a.open=function(e){e=v.getThis(e);return e?(e.render(),v.call(e)):this},a.reload=function(e,i,t){e=v.getThis(e);return e?(e.reload(i,t),v.call(e)):this},a.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]}),a.reload.apply(null,t)},a.render=function(e){e=new O(e);return v.call(e)},e(s,a)});layui.define("component",function(e){"use strict";var E=layui.$,I=layui.lay,t=layui.component({name:"slider",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"},CONST:{ELEM_VIEW:"layui-slider",SLIDER_BAR:"layui-slider-bar",SLIDER_WRAP:"layui-slider-wrap",SLIDER_WRAP_BTN:"layui-slider-wrap-btn",SLIDER_TIPS:"layui-slider-tips",SLIDER_INPUT:"layui-slider-input",SLIDER_INPUT_TXT:"layui-slider-input-txt",SLIDER_INPUT_BTN:"layui-slider-input-btn",ELEM_HOVER:"layui-slider-hover"},render:function(e){var t,a=this,n=a.config,i=(n.step<=0&&(n.step=1),n.maxn.max&&(n.value=n.max),s=(n.value-n.min)/(n.max-n.min)*100+"%"),n.disabled?"#c2c2c2":n.theme),l='
        '+(n.tips?'
        ":"")+'
        '+(n.range?'
        ':"")+"
        ",s=E(n.elem),o=s.next("."+S.ELEM_VIEW);if(o[0]&&o.remove(),a.elemTemp=E(l),n.range?(a.elemTemp.find("."+S.SLIDER_WRAP).eq(0).data("value",n.value[0]),a.elemTemp.find("."+S.SLIDER_WRAP).eq(1).data("value",n.value[1])):a.elemTemp.find("."+S.SLIDER_WRAP).data("value",n.value),s.html(a.elemTemp),"vertical"===n.type&&a.elemTemp.height(n.height+"px"),n.showstep){for(var r=(n.max-n.min)/n.step,u="",c=1;c<1+r;c++){var d=100*c/r;d<100&&(u+='
        ')}a.elemTemp.append(u)}function p(e){e=e.parent().data("value"),e=n.setTips?n.setTips(e):e;a.elemTemp.find("."+S.SLIDER_TIPS).html(e)}function m(e){var t="vertical"===n.type?n.height:a.elemTemp[0].offsetWidth,i=a.elemTemp.find("."+S.SLIDER_WRAP);return("vertical"===n.type?t-e.parent()[0].offsetTop-i.height():e.parent()[0].offsetLeft)/t*100}function v(e){"vertical"===n.type?a.elemTemp.find("."+S.SLIDER_TIPS).css({bottom:e+"%","margin-bottom":"20px",display:"inline-block"}):a.elemTemp.find("."+S.SLIDER_TIPS).css({left:e+"%",display:"inline-block"})}n.input&&!n.range&&(i=E('
        '),s.css("position","relative"),s.append(i),s.find("."+S.SLIDER_INPUT_TXT).children("input").val(n.value),"vertical"===n.type?i.css({left:0,top:-48}):a.elemTemp.css("margin-right",i.outerWidth()+15)),n.disabled?(a.elemTemp.addClass(S.CLASS_DISABLED),a.elemTemp.find("."+S.SLIDER_WRAP_BTN).addClass(S.CLASS_DISABLED)):a.slide(),n.tips&&(n.tipsAlways?(p(o=a.elemTemp.find("."+S.SLIDER_WRAP_BTN)),v(m(o))):a.elemTemp.find("."+S.SLIDER_WRAP_BTN).on("mouseover",function(){p(E(this));var e=m(E(this));clearTimeout(t),t=setTimeout(function(){v(e)},300)}).on("mouseout",function(){clearTimeout(t),n.tipsAlways||a.elemTemp.find("."+S.SLIDER_TIPS).css("display","none")}))},extendsInstance:function(){var i=this,a=i.config;return{setValue:function(e,t){return e=(e=e>a.max?a.max:e)a[1]&&a.reverse(),u.value=c.range?a:l,c.change&&c.change(u.value),"done"===i&&c.done&&c.done(u.value)},y=function(e){var t=e/p()*100/v,i=Math.round(t)*v;return i=e==p()?Math.ceil(t)*v:i},T=E(['
        p()?p():t)/p()*100/v;h(t,o),r.addClass(S.ELEM_HOVER),d.find("."+S.SLIDER_TIPS).show(),e.preventDefault()},a=function(e){r.removeClass(S.ELEM_HOVER),c.tipsAlways||setTimeout(function(){d.find("."+S.SLIDER_TIPS).hide()},e)},n=function(){a&&a(I.touchEventsSupported()?1e3:0),T.remove(),c.done&&c.done(u.value),I.touchEventsSupported()&&(t[0].removeEventListener("touchmove",i,!!I.passiveSupported&&{passive:!1}),t[0].removeEventListener("touchend",n),t[0].removeEventListener("touchcancel",n))},E("#LAY-slider-moving")[0]||E("body").append(T),T.on("mousemove",i),T.on("mouseup",n).on("mouseleave",n),I.touchEventsSupported()&&(t[0].addEventListener("touchmove",i,!!I.passiveSupported&&{passive:!1}),t[0].addEventListener("touchend",n),t[0].addEventListener("touchcancel",n))})}),d.on("click",function(e){var t=E("."+S.SLIDER_WRAP_BTN),i=E(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-E(window).scrollTop():e.clientX-i.offset().left-E(window).scrollLeft())<0?0:t)>p()?p():t)/p()*100/v,t=c.range?"vertical"===c.type?Math.abs(t-parseInt(E(m[0]).css("bottom")))>Math.abs(t-parseInt(E(m[1]).css("bottom")))?1:0:Math.abs(t-m[0].offsetLeft)>Math.abs(t-m[1].offsetLeft)?1:0:0,h(i,t,"done"),e.preventDefault())}),o.children("."+S.SLIDER_INPUT_BTN).children("i").each(function(t){E(this).on("click",function(){r=o.children("."+S.SLIDER_INPUT_TXT).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/v;h(e,0,"done")})});var a=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/v);h(e,0,"done")};o.children("."+S.SLIDER_INPUT_TXT).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),a.call(this))}).on("change",a)},e(S.MOD_NAME,t)});layui.define(["i18n","component"],function(e){"use strict";var I=layui.$,P=layui.lay,n=layui.i18n,i=layui.device().mobile?"click":"mousedown",o=layui.component({name:"colorpicker",config:{color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#16baaa","#16b777","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","#393D49","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},CONST:{ELEM:"layui-colorpicker",ELEM_MAIN:".layui-colorpicker-main",ICON_PICKER_DOWN:"layui-icon-down",ICON_PICKER_CLOSE:"layui-icon-close",PICKER_TRIG_SPAN:"layui-colorpicker-trigger-span",PICKER_TRIG_I:"layui-colorpicker-trigger-i",PICKER_SIDE:"layui-colorpicker-side",PICKER_SIDE_SLIDER:"layui-colorpicker-side-slider",PICKER_BASIS:"layui-colorpicker-basis",PICKER_ALPHA_BG:"layui-colorpicker-alpha-bgcolor",PICKER_ALPHA_SLIDER:"layui-colorpicker-alpha-slider",PICKER_BASIS_CUR:"layui-colorpicker-basis-cursor",PICKER_INPUT:"layui-colorpicker-main-input"},beforeInit:function(){this.stopClickOutsideEvent=I.noop,this.stopResizeEvent=I.noop,S.PICKER_OPENED=S.MOD_ID+"-opened"},beforeRender:function(){this.config.target=I("body")},render:function(){var e=this,i=e.config,o=I(['
        ',"",'','',"","","
        "].join("")),t=i.elem;i.size&&o.addClass("layui-colorpicker-"+i.size),t.addClass("layui-inline").html(e.elemColorBox=o),e.color=e.elemColorBox.find("."+S.PICKER_TRIG_SPAN)[0].style.background}}),k=function(e){var i={h:0,s:0,b:0},o=Math.min(e.r,e.g,e.b),t=Math.max(e.r,e.g,e.b),n=t-o;return i.b=t,i.s=0!==t?255*n/t:0,0!==i.s?e.r==t?i.h=(e.g-e.b)/n:e.g==t?i.h=2+(e.b-e.r)/n:i.h=4+(e.r-e.g)/n:i.h=-1,t===o&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},E=function(e){var i,o={},t=e.h,n=255*e.s/100,e=255*e.b/100;return 0==n?o.r=o.g=o.b=e:(e=t%60*((i=e)-(n=(255-n)*e/255))/60,(t=360===t?0:t)<60?(o.r=i,o.b=n,o.g=n+e):t<120?(o.g=i,o.b=n,o.r=i-e):t<180?(o.g=i,o.r=n,o.b=n+e):t<240?(o.b=i,o.r=n,o.g=i-e):t<300?(o.b=i,o.g=n,o.r=n+e):t<360?(o.r=i,o.g=n,o.b=i-e):(o.r=0,o.g=0,o.b=0)),{r:Math.round(o.r),g:Math.round(o.g),b:Math.round(o.b)}},_=function(e){var e=E(e),o=[e.r.toString(16),e.g.toString(16),e.b.toString(16)];return I.each(o,function(e,i){1===i.length&&(o[e]="0"+i)}),o.join("")},R=function(e){e=e.match(/[0-9]{1,3}/g)||[];return{r:e[0],g:e[1],b:e[2]}},K=I(window),S=(I(document),o.CONST),t=o.Class;t.prototype.renderPicker=function(){var o,e=this,i=e.config,t=e.elemPicker=I(['
        ','
        ','
        ','
        ','
        ','
        ',"
        ",'
        ','
        ',"
        ","
        ",'
        ','
        ','
        ',"
        ","
        ",i.predefine?(o=['
        '],layui.each(i.colors,function(e,i){o.push(['
        ','
        ',"
        "].join(""))}),o.push("
        "),o.join("")):"",'
        ','
        ','',"
        ",'
        ','",'","","
        "].join(""));e.removePicker(i.id),i.target.append(t),i.elem.data(S.PICKER_OPENED,!0),e.position(),e.pickerEvents(),e.onClickOutside(),e.autoUpdatePosition()},t.prototype.removePicker=function(e){var i=this,o=i.config,e=I("#layui-colorpicker"+(e||i.index));return i.stopClickOutsideEvent(),i.stopResizeEvent(),e[0]&&(e.remove(),o.elem.removeData(S.PICKER_OPENED),"function"==typeof o.close)&&o.close(i.color),i},t.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},t.prototype.val=function(){var e,i=this,o=(i.config,i.elemColorBox.find("."+S.PICKER_TRIG_SPAN)),t=i.elemPicker.find("."+S.PICKER_INPUT),n=o[0].style.backgroundColor;n?(e=k(R(n)),o=o.attr("lay-type"),i.select(e.h,e.s,e.b),"torgb"===o?t.find("input").val(n):"rgba"===o?(o=R(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("."+S.PICKER_ALPHA_SLIDER).css("left",280)):(t.find("input").val(n),n=280*n.slice(n.lastIndexOf(",")+1,n.length-1),i.elemPicker.find("."+S.PICKER_ALPHA_SLIDER).css("left",n)),i.elemPicker.find("."+S.PICKER_ALPHA_BG)[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("#"+_(e))):(i.select(0,100,100),t.find("input").val(""),i.elemPicker.find("."+S.PICKER_ALPHA_BG)[0].style.background="",i.elemPicker.find("."+S.PICKER_ALPHA_SLIDER).css("left",280))},t.prototype.side=function(){var r=this,l=r.config,c=r.elemColorBox.find("."+S.PICKER_TRIG_SPAN),s=c.attr("lay-type"),a=r.elemPicker.find("."+S.PICKER_SIDE),o=r.elemPicker.find("."+S.PICKER_SIDE_SLIDER),u=r.elemPicker.find("."+S.PICKER_BASIS),t=r.elemPicker.find("."+S.PICKER_BASIS_CUR),d=r.elemPicker.find("."+S.PICKER_ALPHA_BG),f=r.elemPicker.find("."+S.PICKER_ALPHA_SLIDER),p=o[0].offsetTop/180*360,g=100-t[0].offsetTop/180*100,v=t[0].offsetLeft/260*100,h=Math.round(f[0].offsetLeft/280*100)/100,m=r.elemColorBox.find("."+S.PICKER_TRIG_I),e=r.elemPicker.find(".layui-colorpicker-pre").children("div"),b=function(e,i,o,t){r.select(e,i,o);var n=E({h:e,s:i,b:o}),e=_({h:e,s:i,b:o}),i=r.elemPicker.find("."+S.PICKER_INPUT).find("input");m.addClass(S.ICON_PICKER_DOWN).removeClass(S.ICON_PICKER_CLOSE),c[0].style.background="rgb("+n.r+", "+n.g+", "+n.b+")","torgb"===s?i.val("rgb("+n.r+", "+n.g+", "+n.b+")"):"rgba"===s?(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+")",d[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(I.trim(r.elemPicker.find("."+S.PICKER_INPUT).find("input").val()))},i=I(['
        '].join("")),y=function(e){I("#LAY-colorpicker-moving")[0]||I("body").append(i),i.on("mousemove",e),i.on("mouseup",function(){i.remove()}).on("mouseleave",function(){i.remove()})},n=!0,C=!0;o.on("mousedown",function(e,i){var t=this.offsetTop,n=(e.clientY===undefined?i:e).clientY;C&&layui.stope(e),y(function(e){var i=t+(e.clientY-n),o=a[0].offsetHeight,o=(i=o<(i=i<0?0:i)?o:i)/180*360;b(p=o,v,g,h),e.preventDefault()}),e.preventDefault()}),a.on("mousedown",function(e){var i=e.clientY-I(this).offset().top+K.scrollTop(),i=(i=(i=i<0?0:i)>this.offsetHeight?this.offsetHeight:i)/180*360;b(p=i,v,g,h),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,s=(e.clientX===undefined?i:e).clientX;C&&layui.stope(e),y(function(e){var i=r+(e.clientY-c),o=l+(e.clientX-s),t=u[0].offsetHeight,n=u[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;b(p,v=n,g=o,h),e.preventDefault()}),e.preventDefault()}),u.on("mousedown",function(e){var i=e.clientY-I(this).offset().top+K.scrollTop(),o=e.clientX-I(this).offset().left+K.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;b(p,v=o,g=i,h),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;C&&layui.stope(e),y(function(e){var i=t+(e.clientX-n),o=d[0].offsetWidth,o=(o<(i=i<0?0:i)&&(i=o),Math.round(i/280*100)/100);b(p,v,g,h=o),e.preventDefault()}),e.preventDefault()}),d.on("mousedown",function(e){var i=e.clientX-I(this).offset().left,i=((i=i<0?0:i)>this.offsetWidth&&(i=this.offsetWidth),Math.round(i/280*100)/100);b(p,v,g,h=i),e.preventDefault(),n&&f.trigger("mousedown",e)}),e.each(function(){I(this).on("click",function(){I(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e=this.style.backgroundColor,i=k(R(e)),o=e.slice(e.lastIndexOf(",")+1,e.length-1);p=i.h,v=i.s,g=i.b,3===(e.match(/[0-9]{1,3}/g)||[]).length&&(o=1),h=o,b(i.h,i.s,i.b,o)})}),P.touchEventsSupported()&&layui.each([{elem:a,eventType:"mousedown"},{elem:d,eventType:"mousedown"},{elem:u,eventType:"mousedown"}],function(e,t){P.touchSwipe(t.elem,{onTouchStart:function(){C=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(),C=n=!0}})})},t.prototype.select=function(e,i,o,t){this.config;var n=_({h:e,s:100,b:100}),e=(_({h:e,s:i,b:o}),e/360*180),o=180-o/100*180,i=i/100*260,r=this.elemPicker.find("."+S.PICKER_BASIS)[0];this.elemPicker.find("."+S.PICKER_SIDE_SLIDER).css("top",e),r.style.background="#"+n,this.elemPicker.find("."+S.PICKER_BASIS_CUR).css({top:o/r.offsetHeight*100+"%",left:i/r.offsetWidth*100+"%"})},t.prototype.pickerEvents=function(){var c=this,s=c.config,a=c.elemColorBox.find("."+S.PICKER_TRIG_SPAN),u=c.elemPicker.find("."+S.PICKER_INPUT+" input"),o={clear:function(e){a[0].style.background="",c.elemColorBox.find("."+S.PICKER_TRIG_I).removeClass(S.ICON_PICKER_DOWN).addClass(S.ICON_PICKER_CLOSE),c.color="",s.done&&s.done(""),c.removePicker()},confirm:function(e,i){var o,t,n,r,l=I.trim(u.val());-1>16,g:(65280&n)>>8,b:255&n},t=k(r),a[0].style.background=o="#"+_(t),c.elemColorBox.find("."+S.PICKER_TRIG_I).removeClass(S.ICON_PICKER_CLOSE).addClass(S.ICON_PICKER_DOWN)),"change"===i?(c.select(t.h,t.s,t.b,i),s.change&&s.change(o)):(c.color=l,s.done&&s.done(l),c.removePicker())}};c.elemPicker.on("click","*[colorpicker-events]",function(){var e=I(this),i=e.attr("colorpicker-events");o[i]&&o[i].call(this,e)}),u.on("keyup",function(e){var i=I(this);o.confirm.call(this,i,13===e.keyCode?null:"change")})},t.prototype.events=function(){var e=this,i=e.config;e.elemColorBox.on("click",function(){i.elem.data(S.PICKER_OPENED)?e.removePicker():(e.renderPicker(),e.val(),e.side())})},t.prototype.onClickOutside=function(){var t=this,n=t.config,e=(t.stopClickOutsideEvent(),P.onClickOutside(t.elemPicker[0],function(e){var i,o=t.elemColorBox.find("."+S.PICKER_TRIG_SPAN);t.color?(i=k(R(t.color)),t.select(i.h,i.s,i.b)):t.elemColorBox.find("."+S.PICKER_TRIG_I).removeClass(S.ICON_PICKER_DOWN).addClass(S.ICON_PICKER_CLOSE),o[0].style.background=t.color||"","function"==typeof n.cancel&&n.cancel(t.color),t.removePicker()},{ignore:[n.elem[0]],event:i,capture:!1}));t.stopClickOutsideEvent=function(){e(),t.stopClickOutsideEvent=I.noop}},t.prototype.autoUpdatePosition=function(){var e=this,i=(e.config,"resize.lay_colorpicker_resize"),o=(e.stopResizeEvent(),function(){e.position()});K.on(i,o),e.stopResizeEvent=function(){K.off(i,o),e.stopResizeEvent=I.noop}},e(S.MOD_NAME,o)});layui.define("component",function(e){"use strict";var d=layui.$,s="element",t=layui.component({name:"tab",config:{elem:".layui-tab"},CONST:{ELEM:"layui-tab",HEADER:"layui-tab-title",CLOSE:"layui-tab-close",MORE:"layui-tab-more",BAR:"layui-tab-bar"},render:function(){var e=this.config;o.tabAuto(null,e.elem)}}),u=t.CONST,a=d(window),i=d(document),o={tabClick:function(e){var t=(e=e||{}).options||{},a=e.liElem||d(this),i=t.headerElem?a.parent():a.parents(".layui-tab").eq(0),t=t.bodyElem?d(t.bodyElem):i.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"),r=i.attr("lay-filter"),c=a.attr("lay-id"),o="index"in e?e.index:a.parent().children("li").index(a);if(!e.force){var e=a.siblings("."+u.CLASS_THIS);if(!1===layui.event.call(this,s,"tabBeforeChange("+r+")",{elem:i,from:{index:a.parent().children("li").index(e),id:e.attr("lay-id")},to:{index:o,id:c}}))return}l||n||(a.addClass(u.CLASS_THIS).siblings().removeClass(u.CLASS_THIS),(c?e=(e=t.filter('[lay-id="'+c+'"]')).length?e:t.eq(o):t.eq(o)).addClass(u.CLASS_SHOW).siblings().removeClass(u.CLASS_SHOW)),layui.event.call(this,s,"tab("+r+")",{elem:i,index:o,id:c})},tabDelete:function(e){var t=(e=e||{}).liElem||d(this).parent(),a=t.parent().children("li").index(t),i=t.closest(".layui-tab"),l=i.children(".layui-tab-content").children(".layui-tab-item"),n=i.attr("lay-filter"),r=t.attr("lay-id");if(!e.force&&!1===layui.event.call(t[0],s,"tabBeforeDelete("+n+")",{elem:i,index:a,id:r}))return;t.hasClass(u.CLASS_THIS)&&(t.next()[0]&&t.next().is("li")?o.tabClick.call(t.next()[0],{index:a+1}):t.prev()[0]&&t.prev().is("li")&&o.tabClick.call(t.prev()[0],null,a-1)),t.remove(),(r?e=(e=l.filter('[lay-id="'+r+'"]')).length?e:l.eq(a):l.eq(a)).remove(),setTimeout(function(){o.tabAuto(null,i)},50),layui.event.call(this,s,"tabDelete("+n+")",{elem:i,index:a,id:r})},tabAuto:function(l,e){(e||d(".layui-tab")).each(function(){var e=d(this),a=e.children("."+u.HEADER),t='lay-stope="tabmore"',t=d(''),i=e.attr("lay-allowclose");i&&"false"!==i&&a.find("li").each(function(){var e,t=d(this);t.find("."+u.CLOSE)[0]||"false"===t.attr("lay-allowclose")||((e=d('')).on("click",function(e){o.tabDelete.call(this,{e:e})}),t.append(e))}),"string"!=typeof e.attr("lay-unauto")&&(a.prop("scrollWidth")>a.outerWidth()+1||a.find("li").length&&a.height()>(i=a.find("li").eq(0).height())+i/2?("change"===l&&a.data("LAY_TAB_CHANGE")&&a.addClass(u.MORE),a.find("."+u.BAR)[0]||(a.append(t),e.attr("overflow",""),t.on("click",function(e){var t=a.hasClass(u.MORE);a[t?"removeClass":"addClass"](u.MORE)}))):(a.find("."+u.BAR).remove(),e.removeAttr("overflow")))})},hideTabMore:function(e){var t=d("."+u.HEADER);!0!==e&&"tabmore"===d(e.target).attr("lay-stope")||(t.removeClass(u.MORE),t.find("."+u.BAR).attr("title",""))}};d.extend(t,{tabAdd:function(e,t){var a,i=d(".layui-tab[lay-filter="+e+"]"),l=i.children("."+u.HEADER),n=l.children("."+u.BAR),r=i.children(".layui-tab-content"),c=""+(t.title||"unnaming")+"";return n[0]?n.before(c):l.append(c),r.append('
        "+(t.content||"")+"
        "),t.change&&this.tabChange(e,t.id),l.data("LAY_TAB_CHANGE",t.change),o.tabAuto(t.change?"change":null,i),this},tabDelete:function(e,t,a){e=d(".layui-tab[lay-filter="+e+"]").children("."+u.HEADER).find('>li[lay-id="'+t+'"]');return o.tabDelete.call(e[0],{liElem:e,force:a}),this},tabChange:function(e,t,a){e=d(".layui-tab[lay-filter="+e+"]").children("."+u.HEADER).find('>li[lay-id="'+t+'"]');return o.tabClick.call(e[0],{liElem:e,force:a}),this},tab:function(a){a=a||{},i.on("click",a.headerElem,function(e){var t=d(a.headerElem).index(d(this));o.tabClick.call(this,{index:t,options:a})})}}),i.on("click","."+u.HEADER+" li",o.tabClick),a.on("resize.lay_tab_auto_resize",o.tabAuto),e(u.MOD_NAME,t)});layui.define("component",function(i){"use strict";var _=layui.$,f=layui.device(),a=layui.component({name:"nav",config:{elem:".layui-nav"},CONST:{NAV_ELEM:".layui-nav",NAV_ITEM:"layui-nav-item",NAV_BAR:"layui-nav-bar",NAV_TREE:"layui-nav-tree",NAV_CHILD:"layui-nav-child",NAV_CHILD_C:"layui-nav-child-c",NAV_MORE:"layui-nav-more",NAV_DOWN:"layui-icon-down",NAV_ANIM:"layui-anim layui-anim-upbit"},render:function(){var i=this.config,l={},o={},c={};i.elem.each(function(i){var a=_(this),s=_(''),e=a.find("."+r.NAV_ITEM),t=a.find("."+r.NAV_BAR);t[0]&&t.remove(),a.append(s),(a.hasClass(r.NAV_TREE)?e.find("dd,>."+r.NAV_TITLE):e).off("mouseenter.lay_nav").on("mouseenter.lay_nav",function(){!function(i,a,s){var e,t=_(this),n=t.find("."+r.NAV_CHILD);a.hasClass(r.NAV_TREE)?n[0]||(e=t.children(".layui-nav-title"),i.css({top:t.offset().top-a.offset().top+a.scrollTop(),height:(e[0]?e:t).outerHeight(),opacity:1})):(n.addClass(r.NAV_ANIM),n.hasClass(r.NAV_CHILD_C)&&n.css({left:-(n.outerWidth()-t.width())/2}),n[0]?i.css({left:i.position().left+i.width()/2,width:0,opacity:0}):i.css({left:t.position().left+parseFloat(t.css("marginLeft")),top:t.position().top+t.height()-i.height()}),l[s]=setTimeout(function(){i.css({width:n[0]?0:t.width(),opacity:n[0]?0:1})},f.ie&&f.ie<10?0:200),clearTimeout(c[s]),"block"===n.css("display")&&clearTimeout(o[s]),o[s]=setTimeout(function(){n.addClass(r.CLASS_SHOW),t.find("."+r.NAV_MORE).addClass(r.NAV_MORE+"d")},300))}.call(this,s,a,i)}).off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){a.hasClass(r.NAV_TREE)?s.css({height:0,opacity:0}):(clearTimeout(o[i]),o[i]=setTimeout(function(){a.find("."+r.NAV_CHILD).removeClass(r.CLASS_SHOW),a.find("."+r.NAV_MORE).removeClass(r.NAV_MORE+"d")},300))}),a.off("mouseleave.lay_nav").on("mouseleave.lay_nav",function(){clearTimeout(l[i]),c[i]=setTimeout(function(){a.hasClass(r.NAV_TREE)||s.css({width:0,left:s.position().left+s.width()/2,opacity:0})},200)}),e.find("a").each(function(){var i=_(this),a="click.lay_nav_click";i.siblings("."+r.NAV_CHILD)[0]&&!i.children("."+r.NAV_MORE)[0]&&i.append(''),i.off(a,n.clickThis).on(a,n.clickThis)})})}}),n={clickThis:function(){var i=_(this),a=i.closest(r.NAV_ELEM),s=a.attr("lay-filter"),e=i.parent(),t=i.siblings("."+r.NAV_CHILD),n="string"==typeof e.attr("lay-unselect");if("javascript:;"!==i.attr("href")&&"_blank"===i.attr("target")||n||t[0]||(a.find("."+r.CLASS_THIS).removeClass(r.CLASS_THIS),e.addClass(r.CLASS_THIS)),a.hasClass(r.NAV_TREE)){var n=r.NAV_ITEM+"ed",l=!e.hasClass(n),o=function(){_(this).css({display:""}),a.children("."+r.NAV_BAR).css({opacity:0})};if(t.is(":animated"))return;t.removeClass(r.NAV_ANIM),t[0]&&(l?(t.slideDown(200,o),e.addClass(n)):(e.removeClass(n),t.show().slideUp(200,o)),"string"!=typeof a.attr("lay-accordion")&&"all"!==a.attr("lay-shrink")||((l=e.siblings("."+n)).removeClass(n),l.children("."+r.NAV_CHILD).show().stop().slideUp(200,o)))}layui.event.call(this,"element","nav("+s+")",i)}},r=a.CONST;i(r.MOD_NAME,a)});layui.define("component",function(n){"use strict";var t=layui.$,i=layui.component({name:"breadcrumb",config:{elem:".layui-breadcrumb"},render:function(){this.config.elem.each(function(){var n=t(this),i="lay-separator",e=n.attr(i)||"/",a=n.find("a");a.next("span["+i+"]")[0]||(a.each(function(n){n!==a.length-1&&t(this).after(""+e+"")}),n.css("visibility","visible"))})}});n(i.CONST.MOD_NAME,i)});layui.define("component",function(t){"use strict";var r=layui.$,e=layui.component({name:"progress",config:{elem:".layui-progress"},CONST:{ELEM:"layui-progress"},render:function(){this.config.elem.each(function(){var t=r(this),e=t.find(".layui-progress-bar"),n=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(n)?100*new Function("return "+n)()+"%":n}),t.attr("lay-showpercent")&&setTimeout(function(){e.html(''+n+"")},350)})}}),i=e.CONST;r.extend(e,{setValue:function(t,e){var n="layui-progress",t=r("."+n+"[lay-filter="+t+"]").find("."+n+"-bar"),n=t.find("."+n+"-text");return t.css("width",function(){return/^.+\/.+$/.test(e)?100*new Function("return "+e)()+"%":e}).attr("lay-percent",e),n.text(e),this}}),t(i.MOD_NAME,e)});layui.define("component",function(l){"use strict";var t=layui.$,i=layui.component({name:"collapse",config:{elem:".layui-collapse"},render:function(){this.config.elem.each(function(){t(this).find(".layui-colla-item").each(function(){var l=t(this),i=l.find(".layui-colla-title"),a=l.find(".layui-colla-content"),e="none"===a.css("display"),s="click.lay_collapse_click";i.find(".layui-colla-icon").remove(),i.append(''),l[e?"removeClass":"addClass"](u.CLASS_SHOW),a.hasClass(u.CLASS_SHOW)&&a.removeClass(u.CLASS_SHOW),i.off(s,n.titleClick).on(s,n.titleClick)})})}}),n={titleClick:function(){var l=t(this),i=l.closest(".layui-collapse"),a=i.attr("lay-filter"),e=".layui-colla-content",s=l.parent(".layui-colla-item"),n=l.siblings(e),c="none"===n.css("display"),i="string"==typeof i.attr("lay-accordion"),o=function(){t(this).css("display","")};n.is(":animated")||(c?(n.slideDown(200,o),s.addClass(u.CLASS_SHOW)):(s.removeClass(u.CLASS_SHOW),n.show().slideUp(200,o)),i&&((i=s.siblings("."+u.CLASS_SHOW)).removeClass(u.CLASS_SHOW),i.children(e).show().slideUp(200,o)),layui.event.call(this,"element","collapse("+a+")",{title:l,content:n,show:c}))}},u=i.CONST;l(u.MOD_NAME,i)});layui.define(["component","tab","nav","breadcrumb","progress","collapse"],function(e){"use strict";var n=layui.$,a=layui.tab,r=layui.progress,t=layui.component({name:"element",CONST:{MOD_NAME:"element"}}),l=t.CONST;n.extend(t,{render:function(e,a){var r="string"==typeof a&&a?'[lay-filter="'+a+'"]':"",t={tab:".layui-tab"+r,nav:".layui-nav"+r,breadcrumb:".layui-breadcrumb"+r,progress:".layui-progress"+r,collapse:".layui-collapse"+r};if(!e||t[e])return e&&"object"==typeof a&&a instanceof n?layui[e].render({elem:a}):t[e]?layui[e].render({elem:t[e]}):layui.each(t,function(e){layui[e].render({elem:t[e]})})},tabAdd:a.tabAdd,tabDelete:a.tabDelete,tabChange:a.tabChange,tab:a.tab,progress:r.setValue}),t.init=t.render,n(function(){t.render()}),e(l.MOD_NAME,t)});layui.define(["lay","i18n","layer"],function(e){"use strict";var F=layui.$,a=layui.lay,i=layui.layer,R=layui.device(),T=layui.i18n,t="upload",f="layui_"+t+"_index",w={config:{},index:layui[t]?layui[t].index+1e4:0,set:function(e){var i=this;return i.config=F.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,t,e,i)}},o=function(){var i=this,e=i.config.id;return{upload:function(e){i.upload.call(i,e)},reload:function(e){i.reload.call(i,e)},config:(o.that[e]=i).config}},l="layui-upload-file",r="layui-upload-form",L="layui-upload-iframe",E="layui-upload-choose",O="UPLOADING",D=function(e){var i=this;i.index=++w.index,i.config=F.extend({},i.config,w.config,e),i.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 i=this;i.config=F.extend({},i.config,e),i.render(!0)},D.prototype.render=function(e){var i=this,t=i.config,n=F(t.elem);return 1"].join("")),n=i.elem.next();(n.hasClass(l)||n.hasClass(r))&&n.remove(),R.ie&&R.ie<10&&i.elem.wrap('
        '),e.isFile()?(e.elemFile=i.elem,i.field=i.elem[0].name):i.elem.after(t),R.ie&&R.ie<10&&e.initIE()},D.prototype.initIE=function(){var t,e=this.config,i=F(''),n=F(['
        ',"
        "].join(""));F("#"+L)[0]||F("body").append(i),e.elem.next().hasClass(r)||(this.elemFile.wrap(n),e.elem.next("."+r).append((t=[],layui.each(e.data,function(e,i){i="function"==typeof i?i():i,t.push('')}),t.join(""))))},D.prototype.msg=function(e){return i.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,i){var t=new FileReader;t.readAsDataURL(i),t.onload=function(){n&&n(e,i,this.result)}})},D.prototype.upload=function(e,i){var t,n,a,o,l,u=this,s=u.config,f=s.text||{},r=u.elemFile[0],c=function(){return e||u.files||u.chooseFiles||r.files},d=function(){var a=0,o=0,l=c(),r=function(){s.multiple&&a+o===u.fileLength&&"function"==typeof s.allDone&&s.allDone({total:u.fileLength,successful:a,failed:o})},t=function(t){var n=new FormData,i=function(e){t.unified?layui.each(l,function(e,i){delete i[O]}):delete e[O]};if(layui.each(s.data,function(e,i){i="function"==typeof i?t.unified?i():i(t.index,t.file):i,n.append(e,i)}),t.unified)layui.each(l,function(e,i){i[O]||(i[O]=!0,n.append(s.field,i))});else{if(t.file[O])return;n.append(s.field,t.file),t.file[O]=!0}var e={url:s.url,type:"post",data:n,dataType:s.dataType||"json",contentType:!1,processData:!1,headers:s.headers||{},success:function(e){s.unified?a+=u.fileLength:a++,m(t.index,e),r(t.index),i(t.file)},error:function(e){s.unified?o+=u.fileLength:o++,u.msg(f.error||["Upload failed, please try again.","status: "+(e.status||"")+" - "+(e.statusText||"error")].join("
        ")),g(t.index,e.responseText,e),r(t.index),i(t.file)}};"function"==typeof s.progress&&(e.xhr=function(){var e=F.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){var i;e.lengthComputable&&(i=Math.floor(e.loaded/e.total*100),s.progress(i,(s.item||s.elem)[0],e,t.index))}),e}),F.ajax(e)};s.unified?t({unified:!0,index:0}):layui.each(l,function(e,i){t({index:e,file:i})})},p=function(){var n=F("#"+L);u.elemFile.parent().submit(),clearInterval(D.timer),D.timer=setInterval(function(){var e,i=n.contents().find("body");try{e=i.text()}catch(t){u.msg(f["cross-domain"]),clearInterval(D.timer),g()}e&&(clearInterval(D.timer),i.html(""),m(0,e))},30)},h=function(e){if("json"===s.force&&"object"!=typeof e)try{return{status:"CONVERTED",data:JSON.parse(e)}}catch(i){return u.msg(f["data-format-error"]),{status:"FORMAT_ERROR",data:{}}}return{status:"DO_NOTHING",data:{}}},m=function(e,i){u.elemFile.next("."+E).remove(),r.value="";var t=h(i);switch(t.status){case"CONVERTED":i=t.data;break;case"FORMAT_ERROR":return}"function"==typeof s.done&&s.done(i,e||0,function(e){u.upload(e)})},g=function(e,i,t){s.auto&&(r.value="");var n=h(i);switch(n.status){case"CONVERTED":i=n.data;break;case"FORMAT_ERROR":return}"function"==typeof s.error&&s.error(e||0,function(e){u.upload(e)},i,t)},v=s.exts,y=(n=[],layui.each(e||u.chooseFiles,function(e,i){n.push(i.name)}),n),x={preview:function(e){u.preview(e)},upload:function(e,i){var t={};t[e]=i,u.upload(t)},pushFile:function(){return u.files=u.files||{},layui.each(u.chooseFiles,function(e,i){u.files[e]=i}),u.files},resetFile:function(e,i,t){i=new File([i],t);u.files=u.files||{},u.files[e]=i},getChooseFiles:function(){return u.chooseFiles}},b={file:T.$t("upload.fileType.file"),images:T.$t("upload.fileType.image"),video:T.$t("upload.fileType.video"),audio:T.$t("upload.fileType.audio")}[s.accept]||T.$t("upload.fileType.file"),y=0===y.length?r.value.match(/[^\/\\]+\..+/g)||[]:y;if(0!==y.length){switch(s.accept){case"file":layui.each(y,function(e,i){if(v&&!RegExp(".\\.("+v+")$","i").test(escape(i)))return t=!0});break;case"video":layui.each(y,function(e,i){if(!RegExp(".\\.("+(v||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(i)))return t=!0});break;case"audio":layui.each(y,function(e,i){if(!RegExp(".\\.("+(v||"mp3|wav|mid")+")$","i").test(escape(i)))return t=!0});break;default:layui.each(y,function(e,i){if(!RegExp(".\\.("+(v||"jpg|png|gif|bmp|jpeg|svg|webp")+")$","i").test(escape(i)))return t=!0})}if(t)return u.msg(f["check-error"]||T.$t("upload.validateMessages.fileExtensionError",{fileType:b})),r.value="";if("choose"!==i&&!s.auto||(s.choose&&s.choose(x),"choose"!==i)){if(u.fileLength=(a=0,b=c(),layui.each(b,function(){a++}),a),s.number&&u.fileLength>s.number)return u.msg("function"==typeof f["limit-number"]?f["limit-number"](s,u.fileLength):T.$t("upload.validateMessages.filesOverLengthLimit",{length:s.number})+"
        "+T.$t("upload.validateMessages.currentFilesLength",{length:u.fileLength}));if(01024*s.size&&(i=1<=(i=s.size/1024)?i.toFixed(2)+"MB":s.size+"KB",r.value="",o=i)}),o)return u.msg("function"==typeof f["limit-size"]?f["limit-size"](s,o):T.$t("upload.validateMessages.fileOverSizeLimit",{size:o}));l=function(){if(R.ie)return(9'+e+"")},r=function(t){var n=!0;return layui.each(a.files,function(e,i){if(!(n=!(i.name===t.name)))return!0}),n},u=function(e){var t=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,i){t(i)}):t(e),e},s=function(e){var t;return(e=e||[]).length?a.files?(t=[],layui.each(e,function(e,i){r(i)&&t.push(u(i))}),t):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,i){var t=F(this),i=s(i.originalEvent.dataTransfer.files);t.removeAttr("lay-over"),o(i),n.auto?a.upload():l(i)}),a.elemFile.on("change",function(){var e=s(this.files);0!==e.length&&(o(e),n.auto?a.upload():l(e))}),n.bindAction.off("upload.action").on("upload.action",function(){a.upload()}),n.elem.data(f)||(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(f,n.id))},w.util={parseSize:function(e,i){var t,n;return i=i||2,null!=e&&e?(t="string"==typeof e?parseFloat(e):e,n=Math.floor(Math.log(t)/Math.log(1024)),(e=(e=t/Math.pow(1024,n))%1==0?e:parseFloat(e.toFixed(i)))+["Bytes","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"][n]):"0"},promiseLikeResolve:function(e){var i=F.Deferred();return e&&"function"==typeof e.then?e.then(i.resolve,i.reject):i.resolve(e),i.promise()}},o.that={},o.getThis=function(e){var i=o.that[e];return i||hint.error(e?t+" instance with ID '"+e+"' not found":"ID argument required"),i},w.render=function(e){e=new D(e);return o.call(e)},e(t,w)});layui.define(["lay","i18n","layer","util"],function(e){"use strict";var _=layui.$,h=layui.layer,p=layui.util,O=layui.lay,l=layui.hint(),$=(layui.device(),layui.i18n),T="form",f=".layui-form",M="layui-this",E="layui-hide",A="layui-disabled",y="layui-input-number-invalid",I=O.createSharedResizeObserver(T),v=O.ie&&8===parseFloat(O.ie)||void 0===Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"checked"),t=function(){this.config={verify:{required:function(e){if(!/[\S]+/.test(e)||e===undefined||null===e)return $.$t("form.validateMessages.required")},phone:function(e){if(e&&!/^1\d{10}$/.test(e))return $.$t("form.validateMessages.phone")},email:function(e){if(e&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))return $.$t("form.validateMessages.email")},url:function(e){if(e&&!/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/.test(e))return $.$t("form.validateMessages.url")},number:function(e){if(e&&isNaN(e))return $.$t("form.validateMessages.number")},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 $.$t("form.validateMessages.date")},identity:function(e){if(e&&!/(^\d{15}$)|(^\d{17}(x|X|\d)$)/.test(e))return $.$t("form.validateMessages.identity")}},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 _(f+(e?'[lay-filter="'+e+'"]':""))},t.prototype.on=function(e,t){return layui.onevent.call(this,T,e,t)},t.prototype.val=function(e,o){return this.getFormElem(e).each(function(e,t){var i,a,n,l,r=_(this);for(i in o)O.hasOwn(o,i)&&(n=o[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 d=this,i=d.config,a=_(f+(t?'[lay-filter="'+t+'"]':"")),n={input:function(e){var e=e||a.find("input,textarea"),h=(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")),o=Number(e.attr("lay-precision")),s="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},o=0<=o?o:Math.max(u(n),u(i));s||(c||r<=(a=(a=d?Math.round(a/n)*n:a)<=l?l:a)&&(a=r),0===o?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(s)||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(A)||("function"==typeof i.click&&i.click.call(this,r,i),layui.event.call(this,T,"input-affix("+e+")",{elem:r[0],affix:o,options:i}))})},p={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&&l.addClass(x+"up"),h(),s&&g.off("mousedown.lay_select_ieph").on("mousedown.lay_select_ieph",function(){m[0].__ieph=!0,setTimeout(function(){m[0].__ieph=!1},60)}),n=O.onClickOutside((a?l:g)[0],function(){p(),k&&m.val(k)},{ignore:v,detectIframe:!0,capture:!1})},p=function(e){v.parent().removeClass(x+"ed "+x+"up"),m.blur(),u&&g.children("."+N).remove(),"function"==typeof n&&(n(),n=null),a&&(l.detach(),_(window).off("resize.lay_select_resize"),I)&&I.unobserve(l[0]),e||f(m.val(),function(e){var t=y[0].selectedIndex;e&&(k=_(y[0].options[t]).prop("text"),0===t&&k===m.attr("placeholder")&&(k=""),m.val(k||""))})},h=function(){var e,t,i=g.children("dd."+M);i[0]&&(e=i.position().top,t=g.height(),i=i.height(),t").addClass(N).attr("lay-value",n).text(n),a=(i=g.children().eq(0)).hasClass("layui-select-tips"),i[a?"after":"before"](t)):e?g.find("."+w)[0]||g.append('

        '+$.$t("form.select.noMatch")+"

        "):g.find("."+w).remove()},"keyup"),""===n&&(y.val(""),g.find("."+M).removeClass(M),(y[0].options[0]||{}).value||g.children("dd:eq(0)").addClass(M),g.find("."+w).remove(),u)&&g.children("."+N).remove(),void h()))},50)).on("blur",function(e){var t=y[0].selectedIndex;k=_(y[0].options[t]).prop("text"),0===t&&k===m.attr("placeholder")&&(k=""),setTimeout(function(){f(m.val(),function(e){k||m.val("")},"blur")},200)}),g.on("click","dd",function(){var e,t,i=_(this),a=i.attr("lay-value"),n=y.attr("lay-filter");return i.hasClass(A)||(u&&i.hasClass(N)&&(t=(e=_("
        "].join(""));i.after(l),function(i,a){var n=_(this),e=n.attr("lay-skin")||"primary",t="switch"===e,e="primary"===e;n.off(u).on(u,function(e){var t=n.attr("lay-filter");n[0].disabled||(n[0].indeterminate=n[0].indeterminate,n[0].checked=n[0].checked,layui.event.call(n[0],T,a[2]+"("+t+")",{elem:n[0],value:n[0].value,othis:i}))}),i.on("click",function(){n.closest("label").length||n.trigger("click")}),d.syncAppearanceOnPropChanged(this,"checked",function(){var e;t&&(e=(i.next("*[lay-checkbox]")[0]?i.next().html():n.attr("title")||"").split("|"),i.children("div").html(!this.checked&&e[1]||e[0])),i.toggleClass(a[1],this.checked)}),e&&d.syncAppearanceOnPropChanged(this,"indeterminate",function(){this.indeterminate?i.children("."+c.ICON).removeClass(c.ICON_OK).addClass(c.SUBTRA):i.children("."+c.ICON).removeClass(c.SUBTRA).addClass(c.ICON_OK)})}.call(this,l,r)})},radio:function(e){var s="layui-form-radio",c=["layui-icon-radio","layui-icon-circle"],e=e||a.find("input[type=radio]"),u="click.lay_radio_click";e.each(function(e,t){var i=_(this),a=i.next("."+s),n=this.disabled,l=i.attr("lay-skin");if(i.closest("[lay-ignore]").length)return i.show();v&&m.call(t,"lay-form-sync-checked",t.checked),a[0]&&a.remove();var a=p.escape(t.title||""),r=[],o=(i.next("[lay-radio]")[0]&&(a=(o=i.next()).html()||"",1",'',"
        "+a+"
        ","
        "].join("")));i.after(o),function(i){var a=_(this),n="layui-anim-scaleSpring";a.off(u).on(u,function(){var e=a.attr("lay-filter");a[0].disabled||(a[0].checked=!0,layui.event.call(a[0],T,"radio("+e+")",{elem:a[0],value:a[0].value,othis:i}))}),i.on("click",function(){a.closest("label").length||a.trigger("click")}),d.syncAppearanceOnPropChanged(this,"checked",function(){var e,t=this;t.checked?(i.addClass(s+"ed"),i.children(".layui-icon").addClass(n+" "+c[0]),e=a.parents(f).find("input[name="+t.name.replace(/(\.|#|\[|\])/g,"\\$1")+"]"),layui.each(e,function(){t!==this&&(this.checked=!1)})):(i.removeClass(s+"ed"),i.children(".layui-icon").removeClass(n+" "+c[0]).addClass(c[1]))})}.call(this,o)})}},t=function(){layui.each(n,function(e,t){t()})};return"object"===layui.type(e)?_(e).is(f)?(a=_(e),t()):e.each(function(e,t){var i=_(t);i.closest(f).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('[form] "'+e+'" is an unsupported form element type'):t(),d},t.prototype.syncAppearanceOnPropChanged=v?function(e,t,i){var a=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,t);Object.defineProperty(e,t,O.extend({},a,{get:function(){return"string"==typeof this.getAttribute("lay-form-sync-"+t)},set:function(e){m.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,O.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,p="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 o=_(this),t=(o.attr("lay-verify")||"").split("|"),s=o.attr("lay-vertype"),c="string"==typeof(c=o.val())?_.trim(c):c;if(o.removeClass(p),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=o.attr("lay-reqtext")||i),n)return"tips"===s?h.tips(i,!o.closest("[lay-ignore]").length&&l?o.next():o,{tips:1}):"alert"===s?h.alert(i,{title:$.$t("form.verifyErrorPromptTitle"),shadeClose:!0}):/\b(string|number)\b/.test(typeof i)&&h.msg(i,{icon:5,shift:6}),setTimeout(function(){(l?o.next().find("input"):r).focus()},7),o.addClass(p),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(f).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,T,"submit("+e+")",l))});function m(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 g=["-",".","e","E","+"];var r=new t,t=_(document),S=_(window);_(function(){r.render()}),t.on("reset",f,function(){var e=_(this).attr("lay-filter");setTimeout(function(){r.render(null,e)},50)}),t.on("submit",f,i).on("click","*[lay-submit]",i),e(T,r)});layui.define(["lay","i18n","laytpl","laypage","form","util"],function(c){"use strict";var f=layui.$,d=layui.lay,m=layui.laytpl,p=layui.laypage,g=layui.layer,i=layui.form,v=layui.util,b=layui.hint(),x=layui.device(),s=layui.i18n,w={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)}},k=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){w.reloadData(i,e,t)},setColsWidth:function(){a.setColsWidth.call(a)},resize:function(){a.resize.call(a)}}},C=function(e){var t=k.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=k.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[w.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 d(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",u=".layui-table",_="layui-hide",h="layui-hide-v",y="layui-none",F="layui-table-view",P=".layui-table-header",W=".layui-table-body",I=".layui-table-fixed",O=".layui-table-fixed-r",B=".layui-table-pageview",D=".layui-table-sort",H="layui-table-checked",E="layui-table-edit",L="layui-table-hover",K="laytable-cell-group",S="layui-table-col-special",M="layui-table-tool-panel",A="layui-table-expanded",G="layui-table-disabled-transition",r="layui-table-fixed-height-patch",j="LAY_TABLE_MOVE_DICT",n=d.createSharedResizeObserver(R),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("")},t=['',"","
        "].join(""),Y=[,"{{# if(d.data.toolbar){ }}",'
        ','
        ','
        ',"
        ","{{# } }}",'
        ',"{{# if(d.data.loading){ }}",'
        ','
        ','{{# if(typeof d.data.loading === "string"){ }}',"{{- d.data.loading}}","{{# } else{ }}",'',"{{# } }}","
        ","
        ","{{# } }}","{{# var left, right; }}",'
        ',e(),"
        ",'
        ',t,"
        ","{{# if(left){ }}",'
        ','
        ',e({fixed:!0}),"
        ",'
        ',t,"
        ","
        ","{{# }; }}","{{# if(right){ }}",'
        ','
        ',e({fixed:"right"}),'
        ',"
        ",'
        ',t,"
        ","
        ","{{# }; }}","
        ","{{# if(d.data.totalRow){ }}",'
        ','','',"
        ","
        ","{{# } }}",'
        ','
        ',"
        "].join(""),o=f(window),z=f(document),a=function(e){var t=this;t.index=++w.index,t.config=f.extend({},t.config,w.config,e),t.unobserveResize=f.noop,t.render()},$=(a.prototype.config={limit:10,loading:!0,escape:!0,cellMinWidth:60,cellMaxWidth:Number.MAX_VALUE,editTrigger:"click",defaultToolbar:["filter","exports","print"],defaultContextmenu:!0,autoSort:!0,cols:[]},a.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(k.that[i]&&k.that[i]!==t&&k.that[i].dispose(),k.that[i]=t,(k.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.text=f.extend(!0,{none:s.$t("table.noData")},a.text),!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=o.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("."+F),n=t.elem=f("
        ");n.addClass((l=[F,F+"-"+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(Y,{open:"{{",close:"}}",tagStyle:"legacy"}).render({data:a,index:t.index,i18nMessages:{table_sort_asc:s.$t("table.sort.asc"),table_sort_desc:s.$t("table.sort.desc")}})),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(P),t.layMain=n.find(".layui-table-main"),t.layBody=n.find(W),t.layFixed=n.find(I),t.layFixLeft=n.find(".layui-table-fixed-l"),t.layFixRight=n.find(O),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(),t.observeResize()},a.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])},a.prototype.setInit=function(e){var n,a,r=this,d=r.config;if(d.clientWidth=d.width||(n=function(e){var t,a;e=e||d.elem.parent(),t=r.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 d.clientWidth;d.height=d.maxHeight||d.height,d.css&&-1===d.css.indexOf(F)&&(a=d.css.split("}"),layui.each(a,function(e,t){t&&(a[e]="."+F+"-"+r.index+" "+t)}),d.css=a.join("}"));var c=function(a,e,i,l){var n,o;l?(l.key=[d.index,a,i].join("-"),l.colspan=l.colspan||0,l.rowspan=l.rowspan||0,r.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),o.push("."+r+"{height:auto;}"),d.style({target:this.elem[0],text:o.join(""),id:"DF-table-"+n})},a.prototype.renderToolbar=function(){var l,o=this,e=o.config,r=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:s.$t("table.tools.filter.title"),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"](_),l!=i.hide&&o.setParentCol(!t,e),o.resize(),layui.event.call(this,R,"colToggled("+r+")",{col:i,config:n}))})}})}},exports:{title:s.$t("table.tools.export.title"),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(s.$t("table.tools.export.noDataPrompt"),e,{tips:3});x.ie?g.tips(s.$t("table.tools.export.compatPrompt"),e,{tips:3}):i({list:['
      • '+s.$t("table.tools.export.csvText")+"
      • "].join(""),done:function(e,t){t.on("click",function(){var e=f(this).data("type");w.exportFile.call(o,a.id,null,e)})}})}},print:{title:s.$t("table.tools.print.title"),layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print",onClick:function(e){var t=e.data,e=e.elem;if(!t.length)return g.tips(s.$t("table.tools.print.noDataPrompt"),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."+S).filter(function(e,t){return!f(t).children("."+K).length}).remove(),a.find("tbody>tr>td."+S).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("")))},a.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))},a.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"](_),t.colspan2=l,t.hide=l<1,a=i.data("parentkey"))&&this.setParentCol(e,a)},a.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)})})},a.prototype.setGroupWidth=function(i){var e,l=this;l.config.cols.length<=1||((e=l.layHeader.find((i?"th[data-key="+i.data("parentkey")+"]>":"")+"."+K)).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(_)||0o.layMain.prop("clientHeight")&&(e.style.width=parseFloat(e.style.width)-i+"px")}),!p&&y?h.width(o.getContentWidth(l)):h.width("auto"),o.setGroupWidth()},a.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())},a.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)},a.prototype.errorView=function(e){var t=this,a=t.layMain.find("."+y),e=f('
        '+(e||"Error")+"
        ");a[0]&&(t.layNone.remove(),a.remove()),t.layFixed.addClass(_),t.layMain.find("tbody").html(""),t.layMain.append(t.layNone=e),t.layTotal.addClass(h),t.layPage.find(B).addClass(h),w.cache[t.key]=[],t.syncCheckAll(),t.renderForm(),t.setColsWidth(),t.loading(!1)},a.prototype.page=1,a.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),r=o.response,d=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[r.countName],t)};l=l||{},"function"==typeof o.before&&o.before(o),n.startTime=(new Date).getTime(),l.renderData?((e={})[r.dataName]=w.cache[n.key],e[r.countName]=o.url?"object"===layui.type(o.page)?o.page.count:e[r.dataName].length:o.data.length,"object"==typeof o.totalRow&&(e[r.totalRowName]=f.extend({},n.totalRow)),n.renderData({res:e,curr:i,count:e[r.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),t={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)[r.statusName]!=r.statusCode?n.errorView(e[r.msgName]||s.$t("table.dataFormatError",{statusName:r.statusName,statusCode:r.statusCode})):(t=e[r.countName],(a=Math.ceil(t/o.limit)||1)','
        "+function(){var e,t=f.extend(!0,{LAY_COL:l},o),a=w.config.checkName,i=w.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&&r.push(e),"right"===l.fixed&&d.push(e))}),e=['data-index="'+e+'"'],o[w.config.checkName]&&e.push('class="'+H+'"'),e=e.join(" "),h.push(""+i.join("")+""),y.push(""+r.join("")+""),p.push(""+d.join("")+""))}),{trs:h,trs_fixed:y,trs_fixed_r:p}},w.getTrHtml=function(e,t){e=C(e);return e.getTrHtml(t,null,e.page)},a.prototype.renderData=function(e){var a=this,i=a.config,t=e.res,l=e.curr,n=a.count=e.count,o=e.sort,r=t[i.response.dataName]||[],t=t[i.response.totalRowName],d=[],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(r,o,l,{trs:d,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("."+y).remove(),a.layMain.find("tbody").html(d.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,a.needSyncFixedRowHeight&&a.calcFixedRowHeight(),g.close(a.tipsIndex)};return w.cache[a.key]=r,a.layTotal[0==r.length?"addClass":"removeClass"](h),a.layPage[i.page||i.pagebar?"removeClass":"addClass"](_),a.layPage.find(B)[!i.page||0==n||0===r.length&&1==l?"addClass":"removeClass"](h),0===r.length?a.errorView(i.text.none):(a.layFixLeft.removeClass(_),o?u():(u(),a.renderTotal(r,t),a.layTotal&&a.layTotal.removeClass(_),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)))))},w.renderData=function(e){e=C(e);e&&e.pullData(e.page,{renderData:!0,type:"reloadData"})},a.prototype.renderTotal=function(e,o){var r,d=this,c=d.config,s={};c.totalRow&&(layui.each(e,function(e,i){"array"===layui.type(i)&&0===i.length||d.eachCols(function(e,t){var e=t.field||e,a=i[e];t.totalRow&&(s[e]=(s[e]||0)+(parseFloat(a)||0))})}),d.dataTotal=[],r=[],d.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(d,{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&&d.dataTotal.push({field:t.field,total:f("
        "+l+"
        ").text()}),['','
        "+l,"
        "].join(""));r.push(n)}),e=d.layTotal.find(".layui-table-patch"),d.layTotal.find("tbody").html(""+r.join("")+(e.length?e.get(0).outerHTML:"")+""))},a.prototype.getColElem=function(e,t){return e.eq(0).find(".laytable-cell-"+t+":eq(0)")},a.prototype.renderForm=function(e){this.config;var t=this.elem.attr("lay-filter");i.render(e,t)},a.prototype.renderFormByElem=function(a){layui.each(["input","select"],function(e,t){i.render(a.find(t))})},a.prototype.syncCheckAll=function(){var a,e=this,i=e.config,t=e.layHeader.find('input[name="layTableCheckbox"]'),l=w.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}))},a.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)},a.prototype.setRowChecked=function(i){var a,e,l,t,n,o,r,d=this,c=d.config,s="all"===i.index,u="array"===layui.type(i.index),h=s||u;c.tree&&c.tree.view||h&&(d.layBox.addClass(G),"radio"===i.type)||(u&&(a={},layui.each(i.index,function(e,t){a[t]=!0}),i.index=a),e=d.layBody.children(".layui-table").children("tbody"),r=h?"tr":'tr[data-index="'+i.index+'"]',r=e.children(r),e=s?r:r.filter(u?function(){var e=f(this).data("index");return i.index[e]}:'[data-index="'+i.index+'"]'),i=f.extend({type:"checkbox"},i),l=w.cache[d.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(H)),e.toggleClass(H,!!a),"radio"===i.type)&&(o=t,e.siblings().removeClass(H))}),o&&layui.each(l,function(e,t){Number(o)!==Number(e)&&delete t[c.checkName]}),r=(u=(s=e.children("td").children(".layui-table-cell").children('input[lay-type="'+({radio:"layTableRadio",checkbox:"layTableCheckbox"}[i.type]||"checkbox")+'"]:not(:disabled)')).last()).closest(O),("radio"===i.type&&r.hasClass(_)?s.first():s).prop("checked",n(u.prop("checked"))),d.syncCheckAll(),h&&setTimeout(function(){d.layBox.removeClass(G)},100))},a.prototype.sort=function(l){var e,t=this,a={},i=t.config,n=i.elem.attr("lay-filter"),o=w.cache[t.key];"string"==typeof(l=l||{}).field&&(r=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,r=i,!1}));try{var r=r||l.field.data("field"),d=l.field.data("key");if(t.sortKey&&!l.pull&&r===t.sortKey.field&&l.type===t.sortKey.sort)return;var c=t.layHeader.find("th .laytable-cell-"+d).find(D);t.layHeader.find("th").find(D).removeAttr("lay-sort"),c.attr("lay-sort",l.type||null),t.layFixed.find("th")}catch(s){b.error("Table modules: sort field '"+r+"' not matched")}t.sortKey={field:r,sort:l.type},i.autoSort&&("asc"===l.type?e=layui.sort(o,r,null,!0):"desc"===l.type?e=layui.sort(o,r,!0,!0):(e=layui.sort(o,w.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:r,type:l.type},layui.event.call(l.field,R,"sort("+n+")",f.extend({config:i},i.initSort)))},a.prototype.loading=function(e){this.config.loading&&this.layBox.find(".layui-table-init").toggleClass(_,!e)},a.prototype.cssRules=function(t,a){var e=this.elem.children("style")[0];d.getStyleRules(e,function(e){if(e.selectorText===".laytable-cell-"+t)return a(e),!0})},a.prototype.fullSize=function(){var e,a,i=this,t=i.config,l=t.height;i.fullHeightGap?(l=o.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(W).css("height",t.height()>=n?n:"auto").scrollTop(e.layMain.scrollTop()),e.layFixRight[w.cache[e.key]&&w.cache[e.key].length&&0');a.html(t),s.height&&a.css("max-height",s.height-(c.layTool.outerHeight()||50)),i.find("."+M)[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")||k.eventMoveElem||(d.allowResize=t.width()-e<=10,r.css("cursor",d.allowResize?"col-resize":""))}).on("mouseleave",function(){f(this);k.eventMoveElem||(d.allowResize=!1,r.css("cursor",""))}).on("mousedown",function(e){var t,a=f(this);d.allowResize&&(t=a.data("key"),e.preventDefault(),d.offset=[e.clientX,e.clientY],c.cssRules(t,function(e){var t=e.style.width||a.outerWidth();d.rule=e,d.ruleWidth=parseFloat(t),d.minWidth=a.data("minwidth")||s.cellMinWidth,d.maxWidth=a.data("maxwidth")||s.cellMaxWidth}),a.data(j,d),k.eventMoveElem=a)}),k.docEvent||z.on("mousemove",function(e){var t,a;k.eventMoveElem&&(t=k.eventMoveElem.data(j)||{},k.eventMoveElem.data("resizing",1),e.preventDefault(),t.rule)&&(e=t.ruleWidth+e.clientX-t.offset[0],a=k.eventMoveElem.closest("."+F).attr(N),a=C(a))&&((e=et.maxWidth&&(e=t.maxWidth),t.rule.style.width=e+"px",a.setGroupWidth(k.eventMoveElem),g.close(c.tipsIndex))}).on("mouseup",function(e){var t,a,i,l,n;k.eventMoveElem&&(i=(t=k.eventMoveElem).closest("."+F).attr(N),a=C(i))&&(i=t.data("key"),l=a.col(i),n=a.config.elem.attr("lay-filter"),d={},r.css("cursor",""),a.scrollPatch(),t.removeData(j),delete k.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})}))}),k.docEvent=!0,e.on("click",function(e){var t=f(this),a=t.find(D),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(D+" .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=(w.cache[c.key]||[])[a]||{},l={tr:t,config:s,data:w.clearCacheKey(i),dataCache:i,index:a,del:function(){w.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+")",h.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+")",h.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")||((e=c.layBody.find("tr:eq("+t+")")).addClass(L),c.needSyncFixedRowHeight&&c.fixedRowHeightPatchOnHover(this,e,!0))}).on("mouseleave","tr",function(){var e=f(this),t=e.index();e.data("off")||((e=c.layBody.find("tr:eq("+t+")")).removeClass(L),c.needSyncFixedRowHeight&&c.fixedRowHeightPatchOnHover(this,e,!1))}).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]",'[lay-type="layTableCheckbox"]','[lay-type="layTableRadio"]'].join(",");if(f(t.target).is(i)||f(t.target).closest(i)[0])return}layui.event.call(this,R,e+"("+o+")",h.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=w.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=w.cache[c.key][e],l=h.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(A)||(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"),r=i.children(u),i="layui-table-cell-c",d=f('');"tips"===(t=t||n.expandedMode||s.cellExpandedMode)?c.tipsIndex=g.tips(['
        ',r.html(),"
        ",''].join(""),r[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;a.layui-table-body>table>tbody>tr"),i=e.layFixRight.find(">.layui-table-body>table>tbody>tr"),t=t.find(">tbody>tr"),l=[];t.each(function(){l.push(e.getElementSize(this).height)}),a.length&&a.each(function(e){l[e]&&(this.style.height=l[e]+"px")}),i.length&&i.each(function(e){l[e]&&(this.style.height=l[e]+"px")})},a.prototype.fixedRowHeightPatchOnHover=function(t,e,a){var i,l=this,n=l.elem.children("style")[0],o="."+r;e.toggleClass(r,a),a?d.getStyleRules(n,function(e){e.selectorText===o&&e.style.setProperty("height",l.getElementSize(t).height+"px","important")}):(d.getStyleRules(n,function(e){e.selectorText===o&&e.style.setProperty("height","auto")}),(e=e.filter(function(){var e=f(this),t=0tr").each(function(i){n.cols[i]=[],f(this).children().each(function(e){var t=f(this),a=t.attr("lay-data"),a=d.options(this,{attr:a?"lay-data":null,errorText:r+(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=w.render(n);!a.length||o.data||t.config.url||(l=0,w.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},k.that={},k.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),$(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||"")+'"')}),d.join(",")+"\r\n"+c.join("\r\n")+"\r\n"+s.join(","))),r.download=(a.title||l.title||"table_"+(l.index||""))+"."+i,document.body.appendChild(r),r.click(),document.body.removeChild(r)},w.getOptions=l,w.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"](_),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"](_),n.setParentCol(i,t))})})),f("."+M).remove(),n.resize())},w.reload=function(e,t,a,i){if(l(e))return(e=C(e)).reload(t,a,i),k.call(e)},w.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]}),w.reload.apply(null,a)},w.render=function(e){e=new a(e);return k.call(e)},w.clearCacheKey=function(e){return delete(e=f.extend({},e))[w.config.checkName],delete e[w.config.indexName],delete e[w.config.initIndexName],delete e[w.config.numbersName],delete e[w.config.disabledName],e},f(function(){w.init()}),c(R,w)});layui.define(["table"],function(e){"use strict";var P=layui.$,h=layui.form,B=layui.table,y=layui.hint(),j={config:{},on:B.on,eachCols:B.eachCols,index:B.index,set:function(e){var t=this;return t.config=P.extend({},t.config,e),t},resize:B.resize,getOptions:B.getOptions,hideCol:B.hideCol,renderData:B.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){j.reloadData(n,e,t)}}},F=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},L="lay-table-id",q="layui-hide",s=".layui-table-body",R=".layui-table-main",Y=".layui-table-fixed-l",z=".layui-table-fixed-r",d="layui-table-checked",m="layui-table-tree",H="LAY_DATA_INDEX",b="LAY_DATA_INDEX_HISTORY",f="LAY_PARENT_INDEX",g="LAY_CHECKBOX_HALF",X="LAY_EXPAND",V="LAY_HAS_EXPANDED",U="LAY_ASYNC_STATUS",n=["all","parent","children","none"],t=/<[^>]+?>/,p=["flexIconClose","flexIconOpen","iconClose","iconOpen","iconLeaf","icon"],a=function(e){var t=this;t.index=++j.index,t.config=P.extend(!0,{},t.config,j.config,e),t.init(),t.render()},x=function(n,i,e){var d=B.cache[n];layui.each(e||d,function(e,t){var a=t[H]||"";-1!==a.indexOf("-")&&(d[a]=t),t[i]&&x(n,i,t[i])})},l=function(l,a,e){var r=F(l),o=("reloadData"!==e&&(r.status={expand:{}}),P.extend(!0,{},r.getOptions(),a)),n=o.tree,c=n.customName.children,i=n.customName.id,d=(delete a.hasNumberCol,delete a.hasChecboxCol,delete a.hasRadioCol,B.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&&(!d||d.mod)||(a.parseData=function(){var e=this,t=arguments,a=t[0],t=("function"===layui.type(d)&&(a=d.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[X]=X in e?e[X]: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()),d=(r.updateStatus(null,{LAY_HAS_EXPANDED:!1}),x(l,c),i.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'));if(d.length&&(e=j.checkStatus(l),d.prop({checked:e.isAll&&e.data.length,indeterminate:!e.isAll&&e.data.length})),!n&&o.autoSort&&o.initSort&&o.initSort.type&&j.sort(l),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(p,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"),B.render(P.extend({},e,{data:[],url:"",done:null}))),a=t.config.id;(i.that[a]=this).tableIns=t,l(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?B.getOptions(this.tableIns.config.id):this.config},a.prototype.flatToTree=function(e){var n,i,d,l,r,o,c,u,t=this.getOptions(),a=t.tree,s=a.customName;return e=e||B.cache[t.id],t=e,n=s.id,i=s.pid,d=s.children,l=a.data.rootPid,n=n||"id",i=i||"parentId",d=d||"children",c={},u=[],layui.each(t,function(e,t){r=n+t[n],o=n+t[i],c[r]||(c[r]={},c[r][d]=[]);var a={};a[d]=c[r][d],c[r]=P.extend({},t,a),((l?c[r][i]===l:!c[r][i])?u:(c[o]||(c[o]={},c[o][d]=[]),c[o][d])).push(c[r])}),u},a.prototype.treeToFlat=function(e,n,i){var d=this,l=d.getOptions().tree.customName,r=l.children,o=l.pid,c=[];return layui.each(e,function(e,t){var e=(i?i+"-":"")+e,a=P.extend({},t);a[o]="undefined"!=typeof t[o]?t[o]:n,c.push(a),c=c.concat(d.treeToFlat(t[r],t[l.id],e))}),c},a.prototype.getTreeNode=function(e){var t,a=this;return e?(t=a.getOptions().tree,t.customName,{data:e,dataIndex:e[H],getParentNode:function(){return a.getNodeByIndex(e[f])}}):y.error("Node data not found")},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[H],getParentNode:function(){return n.getNodeByIndex(i[f])},update:function(e){return j.updateNode(a,t,e)},remove:function(){return j.removeNode(a,t)},expand:function(e){return j.expandNode(a,P.extend({},e,{index:t}))},setChecked:function(e){return j.setRowChecked(a,P.extend({},e,{index:t}))}}).dataIndex=t,e):y.error("Node data not found by index: "+t)},a.prototype.getNodeById=function(a){var e=this.getOptions(),n=e.tree.customName.id,i="",e=j.getData(e.id,!0);if(layui.each(e,function(e,t){if(t[n]===a)return i=t[H],!0}),i)return this.getNodeByIndex(i)},a.prototype.getNodeDataByIndex=function(e,t,a){var n=this.getOptions(),i=n.tree,n=B.cache[n.id],d=n[e];if("delete"!==a&&d)return P.extend(d,a),t?P.extend({},d):d;for(var l=n,r=String(e).split("-"),o=0,c=i.customName.children;o
        '),I=function(e){p[U]="success",p[f.children]=e,u.initData(p[f.children],p[H]),K(t,!0,!x&&n,i,d,l)},D=b.format,"function"===layui.type(D)?D(p,c,I):(C=P.extend({},b.where||c.where),D=b.autoParam,layui.each(D,function(e,t){t=t.split("=");C[t[0].trim()]=p[(t[1]||t[0]).trim()]}),(D=b.contentType||c.contentType)&&0==D.indexOf("application/json")&&(C=JSON.stringify(C)),S=b.method||c.method,T=b.dataType||c.dataType,_=b.jsonpCallback||c.jsonpCallback,k=b.headers||c.headers,w=b.parseData||c.parseData,O=b.response||c.response,b={type:S||"get",url:g,contentType:D,data:C,dataType:T||"json",jsonpCallback:_,headers:k||{},success:function(e){(e="function"==typeof w?w.call(c,e)||e:e)[O.statusName]!=O.statusCode?(p[U]="error",p[X]=!1,v.html('')):I(e[O.dataName])},error:function(e,t){p[U]="error",p[X]=!1,"function"==typeof c.error&&c.error(e,t)}},c.ajax?c.ajax(b,"treeNodes"):P.ajax(b)),m;p[V]=!0,N.length&&(!c.initSort||c.url&&!c.autoSort||((S=c.initSort).type?layui.sort(N,S.field,"desc"===S.type,!0):layui.sort(N,B.config.indexName,null,!0)),u.initData(p[f.children],p[H]),g=B.getTrHtml(o,N,null,null,e),E={trs:P(g.trs.join("")),trs_fixed:P(g.trs_fixed.join("")),trs_fixed_r:P(g.trs_fixed_r.join(""))},A=(e.split("-").length-1||0)+1,layui.each(N,function(e,t){E.trs.eq(e).attr({"data-index":t[H],"lay-data-index":t[H],"data-level":A}).data("index",t[H]),E.trs_fixed.eq(e).attr({"data-index":t[H],"lay-data-index":t[H],"data-level":A}).data("index",t[H]),E.trs_fixed_r.eq(e).attr({"data-index":t[H],"lay-data-index":t[H],"data-level":A}).data("index",t[H])}),r.find(R).find('tbody tr[lay-data-index="'+e+'"]').after(E.trs),r.find(Y).find('tbody tr[lay-data-index="'+e+'"]').after(E.trs_fixed),r.find(z).find('tbody tr[lay-data-index="'+e+'"]').after(E.trs_fixed_r),u.renderTreeTable(E.trs,A),n)&&!x&&layui.each(N,function(e,t){K({dataIndex:t[H],trElem:r.find('tr[lay-data-index="'+t[H]+'"]').first(),tableViewElem:r,tableId:o,options:c},a,n,i,d,l)})}else u.isExpandAll=!1,(n&&!x?(layui.each(N,function(e,t){K({dataIndex:t[H],trElem:r.find('tr[lay-data-index="'+t[H]+'"]').first(),tableViewElem:r,tableId:o,options:c},a,n,i,d,l)}),r.find(N.map(function(e,t,a){return'tr[lay-data-index="'+e[H]+'"]'}).join(","))):(D=u.treeToFlat(N,p[f.id],e),r.find(D.map(function(e,t,a){return'tr[lay-data-index="'+e[H]+'"]'}).join(",")))).addClass(q);J("resize-"+o,function(){j.resize(o)},0)(),d&&"loading"!==p[U]&&(T=s.callback.onExpand,"function"===layui.type(T))&&T(o,p,h),"function"===layui.type(l)&&"loading"!==p[U]&&l(o,p,h)}return m},v=(j.expandNode=function(e,t){var a,n,i,d,e=F(e);if(e)return a=(t=t||{}).index,n=t.expandFlag,i=t.inherit,d=t.callbackFlag,e=e.getOptions().elem.next(),K({trElem:e.find('tr[lay-data-index="'+a+'"]').first()},n,i,null,d,t.done)},j.expandAll=function(a,e){if("boolean"!==layui.type(e))return y.error('treeTable.expandAll param "expandFlag" must be a boolean value.');var t=F(a);if(t){t.isExpandAll=e;var n=t.getOptions(),i=n.tree,d=n.elem.next(),l=i.customName.isParent,r=i.customName.id,o=i.view.showFlexIconIfNotParent;if(e){e=j.getData(a,!0);if(i["async"].enable){var c=!0;if(layui.each(e,function(e,t){if(t[l]&&!t[U])return!(c=!1)}),!c)return void layui.each(j.getData(a),function(e,t){j.expandNode(a,{index:t[H],expandFlag:!0,inherit:!0})})}var u=!0;if(layui.each(e,function(e,t){if(t[l]&&!t[V])return!(u=!1)}),u)t.updateStatus(null,function(e){(e[l]||o)&&(e[X]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),d.find('tbody tr[data-level!="0"]').removeClass(q),d.find(".layui-table-tree-flexIcon").html(i.view.flexIconOpen),i.view.showIcon&&d.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[l]||o)&&(e[X]=!0,e[V]=!0,e[r]!==undefined)&&(t.status.expand[e[r]]=!0)}),n.initSort&&n.initSort.type&&n.autoSort)return j.sort(a);var s,n=B.getTrHtml(a,e),f={trs:P(n.trs.join("")),trs_fixed:P(n.trs_fixed.join("")),trs_fixed_r:P(n.trs_fixed_r.join(""))};layui.each(e,function(e,t){var a=t[H].split("-").length-1;s={"data-index":t[H],"lay-data-index":t[H],"data-level":a},f.trs.eq(e).attr(s).data("index",t[H]),f.trs_fixed.eq(e).attr(s).data("index",t[H]),f.trs_fixed_r.eq(e).attr(s).data("index",t[H])}),layui.each(["main","fixed-l","fixed-r"],function(e,t){d.find(".layui-table-"+t+" tbody").html(f[["trs","trs_fixed","trs_fixed_r"][e]])}),t.renderTreeTable(d,0,!1)}}else t.updateStatus(null,function(e){(e[l]||o)&&(e[X]=!1,e[r]!==undefined)&&(t.status.expand[e[r]]=!1)}),d.find('.layui-table-box tbody tr[data-level!="0"]').addClass(q),d.find(".layui-table-tree-flexIcon").html(i.view.flexIconClose),i.view.showIcon&&d.find(".layui-table-tree-nodeIcon:not(.layui-table-tree-iconCustom,.layui-table-tree-iconLeaf)").html(i.view.iconClose);j.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 d=this,n=d.getOptions(),l=n.elem.next(),i=(l.hasClass(m)||l.addClass(m),n.id),r=n.tree||{},o=(r.data,r.view||{}),c=r.customName||{},u=c.isParent,s=(l.attr("lay-filter"),d),f=n.data.length,y=((t=t||0)||(l.find(".layui-table-body tr:not([data-level])").attr("data-level",t),layui.each(B.cache[i],function(e,t){f&&(t[H]=String(e));t=t[H];l.find('.layui-table-main tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),l.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t),l.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=P(t)).closest("tr"),t=t.children(".layui-table-cell");t.hasClass("layui-table-tree-item")||(n=i.attr("lay-data-index"))&&(i=l.find('tr[lay-data-index="'+n+'"]'),(a=s.getNodeDataByIndex(n))[X]&&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[X]?o.flexIconOpen:o.flexIconClose,"
        ",o.showIcon?'
        '+(d.normalizedIcon(a[c.icon])||o.icon||(a[u]?a[X]?o.iconOpen:o.iconClose:o.iconLeaf)||"")+"
        ":"",n].join("")).find(".layui-table-tree-flexIcon").on("click",function(e){layui.stope(e),K({trElem:i},null,null,null,!0)}))}),!t&&r.view.expandAllDefault&&d.isExpandAll===undefined)return j.expandAll(i,!0);(!1!==a&&y?(layui.each(y,function(e,t){e=l.find('tr[lay-data-index="'+e+'"]');e.find(".layui-table-tree-flexIcon").html(o.flexIconOpen),K({trElem:e.first()},!0)}),J("renderTreeTable2-"+i,function(){h.render(P(".layui-table-tree["+L+'="'+i+'"]'))},0)):J("renderTreeTable-"+i,function(){n.hasNumberCol&&v(d),h.render(P(".layui-table-tree["+L+'="'+i+'"]'))},0))()},function(a){var e=a.getOptions(),t=e.elem.next(),n=0,i=t.find(".layui-table-main tbody tr"),d=t.find(".layui-table-fixed-l tbody tr"),l=t.find(".layui-table-fixed-r tbody tr");layui.each(a.treeToFlat(B.cache[e.id]),function(e,t){t.LAY_HIDE||(a.getNodeDataByIndex(t[H]).LAY_NUM=++n,i.eq(e).find(".laytable-cell-numbers").html(n),d.eq(e).find(".laytable-cell-numbers").html(n),l.eq(e).find(".laytable-cell-numbers").html(n))})}),N=(a.prototype.render=function(e){var t=this;t.tableIns=B["reloadData"===e?"reloadData":"reload"](t.tableIns.config.id,P.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]}),l(n.getOptions().id,e,a||!0),n.config=P.extend(t,{},n.config,e),n.render(a)},j.reloadData=function(){var e=P.extend(!0,[],arguments);return e[3]="reloadData",j.reload.apply(null,e)},function(e,a,n,i){var d=[];return layui.each(e,function(e,t){"function"===layui.type(a)?a(t):P.extend(t,a),d.push(P.extend({},t)),i||(d=d.concat(N(t[n],a,n,i)))}),d}),o=(a.prototype.updateStatus=function(e,t,a){var n=this.getOptions(),i=n.tree;return e=e||B.cache[n.id],N(e,t,i.customName.children,a)},a.prototype.getTableData=function(){var e=this.getOptions();return B.cache[e.id]},j.updateStatus=function(e,t,a){var e=F(e),n=e.getOptions();return a=a||(n.url?B.cache[n.id]:n.data),e.updateStatus(a,t)},j.sort=function(e){var t,a,i,d,n,l=F(e);l&&(n=(t=l.getOptions()).tree,a=j.getData(e),i=n.customName.children,d=function(e,a,n){layui.sort(e,a,n,!0),layui.each(e,function(e,t){d(t[i]||[],a,n)})},t.autoSort)&&((n=t.initSort).type?d(a,n.field,"desc"===n.type):d(a,B.config.indexName,null),B.cache[e]=a,l.initData(a),j.renderData(e))},function(n){var t=n.config.id,i=F(t),a=n.data=j.getNodeDataByIndex(t,n.index),d=a[H],l=(n.dataIndex=d,n.update);n.update=function(){var e=arguments,t=(P.extend(i.getNodeDataByIndex(d),e[0]),l.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(){j.removeNode(t,a)},n.setRowChecked=function(e){j.setRowChecked(t,{index:a,checked:e})}}),u=(j.updateNode=function(e,a,t){var n,i,d,l,r,o=F(e);o&&((l=o.getOptions()).tree,l=(n=l.elem.next()).find('tr[lay-data-index="'+a+'"]'),i=l.attr("data-index"),d=l.attr("data-level"),t)&&(l=o.getNodeDataByIndex(a,!1,t),r=B.getTrHtml(e,[l]),layui.each(["main","fixed-l","fixed-r"],function(e,t){n.find(".layui-table-"+t+' tbody tr[lay-data-index="'+a+'"]').replaceWith(P(r[["trs","trs_fixed","trs_fixed_r"][e]].join("")).attr({"data-index":i,"lay-data-index":a,"data-level":d}).data("index",i))}),o.renderTreeTable(n.find('tr[lay-data-index="'+a+'"]'),d))},j.removeNode=function(e,t,a){var n,i,d,l,r,o,c,u,s=F(e);s&&(i=(u=(n=s.getOptions()).tree).customName.isParent,d=u.customName.children,l=n.elem.next(),r=[],o=B.cache[e],t=s.getNodeDataByIndex("string"===layui.type(t)?t:t[H],!1,"delete"),c=s.getNodeDataByIndex(t[f]),s.updateCheckStatus(c),u=s.treeToFlat([t],t[u.customName.pid],t[f]),layui.each(u,function(e,t){t=t[H];r.push('tr[lay-data-index="'+t+'"]'),-1!==t.indexOf("-")&&delete o[t]}),l.find(r.join(",")).remove(),t=s.initData(),function(){for(var e in o)-1!==e.indexOf("-")&&e!==o[e][H]&&delete o[e]}(),layui.each(s.treeToFlat(t),function(e,t){t[b]&&t[b]!==t[H]&&l.find('tr[lay-data-index="'+t[b]+'"]').attr({"data-index":t[H],"lay-data-index":t[H]}).data("index",t[H])}),layui.each(o,function(e,t){l.find('tr[data-level="0"][lay-data-index="'+t[H]+'"]').attr("data-index",e).data("index",e)}),n.hasNumberCol&&v(s),c&&(u=l.find('tr[lay-data-index="'+c[H]+'"]'),a||(c[i]=!(!c[d]||!c[d].length)),s.updateNodeIcon({scopeEl:u,isExpand:c[X],isParent:c[i]})),j.resize(e))},j.addNodes=function(e,t){var a=F(e);if(a){var n=a.getOptions(),i=n.tree,d=n.elem.next(),l=B.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=P.extend(!0,[],layui.isArray(c)?c:[c]);layui.each(c,function(e,t){l in t||!u||(t[l]=u[l])}),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[V]=!1)}),a.treeToFlat(y));d.find(f.map(function(e){return'tr[lay-data-index="'+e[H]+'"]'}).join(",")).remove(),a.initData(),u[V]=!1,u[U]="local",K({trElem:d.find('tr[lay-data-index="'+r+'"]')},!0)}else{var p=B.cache[e].splice(-1===o?B.cache[e].length:o);if(B.cache[e]=B.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(B.cache[e]))):n.data=B.cache[e]),a.initData(),d.find(".layui-none").length)return B.renderData(e),c;var x,f=B.getTrHtml(e,c),h={trs:P(f.trs.join("")),trs_fixed:P(f.trs_fixed.join("")),trs_fixed_r:P(f.trs_fixed_r.join(""))},r=(layui.each(c,function(e,t){x={"data-index":t[H],"lay-data-index":t[H],"data-level":"0"},h.trs.eq(e).attr(x).data("index",t[H]),h.trs_fixed.eq(e).attr(x).data("index",t[H]),h.trs_fixed_r.eq(e).attr(x).data("index",t[H])}),parseInt(c[0][H])-1),y=d.find(R),n=d.find(Y),f=d.find(z);-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(B.cache[e],function(e,t){d.find('tr[data-level="0"][lay-data-index="'+t[H]+'"]').attr("data-index",e).data("index",e)}),a.renderTreeTable(d.find(c.map(function(e,t,a){return'tr[lay-data-index="'+e[H]+'"]'}).join(",")))}return a.updateCheckStatus(u),u&&(o=d.find('tr[lay-data-index="'+u[H]+'"]'),a.updateNodeIcon({scopeEl:o,isExpand:u[X],isParent:u[s]})),j.resize(e),t&&d.find(R).find('tr[lay-data-index="'+c[0][H]+'"]').get(0).scrollIntoViewIfNeeded(),c}},j.checkStatus=function(e,n){var i,t,a,d=F(e);if(d)return d=d.getOptions().tree,i=B.config.checkName,t=j.getData(e,!0).filter(function(e,t,a){return e[i]||n&&e[g]}),a=!0,layui.each("all"===d.data.cascade?B.cache[e]:j.getData(e,!0),function(e,t){if(!t[i])return!(a=!1)}),{data:t,isAll:a}},j.on("sort",function(e){var e=e.config,t=e.elem.next(),e=e.id;t.hasClass(m)&&j.sort(e)}),j.on("row",function(e){e.config.elem.next().hasClass(m)&&o(e)}),j.on("rowDouble",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&(o(e),(t.tree||{}).view.dblClickExpand)&&K({trElem:e.tr.first()},null,null,null,!0)}),j.on("rowContextmenu",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),j.on("tool",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass(m)&&o(e)}),j.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))}),j.on("radio",function(e){var t=e.config,a=t.elem.next(),t=t.id;a.hasClass(m)&&(a=F(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"](d),e.each(function(){var e=P(this).data("index");n.find('.layui-table-fixed-r tbody tr[data-index="'+e+'"]')[t?"addClass":"removeClass"](d)})},a.prototype.updateCheckStatus=function(e,t){var a,n,i,d,l,r,o,c=this,u=c.getOptions();return!!u.hasChecboxCol&&(a=u.tree,n=u.id,i=u.elem.next(),d=B.config.checkName,"all"!==(l=a.data.cascade)&&"parent"!==l||!e||(l=c.updateParentCheckStatus(e,"boolean"===layui.type(t)?t:null),layui.each(l,function(e,t){var a=i.find('tr[lay-data-index="'+t[H]+'"] input[name="layTableCheckbox"]:not(:disabled)'),n=t[d];c.setRowCheckedClass(a.closest("tr"),n),a.prop({checked:n,indeterminate:t[g]})})),o=!(r=!0),0<(e=(e="all"===a.data.cascade?B.cache[n]:j.getData(n,!0)).filter(function(e){return!e[u.disabledName]})).length?layui.each(e,function(e,t){if((t[d]||t[g])&&(o=!0),t[d]||(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,d=B.config.checkName,t=t.customName.children,l=[];return!(a[g]=!1)===n?a[t].length?layui.each(a[t],function(e,t){if(!t[d])return n=!1,a[g]=!0}):n=!1:!1===n?layui.each(a[t],function(e,t){if(t[d]||t[g])return a[g]=!0}):(n=!1,i=0,layui.each(a[t],function(e,t){t[d]&&i++}),n=a[t].length?a[t].length===i:a[d],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)?"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)):n.renderClose(),"array"===layui.type(t.body)&&"string"==typeof t.body[0]&&(n.documentElem=p(document),n.bodyElem=t.body.concat()),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),d=i.renderBodyItem(e),o=i.data();e=p.extend({active:!0},e),/(before|after)/.test(e.mode)?(a=(t=e.hasOwnProperty("index"))?i.findHeaderItem(e.index):o.thisHeaderItem,t=t?i.findBodyItem(e.index):o.thisHeaderItem,a[e.mode](r),t[e.mode](d)):(a={prepend:"prepend",append:"append"}[e.mode||"append"]||"append",n.header.elem[a](r),n.body.elem[a](d)),e.active?i.change(r,!0):i.roll("auto"),"function"==typeof e.done&&e.done(p.extend(o,{headerItem:r,bodyItem:d}))},t.prototype.close=function(e,t){if(e&&e[0]){var a=this,i=a.config,n=e.attr("lay-id"),r=e.index();if("false"!==e.attr("lay-closable")){var d=a.data();if(!t)if(!1===layui.event.call(e[0],C.CONST.MOD_NAME,"beforeClose("+i.id+")",p.extend(d,{index:r})))return;e.hasClass(C.CONST.CLASS_THIS)&&(e.next()[0]?a.change(e.next(),!0):e.prev()[0]&&a.change(e.prev(),!0)),a.findBodyItem(n||r).remove(),e.remove(),a.roll("auto",r);d=a.data();layui.event.call(d.thisHeaderItem[0],C.CONST.MOD_NAME,"afterClose("+i.id+")",d)}}},t.prototype.closeMult=function(i,e){var n=this,t=n.config,a=n.getContainer(),r=n.data(),d=a.header.items,a=(a.body.items,'[lay-closable="false"]'),o=(e=e===undefined?r.index:e,n.findHeaderItem(e)),l=(n.findBodyItem(e),o.index()),r=("false"!==r.thisHeaderItem.attr("lay-closable")&&("all"!==i&&i?e!==r.index&&n.change(o,!0):(e=d.filter(":gt("+r.index+")"+a).eq(0),o=p(d.filter(":lt("+r.index+")"+a).get().reverse()).eq(0),e[0]?n.change(e,!0):o[0]&&n.change(o,!0))),d.each(function(e){var t=p(this),a=t.attr("lay-id"),a=n.findBodyItem(a||e);"false"!==t.attr("lay-closable")&&("other"===i&&e!==l||"right"===i&&l");return t.html(e.title||"New Tab").attr("lay-id",e.id),this.appendClose(t,e),t},t.prototype.renderBodyItem=function(e){var t=this.config,t=p(e.bodyItem||t.bodyItem||'
          ');return t.html(e.content||"").attr("lay-id",e.id),t},t.prototype.appendClose=function(e,t){var a=this;a.config.closable&&(0==(t=t||{}).closable&&e.attr("lay-closable","false"),"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 t=this,a=t.config;t.getContainer().header.items.each(function(){var e=p(this);a.closable?t.appendClose(e):e.find("."+C.CONST.CLOSE).remove()})},t.prototype.roll=function(e,i){var n=this,t=n.config,a=n.getContainer(),r=a.header.elem,d=a.header.items,a=r.prop("scrollWidth"),o=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&&o=o-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);if(n[0]){if(e.elem=a,e.elemNone=L('
          '+i.text.none+"
          "),n.html(e.elem),0==e.elem.find("."+C.ELEM_SET).length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find("."+C.ELEM_SET).each(function(){var e=L(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(C.ELEM_LINE_SHORT),e.next()[0]||e.parents("."+C.ELEM_SET).eq(0).next()[0]||e.addClass(C.ELEM_LINE_SHORT)})}},extendsInstance:function(){var i=this;i.config;return{getChecked:function(){return i.getChecked.call(i)},setChecked:function(e){return i.setChecked.call(i,e)}}}}),C=a.CONST,n=a.Class;n.prototype.reload=function(e,i){var a=this;layui.each(e,function(e,i){"array"===layui.type(i)&&delete a.config[e]}),a.config=L.extend(!0,{},a.config,e),a.init(!0,i)},n.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},n.prototype.tree=function(r,e){var d=this,E=d.config,s=E.customName,e=e||E.data;layui.each(e,function(e,i){var a,n,t=i[s.children]&&0"),c=L(['
          ','
          ','
          ',E.showLine?t?'':'':'',E.showCheckbox?'':"",E.isJump&&i.href?''+(i[s.title]||i.label||E.text.defaultNodeName)+"":''+(i[s.title]||i.label||E.text.defaultNodeName)+"","
          ",E.edit?(a={add:'',update:'',del:''},n=['
          '],!0===E.edit&&(E.edit=["update","del"]),"object"==typeof E.edit?(layui.each(E.edit,function(e,i){n.push(a[i]||"")}),n.join("")+"
          "):void 0):"","
          ","
          "].join(""));t&&(c.append(l),d.tree(l,i[s.children])),r.append(c),c.prev("."+C.ELEM_SET)[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),E.showCheckbox&&(i.checked&&d.checkids.push(i[s.id]),d.checkClick(c,i)),E.edit&&d.operate(c,i)})},n.prototype.spread=function(n,t){var l=this,c=l.config,e=n.children("."+C.ELEM_ENTRY),i=e.children("."+C.ELEM_MAIN),a=i.find('input[same="layuiTreeCheck"]'),r=e.find("."+C.ICON_CLICK),e=e.find("."+C.ELEM_TEXT),d=c.onlyIconControl?r:i,E="";d.on("click",function(e){var i=n.children("."+C.ELEM_PACK),a=(d.children(".layui-icon")[0]?d:d.find(".layui-tree-icon")).children(".layui-icon");i[0]?n.hasClass(C.ELEM_SPREAD)?(n.removeClass(C.ELEM_SPREAD),i.slideUp(200),a.removeClass(C.ICON_SUB).addClass(C.ICON_ADD),l.updateFieldValue(t,"spread",!1)):(n.addClass(C.ELEM_SPREAD),i.slideDown(200),a.addClass(C.ICON_SUB).removeClass(C.ICON_ADD),l.updateFieldValue(t,"spread",!0),c.accordion&&((i=n.siblings("."+C.ELEM_SET)).removeClass(C.ELEM_SPREAD),i.children("."+C.ELEM_PACK).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(C.ICON_SUB).addClass(C.ICON_ADD))):E="normal"}),e.on("click",function(){L(this).hasClass(C.CLASS_DISABLED)||(E=n.hasClass(C.ELEM_SPREAD)?c.onlyIconControl?"open":"close":c.onlyIconControl?"close":"open",a[0]&&l.updateFieldValue(t,"checked",a.prop("checked")),c.click&&c.click({elem:n,state:E,data:t}))})},n.prototype.updateFieldValue=function(e,i,a){i in e&&(e[i]=a)},n.prototype.syncCheckedState=function(e,i,l){var c,t,r=this,d=r.config.customName,E=e.prop("checked"),a=e.closest("."+C.ELEM_SET);e.prop("disabled")||(t=function(e){var i,a,n;e.parents("."+C.ELEM_SET)[0]&&(a=(e=e.parent("."+C.ELEM_PACK)).parent(),(n=e.prev().find('input[same="layuiTreeCheck"]')).prop("disabled")||(E?n.prop("checked",E):(e.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||n.prop("checked",!1)),t(a)))},(c=function(e,i){var n,t=i[d.children];t&&0!==t.length&&(n=e.children("."+C.ELEM_PACK).children("."+C.ELEM_SET)).children("."+C.ELEM_ENTRY).find('input[same="layuiTreeCheck"]').each(function(e){var i,a;this.disabled||(i=t[e],a=!l&&"checked"in i?i.checked:E,this.checked=a,r.updateFieldValue(i,"checked",a),i[d.children]&&c(n.eq(e),i))})})(a,i),t(a),r.renderForm("checkbox"))},n.prototype.checkClick=function(a,n){var t=this,l=t.config,e=a.children("."+C.ELEM_ENTRY).children("."+C.ELEM_MAIN);e.on("click",'input[same="layuiTreeCheck"]',layui.stope),e.on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var e=L(this).prev(),i=e.prop("checked");e.prop("disabled")||(t.syncCheckedState(e,n,"manual"),t.updateFieldValue(n,"checked",i),l.oncheck&&l.oncheck({elem:a,checked:i,data:n}))})},n.prototype.operate=function(r,d){var E=this,s=E.config,o=s.customName,e=r.children("."+C.ELEM_ENTRY),h=e.children("."+C.ELEM_MAIN);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,e=L(this).data("type"),n=r.children("."+C.ELEM_PACK),t={data:d,type:e,elem:r};if("add"==e){n[0]||(s.showLine?(h.find("."+C.ICON_CLICK).addClass("layui-tree-icon"),h.find("."+C.ICON_CLICK).children(".layui-icon").addClass(C.ICON_ADD).removeClass("layui-icon-leaf")):h.find(".layui-tree-iconArrow").removeClass(C.CLASS_HIDE),r.append('
          '));var a,l=s.operate&&s.operate(t),c={};if(c[o.title]=s.text.defaultNodeName,c[o.id]=l,E.tree(r.children("."+C.ELEM_PACK),[c]),s.showLine&&(n[0]?(n.hasClass(C.ELEM_EXTEND)||n.addClass(C.ELEM_EXTEND),r.find("."+C.ELEM_PACK).each(function(){L(this).children("."+C.ELEM_SET).last().addClass(C.ELEM_LINE_SHORT)}),(n.children("."+C.ELEM_SET).last().prev().hasClass(C.ELEM_LINE_SHORT)?n.children("."+C.ELEM_SET).last().prev():n.children("."+C.ELEM_SET).last()).removeClass(C.ELEM_LINE_SHORT),!r.parent("."+C.ELEM_PACK)[0]&&r.next()[0]&&n.children("."+C.ELEM_SET).last().removeClass(C.ELEM_LINE_SHORT)):(l=r.siblings("."+C.ELEM_SET),a=1,c=r.parent("."+C.ELEM_PACK),layui.each(l,function(e,i){L(i).children("."+C.ELEM_PACK)[0]||(a=0)}),(1==a?(l.children("."+C.ELEM_PACK).addClass(C.ELEM_SHOW),l.children("."+C.ELEM_PACK).children("."+C.ELEM_SET).removeClass(C.ELEM_LINE_SHORT),r.children("."+C.ELEM_PACK).addClass(C.ELEM_SHOW),c.removeClass(C.ELEM_EXTEND),c.children("."+C.ELEM_SET).last().children("."+C.ELEM_PACK).children("."+C.ELEM_SET).last()):r.children("."+C.ELEM_PACK).children("."+C.ELEM_SET)).addClass(C.ELEM_LINE_SHORT))),!s.showCheckbox)return;h.find('input[same="layuiTreeCheck"]')[0].checked&&(r.children("."+C.ELEM_PACK).children("."+C.ELEM_SET).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),E.renderForm("checkbox")}else"update"==e?(l=h.children("."+C.ELEM_TEXT).html(),h.children("."+C.ELEM_TEXT).html(""),h.append(''),h.children(".layui-tree-editInput").val(u.unescape(l)).focus(),i=function(e){var i=u.escape(e.val().trim())||s.text.defaultNodeName;e.remove(),h.children("."+C.ELEM_TEXT).html(i),t.data[o.title]=i,s.operate&&s.operate(t)},h.children(".layui-tree-editInput").blur(function(){i(L(this))}),h.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),i(L(this)))})):(c=p.$t("tree.deleteNodePrompt",{name:d[o.title]||""}),_.confirm(c,function(e){var l,a,i;s.operate&&s.operate(t),t.status="remove",_.close(e),r.prev("."+C.ELEM_SET)[0]||r.next("."+C.ELEM_SET)[0]||r.parent("."+C.ELEM_PACK)[0]?(r.siblings("."+C.ELEM_SET).children("."+C.ELEM_ENTRY)[0]?(s.showCheckbox&&(l=function(e){var i,a,n,t;e.parents("."+C.ELEM_SET)[0]&&(i=e.siblings("."+C.ELEM_SET).children("."+C.ELEM_ENTRY),a=(e=e.parent("."+C.ELEM_PACK).prev()).find('input[same="layuiTreeCheck"]')[0],n=1,(t=0)==a.checked)&&(i.each(function(e,i){i=L(i).find('input[same="layuiTreeCheck"]')[0];0!=i.checked||i.disabled||(n=0),i.disabled||(t=1)}),1==n)&&1==t&&(a.checked=!0,E.renderForm("checkbox"),l(e.parent("."+C.ELEM_SET)))})(r),s.showLine&&(e=r.siblings("."+C.ELEM_SET),a=1,i=r.parent("."+C.ELEM_PACK),layui.each(e,function(e,i){L(i).children("."+C.ELEM_PACK)[0]||(a=0)}),1==a?(n[0]||(i.removeClass(C.ELEM_EXTEND),e.children("."+C.ELEM_PACK).addClass(C.ELEM_SHOW),e.children("."+C.ELEM_PACK).children("."+C.ELEM_SET).removeClass(C.ELEM_LINE_SHORT)),(r.next()[0]?i.children("."+C.ELEM_SET).last():r.prev()).children("."+C.ELEM_PACK).children("."+C.ELEM_SET).last().addClass(C.ELEM_LINE_SHORT),r.next()[0]||r.parents("."+C.ELEM_SET)[1]||r.parents("."+C.ELEM_SET).eq(0).next()[0]||r.prev("."+C.ELEM_SET).addClass(C.ELEM_LINE_SHORT)):!r.next()[0]&&r.hasClass(C.ELEM_LINE_SHORT)&&r.prev().addClass(C.ELEM_LINE_SHORT))):(e=r.parent("."+C.ELEM_PACK).prev(),s.showLine?(e.find("."+C.ICON_CLICK).removeClass("layui-tree-icon"),e.find("."+C.ICON_CLICK).children(".layui-icon").removeClass(C.ICON_SUB).addClass("layui-icon-leaf"),(i=e.parents("."+C.ELEM_PACK).eq(0)).addClass(C.ELEM_EXTEND),i.children("."+C.ELEM_SET).each(function(){L(this).children("."+C.ELEM_PACK).children("."+C.ELEM_SET).last().addClass(C.ELEM_LINE_SHORT)})):e.find(".layui-tree-iconArrow").addClass(C.CLASS_HIDE),r.parents("."+C.ELEM_SET).eq(0).removeClass(C.ELEM_SPREAD),r.parent("."+C.ELEM_PACK).remove()),r.remove()):(r.remove(),E.elem.append(E.elemNone))}))})},n.prototype.events=function(){var i=this,t=i.config;i.setChecked(i.checkids),i.elem.find(".layui-tree-search").on("keyup",function(){var e=L(this),a=e.val(),e=e.nextAll(),n=[];e.find("."+C.ELEM_TEXT).each(function(){var i,e=L(this).parents("."+C.ELEM_ENTRY);-1!=L(this).html().indexOf(a)&&(n.push(L(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+C.ELEM_PACK)[0]&&i(e.parent("."+C.ELEM_PACK).parent("."+C.ELEM_SET))})(e.parent("."+C.ELEM_SET)))}),e.find("."+C.ELEM_ENTRY).each(function(){var e=L(this).parent("."+C.ELEM_SET);e.hasClass("layui-tree-searchShow")||e.addClass(C.CLASS_HIDE)}),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(){L(this).nextAll().find("."+C.ELEM_ENTRY).each(function(){L(this).parent("."+C.ELEM_SET).removeClass("layui-tree-searchShow "+C.CLASS_HIDE)}),L(".layui-tree-emptyText")[0]&&L(".layui-tree-emptyText").remove()})},n.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(L(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=L.extend({},a))[l.children],n.push(i),a[l.children]&&(i[l.children]=[],c(a[l.children],i[l.children])),!0})})});return c(L.extend({},e.data),a),a},n.prototype.setChecked=function(e){var c=this,r=c.config.flatData;"object"!=typeof e&&(e=[e]),c.elem.find("."+C.ELEM_SET).each(function(a){var n=L(this).data("id"),t=L(this).children("."+C.ELEM_ENTRY).find('input[same="layuiTreeCheck"]'),l=t.prop("checked");layui.each(e,function(e,i){return n!=i||t.prop("disabled")||l?void 0:(t.prop("checked",!0),c.syncCheckedState(t,r[a]),!0)})})},L.extend(a,{getChecked:function(e){e=a.getInst(e);if(e)return e.getChecked()},setChecked:function(e,i){e=a.getInst(e);if(e)return e.setChecked(i)}}),e(C.MOD_NAME,a)});layui.define(["i18n","laytpl","component","form"],function(e){"use strict";var i=layui.i18n,l=layui.laytpl,o=layui.$,a=layui.form,t=layui.component({name:"transfer",config:{width:200,height:360,data:[],value:[],showSearch:!1,id:""},CONST:{ELEM:"layui-transfer",ELEM_BOX:"layui-transfer-box",ELEM_HEADER:"layui-transfer-header",ELEM_SEARCH:"layui-transfer-search",ELEM_ACTIVE:"layui-transfer-active",ELEM_DATA:"layui-transfer-data",BTN_DISABLED:"layui-btn-disabled"},beforeRender:function(e){this.config=o.extend({title:i.$t("transfer.title"),text:{none:i.$t("transfer.noData"),searchNone:i.$t("transfer.noMatch")}},this.config,e)},render:function(){var e=this,a=e.config,t=function(e){return['
          ','
          ','","
          ","{{ if(d.data.showSearch){ }}",'","{{ } }}",'
            ',"
            "].join("")},t=['
            ',t({index:0,checkAllName:"layTransferLeftCheckAll"}),'
            ','",'","
            ",t({index:1,checkAllName:"layTransferRightCheckAll"}),"
            "].join(""),t=e.elem=o(l(t,{open:"{{",close:"}}",tagStyle:"modern"}).render({data:a,index:e.index})),n=a.elem;n[0]&&(a.data=a.data||[],a.value=a.value||[],n.html(e.elem),e.layBox=e.elem.find("."+d.ELEM_BOX),e.layHeader=e.elem.find("."+d.ELEM_HEADER),e.laySearch=e.elem.find("."+d.ELEM_SEARCH),e.layData=t.find("."+d.ELEM_DATA),e.layBtn=t.find("."+d.ELEM_ACTIVE+" .layui-btn"),e.layBox.css({width:a.width,height:a.height}),e.layData.css({height:(n=a.height-e.layHeader.outerHeight(),a.showSearch&&(n-=e.laySearch.outerHeight()),n-2)}),e.renderData(),e.events())},extendsInstance:function(){var e=this;e.config;return{getData:function(){return e.getData.call(e)}}}}),d=t.CONST,n=t.Class;n.prototype.renderData=function(){var e=this,a=e.config,l=[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}];e.parseData(function(t){var n=t.selected?1:0,i=["
          • ",'',"
          • "].join("");n?layui.each(a.value,function(e,a){a==t.value&&t.selected&&(l[n].views[e]=i)}):l[n].views.push(i),delete t.selected}),e.layData.eq(0).html(l[0].views.join("")),e.layData.eq(1).html(l[1].views.join("")),e.renderCheckBtn()},n.prototype.renderForm=function(e){a.render(e,"LAY-transfer-"+this.index)},n.prototype.renderCheckBtn=function(c){var r=this,s=r.config;c=c||{},r.layBox.each(function(e){var a=o(this),t=a.find("."+d.ELEM_DATA),a=a.find("."+d.ELEM_HEADER).find('input[type="checkbox"]'),n=t.find('input[type="checkbox"]'),i=0,l=!1;n.each(function(){var e=o(this).data("hide");(this.checked||this.disabled||e)&&i++,this.checked&&!e&&(l=!0)}),a.prop("checked",l&&i===n.length),r.layBtn.eq(e)[l?"removeClass":"addClass"](d.BTN_DISABLED),c.stopNone||(n=t.children("li:not(."+d.CLASS_HIDE+")").length,r.noneView(t,n?"":s.text.none))}),r.renderForm("checkbox")},n.prototype.noneView=function(e,a){var t=o('

            '+(a||"")+"

            ");e.find("."+d.CLASS_NONE)[0]&&e.find("."+d.CLASS_NONE).remove(),a.replace(/\s/g,"")&&e.append(t)},n.prototype.setValue=function(){var e=this,a=e.config,t=[];return e.layBox.eq(1).find("."+d.ELEM_DATA+' input[type="checkbox"]').each(function(){o(this).data("hide")||t.push(this.value)}),a.value=t,e},n.prototype.parseData=function(a){var n=this.config,i=[];return layui.each(n.data,function(e,t){t=("function"==typeof n.parseData?n.parseData(t):t)||t,i.push(t=o.extend({},t)),layui.each(n.value,function(e,a){a==t.value&&(t.selected=!0)}),a&&a(t)}),n.data=i,this},n.prototype.getData=function(e){var a=this.config,n=[];return this.setValue(),layui.each(e||a.value,function(e,t){layui.each(a.data,function(e,a){delete a.selected,t==a.value&&n.push(a)})}),n},n.prototype.transfer=function(e,a){var t,n=this,i=n.config,l=n.layBox.eq(e),c=[],a=(a?((t=(a=a).find('input[type="checkbox"]'))[0].checked=!1,l.siblings("."+d.ELEM_BOX).find("."+d.ELEM_DATA).append(a.clone()),a.remove(),c.push(t[0].value),n.setValue()):l.each(function(e){o(this).find("."+d.ELEM_DATA).children("li").each(function(){var e=o(this),a=e.find('input[type="checkbox"]'),t=a.data("hide");a[0].checked&&!t&&(a[0].checked=!1,l.siblings("."+d.ELEM_BOX).find("."+d.ELEM_DATA).append(e.clone()),e.remove(),c.push(a[0].value)),n.setValue()})}),n.renderCheckBtn(),l.siblings("."+d.ELEM_BOX).find("."+d.ELEM_SEARCH+" input"));""!==a.val()&&a.trigger("keyup"),i.onchange&&i.onchange(n.getData(c),e)},n.prototype.events=function(){var i=this,l=i.config;i.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var e=o(this).prev(),a=e[0].checked,t=e.parents("."+d.ELEM_BOX).eq(0).find("."+d.ELEM_DATA);e[0].disabled||("all"===e.attr("lay-type")&&t.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=a)}),setTimeout(function(){i.renderCheckBtn({stopNone:!0})},0))}),i.elem.on("dblclick","."+d.ELEM_DATA+">li",function(e){var a=o(this),t=a.children('input[type="checkbox"]'),n=a.parent().parent().data("index");t[0].disabled||!1!==("function"==typeof l.dblclick?l.dblclick({elem:a,data:i.getData([t[0].value])[0],index:n}):null)&&i.transfer(n,a)}),i.layBtn.on("click",function(){var e=o(this),a=e.data("index");e.hasClass(d.BTN_DISABLED)||i.transfer(a)}),i.laySearch.find("input").on("keyup",function(){var n=this.value,e=o(this).parents("."+d.ELEM_SEARCH).eq(0).siblings("."+d.ELEM_DATA),a=e.children("li"),a=(a.each(function(){var e=o(this),a=e.find('input[type="checkbox"]'),t=a[0].title,t=("cs"!==l.showSearch&&(t=t.toLowerCase(),n=n.toLowerCase()),-1!==t.indexOf(n));e[t?"removeClass":"addClass"](d.CLASS_HIDE),a.data("hide",!t)}),i.renderCheckBtn(),a.length===e.children("li."+d.CLASS_HIDE).length);i.noneView(e,a?l.text.searchNone:"")})},o.extend(t,{getData:function(e){e=t.getInst(e);if(e)return e.getData()}}),e(d.MOD_NAME,t)});layui.define("component",function(e){"use strict";var o=layui.$,i=layui.lay,t=layui.component({name:"carousel",config:{width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},CONST:{ELEM:"layui-carousel",ELEM_ITEM:">*[carousel-item]>*",ELEM_LEFT:"layui-carousel-left",ELEM_RIGHT:"layui-carousel-right",ELEM_PREV:"layui-carousel-prev",ELEM_NEXT:"layui-carousel-next",ELEM_ARROW:"layui-carousel-arrow",ELEM_IND:"layui-carousel-ind"},render:function(){var e=this,i=e.config;e.elemItem=i.elem.find(s.ELEM_ITEM),i.index<0&&(i.index=0),i.index>=e.elemItem.length&&(i.index=e.elemItem.length-1),i.interval<800&&(i.interval=800),i.full?i.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):i.elem.css({width:i.width,height:i.height}),i.elem.attr("lay-anim",i.anim),e.elemItem.eq(i.index).addClass(s.CLASS_THIS),e.indicator(),e.arrow(),e.autoplay()},extendsInstance:function(){var i=this;i.config;return{elemInd:i.elemInd,elemItem:i.elemItem,timer:i.timer,"goto":function(e){i["goto"](e)}}}}),s=t.CONST,n=t.Class;n.prototype.prevIndex=function(){var e=this.config.index-1;return e=e<0?this.elemItem.length-1:e},n.prototype.nextIndex=function(){var e=this.config.index+1;return e=e>=this.elemItem.length?0:e},n.prototype.addIndex=function(e){var i=this.config;i.index=i.index+(e=e||1),i.index>=this.elemItem.length&&(i.index=0)},n.prototype.subIndex=function(e){var i=this.config;i.index=i.index-(e=e||1),i.index<0&&(i.index=this.elemItem.length-1)},n.prototype.autoplay=function(){var e=this,i=e.config,t=e.elemItem.length;i.autoplay&&(clearInterval(e.timer),1',''].join(""));e.elem.attr("lay-arrow",e.arrow),e.elem.find("."+s.ELEM_ARROW)[0]&&e.elem.find("."+s.ELEM_ARROW).remove(),1t.index?i.slide("add",e-t.index):e
              ',(i=[],layui.each(e.elemItem,function(e){i.push("")}),i.join("")),"
            "].join(""));t.elem.attr("lay-indicator",t.indicator),t.elem.find("."+s.ELEM_IND)[0]&&t.elem.find("."+s.ELEM_IND).remove(),1n[a?"height":"width"]()/3)&&o.slide(0"),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(["i18n","component"],function(o){"use strict";var L=layui.$,g=layui.i18n,v=layui.component({name:"flow",CONST:{ELEM_LOAD:'',ELEM_MORE:"layui-flow-more",FLOW_SCROLL_EVENTS:"scroll.lay_flow_scroll",LAZYIMG_SCROLL_EVENTS:"scroll.lay_flow_lazyimg_scroll"},render:function(){var i,n,r=this.config,c=0,o=r.elem;if(o[0]){var e,a=L(r.scrollElem||document),m="mb"in r?r.mb:50,l=!("isAuto"in r)||r.isAuto,t=r.moreText||g.$t("flow.loadMore"),f=r.end||g.$t("flow.noMore"),s="top"===(r.direction||"bottom"),u=r.scrollElem&&r.scrollElem!==document,d=""+t+"",E=L('"),p=(o.find("."+T.ELEM_MORE).remove(),o[s?"prepend":"append"](E),function(o,e){var l=u?a.prop("scrollHeight"):document.documentElement.scrollHeight,t=a.scrollTop();E[s?"after":"before"](o),(e=0==e||null)?E.html(f):y.html(d),n=e,i=null,r.isLazyimg&&v.lazyimg({elem:r.elem.find("img[lay-src]"),scrollElem:r.scrollElem,direction:r.direction,id:r.id}),s&&(o=u?a.prop("scrollHeight"):document.documentElement.scrollHeight,1===c?a.scrollTop(o):1=i&&o<=n&&e.attr("lay-src")&&(l=e.attr("lay-src"),layui.img(l,function(){var o=t.eq(u);e.attr("src",l).removeAttr("lay-src"),o[0]&&E(o),u++},function(){e.removeAttr("lay-src")}))};if(o)l(o);else for(var r=0;r"),preview:"Preview"},wordWrap:!0,lang:"text",highlighter:!1,langMarker:!1,highlightLine:{focus:{range:"",comment:!1,classActiveLine:"layui-code-line-has-focus",classActivePre:"layui-code-has-focused-lines"},hl:{comment:!1,classActiveLine:"layui-code-line-highlighted"},"++":{comment:!1,classActiveLine:"layui-code-line-diff-add"},"--":{comment:!1,classActiveLine:"layui-code-line-diff-remove"}}},O=layui.code?layui.code.index+1e4:0,P=function(e){return String(e).replace(/\s+$/,"").replace(/^\n|\n$/,"")},R=function(e){return"string"!=typeof e?[]:A.map(e.split(","),function(e){var e=e.split("-"),t=parseInt(e[0],10),e=parseInt(e[1],10);return t&&e?A.map(new Array(e-t+1),function(e,i){return t+i}):t||undefined})},H=/(?:\/\/|\/\*{1,2}||-->)?/;e("code",function(r,e){var u,a,i,t,l,n,o,c,s,d,y,p,E,h,f,v,m,L,g,M,_,C={config:r=A.extend(!0,{},j,r),reload:function(e){layui.code(this.updateOptions(e))},updateOptions:function(e){return delete(e=e||{}).elem,A.extend(!0,r,e)},reloadCode:function(e){layui.code(this.updateOptions(e),"reloadCode")}},w=A(r.elem);return 1',r.ln?['
            ',x.digit(i+1)+".","
            "].join(""):"",'
            ',(d.needParseComment?e.replace(H,""):e)||" ","
            ",""].join("")}),d.preClass&&u.addClass(d.preClass),{lines:s,html:e}},t=r.code,l=function(e){return"function"==typeof r.codeParse?r.codeParse(e,r):e},"reloadCode"===e?u.children(".layui-code-wrap").html(w(l(t)).html):(n=layui.code.index=++O,u.attr("lay-code-index",n),(M=T.CDDE_DATA_CLASS in u.data())&&u.attr("class",u.data(T.CDDE_DATA_CLASS)||""),M||u.data(T.CDDE_DATA_CLASS,u.attr("class")),o={copy:{className:"file-b",title:[W.$t("code.copy")],event:function(e){var i=x.unescape(l(r.code)),t="function"==typeof r.onCopy;lay.clipboard.writeText({text:i,done:function(){if(t&&!1===r.onCopy(i,!0))return;N.msg(W.$t("code.copied"),{icon:1})},error:function(){if(t&&!1===r.onCopy(i,!1))return;N.msg(W.$t("code.copyError"),{icon:2})}})}}},function b(){var e=u.parent("."+T.ELEM_PREVIEW),i=e.children("."+T.ELEM_TAB),t=e.children("."+T.ELEM_ITEM+"-preview");return i.remove(),t.remove(),e[0]&&u.unwrap(),b}(),r.preview&&(M="LAY-CODE-DF-"+n,h=r.layout||["code","preview"],c="iframe"===r.preview,E=A('
            '),_=A('
            '),s=A('
            '),g=A('
            '),d=A('
            '),r.id&&E.attr("id",r.id),E.addClass(r.className),_.attr("lay-filter",M),layui.each(h,function(e,i){var t=A('
          • ');0===e&&t.addClass("layui-this"),t.html(r.text[i]),s.append(t)}),A.extend(o,{full:{className:"screen-full",title:[W.$t("code.maximize"),W.$t("code.restore")],event:function(e){var e=e.elem,i=e.closest("."+T.ELEM_PREVIEW),t="layui-icon-"+this.className,a="layui-icon-screen-restore",l=this.title,n=A("html,body"),o="layui-scrollbar-hide";e.hasClass(t)?(i.addClass(T.ELEM_FULL),e.removeClass(t).addClass(a),e.attr("title",l[1]),n.addClass(o)):(i.removeClass(T.ELEM_FULL),e.removeClass(a).addClass(t),e.attr("title",l[0]),n.removeClass(o))}},window:{className:"release",title:[W.$t("code.preview")],event:function(e){x.openWin({content:l(r.code)})}}}),r.copy&&("array"===layui.type(r.tools)?-1===r.tools.indexOf("copy")&&r.tools.unshift("copy"):r.tools=["copy"]),d.on("click",">i",function(){var e=A(this),i=e.data("type"),e={elem:e,type:i,options:r,rawCode:r.code,finalCode:x.unescape(l(r.code))};o[i]&&"function"==typeof o[i].event&&o[i].event(e),"function"==typeof r.toolsEvent&&r.toolsEvent(e)}),r.addTools&&r.tools&&(r.tools=[].concat(r.tools,r.addTools)),layui.each(r.tools,function(e,i){var t="object"==typeof i,a=t?i:o[i]||{className:i,title:[i]},l=a.className||a.type,n=a.title||[""],t=t?a.type||l:i;t&&(o[t]||((i={})[t]=a,A.extend(o,i)),d.append(''))}),u.addClass(T.ELEM_ITEM).wrap(E),_.append(s),r.tools&&_.append(d),u.before(_),c&&g.html(''),y=function(e){var i=e.children("iframe")[0];c&&i?i.srcdoc=l(r.code):e.html(r.code),setTimeout(function(){"function"==typeof r.done&&r.done({container:e,options:r,render:function(){S.render(e.find(".layui-form")),I.render(),D.render({elem:["."+T.ELEM_PREVIEW,".layui-tabs"].join(" ")})}})},3)},"preview"===h[0]?(g.addClass(T.ELEM_SHOW),u.before(g),y(g)):u.addClass(T.ELEM_SHOW).after(g),r.previewStyle=[r.style,r.previewStyle].join(""),g.attr("style",r.previewStyle),I.on("tab("+M+")",function(e){var i=A(this),t=A(e.elem).closest("."+T.ELEM_PREVIEW).find("."+T.ELEM_ITEM),e=t.eq(e.index);t.removeClass(T.ELEM_SHOW),e.addClass(T.ELEM_SHOW),"preview"===i.attr("lay-id")&&y(e),L()})),p=A(''),u.addClass((E=["layui-code-view layui-border-box"],r.wordWrap||E.push("layui-code-nowrap"),E.join(" "))),(_=r.theme||r.skin)&&(u.removeClass("layui-code-theme-dark layui-code-theme-light"),u.addClass("layui-code-theme-"+_)),r.highlighter&&u.addClass([r.highlighter,"language-"+r.lang,"layui-code-hl"].join(" ")),h=w(r.encode?x.escape(l(t)):t),f=h.lines,u.html(p.html(h.html)),r.ln&&u.append('
            '),r.height&&p.css("max-height",r.height),r.codeStyle=[r.style,r.codeStyle].join(""),r.codeStyle&&p.attr("style",function(e,i){return(i||"")+r.codeStyle}),v=[{selector:">.layui-code-wrap>.layui-code-line{}",setValue:function(e,i){e.style["padding-left"]=i+"px"}},{selector:">.layui-code-wrap>.layui-code-line>.layui-code-line-number{}",setValue:function(e,i){e.style.width=i+"px"}},{selector:">.layui-code-ln-side{}",setValue:function(e,i){e.style.width=i+"px"}}],m=lay.style({target:u[0],id:"DF-code-"+n,text:A.map(A.map(v,function(e){return e.selector}),function(e,i){return['.layui-code-view[lay-code-index="'+n+'"]',e].join(" ")}).join("")}),L=function b(){var e,a;return r.ln&&(e=Math.floor(f.length/100),a=p.children("."+T.ELEM_LINE).last().children("."+T.ELEM_LINE_NUM).outerWidth(),u.addClass(T.ELEM_LN_MODE),e)&&a>T.LINE_RAW_WIDTH&&lay.getStyleRules(m,function(e,i){try{v[i].setValue(e,a)}catch(t){}}),b}(),r.header&&((g=A('
            ')).html(r.title||r.text.code),u.prepend(g)),M=A('
            '),r.copy&&!r.preview&&((_=A(['','',""].join(""))).on("click",function(){o.copy.event()}),M.append(_)),r.langMarker&&M.append(''+r.lang+""),r.about&&M.append(r.about),u.append(M),r.preview||setTimeout(function(){"function"==typeof r.done&&r.done({})},3),r.elem.length===1+n&&"function"==typeof r.allDone&&r.allDone())),C})}),layui["layui.all"]||layui.addcss("modules/code.css?v=6","skincodecss"); \ No newline at end of file diff --git a/docker/html/layui/layui.js.map b/docker/html/layui/layui.js.map new file mode 100644 index 0000000..4ed305b --- /dev/null +++ b/docker/html/layui/layui.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["layui.js","modules/layui.all.js","modules/lay.js","modules/i18n.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/tab.js","modules/nav.js","modules/breadcrumb.js","modules/progress.js","modules/collapse.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","log","warned","Object","create","errorOnce","_size","builtinModules","builtin","lay","layer","laydate","laypage","laytpl","form","upload","dropdown","transfer","tree","table","treeTable","tabs","tab","nav","breadcrumb","progress","collapse","element","rate","colorpicker","slider","carousel","flow","util","code","jquery","component","i18n","all","layui.all","onNodeLoad","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","hasCallback","value","getElementById","rel","__lay_readyState__","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","counter","lastTimestamp","selector","elem","querySelectorAll","fnToString","Function","ObjectFunctionString","generateUniqueId","Array","searchElement","fromIndex","rst","val","constructor","customizer","pop","reduce","source","targetValue","sourceValue","customResult","isPlainObject","proto","getPrototypeOf","Ctor","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","ev","errorText","join","isTopElem","topElems","matched","clipboard","writeText","legacyCopy","opacity","select","execCommand","err","then","passiveSupported","defineProperty","get","touchEventsSupported","touchSwipe","state","onMove","onEnd","unbindEvents","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","escape","html","unescape","prefix","timestamp","floor","random","createSharedResizeObserver","namespace","ATTR_NAME","handlerCache","o","ResizeObserver","entries","freeze","observe","Element","unobserve","removeAttribute","disconnect","querySelector","treeToFlat","childrenKey","idKey","parentKey","keepChildren","toFlat","initData","nodes","parentId","acc","currNode","children","flatToTree","map","addStr","new_str","ii","removeStr","isObject","child","addClass","className","removeClass","hasClass","has","css","parseValue","thisKey","thisValue","width","height","removeAttr","locale","messages","zh-CN","copy","copied","copyError","maximize","restore","preview","clear","confirm","noData","loadMore","noMore","noMatch","placeholder","validateMessages","required","phone","email","number","date","identity","verifyErrorPromptTitle","months","weeks","time","literal","year","selectDate","selectTime","startTime","endTime","tools","reset","rangeOrderPrompt","invalidDatePrompt","formatErrorPrompt","autoResetPrompt","cancel","defaultTitle","prompt","InputLengthPrompt","photos","rotate","scaleX","zoomIn","zoomOut","close","viewPicture","urlError","prev","next","first","total","pagesize","goto","page","asc","title","export","noDataPrompt","compatPrompt","csvText","print","dataFormatError","xhrError","searchPlaceholder","defaultNodeName","deleteNodePrompt","fileType","file","image","video","audio","fileExtensionError","filesOverLengthLimit","currentFilesLength","fileOverSizeLimit","chooseText","timeAgo","days","hours","minutes","future","justNow","toDateString","meridiem","hm","OBJECT_REPLACE_REGEX","isDef","defaultValue","pathParts","casePath","isFallback","cachedFn","resolveValue","set","translation","keypath","parameters","origFn","i18nMessages","hasDefault","fallbackMessage","default","$t","global","vars","charCodeAt","message","errorContext","open","condense","tagStyle","template","render","compile","compiler","compilerCache","extractErrorContext","openDelimiter","closeDelimiter","regex","tagRegex","cores","sides","before","unshift","after","sidesRegex","delimSides","nowrap","tpl","strConcatenation","output","statement","tag","delimiter","_escape","createCompiler","builder","createBuilder","lineNum","templateArr","builderArr","sourceURL","stackLineNumRegxp","stackLineNum","stack","extractErrLineNum","isRecursion","lineNumRegxp","errLineNum","parseInt","start","max","end","min","inst","extendVars","variables","module","amd","doc","DISABLED","view","skipText","elemArr","plate","groups","Number","layout","count","curr","limits","limit","pages","ceil","views","pager","halve","theme","countText","def","limitTemplet","refresh","skip","jump","isskip","childs","btn","input","nodeName","keyCode","load","even","MOD_NAME","MOD_ID","zhCN","YearBeforeMonthLocale","addSpaceBetweenChars","char","nextChar","isCharDigit","isDigit","isNextCharDigit","weekStart","ready","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","order","newThat","getI18nMessages","monthBeforeYear","Intl","parts","DateTimeFormat","lang","month","formatToParts","part","getThis","init","dateType","formatArr","format","isLeapYear","range","isInitValue","trigger","show","showBottom","isPreview","btns","calendar","mark","holidays","zIndex","change","autoConfirm","shade","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","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","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","shortcuts","btnSetting","dataset","timeBtn","dateTime","endState","listYM","checkDate","click","main","isPrimaryColor","thisElemDate","thisId","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","isOut","thisDateTime","startWeek","prevMaxDate","isAlone","tds","elemYM","normalizedYearStr","firstDate","getDay","index_","st","panelYM","normalizedMonthStr","list","setBtnStatus","timeParams","stampRange","yearNum","setTimeStatus","showHour","liElem","hideCount","scroll","ul","haveList","isMonthBeforeYear","startY","li","lay-ym","ol","childUL","showMinute","showSecond","isShow","isYearOrMonth","isChangeMonth","ym","closeList","choose","span","scrollTop","haveSpan","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","isTimeout","addSubYear","isYear","isMonth","prevYear","prevMonth","YM","nextMonth","nextYear","header","layYM","layType","toLocaleLowerCase","showEvent","eventHandler","unbind","closeStop","getInst","one","w","Error","noGlobal","getProto","flat","array","class2type","support","isFunction","nodeType","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","script","toType","rhtmlSuffix","isArrayLike","toArray","pushStack","elems","ret","merge","prevObject","eq","grep","_elem","odd","copyIsArray","deep","expando","isReady","noop","isEmptyObject","globalEval","textContent","nodeValue","makeArray","results","inArray","isXMLDoc","namespaceURI","docElem","ownerDocument","second","invert","matches","callbackExpect","arg","guid","Symbol","iterator","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","password","submit","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","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","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","option","col","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","fragment","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","types","leverageNative","isSetup","saved","isTrigger","delegateType","stopImmediatePropagation","isImmediatePropagationStopped","handleObjIn","eventHandle","t","handlers","namespaces","origType","elemData","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","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","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","setProperty","isFinite","scrollboxSizeBuggy","padding","border","suffix","expand","expanded","propHooks","run","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","isLayui","layer_dir","removeFocus","beforeEnd","resize","minStackIndex","minStackArr","cssname","app","STATUS_NAME","getLinkElem","alert","yes","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","hideOnClose","closeAll","tipsMore","moveElem","shadeo","setScrollbar","background-color","transition","innerWidth","outerWidth","titHeight","outerHeight","btnHeight","setHeight","maxHeight","coords","updatePosition","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","titleHeight","iframeHeight","iframeSrc","elemMin","hasMinLeft","maxminStatus","minLeft","edgeIndex","contentRecordHeight","isfix","executor","closeAnim","WRAP","iframe","contentWindow","write","domsElem","closeLast","layerIndexMax","layerIndexList","isArrayType","legacyTypeMap","formType","maxlength","loop","toolbar","imgIndex","pushData","alt","pid","thumb","imgprev","tabimg","imgnext","errorMsg","keyup","isNumber","getTransform","transforms","touchEndCallback","imgElem","transform","ratio","wheelDelta","zoomElem","threshold","loadi","loadImage","winarea","imgarea","wh","_$","isMobile","_win","propSuffix","propName","deliver","REGEX_FORMAT","REGEX_PARSE","fixbar","elemTopBar","setTopBar","ELEM","$doc","$target","bars","$scroll","bar1","bar2","elemBar","lay-type","bgcolor","countdown","clock","countTime","d","h","setTime","onlyDate","stamp","years","milliseconds","getMilliseconds","defaultMeridiem","customMeridiem","yy","yyyy","MM","dd","H","HH","hh","A","mm","ss","SSS","$1","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","resizeObserver","customName","reloadData","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","stopClickOutsideEvent","stopResizeEvent","isAllowSpread","isSpreadItem","accordion","closeOnClick","mainElem","eachItemView","elemUl","isChild","templet","group","-","viewLi","viewText","elemPanel","TPL_MAIN","mainElemExisted","findMainElem","shadeElem","delayRemove","isClickAllScope","clickScope","elemGroup","spread","autoUpdatePosition","normalizedDelay","isMouseEnter","thisEventElem","opened","isCtxMenu","windowResizeHandler","shouldObserveResize","triggerEl","contentEl","isAccordion","needSpread","groupSibs","ELEM_LI_PAR","dataParams","showstep","tipsAlways","ELEM_VIEW","SLIDER_BAR","SLIDER_WRAP","SLIDER_WRAP_BTN","SLIDER_TIPS","SLIDER_INPUT","SLIDER_INPUT_TXT","SLIDER_INPUT_BTN","ELEM_HOVER","minValue","maxValue","scaleFir","scaleSec","hasRender","elemTemp","setSliderTipsTxt","sliderWrapBtnElem","tipsTxt","setTips","calcSliderTipsLeft","sliderWidth","sliderWrap","setSliderTipsLeft","margin-bottom","elemInput","slide","precision","precisions","decimalArr","sliderAct","sliderTxt","inputValue","offsetValue","arrValue","firLeft","valueTo","secLeft","wrapWidth","selfValue","toFixed","oldLeft","elemMove","sliderBtnElem","up","upCall","oldleft","oldx","reaLeft","inputScale","getInputValue","realValue","alpha","predefine","colors","ICON_PICKER_DOWN","ICON_PICKER_CLOSE","PICKER_TRIG_SPAN","PICKER_TRIG_I","PICKER_SIDE","PICKER_SIDE_SLIDER","PICKER_BASIS","PICKER_ALPHA_BG","PICKER_ALPHA_SLIDER","PICKER_BASIS_CUR","PICKER_INPUT","PICKER_OPENED","elemColorBox","bgstr","HSBToHEX","RGBToHSB","RGBSTo","background","rgb","hsb","r","g","HSBToRGB","t1","t3","t2","hex","nr","rgbs","re","$win","renderPicker","elemPicker","removePicker","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","RESIZE_EVENT_NAME","SUPER_MOD_NAME","HEADER","CLOSE","MORE","BAR","tabAuto","tabClick","headerElem","bodyElem","elemA","isJump","unselect","hasId","force","liThis","tabDelete","tabElem","STOPE","allowclose","isSpread","hideTabMore","tsbTitle","tabAdd","layAttr","titElem","barElem","contElem","tabChange","layid","NAV_ELEM","NAV_ITEM","NAV_BAR","NAV_TREE","NAV_CHILD","NAV_CHILD_C","NAV_MORE","NAV_DOWN","NAV_ANIM","timerMore","timeEnd","bar","itemElem","hasBarElem","NAV_TITLE","thisA","clickEventName","clickThis","NAV_ITEMED","needExpand","parentSibs","ATTE_SPR","separator","aNode","elemTitle","isNone","titleClick","wrapper","CLASS_CONTENT","thisItemElem","thisContentElem","itemSiblings","elemFilter","components","componentName","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","items","allDone","fileLength","request","sets","formData","FormData","resetFileState","unified","res","lengthComputable","loaded","iframeSend","clearInterval","setInterval","iframeBody","forceConvert","convert","thisFile","pushFile","resetFile","filename","newFile","File","getChooseFiles","typeName","images","setChooseFile","setChooseText","checkFile","extendInfo","extInfo","ext","sizes","parseSize","FileList","dataTransfer","formatSize","HIDE","BAD_INPUT","needCheckboxFallback","Form","verify","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","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","selectWrapper","inputElem","dt","panelWrapElem","contentWrapElem","switch","SUBTRA","ICON","ICON_OK","checks","RE_CLASS","titleTplAttrs","titleTplElem","toggleAttribute","indeterminate","isSwitch","isPrimary","syncAppearanceOnPropChanged","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_HEADER","ELEM_BODY","ELEM_FIXED","ELEM_FIXR","ELEM_PAGE_VIEW","ELEM_SORT","ELEM_CHECKED","ELEM_EDIT","ELEM_GROUP","ELEM_COL_SPECIAL","ELEM_TOOL_PANEL","ELEM_EXPAND","DISABLED_TRANSITION","FIXED_HEIGHT_PATCH","DATA_MOVE_NAME","TPL_HEADER","TPL_BODY","unobserveResize","eachChildCols","cellMinWidth","cellMaxWidth","MAX_VALUE","editTrigger","defaultToolbar","defaultContextmenu","autoSort","cols","dispose","pageName","limitName","statusName","msgName","dataName","totalRowName","countName","pullData","setInit","fullHeightGap","parentDiv","parentHeightGap","customHeightFunc","lay-filter","table_sort_asc","table_sort_desc","renderStyle","layTool","layBox","layHeader","layMain","layBody","layFixed","layFixLeft","layFixRight","layTotal","layPage","renderToolbar","renderPagebar","fullSize","observeResize","initOpts","space","unresize","numbers","getWidth","clientWidth","getContentWidth","parentElem","initChildCols","i1","item1","i2","item2","indexChild","childIndex","colspan","rowspan","colGroup","i22","item22","HAS_PARENT","lineStyle","trClassName","cellMaxHeight","iconElem","leftDefaultTemp","elemToolTemp","defaultConfig","toolbarHtml","layEvent","onClick","lis","openPanel","eachCols","fieldTitle","setParentCol","panel","exportFile","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","newData","initSort","reloadType","renderData","totalRow","ajaxOptions","parseData","_xhrAbort","_xhr","startLimit","getTrHtml","trsObj","trs","trs_fixed","trs_fixed_r","tds_fixed","tds_fixed_r","LAY_KEY","edit","trAttr","totalRowData","sortKey","pull","scrollPos","needSyncFixedRowHeight","calcFixedRowHeight","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","trsElem","fixedRowHeightPatchOnHover","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","tableElem","leftTrs","rightTrs","mainTrs","heights","isEnter","isFixed","tableEl","isAutoHeight","syncFixedRowHeight","errorTips","tdIndex","attrData","tableData","trElem","itemData","tableIns","CHILD_COLS","PARENT_COL_INDEX","arrs","eachArrs","invalidNum","getData","textType","csv","xls","alink","dataTitle","dataMain","fieldsIsHide","isTreeTable","ignoreExport","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","tableCache","itemDataIndex","updateOptions","thatOptionsTemp","treeOptions","hasNumberCol","hasChecboxCol","hasRadioCol","scrollTopCache","parseDataThat","retData","isSimpleData","enable","updateStatus","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","flatArr","tempObj","parentIndex","dataNew","getTreeNode","getParentNode","getNodeByIndex","tableId","treeNode","treeNodeData","getNodeDataByIndex","updateNode","removeNode","expandNode","setChecked","getNodeById","tableDataFlat","dataRet","indexArr","getTableData","isParentKey","debounceFn","expandFlag","sonSign","callbackFlag","tableViewElem","treeTableThat","trData","isToggle","trExpand","retValue","trExpanded","flexIconElem","trDataId","updateNodeIcon","scopeEl","isExpand","asyncSuccessFn","asyncContentType","asyncDataType","asyncJsonpCallback","asyncHeaders","asyncParseData","asyncResponse","str2Obj","dataLevelNew","asyncSetting","asyncUrl","asyncAutoParam","itemArr","asyncType","str2","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","nodeP","trEl","delNode","updateCheckStatus","delNodesFlat","delNodeDataIndex","i4","item4","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","isRadio","trDataP","radioElem","collectNeedExpandNodeIndex","needExpandIndex","nodeData","checkAllNodes","reloadAsyncNode","dataId","getNodesByFilter","isSingle","nodesResult","headerMode","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","DISABLED_CLOSE_SELECTOR","itemIndex","nextHeader","prevHeader","thatA","isLink","appendClose","closable","headerItems","tabsLeft","scrollMode","CLASS_SCROLL","CLASS_BAR","CLASS_BAR_ICON","rollElem","prevLeft","elemScroll","thisLeft","bodyItems","headerItemIndex","thisBodyItem","getHeaderItem","getBodyItem","showCheckbox","showLine","onlyIconControl","ELEM_SET","ICON_CLICK","ICON_ADD","ICON_SUB","ELEM_ENTRY","ELEM_TEXT","ELEM_PACK","ELEM_SPREAD","ELEM_LINE_SHORT","ELEM_SHOW","ELEM_EXTEND","flatData","checkids","editIcon","hasChild","packDiv","entryDiv","checkClick","operate","entry","elemCheckbox","elemText","touchOpen","packCont","iconClick","updateFieldValue","sibls","syncCheckedState","isManual","setChildrenChecked","setParentsChecked","nodeWrapper","thisNodeElem","descendantsChecked","parentNodeElem","parentCheckbox","parentPack","childrenWrapper","childChecked","oncheck","getVal","returnObj","textNew","i18nText","elemDel","pare","siblingTree","parentTree","prevDiv","pack","onsearch","checkedId","eachNodes","index2","cloneItem","showSearch","ELEM_BOX","ELEM_SEARCH","ELEM_ACTIVE","ELEM_DATA","BTN_DISABLED","searchNone","TPL_BOX","checkAllName","layData","layBtn","listElem","renderCheckBtn","thisDataElem","allElemCheckbox","listElemCheckbox","nums","haveChecked","isHide","stopNone","noneView","createNoneElem","selectedData","thisElemCheckbox","thisBoxElem","siblingInput","thisList","onchange","elemThis","dblclick","thisListElem","isMatch","arrow","indicator","autoplay","ELEM_ITEM","ELEM_LEFT","ELEM_RIGHT","ELEM_ARROW","ELEM_IND","elemItem","elemInd","prevIndex","addIndex","subIndex","itemsCount","tplArrow","tplInd","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","ELEM_LOAD","ELEM_MORE","FLOW_SCROLL_EVENTS","LAZYIMG_SCROLL_EVENTS","finished","mb","isAuto","moreText","endText","isTop","notDocument","$more","scrollHeightStart","scrollTopStart","$moreBtn","isLazyimg","lazyimg","scrollHeightEnd","$elem","elemTop","ELEM_TAB","ELEM_FULL","ELEM_LINE","ELEM_LINE_NUM","ELEM_LN_MODE","CDDE_DATA_CLASS","LINE_RAW_WIDTH","about","ln","encode","wordWrap","highlighter","langMarker","highlightLine","comment","classActiveLine","classActivePre","hl","++","--","codeIndex","parseHighlightedLines","highlightLineRegex","rawCode","finalCode","isIframePreview","elemHeaderView","elemToolbar","runPreview","codeElem","createCodeRst","lines","setCodeLayout","elemFixbar","copyElem","reloadCode","obverse","codeRender","createCode","highlightLineOptions","codeLines","hasHighlightLine","needParseComment","lineClassMap","preClassMap","updateLineClassMap","highlightLineInfo","lineNumber","highlightLines","line","startLine","preClass","codeParse","hasDataClass","hasOnCopy","onCopy","elemViewHas","elemTabHas","elemPreviewViewHas","FILTER_VALUE","elemTabView","elemPreviewView","classNameFull","classNameRestore","htmlElem","ELEM_SCROLLBAR_HIDE","oi","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.13.0'; // 版本号\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 msg = '[Layui warn]: ' + msg;\n\n if (window.console) {\n console[type] ? console[type](msg) : console.log(msg);\n }\n };\n var warned = Object.create(null);\n\n var errorOnce = function (msg, type) {\n if(warned._size && warned._size > 100){\n warned = Object.create(null);\n warned._size = 0;\n }\n if (!warned[msg]) {\n warned[msg] = true;\n warned._size = (warned._size || 0) + 1;\n error(msg, type)\n }\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 tab: 'tab', // 选项卡(兼容保留)\n nav: 'nav', // 导航菜单\n breadcrumb: 'breadcrumb', // 面包屑\n progress: 'progress', // 进度条\n collapse: 'collapse', // 折叠面板\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 i18n: 'i18n', // 国际化\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 hasCallback = typeof callback === 'function';\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 var link = document.getElementById(id);\n\n // 初始创建节点\n if (!link) {\n link = document.createElement('link');\n link.href = href + (config.debug ? '?v='+new Date().getTime() : '');\n link.rel = 'stylesheet';\n link.id = id;\n head.appendChild(link);\n }\n\n // 若加载已完成,则直接执行回调函数\n if (link.__lay_readyState__ === 'complete') {\n hasCallback && callback(link);\n return that;\n }\n\n // 初始加载\n onNodeLoad(link, function() {\n link.__lay_readyState__ = 'complete';\n hasCallback && 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 errorOnce: errorOnce\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 var fnToString = Function.prototype.toString;\r\n var ObjectFunctionString = fnToString.call(Object);\r\n var hasOwnProperty = Object.prototype.hasOwnProperty;\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 * 将一个或多个对象合并到目标对象中\r\n * 对象类型值始终进行「深拷贝」合并。若需浅拷贝合并,请使用 Object.assign()\r\n * @param {*} target - 目标对象\r\n * @param {...*} objectN - 一个或多个包含要应用的属性的源对象\r\n * @param {Function} customizer - 可选的自定义合并函数\r\n * @returns {*} 返回合并后的对象\r\n * @example\r\n *```js\r\n * console.log(lay.extend({}, {a:1})); // expected: {a:1}\r\n * console.log(lay.extend({a:1}, {a:3}, {a:5,b:5})); // expected: {a:5,b:5}\r\n * // 多个相同源对象的不同合并方式\r\n * const objN = [\r\n * {\r\n * a: [1, 3],\r\n * b: {ba: 1}\r\n * },\r\n * {\r\n * a: [5],\r\n * b: {bb: 2}\r\n * },\r\n * {\r\n * b: {ba: 3},\r\n * c: 3\r\n * }\r\n * ];\r\n * console.log(lay.extend({}, ...objN)); // expected: {a:[5,3],b:{ba:3,bb:2},c:3}\r\n * // 使用 customizer 实现数组覆盖而非合并\r\n * const obj1 = lay.extend({}, ...objN, function(objValue, srcValue) {\r\n * if (Array.isArray(objValue) && Array.isArray(srcValue)) {\r\n * return srcValue;\r\n * }\r\n * });\r\n * console.log(obj1); // expected: {a:[5],b:{ba:3,bb:2},c:3}\r\n * // 使用 customizer 实现特定字段跳过合并\r\n * const obj2 = lay.extend({}, ...objN, function(objValue, srcValue, key, target, source) {\r\n * if (key === 'b') {\r\n * return objValue;\r\n * }\r\n * });\r\n * console.log(obj2); // expected: {a:[5,3],b:{ba:1},c:3}\r\n * ```\r\n */\r\n lay.extend = function() {\r\n var args = [].slice.call(arguments);\r\n\r\n // 最后一个参数是否为 customizer\r\n var customizer = typeof args[args.length - 1] === 'function'\r\n ? args.pop()\r\n : false;\r\n\r\n // 深拷贝合并\r\n return args.reduce(function(target, source) {\r\n // 确保 target 始终是一个对象\r\n if (typeof target !== 'object' || target === null) {\r\n target = {};\r\n }\r\n\r\n for (var key in source) {\r\n if (!source.hasOwnProperty(key)) continue; // 仅处理自有属性\r\n\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n\r\n // 自定义合并逻辑(如数组覆盖、特定字段跳过等)\r\n if (customizer) {\r\n var customResult = customizer(targetValue, sourceValue, key, target, source);\r\n if (customResult !== undefined) {\r\n target[key] = customResult;\r\n continue;\r\n }\r\n }\r\n\r\n // 默认深拷贝逻辑\r\n if (Array.isArray(sourceValue)) {\r\n targetValue = Array.isArray(targetValue) ? targetValue : []\r\n } else if(lay.isPlainObject(sourceValue)) {\r\n targetValue = lay.isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = (lay.isPlainObject(sourceValue) || Array.isArray(sourceValue))\r\n ? lay.extend(targetValue, sourceValue, customizer)\r\n : sourceValue;\r\n }\r\n\r\n return target;\r\n });\r\n };\r\n\r\n /**\r\n * 判断是否为纯对象\r\n * @param {*} obj - 要检查的对象\r\n * @returns {boolean}\r\n */\r\n lay.isPlainObject = function(obj) {\r\n if (\r\n obj === null ||\r\n typeof obj !== 'object' ||\r\n Object.prototype.toString.call(obj) !== '[object Object]'\r\n ) {\r\n return false;\r\n }\r\n\r\n var proto = Object.getPrototypeOf(obj);\r\n\r\n // Object.create(null) 创建的对象\r\n if (proto === null) {\r\n return true;\r\n }\r\n\r\n // 判定具有原型且由全局 Object 构造函数创建的对象为纯对象(来自 jQuery 方案)\r\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\r\n return typeof Ctor === 'function' && fnToString.call(Ctor) === ObjectFunctionString;\r\n };\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 /**\r\n * 检查对象是否具有指定的属性\r\n * @param {Record} obj 要检查的对象\r\n * @param {string} prop 要检查的属性名\r\n * @returns {boolean} 如果对象具有指定的属性,则为 true;否则为 false\r\n */\r\n lay.hasOwn = function(obj, prop){\r\n return hasOwnProperty.call(obj, prop);\r\n };\r\n\r\n /**\r\n * 转义 HTML 字符串中的特殊字符\r\n * @param {string} html 要转义的 HTML 字符串\r\n * @returns {string} 转义后的 HTML 字符串\r\n */\r\n lay.escape = function (html) {\r\n var exp = /[<\"'>]|&(?=#?[a-zA-Z0-9]+)/g;\r\n if (html === undefined || html === null) return '';\r\n\r\n html += '';\r\n if (!exp.test(html)) return html;\r\n\r\n return html.replace(/&(?=#?[a-zA-Z0-9]+;?)/g, '&')\r\n .replace(//g, '>')\r\n .replace(/'/g, ''').replace(/\"/g, '"');\r\n };\r\n\r\n /**\r\n * 还原转义的 HTML 字符串中的特殊字符\r\n * @param {string} html 要还原转义的 HTML 字符串\r\n * @returns {string} 还原转义后的 HTML 字符串\r\n */\r\n lay.unescape = function (html) {\r\n if (html === undefined || html === null) return '';\r\n\r\n return String(html).replace(/\\"/g, '\"').replace(/\\'/g, '\\'')\r\n .replace(/\\>/g, '>').replace(/\\</g, '<')\r\n .replace(/\\&/g, '&');\r\n };\r\n\r\n /**\r\n * 生成唯一的 ID 字符串\r\n * @param {string} prefix ID 前缀,默认为'id'\r\n * @returns {string} 唯一 ID 字符串\r\n */\r\n var generateUniqueId = (function () {\r\n var counter = 0;\r\n var lastTimestamp = null;\r\n\r\n return function (prefix) {\r\n prefix = prefix || 'id';\r\n var timestamp = new Date().getTime();\r\n\r\n // 如果时间戳与上一次相同,增加计数器\r\n // 否则重置计数器\r\n if (timestamp === lastTimestamp) {\r\n counter++;\r\n } else {\r\n counter = 0;\r\n lastTimestamp = timestamp;\r\n }\r\n\r\n // 结合时间戳、随机数和计数器生成 ID\r\n var random = Math.floor(Math.random() * 10000);\r\n\r\n return prefix + '-' + timestamp + '-' + random + '-' + counter;\r\n };\r\n })();\r\n\r\n /**\r\n * 创建共享的 ResizeObserver 实例\r\n * @param {string} namespace 命名空间,用于区分不同的 ResizeObserver 实例\r\n * @returns {ResizeObserver | null} ResizeObserver 实例或 null(如果不支持)\r\n */\r\n lay.createSharedResizeObserver = function (namespace) {\r\n if (typeof window.ResizeObserver === 'undefined') {\r\n window.console && console.log('ResizeObserver is not supported in this browser.');\r\n return null;\r\n }\r\n\r\n namespace = namespace || '';\r\n var ATTR_NAME = 'lay-' + namespace + '-resizeobserver-key';\r\n var handlerCache = {};\r\n\r\n var o = new ResizeObserver(function (entries) {\r\n for (var i = 0; i < entries.length; i++) {\r\n var attrValue = entries[i].target.getAttribute(ATTR_NAME);\r\n\r\n if (attrValue) {\r\n var callback = handlerCache[attrValue];\r\n if (typeof callback === 'function') {\r\n callback(entries[i]);\r\n }\r\n }\r\n }\r\n });\r\n\r\n return Object.freeze({\r\n observe: function (element, callback) {\r\n if (!element || !(element instanceof Element)) {\r\n window.console && console.log('createSharedResizeObserver: Cannot observe non-Element.');\r\n return;\r\n }\r\n\r\n var attrValue = element.getAttribute(ATTR_NAME);\r\n if (!attrValue) {\r\n attrValue = generateUniqueId(namespace);\r\n element.setAttribute(ATTR_NAME, attrValue);\r\n }\r\n\r\n // 使用同一个观察者实例多次观察同一个元素,不会重复添加\r\n handlerCache[attrValue] = callback;\r\n o.observe(element);\r\n },\r\n unobserve: function (element) {\r\n if (!element || !(element instanceof Element)) {\r\n window.console && console.log('createSharedResizeObserver: Cannot unobserve non-Element.');\r\n return;\r\n }\r\n\r\n var attrValue = element.getAttribute(ATTR_NAME);\r\n if (!attrValue) {\r\n return;\r\n }\r\n\r\n // 清除相关回调\r\n if (handlerCache[attrValue]) {\r\n delete handlerCache[attrValue];\r\n }\r\n\r\n element.removeAttribute(ATTR_NAME);\r\n o.unobserve(element);\r\n },\r\n disconnect: function () {\r\n for (var key in handlerCache) {\r\n if (lay.hasOwn(handlerCache,key)) {\r\n delete handlerCache[key];\r\n var elem = document.querySelector('[' + ATTR_NAME + '=\"' + key + '\"]');\r\n if(elem){\r\n elem.removeAttribute(ATTR_NAME);\r\n }\r\n }\r\n }\r\n o.disconnect();\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * 树状数据转平铺\r\n * @param {Object[]} data - 树状数据\r\n * @param {Object} options - 可选项\r\n * @param {string} [options.childrenKey='children'] - 子节点字段名\r\n * @param {string} [options.idKey='id'] - 节点 id 字段名\r\n * @param {string} [options.parentKey='parentId'] - 父节点 id 字段名\r\n * @param {boolean} [options.keepChildren=true] - 是否保留子节点数据\r\n * @returns {Object[]} 返回平铺数据\r\n */\r\n lay.treeToFlat = function(data, options) {\r\n options = Object.assign({\r\n childrenKey: 'children',\r\n idKey: 'id',\r\n parentKey: 'parentId',\r\n keepChildren: true\r\n }, options);\r\n\r\n // 展平\r\n var toFlat = function(initData, nodes, parentId) {\r\n return nodes.reduce(function(acc, currNode) {\r\n var children = currNode[options.childrenKey];\r\n\r\n if (!options.keepChildren) {\r\n delete currNode[options.childrenKey];\r\n }\r\n\r\n currNode[options.parentKey] = parentId; // 设置父节点 id\r\n acc.push(currNode);\r\n\r\n // 递归子节点\r\n if (children && children.length) {\r\n return toFlat(acc, children, currNode[options.idKey]);\r\n }\r\n\r\n return acc;\r\n }, initData);\r\n };\r\n\r\n return toFlat([], JSON.parse(JSON.stringify(data)), null);\r\n };\r\n\r\n /**\r\n * 平铺数据转树状\r\n * @param {Array} data - 平铺数据\r\n * @param {Object} options - 可选项\r\n * @param {string} [options.childrenKey='children'] - 子节点字段名\r\n * @param {string} [options.idKey='id'] - 节点 id 字段名\r\n * @param {string} [options.parentKey='parentId'] - 父节点 id 字段名\r\n */\r\n lay.flatToTree = function(data, options) {\r\n options = Object.assign({\r\n childrenKey: 'children',\r\n idKey: 'id',\r\n parentKey: 'parentId'\r\n }, options);\r\n\r\n data = JSON.parse(JSON.stringify(data)); // 深拷贝,防止修改原数据\r\n\r\n // 先创建节点映射,确保无论平铺数据的顺序如何,组装树时都能正确匹配\r\n var map = data.reduce(function(acc, currNode) {\r\n var id = currNode[options.idKey];\r\n acc[id] = currNode;\r\n acc[id][options.childrenKey] = [];\r\n return acc;\r\n }, {});\r\n\r\n // 组装树\r\n return data.reduce(function(acc, currNode) {\r\n var id = currNode[options.idKey];\r\n var parentId = currNode[options.parentKey];\r\n\r\n // 根节点\r\n if (parentId === null || !map[parentId]) {\r\n acc.push(map[id]);\r\n } else { // 子节点\r\n map[parentId][options.childrenKey].push(currNode);\r\n }\r\n\r\n return acc;\r\n }, []);\r\n };\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 * i18n\r\n * 国际化\r\n */\r\n\r\nlayui.define('lay', function(exports) {\r\n 'use strict';\r\n\r\n var lay = layui.lay;\r\n var hint = layui.hint();\r\n\r\n var MOD_NAME = 'i18n';\r\n\r\n // 识别预先可能定义的指定全局对象\r\n var GLOBAL = window.LAYUI_GLOBAL || {};\r\n\r\n // 简体中文\r\n var zhCN = {\r\n code: {\r\n copy: '复制代码',\r\n copied: '已复制',\r\n copyError: '复制失败',\r\n maximize: '最大化显示',\r\n restore: '还原显示',\r\n preview: '在新窗口预览'\r\n },\r\n colorpicker: {\r\n clear: '清除',\r\n confirm: '确定'\r\n },\r\n dropdown: {\r\n noData: '暂无数据'\r\n },\r\n flow: {\r\n loadMore: '加载更多',\r\n noMore: '没有更多了'\r\n },\r\n form: {\r\n select: {\r\n noData: '暂无数据',\r\n noMatch: '无匹配数据',\r\n placeholder: '请选择'\r\n },\r\n validateMessages: {\r\n required: '必填项不能为空',\r\n phone: '手机号格式不正确',\r\n email: '邮箱格式不正确',\r\n url: '链接格式不正确',\r\n number: '只能填写数字',\r\n date: '日期格式不正确',\r\n identity: '身份证号格式不正确'\r\n },\r\n verifyErrorPromptTitle: '提示'\r\n },\r\n laydate: {\r\n months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n weeks: ['日', '一', '二', '三', '四', '五', '六'],\r\n time: ['时', '分', '秒'],\r\n literal: {\r\n year: '年'\r\n },\r\n selectDate: '选择日期',\r\n selectTime: '选择时间',\r\n startTime: '开始时间',\r\n endTime: '结束时间',\r\n tools: {\r\n confirm: '确定',\r\n clear: '清空',\r\n now: '现在',\r\n reset: '重置'\r\n },\r\n rangeOrderPrompt: '结束时间不能早于开始时间\\n请重新选择',\r\n invalidDatePrompt: '不在有效日期或时间范围内\\n',\r\n formatErrorPrompt: '日期格式不合法\\n必须遵循:\\n{format}\\n',\r\n autoResetPrompt: '已自动重置',\r\n preview: '当前选中的结果'\r\n },\r\n layer: {\r\n confirm: '确定',\r\n cancel: '取消',\r\n defaultTitle: '信息',\r\n prompt: {\r\n InputLengthPrompt: '最多输入 {length} 个字符'\r\n },\r\n photos: {\r\n noData: '没有图片',\r\n tools:{\r\n rotate: '旋转',\r\n scaleX: '水平变换',\r\n zoomIn: '放大',\r\n zoomOut: '缩小',\r\n reset: '还原',\r\n close: '关闭'\r\n },\r\n viewPicture: '查看原图',\r\n urlError: {\r\n prompt: '当前图片地址异常,\\n是否继续查看下一张?',\r\n confirm: '下一张',\r\n cancel: '不看了'\r\n }\r\n }\r\n },\r\n laypage: {\r\n prev: '上一页',\r\n next: '下一页',\r\n first: '首页',\r\n last: '尾页',\r\n total: '共 {total} 条',\r\n pagesize: '条/页',\r\n goto: '到第',\r\n page: '页',\r\n confirm: '确定'\r\n },\r\n table: {\r\n sort: {\r\n asc: '升序',\r\n desc: '降序'\r\n },\r\n noData: '暂无数据',\r\n tools:{\r\n filter: {\r\n title: '筛选列'\r\n },\r\n export: {\r\n title: '导出',\r\n noDataPrompt: '当前表格无数据',\r\n compatPrompt: '导出功能不支持 IE,请用 Chrome 等高级浏览器导出',\r\n csvText : '导出 CSV 文件'\r\n },\r\n print: {\r\n title: '打印',\r\n noDataPrompt: '当前表格无数据'\r\n }\r\n },\r\n dataFormatError: '返回的数据不符合规范,正确的成功状态码应为:\"{statusName}\": {statusCode}',\r\n xhrError: '请求异常,错误提示:{msg}'\r\n },\r\n transfer: {\r\n noData: '暂无数据',\r\n noMatch: '无匹配数据',\r\n title: ['列表一', '列表二'],\r\n searchPlaceholder: '关键词搜索'\r\n },\r\n tree: {\r\n defaultNodeName: '未命名',\r\n noData: '暂无数据',\r\n deleteNodePrompt: '确认删除\"{name}\"节点吗?'\r\n },\r\n upload: {\r\n fileType: {\r\n file: '文件',\r\n image: '图片',\r\n video: '视频',\r\n audio: '音频'\r\n },\r\n validateMessages: {\r\n fileExtensionError: '选择的{fileType}中包含不支持的格式',\r\n filesOverLengthLimit: '同时最多只能上传: {length} 个文件',\r\n currentFilesLength: '当前已经选择了: {length} 个文件',\r\n fileOverSizeLimit: '文件大小不能超过 {size}'\r\n },\r\n chooseText: '{length} 个文件'\r\n },\r\n util: {\r\n timeAgo: {\r\n days: '{days} 天前',\r\n hours: '{hours} 小时前',\r\n minutes: '{minutes} 分钟前',\r\n future: '未来',\r\n justNow: '刚刚'\r\n },\r\n toDateString: {\r\n // https://www.unicode.org/cldr/charts/47/supplemental/day_periods.html\r\n meridiem: function(hours, minutes){\r\n var hm = hours * 100 + minutes;\r\n if (hm < 500) {\r\n return '凌晨';\r\n } else if (hm < 800) {\r\n return '早上';\r\n } else if (hm < 1200) {\r\n return '上午';\r\n } else if (hm < 1300) {\r\n return '中午';\r\n } else if (hm < 1900) {\r\n return '下午';\r\n }\r\n return '晚上';\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 默认配置\r\n var config = lay.extend({\r\n locale: 'zh-CN', // 全局内置语言\r\n messages: { // 全局国际化消息对象\r\n 'zh-CN': zhCN\r\n }\r\n }, GLOBAL.i18n); // 读取全局预设配置,确保打包后的版本初始调用时机\r\n\r\n var OBJECT_REPLACE_REGEX = /\\{(\\w+)\\}/g;\r\n\r\n /**\r\n * 获取对象中指定路径的值,类似于 lodash 的 _.get 方法(简易版)\r\n * @param {Record} obj - 要查找的对象\r\n * @param {string} path - 要查找的路径,支持类似 'a[0].b.c' 的格式\r\n * @param {any} defaultValue - 若未找到对应值时返回的默认值\r\n * @returns {any} - 找到的值或默认值\r\n */\r\n function get(obj, path, defaultValue) {\r\n // 'a[0].b.c' ==> ['a', '0', 'b', 'c']\r\n var casePath = path.replace(/\\[(\\d+)\\]/g, '.$1').split('.');\r\n var result = obj;\r\n\r\n for(var i = 0; i < casePath.length; i++) {\r\n result = result && result[casePath[i]];\r\n if(result === null || result === undefined){\r\n return defaultValue;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 为纯函数创建具有缓存功能的版本,类似于 lodash 的 _.memoize 方法(简易版)\r\n * @template T\r\n * @param {(key: string, ...args) => T} fn - 需要缓存的函数,第一个参数为键\r\n * @returns {{(key: string, ...args): T, cleanup: () => void}} - 带有缓存的函数\r\n */\r\n function memoize(fn){\r\n /** @type Record */\r\n var cache = Object.create(null);\r\n\r\n function cachedFn(key) {\r\n var hit = cache[key];\r\n return hit || (cache[key] = fn.apply(cache, arguments));\r\n }\r\n\r\n cachedFn.cleanup = function() {\r\n cache = Object.create(null);\r\n }\r\n return cachedFn;\r\n }\r\n\r\n /**\r\n * 对传入的值进行转义处理\r\n * 若值为字符串,直接进行转义;若为函数,对函数返回的字符串进行转义;若为数组,对数组中的字符串元素进行转义\r\n * @param {any} value - 需要进行转义处理的值\r\n * @returns {any} - 转义后的结果\r\n */\r\n function escape(value) {\r\n if(typeof value === 'string'){\r\n value = lay.escape(value);\r\n }else if(typeof value === 'function'){\r\n var origFn = value;\r\n value = function(){\r\n var val = origFn.apply(this, arguments)\r\n return typeof val === 'string' ? lay.escape(val) : val;\r\n }\r\n }else if(layui.type(value) === 'array'){\r\n value = value.map(function(v){\r\n return typeof v === 'string' ? lay.escape(v) : v;\r\n });\r\n }\r\n\r\n return value\r\n }\r\n\r\n function isDef(value) {\r\n return value !== null && value !== undefined;\r\n }\r\n\r\n var resolveValue = memoize(function(path, obj, defaultValue){\r\n var pathParts = path.split(':');\r\n var locale = pathParts[0];\r\n\r\n path = pathParts[1];\r\n\r\n var value = get(obj, path, defaultValue);\r\n\r\n if (layui.cache.debug) {\r\n var isFallback = defaultValue === value || value === path;\r\n var isNotFound = !isDef(value) || isFallback;\r\n if (isNotFound) {\r\n hint.errorOnce(\"Not found '\" + path + \"' key in '\" + locale + \"' locale messages.\", 'warn');\r\n }\r\n if (isFallback) {\r\n hint.errorOnce(\"Fallback to default message for key: '\" + path + \"'\", 'warn');\r\n }\r\n }\r\n\r\n return isDef(value) ? value : path;\r\n });\r\n\r\n var i18n = {\r\n config: config,\r\n set: function(options) {\r\n lay.extend(config, options);\r\n resolveValue.cleanup();\r\n }\r\n };\r\n\r\n /**\r\n * 根据给定的键从国际化消息中获取翻译后的内容\r\n * 未文档化的私有方法,仅限内部使用\r\n *\r\n * @internal\r\n * @param {string} keypath 要翻译的键路径\r\n * @param {Record | any[]} [parameters] 可选的占位符替换参数:\r\n * - 对象形式:用于替换 `{key}` 形式的占位符;\r\n * - 数组形式:用于替换 `{0}`, `{1}` 等占位符;\r\n * @param {{locale: string, default: string}} [options] 翻译选项\r\n * @returns {string} 翻译后的文本\r\n *\r\n * @example 使用对象替换命名占位符\r\n * message: {\r\n * hello: '{msg} world'\r\n * }\r\n * i18n.$t('message.hello', { msg: 'Hello' })\r\n *\r\n * @example 使用数组替换索引占位符\r\n * message: {\r\n * hello: '{0} world'\r\n * }\r\n * i18n.$t('message.hello', ['Hello'])\r\n */\r\n i18n.translation = function(keypath, parameters, options) {\r\n var locale = (options && options.locale) || config.locale;\r\n var i18nMessages = config.messages[locale];\r\n var namespace = locale + ':';\r\n var hasDefault = options && lay.hasOwn(options, 'default');\r\n var fallbackMessage = hasDefault ? options.default : undefined;\r\n\r\n if (!i18nMessages && !hasDefault) {\r\n hint.errorOnce(\"Locale '\" + locale + \"' not found. Please add i18n messages for this locale first.\", 'warn');\r\n }\r\n\r\n var result = resolveValue(namespace + keypath, i18nMessages, fallbackMessage);\r\n\r\n // 替换占位符\r\n if (typeof result === 'string' && parameters) {\r\n // 第二个参数为对象或数组,替换占位符 {key} 或 {0}, {1}...\r\n result = result.replace(OBJECT_REPLACE_REGEX, function(match, key) {\r\n return parameters[key] !== undefined ? parameters[key] : match;\r\n });\r\n }\r\n\r\n return escape(result);\r\n };\r\n\r\n /**\r\n * i18n.translation 的别名,用于简化代码书写,未文档化仅限内部使用\r\n */\r\n i18n.$t = i18n.translation;\r\n\r\n exports(MOD_NAME, i18n);\r\n});\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\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 /**\r\n * 创建动态正则表达式\r\n * @param {string} str - 表达式字符\r\n * @param {string} mod - 修饰符\r\n * @returns {RegExp} - 正则表达式\r\n */\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 errorContext: ''\r\n }, opts);\r\n\r\n // 向控制台输出错误信息\r\n var message = 'Laytpl '+ (opts.type || '') +'Error: ' + e;\r\n var errorContext = opts.errorContext;\r\n\r\n delete opts.errorContext;\r\n typeof console === 'object' && console.error(message, '\\n', errorContext, '\\n', opts);\r\n typeof error === 'function' && error(opts); // 执行错误回调\r\n return 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 errorContext: that.extractErrorContext(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 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 * 创建模板编译器\r\n * 请注意: 开发者在使用模板语法时,需确保模板中的 JS 语句不来自于页面用户输入。\r\n * 即模板中的 JS 语句必须在页面开发者自身的可控范围内,否则请避免使用该模板解析。\r\n */\r\n var createCompiler = that.createCompiler = function(template, builder) {\r\n builder = builder || createBuilder(template);\r\n return new Function('laytpl', 'return '+ builder)(that.vars);\r\n };\r\n var createBuilder = that.createBuilder = function(template, builder) {\r\n builder = builder || [\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(builder);\r\n return builder;\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 errorContext: that.extractErrorContext(template),\r\n template: template,\r\n type: 'Compile'\r\n }, options.error);\r\n };\r\n }\r\n };\r\n\r\n /**\r\n * 获取模板出错行上下文\r\n * @param {string} template - 原始模板\r\n * @param {Object} data - 数据\r\n * @returns {string}\r\n */\r\n Class.prototype.extractErrorContext = function(template, data) {\r\n var that = this;\r\n\r\n // 给模板每行开头添加行号标记\r\n var lineNum = 1; // 行号\r\n var templateArr = template.split(/\\r?\\n/g);\r\n\r\n template = template.replace(/(?=^)/gm, function() {\r\n return '/*LINE:'+ (lineNum++) +'*/';\r\n });\r\n\r\n var builder = that.createBuilder(template);\r\n var builderArr = builder.split(/\\r?\\n/);\r\n var sourceURL = 'laytpl.builder.map';\r\n\r\n // 模板出错行上下文\r\n var errorContext = function(errLineNum) {\r\n errLineNum = parseInt(errLineNum) - 1;\r\n\r\n var arr = [''];\r\n var contextLines = 3; // 错误行上下延伸的行数\r\n var start = Math.max(0, errLineNum - contextLines);\r\n var end = Math.min(templateArr.length, errLineNum + contextLines);\r\n\r\n for (; start <= end; start++) {\r\n arr.push(\r\n (start == errLineNum ? '? ' : ' ') +\r\n ((start + 1) + '| ') +\r\n templateArr[start]\r\n );\r\n }\r\n\r\n return arr.join('\\n') + '\\n';\r\n };\r\n\r\n try {\r\n builder += ('\\n//# sourceURL='+ sourceURL); // 添加映射\r\n var compiler = that.createCompiler(template, builder);\r\n if (data) compiler(data);\r\n } catch(e) {\r\n // 提取堆栈报错行号\r\n var stackLineNumRegxp = tools.regex(sourceURL.replace(/\\./g, '\\\\.')+':(\\\\d+)', 'i');\r\n var stackLineNum = (e.stack.match(stackLineNumRegxp) || [])[1] || 0;\r\n\r\n // 提取模板实际行号\r\n var extractErrLineNum = function(stackLineNum, isRecursion) {\r\n var lineNumRegxp = isRecursion ? /\\/\\*LINE:(\\d+)\\*\\/[^*]*$/ : /\\/\\*LINE:(\\d+)\\*\\//;\r\n var errLineNum = String(builderArr[stackLineNum - 1]).match(lineNumRegxp) || [];\r\n errLineNum = errLineNum[1];\r\n\r\n // 若当前行未找到行号映射,则递归查找上一行\r\n if (!errLineNum && stackLineNum > 0) {\r\n return extractErrLineNum(stackLineNum - 1, true);\r\n }\r\n\r\n return errLineNum;\r\n };\r\n\r\n // 此处减去 anonymous 开头占用的 2 行\r\n var errLineNum = extractErrLineNum(stackLineNum - 2);\r\n\r\n // 若未找到映射行号,则直接返回 SyntaxError 对象(通过 DevTools 映射源查看模板行号标记)\r\n return errLineNum ? errorContext(errLineNum) : e;\r\n }\r\n };\r\n\r\n /**\r\n * 创建实例\r\n * @param {string} template - 模板\r\n * @param {Object} options - 选项\r\n * @returns {Object}\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 layui === 'object' ? layui.define(function(exports) { // Layui\r\n exports(MOD_NAME, laytpl);\r\n }) : (\r\n typeof module === 'object' && typeof exports === 'object'\r\n ? module.exports = laytpl // CommonJS\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('i18n', function(exports) {\r\n \"use strict\";\r\n\r\n var i18n = layui.i18n;\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 : i18n.$t('laypage.prev'); // 上一页文本\r\n config.next = 'next' in config ? config.next : i18n.$t('laypage.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'\r\n ? config.countText[0] + config.count + config.countText[1]\r\n : i18n.$t('laypage.total', {total: config.count});\r\n\r\n return ''+ countText +''\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 i18n.$t('laypage.goto'),\r\n i18n.$t('laypage.page'),\r\n i18n.$t('laypage.confirm')\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","/**\r\n * laydate\r\n * 日期与时间组件\r\n */\r\n\r\nlayui.define(['lay', 'i18n'], function(exports) {\r\n \"use strict\";\r\n\r\n var lay = layui.lay;\r\n var i18n = layui.i18n;\r\n\r\n // 模块名\r\n var MOD_NAME = 'laydate';\r\n var MOD_ID = 'lay-' + MOD_NAME + '-id'; // 已渲染过的索引标记名\r\n var zhCN = 'zh-CN'; // 简体中文语言码\r\n var YearBeforeMonthLocale = ['eu-ES', 'ja-JP', 'km-KH', 'ko-KR', 'pt-BR', 'si-LK', 'ms-MY', 'ug-CN', 'zh-CN', 'zh-HK', 'zh-TW']; // 年份在前的语言\r\n\r\n function addSpaceBetweenChars(str) {\r\n if (typeof str !== 'string' || str.length <= 1) {\r\n return str;\r\n }\r\n\r\n var result = '';\r\n for (var i = 0; i < str.length - 1; i++) {\r\n var char = str[i];\r\n var nextChar = str[i + 1];\r\n result += char;\r\n\r\n // 判断当前字符和下一个字符的类型\r\n var isCharDigit = isDigit(char);\r\n var isNextCharDigit = isDigit(nextChar);\r\n\r\n // 在数字和非数字(非空格)之间添加空格\r\n if (\r\n (isCharDigit && !isNextCharDigit && nextChar !== ' ') || // 数字 → 非数字(非空格)\r\n (char !== ' ' && !isCharDigit && isNextCharDigit) // 非空格非数字 → 数字\r\n ) {\r\n result += ' ';\r\n }\r\n }\r\n result += str[str.length - 1]; // 添加最后一个字符\r\n return result;\r\n }\r\n\r\n function isDigit(char) {\r\n var code = char.charCodeAt(0);\r\n return code >= 48 && code <= 57; // '0' 到 '9' 的 ASCII 码范围\r\n }\r\n\r\n // 外部调用\r\n var laydate = {\r\n v: '5.7.0', // layDate 版本号\r\n config: {\r\n weekStart: 0 // 默认周日一周的开始\r\n }, // 全局配置项\r\n index: window.laydate && window.laydate.v ? 100000 : 0,\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 path = 'modules/laydate.css?v=' + laydate.v;\r\n\r\n // 打包版直接执行回调函数\r\n if (layui['layui.all']) {\r\n typeof callback === 'function' && callback();\r\n } else {\r\n layui.addcss(path, callback, cssname);\r\n }\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 // 更新 i18n 消息对象\r\n that.i18nMessages = that.getI18nMessages();\r\n\r\n // 处理日期面板顶部年月顺序\r\n // 这是一个变通的方法,因为 i18nMessages.monthBeforeYear 不存在\r\n if(typeof that.i18nMessages.monthBeforeYear !== 'boolean'){\r\n if(!window.Intl){\r\n that.i18nMessages.monthBeforeYear = !(YearBeforeMonthLocale.indexOf(options.lang) > -1);\r\n }else{\r\n var formatter = new Intl.DateTimeFormat(options.lang, { year: 'numeric', month: 'short' });\r\n var parts = formatter.formatToParts(new Date(1970, 0));\r\n var order = [];\r\n parts.map(function(part) {\r\n if (part.type === 'year' || part.type === 'month') {\r\n order.push(part.type);\r\n }\r\n })\r\n that.i18nMessages.monthBeforeYear = order[0] === 'month';\r\n }\r\n }\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 选项就近生效,去除此处的默认值,$t 设置了英文回退值\r\n lang: '', // 语言,只支持 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 Class.prototype.getI18nMessages = function () {\r\n var that = this;\r\n var options = that.config;\r\n var locale = i18n.config.locale;\r\n\r\n // 纠正旧版「简体中文」语言码\r\n if (options.lang === 'cn') {\r\n options.lang = zhCN;\r\n }else if(!options.lang){\r\n options.lang = i18n.config.locale;\r\n }\r\n locale = options.lang;\r\n\r\n return {\r\n months: i18n.$t('laydate.months', null, {\r\n locale: locale,\r\n default: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n }),\r\n weeks: i18n.$t('laydate.weeks', null, {\r\n locale: locale,\r\n default: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n }),\r\n time: i18n.$t('laydate.time', null, {\r\n locale: locale,\r\n default: ['Hour', 'Minute', 'Second']\r\n }),\r\n literal: {\r\n year: i18n.$t('laydate.literal.year', null, {\r\n locale: locale,\r\n default: ''\r\n })\r\n },\r\n monthBeforeYear: i18n.$t('laydate.monthBeforeYear', null, {\r\n locale: locale,\r\n default: null\r\n }),\r\n selectDate: i18n.$t('laydate.selectDate', null, {\r\n locale: locale,\r\n default: 'Select Date'\r\n }),\r\n selectTime: i18n.$t('laydate.selectTime', null, {\r\n locale: locale,\r\n default: 'Select Time'\r\n }),\r\n startTime: i18n.$t('laydate.startTime', null, {\r\n locale: locale,\r\n default: 'Start Time'\r\n }),\r\n endTime: i18n.$t('laydate.endTime', null, {\r\n locale: locale,\r\n default: 'End Time'\r\n }),\r\n tools: {\r\n confirm: i18n.$t('laydate.tools.confirm', null, {\r\n locale: locale,\r\n default: 'Confirm'\r\n }),\r\n clear: i18n.$t('laydate.tools.clear', null, {\r\n locale: locale,\r\n default: 'Clear'\r\n }),\r\n now: i18n.$t('laydate.tools.now', null, {\r\n locale: locale,\r\n default: 'Now'\r\n }),\r\n reset: i18n.$t('laydate.tools.reset', null, {\r\n locale: locale,\r\n default: 'Reset'\r\n })\r\n },\r\n rangeOrderPrompt: i18n.$t('laydate.rangeOrderPrompt', null, {\r\n locale: locale,\r\n default: 'End time cannot be less than start Time\\nPlease re-select'\r\n }),\r\n invalidDatePrompt: i18n.$t('laydate.invalidDatePrompt', null, {\r\n locale: locale,\r\n default: 'Invalid date\\n'\r\n }),\r\n formatErrorPrompt: function (format) {\r\n return i18n.$t('laydate.formatErrorPrompt', {format: format}, {\r\n locale: locale,\r\n default: 'Date format is invalid\\nMust follow the format:\\n{format}\\n'\r\n });\r\n },\r\n autoResetPrompt: i18n.$t('laydate.autoResetPrompt', null, {\r\n locale: locale,\r\n default: 'It has been reset'\r\n }),\r\n preview: i18n.$t('laydate.preview', null, {\r\n locale: locale,\r\n default: 'The selected result'\r\n })\r\n }\r\n }\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.i18nMessages;\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.i18nMessages\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.selectTime +'');\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') {\r\n title = lang.tools.reset;\r\n }\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.i18nMessages\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(\r\n lang.formatErrorPrompt(\r\n options.range ? (options.format + ' '+ that.rangeStr +' ' + options.format) : options.format\r\n ) +\r\n lang.autoResetPrompt\r\n );\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.invalidDatePrompt + lang.autoResetPrompt);\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 // chineseFestivals 仅简体中文生效\r\n if (options.calendar) {\r\n if (options.lang === zhCN) {\r\n render(that.markerOfChineseFestivals);\r\n }\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.i18nMessages\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.invalidDatePrompt);\r\n if(dateTime.year > LIMIT_YEAR[1]) dateTime.year = LIMIT_YEAR[1], that.hint(lang.invalidDatePrompt);\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 var normalizedYearStr = addSpaceBetweenChars(dateTime.year + lang.literal.year);\r\n var normalizedMonthStr = addSpaceBetweenChars(lang.months[dateTime.month]);\r\n if(!lang.monthBeforeYear){\r\n lay(elemYM[0]).attr('lay-type', 'year').html(normalizedYearStr);\r\n lay(elemYM[1]).attr('lay-type', 'month').html(normalizedMonthStr);\r\n } else {\r\n lay(elemYM[0]).attr('lay-type', 'month').html(normalizedMonthStr);\r\n lay(elemYM[1]).attr('lay-type', 'year').html(normalizedYearStr);\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 true,\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.i18nMessages\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 ,isMonthBeforeYear = lang.monthBeforeYear\r\n ,text = lang.literal.year\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[!isMonthBeforeYear ? 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.months[i];\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[!isMonthBeforeYear ? 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 if(!options.range){\r\n that.limit({\r\n type: type,\r\n elem: lay(that.footer).find(ELEM_CONFIRM),\r\n date: dateTime,\r\n disabledType: 'datetime' // 按钮,检测日期和时间\r\n });\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.selectTime;\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.i18nMessages\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) {\r\n that.hint(lang.rangeOrderPrompt);\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 if (oldValue) {\r\n var color = layui.type(options.theme) === 'array' ? options.theme[0] : options.theme;\r\n elemPreview.css({\r\n 'color': /^#/.test(String(color)) ? color : '#16b777'\r\n });\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\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.i18nMessages\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.i18nMessages.selectDate);\r\n }\r\n\r\n //选择日期\r\n ,date: function(){\r\n that.closeList();\r\n lay(btn).attr('lay-type', 'datetime').html(that.i18nMessages.selectTime);\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.invalidDatePrompt);\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 that.hint(isTimeout ? lang.rangeOrderPrompt : lang.invalidDatePrompt);\r\n }\r\n } else {\r\n if(lay(btn).hasClass(DISABLED)) return that.hint(lang.invalidDatePrompt);\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 month: isYear ? 0 : listYM[1] - 1,\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 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 thisModule.that = {}; //记录所有实例对象\r\n\r\n // 获取当前实例对象\r\n thisModule.getThis = function(id) {\r\n var that = thisModule.that[id];\r\n if (!that) {\r\n layui.hint().error(id ? (MOD_NAME +' instance with ID \\''+ id +'\\' not found') : 'ID argument required');\r\n }\r\n return that;\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 exports(MOD_NAME, laydate);\r\n});\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( \"