[
  {
    "path": "README.md",
    "content": "# Venus\n  曾经我尝试做一个类似~~钉钉~~的开源产品。但是在找投资的时候，被告知类似的产品很多,产品并没有太多的意义。所以它在硬盘里又躺了快1年吧，最后我想还是放出来吧。\n\n  这是一款IM 产品，它以网页版的形式提供服务，支持手机端 PC端。它的功能包括 直接语音留言， 视频聊天，音频聊天，文字聊天，加好友等基本功能。没错，是利用网页直接进行视频聊天，语音聊天。在webrtc 如此使用广泛的情况下，做到这点很容易。\n\n   说说效果，在局域网里，比如在公司内部，我觉得你可以获得不亚于QQ 微信的使用体验。视频聊天都会非常正常，效果也不错。如果是互联网上，你文字和语音留言都不成问题，如果要视频，你需要专门提供一个stun服务器才有可能。stun的速度决定了你的效果。坦白地说，利用网页形式 直接进行视频聊天的条件并不成熟。但是5G时代，我相信这样的应用会更加容易实现 \n\n我搭建了一个演示网站，可以直接使用\n\nhttps://www.meetyoucn.com\n\n![网站首页](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/meetyou.png)\n\n\n\n  效果大概这样！\n\n![Watch the video](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/Video.jpg)](http://www.iqiyi.com/w_19s8wf4dp5.html)\n\n\n\n部署\n\n1. 如果 我在Internet 上部署，我需要做什么？\n\n   首先你需要准备SSL证书。然后将证书分别改名为cert.pem 和 key.pem。覆盖项目里原有的证书。\n\n   其次，你需要安装一个redis 服务器作为数据库。\n\n   下载完源码： 在本地看大概这样\n\n   ![Image text](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/5.png)\n\n   ​\n\n   代码的位置在  /webroot/html/js/domain.js\n\n   修改代码里的配置 \n\n   ![修改代码](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/6.png)   \n\n     然后分别重新启动 程序即可。 注意 启动离线语音消息服务器的时候，需要 修改域名部分。 \n\n   启动的样子大概这样，\n\n   启动网站\n\n    ![运行网站](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/1.png)\n\n   启动 信令服务器\n\n   ![运行信令](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/2.png)\n\n   启动IM服务器 这个需要指定redis服务器的地址\n\n      ![运行IM](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/3.png)\n\n   启动离线语音消息服务器， 注意 这个需要指定完整的域名\n\n   ![运行离线语言](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/4-1.png)\n\n   ​    比如你的域名是 www.aaa.com   那么你启动离线语音消息服务器的命令就是\n\n      ./upload -hostname=https://www.aaa.com\n\n      注意必须是https://www.aaa.com  不是http://www.aaa.com\n\n      注意 在Internet 上进行视频通信，需要安装stun,否则视频大概率是会失败的。\n\n      比如你和对方在不同地方使用手机，服务器在Internet上，直接文字聊天，语音留言都没有问题，但是你们直接视频聊天大概率会失败。\n\n     如果你和对方在同一局域网内，使用的服务器在Internet上，那么无论文字聊天，语音留言，直接视频是没有问题的。\n\n   ​\n\n2. 如果我有自己的域名和证书， 我想在局域网里部署，我需要做什么？\n\n   同Internet 部署，没有任何区别\n\n3. 如果你没有自己域名和证书，但是也想试试局域网部署。\n\n   首先，确认你会安装服务器程序的IP, 如果 它们的Ip 是如下IP 里的一个，那么你可以用这个程序直接安装。\n\n   ![Image text](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/dns.png)\n\n​       比如我想安装到的服务地址是 192.168.0.1  那么我可以用www01.meetyoucn.com 作为你的局域网里的域名。\n\n​       第一步 修改源码\n\n​      代码的位置在  /webroot/html/js/domain.js\n\n修改代码里的配置 \n\n![修改代码](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/6.png)   \n\n​      将域名修改成  www01.meetyoucn.com\n\n\n\n然后分别重新启动 程序即可。 注意 启动离线语音消息服务器的时候，需要 修改域名部分。 \n\n启动的样子大概这样，\n\n启动网站\n\n ![运行网站](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/1.png)\n\n启动 语音聊天的信令服务器\n\n![运行信令](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/2.png)\n\n启动IM服务器 这个需要指定redis服务器的地址\n\n   ![运行IM](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/3.png)\n\n启动离线语音消息服务器， 注意 这个需要指定完整的域名\n\n启动命令将改成 ./upload -hostname=https://www01.meetyoucn.com\n\n![运行离线语音](https://raw.githubusercontent.com/xiaojiaqi/Venus/master/manual/4-1.png)\n\n然后你使用 电脑 手机 ipad 打开  https://www01.meetyoucn.com  就可以注册，运行产品了。\n\n\n\n浏览器版本要求\n\n|             | 文字聊天  | 视频聊天            | 操作系统 |\n| :---------: | ----- | --------------- | ---- |\n|     PC      | 所有浏览器 | Firefox, Chrome | 无要求  |\n| Ipad/Iphone | 所有浏览器 | Safari          | 12.0 |\n|   Android   | 所有浏览器 | Chrome          | 无要求  |\n\n\n\n服务器一共有5个。我发现虽然开源过代码，但是我发现大家并没什么兴趣，看来一个可用的产品才是最重要了。\n\n-    第一个 是 网页部分，这个部分是基于一个Layim的产品构建的。我已经购买了源码，你可以放心在上面继续开源使用。  \n-    第二个 是一个Web服务器， 这个你完全可以用一个nginx服务代理。   \n-    第三个 是语音留言服务器， 当你进行语音留言的时候，它会帮你将数据存储在web服务器上。 \n-    第四个 是信令服务器，  主要用于视频聊天时管理双方的信令交互。  \n-    第五个 是IM服务器，主要负责好友关系处理，聊天这样的服务。 \n\n\n\n如何使用docker 运行？\n\ndocker 的使用很简单。\n使用 docker push xiaojiaqi/venus:0.1.0 下载镜像！\n\nhttps://cloud.docker.com/repository/registry-1.docker.io/xiaojiaqi/venus\n\n3 种情况\n\n第一种， 我就是用镜像测试一下\n首先，假设你没有域名，那么你需要找一个 上图里的 ip，作为你的服务器。\n比如你本地服务器 ip 是 192.168.2.2 那么 www22.meetyoucn.com 就是你可以用的域名\n\n运行一下命令 就 ok 了\nsudo docker run --env WEBHOST=www22.meetyoucn.com -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0\n这种玩法的缺点在于，容器重启 资料就没了。\n\n第二种情况， 我本地有一个 redis 服务器，我想把数据保留下来\n假设我的 redis 是 192.168.1.1 我的本地服务器还是 192.168.2.2, 那么域名就仍然是 www22.meetyoucn.com\n\n运行以下命令\nsudo docker run --env WEBHOST=www22.meetyoucn.com --env REDIS=192.168.1.1:6379 -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0\n\n第三种情况， 我有一个自己的证书， 我想用自己的域名\n那么你需要把 cert.pem key.pem 两个挂载进系统\n\n差不多就是这样\n\nsudo docker run -v /local/cert.pem:/app/cert.pem -v /local/key.pem:/app/key.pem --env WEBHOST=www.myhost.com --env REDIS=192.168.2.30:6379 -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0\n\n\n源码的话，看大家反应吧，如果星多就逐步发布吧。\n\n有任何问题 都可以邮件  xiaojiaqi.cn#gmail.com\n"
  },
  {
    "path": "cert.pem",
    "content": "-----BEGIN CERTIFICATE-----\nMIIFVTCCBD2gAwIBAgISAzx+cwzL9i1O8XusnbGJJtyqMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xOTA5MjIwMzU3MzJaFw0x\nOTEyMjEwMzU3MzJaMBoxGDAWBgNVBAMMDyoubWVldHlvdWNuLmNvbTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAOa8Ty/iF7HyW9IJIrU8ED+KZZUuUu\n9Vm1Rew90zj1I9Xi5Wat6jE6jQOHv1w3BinuFg2rm8hSBO9biSYNSKDDJiPxch/1\nfpm7H8IBdh6PbHB6Xrn/tlUkQFVtY+uXN5V8lEze8Pte4acAnV7HykvL9x037K48\nx0AVZDhN+LVby5Q+pex59DlJIaOHRO4U7kcBThqkV4n+hoWeKYjMqPLkEO4N3FFo\nmaIYCL/zB5qQVAPoNafSVaL+pCvI9LTchJnwgG3cXUQ8KKG32qwSl2AIVkWI3cHR\nxlWtWllCc3w8NPaX0nUe2XRmGKXSH43N0Qh4+K6i7F4a7H/d6AYzylUCAwEAAaOC\nAmMwggJfMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB\nBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU4hM4V6e+5nKzzUyhWRN+CTOs\nkJwwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEE\nYzBhMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQu\nb3JnMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQu\nb3JnLzAaBgNVHREEEzARgg8qLm1lZXR5b3Vjbi5jb20wTAYDVR0gBEUwQzAIBgZn\ngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s\nZXRzZW5jcnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQDiaUuuJujp\nQAnohhu2O4PUPuf+dIj7pI8okwGd3fHb/gAAAW1XVQQ/AAAEAwBGMEQCIFdwWKSC\nBbw2Y3jwqht9VpiGisSbWUZslaAq2vNiuYV8AiAdShVrak/QB57alFHbMZ2k31bR\nb+fswYEBuaVzQRCiXAB2AGPy283oO8wszwtyhCdXazOkjWF3j711pjixx2hUS9iN\nAAABbVdVBDIAAAQDAEcwRQIhAL5+2LU/nAkZNX0lBGAC68wbi4qkcq5S0jnBGaAW\nS5eGAiBTasrH8ZiggX1P6elUXcD3ijcAU2SLYmy4iy+MzeUjcDANBgkqhkiG9w0B\nAQsFAAOCAQEAJ1TwFLMyfLgEkwIGGVhlBFWo+bzcAjHpRQykQIFyAFQBLlkyBalD\nTg7bXmTUlHSd622p8AxiNMw7caiQnzOR02Z7R0wo2GwIfhBTHROB//JljxiODOJ+\nWnpY6MmgsBVTL4cOi7Qj8D1hHSmwtmyt3kwFJO2U5mhG1yXFNvR+kuteRt9PthH4\nGe1jiWRaRWj2rkwSENQPhVI0rSSedq/lC15unUC9cTnow2HB6wHIXUP2BFD7xhAu\nyuaKpbd21qOdtrit8CLMpWXy405qlIFPvPN8FAQLIE0kMZy2+MkI5+pDCBeXHm91\nvIC+FaYEQ8kgVYiE6MoFHen38/mJj2pAmg==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\nMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\nDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow\nSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT\nGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF\nq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8\nSMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0\nZ8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA\na6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj\n/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG\nCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv\nbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k\nc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw\nVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC\nARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz\nMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu\nY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF\nAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo\nuM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/\nwApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu\nX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG\nPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6\nKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----\n"
  },
  {
    "path": "key.pem",
    "content": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQDmvE8v4hex8l\nvSCSK1PBA/imWVLlLvVZtUXsPdM49SPV4uVmreoxOo0Dh79cNwYp7hYNq5vIUgTv\nW4kmDUigwyYj8XIf9X6Zux/CAXYej2xwel65/7ZVJEBVbWPrlzeVfJRM3vD7XuGn\nAJ1ex8pLy/cdN+yuPMdAFWQ4Tfi1W8uUPqXsefQ5SSGjh0TuFO5HAU4apFeJ/oaF\nnimIzKjy5BDuDdxRaJmiGAi/8weakFQD6DWn0lWi/qQryPS03ISZ8IBt3F1EPCih\nt9qsEpdgCFZFiN3B0cZVrVpZQnN8PDT2l9J1Htl0Zhil0h+NzdEIePiuouxeGux/\n3egGM8pVAgMBAAECggEAI4fS77dvntgf4ZoCzfOIQhYjiIUImwsB62gBoO6N+9Qh\nYo11D6vzqqSNIGU2UNE0xERcj8kWuYcIQLgpG8548Lti8BBzpPGPxUEnk0Icoets\nYWkEdE8vHCsssWoU/k68t1KnINmR3du+PX7lYSJNcdRLRzoduUO340HD87mdF5te\nvIAkt/Y0LGVz6JfCLnJNcGWgYV7VYxEQ4W54thAysjFhzQepOIX87XWzawfzBz51\nu9js1sLrPbUG1hGuRxXuYM+Pjn0A6OD1whp5earXpikdV+3ryIBmFaHRFtDeuCLJ\nYitGPEDaI4Y/fDSdJizdNnvQgP5KOobA9CJc/2kVoQKBgQDpCxBk54LyM31X40iQ\nlwcdwSqoPYuYyCBhZ+O0lNPOLENMJ79gZerWrz0FZEztEIXYjGFbSdPl5hgn3nSG\nBoryBtUvjQwiq22g7tJOoDms3SjpTHZaJgdVrQjqDy7hhFeyDiNoeGEl/o0jt4wA\n5T1t5kmAL1gAcAwdbDcrdyX9GwKBgQDkjTtmtmVwHzG0ka6hKtnwqrtdbGTlgdt+\nLJCvxXjtwH8B7cxrcl8T7vPhH15qtNN42jAZ3wGAYB6PFDnMuBqNHSBuYkO1P0hu\nYF0jpgHgDtdLR3/bHOJxnmWz+vsbL6tiZ+QHAGvxNcr7GKIhtJhceCqNnSWzjQ1D\n8J/wq3X9TwKBgADPjQsM0yPMkg8QN1xpahjsZx2WuTma2KH+HoiuS95XwRQuvzey\noxKEIY43Px1EBXMvaddLdnVCS6s31ufwdeNJqswzjWtBdWwt6IVlgU3cpxvIrFC7\n+SKPK4zE6MDYGQYBjpX6dTwQmqUZKl+GbKRJPNA5WfEGcsRXcAmyrGspAoGAD94W\nT60+IaioxMaQfzQAaYsQ8w2Be8WmPX5OlUV6fdctei7OUG9iVnnyiKCq53GidPOA\n/2rSKd2CgaB/2sy1WzK4e7FqzfyUxMT/8memHa4qGFngcI/y0LyUhwhXwq1ukqhv\n1mSbGeYIL6KoLvrg0RquqaJNacfTMfJUyFq/GFUCgYAl+Eomeul8TzUxdqowd2K9\nsvweg0pr65eACiPrt5d0Z12r/MVxWbGlrmsgiv8VlHdV5lj27a3SttZMiHgbHg/m\n9t47U+kwm/fmiA6UOvErgB1KezJmHC2JUgsiEaHM5KWGoRsjjyU+JZJuzUTfbDuj\n06NCgqbQ2ToK3oaTLpfKBA==\n-----END PRIVATE KEY-----\n"
  },
  {
    "path": "webroot/dist/css/layui.css",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}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{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{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;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,\\5FAE\\8F6F\\96C5\\9ED1,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;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{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.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}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=220);src:url(../font/iconfont.eot?v=220#iefix) format('embedded-opentype'),url(../font/iconfont.svg?v=220#iconfont) format('svg'),url(../font/iconfont.woff?v=220) format('woff'),url(../font/iconfont.ttf?v=220) format('truetype')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-duihua:before{content:\"\\e611\"}.layui-icon-shezhi:before{content:\"\\e614\"}.layui-icon-yinshenim:before{content:\"\\e60f\"}.layui-icon-search:before{content:\"\\e615\"}.layui-icon-fenxiang1:before{content:\"\\e641\"}.layui-icon-shezhi1:before{content:\"\\e620\"}.layui-icon-yinqing:before{content:\"\\e628\"}.layui-icon-yuejuancuohao:before{content:\"\\1006\"}.layui-icon-cuo:before{content:\"\\1007\"}.layui-icon-baobiao:before{content:\"\\e629\"}.layui-icon-star:before{content:\"\\e600\"}.layui-icon-yuandian:before{content:\"\\e617\"}.layui-icon-chat:before{content:\"\\e606\"}.layui-icon-logo:before{content:\"\\e609\"}.layui-icon-list:before{content:\"\\e60a\"}.layui-icon-tubiao:before{content:\"\\e62c\"}.layui-icon-right:before{content:\"\\1005\"}.layui-icon-huanfu2:before{content:\"\\e61b\"}.layui-icon-On-line:before{content:\"\\e610\"}.layui-icon-biaoge:before{content:\"\\e62d\"}.layui-icon-youyou:before{content:\"\\e602\"}.layui-icon-zuozuo:before{content:\"\\e603\"}.layui-icon-cart-simple:before{content:\"\\e698\"}.layui-icon-cry:before{content:\"\\e69c\"}.layui-icon-smile:before{content:\"\\e6af\"}.layui-icon-survey:before{content:\"\\e6b2\"}.layui-icon-tree:before{content:\"\\e62e\"}.layui-icon-iconfont17:before{content:\"\\e62f\"}.layui-icon-tianjia:before{content:\"\\e61f\"}.layui-icon-xiazai:before{content:\"\\e601\"}.layui-icon-xuanzemoban48:before{content:\"\\e630\"}.layui-icon-gongju:before{content:\"\\e631\"}.layui-icon-face-surprised:before{content:\"\\e664\"}.layui-icon-bianji:before{content:\"\\e642\"}.layui-icon-speaker:before{content:\"\\e645\"}.layui-icon-xiangxia:before{content:\"\\e61a\"}.layui-icon-wenjian:before{content:\"\\e621\"}.layui-icon-layouts:before{content:\"\\e632\"}.layui-icon-duigou:before{content:\"\\e618\"}.layui-icon-tianjia1:before{content:\"\\e608\"}.layui-icon-yaoyaozhibofanye:before{content:\"\\e633\"}.layui-icon-read:before{content:\"\\e705\"}.layui-icon-404:before{content:\"\\e61c\"}.layui-icon-lunbozutu:before{content:\"\\e634\"}.layui-icon-help:before{content:\"\\e607\"}.layui-icon-daima1:before{content:\"\\e635\"}.layui-icon-jinshui:before{content:\"\\e636\"}.layui-icon-find-fill:before{content:\"\\e670\"}.layui-icon-about:before{content:\"\\e60b\"}.layui-icon-location:before{content:\"\\e715\"}.layui-icon-xiangshang:before{content:\"\\e619\"}.layui-icon-pause:before{content:\"\\e651\"}.layui-icon-riqi:before{content:\"\\e637\"}.layui-icon-uploadfile:before{content:\"\\e61d\"}.layui-icon-delete:before{content:\"\\e640\"}.layui-icon-play:before{content:\"\\e652\"}.layui-icon-top:before{content:\"\\e604\"}.layui-icon-haoyouqingqiu:before{content:\"\\e612\"}.layui-icon-weibiaoti1:before{content:\"\\e605\"}.layui-icon-chuangkou:before{content:\"\\e638\"}.layui-icon-comiisbiaoqing:before{content:\"\\e60c\"}.layui-icon-zhengque:before{content:\"\\e616\"}.layui-icon-dollar:before{content:\"\\e659\"}.layui-icon-iconfontwodehaoyou:before{content:\"\\e613\"}.layui-icon-wenjianxiazai:before{content:\"\\e61e\"}.layui-icon-tupian:before{content:\"\\e60d\"}.layui-icon-lianjie:before{content:\"\\e64c\"}.layui-icon-diamond:before{content:\"\\e735\"}.layui-icon-jilu:before{content:\"\\e60e\"}.layui-icon-liucheng:before{content:\"\\e622\"}.layui-icon-fontstrikethrough:before{content:\"\\e64f\"}.layui-icon-unlink:before{content:\"\\e64d\"}.layui-icon-bianjiwenzi:before{content:\"\\e639\"}.layui-icon-sanjiao:before{content:\"\\e623\"}.layui-icon-danxuankuanghouxuan:before{content:\"\\e63f\"}.layui-icon-danxuankuangxuanzhong:before{content:\"\\e643\"}.layui-icon-juzhongduiqi:before{content:\"\\e647\"}.layui-icon-youduiqi:before{content:\"\\e648\"}.layui-icon-zuoduiqi:before{content:\"\\e649\"}.layui-icon-gongsisvgtubiaozongji22:before{content:\"\\e626\"}.layui-icon-gongsisvgtubiaozongji23:before{content:\"\\e627\"}.layui-icon-refresh-2:before{content:\"\\1002\"}.layui-icon-loading-1:before{content:\"\\e63e\"}.layui-icon-return:before{content:\"\\e65c\"}.layui-icon-jiacu:before{content:\"\\e62b\"}.layui-icon-uploading:before{content:\"\\e67c\"}.layui-icon-liaotianduihuaimgoutong:before{content:\"\\e63a\"}.layui-icon-video:before{content:\"\\e6ed\"}.layui-icon-headset:before{content:\"\\e6fc\"}.layui-icon-wenjianjiafan:before{content:\"\\e624\"}.layui-icon-shouji:before{content:\"\\e63b\"}.layui-icon-tianjia2:before{content:\"\\e654\"}.layui-icon-wenjianjia:before{content:\"\\e7a0\"}.layui-icon-biaoqing:before{content:\"\\e650\"}.layui-icon-html:before{content:\"\\e64b\"}.layui-icon-biaodan:before{content:\"\\e63c\"}.layui-icon-cart:before{content:\"\\e657\"}.layui-icon-camera-fill:before{content:\"\\e65d\"}.layui-icon-25:before{content:\"\\e62a\"}.layui-icon-emwdaima:before{content:\"\\e64e\"}.layui-icon-fire:before{content:\"\\e756\"}.layui-icon-set:before{content:\"\\e716\"}.layui-icon-zitixiahuaxian:before{content:\"\\e646\"}.layui-icon-sanjiao1:before{content:\"\\e625\"}.layui-icon-tips:before{content:\"\\e702\"}.layui-icon-tupian-copy-copy:before{content:\"\\e64a\"}.layui-icon-more-vertical:before{content:\"\\e671\"}.layui-icon-zhuti2:before{content:\"\\e66c\"}.layui-icon-loading:before{content:\"\\e63d\"}.layui-icon-xieti:before{content:\"\\e644\"}.layui-icon-refresh-1:before{content:\"\\e666\"}.layui-icon-rmb:before{content:\"\\e65e\"}.layui-icon-home:before{content:\"\\e68e\"}.layui-icon-user:before{content:\"\\e770\"}.layui-icon-notice:before{content:\"\\e667\"}.layui-icon-voice:before{content:\"\\e688\"}.layui-icon-download:before{content:\"\\e681\"}.layui-icon-snowflake:before{content:\"\\e6b1\"}.layui-icon-yemian1:before{content:\"\\e655\"}.layui-icon-template:before{content:\"\\e663\"}.layui-icon-auz:before{content:\"\\e672\"}.layui-icon-console:before{content:\"\\e665\"}.layui-icon-app:before{content:\"\\e653\"}.layui-icon-xiayiye:before{content:\"\\e65a\"}.layui-icon-website:before{content:\"\\e7ae\"}.layui-icon-xiayiye1:before{content:\"\\e65b\"}.layui-icon-component:before{content:\"\\e857\"}.layui-icon-more:before{content:\"\\e65f\"}.layui-icon-shrink-right:before{content:\"\\e668\"}.layui-icon-spread-left:before{content:\"\\e66b\"}.layui-icon-camera:before{content:\"\\e660\"}.layui-icon-note:before{content:\"\\e66e\"}.layui-icon-refresh:before{content:\"\\e669\"}.layui-icon-nv:before{content:\"\\e661\"}.layui-icon-nan:before{content:\"\\e662\"}.layui-icon-senior:before{content:\"\\e674\"}.layui-icon-theme:before{content:\"\\e66a\"}.layui-icon-tread:before{content:\"\\e6c5\"}.layui-icon-praise:before{content:\"\\e6c6\"}.layui-icon-star-fill:before{content:\"\\e658\"}.layui-icon-template-1:before{content:\"\\e656\"}.layui-icon-loading-2:before{content:\"\\e66d\"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow:hidden;overflow-y:auto;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{top:60px;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;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.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;padding:0 15px;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-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:768px){.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:750px}.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:970px}.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:1170px}.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%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space8{margin:-3.5px}.layui-col-space8>*{padding:3.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.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-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 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;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-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:#666}.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:#f2f2f2;cursor:pointer;font-size:14px}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card-body,.layui-card-header,.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.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-header{height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{padding:10px 15px;line-height:24px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.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-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.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{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.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{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;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-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!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:#C9C9C9;color:#009688}.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 #c9c9c9}.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;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:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.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{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{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{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{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}.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;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:999;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);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:#f2f2f2}.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:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\\9}: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-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:28px;margin-right:10px;padding-right:30px;border:1px solid #d2d2d2;cursor:pointer;font-size:0;border-radius:2px;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox:hover{border:1px solid #c2c2c2}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;background-color:#d2d2d2;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;width:30px;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;border:none!important;margin-right:0;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{float:right;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{position:relative;top:0;width:16px;height:16px;line-height:16px;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:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;width:42px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;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 em{position:absolute;right:5px;top:0;width:25px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-form-onswitch i{left:32px;background-color:#fff}.layui-form-onswitch em{left:5px;right:auto;color:#fff!important}.layui-checkbox-disbaled{border-color:#e2e2e2!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.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:#FBFBFB;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 1px 0 0}.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;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-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;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 #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;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:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.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:#009688}.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-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits{vertical-align:top}.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}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.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%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-fixed-r,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.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 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.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:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box,.layui-table-view{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-body,.layui-table-header .layui-table,.layui-table-page{margin-bottom:-1px}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-header{border-width:0 0 1px;overflow:hidden}.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:4px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:4px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.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:28px;line-height:28px;padding:0 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;vertical-align:middle}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px}.layui-table-body .layui-none{line-height:40px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 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}.layui-table-tool{position:relative;width:100%;height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;border-width:1px 0 0;height:41px;font-size:12px}.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:-7px!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-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;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.1)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#333}.layui-code,.layui-upload-list{margin:10px 0}.layui-table-tips-c{position:absolute;right:-3px;top:-12px;width:18px;height:18px;padding:3px;text-align:center;font-weight:700;border-radius:100%;font-size:14px;cursor:pointer;background-color:#666}.layui-table-tips-c:hover{background-color:#999}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;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:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;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-code{position:relative;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-tree{line-height:26px}.layui-tree li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-tree li .layui-tree-spread,.layui-tree li a{display:inline-block;vertical-align:top;height:26px;*display:inline;*zoom:1;cursor:pointer}.layui-tree li a{font-size:0}.layui-tree li a i{font-size:16px}.layui-tree li a cite{padding:0 6px;font-size:14px;font-style:normal}.layui-tree li i{padding-left:6px;color:#333;-moz-user-select:none}.layui-tree li .layui-tree-check{font-size:13px}.layui-tree li .layui-tree-check:hover{color:#009E94}.layui-tree li ul{display:none;margin-left:20px}.layui-tree li .layui-tree-enter{line-height:24px;border:1px dotted #000}.layui-tree-drag{display:none;position:absolute;left:-666px;top:-666px;background-color:#f2f2f2;padding:5px 10px;border:1px dotted #000;white-space:nowrap}.layui-tree-drag i{padding-right:5px}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;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;*display:inline;*zoom:1;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);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.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 #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.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:#009688;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-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{top:20px;right:10px;margin:0}.layui-nav-itemed .layui-nav-more{top:14px}.layui-nav-itemed .layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;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-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;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;transition:all .3s;-webkit-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:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\\0/IE9}.layui-tab-content{padding:10px}.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;transition:all .2s;-webkit-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:#009688}.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 #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.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:#f2f2f2}.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:#5FB878}.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:#5FB878;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:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.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:#666}.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:-8px 6px 0}.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;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\\9;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: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:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left: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\\9;opacity:1;left: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 li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind 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{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.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]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top: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{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.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:15px;bottom:15px;z-index:9999}.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:#666;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-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-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,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-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}@-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}"
  },
  {
    "path": "webroot/dist/css/layui.mobile.css",
    "content": "/** layui-v2.2.6 MIT License By https://www.layui.com */\n blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) 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-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge,.layui-upload-iframe{position:absolute;width:0;height:0}.layui-edge{border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-upload-iframe{border:0;visibility:hidden}.layui-upload-enter{border:1px solid #009E94;background-color:#009E94;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}@-webkit-keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-left{-webkit-animation-name:layui-m-anim-left;animation-name:layui-m-anim-left}@-webkit-keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-right{-webkit-animation-name:layui-m-anim-right;animation-name:layui-m-anim-right}@-webkit-keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.layui-m-anim-lout{-webkit-animation-name:layui-m-anim-lout;animation-name:layui-m-anim-lout}@-webkit-keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.layui-m-anim-rout{-webkit-animation-name:layui-m-anim-rout;animation-name:layui-m-anim-rout}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}"
  },
  {
    "path": "webroot/dist/css/modules/code.css",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}"
  },
  {
    "path": "webroot/dist/css/modules/laydate/default/laydate.css",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.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-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,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.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-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.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}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height: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%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.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}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.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}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!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}.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:#009688}.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-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,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.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}"
  },
  {
    "path": "webroot/dist/css/modules/layer/default/layer.css",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+\"px\")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-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(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png?__inline) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;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}@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}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.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:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;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-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.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-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;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:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.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;*overflow:hidden}.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[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;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-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;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:20px}.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;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.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{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;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}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}"
  },
  {
    "path": "webroot/dist/css/modules/layim/html/chatlog.html",
    "content": " \n \n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n<title>聊天记录</title>\n\n<link rel=\"stylesheet\" href=\"http://local.res.layui.com/layui/src/css/layui.css\">\n<style>\nbody .layim-chat-main{height: auto;}\n</style>\n</head>\n<body>\n\n<div class=\"layim-chat-main\">\n  <ul id=\"LAY_view\"></ul>\n</div>\n\n<div id=\"LAY_page\" style=\"margin: 0 10px;\"></div>\n\n\n<textarea title=\"消息模版\" id=\"LAY_tpl\" style=\"display:none;\">\n{{# layui.each(d.data, function(index, item){\n  if(item.id == parent.layui.layim.cache().mine.id){ }}\n    <li class=\"layim-chat-mine\"><div class=\"layim-chat-user\"><img src=\"{{ item.avatar }}\"><cite><i>{{ layui.data.date(item.timestamp) }}</i>{{ item.username }}</cite></div><div class=\"layim-chat-text\">{{ layui.layim.content(item.content) }}</div></li>\n  {{# } else { }}\n    <li><div class=\"layim-chat-user\"><img src=\"{{ item.avatar }}\"><cite>{{ item.username }}<i>{{ layui.data.date(item.timestamp) }}</i></cite></div><div class=\"layim-chat-text\">{{ layui.layim.content(item.content) }}</div></li>\n  {{# }\n}); }}\n</textarea>\n\n<!-- \n上述模版采用了 laytpl 语法，不了解的同学可以去看下文档：http://www.layui.com/doc/modules/laytpl.html\n\n-->\n\n\n<script src=\"http://local.res.layui.com/layui/src/layui.js\"></script>\n<script>\nlayui.use(['layim', 'laypage'], function(){\n  var layim = layui.layim\n  ,layer = layui.layer\n  ,laytpl = layui.laytpl\n  ,$ = layui.jquery\n  ,laypage = layui.laypage;\n  \n  //聊天记录的分页此处不做演示，你可以采用laypage，不了解的同学见文档：http://www.layui.com/doc/modules/laypage.html\n  \n  \n  //开始请求聊天记录\n  var param =  location.search //获得URL参数。该窗口url会携带会话id和type，他们是你请求聊天记录的重要凭据\n  \n  //实际使用时，下述的res一般是通过Ajax获得，而此处仅仅只是演示数据格式\n  ,res = {\n    code: 0\n    ,msg: ''\n    ,data: [{\n      username: '纸飞机'\n      ,id: 100000\n      ,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'\n      ,timestamp: 1480897882000\n      ,content: 'face[抱抱] face[心] 你好啊小美女'\n    }, {\n      username: 'Z_子晴'\n      ,id: 108101\n      ,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'\n      ,timestamp: 1480897892000\n      ,content: '你没发错吧？face[微笑]'\n    },{\n      username: 'Z_子晴'\n      ,id: 108101\n      ,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'\n      ,timestamp: 1480897898000\n      ,content: '你是谁呀亲。。我爱的是贤心！我爱的是贤心！我爱的是贤心！重要的事情要说三遍~'\n    },{\n      username: 'Z_子晴'\n      ,id: 108101\n      ,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'\n      ,timestamp: 1480897908000\n      ,content: '注意：这些都是模拟数据，实际使用时，需将其中的模拟接口改为你的项目真实接口。\\n该模版文件所在目录（相对于layui.js）：\\n/css/modules/layim/html/chatlog.html'\n    }]\n  }\n  \n  //console.log(param)\n  \n  var html = laytpl(LAY_tpl.value).render({\n    data: res.data\n  });\n  $('#LAY_view').html(html);\n  \n});\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "webroot/dist/css/modules/layim/html/find.html",
    "content": " \n \n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n<title>发现</title>\n\n<link rel=\"stylesheet\" href=\"http://local.res.layui.com/layui/src/css/layui.css\">\n<style>\n\n</style>\n</head>\n<body>\n\n<div style=\"margin: 15px;\">\n  <blockquote class=\"layui-elem-quote\">此为自定义的【查找】页面，因需求不一，所以官方暂不提供该模版结构与样式，实际使用时，可移至该文件到你的项目中，对页面自行把控。\n  <br>文件所在目录（相对于layui.js）：/css/modules/layim/html/find.html</blockquote>\n</div>\n\n\n\n<script src=\"http://local.res.layui.com/layui/src/layui.js\"></script>\n<script>\nlayui.use(['layim', 'laypage'], function(){\n  var layim = layui.layim\n  ,layer = layui.layer\n  ,laytpl = layui.laytpl\n  ,$ = layui.jquery\n  ,laypage = layui.laypage;\n  \n  //一些添加好友请求之类的交互参见文档\n  \n});\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "webroot/dist/css/modules/layim/html/getmsg.json",
    "content": "{\n    \"code\": 0,\n    \"pages\": 1,\n    \"data\": [\n        {\n            \"id\": 76,\n            \"content\": \"申请添加你为好友\",\n            \"uid\": 168,\n            \"from\": 166488,\n            \"from_group\": 0,\n            \"type\": 1,\n            \"remark\": \"有问题要问\",\n            \"href\": null,\n            \"read\": 1,\n            \"time\": \"刚刚\",\n            \"user\": {\n                \"id\": 166488,\n                \"avatar\": \"http://q.qlogo.cn/qqapp/101235792/B704597964F9BD0DB648292D1B09F7E8/100\",\n                \"username\": \"李彦宏\",\n                \"sign\": null\n            }\n        },\n        {\n            \"id\": 75,\n            \"content\": \"申请添加你为好友\",\n            \"uid\": 168,\n            \"from\": 347592,\n            \"from_group\": 0,\n            \"type\": 1,\n            \"remark\": \"你好啊！\",\n            \"href\": null,\n            \"read\": 1,\n            \"time\": \"刚刚\",\n            \"user\": {\n                \"id\": 347592,\n                \"avatar\": \"http://q.qlogo.cn/qqapp/101235792/B78751375E0531675B1272AD994BA875/100\",\n                \"username\": \"麻花疼\",\n                \"sign\": null\n            }\n        },\n        {\n            \"id\": 62,\n            \"content\": \"雷军 拒绝了你的好友申请\",\n            \"uid\": 168,\n            \"from\": null,\n            \"from_group\": null,\n            \"type\": 1,\n            \"remark\": null,\n            \"href\": null,\n            \"read\": 1,\n            \"time\": \"10天前\",\n            \"user\": {\n                \"id\": null\n            }\n        },\n        {\n            \"id\": 60,\n            \"content\": \"马小云 已经同意你的好友申请\",\n            \"uid\": 168,\n            \"from\": null,\n            \"from_group\": null,\n            \"type\": 1,\n            \"remark\": null,\n            \"href\": null,\n            \"read\": 1,\n            \"time\": \"10天前\",\n            \"user\": {\n                \"id\": null\n            }\n        },\n        {\n            \"id\": 61,\n            \"content\": \"贤心 已经同意你的好友申请\",\n            \"uid\": 168,\n            \"from\": null,\n            \"from_group\": null,\n            \"type\": 1,\n            \"remark\": null,\n            \"href\": null,\n            \"read\": 1,\n            \"time\": \"10天前\",\n            \"user\": {\n                \"id\": null\n            }\n        }\n    ]\n}"
  },
  {
    "path": "webroot/dist/css/modules/layim/html/msgbox.html",
    "content": " \n \n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n<title>消息盒子</title>\n\n<link rel=\"stylesheet\" href=\"../../../layui.css?v=1\">\n<style>\n.layim-msgbox{margin: 15px;}\n.layim-msgbox li{position: relative; margin-bottom: 10px; padding: 0 130px 10px 60px; padding-bottom: 10px; line-height: 22px; border-bottom: 1px dotted #e2e2e2;}\n.layim-msgbox .layim-msgbox-tips{margin: 0; padding: 10px 0; border: none; text-align: center; color: #999;}\n.layim-msgbox .layim-msgbox-system{padding: 0 10px 10px 10px;}\n.layim-msgbox li p span{padding-left: 5px; color: #999;}\n.layim-msgbox li p em{font-style: normal; color: #FF5722;}\n\n.layim-msgbox-avatar{position: absolute; left: 0; top: 0; width: 50px; height: 50px;}\n.layim-msgbox-user{padding-top: 5px;}\n.layim-msgbox-content{margin-top: 3px;}\n.layim-msgbox .layui-btn-small{padding: 0 15px; margin-left: 5px;}\n.layim-msgbox-btn{position: absolute; right: 0; top: 12px; color: #999;}\n</style>\n</head>\n<body>\n\n<ul class=\"layim-msgbox\" id=\"LAY_view\"></ul>\n\n<div style=\"margin: 0 15px;\">\n  <blockquote class=\"layui-elem-quote\">注意：这些都是模拟数据，实际使用时，需将其中的模拟接口改为你的项目真实接口。\n  <br>该模版文件所在目录（相对于layui.js）：/css/modules/layim/html/msgbox.html</blockquote>\n</div>\n\n<textarea title=\"消息模版\" id=\"LAY_tpl\" style=\"display:none;\">\n{{# layui.each(d.data, function(index, item){\n  if(item.from){ }}\n    <li data-uid=\"{{ item.from }}\" data-fromGroup=\"{{ item.from_group }}\">\n      <a href=\"/u/{{ item.from }}/\" target=\"_blank\">\n        <img src=\"{{ item.user.avatar }}\" class=\"layui-circle layim-msgbox-avatar\">\n      </a>\n      <p class=\"layim-msgbox-user\">\n        <a href=\"/u/{{ item.from }}/\" target=\"_blank\">{{ item.user.username||'' }}</a>\n        <span>{{ item.time }}</span>\n      </p>\n      <p class=\"layim-msgbox-content\">\n        {{ item.content }} \n        <span>{{ item.remark ? '附言: '+item.remark : '' }}</span>\n      </p>\n      <p class=\"layim-msgbox-btn\">\n        <button class=\"layui-btn layui-btn-small\" data-type=\"agree\">同意</button>\n        <button class=\"layui-btn layui-btn-small layui-btn-primary\" data-type=\"refuse\">拒绝</button>\n      </p>\n    </li>\n  {{# } else { }}\n    <li class=\"layim-msgbox-system\">\n      <p><em>系统：</em>{{ item.content }}<span>{{ item.time }}</span></p>\n    </li>\n  {{# }\n}); }}\n</textarea>\n\n<!-- \n上述模版采用了 laytpl 语法，不了解的同学可以去看下文档：http://www.layui.com/doc/modules/laytpl.html \n-->\n\n\n<script src=\"../../../../layui.js?v=1\"></script>\n<script>\nlayui.use(['layim', 'flow'], function(){\n  var layim = layui.layim\n  ,layer = layui.layer\n  ,laytpl = layui.laytpl\n  ,$ = layui.jquery\n  ,flow = layui.flow;\n\n  var cache = {}; //用于临时记录请求到的数据\n\n  //请求消息\n  var renderMsg = function(page, callback){\n    \n    //实际部署时，请将下述 getmsg.json 改为你的接口地址\n    \n    $.get('getmsg.json', {\n      page: page || 1\n    }, function(res){\n      if(res.code != 0){\n        return layer.msg(res.msg);\n      }\n\n      //记录来源用户信息\n      layui.each(res.data, function(index, item){\n        cache[item.from] = item.user;\n      });\n\n      callback && callback(res.data, res.pages);\n    });\n  };\n\n  //消息信息流\n  flow.load({\n    elem: '#LAY_view' //流加载容器\n    ,isAuto: false\n    ,end: '<li class=\"layim-msgbox-tips\">暂无更多新消息</li>'\n    ,done: function(page, next){ //加载下一页\n      renderMsg(page, function(data, pages){\n        var html = laytpl(LAY_tpl.value).render({\n          data: data\n          ,page: page\n        });\n        next(html, page < pages);\n      });\n    }\n  });\n\n  //打开页面即把消息标记为已读\n  /*\n  $.post('/message/read', {\n    type: 1\n  });\n  */\n\n  //操作\n  var active = {\n    //同意\n    agree: function(othis){\n      var li = othis.parents('li')\n      ,uid = li.data('uid')\n      ,from_group = li.data('fromGroup')\n      ,user = cache[uid];\n\n      //选择分组\n      parent.layui.layim.setFriendGroup({\n        type: 'friend'\n        ,username: user.username\n        ,avatar: user.avatar\n        ,group: parent.layui.layim.cache().friend //获取好友分组数据\n        ,submit: function(group, index){\n          \n          //将好友追加到主面板\n          parent.layui.layim.addList({\n            type: 'friend'\n            ,avatar: user.avatar //好友头像\n            ,username: user.username //好友昵称\n            ,groupid: group //所在的分组id\n            ,id: uid //好友ID\n            ,sign: user.sign //好友签名\n          });\n          parent.layer.close(index);\n          othis.parent().html('已同意');\n        \n        \n          //实际部署时，请开启下述注释，并改成你的接口地址\n          /*\n          $.post('/im/agreeFriend', {\n            uid: uid //对方用户ID\n            ,from_group: from_group //对方设定的好友分组\n            ,group: group //我设定的好友分组\n          }, function(res){\n            if(res.code != 0){\n              return layer.msg(res.msg);\n            }\n\n            //将好友追加到主面板\n            parent.layui.layim.addList({\n              type: 'friend'\n              ,avatar: user.avatar //好友头像\n              ,username: user.username //好友昵称\n              ,groupid: group //所在的分组id\n              ,id: uid //好友ID\n              ,sign: user.sign //好友签名\n            });\n            parent.layer.close(index);\n            othis.parent().html('已同意');\n          });\n          */\n          \n        }\n      });\n    }\n\n    //拒绝\n    ,refuse: function(othis){\n      var li = othis.parents('li')\n      ,uid = li.data('uid');\n\n      layer.confirm('确定拒绝吗？', function(index){\n        $.post('/im/refuseFriend', {\n          uid: uid //对方用户ID\n        }, function(res){\n          if(res.code != 0){\n            return layer.msg(res.msg);\n          }\n          layer.close(index);\n          othis.parent().html('<em>已拒绝</em>');\n        });\n      });\n    }\n  };\n\n  $('body').on('click', '.layui-btn', function(){\n    var othis = $(this), type = othis.data('type');\n    active[type] ? active[type].call(this, othis) : '';\n  });\n});\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "webroot/dist/css/modules/layim/layim.css",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n html #layuicss-skinlayimcss{display:none;position:absolute;width:1989px}body .layui-layim,body .layui-layim-chat{border:1px solid #D9D9D9;border-color:rgba(0,0,0,.05);background-repeat:no-repeat;background-color:#F6F6F6;color:#333;font-family:\\5FAE\\8F6F\\96C5\\9ED1}body .layui-layim-chat{background-size:cover}body .layui-layim .layui-layer-title{height:110px;border-bottom:none;background:0 0}.layui-layim-main{position:relative;top:-98px;left:0}body .layui-layim .layui-layer-content,body .layui-layim-chat .layui-layer-content{overflow:visible}.layui-layim cite,.layui-layim em,.layui-layim-chat cite,.layui-layim-chat em{font-style:normal}.layui-layim-info{height:50px;font-size:0;padding:0 15px}.layui-layim-info *{font-size:14px}.layim-tab-content li h5 *,.layui-layim-info div,.layui-layim-skin li,.layui-layim-tab li,.layui-layim-tool li{display:inline-block;vertical-align:top;*zoom:1;*display:inline}.layim-tab-content li h5 span,.layui-layim-info .layui-layim-user,.layui-layim-list li p,.layui-layim-list li span,.layui-layim-remark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-layim-info .layui-layim-user{max-width:150px;margin-right:5px;font-size:16px}.layui-layim-status{position:relative;top:2px;line-height:19px;cursor:pointer}.layim-status-online{color:#3FDD86}.layim-status-hide{color:#DD691D}.layim-menu-box{display:none;position:absolute;z-index:100;top:24px;left:-31px;padding:5px 0;width:85px;border:1px solid #E2E2E2;border-radius:2px;background-color:#fff;box-shadow:1px 1px 20px rgba(0,0,0,.1)}.layim-menu-box li{position:relative;line-height:22px;padding-left:30px;font-size:12px}.layim-menu-box li cite{padding-right:5px;font-size:14px}.layim-menu-box li i{display:none;position:absolute;left:0;top:0}.layim-menu-box .layim-this i{display:block}.layim-menu-box li:hover{background-color:#eee}.layui-layim-remark{position:relative;left:-6px;display:block;width:100%;border:1px solid transparent;margin-top:8px;padding:0 5px;height:26px;line-height:26px;background:0 0;border-radius:2px}.layui-layim-remark:focus,.layui-layim-remark:hover{border:1px solid #d2d2d2;border-color:rgba(0,0,0,.15)}.layui-layim-remark:focus{background-color:#fff}.layui-layim-tab{margin-top:10px;padding:9px 0;font-size:0}.layui-layim-tab li{position:relative;width:33.33%;height:24px;line-height:24px;font-size:22px;text-align:center;color:#666;color:rgba(0,0,0,.6);cursor:pointer}.layim-tab-two li{width:50%}.layui-layim-tab li.layim-this:after{content:'';position:absolute;left:0;bottom:-9px;width:100%;height:3px;background-color:#3FDD86}.layui-layim-tab li.layim-hide{display:none}.layui-layim-tab li:hover{opacity:.8;filter:Alpha(opacity=80)}.layim-tab-content{display:none;padding:10px 0;height:349px;overflow:hidden;background-color:#fff;background-color:rgba(255,255,255,.9)}.layim-tab-content:hover{overflow-y:auto}.layim-tab-content li h5{position:relative;margin-right:15px;padding-left:30px;height:28px;line-height:28px;cursor:pointer;font-size:0;white-space:nowrap;overflow:hidden}.layim-tab-content li h5 *{font-size:14px}.layim-tab-content li h5 span{max-width:125px}.layim-tab-content li h5 i{position:absolute;left:12px;top:0;color:#C9BDBB}.layim-tab-content li h5 em{padding-left:5px;color:#999}.layim-tab-content li h5[lay-type=true] i{top:2px}.layim-tab-content li ul{display:none;margin-bottom:10px}.layui-layim-list li{position:relative;height:42px;padding:5px 15px 5px 60px;font-size:0;cursor:pointer}.layui-layim-list li:hover{background-color:#F2F2F2;background-color:rgba(0,0,0,.05)}.layui-layim-list li.layim-null{height:20px;line-height:20px;padding:0;font-size:14px;color:#999;text-align:center;cursor:default}.layui-layim-list li.layim-null:hover{background:0 0}.layui-layim-list li *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layui-layim-list li span{margin-top:4px;max-width:155px}.layui-layim-list li img{position:absolute;left:15px;top:8px;width:36px;height:36px;border-radius:100%}.layui-layim-list li p{display:block;padding-right:30px;line-height:18px;font-size:12px;color:#999}.layui-layim-list li .layim-msg-status{display:none;position:absolute;right:10px;bottom:7px;padding:0 5px;height:16px;line-height:16px;border-radius:16px;text-align:center;font-size:10px;background-color:#F74C31;color:#fff}.layim-list-gray{-webkit-filter:grayscale(100%);-ms-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.layui-layim-tool{padding:0 10px;font-size:0;background-color:#F6F6F6;border-radius:0 0 2px 2px}.layui-layim-tool li{position:relative;width:48px;height:37px;line-height:40px;text-align:center;font-size:22px;cursor:pointer}.layui-layim-tool li:active{background-color:#e2e2e2}.layui-layim-tool .layim-tool-msgbox{line-height:37px}.layui-layim-tool .layim-tool-find{line-height:38px}.layui-layim-tool .layim-tool-skin{font-size:26px}.layim-tool-msgbox span{display:none;position:absolute;left:12px;top:-12px;height:20px;line-height:20px;padding:0 10px;border-radius:2px;background-color:#33DF83;color:#fff;font-size:12px;-webkit-animation-duration:1s;animation-duration:1s}.layim-tool-msgbox .layer-anim-05{display:block}.layui-layim-search{display:none;position:absolute;bottom:5px;left:5px;height:28px;line-height:28px}.layui-layim-search input{width:210px;padding:0 30px 0 10px;height:30px;line-height:30px;border:none;border-radius:3px;background-color:#ddd}.layui-layim-search label{position:absolute;right:6px;top:4px;font-size:20px;cursor:pointer;color:#333;font-weight:400}.layui-layim-skin{margin:10px 0 0 10px;font-size:0}.layui-layim-skin li{margin:0 10px 10px 0;line-height:60px;text-align:center;background-color:#f6f6f6}.layui-layim-skin li,.layui-layim-skin li img{width:86px;height:60px;cursor:pointer}.layui-layim-skin li img:hover{opacity:.8;filter:Alpha(opacity=80)}.layui-layim-skin li cite{font-size:14px;font-style:normal}body .layui-layim-chat{background-color:#fff}body .layui-layim-chat-list{width:760px}body .layui-layim-chat .layui-layer-title{height:80px;border-bottom:none;background-color:#F8F8F8;background-color:rgba(245,245,245,.7)}body .layui-layim-chat .layui-layer-content{background:0 0}.layim-chat-list li *,.layui-layim-min .layui-layer-content *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layim-chat-list{display:none;position:absolute;z-index:1000;top:-80px;width:200px;height:100%;background-color:#D9D9D9;overflow:hidden;font-size:0}.layim-chat-list:hover{overflow-y:auto}.layim-chat-list li,.layui-layim-min .layui-layer-content{position:relative;margin:5px;padding:5px 30px 5px 5px;line-height:40px;cursor:pointer;border-radius:3px}.layim-chat-list li img,.layui-layim-min .layui-layer-content img{width:40px;height:40px;border-radius:100%}.layui-layim-photos{cursor:crosshair}.layim-chat-list li{white-space:nowrap}.layim-chat-list li span,.layui-layim-min .layui-layer-content span{width:100px;padding-left:10px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layim-chat-list li span cite{color:#999;padding-left:10px}.layim-chat-list li:hover{background-color:#E2E2E2}.layim-chat-list li.layim-this{background-color:#F3F3F3}.layim-chat-list li .layui-icon{display:none;position:absolute;right:5px;top:7px;color:#555;font-size:22px}.layim-chat-list li .layui-icon:hover{color:#c00}.layim-chat-list li:hover .layui-icon{display:inline-block}.layim-chat-system{margin:10px 0;text-align:center}.layim-chat-system span{display:inline-block;line-height:30px;padding:0 15px;border-radius:3px;background-color:#e2e2e2;cursor:default;font-size:14px}.layim-chat{display:none;position:relative;background-color:#fff;background-color:rgba(255,255,255,.9)}.layim-chat-title{position:absolute;top:-80px;height:80px}.layim-chat-other{position:relative;top:15px;left:15px;padding-left:60px;cursor:default}.layim-chat-other img{position:absolute;left:0;top:0;width:50px;height:50px;border-radius:100%}.layim-chat-username{position:relative;top:5px;font-size:18px}.layim-chat-status{margin-top:6px;font-size:14px;color:#999}.layim-chat-group .layim-chat-other .layim-chat-username{cursor:pointer}.layim-chat-group .layim-chat-other .layim-chat-username em{padding:0 10px;color:#999}.layim-chat-main{height:262px;padding:15px 15px 5px;overflow-x:hidden;overflow-y:auto}.layim-chat-main ul li{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.layim-chat-text,.layim-chat-user{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layim-chat-user{position:absolute;left:3px}.layim-chat-user img{width:40px;height:40px;border-radius:100%}.layim-chat-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.layim-chat-user cite i{padding-left:15px;font-style:normal}.layim-chat-text{position:relative;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#e2e2e2;border-radius:3px;color:#333;word-break:break-all;max-width:462px\\9}.layim-chat-text:after{content:'';position:absolute;left:-10px;top:13px;width:0;height:0;border-style:solid dashed dashed;border-color:#e2e2e2 transparent transparent;overflow:hidden;border-width:10px}.layim-chat-text a{color:#33DF83}.layim-chat-text img{max-width:100%;vertical-align:middle}.layim-chat-text .layui-layim-file,.layui-layim-file{display:block;text-align:center}.layim-chat-text .layui-layim-file{color:#333}.layui-layim-file:hover{opacity:.9}.layui-layim-file i{font-size:80px;line-height:80px}.layui-layim-file cite{display:block;line-height:20px;font-size:14px}.layui-layim-audio{text-align:center;cursor:pointer}.layui-layim-audio .layui-icon{position:relative;top:5px;font-size:24px}.layui-layim-audio p{margin-top:3px}.layui-layim-video{width:120px;height:80px;line-height:80px;background-color:#333;text-align:center;border-radius:3px}.layui-layim-video .layui-icon{font-size:36px;cursor:pointer;color:#fff}.layim-chat-main ul .layim-chat-system{min-height:0;padding:0}.layim-chat-main ul .layim-chat-mine{text-align:right;padding-left:0;padding-right:60px}.layim-chat-mine .layim-chat-user{left:auto;right:3px}.layim-chat-mine .layim-chat-user cite{left:auto;right:60px;text-align:right}.layim-chat-mine .layim-chat-user cite i{padding-left:0;padding-right:15px}.layim-chat-mine .layim-chat-text{margin-left:0;text-align:left;background-color:#5FB878;color:#fff}.layim-chat-mine .layim-chat-text:after{left:auto;right:-10px;border-top-color:#5FB878}.layim-chat-mine .layim-chat-text a{color:#fff}.layim-chat-footer{border-top:1px solid #F1F1F1}.layim-chat-tool{position:relative;padding:0 8px;height:38px;line-height:38px;font-size:0}.layim-chat-tool span{position:relative;margin:0 10px;display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:24px;cursor:pointer}.layim-chat-tool .layim-tool-log{position:absolute;right:5px;font-size:14px}.layim-tool-log i{position:relative;top:2px;margin-right:5px;font-size:20px;color:#999}.layim-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}body .layui-layim-face{margin:10px 0 0 -18px;border:none;background:0 0}body .layui-layim-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-layim-face .layui-layer-TipsG{display:none}.layui-layim-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-layim-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-layim-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layim-chat-textarea{margin-left:10px}.layim-chat-textarea textarea{display:block;width:100%;padding:5px 0 0;height:68px;line-height:20px;border:none;overflow:auto;resize:none;background:0 0}.layim-chat-textarea textarea:focus{outline:0}.layim-chat-bottom{position:relative;height:46px}.layim-chat-send{position:absolute;right:15px;top:3px;height:32px;line-height:32px;font-size:0;cursor:pointer}.layim-chat-send span{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px;line-height:32px;margin-left:5px;padding:0 20px;background-color:#5FB878;color:#fff;border-radius:3px}.layim-chat-send span:hover{background-color:#69BC80}.layim-chat-send span:active{background-color:#59B573}.layim-chat-send .layim-send-btn{border-radius:3px 0 0 3px}.layim-chat-send .layim-send-set{position:relative;width:30px;height:32px;margin-left:0;padding:0;border-left:1px solid #85C998;border-radius:0 3px 3px 0}.layim-send-set .layui-edge{position:absolute;top:14px;left:9px;border-width:6px;border-top-style:solid;border-top-color:#fff}.layim-chat-send .layim-menu-box{left:auto;right:0;top:33px;width:180px;padding:10px 0}.layim-chat-send .layim-menu-box li{padding-right:15px;line-height:28px}body .layui-layim-min{border:1px solid #D9D9D9}.layui-layim-min .layui-layer-content{margin:0 5px;padding:5px 10px;white-space:nowrap}.layui-layim-close .layui-layer-content span{width:auto;max-width:120px}body .layui-layim-members{margin:25px 0 0 -75px;border:none;background:0 0}body .layui-layim-members .layui-layer-content{padding:0;background:0 0;color:#666;box-shadow:none}.layui-layim-members .layui-layer-TipsG{display:none}.layui-layim-members ul{position:relative;width:578px;height:200px;padding:10px 10px 0;border:1px solid #D9D9D9;background-color:#fff;background-color:rgba(255,255,255,.9);box-shadow:none;overflow:hidden;font-size:0}.layui-layim-members ul:hover{overflow:auto}.layim-add-img,.layim-add-remark,.layui-layim-members li{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layui-layim-members li{width:112px;margin:10px 0;text-align:center}.layui-layim-members li a{position:relative;display:inline-block;max-width:100%}.layui-layim-members li a:after{content:'';position:absolute;width:46px;height:46px;left:50%;margin-left:-23px;top:0;border:1px solid #eee;border-color:rgba(0,0,0,.1);border-radius:100%}.layui-layim-members li img{width:48px;height:48px;border-radius:100%}.layui-layim-members li:hover{opacity:.9}.layui-layim-members li a cite{display:block;padding:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .layui-layim-contextmenu{margin:70px 0 0 30px;width:200px;padding:5px 0;border:1px solid #ccc;background:#fff;border-radius:0;box-shadow:0 0 5px rgba(0,0,0,.2)}body .layui-layim-contextmenu .layui-layer-content{padding:0;background-color:#fff;color:#333;font-size:14px;box-shadow:none}.layui-layim-contextmenu .layui-layer-TipsG{display:none}.layui-layim-contextmenu li{padding:0 15px 0 35px;cursor:pointer;line-height:30px}.layui-layim-contextmenu li:hover{background-color:#F2F2F2}.layim-add-box{margin:15px;font-size:0}.layim-add-img img,.layim-add-remark p{margin-bottom:10px}.layim-add-img{width:100px;margin-right:20px;text-align:center}.layim-add-img img{width:100px;height:100px}.layim-add-remark{width:280px}.layim-add-remark .layui-select{width:100%;margin-bottom:10px}.layim-add-remark .layui-textarea{height:80px;min-height:80px;resize:none}.layim-tab-content,.layui-layim-face ul,.layui-layim-tab{margin-bottom:0}.layim-tab-content li h5{margin-top:0;margin-bottom:0},.layui-layim-face img{vertical-align:bottom}.layim-chat-other span{color:#444}.layim-chat-other span cite{padding:0 15px;color:#999}.layim-chat-other:hover{text-decoration:none}"
  },
  {
    "path": "webroot/dist/css/modules/layim/mobile/layim.css",
    "content": "/** layui-v2.2.6 MIT License By https://www.layui.com */\n .layim-tab-content li h5,.layui-layim-list li{border-bottom:1px solid #f2f2f2;cursor:pointer}html #layuicss-skinlayim-mobilecss{display:none;position:absolute;width:1989px}.layim-tab-content li h5 *,.layui-layim-skin li,.layui-layim-tab li,.layui-layim-tool li{display:inline-block;vertical-align:top;*zoom:1;*display:inline}.layim-tab-content li h5 span,.layui-layim-list li p,.layui-layim-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-layim-tab{position:absolute;bottom:0;left:0;right:0;height:50px;border-top:1px solid #f2f2f2;background-color:#fff}.layui-layim-tab li{position:relative;width:33.33%;height:50px;text-align:center;color:#666;color:rgba(0,0,0,.6);cursor:pointer}.layui-layim-tab li .layui-icon{position:relative;top:7px;font-size:25px}.layui-layim-tab li span{position:relative;bottom:-3px;display:block;font-size:12px}.layui-layim-tab li[lay-type=more] .layui-icon{top:4px;font-size:22px}.layui-layim-tab li.layim-this{color:#3FDD86}.layim-new{display:none;position:absolute;top:5px;left:50%;margin-left:15px;width:10px;height:10px;border-radius:10px;background-color:#F74C31;color:#fff}.layim-list-top .layim-new{position:relative;vertical-align:top;top:10px;left:initial;margin-left:5px}.layim-list-top i.layui-show{display:inline-block!important}.layim-tab-content,.layim-tab-content li ul{display:none}.layui-layim{position:fixed;left:0;right:0;top:50px;bottom:50px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.layim-tab-content li h5{position:relative;padding-left:35px;height:45px;line-height:45px;font-size:0;white-space:nowrap;overflow:hidden}.layim-tab-content li h5 *{font-size:17px}.layim-tab-content li h5 span{max-width:80%}.layim-tab-content li h5 i{position:absolute;left:12px;top:0;color:#C9BDBB}.layim-tab-content li h5 em{padding-left:5px;color:#999}.layim-list-friend,.layim-list-group{background-color:#fff}.layui-layim-list li{position:relative;height:42px;padding:5px 15px 5px 60px;font-size:0}.layui-layim-list li:active{background-color:#F2F2F2;background-color:rgba(0,0,0,.05)}.layui-layim-list li.layim-null{height:20px;line-height:20px;padding:10px 0;color:#999;text-align:center;cursor:default;font-size:14px}.layim-list-history li.layim-null{padding:30px 0;border-bottom:none;background-color:#eee}.layui-layim-list li *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:17px}.layui-layim-list li span{margin-top:2px;max-width:155px;font-size:17px}.layui-layim-list li img{position:absolute;left:12px;top:8px;width:36px;height:36px;border-radius:100%}.layui-layim-list li p{display:block;padding-right:30px;line-height:18px;font-size:13px;color:#999}.layui-layim-list li .layim-msg-status{display:none;position:absolute;right:10px;bottom:7px;padding:0 5px;height:17px;line-height:17px;border-radius:17px;text-align:center;font-size:10px;background-color:#F74C31;color:#fff}.layim-list-gray{-webkit-filter:grayscale(100%);-ms-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.layim-list-top{background-color:#fff;font-size:17px}.layim-list-top li{position:relative;padding:0 15px 0 50px;line-height:45px;border-bottom:1px solid #f2f2f2;cursor:pointer}.layim-list-top li:last-child{margin-bottom:10px;border-bottom:none}.layim-list-top li .layui-icon{position:absolute;left:12px;top:0;margin-right:10px;color:#36373C;font-size:24px}.layim-list-top li[layim-event=newFriend] .layui-icon{left:15px}.layim-panel,.layim-title{position:fixed;left:0;right:0;top:0}.layim-list-top li[layim-event=group] .layui-icon{font-size:20px}.layim-list-top li[layim-event=about] .layui-icon{font-size:25px}.layim-panel{bottom:0;background-color:#eee;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layim-title{height:50px;line-height:50px;padding:0 15px;background-color:#36373C;color:#fff;font-size:18px}.layim-chat-status{padding-left:15px;font-size:14px;opacity:.7}.layim-title .layim-chat-back{display:inline-block;vertical-align:middle;position:relative;padding:0 15px;margin-left:-10px;top:0;font-size:24px;cursor:pointer}.layim-chat-detail{position:absolute;right:0;top:0;padding:0 15px;font-size:18px;cursor:pointer}.layim-chat-main,.layim-content{position:fixed;top:50px;left:0;right:0;overflow-y:auto;overflow-x:hidden}.layim-chat-detail:active,.layim-title .layim-chat-back:active{opacity:.8}.layui-layim .layim-title{text-align:left}.layui-layim .layim-title p{padding:0 15px}.layim-content{bottom:0}.layim-chat-main{width:100%;bottom:85px;padding:15px;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layim-chat-main ul{overflow-x:hidden}.layim-chat-main ul li{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.layim-chat-text,.layim-chat-user{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:15px}.layim-chat-user{position:absolute;left:3px}.layim-chat-user img{width:40px;height:40px;border-radius:100%}.layim-chat-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.layim-chat-user cite i{padding-left:15px;font-style:normal}.layim-chat-text{position:relative;min-height:22px;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#fff;border-radius:3px;color:#333;word-break:break-all}.layim-chat-text:after{content:'';position:absolute;left:-10px;top:13px;width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;border-width:10px}.layim-chat-text a{color:#33DF83}.layim-chat-text img{max-width:100%;vertical-align:middle}.layim-chat-text .layui-layim-file,.layui-layim-file{display:block;text-align:center}.layim-chat-text .layui-layim-file{color:#333}.layui-layim-file:active{opacity:.9}.layui-layim-file i{font-size:80px;line-height:80px}.layui-layim-file cite{display:block;line-height:20px;font-size:17px}.layui-layim-audio{text-align:center;cursor:pointer}.layui-layim-audio .layui-icon{position:relative;top:5px;font-size:24px}.layui-layim-audio p{margin-top:3px}.layui-layim-video{width:120px;height:80px;line-height:80px;background-color:#333;text-align:center;border-radius:3px}.layui-layim-video .layui-icon{font-size:36px;cursor:pointer;color:#fff}.layim-chat-main ul .layim-chat-mine{text-align:right;padding-left:0;padding-right:60px}.layim-chat-mine .layim-chat-user{left:auto;right:3px}.layim-chat-mine .layim-chat-user cite{left:auto;right:60px;text-align:right}.layim-chat-mine .layim-chat-user cite i{padding-left:0;padding-right:15px}.layim-chat-mine .layim-chat-text{margin-left:0;text-align:left;background-color:#5FB878;color:#fff}.layim-chat-mine .layim-chat-text:after{left:auto;right:-10px;border-top-color:#5FB878}.layim-chat-mine .layim-chat-text a{color:#fff}.layim-chat-main ul .layim-chat-system{min-height:0;margin:20px 0 5px;padding:0}.layim-chat-system{margin:10px 0;text-align:center}.layim-chat-system span{display:inline-block;line-height:30px;padding:0 15px;border-radius:3px;background-color:#ddd;color:#fff;font-size:14px;cursor:pointer}.layim-chat-footer{position:fixed;bottom:0;left:10px;right:10px;height:80px}.layim-chat-send{display:-webkit-box;display:-webkit-flex;display:flex}.layim-chat-send input{-webkit-box-flex:1;-webkit-flex:1;flex:1;height:40px;padding-left:5px;border:0;background-color:#fff;border-radius:3px}.layim-chat-send button{border-radius:3px;height:40px;padding:0 20px;border:0;margin-left:10px;background-color:#5FB878;color:#fff}.layim-chat-tool{position:relative;width:100%;overflow-x:auto;padding:0;height:38px;line-height:38px;margin-top:3px;font-size:0;white-space:nowrap}.layim-chat-tool span{position:relative;margin:0 15px;display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:28px;cursor:pointer}.layim-chat-tool .layim-tool-log{position:absolute;right:5px;font-size:14px}.layim-tool-log i{position:relative;top:2px;margin-right:5px;font-size:20px;color:#999}.layim-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layim-layer{position:fixed;bottom:85px;left:10px;right:10px;margin:0 auto}.layui-layim-face{position:relative;max-height:180px;overflow:auto;padding:10px;font-size:0}.layui-layim-face li{cursor:pointer;display:inline-block;vertical-align:bottom;padding:5px 2px;text-align:center;width:10%;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-layim-face li img{width:22px;height:22px}.layim-about{font-size:17px}.layim-about .layui-m-layercont{text-align:left}.layim-about .layui-m-layercont p{line-height:30px}.layim-about .layui-m-layercont a{color:#01AAED}"
  },
  {
    "path": "webroot/dist/jquery-2.2.4.js",
    "content": "/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */\n!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(\"jQuery requires a window with a document\");return b(a)}:b(a)}(\"undefined\"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m=\"2.2.4\",n=function(a,b){return new n.fn.init(a,b)},o=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,p=/^-ms-/,q=/-([\\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:\"\",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(\"boolean\"==typeof g&&(j=g,g=arguments[h]||{},h++),\"object\"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:\"jQuery\"+(m+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return\"function\"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if(\"object\"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,\"constructor\")&&!k.call(a.constructor.prototype||{},\"isPrototypeOf\"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+\"\":\"object\"==typeof a||\"function\"==typeof a?i[j.call(a)]||\"object\":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf(\"use strict\")?(b=d.createElement(\"script\"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,\"ms-\").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?\"\":(a+\"\").replace(o,\"\")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,\"string\"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return\"string\"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),\"function\"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(a,b){i[\"[object \"+b+\"]\"]=b.toLowerCase()});function s(a){var b=!!a&&\"length\"in a&&a.length,c=n.type(a);return\"function\"===c||n.isWindow(a)?!1:\"array\"===c||0===b||\"number\"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=\"sizzle\"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",L=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",M=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",N=\"\\\\[\"+L+\"*(\"+M+\")(?:\"+L+\"*([*^$|!~]?=)\"+L+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+M+\"))|)\"+L+\"*\\\\]\",O=\":(\"+M+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+N+\")*)|.*)\\\\)|)\",P=new RegExp(L+\"+\",\"g\"),Q=new RegExp(\"^\"+L+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+L+\"+$\",\"g\"),R=new RegExp(\"^\"+L+\"*,\"+L+\"*\"),S=new RegExp(\"^\"+L+\"*([>+~]|\"+L+\")\"+L+\"*\"),T=new RegExp(\"=\"+L+\"*([^\\\\]'\\\"]*?)\"+L+\"*\\\\]\",\"g\"),U=new RegExp(O),V=new RegExp(\"^\"+M+\"$\"),W={ID:new RegExp(\"^#(\"+M+\")\"),CLASS:new RegExp(\"^\\\\.(\"+M+\")\"),TAG:new RegExp(\"^(\"+M+\"|[*])\"),ATTR:new RegExp(\"^\"+N),PSEUDO:new RegExp(\"^\"+O),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+L+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+L+\"*(?:([+-]|)\"+L+\"*(\\\\d+)|))\"+L+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+K+\")$\",\"i\"),needsContext:new RegExp(\"^\"+L+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+L+\"*((?:-\\\\d)?\\\\d*)\"+L+\"*\\\\)|)(?=[^-]|$)\",\"i\")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\\d$/i,Z=/^[^{]+\\{\\s*\\[native \\w/,$=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,_=/[+~]/,aa=/'|\\\\/g,ba=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+L+\"?|(\"+L+\")|.)\",\"ig\"),ca=function(a,b,c){var d=\"0x\"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],\"string\"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+\" \"]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if(\"object\"!==b.nodeName.toLowerCase()){(k=b.getAttribute(\"id\"))?k=k.replace(aa,\"\\\\$&\"):b.setAttribute(\"id\",k=u),r=g(a),h=r.length,l=V.test(k)?\"#\"+k:\"[id='\"+k+\"']\";while(h--)r[h]=l+\" \"+qa(r[h]);s=r.join(\",\"),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute(\"id\")}}}return i(a.replace(Q,\"$1\"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+\" \")>d.cacheLength&&delete b[a.shift()],b[c+\" \"]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement(\"div\");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split(\"|\"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return\"input\"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return(\"input\"===c||\"button\"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&\"undefined\"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?\"HTML\"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener(\"unload\",da,!1):e.attachEvent&&e.attachEvent(\"onunload\",da)),c.attributes=ia(function(a){return a.className=\"i\",!a.getAttribute(\"className\")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(\"undefined\"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute(\"id\")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c=\"undefined\"!=typeof a.getAttributeNode&&a.getAttributeNode(\"id\");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return\"undefined\"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(\"*\"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return\"undefined\"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML=\"<a id='\"+u+\"'></a><select id='\"+u+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",a.querySelectorAll(\"[msallowcapture^='']\").length&&q.push(\"[*^$]=\"+L+\"*(?:''|\\\"\\\")\"),a.querySelectorAll(\"[selected]\").length||q.push(\"\\\\[\"+L+\"*(?:value|\"+K+\")\"),a.querySelectorAll(\"[id~=\"+u+\"-]\").length||q.push(\"~=\"),a.querySelectorAll(\":checked\").length||q.push(\":checked\"),a.querySelectorAll(\"a#\"+u+\"+*\").length||q.push(\".#.+[+~]\")}),ia(function(a){var b=n.createElement(\"input\");b.setAttribute(\"type\",\"hidden\"),a.appendChild(b).setAttribute(\"name\",\"D\"),a.querySelectorAll(\"[name=d]\").length&&q.push(\"name\"+L+\"*[*^$|!~]?=\"),a.querySelectorAll(\":enabled\").length||q.push(\":enabled\",\":disabled\"),a.querySelectorAll(\"*,:x\"),q.push(\",.*:\")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,\"div\"),s.call(a,\"[s!='']:x\"),r.push(\"!=\",O)}),q=q.length&&new RegExp(q.join(\"|\")),r=r.length&&new RegExp(r.join(\"|\")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,\"='$1']\"),c.matchesSelector&&p&&!A[b+\" \"]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c=\"\",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(\"string\"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||\"\").replace(ba,ca),\"~=\"===a[2]&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),\"nth\"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(\"even\"===a[3]||\"odd\"===a[3])),a[5]=+(a[7]+a[8]||\"odd\"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||\"\":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(\")\",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return\"*\"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+\" \"];return b||(b=new RegExp(\"(^|\"+L+\")\"+a+\"(\"+L+\"|$)\"))&&y(a,function(a){return b.test(\"string\"==typeof a.className&&a.className||\"undefined\"!=typeof a.getAttribute&&a.getAttribute(\"class\")||\"\")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?\"!=\"===b:b?(e+=\"\",\"=\"===b?e===c:\"!=\"===b?e!==c:\"^=\"===b?c&&0===e.indexOf(c):\"*=\"===b?c&&e.indexOf(c)>-1:\"$=\"===b?c&&e.slice(-c.length)===c:\"~=\"===b?(\" \"+e.replace(P,\" \")+\" \").indexOf(c)>-1:\"|=\"===b?e===c||e.slice(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d,e){var f=\"nth\"!==a.slice(0,3),g=\"last\"!==a.slice(-4),h=\"of-type\"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?\"nextSibling\":\"previousSibling\",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p=\"only\"===a&&!o&&\"nextSibling\"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error(\"unsupported pseudo: \"+a);return e[u]?e(b):e.length>1?(c=[a,a,\"\",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,\"$1\"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||\"\")||fa.error(\"unsupported lang: \"+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(\"xml:lang\")||b.getAttribute(\"lang\"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+\"-\");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&!!a.checked||\"option\"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},text:function(a){var b;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===a.type&&(null==(b=a.getAttribute(\"type\"))||\"text\"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+\" \"];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q,\" \")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d=\"\";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&\"parentNode\"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||\"*\",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[\" \"],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:\" \"===a[i-2].type?\"*\":\"\"})).replace(Q,\"$1\"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s=\"0\",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG(\"*\",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+\" \"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n=\"function\"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&\"ID\"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split(\"\").sort(B).join(\"\")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement(\"div\"))}),ia(function(a){return a.innerHTML=\"<a href='#'></a>\",\"#\"===a.firstChild.getAttribute(\"href\")})||ja(\"type|href|height|width\",function(a,b,c){return c?void 0:a.getAttribute(b,\"type\"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML=\"<input/>\",a.firstChild.setAttribute(\"value\",\"\"),\"\"===a.firstChild.getAttribute(\"value\")})||ja(\"value\",function(a,b,c){return c||\"input\"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute(\"disabled\")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[\":\"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,y=/^.[^:#\\[\\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if(\"string\"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=\":not(\"+a+\")\"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if(\"string\"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+\" \"+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,\"string\"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,\"string\"==typeof a){if(e=\"<\"===a[0]&&\">\"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||\"string\"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?\"string\"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,\"parentNode\")},parentsUntil:function(a,b,c){return u(a,\"parentNode\",c)},next:function(a){return F(a,\"nextSibling\")},prev:function(a){return F(a,\"previousSibling\")},nextAll:function(a){return u(a,\"nextSibling\")},prevAll:function(a){return u(a,\"previousSibling\")},nextUntil:function(a,b,c){return u(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return u(a,\"previousSibling\",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return\"Until\"!==a.slice(-5)&&(d=c),d&&\"string\"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a=\"string\"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:\"\")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&\"string\"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c=\"\",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=\"\"),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[[\"resolve\",\"done\",n.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",n.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",n.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+\"With\"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+\"With\"](this===e?d:this,arguments),this},e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler(\"ready\"),n(d).off(\"ready\"))))}});function J(){d.removeEventListener(\"DOMContentLoaded\",J),a.removeEventListener(\"load\",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),\"complete\"===d.readyState||\"loading\"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener(\"DOMContentLoaded\",J),a.addEventListener(\"load\",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if(\"object\"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if(\"string\"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&\"string\"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d=\"data-\"+b.replace(Q,\"-$&\").toLowerCase(),c=a.getAttribute(d),\"string\"==typeof c){try{c=\"true\"===c?!0:\"false\"===c?!1:\"null\"===c?null:+c+\"\"===c?+c:P.test(c)?n.parseJSON(c):c;\n}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,\"hasDataAttrs\"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf(\"data-\")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,\"hasDataAttrs\",!0)}return e}return\"object\"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,\"-$&\").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf(\"-\")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||\"fx\")+\"queue\",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||\"fx\";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};\"inprogress\"===e&&(e=c.shift(),d--),e&&(\"fx\"===b&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks(\"once memory\").add(function(){N.remove(a,[b+\"queue\",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return\"string\"!=typeof a&&(b=a,a=\"fx\",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),\"fx\"===a&&\"inprogress\"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||\"fx\",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};\"string\"!=typeof a&&(b=a,a=void 0),a=a||\"fx\";while(g--)c=N.get(f[g],a+\"queueHooks\"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,T=new RegExp(\"^(?:([+-])=|)(\"+S+\")([a-z%]*)$\",\"i\"),U=[\"Top\",\"Right\",\"Bottom\",\"Left\"],V=function(a,b){return a=b||a,\"none\"===n.css(a,\"display\")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,\"\")},i=h(),j=c&&c[3]||(n.cssNumber[b]?\"\":\"px\"),k=(n.cssNumber[b]||\"px\"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||\".5\",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\\w:-]+)/,Z=/^$|\\/(?:java|ecma)script/i,$={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c=\"undefined\"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||\"*\"):\"undefined\"!=typeof a.querySelectorAll?a.querySelectorAll(b||\"*\"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],\"globalEval\",!b||N.get(b[c],\"globalEval\"))}var ba=/<|&#?\\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if(\"object\"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement(\"div\")),h=(Y.exec(f)||[\"\",\"\"])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=\"\"}else m.push(b.createTextNode(f));l.textContent=\"\",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),\"script\"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||\"\")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement(\"div\")),c=d.createElement(\"input\");c.setAttribute(\"type\",\"radio\"),c.setAttribute(\"checked\",\"checked\"),c.setAttribute(\"name\",\"t\"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML=\"<textarea>x</textarea>\",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if(\"object\"==typeof b){\"string\"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&(\"string\"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return\"undefined\"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||\"\").match(G)||[\"\"],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||\"\").split(\".\").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(\".\")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||\"\").match(G)||[\"\"],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||\"\").split(\".\").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&(\"**\"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,\"handle events\")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,\"events\")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(\"click\"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||\"click\"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+\" \",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:\"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:\"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:\"focusin\"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:\"focusout\"},click:{trigger:function(){return\"checkbox\"===this.type&&this.click&&n.nodeName(this,\"input\")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,\"a\")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+\".\"+d.namespace:d.origType,d.selector,d.handler),this;if(\"object\"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&\"function\"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,la=/<script|<style|<link/i,ma=/checked\\s*(?:[^=]|=\\s*.checked.)/i,na=/^true\\/(.*)/,oa=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function pa(a,b){return n.nodeName(a,\"table\")&&n.nodeName(11!==b.nodeType?b:b.firstChild,\"tr\")?a.getElementsByTagName(\"tbody\")[0]||a.appendChild(a.ownerDocument.createElement(\"tbody\")):a}function qa(a){return a.type=(null!==a.getAttribute(\"type\"))+\"/\"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute(\"type\"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();\"input\"===c&&X.test(a.type)?b.checked=a.checked:\"input\"!==c&&\"textarea\"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&\"string\"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,\"script\"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,\"script\"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||\"\")&&!N.access(j,\"globalEval\")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,\"\")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,\"script\")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,\"<$1></$2>\")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,\"script\"),g.length>0&&aa(g,!i&&_(a,\"script\")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent=\"\");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if(\"string\"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:\"block\",BODY:\"block\"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],\"display\");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),\"none\"!==c&&c||(wa=(wa||n(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp(\"^(\"+S+\")(?!px)[a-z%]+$\",\"i\"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement(\"div\"),h=d.createElement(\"div\");if(h.style){h.style.backgroundClip=\"content-box\",h.cloneNode(!0).style.backgroundClip=\"\",l.clearCloneStyle=\"content-box\"===h.style.backgroundClip,g.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",g.appendChild(h);function i(){h.style.cssText=\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",h.innerHTML=\"\",Ea.appendChild(g);var d=a.getComputedStyle(h);b=\"1%\"!==d.top,f=\"2px\"===d.marginLeft,c=\"4px\"===d.width,h.style.marginRight=\"50%\",e=\"4px\"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement(\"div\"));return c.style.cssText=h.style.cssText=\"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",c.style.marginRight=c.style.width=\"0\",h.style.width=\"1px\",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,\"\"!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+\"\":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Ja={letterSpacing:\"0\",fontWeight:\"400\"},Ka=[\"Webkit\",\"O\",\"Moz\",\"ms\"],La=d.createElement(\"div\").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||\"px\"):b}function Oa(a,b,c,d,e){for(var f=c===(d?\"border\":\"content\")?4:\"width\"===b?1:0,g=0;4>f;f+=2)\"margin\"===c&&(g+=n.css(a,c+U[f],!0,e)),d?(\"content\"===c&&(g-=n.css(a,\"padding\"+U[f],!0,e)),\"margin\"!==c&&(g-=n.css(a,\"border\"+U[f]+\"Width\",!0,e))):(g+=n.css(a,\"padding\"+U[f],!0,e),\"padding\"!==c&&(g+=n.css(a,\"border\"+U[f]+\"Width\",!0,e)));return g}function Pa(a,b,c){var d=!0,e=\"width\"===b?a.offsetWidth:a.offsetHeight,f=Ca(a),g=\"border-box\"===n.css(a,\"boxSizing\",!1,f);if(0>=e||null==e){if(e=Fa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ba.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Oa(a,b,c||(g?\"border\":\"content\"),d,f)+\"px\"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,\"olddisplay\"),c=d.style.display,b?(f[g]||\"none\"!==c||(d.style.display=\"\"),\"\"===d.style.display&&V(d)&&(f[g]=N.access(d,\"olddisplay\",za(d.nodeName)))):(e=V(d),\"none\"===c&&e||N.set(d,\"olddisplay\",e?c:n.css(d,\"display\"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&\"none\"!==d.style.display&&\"\"!==d.style.display||(d.style.display=b?f[g]||\"\":\"none\"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,\"opacity\");return\"\"===c?\"1\":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":\"cssFloat\"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&\"get\"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,\"string\"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f=\"number\"),null!=c&&c===c&&(\"number\"===f&&(c+=e&&e[3]||(n.cssNumber[h]?\"\":\"px\")),l.clearCloneStyle||\"\"!==c||0!==b.indexOf(\"background\")||(i[b]=\"inherit\"),g&&\"set\"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&\"get\"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),\"normal\"===e&&b in Ja&&(e=Ja[b]),\"\"===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each([\"height\",\"width\"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,\"display\"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,\"border-box\"===n.css(a,\"boxSizing\",!1,f),f);return g&&(e=T.exec(c))&&\"px\"!==(e[3]||\"px\")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,\"marginLeft\"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+\"px\":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:\"inline-block\"},Fa,[a,\"marginRight\"]):void 0}),n.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f=\"string\"==typeof c?c.split(\" \"):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return\"boolean\"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?\"\":\"px\")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,\"\"),b&&\"auto\"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:\"swing\"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e[\"margin\"+c]=e[\"padding\"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners[\"*\"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,\"fxshow\");c.queue||(h=n._queueHooks(a,\"fx\"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,\"fx\").length||h.empty.fire()})})),1===a.nodeType&&(\"height\"in b||\"width\"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,\"display\"),k=\"none\"===j?N.get(a,\"olddisplay\")||za(a.nodeName):j,\"inline\"===k&&\"none\"===n.css(a,\"float\")&&(o.display=\"inline-block\")),c.overflow&&(o.overflow=\"hidden\",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||\"toggle\"===e,e===(p?\"hide\":\"show\")){if(\"show\"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))\"inline\"===(\"none\"===j?za(a.nodeName):j)&&(o.display=j);else{q?\"hidden\"in q&&(p=q.hidden):q=N.access(a,\"fxshow\",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,\"fxshow\");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start=\"width\"===d||\"height\"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&\"expand\"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{\"*\":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=[\"*\"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&\"object\"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:\"number\"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue=\"fx\"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,\"finish\"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return\"string\"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var b=!0,e=null!=a&&a+\"queueHooks\",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||\"fx\"),this.each(function(){var b,c=N.get(this),d=c[a+\"queue\"],e=c[a+\"queueHooks\"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each([\"toggle\",\"show\",\"hide\"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||\"boolean\"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa(\"show\"),slideUp:Xa(\"hide\"),slideToggle:Xa(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||\"fx\",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement(\"input\"),b=d.createElement(\"select\"),c=b.appendChild(d.createElement(\"option\"));a.type=\"checkbox\",l.checkOn=\"\"!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement(\"input\"),a.value=\"t\",a.type=\"radio\",l.radioValue=\"t\"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return\"undefined\"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+\"\"),c):e&&\"get\"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&\"radio\"===b&&n.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),\nvoid 0!==c?e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&\"get\"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,\"tabindex\");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\\t\\r\\n\\f]/g;function fb(a){return a.getAttribute&&a.getAttribute(\"class\")||\"\"}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if(\"string\"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(eb,\" \")){g=0;while(f=b[g++])d.indexOf(\" \"+f+\" \")<0&&(d+=f+\" \");h=n.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(eb,\" \")){g=0;while(f=b[g++])while(d.indexOf(\" \"+f+\" \")>-1)d=d.replace(\" \"+f+\" \",\" \");h=n.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},toggleClass:function(a,b){var c=typeof a;return\"boolean\"==typeof b&&\"string\"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if(\"string\"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&\"boolean\"!==c||(b=fb(this),b&&N.set(this,\"__className__\",b),this.setAttribute&&this.setAttribute(\"class\",b||a===!1?\"\":N.get(this,\"__className__\")||\"\"))})},hasClass:function(a){var b,c,d=0;b=\" \"+a+\" \";while(c=this[d++])if(1===c.nodeType&&(\" \"+fb(c)+\" \").replace(eb,\" \").indexOf(b)>-1)return!0;return!1}});var gb=/\\r/g,hb=/[\\x20\\t\\r\\n\\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e=\"\":\"number\"==typeof e?e+=\"\":n.isArray(e)&&(e=n.map(e,function(a){return null==a?\"\":a+\"\"})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&\"set\"in b&&void 0!==b.set(this,e,\"value\")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&\"get\"in b&&void 0!==(c=b.get(e,\"value\"))?c:(c=e.value,\"string\"==typeof c?c.replace(gb,\"\"):null==c?\"\":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,\"value\");return null!=b?b:n.trim(n.text(a)).replace(hb,\" \")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f=\"select-one\"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute(\"disabled\"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,\"optgroup\"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each([\"radio\",\"checkbox\"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute(\"value\")?\"on\":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,\"type\")?b.type:b,r=k.call(b,\"namespace\")?b.namespace.split(\".\"):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(\".\")>-1&&(r=q.split(\".\"),q=r.shift(),r.sort()),l=q.indexOf(\":\")<0&&\"on\"+q,b=b[n.expando]?b:new n.Event(q,\"object\"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join(\".\"),b.rnamespace=b.namespace?new RegExp(\"(^|\\\\.)\"+r.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,\"events\")||{})[b.type]&&N.get(h,\"handle\"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b)}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin=\"onfocusin\"in a,l.focusin||n.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\\?/;n.parseJSON=function(a){return JSON.parse(a+\"\")},n.parseXML=function(b){var c;if(!b||\"string\"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,\"text/xml\")}catch(d){c=void 0}return c&&!c.getElementsByTagName(\"parsererror\").length||n.error(\"Invalid XML: \"+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\\/\\//,sb={},tb={},ub=\"*/\".concat(\"*\"),vb=d.createElement(\"a\");vb.href=jb.href;function wb(a){return function(b,c){\"string\"!=typeof b&&(c=b,b=\"*\");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])\"+\"===d[0]?(d=d.slice(1)||\"*\",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return\"string\"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e[\"*\"]&&g(\"*\")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while(\"*\"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader(\"Content-Type\"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+\" \"+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if(\"*\"===f)f=i;else if(\"*\"!==i&&i!==f){if(g=j[i+\" \"+f]||j[\"* \"+f],!g)for(e in j)if(h=e.split(\" \"),h[1]===f&&(g=j[i+\" \"+h[0]]||j[\"* \"+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a[\"throws\"])b=g(b);else try{b=g(b)}catch(l){return{state:\"parsererror\",error:g?l:\"No conversion from \"+i+\" to \"+f}}}return{state:\"success\",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:\"GET\",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":ub,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":n.parseJSON,\"text xml\":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){\"object\"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks(\"once memory\"),s=m.statusCode||{},t={},u={},v=0,w=\"canceled\",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+\"\").replace(mb,\"\").replace(rb,jb.protocol+\"//\"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||\"*\").toLowerCase().match(G)||[\"\"],null==m.crossDomain){j=d.createElement(\"a\");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+\"//\"+vb.host!=j.protocol+\"//\"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&\"string\"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger(\"ajaxStart\"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?\"&\":\"?\")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,\"$1_=\"+kb++):f+(lb.test(f)?\"&\":\"?\")+\"_=\"+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader(\"If-Modified-Since\",n.lastModified[f]),n.etag[f]&&x.setRequestHeader(\"If-None-Match\",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader(\"Content-Type\",m.contentType),x.setRequestHeader(\"Accept\",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+(\"*\"!==m.dataTypes[0]?\", \"+ub+\"; q=0.01\":\"\"):m.accepts[\"*\"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w=\"abort\";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger(\"ajaxSend\",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort(\"timeout\")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,\"No Transport\");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||\"\",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader(\"Last-Modified\"),w&&(n.lastModified[f]=w),w=x.getResponseHeader(\"etag\"),w&&(n.etag[f]=w)),204===b||\"HEAD\"===m.type?y=\"nocontent\":304===b?y=\"notmodified\":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y=\"error\",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+\"\",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?\"ajaxSuccess\":\"ajaxError\",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger(\"ajaxComplete\",[x,m]),--n.active||n.event.trigger(\"ajaxStop\")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,\"json\")},getScript:function(a,b){return n.get(a,void 0,b,\"script\")}}),n.each([\"get\",\"post\"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,\"body\")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\\[\\]$/,Db=/\\r?\\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+\"[\"+(\"object\"==typeof e&&null!=e?b:\"\")+\"]\",e,c,d)});else if(c||\"object\"!==n.type(b))d(a,b);else for(e in b)Gb(a+\"[\"+e+\"]\",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?\"\":b,d[d.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join(\"&\").replace(Bb,\"+\")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,\"elements\");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(\":disabled\")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,\"\\r\\n\")}}):{name:b.name,value:c.replace(Db,\"\\r\\n\")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&\"withCredentials\"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,\"abort\"===a?h.abort():\"error\"===a?\"number\"!=typeof h.status?f(0,\"error\"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,\"text\"!==(h.responseType||\"text\")||\"string\"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c(\"error\"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c(\"abort\");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter(\"script\",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\")}),n.ajaxTransport(\"script\",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n(\"<script>\").prop({charset:a.scriptCharset,src:a.url}).on(\"load error\",c=function(a){b.remove(),c=null,a&&f(\"error\"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\\?(?=&|$)|\\?\\?/;n.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var a=Jb.pop()||n.expando+\"_\"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter(\"json jsonp\",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?\"url\":\"string\"==typeof b.data&&0===(b.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Kb.test(b.data)&&\"data\");return h||\"jsonp\"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,\"$1\"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?\"&\":\"?\")+b.jsonp+\"=\"+e),b.converters[\"script json\"]=function(){return g||n.error(e+\" was not called\"),g[0]},b.dataTypes[0]=\"json\",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),\"script\"):void 0}),n.parseHTML=function(a,b,c){if(!a||\"string\"!=typeof a)return null;\"boolean\"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if(\"string\"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(\" \");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&\"object\"==typeof b&&(e=\"POST\"),g.length>0&&n.ajax({url:a,type:e||\"GET\",dataType:\"html\",data:b}).done(function(a){f=arguments,g.html(d?n(\"<div>\").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,\"position\"),l=n(a),m={};\"static\"===k&&(a.style.position=\"relative\"),h=l.offset(),f=n.css(a,\"top\"),i=n.css(a,\"left\"),j=(\"absolute\"===k||\"fixed\"===k)&&(f+i).indexOf(\"auto\")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),\"using\"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return\"fixed\"===n.css(c,\"position\")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],\"html\")||(d=a.offset()),d.top+=n.css(a[0],\"borderTopWidth\",!0),d.left+=n.css(a[0],\"borderLeftWidth\",!0)),{top:b.top-d.top-n.css(c,\"marginTop\",!0),left:b.left-d.left-n.css(c,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&\"static\"===n.css(a,\"position\"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,b){var c=\"pageYOffset\"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each([\"top\",\"left\"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+\"px\":c):void 0})}),n.each({Height:\"height\",Width:\"width\"},function(a,b){n.each({padding:\"inner\"+a,content:b,\"\":\"outer\"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||\"boolean\"!=typeof d),g=c||(d===!0||e===!0?\"margin\":\"border\");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement[\"client\"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body[\"scroll\"+a],e[\"scroll\"+a],b.body[\"offset\"+a],e[\"offset\"+a],e[\"client\"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,\"**\"):this.off(b,a||\"**\",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});\n"
  },
  {
    "path": "webroot/dist/js/index.js",
    "content": "!function(r){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=n,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)o.d(r,n,function(e){return t[e]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,\"a\",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p=\"\",o(o.s=12)}({12:function(e,t){var r,n,o,i,u=(r=navigator.userAgent,n=/(?:Android)/.test(r),o=/(?:Firefox)/.test(r),i=/(?:Chrome|CriOS)/.test(r),{isTablet:/(?:iPad|PlayBook)/.test(r)||n&&!/(?:Mobile)/.test(r)||o&&/(?:Tablet)/.test(r),isPhone:/(?:iPhone)/.test(r)||/(?:Safari)/.test(r),isAndroid:n,isPc:/(?:Windows)/.test(r),isChrome:i});window.location.href=u.isPc?\"./pc/\":\"./mobile/\"}});\n//# sourceMappingURL=index.js.map"
  },
  {
    "path": "webroot/dist/js/index_mob.js",
    "content": "!function(t){var n={};function i(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=t,i.c=n,i.d=function(e,o,t){i.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:t})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(o,e){if(1&e&&(o=i(o)),8&e)return o;if(4&e&&\"object\"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:o}),2&e&&\"string\"!=typeof o)for(var n in o)i.d(t,n,function(e){return o[e]}.bind(null,n));return t},i.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(o,\"a\",o),o},i.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},i.p=\"\",i(i.s=14)}([function(e,o,t){\"use strict\";var n,i,s,a;o.__esModule=!0,(i=n=n||{})[i.Working=100]=\"Working\",i[i.Stopping=101]=\"Stopping\",(a=s=s||{})[a.VideoSystemUnInit=100]=\"VideoSystemUnInit\",a[a.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",a[a.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",a[a.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var r=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=s.VideoSystemUnInit},l=(c.CoreMessageLoopTime=100,c.globalProcessStatus=n.Working,c.protocol=\"ws://\",c.globalBackgroundImg=\"\",c.globalUserID=-1,c.globalPwd=\"\",c.globalMobile=!1,c.globalLoginPage=\"index.html\",c.globalRegisterPage=\"new.html\",c.globalMainPage=\"main.html\",c.NoteglobalVideoSystemStatusObject=new r,c.username=\"\",c.globalFriendsId=[],c.globalMessageArray=[],c.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",c);function c(){}o.GlobalVars2=l,o.audioorvideoWorking=function(){return l.NoteglobalVideoSystemStatusObject.AudioRecording||l.NoteglobalVideoSystemStatusObject.VideoChatting},o.audioWorking=function(){return l.NoteglobalVideoSystemStatusObject.AudioRecording},o.turnOffAudio=function(){l.NoteglobalVideoSystemStatusObject.AudioRecording=!1},o.turnOnAudion=function(){l.NoteglobalVideoSystemStatusObject.AudioRecording=!0},o.turnOffvideo=function(){l.NoteglobalVideoSystemStatusObject.VideoChatting=!1},o.turnOnvideo=function(e){l.NoteglobalVideoSystemStatusObject.VideoChatting=!0},o.isVideoSystemNeedInite=function(){return l.NoteglobalVideoSystemStatusObject.VideoSystemStatus==s.VideoSystemUnInit},o.isVideoSystemIniting=function(){return l.NoteglobalVideoSystemStatusObject.VideoSystemStatus==s.VideoSystemUnIniting},o.isVideoSystemInitSucc=function(){return l.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=s.VideoSystemInitSucc},o.startProcessCoreMessage=function(){l.globalProcessStatus=n.Working},o.stopProcessCoreMessage=function(){l.globalProcessStatus=n.Stopping},o.isProcessCoreMessageWorking=function(){return l.globalProcessStatus==n.Working},o.getOpenWidth=function(){return!0===l.globalMobile?\"400px;\":\"560px;\"},o.changeBackground=function(){var e=Math.round(100*Math.random())+1,o=(e%=38).toString()+\".jpg\";o=\"../images/bg/img/\"+(o=e<10?\"0000\"+o:\"000\"+o),l.globalBackgroundImg=\"url(\"+o+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=l.globalBackgroundImg},o.sendMessageToServer=function(e){var o=e.cmd+l.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",o),l.globalImSocketObject.send(o)}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=(i.Request_register_code=\"001\",i.Request_login_code=\"011\",i.Request_online_client_info_code=\"002\",i.Response_online_client_info_code=\"102\",i.Response_login_code=\"111\",i.Response_mine_code=\"121\",i.Response_add_friend_list_code=\"131\",i.Request_a_to_server_add_friend_code=\"032\",i.Request_server_to_b_add_friend_code=\"032\",i.Response_server_to_a_add_friend_code=\"133\",i.Request_confirm_add_friend_code=\"033\",i.Request_fetch_friend_code=\"037\",i.Response_server_to_a_fetch_friend_code=\"137\",i.Request_remove_friend_code=\"039\",i.Response_remove_friend_code=\"139\",i.Request_message_code=\"041\",i.Requst_ack_message_code=\"042\",i.Response_message_code=\"142\",i.Response_friend_status_change_code=\"151\",i.Response_friend_info_change_code=\"152\",i.Request_video_chat_a_to_server_code=\"053\",i.Response_video_chat_server_to_a_code=\"153\",i.Request_video_chat_b_to_server_code=\"054\",i.Response_video_chat_server_to_b_code=\"154\",i.Request_client_to_server_video_was_stopped_code=\"055\",i.Response_server_to_client_video_was_stopped_code=\"155\",i.LOGIN_CMD=\"login\",i.OFFER_CMD=\"offer\",i.ANSWER_CMD=\"answer\",i.CANDIDATE_CMD=\"candidate\",i.LEAVE_CMD=\"leave\",i);function i(){}o.GlobalCode=n},function(e,o,t){\"use strict\";o.__esModule=!0;function n(){}o.RequsetSignin=n;function i(){}o.ResponseAddList=i;function s(){}o.ChatMessage=s;function a(){}o.AckChatMessage=a;function r(){}o.AddFriendRequest=r;function l(){}o.AddFriendResponse=l;function c(){}o.SetFriendStatusResponse=c;function d(){}o.ConfirmAddFriendRequest=d;function u(){}o.RequestFetchFriendInfo=u;function g(){}o.ResponseFetchFriendInfo=g;function b(){}o.ResponseMine=b;function m(){}o.RequestUserRegister=m;function f(){}o.ResponseUserRegister=f;function h(){}o.ResponseSignin=h;function p(){}o.UserInfo=p;function S(){}o.RequestRemoveFriend=S;function _(){}o.ResponseRemoveFriend=_;function y(){}o.RequestVideoChatClosed=y;function C(){}o.VideoChatMsg=C;function v(){}o.LoginWebRtcRoom=v;function V(){}o.Candidate=V;function w(){}o.Answer=w;function G(){}o.Offer=G;function R(){}o.WebRTCJson=R},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),i=Domain,s=i+\":3478\",a=i+\":3478\";var r=(l.uploaderSocketServer=i+\":8091\",l.ImServer=i+\":8090\",l.signallingConnectionServer=i+\":8888\",l.stunServerConfigString='[{ \"urls\": \"stun:'+s+'?transport=udp\"   } ,{ \"urls\": \"stun:'+s+'?transport=tcp\"   } ,{ \"urls\": \"turn:'+a+'?transport=udp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ,{ \"urls\": \"turn:'+a+'?transport=tcp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ] ',l);function l(){}o.GlobalVars=r,\"https:\"===document.location.protocol&&(n.GlobalVars2.protocol=\"wss://\"),console.log(\"GlobalVars2.protocol  \",n.GlobalVars2.protocol),r.uploaderSocketServer=n.GlobalVars2.protocol+r.uploaderSocketServer,r.ImServer=n.GlobalVars2.protocol+r.ImServer,r.signallingConnectionServer=n.GlobalVars2.protocol+r.signallingConnectionServer,console.log(\"GlobalVars.uploaderSocketServer  \",r.uploaderSocketServer),console.log(\"GlobalVars.ImServer   \",r.ImServer),console.log(\"GlobalVars.signallingConnectionServer  \",r.signallingConnectionServer)},function(e,o,t){\"use strict\";o.__esModule=!0;var a=t(0),s=t(1),n=t(2),i=t(3),r=t(5),l=(c.prototype.initFirstVideoChatMsg=function(){this.firstVideoChatInit=!0},c.prototype.cleanFirstVideoChatMsg=function(){this.firstVideoChatInit=!1},c.prototype.isFirstVideoChatInited=function(){return this.firstVideoChatInit},c.prototype.createFirstVideoChat=function(e,o){if(!this.isFirstVideoChatInited()){this.firstVideoChatInit=!0,this.firstVideoChat.localsession=Math.round(1e4*Math.random())+200;var t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),i=JSON.parse(n);this.firstVideoChat.clienta=a.GlobalVars2.globalUserID,this.firstVideoChat.clientb=parseInt(i.id,10),this.firstVideoChat.audiochatonly=o,this.firstVideoChat.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,console.log(\"createFirstVideoChat ：localsession:\",this.firstVideoChat.localsession)}},c.prototype.updateMyFirstVideoChat=function(e){this.firstVideoChatInit=!0,this.firstVideoChat=e},c.prototype.getSingalRequest=function(){if(this.firstVideoChatInit){var e=new n.WebRTCJson;return e.clienta=this.firstVideoChat.clienta,e.clientb=this.firstVideoChat.clientb,e.whoami=a.GlobalVars2.globalUserID,e.localsession=this.firstVideoChat.localsession,e.roomid=this.firstVideoChat.roomid,e.fromavatar=this.firstVideoChat.fromavatar,e.roomtoken=this.firstVideoChat.roomtoken,e.requestid=this.firstVideoChat.requestid,e.sessionid=this.firstVideoChat.sessionid,e}alert(\"wrong Request\")},c.prototype.getSingalVideoChat=function(){if(this.firstVideoChatInit)return this.firstVideoChat;alert(\"wrong Request\")},c.prototype.cleanLocalSession=function(){this.firstVideoChatInit=!1,this.firstVideoChat.localsession=0,this.firstVideoChat.clientb=0,this.firstVideoChat.clientb=0,console.log(\"cleanLocalSession ：localsession:\",this.firstVideoChat.localsession)},c.prototype.equalLocalSession=function(e){return!!this.isFirstVideoChatInited()&&this.firstVideoChat.localsession==e},c);function c(){this.firstVideoChat=new n.VideoChatMsg,this.firstVideoChat.localsession=0,this.firstVideoChatInit=!1,this.snid=Math.round(1e4*Math.random())+200,this.yourConnectionInitFlag=!1,console.log(\"constructor VideoSystemObj \",this.snid)}o.VideoSystemObj=l;var d=function(){};function u(){d.GlobalVideoSystem.signalSocket=new WebSocket(i.GlobalVars.signallingConnectionServer),d.GlobalVideoSystem.signalSocket.onopen=function(){console.log(\"user:  connect success. \"+i.GlobalVars.signallingConnectionServer+\" \");var e=d.GlobalVideoSystem.getSingalRequest();e.type=s.GlobalCode.LOGIN_CMD,G(e)},d.GlobalVideoSystem.signalSocket.onclose=function(e){console.log(\"webrtc connection closed\")},d.GlobalVideoSystem.signalSocket.onmessage=function(o){var e;try{e=JSON.parse(o.data),console.log(\"got message\",o.data)}catch(e){return void console.log(\"parse json failed\",e,\"res.data\",o.data)}switch(console.log(\"got \",e.type),e.type){case s.GlobalCode.LOGIN_CMD:d.GlobalVideoSystem.getSingalRequest().clienta==a.GlobalVars2.globalUserID&&V();break;case s.GlobalCode.OFFER_CMD:f(e.offer);break;case s.GlobalCode.ANSWER_CMD:h(e.answer);break;case s.GlobalCode.CANDIDATE_CMD:p(e.candidate);break;default:console.log(\"unknow command\",e)}}}function g(){d.GlobalVideoSystem.yourConnectionInitFlag=!0}function b(){return d.GlobalVideoSystem.yourConnectionInitFlag}function m(){d.GlobalVideoSystem.yourConnectionInitFlag=!1}function f(e){console.log(\"recvOfferMsg \"),console.log(\"recvOfferMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e)),console.log(\"recvOfferMsg yourConnection.createAnswer\"),d.GlobalVideoSystem.yourConnection.createAnswer(function(e){console.log(\"yourConnection.setLocalDescription (answer)\"),d.GlobalVideoSystem.yourConnection.setLocalDescription(e);var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.ANSWER_CMD,o.answer=e,G(o)},function(e){alert(\"An error has occurred\")})}function h(e){console.log(\"recvAnswerMsg \"),console.log(\"recvAnswerMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e))}function p(e){console.log(\"recvCandidateMsg\"),console.log(\"recvCandidateMsg yourConnection.addIceCandidate\",JSON.stringify(e)),d.GlobalVideoSystem.yourConnection.addIceCandidate(new RTCIceCandidate(e))}function S(){console.log(\"initVideoSystem\"),d.GlobalVideoSystem.callPage=document.querySelector(\"#call-page\"),d.GlobalVideoSystem.hangUpButton=document.querySelector(\"#hang-up\"),d.GlobalVideoSystem.yourVideo=document.querySelector(\"#yours\"),d.GlobalVideoSystem.theirVideo=document.querySelector(\"#theirs\"),$(\"#call-page\").hide(),a.GlobalVars2.globalMobile||d.GlobalVideoSystem.hangUpButton.addEventListener(\"click\",function(){w()})}function _(e){if(console.log(\"startConnection() 1\"),C()){console.log(\"startConnection() 2\");var o=!0;1==e&&(o=!1),navigator.getUserMedia({video:o,audio:{echoCancellation:!0}},function(e){d.GlobalVideoSystem.stream=e,d.GlobalVideoSystem.yourVideo.src=window.URL.createObjectURL(d.GlobalVideoSystem.stream),v()?(console.log(\"startConnection() 3\"),console.log(\"hasRTCPeerConnection success\"),y(d.GlobalVideoSystem.stream)):alert(\"Sorry, your browser does not support WebRTC.\")},function(e){console.log(e)})}else alert(\"Sorry, your browser does not support WebRTC.\")}function y(e){var o={iceServers:JSON.parse(i.GlobalVars.stunServerConfigString),bundlePolicy:\"max-bundle\"};console.log(\"setupPeerConnection(stream);\"),console.log(\"yourConnection = new RTCPeerConnection(configuration)\",JSON.stringify(o)),d.GlobalVideoSystem.yourConnection=new RTCPeerConnection(o),g(),console.log(\"yourConnection.addStream(stream);\"),d.GlobalVideoSystem.yourConnection.addStream(e),d.GlobalVideoSystem.yourConnection.onaddstream=function(e){d.GlobalVideoSystem.theirVideo.src=window.URL.createObjectURL(e.stream)},d.GlobalVideoSystem.yourConnection.onicecandidate=function(e){if(console.log(\"yourConnection.onicecandidate\",e),e.candidate){var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.CANDIDATE_CMD,o.candidate=e.candidate,G(o)}},console.log(\"setupPeerConnection(stream) done;\"),u()}function C(){return navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,!!navigator.getUserMedia}function v(){return window.RTCPeerConnection=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection,window.RTCSessionDescription=window.RTCSessionDescription||window.webkitRTCSessionDescription||window.mozRTCSessionDescription,window.RTCIceCandidate=window.RTCIceCandidate||window.webkitRTCIceCandidate||window.mozRTCIceCandidate,!!window.RTCPeerConnection}function V(){d.GlobalVideoSystem.yourConnection.createOffer(function(e){console.log(\"yourConnection.createOffer(function (offer)\");var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.OFFER_CMD,o.offer=e,G(o),d.GlobalVideoSystem.yourConnection.setLocalDescription(e)},function(e){alert(\"An error has occurred.\")})}function w(){d.GlobalVideoSystem.connectedUser=null,d.GlobalVideoSystem.theirVideo.src=null,d.GlobalVideoSystem.yourVideo.src=null,b()&&(d.GlobalVideoSystem.yourConnection.close(),d.GlobalVideoSystem.yourConnection.onicecandidate=null,d.GlobalVideoSystem.yourConnection.onaddstream=null),m(),void 0!==d.GlobalVideoSystem.signalSocket&&void 0!==d.GlobalVideoSystem.signalSocket.close&&d.GlobalVideoSystem.signalSocket.close();a.GlobalVars2.globalLayImObj.cache();var e=d.GlobalVideoSystem.getSingalRequest();e.iam=a.GlobalVars2.globalUserID,e.cmd=s.GlobalCode.Request_client_to_server_video_was_stopped_code,a.sendMessageToServer(e),d.GlobalVideoSystem.cleanLocalSession(),M(),$(\"#remotemessage\").html(\"\")}function G(e){var o=d.GlobalVideoSystem.signalSocket,t=JSON.stringify(e);console.log(\"send message to SingalServer \",t),o.send(t)}function R(){$(\"#call-page\").css(\"position\",\"absolute\"),$(\"#call-page\").css(\"top\",0),$(\"#call-page\").css(\"left\",0),$(\"#call-page\").css(\"background\",\"#ccc\");var e=r.getWH(1);$(\"#call-page\")[0].style.cssText+=\";width:\"+e.w+\"px;height:\"+e.h+\"px\";var o=r.findHighestZIndex(\"div\");console.log(\"max z: \",o,\" w: \",e.w,NaN,e.h),$(\"#call-page\").css(\"z-index\",o+1),$(\"#call-page\").css(\"visibility\",\"visible\"),$(\"#call-page\").css(\"background-image\",a.GlobalVars2.globalBackgroundImg),$(\"#call-page\").show()}function k(){var e,o,t,n=window.screen.availHeight,i=window.screen.availWidth;console.log(\"w:\"+i.toString()+\" h: \"+n.toString()),e=.75*(n*=.9),o=.75*(i*=.9),e=parseInt(e.toFixed()),o=parseInt(o.toFixed()),(i*=.9)<(n*=.9)&&(n=i),t=.8*(i=n=parseInt(n.toFixed())),t=parseInt(t.toFixed()),console.log(\"w:\"+i.toString()+\" h: \"+n.toString()+\" w2: \"+t.toString());var s='  <table id=\"call-page\"     style=\" top:0px; left: 0px; witdth: '+n.toString()+\"px; height: \"+i.toString()+'px; \">\\n\\n\\n    <table class=\"page\" >\\n\\n\\n        <video id=\"yours\"   autoplay playsinline controls></video>\\n        <video id=\"theirs\"  style=\"  witdth: '+t.toString()+\"px; height:\"+t.toString()+'px; \" autoplay playsinline controls  ></video>\\n\\n         \\n<div id =\"remotemessage\"></div>    </table>\\n</table>';console.log(\"['\"+e.toString()+\"px', '\"+o.toString()+\"px']\"),a.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:\"['\"+o.toString()+\"px', '\"+e.toString()+\"px']\",shade:.8,btn:[\"关闭视频\"],btnAlign:\"c\",moveType:1,content:s,yes:function(e,o){w(),a.GlobalVars2.Global_layer.close(e),a.startProcessCoreMessage()}}),$(\"#theirs\").css(\"width\",n.toString()+\"px\"),$(\"#theirs\").css(\"height\",n.toString()+\"px\"),$(\"#yours\").css(\"width\",\"80px\"),$(\"#yours\").css(\"height\",\"80px\"),$(\"#call-page\").css(\"width\",o.toString()+\"px\"),$(\"#call-page\").css(\"height\",e.toString()+\"px\"),S()}function M(){a.GlobalVars2.globalMobile||($(\"#micmask\").css(\"z-index\",-1),$(\"#call-page\").css(\"visibility\",\"hidden\"),$(\"#call-page\").hide())}o.GlobalVars3=d,o.callVeidoSingalServer=function(e){_((d.GlobalVideoSystem.firstVideoChat=e).audiochatonly)},o.startWebRTCLoop=u,o.initYourConnectionFlag=g,o.checkYourConnectionInitFlag=b,o.cleanYourConnectionInitFlag=m,o.recvOfferMsg=f,o.recvAnswerMsg=h,o.recvCandidateMsg=p,o.initVideoSystem=S,o.recvLoginMsg=function(e){!1===e?alert(\"Login unsuccessful, please try a different name.\"):d.GlobalVideoSystem.callPage.style.display=\"block\"},o.startConnection=_,o.setupPeerConnection=y,o.hasUserMedia=C,o.hasRTCPeerConnection=v,o.startPeerConnection=V,o.recvLeaveMsg=w,o.sendMessageToSingalServer=G,o.showCallPage=function(){console.log(\"showCallPage()\"),a.GlobalVars2.globalMobile?k():R()},o.showCallPagePC=R,o.showCallPageMobile=k,o.hideCallPage=M},function(e,i,o){\"use strict\";i.__esModule=!0;var s,a,t,n,r,l,c=o(3),d=o(0);i.getWH=(t=document,n=t[\"CSS1Compat\"==t.compatMode?\"documentElement\":\"body\"],function(e){return{w:n[(e?\"client\":\"scroll\")+\"Width\"],h:e?n.clientHeight:Math.max(n.clientHeight,n.scrollHeight)}}),(l=r=r||{})[l.needInitAudio=100]=\"needInitAudio\",l[l.AudioInitializing=150]=\"AudioInitializing\",l[l.initSuccess=200]=\"initSuccess\",l[l.initFailed=300]=\"initFailed\";var u,g=r.needInitAudio;function b(e){g=r.initSuccess;var o=s.createMediaStreamSource(e);console.log(\"Media stream created.\"),a=new Recorder(o),console.log(\"Recorder initialised.\"),h(u)}function m(e){console.log(\"stopRecording(node)\",e),a?console.log(\"stopRecording(node) recorder is ready\"):console.log(\"stopRecording(node) recorder is not ready\"),a&&a.stop(),console.log(\"Stopped recording.\"),function(o){a&&a.exportWAV(function(e){!function(e,t){var n=new WebSocket(c.GlobalVars.uploaderSocketServer);n.onopen=function(){console.log(\"user:  connect success\"+c.GlobalVars.uploaderSocketServer),n.send(e)},n.onclose=function(e){console.log(\"user:  connect close\",e)},n.onmessage=function(e){console.log(e);var o=JSON.parse(e.data);console.log(\"message: \"+o.path),n.close(),!1===d.GlobalVars2.globalMobile?function(e,o){e.children(\".layim-chat-textarea\").children()[0].value=\"audio[\"+o.path+\"]\",e.children(\".layim-chat-bottom\").find(\".layim-send-btn\").trigger(\"click\")}(t,o):function(e,o){var t=e.children(\".layim-chat-send\").children();t[0].value=\"audio[\"+o.path+\"]\";var n=$(t[1]);n.offset().left,n.offset().top;3,3;$(\"body\")}(t,o)}}(e,o)})}(e),a.clear()}function f(e){for(var o=document.getElementsByTagName(e),t=\"0\",n=0;n<o.length;n++){var i=document.defaultView.getComputedStyle(o[n],null).getPropertyValue(\"z-index\");Number(i)>Number(t)&&\"auto\"!=i&&(t=i)}return Number(t)}function h(e){console.log(\"audioMessage()\",e);var o=$(e).attr(\"data-json\"),t=decodeURIComponent(o),n=(JSON.parse(t),$(e).parent().parent());console.log(\"AudioDeviceNeedInit\"),(g===r.needInitAudio?(console.log(\"AudioDeviceNeedInit true\"),0):(console.log(\"AudioDeviceNeedInit false\"),1))?(console.log(\"AudioDeviceInitializing\"),(g===r.AudioInitializing?(console.log(\"AudioDeviceInitializing true\"),0):(console.log(\"AudioDeviceInitializing false\"),1))&&(g===r.initSuccess?d.audioWorking()?(m(n),$(\"#AudioRecording\").hide(),$(\"#micmask\").remove(),d.turnOffAudio()):(d.turnOnAudion(),function(e){$(document.body).append(\"<div id=\\\"micmask\\\"> <img src='../images/bg/mic.png?__inline'></div>\"),$(\"#micmask\").css(\"position\",\"absolute\"),$(\"#micmask\").css(\"top\",0),$(\"#micmask\").css(\"left\",0),$(\"#micmask\").css(\"background\",\"#ccc\");var o=i.getWH(1);$(\"#micmask\")[0].style.cssText+=\";width:\"+o.w+\"px;height:\"+o.h+\"px\";var t=f(\"div\");console.log(\"max z: \",t,\" w: \",o.w,NaN,o.h),$(\"#micmask\").css(\"z-index\",t+1),$(\"#micmask\").on(\"click\",function(){$(\"#micmask\").remove(),h(e)})}(e),$(\"#AudioRecording\").show(),console.log(\"startRecording()\"),a?console.log(\"startRecording( ) recorder is ready\"):console.log(\"startRecording( ) recorder is not ready\"),a&&a.record(),console.log(\"Recording...\")):alert(\"no device\"))):function(e){console.log(\"InitUserMediaSystem\"),g=r.AudioInitializing;try{window.AudioContext=window.AudioContext||window.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,window.URL=window.URL||window.webkitURL,s=new AudioContext,console.log(\"Audio context set up.\"),console.log(\"navigator.getUserMedia \"+(navigator.getUserMedia?\"available.\":\"not present!\"))}catch(e){return alert(\"No web audio support in this browser!\"),g=r.initFailed}u=e,navigator.getUserMedia({audio:!0},b,function(e){console.log(\"No live audio input: \"+e),g=r.initFailed})}(e)}i.findHighestZIndex=f,i.audioMessage=h},function(e,o,t){\"use strict\";function n(e,o,t){var n=new Date;n.setDate(n.getDate()+t),document.cookie=e+\"=\"+escape(o)+(null==t?\"\":\"; expires=\"+n.toUTCString())}o.__esModule=!0,o.getCookie=function(e){if(0<document.cookie.length){var o=document.cookie.indexOf(e+\"=\");if(-1!=o){o=o+e.length+1;var t=document.cookie.indexOf(\";\",o);return-1==t&&(t=document.cookie.length),unescape(document.cookie.substring(o,t))}}return\"\"},o.setCookie=n,o.delCookie=function(e){n(e,\"\",-1)}},function(e,o,t){\"use strict\";o.__esModule=!0;var a=t(0),r=t(1),l=t(2),i=t(4);o.dispatchResultFormSocketServer=function(e){switch(e.cmd){case r.GlobalCode.Response_login_code:a.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e);break;case r.GlobalCode.Response_mine_code:var o=e,t=a.GlobalVars2.globalLayImObj.cache();t.mine.id=o.id.toLocaleString(),t.mine.avatar=o.avatar,t.mine.username=o.username,t.mine.sign=o.sign,$(\".layui-layim-user\").html(t.mine.username),$(\".layui-layim-remark\").val(t.mine.sign);break;case r.GlobalCode.Response_add_friend_list_code:o=e;e.id=o.id.toString(),a.GlobalVars2.globalFriendsId.push(o.id),a.GlobalVars2.globalLayImObj.addList(e);break;case r.GlobalCode.Response_server_to_a_add_friend_code:case r.GlobalCode.Response_server_to_a_fetch_friend_code:a.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e.cmd+e);break;case r.GlobalCode.Response_message_code:a.GlobalVars2.globalLayImObj.getMessage(e);var n=new l.AckChatMessage;n.cmd=r.GlobalCode.Requst_ack_message_code,n.gid=e.gid,a.sendMessageToServer(n);break;case r.GlobalCode.Response_friend_status_change_code:o=e;a.GlobalVars2.globalLayImObj.setFriendStatus(o.id,o.status);break;case r.GlobalCode.Request_server_to_b_add_friend_code:case r.GlobalCode.Response_video_chat_server_to_a_code:case r.GlobalCode.Response_video_chat_server_to_b_code:a.GlobalVars2.globalMessageArray.push(e);break;case r.GlobalCode.Response_server_to_client_video_was_stopped_code:!function(e){if(!i.GlobalVars3.GlobalVideoSystem.equalLocalSession(e.localsession))return;$(\"#remotemessage\").html(\"对方已经挂机！！\"),$(\"#remotemessage\").css(\"color\",\"red\")}(o=e);break;case r.GlobalCode.Response_remove_friend_code:o=e;a.GlobalVars2.globalLayImObj.removeList({type:\"friend\",id:o.friendid});break;default:console.log(\"unknow command\",e.cmd,e)}},o.removeThisFriend=function(e){var o,t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),i=JSON.parse(n);o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\"> 你确定要删除 这位好友吗？',o+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',o+=\" <colgroup>\",o+='  <col width=\"150\">',o+=' <col width=\"200\">',o+=\" <col>\",o+=\"</colgroup>\",o+=\"<thead>\",o+='<tr style=\"background-color: #393D49;\">',o+=\"<th>昵称</th>\",o+=\"<th>头像</th>\",o+=\"<th>签名</th>\",o+=\"</tr>\",o+=\"</thead>\",o+=\"<tbody>\",o+=\"<tr>\",o+=\"<td> \"+i.name+\"</td>\",o+='<td><img style=\"width: 150px; height:150px;\" src=\"'+i.avatar+'\"></td>',o+=\"<td> \"+i.remark+\" </td>\",o+=\"   </tr>\",o+=\"</tbody>\",o+=\"</table>\",o+=\" </div>\";var s=new l.RequestRemoveFriend;s.cmd=r.GlobalCode.Request_remove_friend_code,s.friendid=parseInt(i.id,10),a.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:a.getOpenWidth(),shade:.8,btn:[\"删除用户\",\"还是保留吧\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){a.sendMessageToServer(s),a.startProcessCoreMessage(),a.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){a.startProcessCoreMessage(),a.GlobalVars2.Global_layer.close(e)}})}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),i=t(4),s=t(1);o.videoChat=function(e){if(!n.audioorvideoWorking()&&!i.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){i.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!1);var o=i.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,n.sendMessageToServer(o),i.showCallPage()}},o.makeacall=function(e){if(!n.audioorvideoWorking()&&!i.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){i.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!0);var o=i.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,o.audiochatonly=!0,n.sendMessageToServer(o),i.showCallPage()}}},,,,,,function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),i=t(6),s=t(7),a=t(8),r=t(5);function l(){window.scrollTo(0,1)}addEventListener(\"load\",function(){setTimeout(l,0)},!1),$(document).ready(function(e){$(\".close\").on(\"click\",function(e){$(\".login-form\").fadeOut(\"slow\",function(e){$(\".login-form\").remove()})}),n.changeBackground(),$(\"#a1\").click(function(){\"\"!=$(\"#username\").val()&&\"\"!=$(\"#password\").val()?/^[0-9]*[1-9][0-9]*$/.test($(\"#username\").val())?(i.setCookie(\"id\",$(\"#username\").val(),1),i.setCookie(\"passwd\",$(\"#password\").val(),1),window.location.href=n.GlobalVars2.globalMainPage):alert(\"请输入 用户ID, 它是一个数字，并且大于0\"):alert(\"请输入 用户的数字ID和口令，\")}),$(\"#a2\").click(function(){window.location.href=n.GlobalVars2.globalRegisterPage}),window.removeThisFriend=s.removeThisFriend,window.videoChat=a.videoChat,window.makeacall=a.makeacall,window.audioMessage=r.audioMessage})}]);\n//# sourceMappingURL=index_mob.js.map"
  },
  {
    "path": "webroot/dist/js/index_pc.js",
    "content": "!function(o){var n={};function i(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return o[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=o,i.c=n,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(o,n,function(e){return t[e]}.bind(null,n));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=13)}({0:function(e,t,o){\"use strict\";var n,i,a,s;t.__esModule=!0,(i=n=n||{})[i.Working=100]=\"Working\",i[i.Stopping=101]=\"Stopping\",(s=a=a||{})[s.VideoSystemUnInit=100]=\"VideoSystemUnInit\",s[s.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",s[s.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",s[s.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var r=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=a.VideoSystemUnInit},u=(l.CoreMessageLoopTime=100,l.globalProcessStatus=n.Working,l.protocol=\"ws://\",l.globalBackgroundImg=\"\",l.globalUserID=-1,l.globalPwd=\"\",l.globalMobile=!1,l.globalLoginPage=\"index.html\",l.globalRegisterPage=\"new.html\",l.globalMainPage=\"main.html\",l.NoteglobalVideoSystemStatusObject=new r,l.username=\"\",l.globalFriendsId=[],l.globalMessageArray=[],l.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",l);function l(){}t.GlobalVars2=u,t.audioorvideoWorking=function(){return u.NoteglobalVideoSystemStatusObject.AudioRecording||u.NoteglobalVideoSystemStatusObject.VideoChatting},t.audioWorking=function(){return u.NoteglobalVideoSystemStatusObject.AudioRecording},t.turnOffAudio=function(){u.NoteglobalVideoSystemStatusObject.AudioRecording=!1},t.turnOnAudion=function(){u.NoteglobalVideoSystemStatusObject.AudioRecording=!0},t.turnOffvideo=function(){u.NoteglobalVideoSystemStatusObject.VideoChatting=!1},t.turnOnvideo=function(e){u.NoteglobalVideoSystemStatusObject.VideoChatting=!0},t.isVideoSystemNeedInite=function(){return u.NoteglobalVideoSystemStatusObject.VideoSystemStatus==a.VideoSystemUnInit},t.isVideoSystemIniting=function(){return u.NoteglobalVideoSystemStatusObject.VideoSystemStatus==a.VideoSystemUnIniting},t.isVideoSystemInitSucc=function(){return u.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=a.VideoSystemInitSucc},t.startProcessCoreMessage=function(){u.globalProcessStatus=n.Working},t.stopProcessCoreMessage=function(){u.globalProcessStatus=n.Stopping},t.isProcessCoreMessageWorking=function(){return u.globalProcessStatus==n.Working},t.getOpenWidth=function(){return!0===u.globalMobile?\"400px;\":\"560px;\"},t.changeBackground=function(){var e=Math.round(100*Math.random())+1,t=(e%=38).toString()+\".jpg\";t=\"../images/bg/img/\"+(t=e<10?\"0000\"+t:\"000\"+t),u.globalBackgroundImg=\"url(\"+t+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=u.globalBackgroundImg},t.sendMessageToServer=function(e){var t=e.cmd+u.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",t),u.globalImSocketObject.send(t)}},13:function(e,t,o){\"use strict\";t.__esModule=!0;var n=o(0),i=o(6);function a(){window.scrollTo(0,1)}addEventListener(\"load\",function(){setTimeout(a,0)},!1),$(document).ready(function(e){$(\".close\").on(\"click\",function(e){$(\".login-form\").fadeOut(\"slow\",function(e){$(\".login-form\").remove()})}),n.changeBackground();layer.open({type:1,title:!1,closeBtn:!1,area:n.getOpenWidth(),shade:.8,btn:[\"谢谢，我知道了！\"],btnAlign:\"c\",moveType:1,content:\"<p>本网站是一个测试网站，你可以去http://www.github.com/xiaojiaqi/Venus </p><p>下载前后端代码，并尝试自行架设网站。</p><p>系统支持 windows linux 和Mac 系统。</p> 有任何意见请 xiaojiaqi.cn@gmail.com\",yes:function(e,t){layer.close(e)}}),$(\"#a1\").click(function(){\"\"!=$(\"#username\").val()&&\"\"!=$(\"#password\").val()?/^[0-9]*[1-9][0-9]*$/.test($(\"#username\").val())?(i.setCookie(\"id\",$(\"#username\").val(),1),i.setCookie(\"passwd\",$(\"#password\").val(),1),window.location.href=n.GlobalVars2.globalMainPage):alert(\"请输入 用户ID, 它是一个数字，并且大于0\"):alert(\"请输入 用户的数字ID和口令，\")}),$(\"#a2\").click(function(){window.location.href=n.GlobalVars2.globalRegisterPage})})},6:function(e,t,o){\"use strict\";function n(e,t,o){var n=new Date;n.setDate(n.getDate()+o),document.cookie=e+\"=\"+escape(t)+(null==o?\"\":\"; expires=\"+n.toUTCString())}t.__esModule=!0,t.getCookie=function(e){if(0<document.cookie.length){var t=document.cookie.indexOf(e+\"=\");if(-1!=t){t=t+e.length+1;var o=document.cookie.indexOf(\";\",t);return-1==o&&(o=document.cookie.length),unescape(document.cookie.substring(t,o))}}return\"\"},t.setCookie=n,t.delCookie=function(e){n(e,\"\",-1)}}});\n//# sourceMappingURL=index_pc.js.map"
  },
  {
    "path": "webroot/dist/js/main_mob.js",
    "content": "!function(t){var n={};function a(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=t,a.c=n,a.d=function(e,o,t){a.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:t})},a.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},a.t=function(o,e){if(1&e&&(o=a(o)),8&e)return o;if(4&e&&\"object\"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:o}),2&e&&\"string\"!=typeof o)for(var n in o)a.d(t,n,function(e){return o[e]}.bind(null,n));return t},a.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(o,\"a\",o),o},a.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},a.p=\"\",a(a.s=15)}([function(e,o,t){\"use strict\";var n,a,i,s;o.__esModule=!0,(a=n=n||{})[a.Working=100]=\"Working\",a[a.Stopping=101]=\"Stopping\",(s=i=i||{})[s.VideoSystemUnInit=100]=\"VideoSystemUnInit\",s[s.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",s[s.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",s[s.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var l=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=i.VideoSystemUnInit},r=(c.CoreMessageLoopTime=100,c.globalProcessStatus=n.Working,c.protocol=\"ws://\",c.globalBackgroundImg=\"\",c.globalUserID=-1,c.globalPwd=\"\",c.globalMobile=!1,c.globalLoginPage=\"index.html\",c.globalRegisterPage=\"new.html\",c.globalMainPage=\"main.html\",c.NoteglobalVideoSystemStatusObject=new l,c.username=\"\",c.globalFriendsId=[],c.globalMessageArray=[],c.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",c);function c(){}o.GlobalVars2=r,o.audioorvideoWorking=function(){return r.NoteglobalVideoSystemStatusObject.AudioRecording||r.NoteglobalVideoSystemStatusObject.VideoChatting},o.audioWorking=function(){return r.NoteglobalVideoSystemStatusObject.AudioRecording},o.turnOffAudio=function(){r.NoteglobalVideoSystemStatusObject.AudioRecording=!1},o.turnOnAudion=function(){r.NoteglobalVideoSystemStatusObject.AudioRecording=!0},o.turnOffvideo=function(){r.NoteglobalVideoSystemStatusObject.VideoChatting=!1},o.turnOnvideo=function(e){r.NoteglobalVideoSystemStatusObject.VideoChatting=!0},o.isVideoSystemNeedInite=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnInit},o.isVideoSystemIniting=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnIniting},o.isVideoSystemInitSucc=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=i.VideoSystemInitSucc},o.startProcessCoreMessage=function(){r.globalProcessStatus=n.Working},o.stopProcessCoreMessage=function(){r.globalProcessStatus=n.Stopping},o.isProcessCoreMessageWorking=function(){return r.globalProcessStatus==n.Working},o.getOpenWidth=function(){return!0===r.globalMobile?\"400px;\":\"560px;\"},o.changeBackground=function(){var e=Math.round(100*Math.random())+1,o=(e%=38).toString()+\".jpg\";o=\"../images/bg/img/\"+(o=e<10?\"0000\"+o:\"000\"+o),r.globalBackgroundImg=\"url(\"+o+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=r.globalBackgroundImg},o.sendMessageToServer=function(e){var o=e.cmd+r.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",o),r.globalImSocketObject.send(o)}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=(a.Request_register_code=\"001\",a.Request_login_code=\"011\",a.Request_online_client_info_code=\"002\",a.Response_online_client_info_code=\"102\",a.Response_login_code=\"111\",a.Response_mine_code=\"121\",a.Response_add_friend_list_code=\"131\",a.Request_a_to_server_add_friend_code=\"032\",a.Request_server_to_b_add_friend_code=\"032\",a.Response_server_to_a_add_friend_code=\"133\",a.Request_confirm_add_friend_code=\"033\",a.Request_fetch_friend_code=\"037\",a.Response_server_to_a_fetch_friend_code=\"137\",a.Request_remove_friend_code=\"039\",a.Response_remove_friend_code=\"139\",a.Request_message_code=\"041\",a.Requst_ack_message_code=\"042\",a.Response_message_code=\"142\",a.Response_friend_status_change_code=\"151\",a.Response_friend_info_change_code=\"152\",a.Request_video_chat_a_to_server_code=\"053\",a.Response_video_chat_server_to_a_code=\"153\",a.Request_video_chat_b_to_server_code=\"054\",a.Response_video_chat_server_to_b_code=\"154\",a.Request_client_to_server_video_was_stopped_code=\"055\",a.Response_server_to_client_video_was_stopped_code=\"155\",a.LOGIN_CMD=\"login\",a.OFFER_CMD=\"offer\",a.ANSWER_CMD=\"answer\",a.CANDIDATE_CMD=\"candidate\",a.LEAVE_CMD=\"leave\",a);function a(){}o.GlobalCode=n},function(e,o,t){\"use strict\";o.__esModule=!0;function n(){}o.RequsetSignin=n;function a(){}o.ResponseAddList=a;function i(){}o.ChatMessage=i;function s(){}o.AckChatMessage=s;function l(){}o.AddFriendRequest=l;function r(){}o.AddFriendResponse=r;function c(){}o.SetFriendStatusResponse=c;function d(){}o.ConfirmAddFriendRequest=d;function u(){}o.RequestFetchFriendInfo=u;function g(){}o.ResponseFetchFriendInfo=g;function b(){}o.ResponseMine=b;function m(){}o.RequestUserRegister=m;function f(){}o.ResponseUserRegister=f;function p(){}o.ResponseSignin=p;function h(){}o.UserInfo=h;function _(){}o.RequestRemoveFriend=_;function y(){}o.ResponseRemoveFriend=y;function v(){}o.RequestVideoChatClosed=v;function S(){}o.VideoChatMsg=S;function C(){}o.LoginWebRtcRoom=C;function V(){}o.Candidate=V;function G(){}o.Answer=G;function w(){}o.Offer=w;function R(){}o.WebRTCJson=R},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),a=Domain,i=a+\":3478\",s=a+\":3478\";var l=(r.uploaderSocketServer=a+\":8091\",r.ImServer=a+\":8090\",r.signallingConnectionServer=a+\":8888\",r.stunServerConfigString='[{ \"urls\": \"stun:'+i+'?transport=udp\"   } ,{ \"urls\": \"stun:'+i+'?transport=tcp\"   } ,{ \"urls\": \"turn:'+s+'?transport=udp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ,{ \"urls\": \"turn:'+s+'?transport=tcp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ] ',r);function r(){}o.GlobalVars=l,\"https:\"===document.location.protocol&&(n.GlobalVars2.protocol=\"wss://\"),console.log(\"GlobalVars2.protocol  \",n.GlobalVars2.protocol),l.uploaderSocketServer=n.GlobalVars2.protocol+l.uploaderSocketServer,l.ImServer=n.GlobalVars2.protocol+l.ImServer,l.signallingConnectionServer=n.GlobalVars2.protocol+l.signallingConnectionServer,console.log(\"GlobalVars.uploaderSocketServer  \",l.uploaderSocketServer),console.log(\"GlobalVars.ImServer   \",l.ImServer),console.log(\"GlobalVars.signallingConnectionServer  \",l.signallingConnectionServer)},function(e,o,t){\"use strict\";o.__esModule=!0;var s=t(0),i=t(1),n=t(2),a=t(3),l=t(5),r=(c.prototype.initFirstVideoChatMsg=function(){this.firstVideoChatInit=!0},c.prototype.cleanFirstVideoChatMsg=function(){this.firstVideoChatInit=!1},c.prototype.isFirstVideoChatInited=function(){return this.firstVideoChatInit},c.prototype.createFirstVideoChat=function(e,o){if(!this.isFirstVideoChatInited()){this.firstVideoChatInit=!0,this.firstVideoChat.localsession=Math.round(1e4*Math.random())+200;var t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),a=JSON.parse(n);this.firstVideoChat.clienta=s.GlobalVars2.globalUserID,this.firstVideoChat.clientb=parseInt(a.id,10),this.firstVideoChat.audiochatonly=o,this.firstVideoChat.cmd=i.GlobalCode.Request_video_chat_a_to_server_code,console.log(\"createFirstVideoChat ：localsession:\",this.firstVideoChat.localsession)}},c.prototype.updateMyFirstVideoChat=function(e){this.firstVideoChatInit=!0,this.firstVideoChat=e},c.prototype.getSingalRequest=function(){if(this.firstVideoChatInit){var e=new n.WebRTCJson;return e.clienta=this.firstVideoChat.clienta,e.clientb=this.firstVideoChat.clientb,e.whoami=s.GlobalVars2.globalUserID,e.localsession=this.firstVideoChat.localsession,e.roomid=this.firstVideoChat.roomid,e.fromavatar=this.firstVideoChat.fromavatar,e.roomtoken=this.firstVideoChat.roomtoken,e.requestid=this.firstVideoChat.requestid,e.sessionid=this.firstVideoChat.sessionid,e}alert(\"wrong Request\")},c.prototype.getSingalVideoChat=function(){if(this.firstVideoChatInit)return this.firstVideoChat;alert(\"wrong Request\")},c.prototype.cleanLocalSession=function(){this.firstVideoChatInit=!1,this.firstVideoChat.localsession=0,this.firstVideoChat.clientb=0,this.firstVideoChat.clientb=0,console.log(\"cleanLocalSession ：localsession:\",this.firstVideoChat.localsession)},c.prototype.equalLocalSession=function(e){return!!this.isFirstVideoChatInited()&&this.firstVideoChat.localsession==e},c);function c(){this.firstVideoChat=new n.VideoChatMsg,this.firstVideoChat.localsession=0,this.firstVideoChatInit=!1,this.snid=Math.round(1e4*Math.random())+200,this.yourConnectionInitFlag=!1,console.log(\"constructor VideoSystemObj \",this.snid)}o.VideoSystemObj=r;var d=function(){};function u(){d.GlobalVideoSystem.signalSocket=new WebSocket(a.GlobalVars.signallingConnectionServer),d.GlobalVideoSystem.signalSocket.onopen=function(){console.log(\"user:  connect success. \"+a.GlobalVars.signallingConnectionServer+\" \");var e=d.GlobalVideoSystem.getSingalRequest();e.type=i.GlobalCode.LOGIN_CMD,w(e)},d.GlobalVideoSystem.signalSocket.onclose=function(e){console.log(\"webrtc connection closed\")},d.GlobalVideoSystem.signalSocket.onmessage=function(o){var e;try{e=JSON.parse(o.data),console.log(\"got message\",o.data)}catch(e){return void console.log(\"parse json failed\",e,\"res.data\",o.data)}switch(console.log(\"got \",e.type),e.type){case i.GlobalCode.LOGIN_CMD:d.GlobalVideoSystem.getSingalRequest().clienta==s.GlobalVars2.globalUserID&&V();break;case i.GlobalCode.OFFER_CMD:f(e.offer);break;case i.GlobalCode.ANSWER_CMD:p(e.answer);break;case i.GlobalCode.CANDIDATE_CMD:h(e.candidate);break;default:console.log(\"unknow command\",e)}}}function g(){d.GlobalVideoSystem.yourConnectionInitFlag=!0}function b(){return d.GlobalVideoSystem.yourConnectionInitFlag}function m(){d.GlobalVideoSystem.yourConnectionInitFlag=!1}function f(e){console.log(\"recvOfferMsg \"),console.log(\"recvOfferMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e)),console.log(\"recvOfferMsg yourConnection.createAnswer\"),d.GlobalVideoSystem.yourConnection.createAnswer(function(e){console.log(\"yourConnection.setLocalDescription (answer)\"),d.GlobalVideoSystem.yourConnection.setLocalDescription(e);var o=d.GlobalVideoSystem.getSingalRequest();o.type=i.GlobalCode.ANSWER_CMD,o.answer=e,w(o)},function(e){alert(\"An error has occurred\")})}function p(e){console.log(\"recvAnswerMsg \"),console.log(\"recvAnswerMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e))}function h(e){console.log(\"recvCandidateMsg\"),console.log(\"recvCandidateMsg yourConnection.addIceCandidate\",JSON.stringify(e)),d.GlobalVideoSystem.yourConnection.addIceCandidate(new RTCIceCandidate(e))}function _(){console.log(\"initVideoSystem\"),d.GlobalVideoSystem.callPage=document.querySelector(\"#call-page\"),d.GlobalVideoSystem.hangUpButton=document.querySelector(\"#hang-up\"),d.GlobalVideoSystem.yourVideo=document.querySelector(\"#yours\"),d.GlobalVideoSystem.theirVideo=document.querySelector(\"#theirs\"),$(\"#call-page\").hide(),s.GlobalVars2.globalMobile||d.GlobalVideoSystem.hangUpButton.addEventListener(\"click\",function(){G()})}function y(e){if(console.log(\"startConnection() 1\"),S()){console.log(\"startConnection() 2\");var o=!0;1==e&&(o=!1),navigator.getUserMedia({video:o,audio:{echoCancellation:!0}},function(e){d.GlobalVideoSystem.stream=e,d.GlobalVideoSystem.yourVideo.src=window.URL.createObjectURL(d.GlobalVideoSystem.stream),C()?(console.log(\"startConnection() 3\"),console.log(\"hasRTCPeerConnection success\"),v(d.GlobalVideoSystem.stream)):alert(\"Sorry, your browser does not support WebRTC.\")},function(e){console.log(e)})}else alert(\"Sorry, your browser does not support WebRTC.\")}function v(e){var o={iceServers:JSON.parse(a.GlobalVars.stunServerConfigString),bundlePolicy:\"max-bundle\"};console.log(\"setupPeerConnection(stream);\"),console.log(\"yourConnection = new RTCPeerConnection(configuration)\",JSON.stringify(o)),d.GlobalVideoSystem.yourConnection=new RTCPeerConnection(o),g(),console.log(\"yourConnection.addStream(stream);\"),d.GlobalVideoSystem.yourConnection.addStream(e),d.GlobalVideoSystem.yourConnection.onaddstream=function(e){d.GlobalVideoSystem.theirVideo.src=window.URL.createObjectURL(e.stream)},d.GlobalVideoSystem.yourConnection.onicecandidate=function(e){if(console.log(\"yourConnection.onicecandidate\",e),e.candidate){var o=d.GlobalVideoSystem.getSingalRequest();o.type=i.GlobalCode.CANDIDATE_CMD,o.candidate=e.candidate,w(o)}},console.log(\"setupPeerConnection(stream) done;\"),u()}function S(){return navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,!!navigator.getUserMedia}function C(){return window.RTCPeerConnection=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection,window.RTCSessionDescription=window.RTCSessionDescription||window.webkitRTCSessionDescription||window.mozRTCSessionDescription,window.RTCIceCandidate=window.RTCIceCandidate||window.webkitRTCIceCandidate||window.mozRTCIceCandidate,!!window.RTCPeerConnection}function V(){d.GlobalVideoSystem.yourConnection.createOffer(function(e){console.log(\"yourConnection.createOffer(function (offer)\");var o=d.GlobalVideoSystem.getSingalRequest();o.type=i.GlobalCode.OFFER_CMD,o.offer=e,w(o),d.GlobalVideoSystem.yourConnection.setLocalDescription(e)},function(e){alert(\"An error has occurred.\")})}function G(){d.GlobalVideoSystem.connectedUser=null,d.GlobalVideoSystem.theirVideo.src=null,d.GlobalVideoSystem.yourVideo.src=null,b()&&(d.GlobalVideoSystem.yourConnection.close(),d.GlobalVideoSystem.yourConnection.onicecandidate=null,d.GlobalVideoSystem.yourConnection.onaddstream=null),m(),void 0!==d.GlobalVideoSystem.signalSocket&&void 0!==d.GlobalVideoSystem.signalSocket.close&&d.GlobalVideoSystem.signalSocket.close();s.GlobalVars2.globalLayImObj.cache();var e=d.GlobalVideoSystem.getSingalRequest();e.iam=s.GlobalVars2.globalUserID,e.cmd=i.GlobalCode.Request_client_to_server_video_was_stopped_code,s.sendMessageToServer(e),d.GlobalVideoSystem.cleanLocalSession(),k(),$(\"#remotemessage\").html(\"\")}function w(e){var o=d.GlobalVideoSystem.signalSocket,t=JSON.stringify(e);console.log(\"send message to SingalServer \",t),o.send(t)}function R(){$(\"#call-page\").css(\"position\",\"absolute\"),$(\"#call-page\").css(\"top\",0),$(\"#call-page\").css(\"left\",0),$(\"#call-page\").css(\"background\",\"#ccc\");var e=l.getWH(1);$(\"#call-page\")[0].style.cssText+=\";width:\"+e.w+\"px;height:\"+e.h+\"px\";var o=l.findHighestZIndex(\"div\");console.log(\"max z: \",o,\" w: \",e.w,NaN,e.h),$(\"#call-page\").css(\"z-index\",o+1),$(\"#call-page\").css(\"visibility\",\"visible\"),$(\"#call-page\").css(\"background-image\",s.GlobalVars2.globalBackgroundImg),$(\"#call-page\").show()}function M(){var e,o,t,n=window.screen.availHeight,a=window.screen.availWidth;console.log(\"w:\"+a.toString()+\" h: \"+n.toString()),e=.75*(n*=.9),o=.75*(a*=.9),e=parseInt(e.toFixed()),o=parseInt(o.toFixed()),(a*=.9)<(n*=.9)&&(n=a),t=.8*(a=n=parseInt(n.toFixed())),t=parseInt(t.toFixed()),console.log(\"w:\"+a.toString()+\" h: \"+n.toString()+\" w2: \"+t.toString());var i='  <table id=\"call-page\"     style=\" top:0px; left: 0px; witdth: '+n.toString()+\"px; height: \"+a.toString()+'px; \">\\n\\n\\n    <table class=\"page\" >\\n\\n\\n        <video id=\"yours\"   autoplay playsinline controls></video>\\n        <video id=\"theirs\"  style=\"  witdth: '+t.toString()+\"px; height:\"+t.toString()+'px; \" autoplay playsinline controls  ></video>\\n\\n         \\n<div id =\"remotemessage\"></div>    </table>\\n</table>';console.log(\"['\"+e.toString()+\"px', '\"+o.toString()+\"px']\"),s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:\"['\"+o.toString()+\"px', '\"+e.toString()+\"px']\",shade:.8,btn:[\"关闭视频\"],btnAlign:\"c\",moveType:1,content:i,yes:function(e,o){G(),s.GlobalVars2.Global_layer.close(e),s.startProcessCoreMessage()}}),$(\"#theirs\").css(\"width\",n.toString()+\"px\"),$(\"#theirs\").css(\"height\",n.toString()+\"px\"),$(\"#yours\").css(\"width\",\"80px\"),$(\"#yours\").css(\"height\",\"80px\"),$(\"#call-page\").css(\"width\",o.toString()+\"px\"),$(\"#call-page\").css(\"height\",e.toString()+\"px\"),_()}function k(){s.GlobalVars2.globalMobile||($(\"#micmask\").css(\"z-index\",-1),$(\"#call-page\").css(\"visibility\",\"hidden\"),$(\"#call-page\").hide())}o.GlobalVars3=d,o.callVeidoSingalServer=function(e){y((d.GlobalVideoSystem.firstVideoChat=e).audiochatonly)},o.startWebRTCLoop=u,o.initYourConnectionFlag=g,o.checkYourConnectionInitFlag=b,o.cleanYourConnectionInitFlag=m,o.recvOfferMsg=f,o.recvAnswerMsg=p,o.recvCandidateMsg=h,o.initVideoSystem=_,o.recvLoginMsg=function(e){!1===e?alert(\"Login unsuccessful, please try a different name.\"):d.GlobalVideoSystem.callPage.style.display=\"block\"},o.startConnection=y,o.setupPeerConnection=v,o.hasUserMedia=S,o.hasRTCPeerConnection=C,o.startPeerConnection=V,o.recvLeaveMsg=G,o.sendMessageToSingalServer=w,o.showCallPage=function(){console.log(\"showCallPage()\"),s.GlobalVars2.globalMobile?M():R()},o.showCallPagePC=R,o.showCallPageMobile=M,o.hideCallPage=k},function(e,a,o){\"use strict\";a.__esModule=!0;var i,s,t,n,l,r,c=o(3),d=o(0);a.getWH=(t=document,n=t[\"CSS1Compat\"==t.compatMode?\"documentElement\":\"body\"],function(e){return{w:n[(e?\"client\":\"scroll\")+\"Width\"],h:e?n.clientHeight:Math.max(n.clientHeight,n.scrollHeight)}}),(r=l=l||{})[r.needInitAudio=100]=\"needInitAudio\",r[r.AudioInitializing=150]=\"AudioInitializing\",r[r.initSuccess=200]=\"initSuccess\",r[r.initFailed=300]=\"initFailed\";var u,g=l.needInitAudio;function b(e){g=l.initSuccess;var o=i.createMediaStreamSource(e);console.log(\"Media stream created.\"),s=new Recorder(o),console.log(\"Recorder initialised.\"),p(u)}function m(e){console.log(\"stopRecording(node)\",e),s?console.log(\"stopRecording(node) recorder is ready\"):console.log(\"stopRecording(node) recorder is not ready\"),s&&s.stop(),console.log(\"Stopped recording.\"),function(o){s&&s.exportWAV(function(e){!function(e,t){var n=new WebSocket(c.GlobalVars.uploaderSocketServer);n.onopen=function(){console.log(\"user:  connect success\"+c.GlobalVars.uploaderSocketServer),n.send(e)},n.onclose=function(e){console.log(\"user:  connect close\",e)},n.onmessage=function(e){console.log(e);var o=JSON.parse(e.data);console.log(\"message: \"+o.path),n.close(),!1===d.GlobalVars2.globalMobile?function(e,o){e.children(\".layim-chat-textarea\").children()[0].value=\"audio[\"+o.path+\"]\",e.children(\".layim-chat-bottom\").find(\".layim-send-btn\").trigger(\"click\")}(t,o):function(e,o){var t=e.children(\".layim-chat-send\").children();t[0].value=\"audio[\"+o.path+\"]\";var n=$(t[1]);n.offset().left,n.offset().top;3,3;$(\"body\")}(t,o)}}(e,o)})}(e),s.clear()}function f(e){for(var o=document.getElementsByTagName(e),t=\"0\",n=0;n<o.length;n++){var a=document.defaultView.getComputedStyle(o[n],null).getPropertyValue(\"z-index\");Number(a)>Number(t)&&\"auto\"!=a&&(t=a)}return Number(t)}function p(e){console.log(\"audioMessage()\",e);var o=$(e).attr(\"data-json\"),t=decodeURIComponent(o),n=(JSON.parse(t),$(e).parent().parent());console.log(\"AudioDeviceNeedInit\"),(g===l.needInitAudio?(console.log(\"AudioDeviceNeedInit true\"),0):(console.log(\"AudioDeviceNeedInit false\"),1))?(console.log(\"AudioDeviceInitializing\"),(g===l.AudioInitializing?(console.log(\"AudioDeviceInitializing true\"),0):(console.log(\"AudioDeviceInitializing false\"),1))&&(g===l.initSuccess?d.audioWorking()?(m(n),$(\"#AudioRecording\").hide(),$(\"#micmask\").remove(),d.turnOffAudio()):(d.turnOnAudion(),function(e){$(document.body).append(\"<div id=\\\"micmask\\\"> <img src='../images/bg/mic.png?__inline'></div>\"),$(\"#micmask\").css(\"position\",\"absolute\"),$(\"#micmask\").css(\"top\",0),$(\"#micmask\").css(\"left\",0),$(\"#micmask\").css(\"background\",\"#ccc\");var o=a.getWH(1);$(\"#micmask\")[0].style.cssText+=\";width:\"+o.w+\"px;height:\"+o.h+\"px\";var t=f(\"div\");console.log(\"max z: \",t,\" w: \",o.w,NaN,o.h),$(\"#micmask\").css(\"z-index\",t+1),$(\"#micmask\").on(\"click\",function(){$(\"#micmask\").remove(),p(e)})}(e),$(\"#AudioRecording\").show(),console.log(\"startRecording()\"),s?console.log(\"startRecording( ) recorder is ready\"):console.log(\"startRecording( ) recorder is not ready\"),s&&s.record(),console.log(\"Recording...\")):alert(\"no device\"))):function(e){console.log(\"InitUserMediaSystem\"),g=l.AudioInitializing;try{window.AudioContext=window.AudioContext||window.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,window.URL=window.URL||window.webkitURL,i=new AudioContext,console.log(\"Audio context set up.\"),console.log(\"navigator.getUserMedia \"+(navigator.getUserMedia?\"available.\":\"not present!\"))}catch(e){return alert(\"No web audio support in this browser!\"),g=l.initFailed}u=e,navigator.getUserMedia({audio:!0},b,function(e){console.log(\"No live audio input: \"+e),g=l.initFailed})}(e)}a.findHighestZIndex=f,a.audioMessage=p},function(e,o,t){\"use strict\";function n(e,o,t){var n=new Date;n.setDate(n.getDate()+t),document.cookie=e+\"=\"+escape(o)+(null==t?\"\":\"; expires=\"+n.toUTCString())}o.__esModule=!0,o.getCookie=function(e){if(0<document.cookie.length){var o=document.cookie.indexOf(e+\"=\");if(-1!=o){o=o+e.length+1;var t=document.cookie.indexOf(\";\",o);return-1==t&&(t=document.cookie.length),unescape(document.cookie.substring(o,t))}}return\"\"},o.setCookie=n,o.delCookie=function(e){n(e,\"\",-1)}},function(e,o,t){\"use strict\";o.__esModule=!0;var s=t(0),l=t(1),r=t(2),a=t(4);o.dispatchResultFormSocketServer=function(e){switch(e.cmd){case l.GlobalCode.Response_login_code:s.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e);break;case l.GlobalCode.Response_mine_code:var o=e,t=s.GlobalVars2.globalLayImObj.cache();t.mine.id=o.id.toLocaleString(),t.mine.avatar=o.avatar,t.mine.username=o.username,t.mine.sign=o.sign,$(\".layui-layim-user\").html(t.mine.username),$(\".layui-layim-remark\").val(t.mine.sign);break;case l.GlobalCode.Response_add_friend_list_code:o=e;e.id=o.id.toString(),s.GlobalVars2.globalFriendsId.push(o.id),s.GlobalVars2.globalLayImObj.addList(e);break;case l.GlobalCode.Response_server_to_a_add_friend_code:case l.GlobalCode.Response_server_to_a_fetch_friend_code:s.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e.cmd+e);break;case l.GlobalCode.Response_message_code:s.GlobalVars2.globalLayImObj.getMessage(e);var n=new r.AckChatMessage;n.cmd=l.GlobalCode.Requst_ack_message_code,n.gid=e.gid,s.sendMessageToServer(n);break;case l.GlobalCode.Response_friend_status_change_code:o=e;s.GlobalVars2.globalLayImObj.setFriendStatus(o.id,o.status);break;case l.GlobalCode.Request_server_to_b_add_friend_code:case l.GlobalCode.Response_video_chat_server_to_a_code:case l.GlobalCode.Response_video_chat_server_to_b_code:s.GlobalVars2.globalMessageArray.push(e);break;case l.GlobalCode.Response_server_to_client_video_was_stopped_code:!function(e){if(!a.GlobalVars3.GlobalVideoSystem.equalLocalSession(e.localsession))return;$(\"#remotemessage\").html(\"对方已经挂机！！\"),$(\"#remotemessage\").css(\"color\",\"red\")}(o=e);break;case l.GlobalCode.Response_remove_friend_code:o=e;s.GlobalVars2.globalLayImObj.removeList({type:\"friend\",id:o.friendid});break;default:console.log(\"unknow command\",e.cmd,e)}},o.removeThisFriend=function(e){var o,t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),a=JSON.parse(n);o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\"> 你确定要删除 这位好友吗？',o+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',o+=\" <colgroup>\",o+='  <col width=\"150\">',o+=' <col width=\"200\">',o+=\" <col>\",o+=\"</colgroup>\",o+=\"<thead>\",o+='<tr style=\"background-color: #393D49;\">',o+=\"<th>昵称</th>\",o+=\"<th>头像</th>\",o+=\"<th>签名</th>\",o+=\"</tr>\",o+=\"</thead>\",o+=\"<tbody>\",o+=\"<tr>\",o+=\"<td> \"+a.name+\"</td>\",o+='<td><img style=\"width: 150px; height:150px;\" src=\"'+a.avatar+'\"></td>',o+=\"<td> \"+a.remark+\" </td>\",o+=\"   </tr>\",o+=\"</tbody>\",o+=\"</table>\",o+=\" </div>\";var i=new r.RequestRemoveFriend;i.cmd=l.GlobalCode.Request_remove_friend_code,i.friendid=parseInt(a.id,10),s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"删除用户\",\"还是保留吧\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){s.sendMessageToServer(i),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}})}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),a=t(4),i=t(1);o.videoChat=function(e){if(!n.audioorvideoWorking()&&!a.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){a.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!1);var o=a.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=i.GlobalCode.Request_video_chat_a_to_server_code,n.sendMessageToServer(o),a.showCallPage()}},o.makeacall=function(e){if(!n.audioorvideoWorking()&&!a.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){a.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!0);var o=a.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=i.GlobalCode.Request_video_chat_a_to_server_code,o.audiochatonly=!0,n.sendMessageToServer(o),a.showCallPage()}}},function(e,o,t){\"use strict\";o.__esModule=!0;var s=t(0),l=t(1),a=t(2),r=t(4);o.coreMessageLoop=function n(){setTimeout(function(){if(s.isProcessCoreMessageWorking())if(0!=s.GlobalVars2.globalMessageArray.length){var e=s.GlobalVars2.globalMessageArray.pop();switch(s.stopProcessCoreMessage(),console.log(\"pop \"+e.cmd+\" \"+JSON.stringify(e)+\" \"),e.cmd){case l.GlobalCode.Response_login_code:var o=e;\"success\"!=o.result&&(alert(\"登录失败了， \"+o.result),window.location.href=s.GlobalVars2.globalLoginPage),s.startProcessCoreMessage();break;case l.GlobalCode.Response_server_to_a_add_friend_code:!function(n){var e;e='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',e+=\" 收到  信息\",e+=\" 用户： \"+n.fromname,e+='       <img style=\"width: 150px; height:150px;\" src=\"'+n.fromavatar+'\">   </br>',1==n.result?e+=\"       同意了加好友的请求 </br>\":e+=\"       拒绝了加好友的请求   </br>\",e+=\" </div>\",s.GlobalVars2.globalLayImObj,s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"关闭\"],btnAlign:\"c\",moveType:1,content:e,yes:function(e,o){var t=new a.AckChatMessage;t.cmd=l.GlobalCode.Requst_ack_message_code,t.gid=n.gid,s.sendMessageToServer(t),s.GlobalVars2.Global_layer.close(e),s.startProcessCoreMessage()}})}(e);break;case l.GlobalCode.Request_confirm_add_friend_code:break;case l.GlobalCode.Response_server_to_a_fetch_friend_code:!function(e){0==e.result?s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"退出\"],btnAlign:\"c\",moveType:1,content:\"对不起，该位用户没有找到\",yes:function(e,o){s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}}):function(n){var e;e='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',e+=\" 收到 用户的信息\",e+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',e+=\" <colgroup>\",e+='  <col width=\"150\">',e+=' <col width=\"200\">',e+=\" <col>\",e+=\"</colgroup>\",e+=\"<thead>\",e+='<tr style=\"background-color: #393D49;\">',e+=\"<th>昵称</th>\",e+=\"<th>头像</th>\",e+=\"<th>签名</th>\",e+=\"</tr>\",e+=\"</thead>\",e+=\"<tbody>\",e+=\"<tr>\",e+=\"<td> \"+n.userInfo.Nickname+\"</td>\",e+='<td><img style=\"width: 150px; height:150px;\" src=\"'+n.userInfo.Avatar+'\"></td>',e+=\"<td>\"+n.userInfo.Sign+\"</td>\",e+=\"   </tr>\",e+=\"</tbody>\",e+=\"</table>\",e+=\"想对他说什么？ <br>   \",e+='   <div class=\"layui-form-item\"> ',e+='    <div class=\"layui-input-block\"> ',e+='    <input type=\"text\" id=\"add_frend_contant\" required  lay-verify=\"required\" ',e+=' placeholder=\"想对他说什么\" autocomplete=\"off\" class=\"layui-input\"  style=\"width:190px;\">',e+=\"    </div> \",e+=\"    </div> \",e+=\" </div>\",s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"请求加好友\",\"放弃加好友\"],btnAlign:\"c\",moveType:1,content:e,yes:function(e,o){s.GlobalVars2.globalLayImObj.cache();var t=new a.AddFriendRequest;t.cmd=l.GlobalCode.Request_a_to_server_add_friend_code,t.ifromid=s.GlobalVars2.globalUserID,t.itoid=n.userInfo.Id,t.remark=$(\"#add_frend_contant\").val(),s.sendMessageToServer(t),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}})}(e)}(e);break;case l.GlobalCode.Request_server_to_b_add_friend_code:!function(e){var o;o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\"> 收到 用户的信息',o+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',o+=\" <colgroup>\",o+='  <col width=\"150\">',o+=' <col width=\"200\">',o+=\" <col>\",o+=\"</colgroup>\",o+=\"<thead>\",o+='<tr style=\"background-color: #393D49;\">',o+=\"<th>昵称</th>\",o+=\"<th>头像</th>\",o+=\"<th>签名</th>\",o+=\"</tr>\",o+=\"</thead>\",o+=\"<tbody>\",o+=\"<tr>\",o+=\"<td> \"+e.fromname+\"</td>\",o+='<td><img style=\"width: 150px; height:150px;\" src=\"'+e.fromavatar+'\"></td>',o+=\"<td> </td>\",o+=\"   </tr>\",o+=\"</tbody>\",o+=\"</table>\",o+=\" 希望加你为好友 \"+e.remark+\"  <br>\",o+=\"     \",o+=\" </div>\";var t=s.GlobalVars2.globalLayImObj.cache(),n=new a.AddFriendResponse;n.cmd=l.GlobalCode.Request_confirm_add_friend_code,n.ifromid=parseInt(t.mine.id,10),n.itoid=e.ifromid,n.recvsidegid=e.recvsidegid,n.fromsidegid=e.fromsidegid,console.log(\"confirm_Request_server_to_b_add_friend: \",JSON.stringify(n)),s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"同意加好友\",\"不同意加好友\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){n.result=!0,s.sendMessageToServer(n),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){n.result=!1,s.sendMessageToServer(n),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}})}(e);break;case l.GlobalCode.Response_video_chat_server_to_a_code:!function(e){return r.GlobalVars3.GlobalVideoSystem.equalLocalSession(e.localsession)?1==e.result?(r.GlobalVars3.GlobalVideoSystem.updateMyFirstVideoChat(e),r.callVeidoSingalServer(e),s.startProcessCoreMessage()):(r.hideCallPage(),r.GlobalVars3.GlobalVideoSystem.cleanLocalSession(),o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',o+=\" 好友 \",o+=\"拒绝\",o+=\"你的视频要求<br/> \",\"\"!=e.description&&(o+=e.description+\"<br/>\"),o+=\" </div>\",s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"知道了\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}})):s.startProcessCoreMessage();var o}(e);break;case l.GlobalCode.Response_video_chat_server_to_b_code:var t=e;!function(t){if(console.log(\"process_Response_video_chat_server_to_b :\",t),console.log(\"constructor VideoSystemObj :\",r.GlobalVars3.GlobalVideoSystem.snid),r.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){var e=t;return e.cmd=l.GlobalCode.Request_video_chat_b_to_server_code,e.result=!1,e.description=\"对方很忙\",s.sendMessageToServer(e),s.startProcessCoreMessage()}for(var o,n=!1,a=0;a<s.GlobalVars2.globalFriendsId.length;a++)if(s.GlobalVars2.globalFriendsId[a]==t.clienta){n=!0;break}return t.clienta==s.GlobalVars2.globalUserID?s.startProcessCoreMessage():t.clientb!=s.GlobalVars2.globalUserID?s.startProcessCoreMessage():0==n?((i=t).cmd=l.GlobalCode.Request_video_chat_b_to_server_code,i.result=!1,i.description=\"对方并不想和陌生人聊天\",s.sendMessageToServer(i),s.startProcessCoreMessage()):(o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',o+=\" 收到 \"+t.fromname+\"<br/>\",o+='<img src=\"'+t.fromavatar+\"\\\"  width='190px'  height='190px'>发来的视频聊天请求， 请选择<br/> </div>\",(i=t).cmd=l.GlobalCode.Request_video_chat_b_to_server_code,s.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:s.getOpenWidth(),shade:.8,btn:[\"同意视频\",\"残忍拒绝\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){i.result=!0,s.sendMessageToServer(i),r.GlobalVars3.GlobalVideoSystem.updateMyFirstVideoChat(i),r.showCallPage(),r.callVeidoSingalServer(t),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){i.result=!1,s.sendMessageToServer(i),s.startProcessCoreMessage(),s.GlobalVars2.Global_layer.close(e)}}));var i}(t);break;default:alert(JSON.stringify(t))}n()}else n();else n()},s.GlobalVars2.CoreMessageLoopTime)}},,,,,,function(e,o,t){\"use strict\";o.__esModule=!0;var n,a,i,s=t(0),l=t(3),r=t(6),c=t(9),d=t(7),u=t(2),g=t(1),b=t(8),m=t(5),f=t(4);function p(){layui.config({version:\"20171011\"}).use(\"mobile\",function(){n=layui.mobile,a=n.layim,i=n.layer,s.GlobalVars2.Global_layim=a,s.GlobalVars2.Global_layer=i,(s.GlobalVars2.globalLayImObj=a).config({init:{mine:{username:\"你好\",id:123,avatar:\"//header/00086.jpg\",sign:\"懒得签名\"},friend:[{groupname:\"我的好友\",id:1,online:0,list:[]}]},moreList:[{alias:\"find\",title:\"发现\",iconUnicode:\"&#xe628;\",iconClass:\"\"},{alias:\"share\",title:\"分享与邀请\",iconUnicode:\"&#xe641;\",iconClass:\"\"}],isgroup:!0});a.on(\"newFriend\",function(){a.panel({title:\"新的朋友!!\",tpl:'查找好友 <br/><br/><div class=\"layui-form-item\"><label class=\"layui-form-label\">查找ID</label><div class=\"layui-input-block\"><input type=\"text\" id=\"search_id\" required  lay-verify=\"required\" placeholder=\"请输入标题\" autocomplete=\"off\" class=\"layui-input\"></div><button id=\"search_id_button\"  > 查询</button></div>',data:{test:\"么么哒\"}}),$(\"#search_id_button\").click(function(){var e=new u.RequestFetchFriendInfo;e.cmd=g.GlobalCode.Request_fetch_friend_code,e.friendid=parseInt($(\"#search_id\").val(),10),s.sendMessageToServer(e)})}),a.on(\"detail\",function(e){a.panel({title:e.name+\" 聊天信息\",tpl:'<div style=\"padding: 10px;\">自定义模版，<a href=\"http://www.layui.com/doc/modules/layim_mobile.html#ondetail\" target=\"_blank\">参考文档</a></div>',data:{test:\"么么哒\"}})}),a.on(\"moreList\",function(e){switch(e.alias){case\"find\":i.msg(\"自定义发现动作\"),a.showNew(\"More\",!1),a.showNew(\"find\",!1);break;case\"share\":a.panel({title:\"邀请好友\",tpl:'<div style=\"padding: 10px;\">自定义模版，{{d.data.test}}</div>',data:{test:\"么么哒\"}})}}),a.on(\"sendMessage\",function(e){var o=new u.ChatMessage;o.cmd=g.GlobalCode.Request_message_code,o.username=e.mine.username,o.avatar=e.mine.avatar,o.gid=0,o.fromid=e.mine.id,o.id=e.mine.id,o.toid=e.to.id,o.cid=0,o.type=\"friend\",o.mine=!1,o.content=e.mine.content,o.timestamp=(new Date).valueOf(),s.sendMessageToServer(o)}),a.on(\"chatlog\",function(e,o){console.log(e),a.panel({title:\"与 \"+e.username+\" 的聊天记录\",tpl:'<div style=\"padding: 10px;\">这里是模版，{{d.data.test}}</div>',data:{test:\"Hello\"}})}),a.showNew(\"More\",!0),a.showNew(\"find\",!0),s.GlobalVars2.globalImSocketObject=new WebSocket(l.GlobalVars.ImServer),s.GlobalVars2.globalImSocketObject.onopen=function(){console.log(\"user:  connect success. \"+l.GlobalVars.ImServer);var e=new u.RequsetSignin;e.cmd=g.GlobalCode.Request_login_code,e.id=s.GlobalVars2.globalUserID,e.passwd=s.GlobalVars2.globalPwd,s.sendMessageToServer(e)},s.GlobalVars2.globalImSocketObject.onclose=function(e){s.GlobalVars2.Global_layer.open({content:\"和服务器的连接断开了，请重新刷新登录系统！谢谢！\",btn:[\"知道了\"],yes:function(e,o){s.GlobalVars2.Global_layer.close(e),window.location.href=s.GlobalVars2.globalLoginPage}}),console.log(\"user:  connect closed\")},s.GlobalVars2.globalImSocketObject.onmessage=function(o){console.log(o.data);var e=\"\";try{e=JSON.parse(o.data),console.log(\"got message from socket\",e)}catch(e){return void console.log(\"parse json failed\",e,\"res.data\",o.data)}d.dispatchResultFormSocketServer(e)}})}window.onload=function(){localStorage.removeItem(\"layim\"),localStorage.removeItem(\"layim-mobile\"),s.GlobalVars2.globalMobile=!0,document.oncontextmenu=function(){return!1},s.GlobalVars2.globalUserID=parseInt(r.getCookie(\"id\"),10),s.GlobalVars2.globalPwd=r.getCookie(\"passwd\"),r.delCookie(\"id\"),r.delCookie(\"passwd\"),0!=s.GlobalVars2.globalUserID&&\"\"!=s.GlobalVars2.globalPwd||(alert(\"登录失效了， 请重新登录！！\"),window.location.href=s.GlobalVars2.globalLoginPage),window.removeThisFriend=d.removeThisFriend,window.videoChat=b.videoChat,window.makeacall=b.makeacall,window.audioMessage=m.audioMessage,f.GlobalVars3.GlobalVideoSystem=new f.VideoSystemObj,c.coreMessageLoop(),p()}}]);\n//# sourceMappingURL=main_mob.js.map"
  },
  {
    "path": "webroot/dist/js/main_pc.js",
    "content": "!function(t){var n={};function a(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=t,a.c=n,a.d=function(e,o,t){a.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:t})},a.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},a.t=function(o,e){if(1&e&&(o=a(o)),8&e)return o;if(4&e&&\"object\"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:o}),2&e&&\"string\"!=typeof o)for(var n in o)a.d(t,n,function(e){return o[e]}.bind(null,n));return t},a.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(o,\"a\",o),o},a.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},a.p=\"\",a(a.s=16)}([function(e,o,t){\"use strict\";var n,a,s,i;o.__esModule=!0,(a=n=n||{})[a.Working=100]=\"Working\",a[a.Stopping=101]=\"Stopping\",(i=s=s||{})[i.VideoSystemUnInit=100]=\"VideoSystemUnInit\",i[i.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",i[i.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",i[i.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var l=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=s.VideoSystemUnInit},r=(c.CoreMessageLoopTime=100,c.globalProcessStatus=n.Working,c.protocol=\"ws://\",c.globalBackgroundImg=\"\",c.globalUserID=-1,c.globalPwd=\"\",c.globalMobile=!1,c.globalLoginPage=\"index.html\",c.globalRegisterPage=\"new.html\",c.globalMainPage=\"main.html\",c.NoteglobalVideoSystemStatusObject=new l,c.username=\"\",c.globalFriendsId=[],c.globalMessageArray=[],c.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",c);function c(){}o.GlobalVars2=r,o.audioorvideoWorking=function(){return r.NoteglobalVideoSystemStatusObject.AudioRecording||r.NoteglobalVideoSystemStatusObject.VideoChatting},o.audioWorking=function(){return r.NoteglobalVideoSystemStatusObject.AudioRecording},o.turnOffAudio=function(){r.NoteglobalVideoSystemStatusObject.AudioRecording=!1},o.turnOnAudion=function(){r.NoteglobalVideoSystemStatusObject.AudioRecording=!0},o.turnOffvideo=function(){r.NoteglobalVideoSystemStatusObject.VideoChatting=!1},o.turnOnvideo=function(e){r.NoteglobalVideoSystemStatusObject.VideoChatting=!0},o.isVideoSystemNeedInite=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus==s.VideoSystemUnInit},o.isVideoSystemIniting=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus==s.VideoSystemUnIniting},o.isVideoSystemInitSucc=function(){return r.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=s.VideoSystemInitSucc},o.startProcessCoreMessage=function(){r.globalProcessStatus=n.Working},o.stopProcessCoreMessage=function(){r.globalProcessStatus=n.Stopping},o.isProcessCoreMessageWorking=function(){return r.globalProcessStatus==n.Working},o.getOpenWidth=function(){return!0===r.globalMobile?\"400px;\":\"560px;\"},o.changeBackground=function(){var e=Math.round(100*Math.random())+1,o=(e%=38).toString()+\".jpg\";o=\"../images/bg/img/\"+(o=e<10?\"0000\"+o:\"000\"+o),r.globalBackgroundImg=\"url(\"+o+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=r.globalBackgroundImg},o.sendMessageToServer=function(e){var o=e.cmd+r.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",o),r.globalImSocketObject.send(o)}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=(a.Request_register_code=\"001\",a.Request_login_code=\"011\",a.Request_online_client_info_code=\"002\",a.Response_online_client_info_code=\"102\",a.Response_login_code=\"111\",a.Response_mine_code=\"121\",a.Response_add_friend_list_code=\"131\",a.Request_a_to_server_add_friend_code=\"032\",a.Request_server_to_b_add_friend_code=\"032\",a.Response_server_to_a_add_friend_code=\"133\",a.Request_confirm_add_friend_code=\"033\",a.Request_fetch_friend_code=\"037\",a.Response_server_to_a_fetch_friend_code=\"137\",a.Request_remove_friend_code=\"039\",a.Response_remove_friend_code=\"139\",a.Request_message_code=\"041\",a.Requst_ack_message_code=\"042\",a.Response_message_code=\"142\",a.Response_friend_status_change_code=\"151\",a.Response_friend_info_change_code=\"152\",a.Request_video_chat_a_to_server_code=\"053\",a.Response_video_chat_server_to_a_code=\"153\",a.Request_video_chat_b_to_server_code=\"054\",a.Response_video_chat_server_to_b_code=\"154\",a.Request_client_to_server_video_was_stopped_code=\"055\",a.Response_server_to_client_video_was_stopped_code=\"155\",a.LOGIN_CMD=\"login\",a.OFFER_CMD=\"offer\",a.ANSWER_CMD=\"answer\",a.CANDIDATE_CMD=\"candidate\",a.LEAVE_CMD=\"leave\",a);function a(){}o.GlobalCode=n},function(e,o,t){\"use strict\";o.__esModule=!0;function n(){}o.RequsetSignin=n;function a(){}o.ResponseAddList=a;function s(){}o.ChatMessage=s;function i(){}o.AckChatMessage=i;function l(){}o.AddFriendRequest=l;function r(){}o.AddFriendResponse=r;function c(){}o.SetFriendStatusResponse=c;function d(){}o.ConfirmAddFriendRequest=d;function u(){}o.RequestFetchFriendInfo=u;function g(){}o.ResponseFetchFriendInfo=g;function b(){}o.ResponseMine=b;function f(){}o.RequestUserRegister=f;function m(){}o.ResponseUserRegister=m;function p(){}o.ResponseSignin=p;function _(){}o.UserInfo=_;function h(){}o.RequestRemoveFriend=h;function y(){}o.ResponseRemoveFriend=y;function v(){}o.RequestVideoChatClosed=v;function S(){}o.VideoChatMsg=S;function C(){}o.LoginWebRtcRoom=C;function V(){}o.Candidate=V;function G(){}o.Answer=G;function w(){}o.Offer=w;function R(){}o.WebRTCJson=R},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),a=Domain,s=a+\":3478\",i=a+\":3478\";var l=(r.uploaderSocketServer=a+\":8091\",r.ImServer=a+\":8090\",r.signallingConnectionServer=a+\":8888\",r.stunServerConfigString='[{ \"urls\": \"stun:'+s+'?transport=udp\"   } ,{ \"urls\": \"stun:'+s+'?transport=tcp\"   } ,{ \"urls\": \"turn:'+i+'?transport=udp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ,{ \"urls\": \"turn:'+i+'?transport=tcp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ] ',r);function r(){}o.GlobalVars=l,\"https:\"===document.location.protocol&&(n.GlobalVars2.protocol=\"wss://\"),console.log(\"GlobalVars2.protocol  \",n.GlobalVars2.protocol),l.uploaderSocketServer=n.GlobalVars2.protocol+l.uploaderSocketServer,l.ImServer=n.GlobalVars2.protocol+l.ImServer,l.signallingConnectionServer=n.GlobalVars2.protocol+l.signallingConnectionServer,console.log(\"GlobalVars.uploaderSocketServer  \",l.uploaderSocketServer),console.log(\"GlobalVars.ImServer   \",l.ImServer),console.log(\"GlobalVars.signallingConnectionServer  \",l.signallingConnectionServer)},function(e,o,t){\"use strict\";o.__esModule=!0;var i=t(0),s=t(1),n=t(2),a=t(3),l=t(5),r=(c.prototype.initFirstVideoChatMsg=function(){this.firstVideoChatInit=!0},c.prototype.cleanFirstVideoChatMsg=function(){this.firstVideoChatInit=!1},c.prototype.isFirstVideoChatInited=function(){return this.firstVideoChatInit},c.prototype.createFirstVideoChat=function(e,o){if(!this.isFirstVideoChatInited()){this.firstVideoChatInit=!0,this.firstVideoChat.localsession=Math.round(1e4*Math.random())+200;var t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),a=JSON.parse(n);this.firstVideoChat.clienta=i.GlobalVars2.globalUserID,this.firstVideoChat.clientb=parseInt(a.id,10),this.firstVideoChat.audiochatonly=o,this.firstVideoChat.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,console.log(\"createFirstVideoChat ：localsession:\",this.firstVideoChat.localsession)}},c.prototype.updateMyFirstVideoChat=function(e){this.firstVideoChatInit=!0,this.firstVideoChat=e},c.prototype.getSingalRequest=function(){if(this.firstVideoChatInit){var e=new n.WebRTCJson;return e.clienta=this.firstVideoChat.clienta,e.clientb=this.firstVideoChat.clientb,e.whoami=i.GlobalVars2.globalUserID,e.localsession=this.firstVideoChat.localsession,e.roomid=this.firstVideoChat.roomid,e.fromavatar=this.firstVideoChat.fromavatar,e.roomtoken=this.firstVideoChat.roomtoken,e.requestid=this.firstVideoChat.requestid,e.sessionid=this.firstVideoChat.sessionid,e}alert(\"wrong Request\")},c.prototype.getSingalVideoChat=function(){if(this.firstVideoChatInit)return this.firstVideoChat;alert(\"wrong Request\")},c.prototype.cleanLocalSession=function(){this.firstVideoChatInit=!1,this.firstVideoChat.localsession=0,this.firstVideoChat.clientb=0,this.firstVideoChat.clientb=0,console.log(\"cleanLocalSession ：localsession:\",this.firstVideoChat.localsession)},c.prototype.equalLocalSession=function(e){return!!this.isFirstVideoChatInited()&&this.firstVideoChat.localsession==e},c);function c(){this.firstVideoChat=new n.VideoChatMsg,this.firstVideoChat.localsession=0,this.firstVideoChatInit=!1,this.snid=Math.round(1e4*Math.random())+200,this.yourConnectionInitFlag=!1,console.log(\"constructor VideoSystemObj \",this.snid)}o.VideoSystemObj=r;var d=function(){};function u(){d.GlobalVideoSystem.signalSocket=new WebSocket(a.GlobalVars.signallingConnectionServer),d.GlobalVideoSystem.signalSocket.onopen=function(){console.log(\"user:  connect success. \"+a.GlobalVars.signallingConnectionServer+\" \");var e=d.GlobalVideoSystem.getSingalRequest();e.type=s.GlobalCode.LOGIN_CMD,w(e)},d.GlobalVideoSystem.signalSocket.onclose=function(e){console.log(\"webrtc connection closed\")},d.GlobalVideoSystem.signalSocket.onmessage=function(o){var e;try{e=JSON.parse(o.data),console.log(\"got message\",o.data)}catch(e){return void console.log(\"parse json failed\",e,\"res.data\",o.data)}switch(console.log(\"got \",e.type),e.type){case s.GlobalCode.LOGIN_CMD:d.GlobalVideoSystem.getSingalRequest().clienta==i.GlobalVars2.globalUserID&&V();break;case s.GlobalCode.OFFER_CMD:m(e.offer);break;case s.GlobalCode.ANSWER_CMD:p(e.answer);break;case s.GlobalCode.CANDIDATE_CMD:_(e.candidate);break;default:console.log(\"unknow command\",e)}}}function g(){d.GlobalVideoSystem.yourConnectionInitFlag=!0}function b(){return d.GlobalVideoSystem.yourConnectionInitFlag}function f(){d.GlobalVideoSystem.yourConnectionInitFlag=!1}function m(e){console.log(\"recvOfferMsg \"),console.log(\"recvOfferMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e)),console.log(\"recvOfferMsg yourConnection.createAnswer\"),d.GlobalVideoSystem.yourConnection.createAnswer(function(e){console.log(\"yourConnection.setLocalDescription (answer)\"),d.GlobalVideoSystem.yourConnection.setLocalDescription(e);var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.ANSWER_CMD,o.answer=e,w(o)},function(e){alert(\"An error has occurred\")})}function p(e){console.log(\"recvAnswerMsg \"),console.log(\"recvAnswerMsg yourConnection.setRemoteDescription\"),d.GlobalVideoSystem.yourConnection.setRemoteDescription(new RTCSessionDescription(e))}function _(e){console.log(\"recvCandidateMsg\"),console.log(\"recvCandidateMsg yourConnection.addIceCandidate\",JSON.stringify(e)),d.GlobalVideoSystem.yourConnection.addIceCandidate(new RTCIceCandidate(e))}function h(){console.log(\"initVideoSystem\"),d.GlobalVideoSystem.callPage=document.querySelector(\"#call-page\"),d.GlobalVideoSystem.hangUpButton=document.querySelector(\"#hang-up\"),d.GlobalVideoSystem.yourVideo=document.querySelector(\"#yours\"),d.GlobalVideoSystem.theirVideo=document.querySelector(\"#theirs\"),$(\"#call-page\").hide(),i.GlobalVars2.globalMobile||d.GlobalVideoSystem.hangUpButton.addEventListener(\"click\",function(){G()})}function y(e){if(console.log(\"startConnection() 1\"),S()){console.log(\"startConnection() 2\");var o=!0;1==e&&(o=!1),navigator.getUserMedia({video:o,audio:{echoCancellation:!0}},function(e){d.GlobalVideoSystem.stream=e,d.GlobalVideoSystem.yourVideo.src=window.URL.createObjectURL(d.GlobalVideoSystem.stream),C()?(console.log(\"startConnection() 3\"),console.log(\"hasRTCPeerConnection success\"),v(d.GlobalVideoSystem.stream)):alert(\"Sorry, your browser does not support WebRTC.\")},function(e){console.log(e)})}else alert(\"Sorry, your browser does not support WebRTC.\")}function v(e){var o={iceServers:JSON.parse(a.GlobalVars.stunServerConfigString),bundlePolicy:\"max-bundle\"};console.log(\"setupPeerConnection(stream);\"),console.log(\"yourConnection = new RTCPeerConnection(configuration)\",JSON.stringify(o)),d.GlobalVideoSystem.yourConnection=new RTCPeerConnection(o),g(),console.log(\"yourConnection.addStream(stream);\"),d.GlobalVideoSystem.yourConnection.addStream(e),d.GlobalVideoSystem.yourConnection.onaddstream=function(e){d.GlobalVideoSystem.theirVideo.src=window.URL.createObjectURL(e.stream)},d.GlobalVideoSystem.yourConnection.onicecandidate=function(e){if(console.log(\"yourConnection.onicecandidate\",e),e.candidate){var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.CANDIDATE_CMD,o.candidate=e.candidate,w(o)}},console.log(\"setupPeerConnection(stream) done;\"),u()}function S(){return navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,!!navigator.getUserMedia}function C(){return window.RTCPeerConnection=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection,window.RTCSessionDescription=window.RTCSessionDescription||window.webkitRTCSessionDescription||window.mozRTCSessionDescription,window.RTCIceCandidate=window.RTCIceCandidate||window.webkitRTCIceCandidate||window.mozRTCIceCandidate,!!window.RTCPeerConnection}function V(){d.GlobalVideoSystem.yourConnection.createOffer(function(e){console.log(\"yourConnection.createOffer(function (offer)\");var o=d.GlobalVideoSystem.getSingalRequest();o.type=s.GlobalCode.OFFER_CMD,o.offer=e,w(o),d.GlobalVideoSystem.yourConnection.setLocalDescription(e)},function(e){alert(\"An error has occurred.\")})}function G(){d.GlobalVideoSystem.connectedUser=null,d.GlobalVideoSystem.theirVideo.src=null,d.GlobalVideoSystem.yourVideo.src=null,b()&&(d.GlobalVideoSystem.yourConnection.close(),d.GlobalVideoSystem.yourConnection.onicecandidate=null,d.GlobalVideoSystem.yourConnection.onaddstream=null),f(),void 0!==d.GlobalVideoSystem.signalSocket&&void 0!==d.GlobalVideoSystem.signalSocket.close&&d.GlobalVideoSystem.signalSocket.close();i.GlobalVars2.globalLayImObj.cache();var e=d.GlobalVideoSystem.getSingalRequest();e.iam=i.GlobalVars2.globalUserID,e.cmd=s.GlobalCode.Request_client_to_server_video_was_stopped_code,i.sendMessageToServer(e),d.GlobalVideoSystem.cleanLocalSession(),M(),$(\"#remotemessage\").html(\"\")}function w(e){var o=d.GlobalVideoSystem.signalSocket,t=JSON.stringify(e);console.log(\"send message to SingalServer \",t),o.send(t)}function R(){$(\"#call-page\").css(\"position\",\"absolute\"),$(\"#call-page\").css(\"top\",0),$(\"#call-page\").css(\"left\",0),$(\"#call-page\").css(\"background\",\"#ccc\");var e=l.getWH(1);$(\"#call-page\")[0].style.cssText+=\";width:\"+e.w+\"px;height:\"+e.h+\"px\";var o=l.findHighestZIndex(\"div\");console.log(\"max z: \",o,\" w: \",e.w,NaN,e.h),$(\"#call-page\").css(\"z-index\",o+1),$(\"#call-page\").css(\"visibility\",\"visible\"),$(\"#call-page\").css(\"background-image\",i.GlobalVars2.globalBackgroundImg),$(\"#call-page\").show()}function k(){var e,o,t,n=window.screen.availHeight,a=window.screen.availWidth;console.log(\"w:\"+a.toString()+\" h: \"+n.toString()),e=.75*(n*=.9),o=.75*(a*=.9),e=parseInt(e.toFixed()),o=parseInt(o.toFixed()),(a*=.9)<(n*=.9)&&(n=a),t=.8*(a=n=parseInt(n.toFixed())),t=parseInt(t.toFixed()),console.log(\"w:\"+a.toString()+\" h: \"+n.toString()+\" w2: \"+t.toString());var s='  <table id=\"call-page\"     style=\" top:0px; left: 0px; witdth: '+n.toString()+\"px; height: \"+a.toString()+'px; \">\\n\\n\\n    <table class=\"page\" >\\n\\n\\n        <video id=\"yours\"   autoplay playsinline controls></video>\\n        <video id=\"theirs\"  style=\"  witdth: '+t.toString()+\"px; height:\"+t.toString()+'px; \" autoplay playsinline controls  ></video>\\n\\n         \\n<div id =\"remotemessage\"></div>    </table>\\n</table>';console.log(\"['\"+e.toString()+\"px', '\"+o.toString()+\"px']\"),i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:\"['\"+o.toString()+\"px', '\"+e.toString()+\"px']\",shade:.8,btn:[\"关闭视频\"],btnAlign:\"c\",moveType:1,content:s,yes:function(e,o){G(),i.GlobalVars2.Global_layer.close(e),i.startProcessCoreMessage()}}),$(\"#theirs\").css(\"width\",n.toString()+\"px\"),$(\"#theirs\").css(\"height\",n.toString()+\"px\"),$(\"#yours\").css(\"width\",\"80px\"),$(\"#yours\").css(\"height\",\"80px\"),$(\"#call-page\").css(\"width\",o.toString()+\"px\"),$(\"#call-page\").css(\"height\",e.toString()+\"px\"),h()}function M(){i.GlobalVars2.globalMobile||($(\"#micmask\").css(\"z-index\",-1),$(\"#call-page\").css(\"visibility\",\"hidden\"),$(\"#call-page\").hide())}o.GlobalVars3=d,o.callVeidoSingalServer=function(e){y((d.GlobalVideoSystem.firstVideoChat=e).audiochatonly)},o.startWebRTCLoop=u,o.initYourConnectionFlag=g,o.checkYourConnectionInitFlag=b,o.cleanYourConnectionInitFlag=f,o.recvOfferMsg=m,o.recvAnswerMsg=p,o.recvCandidateMsg=_,o.initVideoSystem=h,o.recvLoginMsg=function(e){!1===e?alert(\"Login unsuccessful, please try a different name.\"):d.GlobalVideoSystem.callPage.style.display=\"block\"},o.startConnection=y,o.setupPeerConnection=v,o.hasUserMedia=S,o.hasRTCPeerConnection=C,o.startPeerConnection=V,o.recvLeaveMsg=G,o.sendMessageToSingalServer=w,o.showCallPage=function(){console.log(\"showCallPage()\"),i.GlobalVars2.globalMobile?k():R()},o.showCallPagePC=R,o.showCallPageMobile=k,o.hideCallPage=M},function(e,a,o){\"use strict\";a.__esModule=!0;var s,i,t,n,l,r,c=o(3),d=o(0);a.getWH=(t=document,n=t[\"CSS1Compat\"==t.compatMode?\"documentElement\":\"body\"],function(e){return{w:n[(e?\"client\":\"scroll\")+\"Width\"],h:e?n.clientHeight:Math.max(n.clientHeight,n.scrollHeight)}}),(r=l=l||{})[r.needInitAudio=100]=\"needInitAudio\",r[r.AudioInitializing=150]=\"AudioInitializing\",r[r.initSuccess=200]=\"initSuccess\",r[r.initFailed=300]=\"initFailed\";var u,g=l.needInitAudio;function b(e){g=l.initSuccess;var o=s.createMediaStreamSource(e);console.log(\"Media stream created.\"),i=new Recorder(o),console.log(\"Recorder initialised.\"),p(u)}function f(e){console.log(\"stopRecording(node)\",e),i?console.log(\"stopRecording(node) recorder is ready\"):console.log(\"stopRecording(node) recorder is not ready\"),i&&i.stop(),console.log(\"Stopped recording.\"),function(o){i&&i.exportWAV(function(e){!function(e,t){var n=new WebSocket(c.GlobalVars.uploaderSocketServer);n.onopen=function(){console.log(\"user:  connect success\"+c.GlobalVars.uploaderSocketServer),n.send(e)},n.onclose=function(e){console.log(\"user:  connect close\",e)},n.onmessage=function(e){console.log(e);var o=JSON.parse(e.data);console.log(\"message: \"+o.path),n.close(),!1===d.GlobalVars2.globalMobile?function(e,o){e.children(\".layim-chat-textarea\").children()[0].value=\"audio[\"+o.path+\"]\",e.children(\".layim-chat-bottom\").find(\".layim-send-btn\").trigger(\"click\")}(t,o):function(e,o){var t=e.children(\".layim-chat-send\").children();t[0].value=\"audio[\"+o.path+\"]\";var n=$(t[1]);n.offset().left,n.offset().top;3,3;$(\"body\")}(t,o)}}(e,o)})}(e),i.clear()}function m(e){for(var o=document.getElementsByTagName(e),t=\"0\",n=0;n<o.length;n++){var a=document.defaultView.getComputedStyle(o[n],null).getPropertyValue(\"z-index\");Number(a)>Number(t)&&\"auto\"!=a&&(t=a)}return Number(t)}function p(e){console.log(\"audioMessage()\",e);var o=$(e).attr(\"data-json\"),t=decodeURIComponent(o),n=(JSON.parse(t),$(e).parent().parent());console.log(\"AudioDeviceNeedInit\"),(g===l.needInitAudio?(console.log(\"AudioDeviceNeedInit true\"),0):(console.log(\"AudioDeviceNeedInit false\"),1))?(console.log(\"AudioDeviceInitializing\"),(g===l.AudioInitializing?(console.log(\"AudioDeviceInitializing true\"),0):(console.log(\"AudioDeviceInitializing false\"),1))&&(g===l.initSuccess?d.audioWorking()?(f(n),$(\"#AudioRecording\").hide(),$(\"#micmask\").remove(),d.turnOffAudio()):(d.turnOnAudion(),function(e){$(document.body).append(\"<div id=\\\"micmask\\\"> <img src='../images/bg/mic.png?__inline'></div>\"),$(\"#micmask\").css(\"position\",\"absolute\"),$(\"#micmask\").css(\"top\",0),$(\"#micmask\").css(\"left\",0),$(\"#micmask\").css(\"background\",\"#ccc\");var o=a.getWH(1);$(\"#micmask\")[0].style.cssText+=\";width:\"+o.w+\"px;height:\"+o.h+\"px\";var t=m(\"div\");console.log(\"max z: \",t,\" w: \",o.w,NaN,o.h),$(\"#micmask\").css(\"z-index\",t+1),$(\"#micmask\").on(\"click\",function(){$(\"#micmask\").remove(),p(e)})}(e),$(\"#AudioRecording\").show(),console.log(\"startRecording()\"),i?console.log(\"startRecording( ) recorder is ready\"):console.log(\"startRecording( ) recorder is not ready\"),i&&i.record(),console.log(\"Recording...\")):alert(\"no device\"))):function(e){console.log(\"InitUserMediaSystem\"),g=l.AudioInitializing;try{window.AudioContext=window.AudioContext||window.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,window.URL=window.URL||window.webkitURL,s=new AudioContext,console.log(\"Audio context set up.\"),console.log(\"navigator.getUserMedia \"+(navigator.getUserMedia?\"available.\":\"not present!\"))}catch(e){return alert(\"No web audio support in this browser!\"),g=l.initFailed}u=e,navigator.getUserMedia({audio:!0},b,function(e){console.log(\"No live audio input: \"+e),g=l.initFailed})}(e)}a.findHighestZIndex=m,a.audioMessage=p},function(e,o,t){\"use strict\";function n(e,o,t){var n=new Date;n.setDate(n.getDate()+t),document.cookie=e+\"=\"+escape(o)+(null==t?\"\":\"; expires=\"+n.toUTCString())}o.__esModule=!0,o.getCookie=function(e){if(0<document.cookie.length){var o=document.cookie.indexOf(e+\"=\");if(-1!=o){o=o+e.length+1;var t=document.cookie.indexOf(\";\",o);return-1==t&&(t=document.cookie.length),unescape(document.cookie.substring(o,t))}}return\"\"},o.setCookie=n,o.delCookie=function(e){n(e,\"\",-1)}},function(e,o,t){\"use strict\";o.__esModule=!0;var i=t(0),l=t(1),r=t(2),a=t(4);o.dispatchResultFormSocketServer=function(e){switch(e.cmd){case l.GlobalCode.Response_login_code:i.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e);break;case l.GlobalCode.Response_mine_code:var o=e,t=i.GlobalVars2.globalLayImObj.cache();t.mine.id=o.id.toLocaleString(),t.mine.avatar=o.avatar,t.mine.username=o.username,t.mine.sign=o.sign,$(\".layui-layim-user\").html(t.mine.username),$(\".layui-layim-remark\").val(t.mine.sign);break;case l.GlobalCode.Response_add_friend_list_code:o=e;e.id=o.id.toString(),i.GlobalVars2.globalFriendsId.push(o.id),i.GlobalVars2.globalLayImObj.addList(e);break;case l.GlobalCode.Response_server_to_a_add_friend_code:case l.GlobalCode.Response_server_to_a_fetch_friend_code:i.GlobalVars2.globalMessageArray.push(e),console.log(\"push \"+e.cmd+e);break;case l.GlobalCode.Response_message_code:i.GlobalVars2.globalLayImObj.getMessage(e);var n=new r.AckChatMessage;n.cmd=l.GlobalCode.Requst_ack_message_code,n.gid=e.gid,i.sendMessageToServer(n);break;case l.GlobalCode.Response_friend_status_change_code:o=e;i.GlobalVars2.globalLayImObj.setFriendStatus(o.id,o.status);break;case l.GlobalCode.Request_server_to_b_add_friend_code:case l.GlobalCode.Response_video_chat_server_to_a_code:case l.GlobalCode.Response_video_chat_server_to_b_code:i.GlobalVars2.globalMessageArray.push(e);break;case l.GlobalCode.Response_server_to_client_video_was_stopped_code:!function(e){if(!a.GlobalVars3.GlobalVideoSystem.equalLocalSession(e.localsession))return;$(\"#remotemessage\").html(\"对方已经挂机！！\"),$(\"#remotemessage\").css(\"color\",\"red\")}(o=e);break;case l.GlobalCode.Response_remove_friend_code:o=e;i.GlobalVars2.globalLayImObj.removeList({type:\"friend\",id:o.friendid});break;default:console.log(\"unknow command\",e.cmd,e)}},o.removeThisFriend=function(e){var o,t=$(e).attr(\"data-json\"),n=decodeURIComponent(t),a=JSON.parse(n);o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\"> 你确定要删除 这位好友吗？',o+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',o+=\" <colgroup>\",o+='  <col width=\"150\">',o+=' <col width=\"200\">',o+=\" <col>\",o+=\"</colgroup>\",o+=\"<thead>\",o+='<tr style=\"background-color: #393D49;\">',o+=\"<th>昵称</th>\",o+=\"<th>头像</th>\",o+=\"<th>签名</th>\",o+=\"</tr>\",o+=\"</thead>\",o+=\"<tbody>\",o+=\"<tr>\",o+=\"<td> \"+a.name+\"</td>\",o+='<td><img style=\"width: 150px; height:150px;\" src=\"'+a.avatar+'\"></td>',o+=\"<td> \"+a.remark+\" </td>\",o+=\"   </tr>\",o+=\"</tbody>\",o+=\"</table>\",o+=\" </div>\";var s=new r.RequestRemoveFriend;s.cmd=l.GlobalCode.Request_remove_friend_code,s.friendid=parseInt(a.id,10),i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"删除用户\",\"还是保留吧\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){i.sendMessageToServer(s),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}})}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),a=t(4),s=t(1);o.videoChat=function(e){if(!n.audioorvideoWorking()&&!a.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){a.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!1);var o=a.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,n.sendMessageToServer(o),a.showCallPage()}},o.makeacall=function(e){if(!n.audioorvideoWorking()&&!a.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){a.GlobalVars3.GlobalVideoSystem.createFirstVideoChat(e,!0);var o=a.GlobalVars3.GlobalVideoSystem.getSingalVideoChat();o.cmd=s.GlobalCode.Request_video_chat_a_to_server_code,o.audiochatonly=!0,n.sendMessageToServer(o),a.showCallPage()}}},function(e,o,t){\"use strict\";o.__esModule=!0;var i=t(0),l=t(1),a=t(2),r=t(4);o.coreMessageLoop=function n(){setTimeout(function(){if(i.isProcessCoreMessageWorking())if(0!=i.GlobalVars2.globalMessageArray.length){var e=i.GlobalVars2.globalMessageArray.pop();switch(i.stopProcessCoreMessage(),console.log(\"pop \"+e.cmd+\" \"+JSON.stringify(e)+\" \"),e.cmd){case l.GlobalCode.Response_login_code:var o=e;\"success\"!=o.result&&(alert(\"登录失败了， \"+o.result),window.location.href=i.GlobalVars2.globalLoginPage),i.startProcessCoreMessage();break;case l.GlobalCode.Response_server_to_a_add_friend_code:!function(n){var e;e='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',e+=\" 收到  信息\",e+=\" 用户： \"+n.fromname,e+='       <img style=\"width: 150px; height:150px;\" src=\"'+n.fromavatar+'\">   </br>',1==n.result?e+=\"       同意了加好友的请求 </br>\":e+=\"       拒绝了加好友的请求   </br>\",e+=\" </div>\",i.GlobalVars2.globalLayImObj,i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"关闭\"],btnAlign:\"c\",moveType:1,content:e,yes:function(e,o){var t=new a.AckChatMessage;t.cmd=l.GlobalCode.Requst_ack_message_code,t.gid=n.gid,i.sendMessageToServer(t),i.GlobalVars2.Global_layer.close(e),i.startProcessCoreMessage()}})}(e);break;case l.GlobalCode.Request_confirm_add_friend_code:break;case l.GlobalCode.Response_server_to_a_fetch_friend_code:!function(e){0==e.result?i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"退出\"],btnAlign:\"c\",moveType:1,content:\"对不起，该位用户没有找到\",yes:function(e,o){i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}}):function(n){var e;e='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',e+=\" 收到 用户的信息\",e+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',e+=\" <colgroup>\",e+='  <col width=\"150\">',e+=' <col width=\"200\">',e+=\" <col>\",e+=\"</colgroup>\",e+=\"<thead>\",e+='<tr style=\"background-color: #393D49;\">',e+=\"<th>昵称</th>\",e+=\"<th>头像</th>\",e+=\"<th>签名</th>\",e+=\"</tr>\",e+=\"</thead>\",e+=\"<tbody>\",e+=\"<tr>\",e+=\"<td> \"+n.userInfo.Nickname+\"</td>\",e+='<td><img style=\"width: 150px; height:150px;\" src=\"'+n.userInfo.Avatar+'\"></td>',e+=\"<td>\"+n.userInfo.Sign+\"</td>\",e+=\"   </tr>\",e+=\"</tbody>\",e+=\"</table>\",e+=\"想对他说什么？ <br>   \",e+='   <div class=\"layui-form-item\"> ',e+='    <div class=\"layui-input-block\"> ',e+='    <input type=\"text\" id=\"add_frend_contant\" required  lay-verify=\"required\" ',e+=' placeholder=\"想对他说什么\" autocomplete=\"off\" class=\"layui-input\"  style=\"width:190px;\">',e+=\"    </div> \",e+=\"    </div> \",e+=\" </div>\",i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"请求加好友\",\"放弃加好友\"],btnAlign:\"c\",moveType:1,content:e,yes:function(e,o){i.GlobalVars2.globalLayImObj.cache();var t=new a.AddFriendRequest;t.cmd=l.GlobalCode.Request_a_to_server_add_friend_code,t.ifromid=i.GlobalVars2.globalUserID,t.itoid=n.userInfo.Id,t.remark=$(\"#add_frend_contant\").val(),i.sendMessageToServer(t),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}})}(e)}(e);break;case l.GlobalCode.Request_server_to_b_add_friend_code:!function(e){var o;o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\"> 收到 用户的信息',o+='<table class=\"layui-table\"  style=\"background-color: #393D49;\">',o+=\" <colgroup>\",o+='  <col width=\"150\">',o+=' <col width=\"200\">',o+=\" <col>\",o+=\"</colgroup>\",o+=\"<thead>\",o+='<tr style=\"background-color: #393D49;\">',o+=\"<th>昵称</th>\",o+=\"<th>头像</th>\",o+=\"<th>签名</th>\",o+=\"</tr>\",o+=\"</thead>\",o+=\"<tbody>\",o+=\"<tr>\",o+=\"<td> \"+e.fromname+\"</td>\",o+='<td><img style=\"width: 150px; height:150px;\" src=\"'+e.fromavatar+'\"></td>',o+=\"<td> </td>\",o+=\"   </tr>\",o+=\"</tbody>\",o+=\"</table>\",o+=\" 希望加你为好友 \"+e.remark+\"  <br>\",o+=\"     \",o+=\" </div>\";var t=i.GlobalVars2.globalLayImObj.cache(),n=new a.AddFriendResponse;n.cmd=l.GlobalCode.Request_confirm_add_friend_code,n.ifromid=parseInt(t.mine.id,10),n.itoid=e.ifromid,n.recvsidegid=e.recvsidegid,n.fromsidegid=e.fromsidegid,console.log(\"confirm_Request_server_to_b_add_friend: \",JSON.stringify(n)),i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"同意加好友\",\"不同意加好友\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){n.result=!0,i.sendMessageToServer(n),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){n.result=!1,i.sendMessageToServer(n),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}})}(e);break;case l.GlobalCode.Response_video_chat_server_to_a_code:!function(e){return r.GlobalVars3.GlobalVideoSystem.equalLocalSession(e.localsession)?1==e.result?(r.GlobalVars3.GlobalVideoSystem.updateMyFirstVideoChat(e),r.callVeidoSingalServer(e),i.startProcessCoreMessage()):(r.hideCallPage(),r.GlobalVars3.GlobalVideoSystem.cleanLocalSession(),o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',o+=\" 好友 \",o+=\"拒绝\",o+=\"你的视频要求<br/> \",\"\"!=e.description&&(o+=e.description+\"<br/>\"),o+=\" </div>\",i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"知道了\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}})):i.startProcessCoreMessage();var o}(e);break;case l.GlobalCode.Response_video_chat_server_to_b_code:var t=e;!function(t){if(console.log(\"process_Response_video_chat_server_to_b :\",t),console.log(\"constructor VideoSystemObj :\",r.GlobalVars3.GlobalVideoSystem.snid),r.GlobalVars3.GlobalVideoSystem.isFirstVideoChatInited()){var e=t;return e.cmd=l.GlobalCode.Request_video_chat_b_to_server_code,e.result=!1,e.description=\"对方很忙\",i.sendMessageToServer(e),i.startProcessCoreMessage()}for(var o,n=!1,a=0;a<i.GlobalVars2.globalFriendsId.length;a++)if(i.GlobalVars2.globalFriendsId[a]==t.clienta){n=!0;break}return t.clienta==i.GlobalVars2.globalUserID?i.startProcessCoreMessage():t.clientb!=i.GlobalVars2.globalUserID?i.startProcessCoreMessage():0==n?((s=t).cmd=l.GlobalCode.Request_video_chat_b_to_server_code,s.result=!1,s.description=\"对方并不想和陌生人聊天\",i.sendMessageToServer(s),i.startProcessCoreMessage()):(o='<div style=\"padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;\">',o+=\" 收到 \"+t.fromname+\"<br/>\",o+='<img src=\"'+t.fromavatar+\"\\\"  width='190px'  height='190px'>发来的视频聊天请求， 请选择<br/> </div>\",(s=t).cmd=l.GlobalCode.Request_video_chat_b_to_server_code,i.GlobalVars2.Global_layer.open({type:1,title:!1,closeBtn:!1,area:i.getOpenWidth(),shade:.8,btn:[\"同意视频\",\"残忍拒绝\"],btnAlign:\"c\",moveType:1,content:o,yes:function(e,o){s.result=!0,i.sendMessageToServer(s),r.GlobalVars3.GlobalVideoSystem.updateMyFirstVideoChat(s),r.showCallPage(),r.callVeidoSingalServer(t),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)},btn2:function(e,o){s.result=!1,i.sendMessageToServer(s),i.startProcessCoreMessage(),i.GlobalVars2.Global_layer.close(e)}}));var s}(t);break;default:alert(JSON.stringify(t))}n()}else n();else n()},i.GlobalVars2.CoreMessageLoopTime)}},,,,,,,function(e,o,t){var n,a;n=[t,o,t(0),t(2),t(3),t(1),t(7),t(6),t(9),t(4),t(8),t(5)],void 0===(a=function(e,o,n,a,t,s,i,l,r,c,d,u){\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0}),window.onload=function(){document.oncontextmenu=function(){return!1},n.changeBackground(),localStorage.removeItem(\"layim\"),n.GlobalVars2.globalUserID=parseInt(l.getCookie(\"id\"),10),n.GlobalVars2.globalPwd=l.getCookie(\"passwd\"),l.delCookie(\"id\"),l.delCookie(\"passwd\"),0!=n.GlobalVars2.globalUserID&&\"\"!=n.GlobalVars2.globalPwd||(alert(\"登录失效了， 请重新登录！！\"),window.location.href=n.GlobalVars2.globalLoginPage),window.removeThisFriend=i.removeThisFriend,window.videoChat=d.videoChat,window.makeacall=d.makeacall,window.audioMessage=u.audioMessage,c.GlobalVars3.GlobalVideoSystem=new c.VideoSystemObj,r.coreMessageLoop(),console.log(\" InitLayImSystem  \"),layui.use(\"layim\",function(o){o.config({init:{url:\"../json/mine.json\",data:{}}}),o.on(\"ready\",function(e){n.GlobalVars2.globalImSocketObject=new WebSocket(t.GlobalVars.ImServer),n.GlobalVars2.globalLayImObj=o,n.GlobalVars2.Global_layim=o,n.GlobalVars2.Global_layer=layer,n.GlobalVars2.globalImSocketObject.onopen=function(){console.log(\"user: \"+n.GlobalVars2.globalUserID+\" connect success. \"+t.GlobalVars.ImServer);var e=new a.RequsetSignin;e.cmd=s.GlobalCode.Request_login_code,e.id=n.GlobalVars2.globalUserID,e.passwd=n.GlobalVars2.globalPwd,n.sendMessageToServer(e)},n.GlobalVars2.globalImSocketObject.onclose=function(e){n.GlobalVars2.Global_layer.open({content:\"和服务器的连接断开了，请重新刷新登录系统！谢谢！\",btn:[\"知道了\"],yes:function(e,o){n.GlobalVars2.Global_layer.close(e),window.location.href=n.GlobalVars2.globalLoginPage}}),console.log(\"user: \"+n.GlobalVars2.globalUserID+\" connect closed\")},n.GlobalVars2.globalImSocketObject.onmessage=function(o){console.log(\"websocket recv:\"+o.data);var e=\"\";try{e=JSON.parse(o.data)}catch(e){return void console.log(\"parse json failed\",e,\"res.data\",o.data)}i.dispatchResultFormSocketServer(e)},o.on(\"sign\",function(e){console.log(e)}),o.on(\"sendMessage\",function(e){e.cmd=s.GlobalCode.Request_message_code;var o=new a.ChatMessage;o.cmd=s.GlobalCode.Request_message_code,o.username=e.mine.username,o.avatar=e.mine.avatar,o.gid=0,o.fromid=e.mine.id,o.id=e.mine.id,o.toid=e.to.id,o.cid=0,o.type=\"friend\",o.mine=!1,o.content=e.mine.content,o.timestamp=(new Date).valueOf(),n.sendMessageToServer(o)}),$(\"#find_friend\").click(function(){n.GlobalVars2.Global_layer.open({content:'查找好友 <br/><br/><div class=\"layui-form-item\"><label class=\"layui-form-label\">查找ID</label><div class=\"layui-input-block\"><input type=\"text\" id=\"search_id\" required  lay-verify=\"required\" placeholder=\"请输入标题\" autocomplete=\"off\" class=\"layui-input\"></div></div>',btn:[\"查找\"],yes:function(e,o){var t=new a.RequestFetchFriendInfo;t.cmd=s.GlobalCode.Request_fetch_friend_code,t.friendid=parseInt($(\"#search_id\").val(),10),n.sendMessageToServer(t),n.GlobalVars2.Global_layer.close(e)},cancel:function(e,o){n.GlobalVars2.Global_layer.close(e)}})})})}),c.initVideoSystem()}}.apply(o,n))||(e.exports=a)}]);\n//# sourceMappingURL=main_pc.js.map"
  },
  {
    "path": "webroot/dist/js/new_mob.js",
    "content": "!function(t){var n={};function s(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,s),o.l=!0,o.exports}s.m=t,s.c=n,s.d=function(e,o,t){s.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:t})},s.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},s.t=function(o,e){if(1&e&&(o=s(o)),8&e)return o;if(4&e&&\"object\"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(s.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:o}),2&e&&\"string\"!=typeof o)for(var n in o)s.d(t,n,function(e){return o[e]}.bind(null,n));return t},s.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(o,\"a\",o),o},s.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},s.p=\"\",s(s.s=11)}([function(e,o,t){\"use strict\";var n,s,i,r;o.__esModule=!0,(s=n=n||{})[s.Working=100]=\"Working\",s[s.Stopping=101]=\"Stopping\",(r=i=i||{})[r.VideoSystemUnInit=100]=\"VideoSystemUnInit\",r[r.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",r[r.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",r[r.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var a=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=i.VideoSystemUnInit},c=(l.CoreMessageLoopTime=100,l.globalProcessStatus=n.Working,l.protocol=\"ws://\",l.globalBackgroundImg=\"\",l.globalUserID=-1,l.globalPwd=\"\",l.globalMobile=!1,l.globalLoginPage=\"index.html\",l.globalRegisterPage=\"new.html\",l.globalMainPage=\"main.html\",l.NoteglobalVideoSystemStatusObject=new a,l.username=\"\",l.globalFriendsId=[],l.globalMessageArray=[],l.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",l);function l(){}o.GlobalVars2=c,o.audioorvideoWorking=function(){return c.NoteglobalVideoSystemStatusObject.AudioRecording||c.NoteglobalVideoSystemStatusObject.VideoChatting},o.audioWorking=function(){return c.NoteglobalVideoSystemStatusObject.AudioRecording},o.turnOffAudio=function(){c.NoteglobalVideoSystemStatusObject.AudioRecording=!1},o.turnOnAudion=function(){c.NoteglobalVideoSystemStatusObject.AudioRecording=!0},o.turnOffvideo=function(){c.NoteglobalVideoSystemStatusObject.VideoChatting=!1},o.turnOnvideo=function(e){c.NoteglobalVideoSystemStatusObject.VideoChatting=!0},o.isVideoSystemNeedInite=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnInit},o.isVideoSystemIniting=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnIniting},o.isVideoSystemInitSucc=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=i.VideoSystemInitSucc},o.startProcessCoreMessage=function(){c.globalProcessStatus=n.Working},o.stopProcessCoreMessage=function(){c.globalProcessStatus=n.Stopping},o.isProcessCoreMessageWorking=function(){return c.globalProcessStatus==n.Working},o.getOpenWidth=function(){return!0===c.globalMobile?\"400px;\":\"560px;\"},o.changeBackground=function(){var e=Math.round(100*Math.random())+1,o=(e%=38).toString()+\".jpg\";o=\"../images/bg/img/\"+(o=e<10?\"0000\"+o:\"000\"+o),c.globalBackgroundImg=\"url(\"+o+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=c.globalBackgroundImg},o.sendMessageToServer=function(e){var o=e.cmd+c.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",o),c.globalImSocketObject.send(o)}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=(s.Request_register_code=\"001\",s.Request_login_code=\"011\",s.Request_online_client_info_code=\"002\",s.Response_online_client_info_code=\"102\",s.Response_login_code=\"111\",s.Response_mine_code=\"121\",s.Response_add_friend_list_code=\"131\",s.Request_a_to_server_add_friend_code=\"032\",s.Request_server_to_b_add_friend_code=\"032\",s.Response_server_to_a_add_friend_code=\"133\",s.Request_confirm_add_friend_code=\"033\",s.Request_fetch_friend_code=\"037\",s.Response_server_to_a_fetch_friend_code=\"137\",s.Request_remove_friend_code=\"039\",s.Response_remove_friend_code=\"139\",s.Request_message_code=\"041\",s.Requst_ack_message_code=\"042\",s.Response_message_code=\"142\",s.Response_friend_status_change_code=\"151\",s.Response_friend_info_change_code=\"152\",s.Request_video_chat_a_to_server_code=\"053\",s.Response_video_chat_server_to_a_code=\"153\",s.Request_video_chat_b_to_server_code=\"054\",s.Response_video_chat_server_to_b_code=\"154\",s.Request_client_to_server_video_was_stopped_code=\"055\",s.Response_server_to_client_video_was_stopped_code=\"155\",s.LOGIN_CMD=\"login\",s.OFFER_CMD=\"offer\",s.ANSWER_CMD=\"answer\",s.CANDIDATE_CMD=\"candidate\",s.LEAVE_CMD=\"leave\",s);function s(){}o.GlobalCode=n},function(e,o,t){\"use strict\";o.__esModule=!0;function n(){}o.RequsetSignin=n;function s(){}o.ResponseAddList=s;function i(){}o.ChatMessage=i;function r(){}o.AckChatMessage=r;function a(){}o.AddFriendRequest=a;function c(){}o.AddFriendResponse=c;function l(){}o.SetFriendStatusResponse=l;function u(){}o.ConfirmAddFriendRequest=u;function d(){}o.RequestFetchFriendInfo=d;function g(){}o.ResponseFetchFriendInfo=g;function _(){}o.ResponseMine=_;function f(){}o.RequestUserRegister=f;function S(){}o.ResponseUserRegister=S;function b(){}o.ResponseSignin=b;function m(){}o.UserInfo=m;function p(){}o.RequestRemoveFriend=p;function v(){}o.ResponseRemoveFriend=v;function y(){}o.RequestVideoChatClosed=y;function R(){}o.VideoChatMsg=R;function V(){}o.LoginWebRtcRoom=V;function h(){}o.Candidate=h;function k(){}o.Answer=k;function I(){}o.Offer=I;function O(){}o.WebRTCJson=O},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),s=Domain,i=s+\":3478\",r=s+\":3478\";var a=(c.uploaderSocketServer=s+\":8091\",c.ImServer=s+\":8090\",c.signallingConnectionServer=s+\":8888\",c.stunServerConfigString='[{ \"urls\": \"stun:'+i+'?transport=udp\"   } ,{ \"urls\": \"stun:'+i+'?transport=tcp\"   } ,{ \"urls\": \"turn:'+r+'?transport=udp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ,{ \"urls\": \"turn:'+r+'?transport=tcp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ] ',c);function c(){}o.GlobalVars=a,\"https:\"===document.location.protocol&&(n.GlobalVars2.protocol=\"wss://\"),console.log(\"GlobalVars2.protocol  \",n.GlobalVars2.protocol),a.uploaderSocketServer=n.GlobalVars2.protocol+a.uploaderSocketServer,a.ImServer=n.GlobalVars2.protocol+a.ImServer,a.signallingConnectionServer=n.GlobalVars2.protocol+a.signallingConnectionServer,console.log(\"GlobalVars.uploaderSocketServer  \",a.uploaderSocketServer),console.log(\"GlobalVars.ImServer   \",a.ImServer),console.log(\"GlobalVars.signallingConnectionServer  \",a.signallingConnectionServer)},,,,,,,,function(e,o,t){\"use strict\";o.__esModule=!0;var n,s=t(3),i=t(0),r=t(2),a=t(1);function c(e){var o;120<(n+=e)&&(n=1),n<1&&(n=120),o=\"../../header/small/\"+(o=n<10?\"0000\"+n.toString():n<100?\"000\"+n.toString():\"00\"+n.toString())+\".jpg\",$(\"#header\").attr(\"src\",o)}n=1,window.onload=function(){i.changeBackground(),$(\"#f1\").click(function(){c(1)}),$(\"#f2\").click(function(){c(-1)}),layui.use(\"layer\",function(){}),layui.use(\"carousel\",function(){layui.carousel.render({elem:\"#test1\",width:\"100%\",arrow:\"always\",autoplay:!1})}),$(\"#a2\").click(function(){i.GlobalVars2.globalImSocketObject=new WebSocket(s.GlobalVars.ImServer),i.GlobalVars2.globalImSocketObject.onopen=function(){console.log(\"user:  connect success\");var e=new r.RequestUserRegister;e.cmd=a.GlobalCode.Request_register_code,e.nickname=$(\"#nickname\").val(),e.passwd=$(\"#passwd\").val(),e.avatar=$(\"#header\").attr(\"src\"),e.sign=$(\"#sign\").val(),i.sendMessageToServer(e)},i.GlobalVars2.globalImSocketObject.onmessage=function(e){console.log(e);var o=\"注册结果 \",t=JSON.parse(e.data);\"success\"==t.result?o+=\"成功， 新ID：\"+t.id:o+=\"失败， \"+t.result,layui.layer.open({content:o,btn:[\"按钮一\"],yes:function(e,o){layer.close(e),window.location.href=i.GlobalVars2.globalLoginPage}})}})}}]);\n//# sourceMappingURL=new_mob.js.map"
  },
  {
    "path": "webroot/dist/js/new_pc.js",
    "content": "!function(t){var n={};function s(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,s),o.l=!0,o.exports}s.m=t,s.c=n,s.d=function(e,o,t){s.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:t})},s.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},s.t=function(o,e){if(1&e&&(o=s(o)),8&e)return o;if(4&e&&\"object\"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(s.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:o}),2&e&&\"string\"!=typeof o)for(var n in o)s.d(t,n,function(e){return o[e]}.bind(null,n));return t},s.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(o,\"a\",o),o},s.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},s.p=\"\",s(s.s=10)}([function(e,o,t){\"use strict\";var n,s,i,r;o.__esModule=!0,(s=n=n||{})[s.Working=100]=\"Working\",s[s.Stopping=101]=\"Stopping\",(r=i=i||{})[r.VideoSystemUnInit=100]=\"VideoSystemUnInit\",r[r.VideoSystemUnIniting=200]=\"VideoSystemUnIniting\",r[r.VideoSystemInitSucc=300]=\"VideoSystemInitSucc\",r[r.VideoSystemInitFailed=400]=\"VideoSystemInitFailed\";var a=function(){this.AudioRecording=!1,this.VideoChatting=!1,this.VideoSystemStatus=i.VideoSystemUnInit},c=(l.CoreMessageLoopTime=100,l.globalProcessStatus=n.Working,l.protocol=\"ws://\",l.globalBackgroundImg=\"\",l.globalUserID=-1,l.globalPwd=\"\",l.globalMobile=!1,l.globalLoginPage=\"index.html\",l.globalRegisterPage=\"new.html\",l.globalMainPage=\"main.html\",l.NoteglobalVideoSystemStatusObject=new a,l.username=\"\",l.globalFriendsId=[],l.globalMessageArray=[],l.sakdasjdhakd9aqwieyqwieyi=\"4F637416\",l);function l(){}o.GlobalVars2=c,o.audioorvideoWorking=function(){return c.NoteglobalVideoSystemStatusObject.AudioRecording||c.NoteglobalVideoSystemStatusObject.VideoChatting},o.audioWorking=function(){return c.NoteglobalVideoSystemStatusObject.AudioRecording},o.turnOffAudio=function(){c.NoteglobalVideoSystemStatusObject.AudioRecording=!1},o.turnOnAudion=function(){c.NoteglobalVideoSystemStatusObject.AudioRecording=!0},o.turnOffvideo=function(){c.NoteglobalVideoSystemStatusObject.VideoChatting=!1},o.turnOnvideo=function(e){c.NoteglobalVideoSystemStatusObject.VideoChatting=!0},o.isVideoSystemNeedInite=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnInit},o.isVideoSystemIniting=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus==i.VideoSystemUnIniting},o.isVideoSystemInitSucc=function(){return c.NoteglobalVideoSystemStatusObject.VideoSystemStatus!=i.VideoSystemInitSucc},o.startProcessCoreMessage=function(){c.globalProcessStatus=n.Working},o.stopProcessCoreMessage=function(){c.globalProcessStatus=n.Stopping},o.isProcessCoreMessageWorking=function(){return c.globalProcessStatus==n.Working},o.getOpenWidth=function(){return!0===c.globalMobile?\"400px;\":\"560px;\"},o.changeBackground=function(){var e=Math.round(100*Math.random())+1,o=(e%=38).toString()+\".jpg\";o=\"../images/bg/img/\"+(o=e<10?\"0000\"+o:\"000\"+o),c.globalBackgroundImg=\"url(\"+o+\")\",document.getElementsByTagName(\"body\")[0].style.backgroundImage=c.globalBackgroundImg},o.sendMessageToServer=function(e){var o=e.cmd+c.sakdasjdhakd9aqwieyqwieyi+JSON.stringify(e);console.log(\"send message \",o),c.globalImSocketObject.send(o)}},function(e,o,t){\"use strict\";o.__esModule=!0;var n=(s.Request_register_code=\"001\",s.Request_login_code=\"011\",s.Request_online_client_info_code=\"002\",s.Response_online_client_info_code=\"102\",s.Response_login_code=\"111\",s.Response_mine_code=\"121\",s.Response_add_friend_list_code=\"131\",s.Request_a_to_server_add_friend_code=\"032\",s.Request_server_to_b_add_friend_code=\"032\",s.Response_server_to_a_add_friend_code=\"133\",s.Request_confirm_add_friend_code=\"033\",s.Request_fetch_friend_code=\"037\",s.Response_server_to_a_fetch_friend_code=\"137\",s.Request_remove_friend_code=\"039\",s.Response_remove_friend_code=\"139\",s.Request_message_code=\"041\",s.Requst_ack_message_code=\"042\",s.Response_message_code=\"142\",s.Response_friend_status_change_code=\"151\",s.Response_friend_info_change_code=\"152\",s.Request_video_chat_a_to_server_code=\"053\",s.Response_video_chat_server_to_a_code=\"153\",s.Request_video_chat_b_to_server_code=\"054\",s.Response_video_chat_server_to_b_code=\"154\",s.Request_client_to_server_video_was_stopped_code=\"055\",s.Response_server_to_client_video_was_stopped_code=\"155\",s.LOGIN_CMD=\"login\",s.OFFER_CMD=\"offer\",s.ANSWER_CMD=\"answer\",s.CANDIDATE_CMD=\"candidate\",s.LEAVE_CMD=\"leave\",s);function s(){}o.GlobalCode=n},function(e,o,t){\"use strict\";o.__esModule=!0;function n(){}o.RequsetSignin=n;function s(){}o.ResponseAddList=s;function i(){}o.ChatMessage=i;function r(){}o.AckChatMessage=r;function a(){}o.AddFriendRequest=a;function c(){}o.AddFriendResponse=c;function l(){}o.SetFriendStatusResponse=l;function u(){}o.ConfirmAddFriendRequest=u;function d(){}o.RequestFetchFriendInfo=d;function g(){}o.ResponseFetchFriendInfo=g;function _(){}o.ResponseMine=_;function f(){}o.RequestUserRegister=f;function S(){}o.ResponseUserRegister=S;function b(){}o.ResponseSignin=b;function m(){}o.UserInfo=m;function p(){}o.RequestRemoveFriend=p;function v(){}o.ResponseRemoveFriend=v;function y(){}o.RequestVideoChatClosed=y;function R(){}o.VideoChatMsg=R;function V(){}o.LoginWebRtcRoom=V;function h(){}o.Candidate=h;function k(){}o.Answer=k;function I(){}o.Offer=I;function O(){}o.WebRTCJson=O},function(e,o,t){\"use strict\";o.__esModule=!0;var n=t(0),s=Domain,i=s+\":3478\",r=s+\":3478\";var a=(c.uploaderSocketServer=s+\":8091\",c.ImServer=s+\":8090\",c.signallingConnectionServer=s+\":8888\",c.stunServerConfigString='[{ \"urls\": \"stun:'+i+'?transport=udp\"   } ,{ \"urls\": \"stun:'+i+'?transport=tcp\"   } ,{ \"urls\": \"turn:'+r+'?transport=udp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ,{ \"urls\": \"turn:'+r+'?transport=tcp\",  \"username\": \"k1\",  \"credential\": \"1234567\" } ] ',c);function c(){}o.GlobalVars=a,\"https:\"===document.location.protocol&&(n.GlobalVars2.protocol=\"wss://\"),console.log(\"GlobalVars2.protocol  \",n.GlobalVars2.protocol),a.uploaderSocketServer=n.GlobalVars2.protocol+a.uploaderSocketServer,a.ImServer=n.GlobalVars2.protocol+a.ImServer,a.signallingConnectionServer=n.GlobalVars2.protocol+a.signallingConnectionServer,console.log(\"GlobalVars.uploaderSocketServer  \",a.uploaderSocketServer),console.log(\"GlobalVars.ImServer   \",a.ImServer),console.log(\"GlobalVars.signallingConnectionServer  \",a.signallingConnectionServer)},,,,,,,function(e,o,t){\"use strict\";o.__esModule=!0;var r,a,n=t(3),s=t(2),i=t(0),c=t(1);function l(e,o){var t;120<(r+=o)&&(r=1),r<1&&(r=120),t=r<10?\"0000\"+r.toString():r<100?\"000\"+r.toString():\"00\"+r.toString();var n,s=e.src.split(\"/\");n=\"\";for(var i=0;i<s.length-1;i++)n+=s[i]+\"/\";n=n+\"small/\"+t+\".jpg\",console.log(\"fullurl:\",n),a=n,$(\"#header\").attr(\"src\",n)}r=1,a=\"\",window.onload=function(){i.changeBackground(),$(\"#f1\").click(function(){l(this,1)}),$(\"#f2\").click(function(){l(this,-1)}),function(e){var o;o=(r=1)<10?\"0000\"+r.toString():r<100?\"000\"+r.toString():\"00\"+r.toString();var t,n=e[0].src.split(\"/\");t=\"\";for(var s=0;s<n.length-1;s++)t+=n[s]+\"/\";t=t+\"small/\"+o+\".jpg\",console.log(\"fullurl:\",t),a=t}($(\"#f2\")),layui.use(\"layer\",function(){}),layui.use(\"carousel\",function(){layui.carousel.render({elem:\"#test1\",width:\"100%\",arrow:\"always\",autoplay:!1})}),$(\"#a2\").click(function(){i.GlobalVars2.globalImSocketObject=new WebSocket(n.GlobalVars.ImServer),i.GlobalVars2.globalImSocketObject.onopen=function(){console.log(\"user:  connect success\");var e=new s.RequestUserRegister;e.cmd=c.GlobalCode.Request_register_code,e.nickname=$(\"#nickname\").val(),e.passwd=$(\"#passwd\").val(),console.log(\"header:\",a),e.avatar=a,e.sign=$(\"#sign\").val();JSON.stringify(e);i.sendMessageToServer(e)},i.GlobalVars2.globalImSocketObject.onmessage=function(e){console.log(e);var o=\"注册结果 \",t=JSON.parse(e.data);\"success\"==t.result?o+=\"成功， 新ID：\"+t.id:o+=\"失败， 请重试 \",layui.layer.open({content:o,btn:[\"按钮一\"],yes:function(e,o){layer.close(e),window.location.href=i.GlobalVars2.globalLoginPage}})}})}}]);\n//# sourceMappingURL=new_pc.js.map"
  },
  {
    "path": "webroot/dist/lay/modules/carousel.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(e){\"use strict\";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t=\"carousel\",a=\"layui-this\",l=\">*[carousel-item]>*\",o=\"layui-carousel-left\",r=\"layui-carousel-right\",d=\"layui-carousel-prev\",s=\"layui-carousel-next\",u=\"layui-carousel-arrow\",c=\"layui-carousel-ind\",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:\"600px\",height:\"280px\",full:!1,arrow:\"hover\",indicator:\"inside\",autoplay:!0,interval:3e3,anim:\"\",trigger:\"click\",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:\"fixed\",width:\"100%\",height:\"100%\",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr(\"lay-anim\",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['<button class=\"layui-icon '+u+'\" lay-type=\"sub\">'+(\"updown\"===n.anim?\"&#xe619;\":\"&#xe603;\")+\"</button>\",'<button class=\"layui-icon '+u+'\" lay-type=\"add\">'+(\"updown\"===n.anim?\"&#xe61a;\":\"&#xe602;\")+\"</button>\"].join(\"\"));n.elem.attr(\"lay-arrow\",n.arrow),n.elem.find(\".\"+u)[0]&&n.elem.find(\".\"+u).remove(),n.elem.append(t),t.on(\"click\",function(){var n=i(this),t=n.attr(\"lay-type\");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['<div class=\"'+c+'\"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push(\"<li\"+(n.index===e?' class=\"layui-this\"':\"\")+\"></li>\")}),i.join(\"\")}(),\"</ul></div>\"].join(\"\"));n.elem.attr(\"lay-indicator\",n.indicator),n.elem.find(\".\"+c)[0]&&n.elem.find(\".\"+c).remove(),n.elem.append(t),\"updown\"===n.anim&&t.css(\"margin-top\",-(t.height()/2)),t.find(\"li\").on(\"hover\"===n.trigger?\"mouseover\":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide(\"add\",a-n.index):a<n.index&&e.slide(\"sub\",n.index-a)})},m.prototype.slide=function(e,i){var n=this,l=n.elemItem,u=n.config,c=u.index,m=u.elem.attr(\"lay-filter\");n.haveSlide||(\"sub\"===e?(n.subIndex(i),l.eq(u.index).addClass(d),setTimeout(function(){l.eq(c).addClass(r),l.eq(u.index).addClass(r)},50)):(n.addIndex(i),l.eq(u.index).addClass(s),setTimeout(function(){l.eq(c).addClass(o),l.eq(u.index).addClass(o)},50)),setTimeout(function(){l.removeClass(a+\" \"+d+\" \"+s+\" \"+o+\" \"+r),l.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find(\"li\").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,\"change(\"+m+\")\",{index:u.index,prevIndex:c,item:l.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data(\"haveEvents\")||(i.elem.on(\"mouseenter\",function(){clearInterval(e.timer)}).on(\"mouseleave\",function(){e.autoplay()}),i.elem.data(\"haveEvents\",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});"
  },
  {
    "path": "webroot/dist/lay/modules/code.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(e){\"use strict\";var a=layui.$,l=\"http://www.layui.com/doc/modules/code.html\";e(\"code\",function(e){var t=[];e=e||{},e.elem=a(e.elem||\".layui-code\"),e.about=!(\"about\"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr(\"lay-encode\")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#39;\").replace(/\"/g,\"&quot;\")),c.html('<ol class=\"layui-code-ol\"><li>'+o.replace(/[\\r\\t\\n]+/g,\"</li><li>\")+\"</li></ol>\"),c.find(\">.layui-code-h3\")[0]||c.prepend('<h3 class=\"layui-code-h3\">'+(c.attr(\"lay-title\")||e.title||\"code\")+(e.about?'<a href=\"'+l+'\" target=\"_blank\">layui.code</a>':\"\")+\"</h3>\");var d=c.find(\">.layui-code-ol\");c.addClass(\"layui-box layui-code-view\"),(c.attr(\"lay-skin\")||e.skin)&&c.addClass(\"layui-code-\"+(c.attr(\"lay-skin\")||e.skin)),(d.find(\"li\").length/100|0)>0&&d.css(\"margin-left\",(d.find(\"li\").length/100|0)+\"px\"),(c.attr(\"lay-height\")||e.height)&&d.css(\"max-height\",c.attr(\"lay-height\")||e.height)})})}).addcss(\"modules/code.css\",\"skincodecss\");"
  },
  {
    "path": "webroot/dist/lay/modules/element.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(i){\"use strict\";var t=layui.$,a=(layui.hint(),layui.device()),e=\"element\",l=\"layui-this\",n=\"layui-show\",s=function(){this.config={}};s.prototype.set=function(i){var a=this;return t.extend(!0,a.config,i),a},s.prototype.on=function(i,t){return layui.onevent.call(this,e,i,t)},s.prototype.tabAdd=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.children(\".layui-tab-bar\"),o=l.children(\".layui-tab-content\"),c='<li lay-id=\"'+(a.id||\"\")+'\">'+(a.title||\"unnaming\")+\"</li>\";return s[0]?s.before(c):n.append(c),o.append('<div class=\"layui-tab-item\">'+(a.content||\"\")+\"</div>\"),y.hideTabMore(!0),y.tabAuto(),this},s.prototype.tabDelete=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.find('>li[lay-id=\"'+a+'\"]');return y.tabDelete(null,s),this},s.prototype.tabChange=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.find('>li[lay-id=\"'+a+'\"]');return y.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(i){i=i||{},v.on(\"click\",i.headerElem,function(a){var e=t(this).index();y.tabClick.call(this,a,e,null,i)})},s.prototype.progress=function(i,a){var e=\"layui-progress\",l=t(\".\"+e+\"[lay-filter=\"+i+\"]\"),n=l.find(\".\"+e+\"-bar\"),s=n.find(\".\"+e+\"-text\");return n.css(\"width\",a),s.text(a),this};var o=\".layui-nav\",c=\"layui-nav-item\",r=\"layui-nav-bar\",u=\"layui-nav-tree\",d=\"layui-nav-child\",h=\"layui-nav-more\",f=\"layui-anim layui-anim-upbit\",y={tabClick:function(i,a,s,o){o=o||{};var c=s||t(this),a=a||c.parent().children(\"li\").index(c),r=o.headerElem?c.parent():c.parents(\".layui-tab\").eq(0),u=o.bodyElem?t(o.bodyElem):r.children(\".layui-tab-content\").children(\".layui-tab-item\"),d=c.find(\"a\"),h=r.attr(\"lay-filter\");\"javascript:;\"!==d.attr(\"href\")&&\"_blank\"===d.attr(\"target\")||(c.addClass(l).siblings().removeClass(l),u.eq(a).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,\"tab(\"+h+\")\",{elem:r,index:a})},tabDelete:function(i,a){var n=a||t(this).parent(),s=n.index(),o=n.parents(\".layui-tab\").eq(0),c=o.children(\".layui-tab-content\").children(\".layui-tab-item\"),r=o.attr(\"lay-filter\");n.hasClass(l)&&(n.next()[0]?y.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&y.tabClick.call(n.prev()[0],null,s-1)),n.remove(),c.eq(s).remove(),setTimeout(function(){y.tabAuto()},50),layui.event.call(this,e,\"tabDelete(\"+r+\")\",{elem:o,index:s})},tabAuto:function(){var i=\"layui-tab-more\",e=\"layui-tab-bar\",l=\"layui-tab-close\",n=this;t(\".layui-tab\").each(function(){var s=t(this),o=s.children(\".layui-tab-title\"),c=(s.children(\".layui-tab-content\").children(\".layui-tab-item\"),'lay-stope=\"tabmore\"'),r=t('<span class=\"layui-unselect layui-tab-bar\" '+c+\"><i \"+c+' class=\"layui-icon\">&#xe61a;</i></span>');if(n===window&&8!=a.ie&&y.hideTabMore(!0),s.attr(\"lay-allowClose\")&&o.find(\"li\").each(function(){var i=t(this);if(!i.find(\".\"+l)[0]){var a=t('<i class=\"layui-icon layui-unselect '+l+'\">&#x1006;</i>');a.on(\"click\",y.tabDelete),i.append(a)}}),o.prop(\"scrollWidth\")>o.outerWidth()+1){if(o.find(\".\"+e)[0])return;o.append(r),s.attr(\"overflow\",\"\"),r.on(\"click\",function(t){o[this.title?\"removeClass\":\"addClass\"](i),this.title=this.title?\"\":\"收缩\"})}else o.find(\".\"+e).remove(),s.removeAttr(\"overflow\")})},hideTabMore:function(i){var a=t(\".layui-tab-title\");i!==!0&&\"tabmore\"===t(i.target).attr(\"lay-stope\")||(a.removeClass(\"layui-tab-more\"),a.find(\".layui-tab-bar\").attr(\"title\",\"\"))},clickThis:function(){var i=t(this),a=i.parents(o),n=a.attr(\"lay-filter\"),s=i.find(\"a\"),c=\"string\"==typeof i.attr(\"lay-unselect\");i.find(\".\"+d)[0]||(\"javascript:;\"!==s.attr(\"href\")&&\"_blank\"===s.attr(\"target\")||c||(a.find(\".\"+l).removeClass(l),i.addClass(l)),layui.event.call(this,e,\"nav(\"+n+\")\",i))},clickChild:function(){var i=t(this),a=i.parents(o),n=a.attr(\"lay-filter\");a.find(\".\"+l).removeClass(l),i.addClass(l),layui.event.call(this,e,\"nav(\"+n+\")\",i)},showChild:function(){var i=t(this),a=i.parents(o),e=i.parent(),l=i.siblings(\".\"+d);a.hasClass(u)&&(l.removeClass(f),e[\"none\"===l.css(\"display\")?\"addClass\":\"removeClass\"](c+\"ed\"))},collapse:function(){var i=t(this),a=i.find(\".layui-colla-icon\"),l=i.siblings(\".layui-colla-content\"),s=i.parents(\".layui-collapse\").eq(0),o=s.attr(\"lay-filter\"),c=\"none\"===l.css(\"display\");if(\"string\"==typeof s.attr(\"lay-accordion\")){var r=s.children(\".layui-colla-item\").children(\".\"+n);r.siblings(\".layui-colla-title\").children(\".layui-colla-icon\").html(\"&#xe602;\"),r.removeClass(n)}l[c?\"addClass\":\"removeClass\"](n),a.html(c?\"&#xe61a;\":\"&#xe602;\"),layui.event.call(this,e,\"collapse(\"+o+\")\",{title:i,content:l,show:c})}};s.prototype.init=function(i,e){var l=function(){return e?'[lay-filter=\"'+e+'\"]':\"\"}(),s={tab:function(){y.tabAuto.call({})},nav:function(){var i=200,e={},s={},p={},v=function(l,o,c){var r=t(this),y=r.find(\".\"+d);o.hasClass(u)?l.css({top:r.position().top,height:r.children(\"a\").height(),opacity:1}):(y.addClass(f),l.css({left:r.position().left+parseFloat(r.css(\"marginLeft\")),top:r.position().top+r.height()-l.height()}),e[c]=setTimeout(function(){l.css({width:r.width(),opacity:1})},a.ie&&a.ie<10?0:i),clearTimeout(p[c]),\"block\"===y.css(\"display\")&&clearTimeout(s[c]),s[c]=setTimeout(function(){y.addClass(n),r.find(\".\"+h).addClass(h+\"d\")},300))};t(o+l).each(function(a){var l=t(this),o=t('<span class=\"'+r+'\"></span>'),f=l.find(\".\"+c);l.find(\".\"+r)[0]||(l.append(o),f.on(\"mouseenter\",function(){v.call(this,o,l,a)}).on(\"mouseleave\",function(){l.hasClass(u)||(clearTimeout(s[a]),s[a]=setTimeout(function(){l.find(\".\"+d).removeClass(n),l.find(\".\"+h).removeClass(h+\"d\")},300))}),l.on(\"mouseleave\",function(){clearTimeout(e[a]),p[a]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},i)})),f.each(function(){var i=t(this),a=i.find(\".\"+d);if(a[0]&&!i.find(\".\"+h)[0]){var e=i.children(\"a\");e.append('<span class=\"'+h+'\"></span>')}i.off(\"click\",y.clickThis).on(\"click\",y.clickThis),i.children(\"a\").off(\"click\",y.showChild).on(\"click\",y.showChild),a.children(\"dd\").off(\"click\",y.clickChild).on(\"click\",y.clickChild)})})},breadcrumb:function(){var i=\".layui-breadcrumb\";t(i+l).each(function(){var i=t(this),a=\"lay-separator\",e=i.attr(a)||\"/\",l=i.find(\"a\");l.next(\"span[\"+a+\"]\")[0]||(l.each(function(i){i!==l.length-1&&t(this).after(\"<span \"+a+\">\"+e+\"</span>\")}),i.css(\"visibility\",\"visible\"))})},progress:function(){var i=\"layui-progress\";t(\".\"+i+l).each(function(){var a=t(this),e=a.find(\".layui-progress-bar\"),l=e.attr(\"lay-percent\");e.css(\"width\",function(){return/^.+\\/.+$/.test(l)?100*new Function(\"return \"+l)()+\"%\":l}()),a.attr(\"lay-showPercent\")&&setTimeout(function(){e.html('<span class=\"'+i+'-text\">'+l+\"</span>\")},350)})},collapse:function(){var i=\"layui-collapse\";t(\".\"+i+l).each(function(){var i=t(this).find(\".layui-colla-item\");i.each(function(){var i=t(this),a=i.find(\".layui-colla-title\"),e=i.find(\".layui-colla-content\"),l=\"none\"===e.css(\"display\");a.find(\".layui-colla-icon\").remove(),a.append('<i class=\"layui-icon layui-colla-icon\">'+(l?\"&#xe602;\":\"&#xe61a;\")+\"</i>\"),a.off(\"click\",y.collapse).on(\"click\",y.collapse)})})}};return s[i]?s[i]():layui.each(s,function(i,t){t()})},s.prototype.render=s.prototype.init;var p=new s,v=t(document);p.render();var b=\".layui-tab-title li\";v.on(\"click\",b,y.tabClick),v.on(\"click\",y.hideTabMore),t(window).on(\"resize\",y.tabAuto),i(e,p)});"
  },
  {
    "path": "webroot/dist/lay/modules/flow.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(e){\"use strict\";var l=layui.$,o=function(e){},t='<i class=\"layui-anim layui-anim-rotate layui-anim-loop layui-icon \">&#xe63e;</i>';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!(\"isAuto\"in e)||e.isAuto,v=e.end||\"没有更多了\",y=e.scrollElem&&e.scrollElem!==document,d=\"<cite>加载更多</cite>\",h=l('<div class=\"layui-flow-more\"><a href=\"javascript:;\">'+d+\"</a></div>\");f.find(\".layui-flow-more\")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find(\"a\").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find(\"a\").html(t),\"function\"==typeof e.done&&e.done(++c,p)};if(g(),h.find(\"a\").on(\"click\",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+\" img\",scrollElem:e.scrollElem});return s?(m.on(\"scroll\",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop(\"scrollHeight\"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||\"img\",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr(\"src\")){var m=e.attr(\"lay-src\");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr(\"src\",m).removeAttr(\"lay-src\"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)break}};if(f(),!o){var m;n.on(\"scroll\",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e(\"flow\",new o)});"
  },
  {
    "path": "webroot/dist/lay/modules/form.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"layer\",function(e){\"use strict\";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l=\"form\",r=\".layui-form\",s=\"layui-this\",o=\"layui-hide\",u=\"layui-disabled\",c=function(){this.config={verify:{required:[/[\\S]+/,\"必填项不能为空\"],phone:[/^1\\d{10}$/,\"请输入正确的手机号\"],email:[/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/,\"邮箱格式不正确\"],url:[/(^#)|(^http(s*):\\/\\/[^\\s]+\\.[^\\s]+)/,\"链接格式不正确\"],number:function(e){if(!e||isNaN(e))return\"只能填写数字\"},date:[/^(\\d{4})[-\\/](\\d{1}|0\\d{1}|1[0-2])([-\\/](\\d{1}|0\\d{1}|[1-2][0-9]|3[0-1]))*$/,\"日期格式不正确\"],identity:[/(^\\d{15}$)|(^\\d{17}(x|X|\\d)$)/,\"请输入正确的身份证号\"]}}};c.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},c.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},c.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},c.prototype.render=function(e,i){var n=this,c=t(r+function(){return i?'[lay-filter=\"'+i+'\"]':\"\"}()),d={select:function(){var e,i=\"请选择\",a=\"layui-form-select\",n=\"layui-select-title\",r=\"layui-select-none\",d=\"\",f=c.find(\"select\"),y=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t(\".\"+a).removeClass(a+\"ed \"+a+\"up\"),e&&d&&e.val(d)),e=null},h=function(i,c,f){var h=t(this),p=i.find(\".\"+n),m=p.find(\"input\"),k=i.find(\"dl\"),g=k.children(\"dd\");if(!c){var x=function(){var e=i.offset().top+i.outerHeight()+5-v.scrollTop(),t=k.outerHeight();i.addClass(a+\"ed\"),g.removeClass(o),e+t>v.height()&&e>=t&&i.addClass(a+\"up\")},b=function(e){i.removeClass(a+\"ed \"+a+\"up\"),m.blur(),e||C(m.val(),function(e){e&&(d=k.find(\".\"+s).html(),m&&m.val(d))})};p.on(\"click\",function(e){i.hasClass(a+\"ed\")?b():(y(e,!0),x()),k.find(\".\"+r).remove()}),p.find(\".layui-edge\").on(\"click\",function(){m.focus()}),m.on(\"keyup\",function(e){var t=e.keyCode;9===t&&x()}).on(\"keydown\",function(e){var t=e.keyCode;9===t?b():13===t&&e.preventDefault()});var C=function(e,i,a){var n=0;layui.each(g,function(){var i=t(this),l=i.text(),r=l.indexOf(e)===-1;(\"\"===e||\"blur\"===a?e!==l:r)&&n++,\"keyup\"===a&&i[r?\"addClass\":\"removeClass\"](o)});var l=n===g.length;return i(l),l},w=function(e){var t=this.value,i=e.keyCode;return 9!==i&&13!==i&&37!==i&&38!==i&&39!==i&&40!==i&&(C(t,function(e){e?k.find(\".\"+r)[0]||k.append('<p class=\"'+r+'\">无匹配项</p>'):k.find(\".\"+r).remove()},\"keyup\"),void(\"\"===t&&k.find(\".\"+r).remove()))};f&&m.on(\"keyup\",w).on(\"blur\",function(t){e=m,d=k.find(\".\"+s).html(),setTimeout(function(){C(m.val(),function(e){d||m.val(\"\")},\"blur\")},200)}),g.on(\"click\",function(){var e=t(this),a=e.attr(\"lay-value\"),n=h.attr(\"lay-filter\");return!e.hasClass(u)&&(e.hasClass(\"layui-select-tips\")?m.val(\"\"):(m.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),h.val(a).removeClass(\"layui-form-danger\"),layui.event.call(this,l,\"select(\"+n+\")\",{elem:h[0],value:a,othis:i}),b(!0),!1)}),i.find(\"dl>dt\").on(\"click\",function(e){return!1}),t(document).off(\"click\",y).on(\"click\",y)}};f.each(function(e,l){var r=t(this),o=r.next(\".\"+a),c=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),y=l.options[0];if(\"string\"==typeof r.attr(\"lay-ignore\"))return r.show();var v=\"string\"==typeof r.attr(\"lay-search\"),p=y?y.value?i:y.innerHTML||i:i,m=t(['<div class=\"'+(v?\"\":\"layui-unselect \")+a+(c?\" layui-select-disabled\":\"\")+'\">','<div class=\"'+n+'\"><input type=\"text\" placeholder=\"'+p+'\" value=\"'+(d?f.html():\"\")+'\" '+(v?\"\":\"readonly\")+' class=\"layui-input'+(v?\"\":\" layui-unselect\")+(c?\" \"+u:\"\")+'\">','<i class=\"layui-edge\"></i></div>','<dl class=\"layui-anim layui-anim-upbit'+(r.find(\"optgroup\")[0]?\" layui-select-group\":\"\")+'\">'+function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?\"optgroup\"===a.tagName.toLowerCase()?t.push(\"<dt>\"+a.label+\"</dt>\"):t.push('<dd lay-value=\"'+a.value+'\" class=\"'+(d===a.value?s:\"\")+(a.disabled?\" \"+u:\"\")+'\">'+a.innerHTML+\"</dd>\"):t.push('<dd lay-value=\"\" class=\"layui-select-tips\">'+(a.innerHTML||i)+\"</dd>\")}),0===t.length&&t.push('<dd lay-value=\"\" class=\"'+u+'\">没有选项</dd>'),t.join(\"\")}(r.find(\"*\"))+\"</dl>\",\"</div>\"].join(\"\"));o[0]&&o.remove(),r.after(m),h.call(this,m,c,v)})},checkbox:function(){var e={checkbox:[\"layui-form-checkbox\",\"layui-form-checked\",\"checkbox\"],_switch:[\"layui-form-switch\",\"layui-form-onswitch\",\"switch\"]},i=c.find(\"input[type=checkbox]\"),a=function(e,i){var a=t(this);e.on(\"click\",function(){var t=a.attr(\"lay-filter\"),n=(a.attr(\"lay-text\")||\"\").split(\"|\");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find(\"em\").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find(\"em\").text(n[0])),layui.event.call(a[0],l,i[2]+\"(\"+t+\")\",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr(\"lay-skin\"),s=(l.attr(\"lay-text\")||\"\").split(\"|\"),o=this.disabled;\"switch\"===r&&(r=\"_\"+r);var c=e[r]||e.checkbox;if(\"string\"==typeof l.attr(\"lay-ignore\"))return l.show();var d=l.next(\".\"+c[0]),f=t(['<div class=\"layui-unselect '+c[0]+(n.checked?\" \"+c[1]:\"\")+(o?\" layui-checkbox-disbaled \"+u:\"\")+'\" lay-skin=\"'+(r||\"\")+'\">',{_switch:\"<em>\"+((n.checked?s[0]:s[1])||\"\")+\"</em><i></i>\"}[r]||(n.title.replace(/\\s/g,\"\")?\"<span>\"+n.title+\"</span>\":\"\")+'<i class=\"layui-icon\">'+(r?\"&#xe605;\":\"&#xe618;\")+\"</i>\",\"</div>\"].join(\"\"));d[0]&&d.remove(),l.after(f),a.call(this,f,c)})},radio:function(){var e=\"layui-form-radio\",i=[\"&#xe643;\",\"&#xe63f;\"],a=c.find(\"input[type=radio]\"),n=function(a){var n=t(this),s=\"layui-anim-scaleSpring\";a.on(\"click\",function(){var o=n[0].name,u=n.parents(r),c=n.attr(\"lay-filter\"),d=u.find(\"input[name=\"+o.replace(/(\\.|#|\\[|\\])/g,\"\\\\$1\")+\"]\");n[0].disabled||(layui.each(d,function(){var a=t(this).next(\".\"+e);this.checked=!1,a.removeClass(e+\"ed\"),a.find(\".layui-icon\").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+\"ed\"),a.find(\".layui-icon\").addClass(s).html(i[0]),layui.event.call(n[0],l,\"radio(\"+c+\")\",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next(\".\"+e),o=this.disabled;if(\"string\"==typeof r.attr(\"lay-ignore\"))return r.show();s[0]&&s.remove();var c=t(['<div class=\"layui-unselect '+e+(l.checked?\" \"+e+\"ed\":\"\")+(o?\" layui-radio-disbaled \"+u:\"\")+'\">','<i class=\"layui-anim layui-icon\">'+i[l.checked?0:1]+\"</i>\",\"<div>\"+function(){var e=l.title||\"\";return\"string\"==typeof r.next().attr(\"lay-radio\")&&(e=r.next().html(),r.next().remove()),e}()+\"</div>\",\"</div>\"].join(\"\"));r.after(c),n.call(this,c)})}};return e?d[e]?d[e]():a.error(\"不支持的\"+e+\"表单渲染\"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o=\"layui-form-danger\",u={},c=e.parents(r),d=c.find(\"*[lay-verify]\"),y=e.parents(\"form\")[0],v=c.find(\"input,select,textarea\"),h=e.attr(\"lay-filter\");if(layui.each(d,function(e,l){var r=t(this),u=r.attr(\"lay-verify\").split(\"|\"),c=r.attr(\"lay-verType\"),d=r.val();if(r.removeClass(o),layui.each(u,function(e,t){var u,f=\"\",y=\"function\"==typeof a[t];if(a[t]){var u=y?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],u)return\"tips\"===c?i.tips(f,function(){return\"string\"==typeof r.attr(\"lay-ignore\")||\"select\"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):\"alert\"===c?i.alert(f,{title:\"提示\",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||l.focus(),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(v,function(e,t){if(t.name=(t.name||\"\").replace(/^\\s*|\\s*&/,\"\"),t.name){if(/^.*\\[\\]$/.test(t.name)){var i=t.name.match(/^(.*)\\[\\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\\[\\]$/,\"$1[\"+p[i]++ +\"]\")}/^checkbox|radio$/.test(t.type)&&!t.checked||(u[t.name]=t.value)}}),layui.event.call(this,l,\"submit(\"+h+\")\",{elem:this,form:y,field:u})},f=new c,y=t(document),v=t(window);f.render(),y.on(\"reset\",r,function(){var e=t(this).attr(\"lay-filter\");setTimeout(function(){f.render(null,e)},50)}),y.on(\"submit\",r,d).on(\"click\",\"*[lay-submit]\",d),e(l,f)});"
  },
  {
    "path": "webroot/dist/lay/modules/jquery.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;!function(e,t){\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&\"length\"in e&&e.length,n=pe.type(e);return\"function\"!==n&&!pe.isWindow(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if(\"string\"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener(\"DOMContentLoaded\",s),e.removeEventListener(\"load\",s)):(re.detachEvent(\"onreadystatechange\",s),e.detachEvent(\"onload\",s))}function s(){(re.addEventListener||\"load\"===e.event.type||\"complete\"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r=\"data-\"+t.replace(_e,\"-$1\").toLowerCase();if(n=e.getAttribute(r),\"string\"==typeof n){try{n=\"true\"===n||\"false\"!==n&&(\"null\"===n?null:+n+\"\"===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if((\"data\"!==t||!pe.isEmptyObject(e[t]))&&\"toJSON\"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||\"string\"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),\"object\"!=typeof t&&\"function\"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),\"string\"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(\" \")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,\"\")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?\"\":\"px\"),c=(pe.cssNumber[t]||\"px\"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||\".5\",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split(\"|\"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,\"globalEval\",!t||pe._data(t[r],\"globalEval\"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x<d;x++)if(a=e[x],a||0===a)if(\"object\"===pe.type(a))pe.merge(v,a.nodeType?[a]:a);else if(Ue.test(a)){for(u=u||y.appendChild(t.createElement(\"div\")),l=(We.exec(a)||[\"\",\"\"])[1].toLowerCase(),f=Xe[l]||Xe._default,u.innerHTML=f[1]+pe.htmlPrefilter(a)+f[2],o=f[0];o--;)u=u.lastChild;if(!fe.leadingWhitespace&&$e.test(a)&&v.push(t.createTextNode($e.exec(a)[0])),!fe.tbody)for(a=\"table\"!==l||Ve.test(a)?\"<table>\"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],\"tbody\")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent=\"\";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,\"input\"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),\"script\"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||\"\")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){\"string\"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,\"table\")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,\"tr\")?e.getElementsByTagName(\"tbody\")[0]||e.appendChild(e.ownerDocument.createElement(\"tbody\")):e}function C(e){return e.type=(null!==pe.find.attr(e,\"type\"))+\"/\"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r<i;r++)pe.event.add(t,n,s[n][r])}a.data&&(a.data=pe.extend({},a.data))}}function k(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!fe.noCloneEvent&&t[pe.expando]){i=pe._data(t);for(r in i.events)pe.removeEvent(t,r,i.handle);t.removeAttribute(pe.expando)}\"script\"===n&&t.text!==e.text?(C(t).text=e.text,E(t)):\"object\"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),fe.html5Clone&&e.innerHTML&&!pe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):\"input\"===n&&Be.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):\"option\"===n?t.defaultSelected=t.selected=e.defaultSelected:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}}function S(e,t,n,r){t=oe.apply([],t);var i,o,a,s,u,l,c=0,f=e.length,d=f-1,p=t[0],g=pe.isFunction(p);if(g||f>1&&\"string\"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,\"script\"),C),a=s.length;c<f;c++)o=l,c!==d&&(o=pe.clone(o,!0,!0),a&&pe.merge(s,h(o,\"script\"))),n.call(e[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,pe.map(s,E),c=0;c<a;c++)o=s[c],Ie.test(o.type||\"\")&&!pe._data(o,\"globalEval\")&&pe.contains(u,o)&&(o.src?pe._evalUrl&&pe._evalUrl(o.src):pe.globalEval((o.text||o.textContent||o.innerHTML||\"\").replace(ot,\"\")));l=i=null}return e}function A(e,t,n){for(var r,i=t?pe.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||pe.cleanData(h(r)),r.parentNode&&(n&&pe.contains(r.ownerDocument,r)&&g(h(r,\"script\")),r.parentNode.removeChild(r));return e}function D(e,t){var n=pe(t.createElement(e)).appendTo(t.body),r=pe.css(n[0],\"display\");return n.detach(),r}function j(e){var t=re,n=lt[e];return n||(n=D(e,t),\"none\"!==n&&n||(ut=(ut||pe(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(o[a]=pe._data(r,\"olddisplay\"),n=r.style.display,t?(o[a]||\"none\"!==n||(r.style.display=\"\"),\"\"===r.style.display&&Re(r)&&(o[a]=pe._data(r,\"olddisplay\",j(r.nodeName)))):(i=Re(r),(n&&\"none\"!==n||!i)&&pe._data(r,\"olddisplay\",i?n:pe.css(r,\"display\"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&\"none\"!==r.style.display&&\"\"!==r.style.display||(r.style.display=t?o[a]||\"\":\"none\"));return e}function _(e,t,n){var r=bt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||\"px\"):t}function F(e,t,n,r,i){for(var o=n===(r?\"border\":\"content\")?4:\"width\"===t?1:0,a=0;o<4;o+=2)\"margin\"===n&&(a+=pe.css(e,n+Oe[o],!0,i)),r?(\"content\"===n&&(a-=pe.css(e,\"padding\"+Oe[o],!0,i)),\"margin\"!==n&&(a-=pe.css(e,\"border\"+Oe[o]+\"Width\",!0,i))):(a+=pe.css(e,\"padding\"+Oe[o],!0,i),\"padding\"!==n&&(a+=pe.css(e,\"border\"+Oe[o]+\"Width\",!0,i)));return a}function M(t,n,r){var i=!0,o=\"width\"===n?t.offsetWidth:t.offsetHeight,a=ht(t),s=fe.boxSizing&&\"border-box\"===pe.css(t,\"boxSizing\",!1,a);if(re.msFullscreenElement&&e.top!==e&&t.getClientRects().length&&(o=Math.round(100*t.getBoundingClientRect()[n])),o<=0||null==o){if(o=gt(t,n,a),(o<0||null==o)&&(o=t.style[n]),ft.test(o))return o;i=s&&(fe.boxSizingReliable()||o===t.style[n]),o=parseFloat(o)||0}return o+F(t,n,r||(s?\"border\":\"content\"),i,a)+\"px\"}function O(e,t,n,r,i){return new O.prototype.init(e,t,n,r,i)}function R(){return e.setTimeout(function(){Nt=void 0}),Nt=pe.now()}function P(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)n=Oe[i],r[\"margin\"+n]=r[\"padding\"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e,t,n){for(var r,i=($.tweeners[t]||[]).concat($.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function W(e,t,n){var r,i,o,a,s,u,l,c,f=this,d={},p=e.style,h=e.nodeType&&Re(e),g=pe._data(e,\"fxshow\");n.queue||(s=pe._queueHooks(e,\"fx\"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,f.always(function(){f.always(function(){s.unqueued--,pe.queue(e,\"fx\").length||s.empty.fire()})})),1===e.nodeType&&(\"height\"in t||\"width\"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=pe.css(e,\"display\"),c=\"none\"===l?pe._data(e,\"olddisplay\")||j(e.nodeName):l,\"inline\"===c&&\"none\"===pe.css(e,\"float\")&&(fe.inlineBlockNeedsLayout&&\"inline\"!==j(e.nodeName)?p.zoom=1:p.display=\"inline-block\")),n.overflow&&(p.overflow=\"hidden\",fe.shrinkWrapBlocks()||f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],St.exec(i)){if(delete t[r],o=o||\"toggle\"===i,i===(h?\"hide\":\"show\")){if(\"show\"!==i||!g||void 0===g[r])continue;h=!0}d[r]=g&&g[r]||pe.style(e,r)}else l=void 0;if(pe.isEmptyObject(d))\"inline\"===(\"none\"===l?j(e.nodeName):l)&&(p.display=l);else{g?\"hidden\"in g&&(h=g.hidden):g=pe._data(e,\"fxshow\",{}),o&&(g.hidden=!h),h?pe(e).show():f.done(function(){pe(e).hide()}),f.done(function(){var t;pe._removeData(e,\"fxshow\");for(t in d)pe.style(e,t,d[t])});for(r in d)a=B(h?g[r]:0,r,f),r in g||(g[r]=a.start,h&&(a.end=a.start,a.start=\"width\"===r||\"height\"===r?1:0))}}function I(e,t){var n,r,i,o,a;for(n in e)if(r=pe.camelCase(n),i=t[r],o=e[n],pe.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=pe.cssHooks[r],a&&\"expand\"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o=0,a=$.prefilters.length,s=pe.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Nt||R(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),o<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:pe.extend({},t),opts:pe.extend(!0,{specialEasing:{},easing:pe.easing._default},n),originalProperties:t,originalOptions:n,startTime:Nt||R(),duration:n.duration,tweens:[],createTween:function(t,n){var r=pe.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o<a;o++)if(r=$.prefilters[o].call(l,e,c,l.opts))return pe.isFunction(r.stop)&&(pe._queueHooks(l.elem,l.opts.queue).stop=pe.proxy(r.stop,r)),r;return pe.map(c,B,l),pe.isFunction(l.opts.start)&&l.opts.start.call(e,l),pe.fx.timer(pe.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){return pe.attr(e,\"class\")||\"\"}function X(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(De)||[];if(pe.isFunction(n))for(;r=o[i++];)\"+\"===r.charAt(0)?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function U(e,t,n,r){function i(s){var u;return o[s]=!0,pe.each(e[s]||[],function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||a||o[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},a=e===Qt;return i(t.dataTypes[0])||!o[\"*\"]&&i(\"*\")}function V(e,t){var n,r,i=pe.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&pe.extend(!0,e,n),e}function Y(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(i)for(a in s)if(s[a]&&s[a].test(i)){u.unshift(a);break}if(u[0]in n)o=u[0];else{for(a in n){if(!u[0]||e.converters[a+\" \"+u[0]]){o=a;break}r||(r=a)}o=o||r}if(o)return o!==u[0]&&u.unshift(o),n[o]}function J(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(a=l[u+\" \"+o]||l[\"* \"+o],!a)for(i in l)if(s=i.split(\" \"),s[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(f){return{state:\"parsererror\",error:a?f:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}function G(e){return e.style&&e.style.display||pe.css(e,\"display\")}function K(e){for(;e&&1===e.nodeType;){if(\"none\"===G(e)||\"hidden\"===e.type)return!0;e=e.parentNode}return!1}function Q(e,t,n,r){var i;if(pe.isArray(t))pe.each(t,function(t,i){n||rn.test(e)?r(e,i):Q(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)});else if(n||\"object\"!==pe.type(t))r(e,t);else for(i in t)Q(e+\"[\"+i+\"]\",t[i],n,r)}function Z(){try{return new e.XMLHttpRequest}catch(t){}}function ee(){try{return new e.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(t){}}function te(e){return pe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var ne=[],re=e.document,ie=ne.slice,oe=ne.concat,ae=ne.push,se=ne.indexOf,ue={},le=ue.toString,ce=ue.hasOwnProperty,fe={},de=\"1.12.3\",pe=function(e,t){return new pe.fn.init(e,t)},he=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,ge=/^-ms-/,me=/-([\\da-z])/gi,ye=function(e,t){return t.toUpperCase()};pe.fn=pe.prototype={jquery:de,constructor:pe,selector:\"\",length:0,toArray:function(){return ie.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:ie.call(this)},pushStack:function(e){var t=pe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return pe.each(this,e)},map:function(e){return this.pushStack(pe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ae,sort:ne.sort,splice:ne.splice},pe.extend=pe.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||pe.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(i=arguments[s]))for(r in i)e=a[r],n=i[r],a!==n&&(l&&n&&(pe.isPlainObject(n)||(t=pe.isArray(n)))?(t?(t=!1,o=e&&pe.isArray(e)?e:[]):o=e&&pe.isPlainObject(e)?e:{},a[r]=pe.extend(l,o,n)):void 0!==n&&(a[r]=n));return a},pe.extend({expando:\"jQuery\"+(de+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return\"function\"===pe.type(e)},isArray:Array.isArray||function(e){return\"array\"===pe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){var t=e&&e.toString();return!pe.isArray(e)&&t-parseFloat(t)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||\"object\"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,\"constructor\")&&!ce.call(e.constructor.prototype,\"isPrototypeOf\"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?ue[le.call(e)]||\"object\":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,\"ms-\").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;i<r&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(he,\"\")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?pe.merge(r,\"string\"==typeof e?[e]:e):ae.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(se)return se.call(t,e,n);for(r=t.length,n=n?n<0?Math.max(0,r+n):n:0;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;)e[i++]=t[r++];if(n!==n)for(;void 0!==t[r];)e[i++]=t[r++];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,r){var i,o,a=0,s=[];if(n(e))for(i=e.length;a<i;a++)o=t(e[a],a,r),null!=o&&s.push(o);else for(a in e)o=t(e[a],a,r),null!=o&&s.push(o);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if(\"string\"==typeof t&&(i=e[t],t=e,e=i),pe.isFunction(e))return n=ie.call(arguments,2),r=function(){return e.apply(t||this,n.concat(ie.call(arguments)))},r.guid=e.guid=e.guid||pe.guid++,r},now:function(){return+new Date},support:fe}),\"function\"==typeof Symbol&&(pe.fn[Symbol.iterator]=ne[Symbol.iterator]),pe.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){ue[\"[object \"+t+\"]\"]=t.toLowerCase()});var ve=function(e){function t(e,t,n,r){var i,o,a,s,u,l,f,p,h=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:B)!==H&&L(t),t=t||H,_)){if(11!==g&&(l=ye.exec(e)))if(i=l[1]){if(9===g){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(h&&(a=h.getElementById(i))&&R(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!X[e+\" \"]&&(!F||!F.test(e))){if(1!==g)h=t,p=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((s=t.getAttribute(\"id\"))?s=s.replace(xe,\"\\\\$&\"):t.setAttribute(\"id\",s=P),f=N(e),o=f.length,u=de.test(s)?\"#\"+s:\"[id='\"+s+\"']\";o--;)f[o]=u+\" \"+d(f[o]);p=f.join(\",\"),h=ve.test(e)&&c(t.parentNode)||t}if(p)try{return Q.apply(n,h.querySelectorAll(p)),n}catch(m){}finally{s===P&&t.removeAttribute(\"id\")}}}return S(e.replace(se,\"$1\"),t,n,r)}function n(){function e(n,r){return t.push(n+\" \")>T.cacheLength&&delete e[t.shift()],e[n+\" \"]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement(\"div\");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split(\"|\"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&\"parentNode\"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[P]||(t[P]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[P]&&(i=y(i)),o&&!o[P]&&(o=y(o,a)),r(function(r,a,s,u){var l,c,f,d=[],p=[],h=a.length,y=r||g(t||\"*\",s.nodeType?[s]:s,[]),v=!e||!r&&t?y:m(y,d,e,s,u),x=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,x,s,u),i)for(l=m(x,p),i(l,[],s,u),c=l.length;c--;)(f=l[c])&&(x[p[c]]=!(v[p[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(v[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?ee(r,f):d[c])>-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[\" \"],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s<i;s++)if(n=T.relative[e[s].type])c=[p(h(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;r<i&&!T.relative[e[r].type];r++);return y(s>1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(se,\"$1\"),n,s<r&&v(e.slice(s,r)),r<i&&v(e=e.slice(r)),r<i&&d(e))}c.push(n)}return h(c)}function x(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h=\"0\",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG(\"*\",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P=\"sizzle\"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",ne=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",re=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",ie=\"\\\\[\"+ne+\"*(\"+re+\")(?:\"+ne+\"*([*^$|!~]?=)\"+ne+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+re+\"))|)\"+ne+\"*\\\\]\",oe=\":(\"+re+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+ie+\")*)|.*)\\\\)|)\",ae=new RegExp(ne+\"+\",\"g\"),se=new RegExp(\"^\"+ne+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ne+\"+$\",\"g\"),ue=new RegExp(\"^\"+ne+\"*,\"+ne+\"*\"),le=new RegExp(\"^\"+ne+\"*([>+~]|\"+ne+\")\"+ne+\"*\"),ce=new RegExp(\"=\"+ne+\"*([^\\\\]'\\\"]*?)\"+ne+\"*\\\\]\",\"g\"),fe=new RegExp(oe),de=new RegExp(\"^\"+re+\"$\"),pe={ID:new RegExp(\"^#(\"+re+\")\"),CLASS:new RegExp(\"^\\\\.(\"+re+\")\"),TAG:new RegExp(\"^(\"+re+\"|[*])\"),ATTR:new RegExp(\"^\"+ie),PSEUDO:new RegExp(\"^\"+oe),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ne+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ne+\"*(?:([+-]|)\"+ne+\"*(\\\\d+)|))\"+ne+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+te+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ne+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ne+\"*((?:-\\\\d)?\\\\d*)\"+ne+\"*\\\\)|)(?=[^-]|$)\",\"i\")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\\d$/i,me=/^[^{]+\\{\\s*\\[native \\w/,ye=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ve=/[+~]/,xe=/'|\\\\/g,be=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ne+\"?|(\"+ne+\")|.)\",\"ig\"),we=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",Te,!1):n.attachEvent&&n.attachEvent(\"onunload\",Te)),w.attributes=i(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute(\"id\")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML=\"<a id='\"+P+\"'></a><select id='\"+P+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&F.push(\"[*^$]=\"+ne+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||F.push(\"\\\\[\"+ne+\"*(?:value|\"+te+\")\"),e.querySelectorAll(\"[id~=\"+P+\"-]\").length||F.push(\"~=\"),e.querySelectorAll(\":checked\").length||F.push(\":checked\"),e.querySelectorAll(\"a#\"+P+\"+*\").length||F.push(\".#.+[+~]\")}),i(function(e){var t=H.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&F.push(\"name\"+ne+\"*[*^$|!~]?=\"),e.querySelectorAll(\":enabled\").length||F.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),F.push(\",.*:\")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,\"div\"),O.call(e,\"[s!='']:x\"),M.push(\"!=\",oe)}),F=F.length&&new RegExp(F.join(\"|\")),M=M.length&&new RegExp(M.join(\"|\")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,\"='$1']\"),w.matchesSelector&&_&&!X[n+\" \"]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||\"\").replace(be,we),\"~=\"===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&fe.test(n)&&(t=N(n,!0))&&(t=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(be,we).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+\" \"];return t||(t=new RegExp(\"(^|\"+ne+\")\"+e+\"(\"+ne+\"|$)\"))&&$(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?\"!=\"===n:!n||(o+=\"\",\"=\"===n?o===r:\"!=\"===n?o!==r:\"^=\"===n?r&&0===o.indexOf(r):\"*=\"===n?r&&o.indexOf(r)>-1:\"$=\"===n?r&&o.slice(-r.length)===r:\"~=\"===n?(\" \"+o.replace(ae,\" \")+\" \").indexOf(r)>-1:\"|=\"===n&&(o===r||o.slice(0,r.length+1)===r+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?\"nextSibling\":\"previousSibling\",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),\nl=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error(\"unsupported pseudo: \"+e);return o[P]?o(n):o.length>1?(i=[e,e,\"\",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,\"$1\"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||\"\")||t.error(\"unsupported lang: \"+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+\"-\");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=s(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,a,s,u,l,c=z[e+\" \"];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(i=ue.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=le.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se,\" \")}),s=s.slice(r.length));for(a in T.filter)!(i=pe[a].exec(s))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=X[e+\" \"];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=v(t[n]),o[P]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,f=!r&&N(e=l.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&\"ID\"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split(\"\").sort(U).join(\"\")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement(\"div\"))}),i(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||o(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||o(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute(\"disabled\")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[\":\"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,Ce=/^.[^:#\\[\\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if(\"string\"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t<i;t++)if(pe.contains(r[t],this))return!0}));for(t=0;t<i;t++)pe.find(e,r[t],n);return n=this.pushStack(i>1?pe.unique(n):n),n.selector=this.selector?this.selector+\" \"+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,\"string\"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,\"string\"==typeof e){if(r=\"<\"===e.charAt(0)&&\">\"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?\"undefined\"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(pe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=we.test(e)||\"string\"!=typeof e?pe(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,\"parentNode\")},parentsUntil:function(e,t,n){return xe(e,\"parentNode\",n)},next:function(e){return i(e,\"nextSibling\")},prev:function(e){return i(e,\"previousSibling\")},nextAll:function(e){return xe(e,\"nextSibling\")},prevAll:function(e){return xe(e,\"previousSibling\")},nextUntil:function(e,t,n){return xe(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return xe(e,\"previousSibling\",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,\"iframe\")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\\S+/g;pe.Callbacks=function(e){e=\"string\"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<a.length;)a[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=a.length,n=!1);e.memory||(n=!1),t=!1,i&&(a=n?[]:\"\")},c={add:function(){return a&&(n&&!t&&(u=a.length-1,s.push(n)),function r(t){pe.each(t,function(t,n){pe.isFunction(n)?e.unique&&c.has(n)||a.push(n):n&&n.length&&\"string\"!==pe.type(n)&&r(n)})}(arguments),n&&!t&&l()),this},remove:function(){return pe.each(arguments,function(e,t){for(var n;(n=pe.inArray(t,a,n))>-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n=\"\",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[[\"resolve\",\"done\",pe.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",pe.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",pe.Callbacks(\"memory\")]],n=\"pending\",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+\"With\"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+\"With\"](this===i?r:this,arguments),this},i[o[0]+\"With\"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i<a;i++)o[i]&&pe.isFunction(o[i].promise)?o[i].promise().progress(l(i,n,t)).done(l(i,r,o)).fail(u.reject):--s;return s||u.resolveWith(r,o),u.promise()}});var je;pe.fn.ready=function(e){return pe.ready.promise().done(e),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler(\"ready\"),pe(re).off(\"ready\"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),\"complete\"===re.readyState||\"loading\"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener(\"DOMContentLoaded\",s),e.addEventListener(\"load\",s);else{re.attachEvent(\"onreadystatechange\",s),e.attachEvent(\"onload\",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll(\"left\")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst=\"0\"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName(\"body\")[0],n&&n.style&&(t=re.createElement(\"div\"),r=re.createElement(\"div\"),r.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",n.appendChild(r).appendChild(t),\"undefined\"!=typeof t.style.zoom&&(t.style.cssText=\"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement(\"div\");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+\" \").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute(\"classid\")===t)},qe=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{\"applet \":!0,\"embed \":!0,\"object \":\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,\"parsedAttrs\"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf(\"data-\")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,\"parsedAttrs\",!0)}return i}return\"object\"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks(\"once memory\").add(function(){pe._removeData(e,t+\"queue\"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?pe.queue(this[0],e):void 0===t?this:this.each(function(){var n=pe.queue(this,e,t);pe._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&pe.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pe.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=pe.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";a--;)n=pe._data(o[a],e+\"queueHooks\"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}}),function(){var e;fe.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,r;return n=re.getElementsByTagName(\"body\")[0],n&&n.style?(t=re.createElement(\"div\"),r=re.createElement(\"div\"),r.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",n.appendChild(r).appendChild(t),\"undefined\"!=typeof t.style.zoom&&(t.style.cssText=\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1\",t.appendChild(re.createElement(\"div\")).style.width=\"5px\",e=3!==t.offsetWidth),n.removeChild(r),e):void 0}}();var Fe=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,Me=new RegExp(\"^(?:([+-])=|)(\"+Fe+\")([a-z%]*)$\",\"i\"),Oe=[\"Top\",\"Right\",\"Bottom\",\"Left\"],Re=function(e,t){return e=t||e,\"none\"===pe.css(e,\"display\")||!pe.contains(e.ownerDocument,e)},Pe=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===pe.type(n)){i=!0;for(s in n)Pe(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,pe.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(pe(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},Be=/^(?:checkbox|radio)$/i,We=/<([\\w:-]+)/,Ie=/^$|\\/(?:java|ecma)script/i,$e=/^\\s+/,ze=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video\";!function(){var e=re.createElement(\"div\"),t=re.createDocumentFragment(),n=re.createElement(\"input\");e.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName(\"tbody\").length,fe.htmlSerialize=!!e.getElementsByTagName(\"link\").length,fe.html5Clone=\"<:nav></:nav>\"!==re.createElement(\"nav\").cloneNode(!0).outerHTML,n.type=\"checkbox\",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML=\"<textarea>x</textarea>\",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement(\"input\"),n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],area:[1,\"<map>\",\"</map>\"],param:[1,\"<object>\",\"</object>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:fe.htmlSerialize?[0,\"\",\"\"]:[1,\"X<div>\",\"</div>\"]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\\w+;/,Ve=/<tbody/i;!function(){var t,n,r=re.createElement(\"div\");for(t in{submit:!0,change:!0,focusin:!0})n=\"on\"+t,(fe[t]=n in e)||(r.setAttribute(n,\"t\"),fe[t]=r.attributes[n].expando===!1);r=null}();var Ye=/^(?:input|select|textarea)$/i,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^(?:focusinfocus|focusoutblur)$/,Qe=/^([^.]*)(?:\\.(.+)|)/;pe.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe._data(e);if(m){for(n.handler&&(u=n,n=u.handler,i=u.selector),n.guid||(n.guid=pe.guid++),(a=m.events)||(a=m.events={}),(c=m.handle)||(c=m.handle=function(e){return\"undefined\"==typeof pe||e&&pe.event.triggered===e.type?void 0:pe.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||\"\").match(De)||[\"\"],s=t.length;s--;)o=Qe.exec(t[s])||[],p=g=o[1],h=(o[2]||\"\").split(\".\").sort(),p&&(l=pe.event.special[p]||{},p=(i?l.delegateType:l.bindType)||p,l=pe.event.special[p]||{},f=pe.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:h.join(\".\")},u),(d=a[p])||(d=a[p]=[],d.delegateCount=0,l.setup&&l.setup.call(e,r,h,c)!==!1||(e.addEventListener?e.addEventListener(p,c,!1):e.attachEvent&&e.attachEvent(\"on\"+p,c))),l.add&&(l.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,f):d.push(f),pe.event.global[p]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe.hasData(e)&&pe._data(e);if(m&&(c=m.events)){for(t=(t||\"\").match(De)||[\"\"],l=t.length;l--;)if(s=Qe.exec(t[l])||[],p=g=s[1],h=(s[2]||\"\").split(\".\").sort(),p){for(f=pe.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=c[p]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),u=o=d.length;o--;)a=d[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&(\"**\"!==r||!a.selector)||(d.splice(o,1),a.selector&&d.delegateCount--,f.remove&&f.remove.call(e,a));u&&!d.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||pe.removeEvent(e,p,m.handle),delete c[p])}else for(p in c)pe.event.remove(e,p+t[l],n,r,!0);pe.isEmptyObject(c)&&(delete m.handle,pe._removeData(e,\"events\"))}},trigger:function(t,n,r,i){var o,a,s,u,l,c,f,d=[r||re],p=ce.call(t,\"type\")?t.type:t,h=ce.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(s=c=r=r||re,3!==r.nodeType&&8!==r.nodeType&&!Ke.test(p+pe.event.triggered)&&(p.indexOf(\".\")>-1&&(h=p.split(\".\"),p=h.shift(),h.sort()),a=p.indexOf(\":\")<0&&\"on\"+p,t=t[pe.expando]?t:new pe.Event(p,\"object\"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,\"events\")||{})[t.type]&&pe._data(s,\"handle\"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,\"events\")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&(\"click\"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||\"click\"!==e.type)){for(r=[],n=0;n<s;n++)o=t[n],i=o.selector+\" \",void 0===r[i]&&(r[i]=o.needsContext?pe(i,this).index(u)>-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},fix:function(e){if(e[pe.expando])return e;var t,n,r,i=e.type,o=e,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Ge.test(i)?this.mouseHooks:Je.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new pe.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||re),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,a.filter?a.filter(e,o):e},props:\"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(e,t){var n,r,i,o=t.button,a=t.fromElement;return null==e.pageX&&null!=t.clientX&&(r=e.target.ownerDocument||re,i=r.documentElement,n=r.body,e.pageX=t.clientX+(i&&i.scrollLeft||n&&n.scrollLeft||0)-(i&&i.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||n&&n.scrollTop||0)-(i&&i.clientTop||n&&n.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?t.toElement:a),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:\"focusin\"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(pe.nodeName(this,\"input\")&&\"checkbox\"===this.type&&this.click)return this.click(),!1},_default:function(e){return pe.nodeName(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n){var r=pe.extend(new pe.Event,n,{type:e,isSimulated:!0});pe.event.trigger(r,null,t),r.isDefaultPrevented()&&n.preventDefault()}},pe.removeEvent=re.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)}:function(e,t,n){var r=\"on\"+t;e.detachEvent&&(\"undefined\"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},pe.Event=function(e,t){return this instanceof pe.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:x):this.type=e,t&&pe.extend(this,t),this.timeStamp=e&&e.timeStamp||pe.now(),void(this[pe.expando]=!0)):new pe.Event(e,t)},pe.Event.prototype={constructor:pe.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&!this.isSimulated&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},pe.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){pe.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||pe.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),fe.submit||(pe.event.special.submit={setup:function(){return!pe.nodeName(this,\"form\")&&void pe.event.add(this,\"click._submit keypress._submit\",function(e){var t=e.target,n=pe.nodeName(t,\"input\")||pe.nodeName(t,\"button\")?pe.prop(t,\"form\"):void 0;n&&!pe._data(n,\"submit\")&&(pe.event.add(n,\"submit._submit\",function(e){e._submitBubble=!0}),pe._data(n,\"submit\",!0))})},postDispatch:function(e){e._submitBubble&&(delete e._submitBubble,this.parentNode&&!e.isTrigger&&pe.event.simulate(\"submit\",this.parentNode,e))},teardown:function(){return!pe.nodeName(this,\"form\")&&void pe.event.remove(this,\"._submit\")}}),fe.change||(pe.event.special.change={setup:function(){return Ye.test(this.nodeName)?(\"checkbox\"!==this.type&&\"radio\"!==this.type||(pe.event.add(this,\"propertychange._change\",function(e){\"checked\"===e.originalEvent.propertyName&&(this._justChanged=!0)}),pe.event.add(this,\"click._change\",function(e){this._justChanged&&!e.isTrigger&&(this._justChanged=!1),pe.event.simulate(\"change\",this,e)})),!1):void pe.event.add(this,\"beforeactivate._change\",function(e){var t=e.target;Ye.test(t.nodeName)&&!pe._data(t,\"change\")&&(pe.event.add(t,\"change._change\",function(e){!this.parentNode||e.isSimulated||e.isTrigger||pe.event.simulate(\"change\",this.parentNode,e)}),pe._data(t,\"change\",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||\"radio\"!==t.type&&\"checkbox\"!==t.type)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return pe.event.remove(this,\"._change\"),!Ye.test(this.nodeName)}}),fe.focusin||pe.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){pe.event.simulate(t,e.target,pe.event.fix(e))};pe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=pe._data(r,t);i||r.addEventListener(e,n,!0),pe._data(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=pe._data(r,t)-1;i?pe._data(r,t,i):(r.removeEventListener(e,n,!0),pe._removeData(r,t))}}}),pe.fn.extend({on:function(e,t,n,r){return w(this,e,t,n,r)},one:function(e,t,n,r){return w(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pe(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&\"function\"!=typeof t||(n=t,t=void 0),n===!1&&(n=x),this.each(function(){pe.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){pe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return pe.event.trigger(e,t,n,!0)}});var Ze=/ jQuery\\d+=\"(?:null|\\d+)\"/g,et=new RegExp(\"<(?:\"+ze+\")[\\\\s/>]\",\"i\"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,nt=/<script|<style|<link/i,rt=/checked\\s*(?:[^=]|=\\s*.checked.)/i,it=/^true\\/(.*)/,ot=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,at=p(re),st=at.appendChild(re.createElement(\"div\"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,\"<$1></$2>\")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test(\"<\"+e.nodeName+\">\")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,\"script\"),r.length>0&&g(r,!u&&h(e,\"script\")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||\"undefined\"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,\"select\")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,\"\"):void 0;if(\"string\"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(pe.cleanData(h(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return S(this,arguments,function(t){var n=this.parentNode;pe.inArray(this,e)<0&&(pe.cleanData(h(this)),\nn&&n.replaceChild(t,this))},e)}}),pe.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){pe.fn[e]=function(e){for(var n,r=0,i=[],o=pe(e),a=o.length-1;r<=a;r++)n=r===a?this:this.clone(!0),pe(o[r])[t](n),ae.apply(i,n.get());return this.pushStack(i)}});var ut,lt={HTML:\"block\",BODY:\"block\"},ct=/^margin/,ft=new RegExp(\"^(\"+Fe+\")(?!px)[a-z%]+$\",\"i\"),dt=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},pt=re.documentElement;!function(){function t(){var t,c,f=re.documentElement;f.appendChild(u),l.style.cssText=\"-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",n=i=s=!1,r=a=!0,e.getComputedStyle&&(c=e.getComputedStyle(l),n=\"1%\"!==(c||{}).top,s=\"2px\"===(c||{}).marginLeft,i=\"4px\"===(c||{width:\"4px\"}).width,l.style.marginRight=\"50%\",r=\"4px\"===(c||{marginRight:\"4px\"}).marginRight,t=l.appendChild(re.createElement(\"div\")),t.style.cssText=l.style.cssText=\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",t.style.marginRight=t.style.width=\"0\",l.style.width=\"1px\",a=!parseFloat((e.getComputedStyle(t)||{}).marginRight),l.removeChild(t)),l.style.display=\"none\",o=0===l.getClientRects().length,o&&(l.style.display=\"\",l.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",t=l.getElementsByTagName(\"td\"),t[0].style.cssText=\"margin:0;border:0;padding:0;display:none\",o=0===t[0].offsetHeight,o&&(t[0].style.display=\"\",t[1].style.display=\"none\",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement(\"div\"),l=re.createElement(\"div\");l.style&&(l.style.cssText=\"float:left;opacity:.5\",fe.opacity=\"0.5\"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip=\"content-box\",l.cloneNode(!0).style.backgroundClip=\"\",fe.clearCloneStyle=\"content-box\"===l.style.backgroundClip,u=re.createElement(\"div\"),u.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",l.innerHTML=\"\",u.appendChild(l),fe.boxSizing=\"\"===l.style.boxSizing||\"\"===l.style.MozBoxSizing||\"\"===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,\"\"!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+\"\"}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left=\"fontSize\"===t?\"1em\":a,a=s.pixelLeft+\"px\",s.left=r,o&&(i.left=o)),void 0===a?a:a+\"\"||\"auto\"});var yt=/alpha\\([^)]*\\)/i,vt=/opacity\\s*=\\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp(\"^(\"+Fe+\")(.*)$\",\"i\"),wt={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Tt={letterSpacing:\"0\",fontWeight:\"400\"},Ct=[\"Webkit\",\"O\",\"Moz\",\"ms\"],Et=re.createElement(\"div\").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":fe.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,\"string\"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o=\"number\"),null!=n&&n===n&&(\"number\"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?\"\":\"px\")),fe.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(u[t]=\"inherit\"),!(a&&\"set\"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&\"get\"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),\"normal\"===o&&t in Tt&&(o=Tt[t]),\"\"===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each([\"height\",\"width\"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,\"display\"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&\"border-box\"===pe.css(e,\"boxSizing\",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":t?\"1\":\"\"},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?\"alpha(opacity=\"+100*t+\")\":\"\",o=r&&r.filter||n.filter||\"\";n.zoom=1,(t>=1||\"\"===t)&&\"\"===pe.trim(o.replace(yt,\"\"))&&n.removeAttribute&&(n.removeAttribute(\"filter\"),\"\"===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+\" \"+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:\"inline-block\"},gt,[e,\"marginRight\"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,\"marginLeft\"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+\"px\"}),pe.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a<i;a++)o[t[a]]=pe.css(e,t[a],!1,r);return o}return void 0!==n?pe.style(e,t,n):pe.css(e,t)},e,t,arguments.length>1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?\"\":\"px\")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,\"\"),t&&\"auto\"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=[\"*\"]):e=e.match(De);for(var n,r=0,i=e.length;r<i;r++)n=e[r],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?$.prefilters.unshift(e):$.prefilters.push(e)}}),pe.speed=function(e,t,n){var r=e&&\"object\"==typeof e?pe.extend({},e):{complete:n||!n&&t||pe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pe.isFunction(t)&&t};return r.duration=pe.fx.off?0:\"number\"==typeof r.duration?r.duration:r.duration in pe.fx.speeds?pe.fx.speeds[r.duration]:pe.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){pe.isFunction(r.old)&&r.old.call(this),r.queue&&pe.dequeue(this,r.queue)},r},pe.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Re).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=pe.isEmptyObject(e),o=pe.speed(t,n,r),a=function(){var t=$(this,pe.extend({},e),o);(i||pe._data(this,\"finish\"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,i=null!=e&&e+\"queueHooks\",o=pe.timers,a=pe._data(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&At.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||pe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||\"fx\"),this.each(function(){var t,n=pe._data(this),r=n[e+\"queue\"],i=n[e+\"queueHooks\"],o=pe.timers,a=r?r.length:0;for(n.finish=!0,pe.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),pe.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=pe.fn[t];pe.fn[t]=function(e,r,i){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(P(t,!0),e,r,i)}}),pe.each({slideDown:P(\"show\"),slideUp:P(\"hide\"),slideToggle:P(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){pe.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),pe.timers=[],pe.fx.tick=function(){var e,t=pe.timers,n=0;for(Nt=pe.now();n<t.length;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||pe.fx.stop(),Nt=void 0},pe.fx.timer=function(e){pe.timers.push(e),e()?pe.fx.start():pe.timers.pop()},pe.fx.interval=13,pe.fx.start=function(){kt||(kt=e.setInterval(pe.fx.tick,pe.fx.interval))},pe.fx.stop=function(){e.clearInterval(kt),kt=null},pe.fx.speeds={slow:600,fast:200,_default:400},pe.fn.delay=function(t,n){return t=pe.fx?pe.fx.speeds[t]||t:t,n=n||\"fx\",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e,t=re.createElement(\"input\"),n=re.createElement(\"div\"),r=re.createElement(\"select\"),i=r.appendChild(re.createElement(\"option\"));n=re.createElement(\"div\"),n.setAttribute(\"className\",\"t\"),n.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",e=n.getElementsByTagName(\"a\")[0],t.setAttribute(\"type\",\"checkbox\"),n.appendChild(t),e=n.getElementsByTagName(\"a\")[0],e.style.cssText=\"top:1px\",fe.getSetAttribute=\"t\"!==n.className,fe.style=/top/.test(e.getAttribute(\"style\")),fe.hrefNormalized=\"/a\"===e.getAttribute(\"href\"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement(\"form\").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement(\"input\"),t.setAttribute(\"value\",\"\"),fe.input=\"\"===t.getAttribute(\"value\"),t.value=\"t\",t.setAttribute(\"type\",\"radio\"),fe.radioValue=\"t\"===t.value}();var Dt=/\\r/g,jt=/[\\x20\\t\\r\\n\\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i=\"\":\"number\"==typeof i?i+=\"\":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?\"\":e+\"\"})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:(n=i.value,\"string\"==typeof n?n.replace(Dt,\"\"):null==n?\"\":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,\"value\");return null!=t?t:pe.trim(pe.text(e)).replace(jt,\" \")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o=\"select-one\"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u<s;u++)if(n=r[u],(n.selected||u===i)&&(fe.optDisabled?!n.disabled:null===n.getAttribute(\"disabled\"))&&(!n.parentNode.disabled||!pe.nodeName(n.parentNode,\"optgroup\"))){if(t=pe(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=pe.makeArray(t),a=i.length;a--;)if(r=i[a],pe.inArray(pe.valHooks.option.get(r),o)>-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each([\"radio\",\"checkbox\"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&\"radio\"===t&&pe.nodeName(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase(\"default-\"+n)]=e[r]=!1:pe.attr(e,n,\"\"),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase(\"default-\"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase(\"default-\"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,\"input\")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+=\"\",\"value\"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&\"\"!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,\"\"!==t&&t,n)}},pe.each([\"width\",\"height\"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(\"\"===n)return e.setAttribute(t,\"auto\"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+\"\"}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,\"tabindex\");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),fe.hrefNormalized||pe.each([\"href\",\"src\"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype=\"encoding\");var Pt=/[\\t\\r\\n\\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if(\"string\"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(Pt,\" \")){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");s=pe.trim(r),i!==s&&pe.attr(n,\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(Pt,\" \")){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");s=pe.trim(r),i!==s&&pe.attr(n,\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e;return\"boolean\"==typeof t&&\"string\"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if(\"string\"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&\"boolean\"!==n||(t=z(this),t&&pe._data(this,\"__className__\",t),pe.attr(this,\"class\",t||e===!1?\"\":pe._data(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+z(n)+\" \").replace(Pt,\" \").indexOf(t)>-1)return!0;return!1}}),pe.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\\?/,$t=/(,)|(\\[|{)|(}|])|\"(?:[^\"\\\\\\r\\n]|\\\\[\"\\\\\\/bfnrt]|\\\\u[\\da-fA-F]{4})*\"\\s*:?|true|false|null|-?(?!0\\d)\\d+(?:\\.\\d+|)(?:[eE][+-]?\\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+\"\");var n,r=null,i=pe.trim(t+\"\");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,\"\")}))?Function(\"return \"+i)():pe.error(\"Invalid JSON: \"+t)},pe.parseXML=function(t){var n,r;if(!t||\"string\"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,\"text/xml\")):(n=new e.ActiveXObject(\"Microsoft.XMLDOM\"),n.async=\"false\",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName(\"parsererror\").length||pe.error(\"Invalid XML: \"+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\\/\\//,Gt=/^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,Kt={},Qt={},Zt=\"*/\".concat(\"*\"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:\"GET\",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Zt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":pe.parseJSON,\"text xml\":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||\"\",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader(\"Last-Modified\"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader(\"etag\"),w&&(pe.etag[a]=w)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+\"\",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?\"ajaxSuccess\":\"ajaxError\",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger(\"ajaxComplete\",[T,d]),--pe.active||pe.event.trigger(\"ajaxStop\")))}\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks(\"once memory\"),y=d.statusCode||{},v={},x={},b=0,w=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+\"\").replace(zt,\"\").replace(Jt,tn[1]+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||\"*\").toLowerCase().match(De)||[\"\"],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||(\"http:\"===i[1]?\"80\":\"443\"))===(tn[3]||(\"http:\"===tn[1]?\"80\":\"443\")))),d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?\"&\":\"?\")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,\"$1_=\"+Wt++):a+(It.test(a)?\"&\":\"?\")+\"_=\"+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader(\"If-Modified-Since\",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader(\"If-None-Match\",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader(\"Content-Type\",d.contentType),T.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Zt+\"; q=0.01\":\"\"):d.accepts[\"*\"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w=\"abort\";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger(\"ajaxSend\",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort(\"timeout\")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,\"No Transport\");return T},getJSON:function(e,t,n){return pe.get(e,t,n,\"json\")},getScript:function(e,t){return pe.get(e,void 0,t,\"script\")}}),pe.each([\"get\",\"post\"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,\"throws\":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,\"body\")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\\[\\]$/,on=/\\r?\\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?\"\":t,r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join(\"&\").replace(nn,\"+\")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,\"elements\");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(\":disabled\")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,\"\\r\\n\")}}):{name:t.name,value:n.replace(on,\"\\r\\n\")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent(\"onunload\",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&\"withCredentials\"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r[\"X-Requested-With\"]||(r[\"X-Requested-With\"]=\"XMLHttpRequest\");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+\"\");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,\"string\"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=\"\"}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\",e.global=!1)}),pe.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n=re.head||pe(\"head\")[0]||re.documentElement;return{send:function(r,i){t=re.createElement(\"script\"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,\"success\"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\\?(?=&|$)|\\?\\?/;pe.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=fn.pop()||pe.expando+\"_\"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter(\"json jsonp\",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?\"url\":\"string\"==typeof t.data&&0===(t.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&dn.test(t.data)&&\"data\");if(s||\"jsonp\"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,\"$1\"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?\"&\":\"?\")+t.jsonp+\"=\"+i),t.converters[\"script json\"]=function(){return a||pe.error(i+\" was not called\"),a[0]},t.dataTypes[0]=\"json\",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),\"script\"}),pe.parseHTML=function(e,t,n){if(!e||\"string\"!=typeof e)return null;\"boolean\"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if(\"string\"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(\" \");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),a.length>0&&pe.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?pe(\"<div>\").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,\"position\"),f=pe(e),d={};\"static\"===c&&(e.style.position=\"relative\"),s=f.offset(),o=pe.css(e,\"top\"),u=pe.css(e,\"left\"),l=(\"absolute\"===c||\"fixed\"===c)&&pe.inArray(\"auto\",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),\"using\"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?(\"undefined\"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return\"fixed\"===pe.css(r,\"position\")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],\"html\")||(n=e.offset()),n.top+=pe.css(e[0],\"borderTopWidth\",!0),n.left+=pe.css(e[0],\"borderLeftWidth\",!0)),{top:t.top-n.top-pe.css(r,\"marginTop\",!0),left:t.left-n.left-pe.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){\nfor(var e=this.offsetParent;e&&!pe.nodeName(e,\"html\")&&\"static\"===pe.css(e,\"position\");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each([\"top\",\"left\"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+\"px\":n})}),pe.each({Height:\"height\",Width:\"width\"},function(e,t){pe.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||\"boolean\"!=typeof r),a=n||(r===!0||i===!0?\"margin\":\"border\");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.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)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e(\"jquery\",pe)}),pe});"
  },
  {
    "path": "webroot/dist/lay/modules/laydate.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;!function(){\"use strict\";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if(\"interactive\"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName(\"head\")[0],o=document.createElement(\"link\");\"string\"==typeof a&&(i=a);var s=(i||e).replace(/\\.|\\//g,\"\"),l=\"layuicss-\"+s,d=0;o.rel=\"stylesheet\",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),\"function\"==typeof a&&!function c(){return++d>80?window.console&&console.error(\"laydate.css: Invalid\"):void(1989===parseInt(t.getStyle(document.getElementById(l),\"width\"))?a():setTimeout(c,100))}()}}},n={v:\"5.0.9\",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i=\"laydate\",r=\"\",o=(e?\"modules/laydate/\":\"theme/\")+\"default/laydate.css?v=\"+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i=\"laydate\",r=\".layui-laydate\",o=\"layui-this\",s=\"laydate-disabled\",l=\"开始日期超出了结束日期<br>建议重新选择\",d=[100,2e5],c=\"layui-laydate-static\",m=\"layui-laydate-list\",u=\"laydate-selected\",h=\"layui-laydate-hint\",y=\"laydate-day-prev\",f=\"laydate-day-next\",p=\"layui-laydate-footer\",g=\".laydate-btns-confirm\",v=\"laydate-time-text\",D=\".laydate-btns-time\",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n=\"object\"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};C.prototype=[],C.prototype.constructor=C,w.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]=\"object\"==typeof t[0]?t[0]:{};e<t.length;e++)\"object\"==typeof t[e]&&n(t[0],t[e]);return t[0]},w.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||\"ActiveXObject\"in window)&&((e.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),w.stope=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},w.each=function(e,t){var n,a=this;if(\"function\"!=typeof t)return a;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return a},w.digit=function(e,t,n){var a=\"\";e=String(e),t=t||2;for(var i=e.length;i<t;i++)a+=\"0\";return e<Math.pow(10,t)?a+(0|e):e},w.elem=function(e,t){var n=document.createElement(e);return w.each(t||{},function(e,t){n.setAttribute(e,t)}),n},C.addStr=function(e,t){return e=e.replace(/\\s+/,\" \"),t=t.replace(/\\s+/,\" \").split(\" \"),w.each(t,function(t,n){new RegExp(\"\\\\b\"+n+\"\\\\b\").test(e)||(e=e+\" \"+n)}),e.replace(/^\\s|\\s$/,\"\")},C.removeStr=function(e,t){return e=e.replace(/\\s+/,\" \"),t=t.replace(/\\s+/,\" \").split(\" \"),w.each(t,function(t,n){var a=new RegExp(\"\\\\b\"+n+\"\\\\b\");a.test(e)&&(e=e.replace(a,\"\"))}),e.replace(/\\s+/,\" \").replace(/^\\s|\\s$/,\"\")},C.prototype.find=function(e){var t=this,n=0,a=[],i=\"object\"==typeof e;return this.each(function(r,o){for(var s=i?[e]:o.querySelectorAll(e||null);n<s.length;n++)a.push(s[n]);t.shift()}),i||(t.selector=(t.selector?t.selector+\" \":\"\")+e),w.each(a,function(e,n){t.push(n)}),t},C.prototype.each=function(e){return w.each.call(this,this,e)},C.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=C[t?\"removeStr\":\"addStr\"](a.className,e)})},C.prototype.removeClass=function(e){return this.addClass(e,!0)},C.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp(\"\\\\b\"+e+\"\\\\b\").test(a.className)&&(t=!0)}),t},C.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){\"object\"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent(\"on\"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent(\"on\"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:\"date\",range:!1,format:\"yyyy-MM-dd\",value:null,min:\"1900-1-1\",max:\"2099-12-31\",trigger:\"focus\",show:!1,showBottom:!0,btns:[\"clear\",\"now\",\"confirm\"],lang:\"cn\",theme:\"default\",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"],time:[\"时\",\"分\",\"秒\"],timeTips:\"选择时间\",startTime:\"开始时间\",endTime:\"结束时间\",dateTips:\"返回日期\",month:[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"],tools:{confirm:\"确定\",clear:\"清空\",now:\"现在\"}},en:{weeks:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],time:[\"Hours\",\"Minutes\",\"Seconds\"],timeTips:\"Select Time\",startTime:\"Start Time\",endTime:\"End Time\",dateTips:\"Select Date\",month:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],tools:{confirm:\"Confirm\",clear:\"Clear\",now:\"Now\"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n=\"yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s\",a=\"static\"===t.position,i={year:\"yyyy\",month:\"yyyy-MM\",date:\"yyyy-MM-dd\",time:\"HH:mm:ss\",datetime:\"yyyy-MM-dd HH:mm:ss\"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range=\"-\"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+\"|.\",\"g\"))||[],e.EXP_IF=\"\",e.EXP_SPLIT=\"\",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?\"\\\\d{\"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||\"\")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?\"1,4\":/^y$/.test(a)?\"1,308\":\"1,2\"}()+\"}\":\"\\\\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+\"(\"+i+\")\"}),e.EXP_IF=new RegExp(\"^\"+(t.range?e.EXP_IF+\"\\\\s\\\\\"+t.range+\"\\\\s\"+e.EXP_IF:e.EXP_IF)+\"$\"),e.EXP_SPLIT=new RegExp(\"^\"+e.EXP_SPLIT+\"$\",\"\"),e.isInput(t.elem[0])||\"focus\"===t.trigger&&(t.trigger=\"click\"),t.elem.attr(\"lay-key\")||(t.elem.attr(\"lay-key\",e.index),t.eventElem.attr(\"lay-key\",e.index)),t.mark=w.extend({},t.calendar&&\"cn\"===t.lang?{\"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-9-18\":\"国耻\",\"0-10-1\":\"国庆\",\"0-12-25\":\"圣诞\"}:{},t.mark),w.each([\"min\",\"max\"],function(e,n){var a=[],i=[];if(\"number\"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r<s?o+r*s:r:o);a=[l.getFullYear(),l.getMonth()+1,l.getDate()],r<s||(i=[l.getHours(),l.getMinutes(),l.getSeconds()])}else a=(t[n].match(/\\d+-\\d+-\\d+/)||[\"\"])[0].split(\"-\"),i=(t[n].match(/\\d+:\\d+:\\d+/)||[\"\"])[0].split(\":\");t[n]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|i[0],minutes:0|i[1],seconds:0|i[2]}}),e.elemID=\"layui-laydate\"+t.elem.attr(\"lay-key\"),(t.show||a)&&e.render(),a||e.events(),t.value&&(t.value.constructor===Date?e.setValue(e.parse(0,e.systemDate(t.value))):e.setValue(t.value)))},T.prototype.render=function(){var e=this,t=e.config,n=e.lang(),a=\"static\"===t.position,i=e.elem=w.elem(\"div\",{id:e.elemID,\"class\":[\"layui-laydate\",t.range?\" layui-laydate-range\":\"\",a?\" \"+c:\"\",t.theme&&\"default\"!==t.theme&&!/^#/.test(t.theme)?\" laydate-theme-\"+t.theme:\"\"].join(\"\")}),r=e.elemMain=[],o=e.elemHeader=[],s=e.elemCont=[],l=e.table=[],d=e.footer=w.elem(\"div\",{\"class\":p});if(t.zIndex&&(i.style.zIndex=t.zIndex),w.each(new Array(2),function(e){if(!t.range&&e>0)return!0;var a=w.elem(\"div\",{\"class\":\"layui-laydate-header\"}),i=[function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-prev-y\"});return e.innerHTML=\"&#xe65a;\",e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-prev-m\"});return e.innerHTML=\"&#xe603;\",e}(),function(){var e=w.elem(\"div\",{\"class\":\"laydate-set-ym\"}),t=w.elem(\"span\"),n=w.elem(\"span\");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-next-m\"});return e.innerHTML=\"&#xe602;\",e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-next-y\"});return e.innerHTML=\"&#xe65b;\",e}()],d=w.elem(\"div\",{\"class\":\"layui-laydate-content\"}),c=w.elem(\"table\"),m=w.elem(\"thead\"),u=w.elem(\"tr\");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem(\"th\");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem(\"div\",{\"class\":\"layui-laydate-main laydate-main-list-\"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return\"datetime\"===t.type&&e.push('<span lay-type=\"datetime\" class=\"laydate-btns-time\">'+n.timeTips+\"</span>\"),w.each(t.btns,function(e,r){var o=n.tools[r]||\"btn\";t.range&&\"now\"===r||(a&&\"clear\"===r&&(o=\"cn\"===t.lang?\"重置\":\"Reset\"),i.push('<span lay-type=\"'+r+'\" class=\"laydate-btns-'+r+'\">'+o+\"</span>\"))}),e.push('<div class=\"laydate-footer-btns\">'+i.join(\"\")+\"</div>\"),e.join(\"\")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem(\"style\"),u=[\"#{{id}} .layui-laydate-header{background-color:{{theme}};}\",\"#{{id}} .layui-this{background-color:{{theme}} !important;}\"].join(\"\").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);\"styleSheet\"in m?(m.setAttribute(\"type\",\"text/css\"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass(\"laydate-theme-molv\"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,\"function\"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w(\"#\"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?\"scrollLeft\":\"scrollTop\",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?\"clientWidth\":\"clientHeight\"]},l=5,d=a.left,c=a.bottom;d+i+l>s(\"width\")&&(d=s(\"width\")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+(\"fixed\"===t.position?0:o(1))+\"px\",e.elem.style.top=c+(\"fixed\"===t.position?0:o())+\"px\"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem(\"div\",{\"class\":h}));n.innerHTML=e||\"\",w(t.elem).find(\".\"+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find(\".\"+h).remove()},3e3)},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?\"val\":\"html\",i.isInput(s)?s.value:\"static\"===r.position?\"\":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=[\"startTime\",\"endTime\"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length<l.length&&(a=!0),/yyyy|y/.test(l)?(c<d[0]&&(c=d[0],a=!0),e.year=c):/MM|M/.test(l)?(c<1&&(c=1,a=!0),e.month=c-1):/dd|d/.test(l)?(c<1&&(c=1,a=!0),e.date=c):/HH|H/.test(l)?(c<1&&(c=0,a=!0),e.hours=c,r.range&&(i[o[n]].hours=c)):/mm|m/.test(l)?(c<1&&(c=0,a=!0),e.minutes=c,r.range&&(i[o[n]].minutes=c)):/ss|s/.test(l)&&(c<1&&(c=0,a=!0),e.seconds=c,r.range&&(i[o[n]].seconds=c))}),c(e)};return\"limit\"===e?(c(o),i):(l=l||r.value,\"string\"==typeof l&&(l=l.replace(/\\s+/g,\" \").replace(/^\\s|\\s$/g,\"\")),i.startState&&!i.endState&&(delete i.startState,i.endState=!0),\"string\"==typeof l&&l?i.EXP_IF.test(l)?r.range?(l=l.split(\" \"+r.range+\" \"),i.startDate=i.startDate||i.systemDate(),i.endDate=i.endDate||i.systemDate(),r.dateTime=w.extend({},i.startDate),w.each([i.startDate,i.endDate],function(e,t){m(t,l[e],e)})):m(o,l):(i.hint(\"日期格式不合法<br>必须遵循下述格式：<br>\"+(r.range?r.format+\" \"+r.range+\" \"+r.format:r.format)+\"<br>已为你重置\"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():\"\":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split(\"-\");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class=\"laydate-day-mark\">'+n+\"</span>\"),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?\"endDate\":\"dateTime\"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.now<l.min||l.now>l.max,e&&e[i?\"addClass\":\"removeClass\"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u=\"date\"!==s.type&&\"datetime\"!==s.type,h=e?1:0,y=w(r.table[h]).find(\"td\"),f=w(r.elemHeader[h][2]).find(\"span\");if(l.year<d[0]&&(l.year=d[0],r.hint(\"最低只能支持到公元\"+d[0]+\"年\")),l.year>d[1]&&(l.year=d[1],r.hint(\"最高只能支持到公元\"+d[1]+\"年\")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr(\"class\"),e<t?(c=a-t+e,n.addClass(\"laydate-day-prev\"),d=r.getAsYM(l.year,l.month,\"sub\")):e>=t&&e<i+t?(c=e-t,s.range||c+1===l.date&&n.addClass(o)):(c=e-i-t,n.addClass(\"laydate-day-next\"),d=r.getAsYM(l.year,l.month)),d[1]++,d[2]=c+1,n.attr(\"lay-ymd\",d.join(\"-\")).html(d[2]),r.mark(n,d).limit(n,{year:d[0],month:d[1]-1,date:d[2]},e)}),w(f[0]).attr(\"lay-ym\",l.year+\"-\"+(l.month+1)),w(f[1]).attr(\"lay-ym\",l.year+\"-\"+(l.month+1)),\"cn\"===s.lang?(w(f[0]).attr(\"lay-type\",\"year\").html(l.year+\"年\"),w(f[1]).attr(\"lay-type\",\"month\").html(l.month+1+\"月\")):(w(f[0]).attr(\"lay-type\",\"month\").html(m.month[l.month]),w(f[1]).attr(\"lay-type\",\"year\").html(l.year)),u&&(s.range&&(e?r.endDate=r.endDate||{year:l.year+(\"year\"===s.type?1:0),month:l.month+(\"month\"===s.type?0:-1)}:r.startDate=r.startDate||{year:l.year,month:l.month},e&&(r.listYM=[[r.startDate.year,r.startDate.month+1],[r.endDate.year,r.endDate.month+1]],r.list(s.type,0).list(s.type,1),\"time\"===s.type?r.setBtnStatus(\"时间\",w.extend({},r.systemDate(),r.startTime),w.extend({},r.systemDate(),r.endTime)):r.setBtnStatus(!0))),s.range||(r.listYM=[[l.year,l.month+1]],r.list(s.type,0))),s.range&&!e){var p=r.getAsYM(l.year,l.month);r.calendar(w.extend({},l,{year:p[0],month:p[1]}))}return s.range||r.limit(w(r.footer).find(g),null,0,[\"hours\",\"minutes\",\"seconds\"]),s.range&&e&&!u&&r.stampRange(),r},T.prototype.list=function(e,t){var n=this,a=n.config,i=a.dateTime,r=n.lang(),l=a.range&&\"date\"!==a.type&&\"datetime\"!==a.type,d=w.elem(\"ul\",{\"class\":m+\" \"+{year:\"laydate-year-list\",month:\"laydate-month-list\",time:\"laydate-time-list\"}[e]}),c=n.elemHeader[t],u=w(c[2]).find(\"span\"),h=n.elemCont[t||0],y=w(h).find(\".\"+m)[0],f=\"cn\"===a.lang,p=f?\"年\":\"\",T=n.listYM[t]||{},C=[\"hours\",\"minutes\",\"seconds\"],x=[\"startTime\",\"endTime\"][t];if(T[0]<1&&(T[0]=1),\"year\"===e){var M,b=M=T[0]-7;b<1&&(b=M=1),w.each(new Array(15),function(e){var i=w.elem(\"li\",{\"lay-ym\":M}),r={year:M};M==T[0]&&w(i).addClass(o),i.innerHTML=M+p,d.appendChild(i),M<n.firstDate.year?(r.month=a.min.month,r.date=a.min.date):M>=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr(\"lay-ym\",M-8+\"-\"+T[1]).html(b+p+\" - \"+(M-1+p))}else if(\"month\"===e)w.each(new Array(12),function(e){var i=w.elem(\"li\",{\"lay-ym\":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?\"月\":\"\"),d.appendChild(i),T[0]<n.firstDate.year?s.date=a.min.date:T[0]>=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr(\"lay-ym\",T[0]+\"-\"+T[1]).html(T[0]+p);else if(\"time\"===e){var E=function(){w(d).find(\"ol\").each(function(e,a){w(a).find(\"li\").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[[\"hours\"],[\"hours\",\"minutes\"],[\"hours\",\"minutes\",\"seconds\"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,[\"hours\",\"minutes\",\"seconds\"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem(\"li\"),i=[\"<p>\"+r.time[e]+\"</p><ol>\"];w.each(new Array(t),function(t){i.push(\"<li\"+(n[x][C[e]]===t?' class=\"'+o+'\"':\"\")+\">\"+w.digit(t,2)+\"</li>\")}),a.innerHTML=i.join(\"\")+\"</ol>\",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),\"year\"===e||\"month\"===e)w(n.elemMain[t]).addClass(\"laydate-ym-show\"),w(d).find(\"li\").on(\"click\",function(){var r=0|w(this).attr(\"lay-ym\");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c=\"year\"===e?n.getAsYM(r,T[1]-1,\"sub\"):n.getAsYM(T[0],r,\"sub\");w.extend(i,{year:c[0],month:c[1]})}\"year\"===a.type||\"month\"===a.type?(w(d).find(\".\"+o).removeClass(o),w(this).addClass(o),\"month\"===a.type&&\"year\"===e&&(n.listYM[t][0]=r,l&&(n[[\"startDate\",\"endDate\"][t]].year=r),n.list(\"month\",t))):(n.checkDate(\"limit\").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,\"change\"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem(\"span\",{\"class\":v}),k=function(){w(d).find(\"ol\").each(function(e){var t=this,a=w(t).find(\"li\");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find(\".\"+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass(\"laydate-time-show\"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find(\"ol\").each(function(e){var t=this;w(t).find(\"li\").on(\"click\",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find(\".\"+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||\"time\"===a.type)&&n.done(null,\"change\"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find(\".\"+m).remove(),w(e.elemMain[t]).removeClass(\"laydate-ym-show laydate-time-show\")}),w(e.elem).find(\".\"+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&\"date\"!==r.type&&\"time\"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?\"addClass\":\"removeClass\"](s),e&&a&&i.hint(\"string\"==typeof e?l.replace(/日期/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join(\"\")+\" \"+a.range+\" \"+n.parse(1):r.join(\"\")},T.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)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?\"val\":\"html\";return\"static\"===n.position||w(a)[i](e||\"\"),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find(\"td\");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr(\"lay-ymd\").split(\"-\"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+\" \"+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s<t&&w(i).addClass(u)})},T.prototype.done=function(e,t){var n=this,a=n.config,i=w.extend({},n.startDate?w.extend(n.startDate,n.startTime):a.dateTime),r=w.extend({},w.extend(n.endDate,n.endTime));return w.each([i,r],function(e,t){\"month\"in t&&w.extend(t,{month:t.month+1})}),e=e||[n.parse(),i,r],\"function\"==typeof a[t||\"done\"]&&a[t||\"done\"].apply(a,e),n},T.prototype.choose=function(e){var t=this,n=t.config,a=n.dateTime,i=w(t.elem).find(\"td\"),r=e.attr(\"lay-ymd\").split(\"-\"),l=function(e){new Date;e&&w.extend(a,r),n.range&&(t.startDate?w.extend(t.startDate,r):t.startDate=w.extend({},r,t.startTime),t.startYMD=r)};if(r={year:0|r[0],month:(0|r[1])-1,date:0|r[2]},!e.hasClass(s))if(n.range){if(w.each([\"startTime\",\"endTime\"],function(e,n){t[n]=t[n]||{hours:0,minutes:0,seconds:0}}),t.endState)l(),delete t.endState,delete t.endDate,t.startState=!0,i.removeClass(o+\" \"+u),e.addClass(o);else if(t.startState){if(e.addClass(o),t.endDate?w.extend(t.endDate,r):t.endDate=w.extend({},r,t.endTime),t.newDate(r).getTime()<t.newDate(t.startYMD).getTime()){var d=w.extend({},t.endDate,{hours:t.startDate.hours,minutes:t.startDate.minutes,seconds:t.startDate.seconds});w.extend(t.endDate,t.startDate,{hours:t.endDate.hours,minutes:t.endDate.minutes,seconds:t.endDate.seconds}),t.startDate=d}n.showBottom||t.done(),t.stampRange(),t.endState=!0,t.done(null,\"change\")}else e.addClass(o),l(),t.startState=!0;w(t.footer).find(g)[t.endDate?\"removeClass\":\"addClass\"](s)}else\"static\"===n.position?(l(!0),t.calendar().done().done(null,\"change\")):\"date\"===n.type?(l(!0),t.setValue(t.parse()).remove().done()):\"datetime\"===n.type&&(l(!0),t.calendar().done(null,\"change\"))},T.prototype.tool=function(e,t){var n=this,a=n.config,i=a.dateTime,r=\"static\"===a.position,o={datetime:function(){w(e).hasClass(s)||(n.list(\"time\",0),a.range&&n.list(\"time\",1),w(e).attr(\"lay-type\",\"date\").html(n.lang().dateTips))},date:function(){n.closeList(),w(e).attr(\"lay-type\",\"datetime\").html(n.lang().timeTips)},clear:function(){n.setValue(\"\").remove(),r&&(w.extend(i,n.firstDate),n.calendar()),a.range&&(delete n.startState,delete n.endState,delete n.endDate,delete n.startTime,delete n.endTime),n.done([\"\",{},{}])},now:function(){var e=new Date;w.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),r&&n.calendar(),n.done()},confirm:function(){if(a.range){if(!n.endDate)return n.hint(\"请先选择日期范围\");if(w(e).hasClass(s))return n.hint(\"time\"===a.type?l.replace(/日期/g,\"时间\"):l)}else if(w(e).hasClass(s))return n.hint(\"不在有效日期或时间范围内\");n.done(),n.setValue(n.parse()).remove()}};o[t]&&o[t]()},T.prototype.change=function(e){var t=this,n=t.config,a=n.dateTime,i=n.range&&(\"year\"===n.type||\"month\"===n.type),r=t.elemCont[e||0],o=t.listYM[e],s=function(s){var l=[\"startDate\",\"endDate\"][e],d=w(r).find(\".laydate-year-list\")[0],c=w(r).find(\".laydate-month-list\")[0];return d&&(o[0]=s?o[0]-15:o[0]+15,t.list(\"year\",e)),c&&(s?o[0]--:o[0]++,t.list(\"month\",e)),(d||c)&&(w.extend(a,{year:o[0]}),i&&(t[l].year=o[0]),n.range||t.done(null,\"change\"),t.setBtnStatus(),n.range||t.limit(w(t.footer).find(g),{year:o[0]})),d||c};return{prevYear:function(){s(\"sub\")||(a.year--,t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\"))},prevMonth:function(){var e=t.getAsYM(a.year,a.month,\"sub\");w.extend(a,{year:e[0],month:e[1]}),t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\")},nextMonth:function(){var e=t.getAsYM(a.year,a.month);w.extend(a,{year:e[0],month:e[1]}),t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\")},nextYear:function(){s()||(a.year++,t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\"))}}},T.prototype.changeEvent=function(){var e=this;e.config;w(e.elem).on(\"click\",function(e){w.stope(e)}),w.each(e.elemHeader,function(t,n){w(n[0]).on(\"click\",function(n){e.change(t).prevYear()}),w(n[1]).on(\"click\",function(n){e.change(t).prevMonth()}),w(n[2]).find(\"span\").on(\"click\",function(n){var a=w(this),i=a.attr(\"lay-ym\"),r=a.attr(\"lay-type\");i&&(i=i.split(\"-\"),e.listYM[t]=[0|i[0],0|i[1]],e.list(r,t),w(e.footer).find(D).addClass(s))}),w(n[3]).on(\"click\",function(n){e.change(t).nextMonth()}),w(n[4]).on(\"click\",function(n){e.change(t).nextYear()})}),w.each(e.table,function(t,n){var a=w(n).find(\"td\");a.on(\"click\",function(){e.choose(w(this))})}),w(e.footer).find(\"span\").on(\"click\",function(){var t=w(this).attr(\"lay-type\");e.tool(this,t)})},T.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},T.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,\"bind\"),n(t.eventElem),w(document).on(\"click\",function(n){n.target!==t.elem[0]&&n.target!==t.eventElem[0]&&n.target!==w(t.closeStop)[0]&&e.remove()}).on(\"keydown\",function(t){13===t.keyCode&&w(\"#\"+e.elemID)[0]&&e.elemID===T.thisElem&&(t.preventDefault(),w(e.footer).find(g)[0].click())}),w(window).on(\"resize\",function(){return!(!e.elem||!w(r)[0])&&void e.position()}),t.elem[0].eventHandler=!0)},n.render=function(e){var t=new T(e);return a.call(t)},n.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},window.lay=window.lay||w,e?(n.ready(),layui.define(function(e){n.path=layui.cache.dir,e(i,n)})):\"function\"==typeof define&&define.amd?define(function(){return n}):function(){n.ready(),window.laydate=n}()}();"
  },
  {
    "path": "webroot/dist/lay/modules/layedit.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define([\"layer\",\"form\"],function(t){\"use strict\";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n=\"layedit\",o=\"layui-show\",r=\"layui-disabled\",c=function(){var t=this;t.index=0,t.config={tool:[\"strong\",\"italic\",\"underline\",\"del\",\"|\",\"left\",\"center\",\"right\",\"|\",\"link\",\"unlink\",\"face\",\"image\"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r=\"layui-layedit\",c=e(\"#\"+t),u=\"LAY_layedit_\"+ ++a.index,d=c.next(\".\"+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join(\"\")}(),m=e(['<div class=\"'+r+'\">','<div class=\"layui-unselect layui-layedit-tool\">'+f+\"</div>\",'<div class=\"layui-layedit-iframe\">','<iframe id=\"'+u+'\" name=\"'+u+'\" textarea=\"'+t+'\" frameborder=\"0\"></iframe>',\"</div>\",\"</div>\"].join(\"\"));return l.ie&&l.ie<8?c.removeClass(\"layui-hide\").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass(\"layui-hide\").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e(\"#\"+i[1].attr(\"textarea\"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find(\"iframe\");n.css({height:a.height}).on(\"load\",function(){var o=n.contents(),r=n.prop(\"contentWindow\"),c=o.find(\"head\"),s=e([\"<style>\",\"*{margin: 0; padding: 0;}\",\"body{padding: 10px; line-height: 20px; overflow-x: hidden; word-wrap: break-word; font: 14px Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Tahoma,Arial,sans-serif; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}\",\"a{color:#01AAED; text-decoration:none;}a:hover{color:#c00}\",\"p{margin-bottom: 10px;}\",\"img{display: inline-block; border: none; vertical-align: middle;}\",\"pre{margin: 10px 0; padding: 10px; line-height: 20px; border: 1px solid #ddd; border-left-width: 6px; background-color: #F2F2F2; color: #333; font-family: Courier New; font-size: 12px;}\",\"</style>\"].join(\"\")),u=o.find(\"body\");c.append(s),u.attr(\"contenteditable\",\"true\").css({\"min-height\":a.height}).html(i.value||\"\"),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e(\"#LAY_layedit_\"+t),a=i.prop(\"contentWindow\");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on(\"keydown\",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if(\"pre\"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg(\"请暂时用shift+enter\"),!1}r.execCommand(\"formatBlock\",!1,\"<p>\")}}),e(n).parents(\"form\").on(\"submit\",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on(\"paste\",function(e){r.execCommand(\"formatBlock\",!1,\"<p>\"),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find(\"*[style]\").each(function(){var t=this.style.textAlign;this.removeAttribute(\"style\"),e(this).css({\"text-align\":t||\"\"})}),t.find(\"table\").addClass(\"layui-table\"),t.find(\"script,link\").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute(\"text\"),l.selection){var r=a.text||i.text;if(\"a\"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop(\"outerHTML\")),a.select()}else{var r=a.toString()||i.text;if(\"a\"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l=\"layedit-tool-active\",n=p(m(a)),o=function(e){return t.find(\".layedit-tool-\"+e)};i&&i[i.hasClass(l)?\"removeClass\":\"addClass\"](l),t.find(\">i\").removeClass(l),o(\"unlink\").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;\"b\"!==t&&\"strong\"!==t||o(\"b\").addClass(l),\"i\"!==t&&\"em\"!==t||o(\"i\").addClass(l),\"u\"===t&&o(\"u\").addClass(l),\"strike\"===t&&o(\"d\").addClass(l),\"p\"===t&&(\"center\"===e?o(\"center\").addClass(l):\"right\"===e?o(\"right\").addClass(l):o(\"left\").addClass(l)),\"a\"===t&&(o(\"link\").addClass(l),o(\"unlink\").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr(\"href\"),target:l.attr(\"target\")},function(e){var a=l[0];\"A\"===a.tagName?a.href=e.url:v.call(t,\"a\",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand(\"unlink\")},face:function(e){x.call(this,function(i){v.call(t,\"img\",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use(\"upload\",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find(\"input\")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,\"img\",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||\"上传失败\")}})})},code:function(e){k.call(o,function(i){v.call(t,\"pre\",{text:i.code,\"lay-lang\":i.lang},e)})},help:function(){i.open({type:2,title:\"帮助\",area:[\"600px\",\"380px\"],shadeClose:!0,shade:.1,skin:\"layui-layer-msg\",content:[\"http://www.layui.com/about/layedit/help.html\",\"no\"]})}},s=a.find(\".layui-layedit-tool\"),u=function(){var i=e(this),a=i.attr(\"layedit-event\"),l=i.attr(\"lay-command\");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand(\"formatBlock\",!1,\"<p>\"),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(\">i\").on(\"mousedown\",function(){var t=e(this),i=t.attr(\"layedit-event\");d.test(i)||u.call(this)}).on(\"click\",function(){var t=e(this),i=t.attr(\"layedit-event\");d.test(i)&&u.call(this)}),o.on(\"click\",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:\"LAY_layedit_link\",area:\"350px\",shade:.05,shadeClose:!0,moveType:1,title:\"超链接\",skin:\"layui-layer-msg\",content:['<ul class=\"layui-form\" style=\"margin: 15px;\">','<li class=\"layui-form-item\">','<label class=\"layui-form-label\" style=\"width: 60px;\">URL</label>','<div class=\"layui-input-block\" style=\"margin-left: 90px\">','<input name=\"url\" lay-verify=\"url\" value=\"'+(t.href||\"\")+'\" autofocus=\"true\" autocomplete=\"off\" class=\"layui-input\">',\"</div>\",\"</li>\",'<li class=\"layui-form-item\">','<label class=\"layui-form-label\" style=\"width: 60px;\">打开方式</label>','<div class=\"layui-input-block\" style=\"margin-left: 90px\">','<input type=\"radio\" name=\"target\" value=\"_self\" class=\"layui-input\" title=\"当前窗口\"'+(\"_self\"!==t.target&&t.target?\"\":\"checked\")+\">\",'<input type=\"radio\" name=\"target\" value=\"_blank\" class=\"layui-input\" title=\"新窗口\" '+(\"_blank\"===t.target?\"checked\":\"\")+\">\",\"</div>\",\"</li>\",'<li class=\"layui-form-item\" style=\"text-align: center;\">','<button type=\"button\" lay-submit lay-filter=\"layedit-link-yes\" class=\"layui-btn\"> 确定 </button>','<button style=\"margin-left: 20px;\" type=\"button\" class=\"layui-btn layui-btn-primary\"> 取消 </button>',\"</li>\",\"</ul>\"].join(\"\"),success:function(t,n){var o=\"submit(layedit-link-yes)\";a.render(\"radio\"),t.find(\".layui-btn-primary\").on(\"click\",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=[\"[微笑]\",\"[嘻嘻]\",\"[哈哈]\",\"[可爱]\",\"[可怜]\",\"[挖鼻]\",\"[吃惊]\",\"[害羞]\",\"[挤眼]\",\"[闭嘴]\",\"[鄙视]\",\"[爱你]\",\"[泪]\",\"[偷笑]\",\"[亲亲]\",\"[生病]\",\"[太开心]\",\"[白眼]\",\"[右哼哼]\",\"[左哼哼]\",\"[嘘]\",\"[衰]\",\"[委屈]\",\"[吐]\",\"[哈欠]\",\"[抱抱]\",\"[怒]\",\"[疑问]\",\"[馋嘴]\",\"[拜拜]\",\"[思考]\",\"[汗]\",\"[困]\",\"[睡]\",\"[钱]\",\"[失望]\",\"[酷]\",\"[色]\",\"[哼]\",\"[鼓掌]\",\"[晕]\",\"[悲伤]\",\"[抓狂]\",\"[黑线]\",\"[阴险]\",\"[怒骂]\",\"[互粉]\",\"[心]\",\"[伤心]\",\"[猪头]\",\"[熊猫]\",\"[兔子]\",\"[ok]\",\"[耶]\",\"[good]\",\"[NO]\",\"[赞]\",\"[来]\",\"[弱]\",\"[草泥马]\",\"[神马]\",\"[囧]\",\"[浮云]\",\"[给力]\",\"[围观]\",\"[威武]\",\"[奥特曼]\",\"[礼物]\",\"[钟]\",\"[话筒]\",\"[蜡烛]\",\"[蛋糕]\"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+\"images/face/\"+t+\".gif\"}),e}();return x.hide=x.hide||function(t){\"face\"!==e(t.target).attr(\"layedit-event\")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('<li title=\"'+e+'\"><img src=\"'+i+'\" alt=\"'+e+'\"></li>')}),'<ul class=\"layui-clear\">'+t.join(\"\")+\"</ul>\"}(),this,{tips:1,time:0,skin:\"layui-box layui-util-face\",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(\".layui-clear>li\").on(\"click\",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off(\"click\",x.hide).on(\"click\",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:\"LAY_layedit_code\",area:\"550px\",shade:.05,shadeClose:!0,moveType:1,title:\"插入代码\",skin:\"layui-layer-msg\",content:['<ul class=\"layui-form layui-form-pane\" style=\"margin: 15px;\">','<li class=\"layui-form-item\">','<label class=\"layui-form-label\">请选择语言</label>','<div class=\"layui-input-block\">','<select name=\"lang\">','<option value=\"JavaScript\">JavaScript</option>','<option value=\"HTML\">HTML</option>','<option value=\"CSS\">CSS</option>','<option value=\"Java\">Java</option>','<option value=\"PHP\">PHP</option>','<option value=\"C#\">C#</option>','<option value=\"Python\">Python</option>','<option value=\"Ruby\">Ruby</option>','<option value=\"Go\">Go</option>',\"</select>\",\"</div>\",\"</li>\",'<li class=\"layui-form-item layui-form-text\">','<label class=\"layui-form-label\">代码</label>','<div class=\"layui-input-block\">','<textarea name=\"code\" lay-verify=\"required\" autofocus=\"true\" class=\"layui-textarea\" style=\"height: 200px;\"></textarea>',\"</div>\",\"</li>\",'<li class=\"layui-form-item\" style=\"text-align: center;\">','<button type=\"button\" lay-submit lay-filter=\"layedit-code-yes\" class=\"layui-btn\"> 确定 </button>','<button style=\"margin-left: 20px;\" type=\"button\" class=\"layui-btn layui-btn-primary\"> 取消 </button>',\"</li>\",\"</ul>\"].join(\"\"),success:function(l,n){var o=\"submit(layedit-code-yes)\";a.render(\"select\"),l.find(\".layui-btn-primary\").on(\"click\",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'<i class=\"layui-icon layedit-tool-html\" title=\"HTML源代码\" lay-command=\"html\" layedit-event=\"html\"\">&#xe64b;</i><span class=\"layedit-tool-mid\"></span>',strong:'<i class=\"layui-icon layedit-tool-b\" title=\"加粗\" lay-command=\"Bold\" layedit-event=\"b\"\">&#xe62b;</i>',italic:'<i class=\"layui-icon layedit-tool-i\" title=\"斜体\" lay-command=\"italic\" layedit-event=\"i\"\">&#xe644;</i>',underline:'<i class=\"layui-icon layedit-tool-u\" title=\"下划线\" lay-command=\"underline\" layedit-event=\"u\"\">&#xe646;</i>',del:'<i class=\"layui-icon layedit-tool-d\" title=\"删除线\" lay-command=\"strikeThrough\" layedit-event=\"d\"\">&#xe64f;</i>',\"|\":'<span class=\"layedit-tool-mid\"></span>',left:'<i class=\"layui-icon layedit-tool-left\" title=\"左对齐\" lay-command=\"justifyLeft\" layedit-event=\"left\"\">&#xe649;</i>',center:'<i class=\"layui-icon layedit-tool-center\" title=\"居中对齐\" lay-command=\"justifyCenter\" layedit-event=\"center\"\">&#xe647;</i>',right:'<i class=\"layui-icon layedit-tool-right\" title=\"右对齐\" lay-command=\"justifyRight\" layedit-event=\"right\"\">&#xe648;</i>',link:'<i class=\"layui-icon layedit-tool-link\" title=\"插入链接\" layedit-event=\"link\"\">&#xe64c;</i>',unlink:'<i class=\"layui-icon layedit-tool-unlink layui-disabled\" title=\"清除链接\" lay-command=\"unlink\" layedit-event=\"unlink\"\">&#xe64d;</i>',face:'<i class=\"layui-icon layedit-tool-face\" title=\"表情\" layedit-event=\"face\"\">&#xe650;</i>',image:'<i class=\"layui-icon layedit-tool-image\" title=\"图片\" layedit-event=\"image\">&#xe64a;<input type=\"file\" name=\"file\"></i>',code:'<i class=\"layui-icon layedit-tool-code\" title=\"插入代码\" layedit-event=\"code\">&#xe64e;</i>',help:'<i class=\"layui-icon layedit-tool-help\" title=\"帮助\" layedit-event=\"help\">&#xe607;</i>'},w=new c;t(n,w)});"
  },
  {
    "path": "webroot/dist/lay/modules/layer.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;!function(e,t){\"use strict\";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if(\"interactive\"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:[\"&#x786E;&#x5B9A;\",\"&#x53D6;&#x6D88;\"],type:[\"dialog\",\"page\",\"iframe\",\"loading\",\"tips\"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName(\"head\")[0],s=document.createElement(\"link\");\"string\"==typeof i&&(n=i);var l=(n||t).replace(/\\.|\\//g,\"\"),f=\"layuicss-\"+l,c=0;s.rel=\"stylesheet\",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),\"function\"==typeof i&&!function u(){return++c>80?e.console&&console.error(\"layer.css: Invalid\"):void(1989===parseInt(o.getStyle(document.getElementById(f),\"width\"))?i():setTimeout(u,100))}()}}},r={v:\"3.1.1\",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||\"ActiveXObject\"in e)&&((t.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,\"string\"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss(\"modules/layer/\"+e.extend):o.link(\"theme/\"+e.extend),this):this},ready:function(e){var t=\"layer\",i=\"\",n=(a?\"modules/layer/\":\"theme/\")+\"default/layer.css?v=\"+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a=\"function\"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s=\"function\"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s=\"function\"==typeof n,f=o.config.skin,c=(f?f+\" \"+f+\"-msg\":\"\")||\"layui-layer-msg\",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+\" layui-layer-hui\",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+\" \"+(n.skin||\"layui-layer-hui\")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=[\"layui-layer\",\".layui-layer-title\",\".layui-layer-main\",\".layui-layer-dialog\",\"layui-layer-iframe\",\"layui-layer-content\",\"layui-layer-btn\",\"layui-layer-close\"];l.anim=[\"layer-anim-00\",\"layer-anim-01\",\"layer-anim-02\",\"layer-anim-03\",\"layer-anim-04\",\"layer-anim-05\",\"layer-anim-06\"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:\"&#x4FE1;&#x606F;\",offset:\"auto\",area:\"auto\",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f=\"object\"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class=\"layui-layer-title\" style=\"'+(f?r.title[1]:\"\")+'\">'+(f?r.title[0]:r.title)+\"</div>\":\"\";return r.zIndex=s,t([r.shade?'<div class=\"layui-layer-shade\" id=\"layui-layer-shade'+a+'\" times=\"'+a+'\" style=\"'+(\"z-index:\"+(s-1)+\"; \")+'\"></div>':\"\",'<div class=\"'+l[0]+(\" layui-layer-\"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?\"\":\" layui-layer-border\")+\" \"+(r.skin||\"\")+'\" id=\"'+l[0]+a+'\" type=\"'+o.type[r.type]+'\" times=\"'+a+'\" showtime=\"'+r.time+'\" conType=\"'+(e?\"object\":\"string\")+'\" style=\"z-index: '+s+\"; width:\"+r.area[0]+\";height:\"+r.area[1]+(r.fixed?\"\":\";position:absolute;\")+'\">'+(e&&2!=r.type?\"\":u)+'<div id=\"'+(r.id||\"\")+'\" class=\"layui-layer-content'+(0==r.type&&r.icon!==-1?\" layui-layer-padding\":\"\")+(3==r.type?\" layui-layer-loading\"+r.icon:\"\")+'\">'+(0==r.type&&r.icon!==-1?'<i class=\"layui-layer-ico layui-layer-ico'+r.icon+'\"></i>':\"\")+(1==r.type&&e?\"\":r.content||\"\")+'</div><span class=\"layui-layer-setwin\">'+function(){var e=c?'<a class=\"layui-layer-min\" href=\"javascript:;\"><cite></cite></a><a class=\"layui-layer-ico layui-layer-max\" href=\"javascript:;\"></a>':\"\";return r.closeBtn&&(e+='<a class=\"layui-layer-ico '+l[7]+\" \"+l[7]+(r.title?r.closeBtn:4==r.type?\"1\":\"2\")+'\" href=\"javascript:;\"></a>'),e}()+\"</span>\"+(r.btn?function(){var e=\"\";\"string\"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class=\"'+l[6]+t+'\">'+r.btn[t]+\"</a>\";return'<div class=\"'+l[6]+\" layui-layer-btn-\"+(r.btnAlign||\"\")+'\">'+e+\"</div>\"}():\"\")+(r.resize?'<span class=\"layui-layer-resize\"></span>':\"\")+\"</div>\"],u,i('<div class=\"layui-layer-move\"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f=\"object\"==typeof s,c=i(\"body\");if(!t.id||!i(\"#\"+t.id)[0]){switch(\"string\"==typeof t.area&&(t.area=\"auto\"===t.area?[\"\",\"\"]:[t.area,\"\"]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn=\"btn\"in t?t.btn:o.btn[0],r.closeAll(\"dialog\");break;case 2:var s=t.content=f?t.content:[t.content||\"http://layer.layui.com\",\"auto\"];t.content='<iframe scrolling=\"'+(t.content[1]||\"auto\")+'\" allowtransparency=\"true\" id=\"'+l[4]+a+'\" name=\"'+l[4]+a+'\" onload=\"this.className=\\'\\';\" class=\"layui-layer-load\" frameborder=\"0\" src=\"'+t.content[0]+'\"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll(\"loading\");break;case 4:f||(t.content=[t.content,\"body\"]),t.follow=t.content[1],t.content=t.content[0]+'<i class=\"layui-layer-TipsG\"></i>',delete t.title,t.tips=\"object\"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll(\"tips\")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i(\"body\").append(n[1])}():function(){s.parents(\".\"+l[0])[0]||(s.data(\"display\",s.css(\"display\")).show().addClass(\"layui-layer-wrap\").wrap(n[1]),i(\"#\"+l[0]+a).find(\".\"+l[5]).before(r))}()}():c.append(n[1]),i(\".layui-layer-move\")[0]||c.append(o.moveElem=u),e.layero=i(\"#\"+l[0]+a),t.scrollbar||l.html.css(\"overflow\",\"hidden\").attr(\"layer-full\",a)}).auto(a),i(\"#layui-layer-shade\"+e.index).css({\"background-color\":t.shade[1]||\"#000\",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find(\"iframe\").attr(\"src\",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on(\"resize\",function(){e.offset(),(/^\\d+%$/.test(t.area[0])||/^\\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u=\"layer-anim \"+l.anim[t.anim];e.layero.addClass(u).one(\"webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend\",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data(\"isOutAnim\",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i(\"#\"+l[0]+e);\"\"===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find(\".\"+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css(\"padding-top\"))))};switch(a.type){case 2:u(\"iframe\");break;default:\"\"===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u(\".\"+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u(\".\"+l[5])):u(\".\"+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o=\"object\"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):\"auto\"!==t.offset&&(\"t\"===t.offset?e.offsetTop=0:\"r\"===t.offset?e.offsetLeft=n.width()-a[0]:\"b\"===t.offset?e.offsetTop=n.height()-a[1]:\"l\"===t.offset?e.offsetLeft=0:\"lt\"===t.offset?(e.offsetTop=0,e.offsetLeft=0):\"lb\"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):\"rt\"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):\"rb\"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr(\"minLeft\")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css(\"left\")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i(\"body\"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(\".layui-layer-TipsG\"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:\"auto\"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass(\"layui-layer-TipsB\").addClass(\"layui-layer-TipsT\").css(\"border-right-color\",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass(\"layui-layer-TipsL\").addClass(\"layui-layer-TipsR\").css(\"border-bottom-color\",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass(\"layui-layer-TipsT\").addClass(\"layui-layer-TipsB\").css(\"border-right-color\",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass(\"layui-layer-TipsR\").addClass(\"layui-layer-TipsL\").css(\"border-bottom-color\",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find(\".\"+l[5]).css({\"background-color\":t.tips[1],\"padding-right\":t.closeBtn?\"30px\":\"\"}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(\".layui-layer-resize\"),c={};return t.move&&l.css(\"cursor\",\"move\"),l.on(\"mousedown\",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css(\"left\")),e.clientY-parseFloat(s.css(\"top\"))],o.moveElem.css(\"cursor\",\"move\").show())}),f.on(\"mousedown\",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css(\"cursor\",\"se-resize\").show()}),a.on(\"mousemove\",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l=\"fixed\"===s.css(\"position\");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on(\"mouseup\",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find(\"iframe\").on(\"load\",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find(\".\"+l[6]).children(\"a\").on(\"click\",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a[\"btn\"+(e+1)]&&a[\"btn\"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find(\".\"+l[7]).on(\"click\",e),a.shadeClose&&i(\"#layui-layer-shade\"+t.index).on(\"click\",function(){r.close(t.index)}),n.find(\".layui-layer-min\").on(\"click\",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(\".layui-layer-max\").on(\"click\",function(){i(this).hasClass(\"layui-layer-maxmin\")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i(\"select\"),function(e,t){var n=i(this);n.parents(\".\"+l[0])[0]||1==n.attr(\"layer\")&&i(\".\"+l[0]).length<1&&n.removeAttr(\"layer\").show(),n=null})},s.pt.IE6=function(e){i(\"select\").each(function(e,t){var n=i(this);n.parents(\".\"+l[0])[0]||\"none\"===n.css(\"display\")||n.attr({layer:\"1\"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css(\"z-index\",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on(\"mousedown\",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css(\"margin-left\"))];e.find(\".layui-layer-max\").addClass(\"layui-layer-maxmin\"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr(\"layer-full\")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty(\"overflow\"):l.html[0].style.removeAttribute(\"overflow\"),l.html.removeAttr(\"layer-full\"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i(\".\"+l[4]).attr(\"times\"),i(\"#\"+l[0]+t).find(\"iframe\").contents().find(e)},r.getFrameIndex=function(e){return i(\"#\"+e).parents(\".\"+l[4]).attr(\"times\")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame(\"html\",e).outerHeight(),n=i(\"#\"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find(\".\"+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find(\"iframe\").css({height:t})}},r.iframeSrc=function(e,t){i(\"#\"+l[0]+e).find(\"iframe\").attr(\"src\",t)},r.style=function(e,t,n){var a=i(\"#\"+l[0]+e),r=a.find(\".layui-layer-content\"),s=a.attr(\"type\"),f=a.find(l[1]).outerHeight()||0,c=a.find(\".\"+l[6]).outerHeight()||0;a.attr(\"minLeft\");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find(\".\"+l[6]).outerHeight(),s===o.type[2]?a.find(\"iframe\").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css(\"padding-top\"))-parseFloat(r.css(\"padding-bottom\"))}))},r.min=function(e,t){var a=i(\"#\"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr(\"minLeft\")||181*o.minIndex+\"px\",c=a.css(\"position\");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr(\"position\",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:\"fixed\",overflow:\"hidden\"},!0),a.find(\".layui-layer-min\").hide(),\"page\"===a.attr(\"type\")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr(\"minLeft\")||o.minIndex++,a.attr(\"minLeft\",f)},r.restore=function(e){var t=i(\"#\"+l[0]+e),n=t.attr(\"area\").split(\",\");t.attr(\"type\");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr(\"position\"),overflow:\"visible\"},!0),t.find(\".layui-layer-max\").removeClass(\"layui-layer-maxmin\"),t.find(\".layui-layer-min\").show(),\"page\"===t.attr(\"type\")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i(\"#\"+l[0]+e);o.record(a),l.html.attr(\"layer-full\")||l.html.css(\"overflow\",\"hidden\").attr(\"layer-full\",e),clearTimeout(t),t=setTimeout(function(){var t=\"fixed\"===a.css(\"position\");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(\".layui-layer-min\").hide()},100)},r.title=function(e,t){var n=i(\"#\"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i(\"#\"+l[0]+e),n=t.attr(\"type\"),a=\"layer-anim-close\";if(t[0]){var s=\"layui-layer-wrap\",f=function(){if(n===o.type[1]&&\"object\"===t.attr(\"conType\")){t.children(\":not(.\"+l[5]+\")\").remove();for(var a=t.find(\".\"+s),r=0;r<2;r++)a.unwrap();a.css(\"display\",a.data(\"display\")).removeClass(s)}else{if(n===o.type[2])try{var f=i(\"#\"+l[4]+e)[0];f.contentWindow.document.write(\"\"),f.contentWindow.close(),t.find(\".\"+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML=\"\",t.remove()}\"function\"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data(\"isOutAnim\")&&t.addClass(\"layer-anim \"+a),i(\"#layui-layer-moves, #layui-layer-shade\"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr(\"minLeft\")&&(o.minIndex--,o.minLeft.push(t.attr(\"minLeft\"))),r.ie&&r.ie<10||!t.data(\"isOutAnim\")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i(\".\"+l[0]),function(){var t=i(this),n=e?t.attr(\"type\")===e:1;n&&r.close(t.attr(\"times\")),n=null})};var f=r.cache||{},c=function(e){return f.skin?\" \"+f.skin+\" \"+f.skin+\"-\"+e:\"\"};r.prompt=function(e,t){var a=\"\";if(e=e||{},\"function\"==typeof e&&(t=e),e.area){var o=e.area;a='style=\"width: '+o[0]+\"; height: \"+o[1]+';\"',delete e.area}var s,l=2==e.formType?'<textarea class=\"layui-layer-input\"'+a+\"></textarea>\":function(){return'<input type=\"'+(1==e.formType?\"password\":\"text\")+'\" class=\"layui-layer-input\">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:[\"&#x786E;&#x5B9A;\",\"&#x53D6;&#x6D88;\"],content:l,skin:\"layui-layer-prompt\"+c(\"prompt\"),maxWidth:n.width(),success:function(t){s=t.find(\".layui-layer-input\"),s.val(e.value||\"\").focus(),\"function\"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();\"\"===n?s.focus():n.length>(e.maxlength||500)?r.tips(\"&#x6700;&#x591A;&#x8F93;&#x5165;\"+(e.maxlength||500)+\"&#x4E2A;&#x5B57;&#x6570;\",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n=\"layui-this\",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:\"layui-layer-tab\"+c(\"tab\"),resize:!1,title:function(){var e=t.length,i=1,a=\"\";if(e>0)for(a='<span class=\"'+n+'\">'+t[0].title+\"</span>\";i<e;i++)a+=\"<span>\"+t[i].title+\"</span>\";return a}(),content:'<ul class=\"layui-layer-tabmain\">'+function(){var e=t.length,i=1,a=\"\";if(e>0)for(a='<li class=\"layui-layer-tabli '+n+'\">'+(t[0].content||\"no content\")+\"</li>\";i<e;i++)a+='<li class=\"layui-layer-tabli\">'+(t[i].content||\"no  content\")+\"</li>\";return a}()+\"</ul>\",success:function(t){var o=t.find(\".layui-layer-title\").children(),r=t.find(\".layui-layer-tabmain\").children();o.on(\"mousedown\",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),\"function\"==typeof e.change&&e.change(o)}),\"function\"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||\"img\";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg(\"&#x6CA1;&#x6709;&#x56FE;&#x7247;\")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr(\"layer-index\",e),u.push({alt:t.attr(\"alt\"),pid:t.attr(\"layer-pid\"),src:t.attr(\"layer-src\")||t.attr(\"src\"),thumb:t.attr(\"src\")})})};if(h(),0===u.length)return;if(n||p.on(\"click\",t.img,function(){var e=i(this),n=e.attr(\"layer-index\");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(\".layui-layer-imgprev\").on(\"click\",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(\".layui-layer-imgnext\").on(\"click\",function(e){e.preventDefault(),s.imgnext()}),i(document).on(\"keyup\",s.keyup)},s.loadi=r.load(1,{shade:!(\"shade\"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:\"layui-layer-photos\",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+\"px\",a[1]+\"px\"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:\".layui-layer-phimg img\",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:\"layui-layer-photos\"+c(\"photos\"),content:'<div class=\"layui-layer-phimg\"><img src=\"'+u[d].src+'\" alt=\"'+(u[d].alt||\"\")+'\" layer-pid=\"'+u[d].pid+'\"><div class=\"layui-layer-imgsee\">'+(u.length>1?'<span class=\"layui-layer-imguide\"><a href=\"javascript:;\" class=\"layui-layer-iconext layui-layer-imgprev\"></a><a href=\"javascript:;\" class=\"layui-layer-iconext layui-layer-imgnext\"></a></span>':\"\")+'<div class=\"layui-layer-imgbar\" style=\"display:'+(a?\"block\":\"\")+'\"><span class=\"layui-layer-imgtit\"><a href=\"javascript:;\">'+(u[d].alt||\"\")+\"</a><em>\"+s.imgIndex+\"/\"+u.length+\"</em></span></div></div></div>\",success:function(e,i){s.bigimg=e.find(\".layui-layer-phimg\"),s.imgsee=e.find(\".layui-layer-imguide,.layui-layer-imgbar\"),s.event(e),t.tab&&t.tab(u[d],e),\"function\"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off(\"keyup\",s.keyup)}},t))},function(){r.close(s.loadi),r.msg(\"&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;\",{time:3e4,btn:[\"&#x4E0B;&#x4E00;&#x5F20;\",\"&#x4E0D;&#x770B;&#x4E86;\"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i(\"html\"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define(\"jquery\",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t(\"layer\",r)})):\"function\"==typeof define&&define.amd?define([\"jquery\"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);"
  },
  {
    "path": "webroot/dist/lay/modules/layim.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n\n;layui.define([\"layer\", \"laytpl\", \"upload\"], function (i) {\n    var a = \"3.7.6\", e = layui.$, t = layui.layer, n = layui.laytpl, l = layui.device(), s = \"layui-show\",\n        o = \"layim-this\", d = 20, r = {}, c = function () {\n            this.v = a, e(\"body\").on(\"click\", \"*[layim-event]\", function (i) {\n                var a = e(this), t = a.attr(\"layim-event\");\n                ti[t] ? ti[t].call(this, a, i) : \"\"\n            })\n        };\n    c.prototype.config = function (i) {\n        var a = [];\n        if (layui.each(Array(5), function (i) {\n                a.push(layui.cache.dir + \"css/modules/layim/skin/\" + (i + 1) + \".jpg\")\n            }), i = i || {}, i.skin = i.skin || [], layui.each(i.skin, function (i, e) {\n                a.unshift(e)\n            }), i.skin = a, i = e.extend({\n                isfriend: !0,\n                isgroup: !0,\n                voice: \"default.mp3\"\n            }, i), window.JSON && window.JSON.parse) return H(i), this\n    }, c.prototype.on = function (i, a) {\n        return \"function\" == typeof a && (r[i] ? r[i].push(a) : r[i] = [a]), this\n    }, c.prototype.cache = function () {\n        return j\n    }, c.prototype.chat = function (i) {\n        if (window.JSON && window.JSON.parse) return z(i), this\n    }, c.prototype.setChatMin = function () {\n        return N(), this\n    }, c.prototype.setChatStatus = function (i) {\n        var a = _();\n        if (a) {\n            var e = a.elem.find(\".layim-chat-status\");\n            return e.html(i), this\n        }\n    }, c.prototype.getMessage = function (i) {\n        return K(i), this\n    }, c.prototype.notice = function (i) {\n        return J(i), this\n    }, c.prototype.add = function (i) {\n        return M(i), this\n    }, c.prototype.setFriendGroup = function (i) {\n        return M(i, \"setGroup\"), this\n    }, c.prototype.msgbox = function (i) {\n        return V(i), this\n    }, c.prototype.addList = function (i) {\n        return P(i), this\n    }, c.prototype.removeList = function (i) {\n        return W(i), this\n    }, c.prototype.setFriendStatus = function (i, a) {\n        var t = e(\".layim-friend\" + i);\n        t[\"online\" === a ? \"removeClass\" : \"addClass\"](\"layim-list-gray\")\n    }, c.prototype.content = function (i) {\n        return layui.data.content(i)\n    };\n    var u = function (i) {\n            var a = {friend: \"该分组下暂无好友\", group: \"暂无群组\", history: \"暂无历史会话\"};\n            return i = i || {}, i.item = i.item || \"d.\" + i.type, [\"{{# var length = 0; layui.each(\" + i.item + \", function(i, data){ length++; }}\", '<li layim-event=\"chat\" data-type=\"' + i.type + '\" data-index=\"{{ ' + (i.index || \"i\") + ' }}\" class=\"layim-' + (\"history\" === i.type ? \"{{i}}\" : i.type + \"{{data.id}}\") + ' {{ data.status === \"offline\" ? \"layim-list-gray\" : \"\" }}\"><img src=\"{{ data.avatar }}\"><span>{{ data.username||data.groupname||data.name||\"佚名\" }}</span><p>{{ data.remark||data.sign||\"\" }}</p><span class=\"layim-msg-status\">new</span></li>', \"{{# }); if(length === 0){ }}\", '<li class=\"layim-null\">' + (a[i.type] || \"暂无数据\") + \"</li>\", \"{{# } }}\"].join(\"\")\n        },\n        y = ['<div class=\"layui-layim-main\">', '<div class=\"layui-layim-info\">', '<div class=\"layui-layim-user\">{{ d.mine.username }}</div>', '<div class=\"layui-layim-status\">', '{{# if(d.mine.status === \"online\"){ }}', '<span class=\"layui-icon layim-status-online\" layim-event=\"status\" lay-type=\"show\">&#xe617;</span>', '{{# } else if(d.mine.status === \"hide\") { }}', '<span class=\"layui-icon layim-status-hide\" layim-event=\"status\" lay-type=\"show\">&#xe60f;</span>', \"{{# } }}\", '<ul class=\"layui-anim layim-menu-box\">', '<li {{d.mine.status === \"online\" ? \"class=layim-this\" : \"\"}} layim-event=\"status\" lay-type=\"online\"><i class=\"layui-icon\">&#xe618;</i><cite class=\"layui-icon layim-status-online\">&#xe617;</cite>在线</li>', '<li {{d.mine.status === \"hide\" ? \"class=layim-this\" : \"\"}} layim-event=\"status\" lay-type=\"hide\"><i class=\"layui-icon\">&#xe618;</i><cite class=\"layui-icon layim-status-hide\">&#xe60f;</cite>隐身</li>', \"</ul>\", \"</div>\", '<input class=\"layui-layim-remark\" placeholder=\"编辑签名\" value=\"{{ d.mine.remark||d.mine.sign||\"\" }}\">', \"</div>\", '<ul class=\"layui-unselect layui-layim-tab{{# if(!d.base.isfriend || !d.base.isgroup){ }}', \" layim-tab-two\", '{{# } }}\">', '<li class=\"layui-icon', \"{{# if(!d.base.isfriend){ }}\", \" layim-hide\", \"{{# } else { }}\", \" layim-this\", \"{{# } }}\", '\" title=\"联系人\" layim-event=\"tab\" lay-type=\"friend\">&#xe612;</li>', '<li class=\"layui-icon', \"{{# if(!d.base.isgroup){ }}\", \" layim-hide\", \"{{# } else if(!d.base.isfriend) { }}\", \" layim-this\", \"{{# } }}\", '\" title=\"群组\" layim-event=\"tab\" lay-type=\"group\">&#xe613;</li>', '<li class=\"layui-icon\" title=\"历史会话\" layim-event=\"tab\" lay-type=\"history\">&#xe611;</li>', \"</ul>\", '<ul class=\"layui-unselect layim-tab-content {{# if(d.base.isfriend){ }}layui-show{{# } }} layim-list-friend\">', '{{# layui.each(d.friend, function(index, item){ var spread = d.local[\"spread\"+index]; }}', \"<li>\", '<h5 layim-event=\"spread\" lay-type=\"{{ spread }}\"><i class=\"layui-icon\">{{# if(spread === \"true\"){ }}&#xe61a;{{# } else {  }}&#xe602;{{# } }}</i><span>{{ item.groupname||\"未命名分组\"+index }}</span><em>(<cite class=\"layim-count\"> {{ (item.list||[]).length }}</cite>)</em></h5>', '<ul class=\"layui-layim-list {{# if(spread === \"true\"){ }}', \" layui-show\", '{{# } }}\">', u({\n            type: \"friend\",\n            item: \"item.list\",\n            index: \"index\"\n        }), \"</ul>\", \"</li>\", \"{{# }); if(d.friend.length === 0){ }}\", '<li><ul class=\"layui-layim-list layui-show\"><li class=\"layim-null\">暂无联系人</li></ul>', \"{{# } }}\", \"</ul>\", '<ul class=\"layui-unselect layim-tab-content {{# if(!d.base.isfriend && d.base.isgroup){ }}layui-show{{# } }}\">', \"<li>\", '<ul class=\"layui-layim-list layui-show layim-list-group\">', u({type: \"group\"}), \"</ul>\", \"</li>\", \"</ul>\", '<ul class=\"layui-unselect layim-tab-content  {{# if(!d.base.isfriend && !d.base.isgroup){ }}layui-show{{# } }}\">', \"<li>\", '<ul class=\"layui-layim-list layui-show layim-list-history\">', u({type: \"history\"}), \"</ul>\", \"</li>\", \"</ul>\", '<ul class=\"layui-unselect layim-tab-content\">', \"<li>\", '<ul class=\"layui-layim-list layui-show\" id=\"layui-layim-search\"></ul>', \"</li>\", \"</ul>\", '<ul class=\"layui-unselect layui-layim-tool\">', '      <li class=\"layui-icon layim-tool-find\" id=\"find_friend\" title=\"查找好友\">&#xe615;</li> ', \"{{# if(d.base.msgbox){ }}\", '<li class=\"layui-icon layim-tool-msgbox\" layim-event=\"msgbox\" title=\"消息盒子\">&#xe645;<span class=\"layui-anim\"></span></li>', \"{{# } }}\", \"{{# if(d.base.find){ }}\", '<li class=\"layui-icon layim-tool-find\" layim-event=\"find\" title=\"查找\">&#xe608;</li>      ', \"{{# } }}\", '<li class=\"layui-icon layim-tool-skin\" layim-event=\"skin\" title=\"更换背景\">&#xe61b;</li>', \"{{# if(!d.base.copyright){ }}\", '<li class=\"layui-icon layim-tool-about\" layim-event=\"about\" title=\"关于\">&#xe60b;</li>', \"{{# } }}\", \"</ul>\", '<div class=\"layui-layim-search\"><input><label class=\"layui-icon\" layim-event=\"closeSearch\">&#x1007;</label></div>', \"</div>\"].join(\"\"),\n        m = ['<ul class=\"layui-layim-skin\">', \"{{# layui.each(d.skin, function(index, item){ }}\", '<li><img layim-event=\"setSkin\" src=\"{{ item }}\"></li>', \"{{# }); }}\", '<li layim-event=\"setSkin\"><cite>简约</cite></li>', \"</ul>\"].join(\"\"),\n        f = ['<div class=\"layim-chat layim-chat-{{d.data.type}}{{d.first ? \" layui-show\" : \"\"}}\">', '<div class=\"layui-unselect layim-chat-title\">', '<div class=\"layim-chat-other\">', '<img class=\"layim-{{ d.data.type }}{{ d.data.id }}\" src=\"{{ d.data.avatar }}\"><span class=\"layim-chat-username\" layim-event=\"{{ d.data.type===\"group\" ? \"groupMembers\" : \"\" }}\">{{ d.data.name||\"佚名\" }} {{d.data.temporary ? \"<cite>临时会话</cite>\" : \"\"}} {{# if(d.data.type===\"group\"){ }} <em class=\"layim-chat-members\"></em><i class=\"layui-icon\">&#xe61a;</i> {{# } }}</span>', '<p class=\"layim-chat-status\"></p>', \"</div>\", \"</div>\", '<div class=\"layim-chat-main\">', \"<ul></ul>\", \"</div>\", '<div class=\"layim-chat-footer\">', '<div class=\"layui-unselect layim-chat-tool\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\">', '<span class=\"layui-icon layim-tool-face\" title=\"选择表情\" layim-event=\"face\">&#xe60c;</span><span class=\"layui-icon layim-tool-face\" title=\"发送语音消息\" onclick=\"window.audioMessage(this);\"  data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\">&#xe688;</span><span class=\"layui-icon layim-tool-face\" title=\"进行视频聊天\" onclick=\"window.videoChat(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#xe6ed;</span>   <span class=\"layui-icon layim-tool-face\" title=\"进行语音聊天\" onclick=\"window.makeacall(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#xe6fc;</span>         <span class=\"layui-icon layim-tool-face\" title=\"删除该用户\" onclick=\"window.removeThisFriend(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#x1006;</span>    ', \"{{# if(d.base && d.base.uploadImage){ }}\", '<span class=\"layui-icon layim-tool-image\" title=\"上传图片\" layim-event=\"image\">&#xe60d;<input type=\"file\" name=\"file\"></span>', \"{{# }; }}\", \"{{# if(d.base && d.base.uploadFile){ }}\", '<span class=\"layui-icon layim-tool-image\" title=\"发送文件\" layim-event=\"image\" data-type=\"file\">&#xe61d;<input type=\"file\" name=\"file\"></span>', \"{{# }; }}\", \"{{# if(d.base && d.base.isAudio){ }}\", '<span class=\"layui-icon layim-tool-audio\" title=\"发送网络音频\" layim-event=\"media\" data-type=\"audio\">&#xe6fc;</span>', \"{{# }; }}\", \"{{# if(d.base && d.base.isVideo){ }}\", '<span class=\"layui-icon layim-tool-video\" title=\"发送网络视频\" layim-event=\"media\" data-type=\"video\">&#xe6ed;</span>', \"{{# }; }}\", \"{{# layui.each(d.base.tool, function(index, item){ }}\", '<span class=\"layui-icon layim-tool-{{item.alias}}\" title=\"{{item.title}}\" layim-event=\"extend\" lay-filter=\"{{ item.alias }}\">{{item.icon}}</span>', \"{{# }); }}\", \"{{# if(d.base && d.base.chatLog){ }}\", '<span class=\"layim-tool-log\" layim-event=\"chatLog\"><i class=\"layui-icon\">&#xe60e;</i>聊天记录</span>', \"{{# }; }}\", \"</div>\", '<div class=\"layim-chat-textarea\"><textarea></textarea></div>', '<div class=\"layim-chat-bottom\">', '<div class=\"layim-chat-send\">', \"{{# if(!d.base.brief){ }}\", '<span class=\"layim-send-close\" layim-event=\"closeThisChat\">关闭</span>', \"{{# } }}\", '<span class=\"layim-send-btn\" layim-event=\"send\">发送</span>', '<span class=\"layim-send-set\" layim-event=\"setSend\" lay-type=\"show\"><em class=\"layui-edge\"></em></span>', '<ul class=\"layui-anim layim-menu-box\">', '<li {{d.local.sendHotKey !== \"Ctrl+Enter\" ? \"class=layim-this\" : \"\"}} layim-event=\"setSend\" lay-type=\"Enter\"><i class=\"layui-icon\">&#xe618;</i>按Enter键发送消息</li>', '<li {{d.local.sendHotKey === \"Ctrl+Enter\" ? \"class=layim-this\" : \"\"}} layim-event=\"setSend\"  lay-type=\"Ctrl+Enter\"><i class=\"layui-icon\">&#xe618;</i>按Ctrl+Enter键发送消息</li>', \"</ul>\", \"</div>\", \"</div>\", \"</div>\", \"</div>\"].join(\"\"),\n        p = ['<div class=\"layim-add-box\">', '<div class=\"layim-add-img\"><img class=\"layui-circle\" src=\"{{ d.data.avatar }}\"><p>{{ d.data.name||\"\" }}</p></div>', '<div class=\"layim-add-remark\">', '{{# if(d.data.type === \"friend\" && d.type === \"setGroup\"){ }}', \"<p>选择分组</p>\", '{{# } if(d.data.type === \"friend\"){ }}', '<select class=\"layui-select\" id=\"LAY_layimGroup\">', \"{{# layui.each(d.data.group, function(index, item){ }}\", '<option value=\"{{ item.id }}\">{{ item.groupname }}</option>', \"{{# }); }}\", \"</select>\", \"{{# } }}\", '{{# if(d.data.type === \"group\"){ }}', \"<p>请输入验证信息</p>\", '{{# } if(d.type !== \"setGroup\"){ }}', '<textarea id=\"LAY_layimRemark\" placeholder=\"验证信息\" class=\"layui-textarea\"></textarea>', \"{{# } }}\", \"</div>\", \"</div>\"].join(\"\"),\n        h = ['<li {{ d.mine ? \"class=layim-chat-mine\" : \"\" }} {{# if(d.cid){ }}data-cid=\"{{d.cid}}\"{{# } }}>', '<div class=\"layim-chat-user\"><img src=\"{{ d.avatar }}\"><cite>', \"{{# if(d.mine){ }}\", '<i>{{ layui.data.date(d.timestamp) }}</i>{{ d.username||\"佚名\" }}', \"{{# } else { }}\", '{{ d.username||\"佚名\" }}<i>{{ layui.data.date(d.timestamp) }}</i>', \"{{# } }}\", \"</cite></div>\", '<div class=\"layim-chat-text\">{{ layui.data.content(d.content||\"&nbsp\") }}</div>', \"</li>\"].join(\"\"),\n        v = '<li class=\"layim-{{ d.data.type }}{{ d.data.id }} layim-chatlist-{{ d.data.type }}{{ d.data.id }} layim-this\" layim-event=\"tabChat\"><img src=\"{{ d.data.avatar }}\"><span>{{ d.data.name||\"佚名\" }}</span>{{# if(!d.base.brief){ }}<i class=\"layui-icon\" layim-event=\"closeChat\">&#x1007;</i>{{# } }}</li>',\n        g = function (i) {\n            return i < 10 ? \"0\" + (0 | i) : i\n        };\n    layui.data.date = function (i) {\n        var a = new Date(i || new Date);\n        return a.getFullYear() + \"-\" + g(a.getMonth() + 1) + \"-\" + g(a.getDate()) + \" \" + g(a.getHours()) + \":\" + g(a.getMinutes()) + \":\" + g(a.getSeconds())\n    }, layui.data.content = function (i) {\n        var a = function (i) {\n            return new RegExp(\"\\\\n*\\\\[\" + (i || \"\") + \"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\\\s\\\\S]*?)\\\\]\\\\n*\", \"g\")\n        };\n        return i = (i || \"\").replace(/&(?!#?[a-zA-Z0-9]+;)/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/'/g, \"&#39;\").replace(/\"/g, \"&quot;\").replace(/@(\\S+)(\\s+?|$)/g, '@<a href=\"javascript:;\">$1</a>$2').replace(/face\\[([^\\s\\[\\]]+?)\\]/g, function (i) {\n            var a = i.replace(/^face/g, \"\");\n            return '<img alt=\"' + a + '\" title=\"' + a + '\" src=\"' + X[a] + '\">'\n        }).replace(/img\\[([^\\s]+?)\\]/g, function (i) {\n            return '<img class=\"layui-layim-photos\" src=\"' + i.replace(/(^img\\[)|(\\]$)/g, \"\") + '\">'\n        }).replace(/file\\([\\s\\S]+?\\)\\[[\\s\\S]*?\\]/g, function (i) {\n            var a = (i.match(/file\\(([\\s\\S]+?)\\)\\[/) || [])[1], e = (i.match(/\\)\\[([\\s\\S]*?)\\]/) || [])[1];\n            return a ? '<a class=\"layui-layim-file\" href=\"' + a + '\" download target=\"_blank\"><i class=\"layui-icon\">&#xe61e;</i><cite>' + (e || a) + \"</cite></a>\" : i\n        }).replace(/audio\\[([^\\s]+?)\\]/g, function (i) {\n            return '<div class=\"layui-unselect layui-layim-audio\" layim-event=\"playAudio\" data-src=\"' + i.replace(/(^audio\\[)|(\\]$)/g, \"\") + '\"><i class=\"layui-icon\">&#xe652;</i><p>音频消息</p></div>'\n        }).replace(/video\\[([^\\s]+?)\\]/g, function (i) {\n            return '<div class=\"layui-unselect layui-layim-video\" layim-event=\"playVideo\" data-src=\"' + i.replace(/(^video\\[)|(\\]$)/g, \"\") + '\"><i class=\"layui-icon\">&#xe652;</i></div>'\n        }).replace(/a\\([\\s\\S]+?\\)\\[[\\s\\S]*?\\]/g, function (i) {\n            var a = (i.match(/a\\(([\\s\\S]+?)\\)\\[/) || [])[1], e = (i.match(/\\)\\[([\\s\\S]*?)\\]/) || [])[1];\n            return a ? '<a href=\"' + a + '\" target=\"_blank\">' + (e || a) + \"</a>\" : i\n        }).replace(a(), \"<$1 $2>\").replace(a(\"/\"), \"</$1>\").replace(/\\n/g, \"<br>\")\n    };\n    var x, b, w, k, C, S = function (i, a, n) {\n        return i = i || {}, e.ajax({\n            url: i.url,\n            type: i.type || \"get\",\n            data: i.data,\n            dataType: i.dataType || \"json\",\n            cache: !1,\n            success: function (i) {\n                0 == i.code ? a && a(i.data || {}) : t.msg(i.msg || (n || \"Error\") + \": LAYIM_NOT_GET_DATA\", {time: 5e3})\n            },\n            error: function (i, a) {\n                window.console && console.log && console.error(\"LAYIM_DATE_ERROR：\" + a)\n            }\n        })\n    }, j = {message: {}, chat: []}, H = function (i) {\n        var a = i.init || {};\n        return mine = a.mine || {}, local = layui.data(\"layim\")[mine.id] || {}, obj = {\n            base: i,\n            local: local,\n            mine: mine,\n            history: local.history || {}\n        }, create = function (a) {\n            var t = a.mine || {}, l = layui.data(\"layim\")[t.id] || {}, s = {\n                base: i,\n                local: l,\n                mine: t,\n                friend: a.friend || [],\n                group: a.group || [],\n                history: l.history || {}\n            };\n            j = e.extend(j, s), L(n(y).render(s)), (l.close || i.min) && T(), layui.each(r.ready, function (i, a) {\n                a && a(s)\n            })\n        }, j = e.extend(j, obj), i.brief ? layui.each(r.ready, function (i, a) {\n            a && a(obj)\n        }) : void(a.url ? S(a, create, \"INIT\") : create(a))\n    }, L = function (i) {\n        return t.open({\n            type: 1,\n            area: [\"260px\", \"520px\"],\n            skin: \"layui-box layui-layim\",\n            title: \"&#8203;\",\n            offset: \"rb\",\n            id: \"layui-layim\",\n            shade: !1,\n            anim: 2,\n            resize: !1,\n            content: i,\n            success: function (i) {\n                x = i, R(i), j.base.right && i.css(\"margin-left\", \"-\" + j.base.right), b && t.close(b.attr(\"times\"));\n                var a = [], n = i.find(\".layim-list-history\");\n                n.find(\"li\").each(function () {\n                    a.push(e(this).prop(\"outerHTML\"))\n                }), a.length > 0 && (a.reverse(), n.html(a.join(\"\"))), A(), ti.sign()\n            },\n            cancel: function (i) {\n                T();\n                var a = layui.data(\"layim\")[j.mine.id] || {};\n                return a.close = !0, layui.data(\"layim\", {key: j.mine.id, value: a}), !1\n            }\n        })\n    }, A = function () {\n        x.on(\"contextmenu\", function (i) {\n            return i.cancelBubble = !0, i.returnValue = !1, !1\n        });\n        var i = function () {\n            t.closeAll(\"tips\")\n        };\n        x.find(\".layim-list-history\").on(\"contextmenu\", \"li\", function (a) {\n            var n = e(this),\n                l = '<ul data-id=\"' + n[0].id + '\" data-index=\"' + n.data(\"index\") + '\"><li layim-event=\"menuHistory\" data-type=\"one\">移除该会话</li><li layim-event=\"menuHistory\" data-type=\"all\">清空全部会话列表</li></ul>';\n            n.hasClass(\"layim-null\") || (t.tips(l, this, {\n                tips: 1,\n                time: 0,\n                anim: 5,\n                fixed: !0,\n                skin: \"layui-box layui-layim-contextmenu\",\n                success: function (i) {\n                    var a = function (i) {\n                        ii(i)\n                    };\n                    i.off(\"mousedown\", a).on(\"mousedown\", a)\n                }\n            }), e(document).off(\"mousedown\", i).on(\"mousedown\", i), e(window).off(\"resize\", i).on(\"resize\", i))\n        })\n    }, T = function (i) {\n        return b && t.close(b.attr(\"times\")), x && x.hide(), j.mine = j.mine || {}, t.open({\n            type: 1,\n            title: !1,\n            id: \"layui-layim-close\",\n            skin: \"layui-box layui-layim-min layui-layim-close\",\n            shade: !1,\n            closeBtn: !1,\n            anim: 2,\n            offset: \"rb\",\n            resize: !1,\n            content: '<img src=\"' + (j.mine.avatar || layui.cache.dir + \"css/pc/layim/skin/logo.jpg\") + '\"><span>' + (i || j.base.title || \"我的LayIM\") + \"</span>\",\n            move: \"#layui-layim-close img\",\n            success: function (i, a) {\n                b = i, j.base.right && i.css(\"margin-left\", \"-\" + j.base.right), i.on(\"click\", function () {\n                    t.close(a), x.show();\n                    var i = layui.data(\"layim\")[j.mine.id] || {};\n                    delete i.close, layui.data(\"layim\", {key: j.mine.id, value: i})\n                })\n            }\n        })\n    }, z = function (i) {\n        i = i || {};\n        var a = e(\"#layui-layim-chat\"), l = {data: i, base: j.base, local: j.local};\n        if (!i.id) return t.msg(\"非法用户\");\n        if (a[0]) {\n            var s = w.find(\".layim-chat-list\"), o = s.find(\".layim-chatlist-\" + i.type + i.id),\n                d = w.find(\".layui-layer-max\").hasClass(\"layui-layer-maxmin\"), c = a.children(\".layim-chat-box\");\n            return \"none\" === w.css(\"display\") && w.show(), k && t.close(k.attr(\"times\")), 1 !== s.find(\"li\").length || o[0] || (d || w.css(\"width\", 800), s.css({height: w.height()}).show(), c.css(\"margin-left\", \"200px\")), o[0] || (s.append(n(v).render(l)), c.append(n(f).render(l)), I(i), E()), O(s.find(\".layim-chatlist-\" + i.type + i.id)), o[0] || U(), $(i), Q(), C\n        }\n        l.first = !0;\n        var u = C = t.open({\n            type: 1,\n            area: \"600px\",\n            skin: \"layui-box layui-layim-chat\",\n            id: \"layui-layim-chat\",\n            title: \"&#8203;\",\n            shade: !1,\n            maxmin: !0,\n            offset: i.offset || \"auto\",\n            anim: i.anim || 0,\n            closeBtn: !j.base.brief && 1,\n            content: n('<ul class=\"layui-unselect layim-chat-list\">' + v + '</ul><div class=\"layim-chat-box\">' + f + \"</div>\").render(l),\n            success: function (a) {\n                w = a, a.css({\n                    \"min-width\": \"500px\",\n                    \"min-height\": \"420px\"\n                }), I(i), \"function\" == typeof i.success && i.success(a), Q(), R(a), $(i), U(), q(), layui.each(r.chatChange, function (i, a) {\n                    a && a(_())\n                }), a.on(\"dblclick\", \".layui-layim-photos\", function () {\n                    var i = this.src;\n                    t.close(z.photosIndex), t.photos({\n                        photos: {data: [{alt: \"大图模式\", src: i}]},\n                        shade: .01,\n                        closeBtn: 2,\n                        anim: 0,\n                        resize: !1,\n                        success: function (i, a) {\n                            z.photosIndex = a\n                        }\n                    })\n                })\n            },\n            full: function (i) {\n                t.style(u, {width: \"100%\", height: \"100%\"}, !0), E()\n            },\n            resizing: E,\n            restore: E,\n            min: function () {\n                return N(), !1\n            },\n            end: function () {\n                t.closeAll(\"tips\"), w = null\n            }\n        });\n        return u\n    }, I = function (i) {\n        e(\".layim-\" + i.type + i.id).each(function () {\n            e(this).hasClass(\"layim-list-gray\") && layui.layim.setFriendStatus(i.id, \"offline\")\n        })\n    }, E = function () {\n        var i = w.find(\".layim-chat-list\"), a = w.find(\".layim-chat-main\"), e = w.height();\n        i.css({height: e}), a.css({height: e - 20 - 80 - 158})\n    }, N = function (i) {\n        var a = i || _().data, n = layui.layim.cache().base;\n        w && !i && w.hide(), t.close(N.index), N.index = t.open({\n            type: 1,\n            title: !1,\n            skin: \"layui-box layui-layim-min\",\n            shade: !1,\n            closeBtn: !1,\n            anim: a.anim || 2,\n            offset: \"b\",\n            move: \"#layui-layim-min\",\n            resize: !1,\n            area: [\"182px\", \"50px\"],\n            content: '<img id=\"layui-layim-min\" src=\"' + a.avatar + '\"><span>' + a.name + \"</span>\",\n            success: function (a, l) {\n                i || (k = a), n.minRight && t.style(l, {left: e(window).width() - a.outerWidth() - parseFloat(n.minRight)}), a.find(\".layui-layer-content span\").on(\"click\", function () {\n                    t.close(l), i ? layui.each(j.chat, function (i, a) {\n                        z(a)\n                    }) : w.show(), i && (j.chat = [], Z())\n                }), a.find(\".layui-layer-content img\").on(\"click\", function (i) {\n                    ii(i)\n                })\n            }\n        })\n    }, M = function (i, a) {\n        return i = i || {}, t.close(M.index), M.index = t.open({\n            type: 1,\n            area: \"430px\",\n            title: {friend: \"添加好友\", group: \"加入群组\"}[i.type] || \"\",\n            shade: !1,\n            resize: !1,\n            btn: a ? [\"确认\", \"取消\"] : [\"发送申请\", \"关闭\"],\n            content: n(p).render({\n                data: {\n                    name: i.username || i.groupname,\n                    avatar: i.avatar,\n                    group: i.group || parent.layui.layim.cache().friend || [],\n                    type: i.type\n                }, type: a\n            }),\n            yes: function (e, t) {\n                var n = t.find(\"#LAY_layimGroup\"), l = t.find(\"#LAY_layimRemark\");\n                a ? i.submit && i.submit(n.val(), e) : i.submit && i.submit(n.val(), l.val(), e)\n            }\n        })\n    }, O = function (i, a) {\n        i = i || e(\".layim-chat-list .\" + o);\n        var n = i.index() === -1 ? 0 : i.index(), l = \".layim-chat\", d = w.find(l).eq(n),\n            c = w.find(\".layui-layer-max\").hasClass(\"layui-layer-maxmin\");\n        if (a) {\n            i.hasClass(o) && O(0 === n ? i.next() : i.prev());\n            var u = w.find(l).length;\n            return 1 === u ? t.close(C) : (i.remove(), d.remove(), 2 === u && (w.find(\".layim-chat-list\").hide(), c || w.css(\"width\", \"600px\"), w.find(\".layim-chat-box\").css(\"margin-left\", 0)), !1)\n        }\n        i.addClass(o).siblings().removeClass(o), d.addClass(s).siblings(l).removeClass(s), d.find(\"textarea\").focus(), layui.each(r.chatChange, function (i, a) {\n            a && a(_())\n        }), q()\n    }, q = function () {\n        var i = _(), a = j.message[i.data.type + i.data.id];\n        a && delete j.message[i.data.type + i.data.id]\n    }, _ = function () {\n        if (w) {\n            var i = e(\".layim-chat-list .\" + o).index(), a = w.find(\".layim-chat\").eq(i),\n                t = JSON.parse(decodeURIComponent(a.find(\".layim-chat-tool\").data(\"json\")));\n            return {elem: a, data: t, textarea: a.find(\"textarea\")}\n        }\n    }, R = function (i) {\n        var a = layui.data(\"layim\")[j.mine.id] || {}, e = a.skin;\n        i.css({\n            \"background-image\": e ? \"url(\" + e + \")\" : function () {\n                return j.base.initSkin ? \"url(\" + (layui.cache.dir + \"css/modules/layim/skin/\" + j.base.initSkin) + \")\" : \"none\"\n            }()\n        })\n    }, $ = function (i) {\n        var a = layui.data(\"layim\")[j.mine.id] || {}, e = {}, t = a.history || {}, l = t[i.type + i.id];\n        if (x) {\n            var s = x.find(\".layim-list-history\");\n            if (i.historyTime = (new Date).getTime(), t[i.type + i.id] = i, a.history = t, layui.data(\"layim\", {\n                    key: j.mine.id,\n                    value: a\n                }), !l) {\n                e[i.type + i.id] = i;\n                var o = n(u({type: \"history\", item: \"d.data\"})).render({data: e});\n                s.prepend(o), s.find(\".layim-null\").remove()\n            }\n        }\n    }, D = function () {\n        var i = {\n            username: j.mine ? j.mine.username : \"访客\",\n            avatar: j.mine ? j.mine.avatar : layui.cache.dir + \"css/pc/layim/skin/logo.jpg\",\n            id: j.mine ? j.mine.id : null,\n            mine: !0\n        }, a = _(), e = a.elem.find(\".layim-chat-main ul\"), l = j.base.maxLength || 3e3;\n        if (i.content = a.textarea.val(), \"\" !== i.content.replace(/\\s/g, \"\")) {\n            if (i.content.length > l) return t.msg(\"内容最长不能超过\" + l + \"个字符\");\n            e.append(n(h).render(i));\n            var s = {mine: i, to: a.data}, o = {\n                username: s.mine.username,\n                avatar: s.mine.avatar,\n                id: s.to.id,\n                type: s.to.type,\n                content: s.mine.content,\n                timestamp: (new Date).getTime(),\n                mine: !0\n            };\n            B(o), layui.each(r.sendMessage, function (i, a) {\n                a && a(s)\n            })\n        }\n        Z(), a.textarea.val(\"\").focus()\n    }, J = function (i) {\n        if (i = i || {}, window.Notification) if (\"granted\" === Notification.permission) {\n            new Notification(i.title || \"\", {\n                body: i.content || \"\",\n                icon: i.avatar || \"http://tp2.sinaimg.cn/5488749285/50/5719808192/1\"\n            })\n        } else Notification.requestPermission()\n    }, F = function () {\n        if (!(l.ie && l.ie < 9)) {\n            var i = document.createElement(\"audio\");\n            i.src = layui.cache.dir + \"css/modules/layim/voice/\" + j.base.voice, i.play()\n        }\n    }, G = {}, K = function (i) {\n        i = i || {};\n        var a = e(\".layim-chatlist-\" + i.type + i.id), t = {}, l = a.index();\n        if (i.timestamp = i.timestamp || (new Date).getTime(), i.fromid == j.mine.id && (i.mine = !0), i.system || B(i), G = JSON.parse(JSON.stringify(i)), j.base.voice && F(), !w && i.content || l === -1) {\n            if (j.message[i.type + i.id]) j.message[i.type + i.id].push(i); else if (j.message[i.type + i.id] = [i], \"friend\" === i.type) {\n                var s;\n                layui.each(j.friend, function (a, e) {\n                    if (layui.each(e.list, function (a, e) {\n                            if (e.id == i.id) return e.type = \"friend\", e.name = e.username, j.chat.push(e), s = !0\n                        }), s) return !0\n                }), s || (i.name = i.username, i.temporary = !0, j.chat.push(i))\n            } else if (\"group\" === i.type) {\n                var o;\n                layui.each(j.group, function (a, e) {\n                    if (e.id == i.id) return e.type = \"group\", e.name = e.groupname, j.chat.push(e), o = !0\n                }), o || (i.name = i.groupname, j.chat.push(i))\n            } else i.name = i.name || i.username || i.groupname, j.chat.push(i);\n            if (\"group\" === i.type && layui.each(j.group, function (a, e) {\n                    if (e.id == i.id) return t.avatar = e.avatar, !0\n                }), !i.system) return j.base.notice && J({\n                title: \"来自 \" + i.username + \" 的消息\",\n                content: i.content,\n                avatar: t.avatar || i.avatar\n            }), N({name: \"收到新消息\", avatar: t.avatar || i.avatar, anim: 6})\n        }\n        if (w) {\n            var d = _();\n            d.data.type + d.data.id !== i.type + i.id && (a.addClass(\"layui-anim layer-anim-06\"), setTimeout(function () {\n                a.removeClass(\"layui-anim layer-anim-06\")\n            }, 300));\n            var r = w.find(\".layim-chat\").eq(l), c = r.find(\".layim-chat-main ul\");\n            i.system ? l !== -1 && c.append('<li class=\"layim-chat-system\"><span>' + i.content + \"</span></li>\") : \"\" !== i.content.replace(/\\s/g, \"\") && c.append(n(h).render(i)), Z()\n        }\n    }, Y = \"layui-anim-loop layer-anim-05\", V = function (i) {\n        var a = x.find(\".layim-tool-msgbox\");\n        a.find(\"span\").addClass(Y).html(i)\n    }, B = function (i) {\n        var a = layui.data(\"layim\")[j.mine.id] || {};\n        a.chatlog = a.chatlog || {};\n        var e = a.chatlog[i.type + i.id];\n        if (e) {\n            var t;\n            layui.each(e, function (a, e) {\n                e.timestamp === i.timestamp && e.type === i.type && e.id === i.id && e.content === i.content && (t = !0)\n            }), t || i.fromid == j.mine.id || e.push(i), e.length > d && e.shift()\n        } else a.chatlog[i.type + i.id] = [i];\n        layui.data(\"layim\", {key: j.mine.id, value: a})\n    }, U = function () {\n        var i = layui.data(\"layim\")[j.mine.id] || {}, a = _(), e = i.chatlog || {},\n            t = a.elem.find(\".layim-chat-main ul\");\n        layui.each(e[a.data.type + a.data.id], function (i, a) {\n            t.append(n(h).render(a))\n        }), Z()\n    }, P = function (i) {\n        var a, e = {}, l = x.find(\".layim-list-\" + i.type);\n        if (j[i.type]) if (\"friend\" === i.type) layui.each(j.friend, function (n, l) {\n            if (i.groupid == l.id) return layui.each(j.friend[n].list, function (e, t) {\n                if (t.id == i.id) return a = !0\n            }), a ? t.msg(\"好友 [\" + (i.username || \"\") + \"] 已经存在列表中\", {anim: 6}) : (j.friend[n].list = j.friend[n].list || [], e[j.friend[n].list.length] = i, i.groupIndex = n, j.friend[n].list.push(i), !0)\n        }); else if (\"group\" === i.type) {\n            if (layui.each(j.group, function (e, t) {\n                    if (t.id == i.id) return a = !0\n                }), a) return t.msg(\"您已是 [\" + (i.groupname || \"\") + \"] 的群成员\", {anim: 6});\n            e[j.group.length] = i, j.group.push(i)\n        }\n        if (!a) {\n            var s = n(u({\n                type: i.type,\n                item: \"d.data\",\n                index: \"friend\" === i.type ? \"data.groupIndex\" : null\n            })).render({data: e});\n            if (\"friend\" === i.type) {\n                var o = l.find(\">li\").eq(i.groupIndex);\n                o.find(\".layui-layim-list\").append(s), o.find(\".layim-count\").html(j.friend[i.groupIndex].list.length), o.find(\".layim-null\")[0] && o.find(\".layim-null\").remove()\n            } else \"group\" === i.type && (l.append(s), l.find(\".layim-null\")[0] && l.find(\".layim-null\").remove())\n        }\n    }, W = function (i) {\n        var a = x.find(\".layim-list-\" + i.type);\n        j[i.type] && (\"friend\" === i.type ? layui.each(j.friend, function (e, t) {\n            layui.each(t.list, function (t, n) {\n                if (i.id == n.id) {\n                    var l = a.find(\">li\").eq(e);\n                    l.find(\".layui-layim-list>li\");\n                    return l.find(\".layui-layim-list>li\").eq(t).remove(), j.friend[e].list.splice(t, 1), l.find(\".layim-count\").html(j.friend[e].list.length), 0 === j.friend[e].list.length && l.find(\".layui-layim-list\").html('<li class=\"layim-null\">该分组下已无好友了</li>'), !0\n                }\n            })\n        }) : \"group\" === i.type && layui.each(j.group, function (e, t) {\n            if (i.id == t.id) return a.find(\">li\").eq(e).remove(), j.group.splice(e, 1), 0 === j.group.length && a.html('<li class=\"layim-null\">暂无群组</li>'), !0\n        }))\n    }, Z = function () {\n        var i = _(), a = i.elem.find(\".layim-chat-main\"), e = a.find(\"ul\"), t = e.find(\"li\").length;\n        if (t >= d) {\n            var n = e.find(\"li\").eq(0);\n            e.prev().hasClass(\"layim-chat-system\") || e.before('<div class=\"layim-chat-system\"><span layim-event=\"chatLog\">查看更多记录</span></div>'), t > d && n.remove()\n        }\n        a.scrollTop(a[0].scrollHeight + 1e3), a.find(\"ul li:last\").find(\"img\").load(function () {\n            a.scrollTop(a[0].scrollHeight + 1e3)\n        })\n    }, Q = function () {\n        var i = _(), a = i.textarea;\n        a.focus(), a.off(\"keydown\").on(\"keydown\", function (i) {\n            var e = layui.data(\"layim\")[j.mine.id] || {}, t = i.keyCode;\n            if (\"Ctrl+Enter\" === e.sendHotKey) return void(i.ctrlKey && 13 === t && D());\n            if (13 === t) {\n                if (i.ctrlKey) return a.val(a.val() + \"\\n\");\n                if (i.shiftKey) return;\n                i.preventDefault(), D()\n            }\n        })\n    }, X = function () {\n        var i = [\"[微笑]\", \"[嘻嘻]\", \"[哈哈]\", \"[可爱]\", \"[可怜]\", \"[挖鼻]\", \"[吃惊]\", \"[害羞]\", \"[挤眼]\", \"[闭嘴]\", \"[鄙视]\", \"[爱你]\", \"[泪]\", \"[偷笑]\", \"[亲亲]\", \"[生病]\", \"[太开心]\", \"[白眼]\", \"[右哼哼]\", \"[左哼哼]\", \"[嘘]\", \"[衰]\", \"[委屈]\", \"[吐]\", \"[哈欠]\", \"[抱抱]\", \"[怒]\", \"[疑问]\", \"[馋嘴]\", \"[拜拜]\", \"[思考]\", \"[汗]\", \"[困]\", \"[睡]\", \"[钱]\", \"[失望]\", \"[酷]\", \"[色]\", \"[哼]\", \"[鼓掌]\", \"[晕]\", \"[悲伤]\", \"[抓狂]\", \"[黑线]\", \"[阴险]\", \"[怒骂]\", \"[互粉]\", \"[心]\", \"[伤心]\", \"[猪头]\", \"[熊猫]\", \"[兔子]\", \"[ok]\", \"[耶]\", \"[good]\", \"[NO]\", \"[赞]\", \"[来]\", \"[弱]\", \"[草泥马]\", \"[神马]\", \"[囧]\", \"[浮云]\", \"[给力]\", \"[围观]\", \"[威武]\", \"[奥特曼]\", \"[礼物]\", \"[钟]\", \"[话筒]\", \"[蜡烛]\", \"[蛋糕]\"],\n            a = {};\n        return layui.each(i, function (i, e) {\n            a[e] = layui.cache.dir + \"images/face/\" + i + \".gif\"\n        }), a\n    }(), ii = layui.stope, ai = function (i, a) {\n        var e, t = i.value;\n        i.focus(), document.selection ? (e = document.selection.createRange(), document.selection.empty(), e.text = a) : (e = [t.substring(0, i.selectionStart), a, t.substr(i.selectionEnd)], i.focus(), i.value = e.join(\"\"))\n    }, ei = \"layui-anim-upbit\", ti = {\n        status: function (i, a) {\n            var t = function () {\n                i.next().hide().removeClass(ei)\n            }, n = i.attr(\"lay-type\");\n            if (\"show\" === n) ii(a), i.next().show().addClass(ei), e(document).off(\"click\", t).on(\"click\", t); else {\n                var l = i.parent().prev();\n                i.addClass(o).siblings().removeClass(o), l.html(i.find(\"cite\").html()), l.removeClass(\"layim-status-\" + (\"online\" === n ? \"hide\" : \"online\")).addClass(\"layim-status-\" + n), layui.each(r.online, function (i, a) {\n                    a && a(n)\n                })\n            }\n        }, sign: function () {\n            var i = x.find(\".layui-layim-remark\");\n            i.on(\"change\", function () {\n                var i = this.value;\n                layui.each(r.sign, function (a, e) {\n                    e && e(i)\n                })\n            }), i.on(\"keyup\", function (i) {\n                var a = i.keyCode;\n                13 === a && this.blur()\n            })\n        }, tab: function (i) {\n            var a, e = \".layim-tab-content\", t = x.find(\".layui-layim-tab>li\");\n            \"number\" == typeof i ? (a = i, i = t.eq(a)) : a = i.index(), a > 2 ? t.removeClass(o) : (ti.tab.index = a, i.addClass(o).siblings().removeClass(o)), x.find(e).eq(a).addClass(s).siblings(e).removeClass(s)\n        }, spread: function (i) {\n            var a = i.attr(\"lay-type\"), e = \"true\" === a ? \"false\" : \"true\", t = layui.data(\"layim\")[j.mine.id] || {};\n            i.next()[\"true\" === a ? \"removeClass\" : \"addClass\"](s), t[\"spread\" + i.parent().index()] = e, layui.data(\"layim\", {\n                key: j.mine.id,\n                value: t\n            }), i.attr(\"lay-type\", e), i.find(\".layui-icon\").html(\"true\" === e ? \"&#xe61a;\" : \"&#xe602;\")\n        }, search: function (i) {\n            var a = x.find(\".layui-layim-search\"), e = x.find(\"#layui-layim-search\"), t = a.find(\"input\"),\n                n = function (i) {\n                    var a = t.val().replace(/\\s/);\n                    if (\"\" === a) ti.tab(0 | ti.tab.index); else {\n                        for (var n = [], l = j.friend || [], s = j.group || [], o = \"\", d = 0; d < l.length; d++) for (var r = 0; r < (l[d].list || []).length; r++) l[d].list[r].username.indexOf(a) !== -1 && (l[d].list[r].type = \"friend\", l[d].list[r].index = d, l[d].list[r].list = r, n.push(l[d].list[r]));\n                        for (var c = 0; c < s.length; c++) s[c].groupname.indexOf(a) !== -1 && (s[c].type = \"group\", s[c].index = c, s[c].list = c, n.push(s[c]));\n                        if (n.length > 0) for (var u = 0; u < n.length; u++) o += '<li layim-event=\"chat\" data-type=\"' + n[u].type + '\" data-index=\"' + n[u].index + '\" data-list=\"' + n[u].list + '\"><img src=\"' + n[u].avatar + '\"><span>' + (n[u].username || n[u].groupname || \"佚名\") + \"</span><p>\" + (n[u].remark || n[u].sign || \"\") + \"</p></li>\"; else o = '<li class=\"layim-null\">无搜索结果</li>';\n                        e.html(o), ti.tab(3)\n                    }\n                };\n            !j.base.isfriend && j.base.isgroup ? ti.tab.index = 1 : j.base.isfriend || j.base.isgroup || (ti.tab.index = 2), a.show(), t.focus(), t.off(\"keyup\", n).on(\"keyup\", n)\n        }, closeSearch: function (i) {\n            i.parent().hide(), ti.tab(0 | ti.tab.index)\n        }, msgbox: function () {\n            var i = x.find(\".layim-tool-msgbox\");\n            return t.close(ti.msgbox.index), i.find(\"span\").removeClass(Y).html(\"\"), ti.msgbox.index = t.open({\n                type: 2,\n                title: \"消息盒子\",\n                shade: !1,\n                maxmin: !0,\n                area: [\"600px\", \"520px\"],\n                skin: \"layui-box layui-layer-border\",\n                resize: !1,\n                content: j.base.msgbox\n            })\n        }, find: function () {\n            return t.close(ti.find.index), ti.find.index = t.open({\n                type: 2,\n                title: \"查找\",\n                shade: !1,\n                maxmin: !0,\n                area: [\"1000px\", \"520px\"],\n                skin: \"layui-box layui-layer-border\",\n                resize: !1,\n                content: j.base.find\n            })\n        }, skin: function () {\n            t.open({\n                type: 1,\n                title: \"更换背景\",\n                shade: !1,\n                area: \"300px\",\n                skin: \"layui-box layui-layer-border\",\n                id: \"layui-layim-skin\",\n                zIndex: 66666666,\n                resize: !1,\n                content: n(m).render({skin: j.base.skin})\n            })\n        }, about: function () {\n            t.alert(\"版本： \" + a + '<br>版权所有：<a href=\"http://layim.layui.com\" target=\"_blank\">layim.layui.com</a> 本人已经购买正式版，拥有版权，可放心使用<br>', {\n                title: \"关于 LayIM\",\n                shade: !1\n            })\n        }, setSkin: function (i) {\n            var a = i.attr(\"src\"), e = layui.data(\"layim\")[j.mine.id] || {};\n            e.skin = a, a || delete e.skin, layui.data(\"layim\", {key: j.mine.id, value: e});\n            try {\n                x.css({\"background-image\": a ? \"url(\" + a + \")\" : \"none\"}), w.css({\"background-image\": a ? \"url(\" + a + \")\" : \"none\"})\n            } catch (t) {\n            }\n            layui.each(r.setSkin, function (i, e) {\n                var t = (a || \"\").replace(layui.cache.dir + \"css/modules/layim/skin/\", \"\");\n                e && e(t, a)\n            })\n        }, chat: function (i) {\n            var a = layui.data(\"layim\")[j.mine.id] || {}, e = i.data(\"type\"), t = i.data(\"index\"),\n                n = i.attr(\"data-list\") || i.index(), l = {};\n            \"friend\" === e ? l = j[e][t].list[n] : \"group\" === e ? l = j[e][n] : \"history\" === e && (l = (a.history || {})[t] || {}), l.name = l.name || l.username || l.groupname, \"history\" !== e && (l.type = e), z(l)\n        }, tabChat: function (i) {\n            O(i)\n        }, closeChat: function (i, a) {\n            O(i.parent(), 1), ii(a)\n        }, closeThisChat: function () {\n            O(null, 1)\n        }, groupMembers: function (i, a) {\n            var n = i.find(\".layui-icon\"), l = function () {\n                n.html(\"&#xe61a;\"), i.data(\"down\", null), t.close(ti.groupMembers.index)\n            }, s = function (i) {\n                ii(i)\n            };\n            i.data(\"down\") ? l() : (n.html(\"&#xe619;\"), i.data(\"down\", !0), ti.groupMembers.index = t.tips('<ul class=\"layim-members-list\"></ul>', i, {\n                tips: 3,\n                time: 0,\n                anim: 5,\n                fixed: !0,\n                skin: \"layui-box layui-layim-members\",\n                success: function (a) {\n                    var t = j.base.members || {}, n = _(), s = a.find(\".layim-members-list\"), o = \"\", d = {},\n                        c = w.find(\".layui-layer-max\").hasClass(\"layui-layer-maxmin\"),\n                        u = \"none\" === w.find(\".layim-chat-list\").css(\"display\");\n                    c && s.css({width: e(window).width() - 22 - (u || 200)}), t.data = e.extend(t.data, {id: n.data.id}), S(t, function (a) {\n                        layui.each(a.list, function (i, a) {\n                            o += '<li data-uid=\"' + a.id + '\"><a href=\"javascript:;\"><img src=\"' + a.avatar + '\"><cite>' + a.username + \"</cite></a></li>\", d[a.id] = a\n                        }), s.html(o), i.find(\".layim-chat-members\").html(a.members || (a.list || []).length + \"人\"), s.find(\"li\").on(\"click\", function () {\n                            var i = e(this).data(\"uid\"), a = d[i];\n                            z({name: a.username, type: \"friend\", avatar: a.avatar, id: a.id}), l()\n                        }), layui.each(r.members, function (i, e) {\n                            e && e(a)\n                        })\n                    }), a.on(\"mousedown\", function (i) {\n                        ii(i)\n                    })\n                }\n            }), e(document).off(\"mousedown\", l).on(\"mousedown\", l), e(window).off(\"resize\", l).on(\"resize\", l), i.off(\"mousedown\", s).on(\"mousedown\", s))\n        }, send: function () {\n            D()\n        }, setSend: function (i, a) {\n            var t = ti.setSend.box = i.siblings(\".layim-menu-box\"), n = i.attr(\"lay-type\");\n            if (\"show\" === n) ii(a), t.show().addClass(ei), e(document).off(\"click\", ti.setSendHide).on(\"click\", ti.setSendHide); else {\n                i.addClass(o).siblings().removeClass(o);\n                var l = layui.data(\"layim\")[j.mine.id] || {};\n                l.sendHotKey = n, layui.data(\"layim\", {key: j.mine.id, value: l}), ti.setSendHide(a, i.parent())\n            }\n        }, setSendHide: function (i, a) {\n            (a || ti.setSend.box).hide().removeClass(ei)\n        }, face: function (i, a) {\n            var n = \"\", l = _();\n            for (var s in X) n += '<li title=\"' + s + '\"><img src=\"' + X[s] + '\"></li>';\n            n = '<ul class=\"layui-clear layim-face-list\">' + n + \"</ul>\", ti.face.index = t.tips(n, i, {\n                tips: 1,\n                time: 0,\n                fixed: !0,\n                skin: \"layui-box layui-layim-face\",\n                success: function (i) {\n                    i.find(\".layim-face-list>li\").on(\"mousedown\", function (i) {\n                        ii(i)\n                    }).on(\"click\", function () {\n                        ai(l.textarea[0], \"face\" + this.title + \" \"), t.close(ti.face.index)\n                    })\n                }\n            }), e(document).off(\"mousedown\", ti.faceHide).on(\"mousedown\", ti.faceHide),\n                e(window).off(\"resize\", ti.faceHide).on(\"resize\", ti.faceHide), ii(a)\n        }, faceHide: function () {\n            t.close(ti.face.index)\n        }, image: function (i) {\n            var a = i.data(\"type\") || \"images\", e = {images: \"uploadImage\", file: \"uploadFile\"}, n = _(),\n                l = j.base[e[a]] || {};\n            layui.upload.render({\n                url: l.url || \"\",\n                method: l.type,\n                elem: i.find(\"input\")[0],\n                accept: a,\n                done: function (i) {\n                    0 == i.code ? (i.data = i.data || {}, \"images\" === a ? ai(n.textarea[0], \"img[\" + (i.data.src || \"\") + \"]\") : \"file\" === a && ai(n.textarea[0], \"file(\" + (i.data.src || \"\") + \")[\" + (i.data.name || \"下载文件\") + \"]\"), D()) : t.msg(i.msg || \"上传失败\")\n                }\n            })\n        }, media: function (i) {\n            var a = i.data(\"type\"), n = {audio: \"音频\", video: \"视频\"}, l = _();\n            t.prompt({\n                title: \"请输入网络\" + n[a] + \"地址\",\n                shade: !1,\n                offset: [i.offset().top - e(window).scrollTop() - 158 + \"px\", i.offset().left + \"px\"]\n            }, function (i, e) {\n                ai(l.textarea[0], a + \"[\" + i + \"]\"), D(), t.close(e)\n            })\n        }, extend: function (i) {\n            var a = i.attr(\"lay-filter\"), e = _();\n            layui.each(r[\"tool(\" + a + \")\"], function (a, t) {\n                t && t.call(i, function (i) {\n                    ai(e.textarea[0], i)\n                }, D, e)\n            })\n        }, playAudio: function (i) {\n            var a = i.data(\"audio\"), e = a || document.createElement(\"audio\"), n = function () {\n                e.pause(), i.removeAttr(\"status\"), i.find(\"i\").html(\"&#xe652;\")\n            };\n            return i.data(\"error\") ? t.msg(\"播放音频源异常\") : e.play ? void(i.attr(\"status\") ? n() : (a || (e.src = i.data(\"src\")), e.play(), i.attr(\"status\", \"pause\"), i.data(\"audio\", e), i.find(\"i\").html(\"&#xe651;\"), e.onended = function () {\n                n()\n            }, e.onerror = function () {\n                t.msg(\"播放音频源异常\"), i.data(\"error\", !0), n()\n            })) : t.msg(\"您的浏览器不支持audio\")\n        }, playVideo: function (i) {\n            var a = i.data(\"src\"), e = document.createElement(\"video\");\n            return e.play ? (t.close(ti.playVideo.index), void(ti.playVideo.index = t.open({\n                type: 1,\n                title: \"播放视频\",\n                area: [\"460px\", \"300px\"],\n                maxmin: !0,\n                shade: !1,\n                content: '<div style=\"background-color: #000; height: 100%;\"><video style=\"position: absolute; width: 100%; height: 100%;\" src=\"' + a + '\" loop=\"loop\" autoplay=\"autoplay\"></video></div>'\n            }))) : t.msg(\"您的浏览器不支持video\")\n        }, chatLog: function (i) {\n            var a = _();\n            return j.base.chatLog ? (t.close(ti.chatLog.index), ti.chatLog.index = t.open({\n                type: 2,\n                maxmin: !0,\n                title: \"与 \" + a.data.name + \" 的聊天记录\",\n                area: [\"450px\", \"100%\"],\n                shade: !1,\n                offset: \"rb\",\n                skin: \"layui-box\",\n                anim: 2,\n                id: \"layui-layim-chatlog\",\n                content: j.base.chatLog + \"?id=\" + a.data.id + \"&type=\" + a.data.type\n            })) : t.msg(\"未开启更多聊天记录\")\n        }, menuHistory: function (i, a) {\n            var n = layui.data(\"layim\")[j.mine.id] || {}, l = i.parent(), s = i.data(\"type\"),\n                o = x.find(\".layim-list-history\"), d = '<li class=\"layim-null\">暂无历史会话</li>';\n            if (\"one\" === s) {\n                var r = n.history;\n                delete r[l.data(\"index\")], n.history = r, layui.data(\"layim\", {\n                    key: j.mine.id,\n                    value: n\n                }), e(\"#\" + l.data(\"id\")).remove(), 0 === o.find(\"li\").length && o.html(d)\n            } else \"all\" === s && (delete n.history, layui.data(\"layim\", {key: j.mine.id, value: n}), o.html(d));\n            t.closeAll(\"tips\")\n        }\n    };\n    i(\"layim\", new c)\n}).addcss(\"modules/layim/layim.css?v=3.7.6\", \"skinlayimcss\");"
  },
  {
    "path": "webroot/dist/lay/modules/laypage.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(function(e){\"use strict\";var a=document,t=\"getElementById\",n=\"getElementsByTagName\",i=\"laypage\",r=\"layui-disabled\",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if(\"object\"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups=\"groups\"in a?0|a.groups:5;a.layout=\"object\"==typeof a.layout?a.layout:[\"prev\",\"page\",\"next\"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits=\"object\"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev=\"prev\"in a?a.prev:\"&#x4E0A;&#x4E00;&#x9875;\",a.next=\"next\"in a?a.next:\"&#x4E0B;&#x4E00;&#x9875;\";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href=\"javascript:;\" class=\"layui-laypage-prev'+(1==a.curr?\" \"+r:\"\")+'\" data-page=\"'+(a.curr-1)+'\">'+a.prev+\"</a>\":\"\"}(),page:function(){var e=[];if(a.count<1)return\"\";n>1&&a.first!==!1&&0!==t&&e.push('<a href=\"javascript:;\" class=\"layui-laypage-first\" data-page=\"1\"  title=\"&#x9996;&#x9875;\">'+(a.first||1)+\"</a>\");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class=\"layui-laypage-spr\">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class=\"layui-laypage-curr\"><em class=\"layui-laypage-em\" '+(/^#/.test(a.theme)?'style=\"background-color:'+a.theme+';\"':\"\")+\"></em><em>\"+r+\"</em></span>\"):e.push('<a href=\"javascript:;\" data-page=\"'+r+'\">'+r+\"</a>\");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class=\"layui-laypage-spr\">&#x2026;</span>'),0!==t&&e.push('<a href=\"javascript:;\" class=\"layui-laypage-last\" title=\"&#x5C3E;&#x9875;\"  data-page=\"'+a.pages+'\">'+(a.last||a.pages)+\"</a>\")),e.join(\"\")}(),next:function(){return a.next?'<a href=\"javascript:;\" class=\"layui-laypage-next'+(a.curr==a.pages?\" \"+r:\"\")+'\" data-page=\"'+(a.curr+1)+'\">'+a.next+\"</a>\":\"\"}(),count:'<span class=\"layui-laypage-count\">共 '+a.count+\" 条</span>\",limit:function(){var e=['<span class=\"layui-laypage-limits\"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value=\"'+n+'\"'+(n===a.limit?\"selected\":\"\")+\">\"+n+\" 条/页</option>\")}),e.join(\"\")+\"</select></span>\"}(),skip:function(){return['<span class=\"layui-laypage-skip\">&#x5230;&#x7B2C;','<input type=\"text\" min=\"1\" value=\"'+a.curr+'\" class=\"layui-input\">','&#x9875;<button type=\"button\" class=\"layui-laypage-btn\">&#x786e;&#x5b9a;</button>',\"</span>\"].join(\"\")}()};return['<div class=\"layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?\"molv\":a.theme:\"default\")+'\" id=\"layui-laypage-'+a.index+'\">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join(\"\")}(),\"</div>\"].join(\"\")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n](\"button\")[0],l=e[n](\"input\")[0],p=e[n](\"select\")[0],c=function(){var e=0|l.value.replace(/\\s|\\D/g,\"\");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)\"a\"===r[o].nodeName.toLowerCase()&&s.on(r[o],\"click\",function(){var e=0|this.getAttribute(\"data-page\");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,\"change\",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,\"click\",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n](\"input\")[0];t&&s.on(t,\"keyup\",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\\D/.test(n)&&(this.value=n.replace(/\\D/,\"\")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t](\"layui-laypage-\"+i.index);n.jump(s),i.hash&&!e&&(location.hash=\"!\"+i.hash+\"=\"+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent(\"on\"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});"
  },
  {
    "path": "webroot/dist/lay/modules/laytpl.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(function(e){\"use strict\";var r={open:\"{{\",close:\"}}\"},c={exp:function(e){return new RegExp(e,\"g\")},query:function(e,c,t){var o=[\"#([\\\\s\\\\S])+?\",\"([^{#}])*?\"][e||0];return n((c||\"\")+r.open+o+r.close+(t||\"\"))},escape:function(e){return String(e||\"\").replace(/&(?!#?[a-zA-Z0-9]+;)/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#39;\").replace(/\"/g,\"&quot;\")},error:function(e,r){var c=\"Laytpl Error：\";return\"object\"==typeof console&&console.error(c+e+\"\\n\"+(r||\"\")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n(\"^\"+r.open+\"#\",\"\"),l=n(r.close+\"$\",\"\");e=e.replace(/\\s+|\\r|\\t|\\n/g,\" \").replace(n(r.open+\"#\"),r.open+\"# \").replace(n(r.close+\"}\"),\"} \"+r.close).replace(/\\\\/g,\"\\\\\\\\\").replace(n(r.open+\"!(.+?)!\"+r.close),function(e){return e=e.replace(n(\"^\"+r.open+\"!\"),\"\").replace(n(\"!\"+r.close),\"\").replace(n(r.open+\"|\"+r.close),function(e){return e.replace(/(.)/g,\"\\\\$1\")})}).replace(/(?=\"|')/g,\"\\\\\").replace(c.query(),function(e){return e=e.replace(a,\"\").replace(l,\"\"),'\";'+e.replace(/\\\\/g,\"\")+';view+=\"'}).replace(c.query(1),function(e){var c='\"+(';return e.replace(/\\s/g,\"\")===r.open+r.close?\"\":(e=e.replace(n(r.open+\"|\"+r.close),\"\"),/^=/.test(e)&&(e=e.replace(/^=/,\"\"),c='\"+_escape_('),c+e.replace(/\\\\/g,\"\")+')+\"')}),e='\"use strict\";var view = \"'+e+'\";return view;';try{return o.cache=e=new Function(\"d, _escape_\",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error(\"no data\")};var o=function(e){return\"string\"!=typeof e?c.error(\"Template not found\"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v=\"1.2.0\",e(\"laytpl\",o)});"
  },
  {
    "path": "webroot/dist/lay/modules/mobile.js",
    "content": "/** layui-v2.2.6 MIT License By https://www.layui.com */\n;layui.define(function (i) {\n    i(\"layui.mobile\", layui.v)\n});\nlayui.define(function (e) {\n    \"use strict\";\n    var r = {open: \"{{\", close: \"}}\"}, c = {\n        exp: function (e) {\n            return new RegExp(e, \"g\")\n        }, query: function (e, c, t) {\n            var o = [\"#([\\\\s\\\\S])+?\", \"([^{#}])*?\"][e || 0];\n            return n((c || \"\") + r.open + o + r.close + (t || \"\"))\n        }, escape: function (e) {\n            return String(e || \"\").replace(/&(?!#?[a-zA-Z0-9]+;)/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/'/g, \"&#39;\").replace(/\"/g, \"&quot;\")\n        }, error: function (e, r) {\n            var c = \"Laytpl Error：\";\n            return \"object\" == typeof console && console.error(c + e + \"\\n\" + (r || \"\")), c + e\n        }\n    }, n = c.exp, t = function (e) {\n        this.tpl = e\n    };\n    t.pt = t.prototype, window.errors = 0, t.pt.parse = function (e, t) {\n        var o = this, p = e, a = n(\"^\" + r.open + \"#\", \"\"), l = n(r.close + \"$\", \"\");\n        e = e.replace(/\\s+|\\r|\\t|\\n/g, \" \").replace(n(r.open + \"#\"), r.open + \"# \").replace(n(r.close + \"}\"), \"} \" + r.close).replace(/\\\\/g, \"\\\\\\\\\").replace(n(r.open + \"!(.+?)!\" + r.close), function (e) {\n            return e = e.replace(n(\"^\" + r.open + \"!\"), \"\").replace(n(\"!\" + r.close), \"\").replace(n(r.open + \"|\" + r.close), function (e) {\n                return e.replace(/(.)/g, \"\\\\$1\")\n            })\n        }).replace(/(?=\"|')/g, \"\\\\\").replace(c.query(), function (e) {\n            return e = e.replace(a, \"\").replace(l, \"\"), '\";' + e.replace(/\\\\/g, \"\") + ';view+=\"'\n        }).replace(c.query(1), function (e) {\n            var c = '\"+(';\n            return e.replace(/\\s/g, \"\") === r.open + r.close ? \"\" : (e = e.replace(n(r.open + \"|\" + r.close), \"\"), /^=/.test(e) && (e = e.replace(/^=/, \"\"), c = '\"+_escape_('), c + e.replace(/\\\\/g, \"\") + ')+\"')\n        }), e = '\"use strict\";var view = \"' + e + '\";return view;';\n        try {\n            return o.cache = e = new Function(\"d, _escape_\", e), e(t, c.escape)\n        } catch (u) {\n            return delete o.cache, c.error(u, p)\n        }\n    }, t.pt.render = function (e, r) {\n        var n, t = this;\n        return e ? (n = t.cache ? t.cache(e, c.escape) : t.parse(t.tpl, e), r ? void r(n) : n) : c.error(\"no data\")\n    };\n    var o = function (e) {\n        return \"string\" != typeof e ? c.error(\"Template not found\") : new t(e)\n    };\n    o.config = function (e) {\n        e = e || {};\n        for (var c in e) r[c] = e[c]\n    }, o.v = \"1.2.0\", e(\"laytpl\", o)\n});\nlayui.define(function (e) {\n    \"use strict\";\n    var t = (window, document), i = \"querySelectorAll\", n = \"getElementsByClassName\", a = function (e) {\n        return t[i](e)\n    }, s = {type: 0, shade: !0, shadeClose: !0, fixed: !0, anim: \"scale\"}, l = {\n        extend: function (e) {\n            var t = JSON.parse(JSON.stringify(s));\n            for (var i in e) t[i] = e[i];\n            return t\n        }, timer: {}, end: {}\n    };\n    l.touch = function (e, t) {\n        e.addEventListener(\"click\", function (e) {\n            t.call(this, e)\n        }, !1)\n    };\n    var o = 0, r = [\"layui-m-layer\"], d = function (e) {\n        var t = this;\n        t.config = l.extend(e), t.view()\n    };\n    d.prototype.view = function () {\n        var e = this, i = e.config, s = t.createElement(\"div\");\n        e.id = s.id = r[0] + o, s.setAttribute(\"class\", r[0] + \" \" + r[0] + (i.type || 0)), s.setAttribute(\"index\", o);\n        var l = function () {\n            var e = \"object\" == typeof i.title;\n            return i.title ? '<h3 style=\"' + (e ? i.title[1] : \"\") + '\">' + (e ? i.title[0] : i.title) + \"</h3>\" : \"\"\n        }(), d = function () {\n            \"string\" == typeof i.btn && (i.btn = [i.btn]);\n            var e, t = (i.btn || []).length;\n            return 0 !== t && i.btn ? (e = '<span yes type=\"1\">' + i.btn[0] + \"</span>\", 2 === t && (e = '<span no type=\"0\">' + i.btn[1] + \"</span>\" + e), '<div class=\"layui-m-layerbtn\">' + e + \"</div>\") : \"\"\n        }();\n        if (i.fixed || (i.top = i.hasOwnProperty(\"top\") ? i.top : 100, i.style = i.style || \"\", i.style += \" top:\" + (t.body.scrollTop + i.top) + \"px\"), 2 === i.type && (i.content = '<i></i><i class=\"layui-m-layerload\"></i><i></i><p>' + (i.content || \"\") + \"</p>\"), i.skin && (i.anim = \"up\"), \"msg\" === i.skin && (i.shade = !1), s.innerHTML = (i.shade ? \"<div \" + (\"string\" == typeof i.shade ? 'style=\"' + i.shade + '\"' : \"\") + ' class=\"layui-m-layershade\"></div>' : \"\") + '<div class=\"layui-m-layermain\" ' + (i.fixed ? \"\" : 'style=\"position:static;\"') + '><div class=\"layui-m-layersection\"><div class=\"layui-m-layerchild ' + (i.skin ? \"layui-m-layer-\" + i.skin + \" \" : \"\") + (i.className ? i.className : \"\") + \" \" + (i.anim ? \"layui-m-anim-\" + i.anim : \"\") + '\" ' + (i.style ? 'style=\"' + i.style + '\"' : \"\") + \">\" + l + '<div class=\"layui-m-layercont\">' + i.content + \"</div>\" + d + \"</div></div></div>\", !i.type || 2 === i.type) {\n            var y = t[n](r[0] + i.type), u = y.length;\n            u >= 1 && c.close(y[0].getAttribute(\"index\"))\n        }\n        document.body.appendChild(s);\n        var m = e.elem = a(\"#\" + e.id)[0];\n        i.success && i.success(m), e.index = o++, e.action(i, m)\n    }, d.prototype.action = function (e, t) {\n        var i = this;\n        e.time && (l.timer[i.index] = setTimeout(function () {\n            c.close(i.index)\n        }, 1e3 * e.time));\n        var a = function () {\n            var t = this.getAttribute(\"type\");\n            0 == t ? (e.no && e.no(), c.close(i.index)) : e.yes ? e.yes(i.index) : c.close(i.index)\n        };\n        if (e.btn) for (var s = t[n](\"layui-m-layerbtn\")[0].children, o = s.length, r = 0; r < o; r++) l.touch(s[r], a);\n        if (e.shade && e.shadeClose) {\n            var d = t[n](\"layui-m-layershade\")[0];\n            l.touch(d, function () {\n                c.close(i.index, e.end)\n            })\n        }\n        e.end && (l.end[i.index] = e.end)\n    };\n    var c = {\n        v: \"2.0 m\", index: o, open: function (e) {\n            var t = new d(e || {});\n            return t.index\n        }, close: function (e) {\n            var i = a(\"#\" + r[0] + e)[0];\n            i && (i.innerHTML = \"\", t.body.removeChild(i), clearTimeout(l.timer[e]), delete l.timer[e], \"function\" == typeof l.end[e] && l.end[e](), delete l.end[e])\n        }, closeAll: function () {\n            for (var e = t[n](r[0]), i = 0, a = e.length; i < a; i++) c.close(0 | e[0].getAttribute(\"index\"))\n        }\n    };\n    e(\"layer-mobile\", c)\n});\nlayui.define(function (t) {\n    var e = function () {\n        function t(t) {\n            return null == t ? String(t) : J[W.call(t)] || \"object\"\n        }\n\n        function e(e) {\n            return \"function\" == t(e)\n        }\n\n        function n(t) {\n            return null != t && t == t.window\n        }\n\n        function r(t) {\n            return null != t && t.nodeType == t.DOCUMENT_NODE\n        }\n\n        function i(e) {\n            return \"object\" == t(e)\n        }\n\n        function o(t) {\n            return i(t) && !n(t) && Object.getPrototypeOf(t) == Object.prototype\n        }\n\n        function a(t) {\n            var e = !!t && \"length\" in t && t.length, r = T.type(t);\n            return \"function\" != r && !n(t) && (\"array\" == r || 0 === e || \"number\" == typeof e && e > 0 && e - 1 in t)\n        }\n\n        function s(t) {\n            return A.call(t, function (t) {\n                return null != t\n            })\n        }\n\n        function u(t) {\n            return t.length > 0 ? T.fn.concat.apply([], t) : t\n        }\n\n        function c(t) {\n            return t.replace(/::/g, \"/\").replace(/([A-Z]+)([A-Z][a-z])/g, \"$1_$2\").replace(/([a-z\\d])([A-Z])/g, \"$1_$2\").replace(/_/g, \"-\").toLowerCase()\n        }\n\n        function l(t) {\n            return t in F ? F[t] : F[t] = new RegExp(\"(^|\\\\s)\" + t + \"(\\\\s|$)\")\n        }\n\n        function f(t, e) {\n            return \"number\" != typeof e || k[c(t)] ? e : e + \"px\"\n        }\n\n        function h(t) {\n            var e, n;\n            return $[t] || (e = L.createElement(t), L.body.appendChild(e), n = getComputedStyle(e, \"\").getPropertyValue(\"display\"), e.parentNode.removeChild(e), \"none\" == n && (n = \"block\"), $[t] = n), $[t]\n        }\n\n        function p(t) {\n            return \"children\" in t ? D.call(t.children) : T.map(t.childNodes, function (t) {\n                if (1 == t.nodeType) return t\n            })\n        }\n\n        function d(t, e) {\n            var n, r = t ? t.length : 0;\n            for (n = 0; n < r; n++) this[n] = t[n];\n            this.length = r, this.selector = e || \"\"\n        }\n\n        function m(t, e, n) {\n            for (j in e) n && (o(e[j]) || Q(e[j])) ? (o(e[j]) && !o(t[j]) && (t[j] = {}), Q(e[j]) && !Q(t[j]) && (t[j] = []), m(t[j], e[j], n)) : e[j] !== E && (t[j] = e[j])\n        }\n\n        function v(t, e) {\n            return null == e ? T(t) : T(t).filter(e)\n        }\n\n        function g(t, n, r, i) {\n            return e(n) ? n.call(t, r, i) : n\n        }\n\n        function y(t, e, n) {\n            null == n ? t.removeAttribute(e) : t.setAttribute(e, n)\n        }\n\n        function x(t, e) {\n            var n = t.className || \"\", r = n && n.baseVal !== E;\n            return e === E ? r ? n.baseVal : n : void(r ? n.baseVal = e : t.className = e)\n        }\n\n        function b(t) {\n            try {\n                return t ? \"true\" == t || \"false\" != t && (\"null\" == t ? null : +t + \"\" == t ? +t : /^[\\[\\{]/.test(t) ? T.parseJSON(t) : t) : t\n            } catch (e) {\n                return t\n            }\n        }\n\n        function w(t, e) {\n            e(t);\n            for (var n = 0, r = t.childNodes.length; n < r; n++) w(t.childNodes[n], e)\n        }\n\n        var E, j, T, S, C, N, O = [], P = O.concat, A = O.filter, D = O.slice, L = window.document, $ = {}, F = {},\n            k = {\"column-count\": 1, columns: 1, \"font-weight\": 1, \"line-height\": 1, opacity: 1, \"z-index\": 1, zoom: 1},\n            M = /^\\s*<(\\w+|!)[^>]*>/, R = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n            z = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi, Z = /^(?:body|html)$/i,\n            q = /([A-Z])/g, H = [\"val\", \"css\", \"html\", \"text\", \"data\", \"width\", \"height\", \"offset\"],\n            I = [\"after\", \"prepend\", \"before\", \"append\"], V = L.createElement(\"table\"), _ = L.createElement(\"tr\"),\n            B = {tr: L.createElement(\"tbody\"), tbody: V, thead: V, tfoot: V, td: _, th: _, \"*\": L.createElement(\"div\")},\n            U = /complete|loaded|interactive/, X = /^[\\w-]*$/, J = {}, W = J.toString, Y = {},\n            G = L.createElement(\"div\"), K = {\n                tabindex: \"tabIndex\",\n                readonly: \"readOnly\",\n                \"for\": \"htmlFor\",\n                \"class\": \"className\",\n                maxlength: \"maxLength\",\n                cellspacing: \"cellSpacing\",\n                cellpadding: \"cellPadding\",\n                rowspan: \"rowSpan\",\n                colspan: \"colSpan\",\n                usemap: \"useMap\",\n                frameborder: \"frameBorder\",\n                contenteditable: \"contentEditable\"\n            }, Q = Array.isArray || function (t) {\n                return t instanceof Array\n            };\n        return Y.matches = function (t, e) {\n            if (!e || !t || 1 !== t.nodeType) return !1;\n            var n = t.matches || t.webkitMatchesSelector || t.mozMatchesSelector || t.oMatchesSelector || t.matchesSelector;\n            if (n) return n.call(t, e);\n            var r, i = t.parentNode, o = !i;\n            return o && (i = G).appendChild(t), r = ~Y.qsa(i, e).indexOf(t), o && G.removeChild(t), r\n        }, C = function (t) {\n            return t.replace(/-+(.)?/g, function (t, e) {\n                return e ? e.toUpperCase() : \"\"\n            })\n        }, N = function (t) {\n            return A.call(t, function (e, n) {\n                return t.indexOf(e) == n\n            })\n        }, Y.fragment = function (t, e, n) {\n            var r, i, a;\n            return R.test(t) && (r = T(L.createElement(RegExp.$1))), r || (t.replace && (t = t.replace(z, \"<$1></$2>\")), e === E && (e = M.test(t) && RegExp.$1), e in B || (e = \"*\"), a = B[e], a.innerHTML = \"\" + t, r = T.each(D.call(a.childNodes), function () {\n                a.removeChild(this)\n            })), o(n) && (i = T(r), T.each(n, function (t, e) {\n                H.indexOf(t) > -1 ? i[t](e) : i.attr(t, e)\n            })), r\n        }, Y.Z = function (t, e) {\n            return new d(t, e)\n        }, Y.isZ = function (t) {\n            return t instanceof Y.Z\n        }, Y.init = function (t, n) {\n            var r;\n            if (!t) return Y.Z();\n            if (\"string\" == typeof t) if (t = t.trim(), \"<\" == t[0] && M.test(t)) r = Y.fragment(t, RegExp.$1, n), t = null; else {\n                if (n !== E) return T(n).find(t);\n                r = Y.qsa(L, t)\n            } else {\n                if (e(t)) return T(L).ready(t);\n                if (Y.isZ(t)) return t;\n                if (Q(t)) r = s(t); else if (i(t)) r = [t], t = null; else if (M.test(t)) r = Y.fragment(t.trim(), RegExp.$1, n), t = null; else {\n                    if (n !== E) return T(n).find(t);\n                    r = Y.qsa(L, t)\n                }\n            }\n            return Y.Z(r, t)\n        }, T = function (t, e) {\n            return Y.init(t, e)\n        }, T.extend = function (t) {\n            var e, n = D.call(arguments, 1);\n            return \"boolean\" == typeof t && (e = t, t = n.shift()), n.forEach(function (n) {\n                m(t, n, e)\n            }), t\n        }, Y.qsa = function (t, e) {\n            var n, r = \"#\" == e[0], i = !r && \".\" == e[0], o = r || i ? e.slice(1) : e, a = X.test(o);\n            return t.getElementById && a && r ? (n = t.getElementById(o)) ? [n] : [] : 1 !== t.nodeType && 9 !== t.nodeType && 11 !== t.nodeType ? [] : D.call(a && !r && t.getElementsByClassName ? i ? t.getElementsByClassName(o) : t.getElementsByTagName(e) : t.querySelectorAll(e))\n        }, T.contains = L.documentElement.contains ? function (t, e) {\n            return t !== e && t.contains(e)\n        } : function (t, e) {\n            for (; e && (e = e.parentNode);) if (e === t) return !0;\n            return !1\n        }, T.type = t, T.isFunction = e, T.isWindow = n, T.isArray = Q, T.isPlainObject = o, T.isEmptyObject = function (t) {\n            var e;\n            for (e in t) return !1;\n            return !0\n        }, T.isNumeric = function (t) {\n            var e = Number(t), n = typeof t;\n            return null != t && \"boolean\" != n && (\"string\" != n || t.length) && !isNaN(e) && isFinite(e) || !1\n        }, T.inArray = function (t, e, n) {\n            return O.indexOf.call(e, t, n)\n        }, T.camelCase = C, T.trim = function (t) {\n            return null == t ? \"\" : String.prototype.trim.call(t)\n        }, T.uuid = 0, T.support = {}, T.expr = {}, T.noop = function () {\n        }, T.map = function (t, e) {\n            var n, r, i, o = [];\n            if (a(t)) for (r = 0; r < t.length; r++) n = e(t[r], r), null != n && o.push(n); else for (i in t) n = e(t[i], i), null != n && o.push(n);\n            return u(o)\n        }, T.each = function (t, e) {\n            var n, r;\n            if (a(t)) {\n                for (n = 0; n < t.length; n++) if (e.call(t[n], n, t[n]) === !1) return t\n            } else for (r in t) if (e.call(t[r], r, t[r]) === !1) return t;\n            return t\n        }, T.grep = function (t, e) {\n            return A.call(t, e)\n        }, window.JSON && (T.parseJSON = JSON.parse), T.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function (t, e) {\n            J[\"[object \" + e + \"]\"] = e.toLowerCase()\n        }), T.fn = {\n            constructor: Y.Z,\n            length: 0,\n            forEach: O.forEach,\n            reduce: O.reduce,\n            push: O.push,\n            sort: O.sort,\n            splice: O.splice,\n            indexOf: O.indexOf,\n            concat: function () {\n                var t, e, n = [];\n                for (t = 0; t < arguments.length; t++) e = arguments[t], n[t] = Y.isZ(e) ? e.toArray() : e;\n                return P.apply(Y.isZ(this) ? this.toArray() : this, n)\n            },\n            map: function (t) {\n                return T(T.map(this, function (e, n) {\n                    return t.call(e, n, e)\n                }))\n            },\n            slice: function () {\n                return T(D.apply(this, arguments))\n            },\n            ready: function (t) {\n                return U.test(L.readyState) && L.body ? t(T) : L.addEventListener(\"DOMContentLoaded\", function () {\n                    t(T)\n                }, !1), this\n            },\n            get: function (t) {\n                return t === E ? D.call(this) : this[t >= 0 ? t : t + this.length]\n            },\n            toArray: function () {\n                return this.get()\n            },\n            size: function () {\n                return this.length\n            },\n            remove: function () {\n                return this.each(function () {\n                    null != this.parentNode && this.parentNode.removeChild(this)\n                })\n            },\n            each: function (t) {\n                return O.every.call(this, function (e, n) {\n                    return t.call(e, n, e) !== !1\n                }), this\n            },\n            filter: function (t) {\n                return e(t) ? this.not(this.not(t)) : T(A.call(this, function (e) {\n                    return Y.matches(e, t)\n                }))\n            },\n            add: function (t, e) {\n                return T(N(this.concat(T(t, e))))\n            },\n            is: function (t) {\n                return this.length > 0 && Y.matches(this[0], t)\n            },\n            not: function (t) {\n                var n = [];\n                if (e(t) && t.call !== E) this.each(function (e) {\n                    t.call(this, e) || n.push(this)\n                }); else {\n                    var r = \"string\" == typeof t ? this.filter(t) : a(t) && e(t.item) ? D.call(t) : T(t);\n                    this.forEach(function (t) {\n                        r.indexOf(t) < 0 && n.push(t)\n                    })\n                }\n                return T(n)\n            },\n            has: function (t) {\n                return this.filter(function () {\n                    return i(t) ? T.contains(this, t) : T(this).find(t).size()\n                })\n            },\n            eq: function (t) {\n                return t === -1 ? this.slice(t) : this.slice(t, +t + 1)\n            },\n            first: function () {\n                var t = this[0];\n                return t && !i(t) ? t : T(t)\n            },\n            last: function () {\n                var t = this[this.length - 1];\n                return t && !i(t) ? t : T(t)\n            },\n            find: function (t) {\n                var e, n = this;\n                return e = t ? \"object\" == typeof t ? T(t).filter(function () {\n                    var t = this;\n                    return O.some.call(n, function (e) {\n                        return T.contains(e, t)\n                    })\n                }) : 1 == this.length ? T(Y.qsa(this[0], t)) : this.map(function () {\n                    return Y.qsa(this, t)\n                }) : T()\n            },\n            closest: function (t, e) {\n                var n = [], i = \"object\" == typeof t && T(t);\n                return this.each(function (o, a) {\n                    for (; a && !(i ? i.indexOf(a) >= 0 : Y.matches(a, t));) a = a !== e && !r(a) && a.parentNode;\n                    a && n.indexOf(a) < 0 && n.push(a)\n                }), T(n)\n            },\n            parents: function (t) {\n                for (var e = [], n = this; n.length > 0;) n = T.map(n, function (t) {\n                    if ((t = t.parentNode) && !r(t) && e.indexOf(t) < 0) return e.push(t), t\n                });\n                return v(e, t)\n            },\n            parent: function (t) {\n                return v(N(this.pluck(\"parentNode\")), t)\n            },\n            children: function (t) {\n                return v(this.map(function () {\n                    return p(this)\n                }), t)\n            },\n            contents: function () {\n                return this.map(function () {\n                    return this.contentDocument || D.call(this.childNodes)\n                })\n            },\n            siblings: function (t) {\n                return v(this.map(function (t, e) {\n                    return A.call(p(e.parentNode), function (t) {\n                        return t !== e\n                    })\n                }), t)\n            },\n            empty: function () {\n                return this.each(function () {\n                    this.innerHTML = \"\"\n                })\n            },\n            pluck: function (t) {\n                return T.map(this, function (e) {\n                    return e[t]\n                })\n            },\n            show: function () {\n                return this.each(function () {\n                    \"none\" == this.style.display && (this.style.display = \"\"), \"none\" == getComputedStyle(this, \"\").getPropertyValue(\"display\") && (this.style.display = h(this.nodeName))\n                })\n            },\n            replaceWith: function (t) {\n                return this.before(t).remove()\n            },\n            wrap: function (t) {\n                var n = e(t);\n                if (this[0] && !n) var r = T(t).get(0), i = r.parentNode || this.length > 1;\n                return this.each(function (e) {\n                    T(this).wrapAll(n ? t.call(this, e) : i ? r.cloneNode(!0) : r)\n                })\n            },\n            wrapAll: function (t) {\n                if (this[0]) {\n                    T(this[0]).before(t = T(t));\n                    for (var e; (e = t.children()).length;) t = e.first();\n                    T(t).append(this)\n                }\n                return this\n            },\n            wrapInner: function (t) {\n                var n = e(t);\n                return this.each(function (e) {\n                    var r = T(this), i = r.contents(), o = n ? t.call(this, e) : t;\n                    i.length ? i.wrapAll(o) : r.append(o)\n                })\n            },\n            unwrap: function () {\n                return this.parent().each(function () {\n                    T(this).replaceWith(T(this).children())\n                }), this\n            },\n            clone: function () {\n                return this.map(function () {\n                    return this.cloneNode(!0)\n                })\n            },\n            hide: function () {\n                return this.css(\"display\", \"none\")\n            },\n            toggle: function (t) {\n                return this.each(function () {\n                    var e = T(this);\n                    (t === E ? \"none\" == e.css(\"display\") : t) ? e.show() : e.hide()\n                })\n            },\n            prev: function (t) {\n                return T(this.pluck(\"previousElementSibling\")).filter(t || \"*\")\n            },\n            next: function (t) {\n                return T(this.pluck(\"nextElementSibling\")).filter(t || \"*\")\n            },\n            html: function (t) {\n                return 0 in arguments ? this.each(function (e) {\n                    var n = this.innerHTML;\n                    T(this).empty().append(g(this, t, e, n))\n                }) : 0 in this ? this[0].innerHTML : null\n            },\n            text: function (t) {\n                return 0 in arguments ? this.each(function (e) {\n                    var n = g(this, t, e, this.textContent);\n                    this.textContent = null == n ? \"\" : \"\" + n\n                }) : 0 in this ? this.pluck(\"textContent\").join(\"\") : null\n            },\n            attr: function (t, e) {\n                var n;\n                return \"string\" != typeof t || 1 in arguments ? this.each(function (n) {\n                    if (1 === this.nodeType) if (i(t)) for (j in t) y(this, j, t[j]); else y(this, t, g(this, e, n, this.getAttribute(t)))\n                }) : 0 in this && 1 == this[0].nodeType && null != (n = this[0].getAttribute(t)) ? n : E\n            },\n            removeAttr: function (t) {\n                return this.each(function () {\n                    1 === this.nodeType && t.split(\" \").forEach(function (t) {\n                        y(this, t)\n                    }, this)\n                })\n            },\n            prop: function (t, e) {\n                return t = K[t] || t, 1 in arguments ? this.each(function (n) {\n                    this[t] = g(this, e, n, this[t])\n                }) : this[0] && this[0][t]\n            },\n            removeProp: function (t) {\n                return t = K[t] || t, this.each(function () {\n                    delete this[t]\n                })\n            },\n            data: function (t, e) {\n                var n = \"data-\" + t.replace(q, \"-$1\").toLowerCase(),\n                    r = 1 in arguments ? this.attr(n, e) : this.attr(n);\n                return null !== r ? b(r) : E\n            },\n            val: function (t) {\n                return 0 in arguments ? (null == t && (t = \"\"), this.each(function (e) {\n                    this.value = g(this, t, e, this.value)\n                })) : this[0] && (this[0].multiple ? T(this[0]).find(\"option\").filter(function () {\n                    return this.selected\n                }).pluck(\"value\") : this[0].value)\n            },\n            offset: function (t) {\n                if (t) return this.each(function (e) {\n                    var n = T(this), r = g(this, t, e, n.offset()), i = n.offsetParent().offset(),\n                        o = {top: r.top - i.top, left: r.left - i.left};\n                    \"static\" == n.css(\"position\") && (o.position = \"relative\"), n.css(o)\n                });\n                if (!this.length) return null;\n                if (L.documentElement !== this[0] && !T.contains(L.documentElement, this[0])) return {top: 0, left: 0};\n                var e = this[0].getBoundingClientRect();\n                return {\n                    left: e.left + window.pageXOffset,\n                    top: e.top + window.pageYOffset,\n                    width: Math.round(e.width),\n                    height: Math.round(e.height)\n                }\n            },\n            css: function (e, n) {\n                if (arguments.length < 2) {\n                    var r = this[0];\n                    if (\"string\" == typeof e) {\n                        if (!r) return;\n                        return r.style[C(e)] || getComputedStyle(r, \"\").getPropertyValue(e)\n                    }\n                    if (Q(e)) {\n                        if (!r) return;\n                        var i = {}, o = getComputedStyle(r, \"\");\n                        return T.each(e, function (t, e) {\n                            i[e] = r.style[C(e)] || o.getPropertyValue(e)\n                        }), i\n                    }\n                }\n                var a = \"\";\n                if (\"string\" == t(e)) n || 0 === n ? a = c(e) + \":\" + f(e, n) : this.each(function () {\n                    this.style.removeProperty(c(e))\n                }); else for (j in e) e[j] || 0 === e[j] ? a += c(j) + \":\" + f(j, e[j]) + \";\" : this.each(function () {\n                    this.style.removeProperty(c(j))\n                });\n                return this.each(function () {\n                    this.style.cssText += \";\" + a\n                })\n            },\n            index: function (t) {\n                return t ? this.indexOf(T(t)[0]) : this.parent().children().indexOf(this[0])\n            },\n            hasClass: function (t) {\n                return !!t && O.some.call(this, function (t) {\n                    return this.test(x(t))\n                }, l(t))\n            },\n            addClass: function (t) {\n                return t ? this.each(function (e) {\n                    if (\"className\" in this) {\n                        S = [];\n                        var n = x(this), r = g(this, t, e, n);\n                        r.split(/\\s+/g).forEach(function (t) {\n                            T(this).hasClass(t) || S.push(t)\n                        }, this), S.length && x(this, n + (n ? \" \" : \"\") + S.join(\" \"))\n                    }\n                }) : this\n            },\n            removeClass: function (t) {\n                return this.each(function (e) {\n                    if (\"className\" in this) {\n                        if (t === E) return x(this, \"\");\n                        S = x(this), g(this, t, e, S).split(/\\s+/g).forEach(function (t) {\n                            S = S.replace(l(t), \" \")\n                        }), x(this, S.trim())\n                    }\n                })\n            },\n            toggleClass: function (t, e) {\n                return t ? this.each(function (n) {\n                    var r = T(this), i = g(this, t, n, x(this));\n                    i.split(/\\s+/g).forEach(function (t) {\n                        (e === E ? !r.hasClass(t) : e) ? r.addClass(t) : r.removeClass(t)\n                    })\n                }) : this\n            },\n            scrollTop: function (t) {\n                if (this.length) {\n                    var e = \"scrollTop\" in this[0];\n                    return t === E ? e ? this[0].scrollTop : this[0].pageYOffset : this.each(e ? function () {\n                        this.scrollTop = t\n                    } : function () {\n                        this.scrollTo(this.scrollX, t)\n                    })\n                }\n            },\n            scrollLeft: function (t) {\n                if (this.length) {\n                    var e = \"scrollLeft\" in this[0];\n                    return t === E ? e ? this[0].scrollLeft : this[0].pageXOffset : this.each(e ? function () {\n                        this.scrollLeft = t\n                    } : function () {\n                        this.scrollTo(t, this.scrollY)\n                    })\n                }\n            },\n            position: function () {\n                if (this.length) {\n                    var t = this[0], e = this.offsetParent(), n = this.offset(),\n                        r = Z.test(e[0].nodeName) ? {top: 0, left: 0} : e.offset();\n                    return n.top -= parseFloat(T(t).css(\"margin-top\")) || 0, n.left -= parseFloat(T(t).css(\"margin-left\")) || 0, r.top += parseFloat(T(e[0]).css(\"border-top-width\")) || 0, r.left += parseFloat(T(e[0]).css(\"border-left-width\")) || 0, {\n                        top: n.top - r.top,\n                        left: n.left - r.left\n                    }\n                }\n            },\n            offsetParent: function () {\n                return this.map(function () {\n                    for (var t = this.offsetParent || L.body; t && !Z.test(t.nodeName) && \"static\" == T(t).css(\"position\");) t = t.offsetParent;\n                    return t\n                })\n            }\n        }, T.fn.detach = T.fn.remove, [\"width\", \"height\"].forEach(function (t) {\n            var e = t.replace(/./, function (t) {\n                return t[0].toUpperCase()\n            });\n            T.fn[t] = function (i) {\n                var o, a = this[0];\n                return i === E ? n(a) ? a[\"inner\" + e] : r(a) ? a.documentElement[\"scroll\" + e] : (o = this.offset()) && o[t] : this.each(function (e) {\n                    a = T(this), a.css(t, g(this, i, e, a[t]()))\n                })\n            }\n        }), I.forEach(function (e, n) {\n            var r = n % 2;\n            T.fn[e] = function () {\n                var e, i, o = T.map(arguments, function (n) {\n                    var r = [];\n                    return e = t(n), \"array\" == e ? (n.forEach(function (t) {\n                        return t.nodeType !== E ? r.push(t) : T.zepto.isZ(t) ? r = r.concat(t.get()) : void(r = r.concat(Y.fragment(t)))\n                    }), r) : \"object\" == e || null == n ? n : Y.fragment(n)\n                }), a = this.length > 1;\n                return o.length < 1 ? this : this.each(function (t, e) {\n                    i = r ? e : e.parentNode, e = 0 == n ? e.nextSibling : 1 == n ? e.firstChild : 2 == n ? e : null;\n                    var s = T.contains(L.documentElement, i);\n                    o.forEach(function (t) {\n                        if (a) t = t.cloneNode(!0); else if (!i) return T(t).remove();\n                        i.insertBefore(t, e), s && w(t, function (t) {\n                            if (!(null == t.nodeName || \"SCRIPT\" !== t.nodeName.toUpperCase() || t.type && \"text/javascript\" !== t.type || t.src)) {\n                                var e = t.ownerDocument ? t.ownerDocument.defaultView : window;\n                                e.eval.call(e, t.innerHTML)\n                            }\n                        })\n                    })\n                })\n            }, T.fn[r ? e + \"To\" : \"insert\" + (n ? \"Before\" : \"After\")] = function (t) {\n                return T(t)[e](this), this\n            }\n        }), Y.Z.prototype = d.prototype = T.fn, Y.uniq = N, Y.deserializeValue = b, T.zepto = Y, T\n    }();\n    !function (t) {\n        function e(t) {\n            return t._zid || (t._zid = h++)\n        }\n\n        function n(t, n, o, a) {\n            if (n = r(n), n.ns) var s = i(n.ns);\n            return (v[e(t)] || []).filter(function (t) {\n                return t && (!n.e || t.e == n.e) && (!n.ns || s.test(t.ns)) && (!o || e(t.fn) === e(o)) && (!a || t.sel == a)\n            })\n        }\n\n        function r(t) {\n            var e = (\"\" + t).split(\".\");\n            return {e: e[0], ns: e.slice(1).sort().join(\" \")}\n        }\n\n        function i(t) {\n            return new RegExp(\"(?:^| )\" + t.replace(\" \", \" .* ?\") + \"(?: |$)\")\n        }\n\n        function o(t, e) {\n            return t.del && !y && t.e in x || !!e\n        }\n\n        function a(t) {\n            return b[t] || y && x[t] || t\n        }\n\n        function s(n, i, s, u, l, h, p) {\n            var d = e(n), m = v[d] || (v[d] = []);\n            i.split(/\\s/).forEach(function (e) {\n                if (\"ready\" == e) return t(document).ready(s);\n                var i = r(e);\n                i.fn = s, i.sel = l, i.e in b && (s = function (e) {\n                    var n = e.relatedTarget;\n                    if (!n || n !== this && !t.contains(this, n)) return i.fn.apply(this, arguments)\n                }), i.del = h;\n                var d = h || s;\n                i.proxy = function (t) {\n                    if (t = c(t), !t.isImmediatePropagationStopped()) {\n                        t.data = u;\n                        var e = d.apply(n, t._args == f ? [t] : [t].concat(t._args));\n                        return e === !1 && (t.preventDefault(), t.stopPropagation()), e\n                    }\n                }, i.i = m.length, m.push(i), \"addEventListener\" in n && n.addEventListener(a(i.e), i.proxy, o(i, p))\n            })\n        }\n\n        function u(t, r, i, s, u) {\n            var c = e(t);\n            (r || \"\").split(/\\s/).forEach(function (e) {\n                n(t, e, i, s).forEach(function (e) {\n                    delete v[c][e.i], \"removeEventListener\" in t && t.removeEventListener(a(e.e), e.proxy, o(e, u))\n                })\n            })\n        }\n\n        function c(e, n) {\n            return !n && e.isDefaultPrevented || (n || (n = e), t.each(T, function (t, r) {\n                var i = n[t];\n                e[t] = function () {\n                    return this[r] = w, i && i.apply(n, arguments)\n                }, e[r] = E\n            }), e.timeStamp || (e.timeStamp = Date.now()), (n.defaultPrevented !== f ? n.defaultPrevented : \"returnValue\" in n ? n.returnValue === !1 : n.getPreventDefault && n.getPreventDefault()) && (e.isDefaultPrevented = w)), e\n        }\n\n        function l(t) {\n            var e, n = {originalEvent: t};\n            for (e in t) j.test(e) || t[e] === f || (n[e] = t[e]);\n            return c(n, t)\n        }\n\n        var f, h = 1, p = Array.prototype.slice, d = t.isFunction, m = function (t) {\n                return \"string\" == typeof t\n            }, v = {}, g = {}, y = \"onfocusin\" in window, x = {focus: \"focusin\", blur: \"focusout\"},\n            b = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n        g.click = g.mousedown = g.mouseup = g.mousemove = \"MouseEvents\", t.event = {\n            add: s,\n            remove: u\n        }, t.proxy = function (n, r) {\n            var i = 2 in arguments && p.call(arguments, 2);\n            if (d(n)) {\n                var o = function () {\n                    return n.apply(r, i ? i.concat(p.call(arguments)) : arguments)\n                };\n                return o._zid = e(n), o\n            }\n            if (m(r)) return i ? (i.unshift(n[r], n), t.proxy.apply(null, i)) : t.proxy(n[r], n);\n            throw new TypeError(\"expected function\")\n        }, t.fn.bind = function (t, e, n) {\n            return this.on(t, e, n)\n        }, t.fn.unbind = function (t, e) {\n            return this.off(t, e)\n        }, t.fn.one = function (t, e, n, r) {\n            return this.on(t, e, n, r, 1)\n        };\n        var w = function () {\n            return !0\n        }, E = function () {\n            return !1\n        }, j = /^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/, T = {\n            preventDefault: \"isDefaultPrevented\",\n            stopImmediatePropagation: \"isImmediatePropagationStopped\",\n            stopPropagation: \"isPropagationStopped\"\n        };\n        t.fn.delegate = function (t, e, n) {\n            return this.on(e, t, n)\n        }, t.fn.undelegate = function (t, e, n) {\n            return this.off(e, t, n)\n        }, t.fn.live = function (e, n) {\n            return t(document.body).delegate(this.selector, e, n), this\n        }, t.fn.die = function (e, n) {\n            return t(document.body).undelegate(this.selector, e, n), this\n        }, t.fn.on = function (e, n, r, i, o) {\n            var a, c, h = this;\n            return e && !m(e) ? (t.each(e, function (t, e) {\n                h.on(t, n, r, e, o)\n            }), h) : (m(n) || d(i) || i === !1 || (i = r, r = n, n = f), i !== f && r !== !1 || (i = r, r = f), i === !1 && (i = E), h.each(function (f, h) {\n                o && (a = function (t) {\n                    return u(h, t.type, i), i.apply(this, arguments)\n                }), n && (c = function (e) {\n                    var r, o = t(e.target).closest(n, h).get(0);\n                    if (o && o !== h) return r = t.extend(l(e), {\n                        currentTarget: o,\n                        liveFired: h\n                    }), (a || i).apply(o, [r].concat(p.call(arguments, 1)))\n                }), s(h, e, i, r, n, c || a)\n            }))\n        }, t.fn.off = function (e, n, r) {\n            var i = this;\n            return e && !m(e) ? (t.each(e, function (t, e) {\n                i.off(t, n, e)\n            }), i) : (m(n) || d(r) || r === !1 || (r = n, n = f), r === !1 && (r = E), i.each(function () {\n                u(this, e, r, n)\n            }))\n        }, t.fn.trigger = function (e, n) {\n            return e = m(e) || t.isPlainObject(e) ? t.Event(e) : c(e), e._args = n, this.each(function () {\n                e.type in x && \"function\" == typeof this[e.type] ? this[e.type]() : \"dispatchEvent\" in this ? this.dispatchEvent(e) : t(this).triggerHandler(e, n)\n            })\n        }, t.fn.triggerHandler = function (e, r) {\n            var i, o;\n            return this.each(function (a, s) {\n                i = l(m(e) ? t.Event(e) : e), i._args = r, i.target = s, t.each(n(s, e.type || e), function (t, e) {\n                    if (o = e.proxy(i), i.isImmediatePropagationStopped()) return !1\n                })\n            }), o\n        }, \"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error\".split(\" \").forEach(function (e) {\n            t.fn[e] = function (t) {\n                return 0 in arguments ? this.bind(e, t) : this.trigger(e)\n            }\n        }), t.Event = function (t, e) {\n            m(t) || (e = t, t = e.type);\n            var n = document.createEvent(g[t] || \"Events\"), r = !0;\n            if (e) for (var i in e) \"bubbles\" == i ? r = !!e[i] : n[i] = e[i];\n            return n.initEvent(t, r, !0), c(n)\n        }\n    }(e), function (t) {\n        function e(e, n, r) {\n            var i = t.Event(n);\n            return t(e).trigger(i, r), !i.isDefaultPrevented()\n        }\n\n        function n(t, n, r, i) {\n            if (t.global) return e(n || x, r, i)\n        }\n\n        function r(e) {\n            e.global && 0 === t.active++ && n(e, null, \"ajaxStart\")\n        }\n\n        function i(e) {\n            e.global && !--t.active && n(e, null, \"ajaxStop\")\n        }\n\n        function o(t, e) {\n            var r = e.context;\n            return e.beforeSend.call(r, t, e) !== !1 && n(e, r, \"ajaxBeforeSend\", [t, e]) !== !1 && void n(e, r, \"ajaxSend\", [t, e])\n        }\n\n        function a(t, e, r, i) {\n            var o = r.context, a = \"success\";\n            r.success.call(o, t, a, e), i && i.resolveWith(o, [t, a, e]), n(r, o, \"ajaxSuccess\", [e, r, t]), u(a, e, r)\n        }\n\n        function s(t, e, r, i, o) {\n            var a = i.context;\n            i.error.call(a, r, e, t), o && o.rejectWith(a, [r, e, t]), n(i, a, \"ajaxError\", [r, i, t || e]), u(e, r, i)\n        }\n\n        function u(t, e, r) {\n            var o = r.context;\n            r.complete.call(o, e, t), n(r, o, \"ajaxComplete\", [e, r]), i(r)\n        }\n\n        function c(t, e, n) {\n            if (n.dataFilter == l) return t;\n            var r = n.context;\n            return n.dataFilter.call(r, t, e)\n        }\n\n        function l() {\n        }\n\n        function f(t) {\n            return t && (t = t.split(\";\", 2)[0]), t && (t == T ? \"html\" : t == j ? \"json\" : w.test(t) ? \"script\" : E.test(t) && \"xml\") || \"text\"\n        }\n\n        function h(t, e) {\n            return \"\" == e ? t : (t + \"&\" + e).replace(/[&?]{1,2}/, \"?\")\n        }\n\n        function p(e) {\n            e.processData && e.data && \"string\" != t.type(e.data) && (e.data = t.param(e.data, e.traditional)), !e.data || e.type && \"GET\" != e.type.toUpperCase() && \"jsonp\" != e.dataType || (e.url = h(e.url, e.data), e.data = void 0)\n        }\n\n        function d(e, n, r, i) {\n            return t.isFunction(n) && (i = r, r = n, n = void 0), t.isFunction(r) || (i = r, r = void 0), {\n                url: e,\n                data: n,\n                success: r,\n                dataType: i\n            }\n        }\n\n        function m(e, n, r, i) {\n            var o, a = t.isArray(n), s = t.isPlainObject(n);\n            t.each(n, function (n, u) {\n                o = t.type(u), i && (n = r ? i : i + \"[\" + (s || \"object\" == o || \"array\" == o ? n : \"\") + \"]\"), !i && a ? e.add(u.name, u.value) : \"array\" == o || !r && \"object\" == o ? m(e, u, r, n) : e.add(n, u)\n            })\n        }\n\n        var v, g, y = +new Date, x = window.document, b = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n            w = /^(?:text|application)\\/javascript/i, E = /^(?:text|application)\\/xml/i, j = \"application/json\",\n            T = \"text/html\", S = /^\\s*$/, C = x.createElement(\"a\");\n        C.href = window.location.href, t.active = 0, t.ajaxJSONP = function (e, n) {\n            if (!(\"type\" in e)) return t.ajax(e);\n            var r, i, u = e.jsonpCallback, c = (t.isFunction(u) ? u() : u) || \"Zepto\" + y++,\n                l = x.createElement(\"script\"), f = window[c], h = function (e) {\n                    t(l).triggerHandler(\"error\", e || \"abort\")\n                }, p = {abort: h};\n            return n && n.promise(p), t(l).on(\"load error\", function (o, u) {\n                clearTimeout(i), t(l).off().remove(), \"error\" != o.type && r ? a(r[0], p, e, n) : s(null, u || \"error\", p, e, n), window[c] = f, r && t.isFunction(f) && f(r[0]), f = r = void 0\n            }), o(p, e) === !1 ? (h(\"abort\"), p) : (window[c] = function () {\n                r = arguments\n            }, l.src = e.url.replace(/\\?(.+)=\\?/, \"?$1=\" + c), x.head.appendChild(l), e.timeout > 0 && (i = setTimeout(function () {\n                h(\"timeout\")\n            }, e.timeout)), p)\n        }, t.ajaxSettings = {\n            type: \"GET\",\n            beforeSend: l,\n            success: l,\n            error: l,\n            complete: l,\n            context: null,\n            global: !0,\n            xhr: function () {\n                return new window.XMLHttpRequest\n            },\n            accepts: {\n                script: \"text/javascript, application/javascript, application/x-javascript\",\n                json: j,\n                xml: \"application/xml, text/xml\",\n                html: T,\n                text: \"text/plain\"\n            },\n            crossDomain: !1,\n            timeout: 0,\n            processData: !0,\n            cache: !0,\n            dataFilter: l\n        }, t.ajax = function (e) {\n            var n, i, u = t.extend({}, e || {}), d = t.Deferred && t.Deferred();\n            for (v in t.ajaxSettings) void 0 === u[v] && (u[v] = t.ajaxSettings[v]);\n            r(u), u.crossDomain || (n = x.createElement(\"a\"), n.href = u.url, n.href = n.href, u.crossDomain = C.protocol + \"//\" + C.host != n.protocol + \"//\" + n.host), u.url || (u.url = window.location.toString()), (i = u.url.indexOf(\"#\")) > -1 && (u.url = u.url.slice(0, i)), p(u);\n            var m = u.dataType, y = /\\?.+=\\?/.test(u.url);\n            if (y && (m = \"jsonp\"), u.cache !== !1 && (e && e.cache === !0 || \"script\" != m && \"jsonp\" != m) || (u.url = h(u.url, \"_=\" + Date.now())), \"jsonp\" == m) return y || (u.url = h(u.url, u.jsonp ? u.jsonp + \"=?\" : u.jsonp === !1 ? \"\" : \"callback=?\")), t.ajaxJSONP(u, d);\n            var b, w = u.accepts[m], E = {}, j = function (t, e) {\n                    E[t.toLowerCase()] = [t, e]\n                }, T = /^([\\w-]+:)\\/\\//.test(u.url) ? RegExp.$1 : window.location.protocol, N = u.xhr(),\n                O = N.setRequestHeader;\n            if (d && d.promise(N), u.crossDomain || j(\"X-Requested-With\", \"XMLHttpRequest\"), j(\"Accept\", w || \"*/*\"), (w = u.mimeType || w) && (w.indexOf(\",\") > -1 && (w = w.split(\",\", 2)[0]), N.overrideMimeType && N.overrideMimeType(w)), (u.contentType || u.contentType !== !1 && u.data && \"GET\" != u.type.toUpperCase()) && j(\"Content-Type\", u.contentType || \"application/x-www-form-urlencoded\"), u.headers) for (g in u.headers) j(g, u.headers[g]);\n            if (N.setRequestHeader = j, N.onreadystatechange = function () {\n                    if (4 == N.readyState) {\n                        N.onreadystatechange = l, clearTimeout(b);\n                        var e, n = !1;\n                        if (N.status >= 200 && N.status < 300 || 304 == N.status || 0 == N.status && \"file:\" == T) {\n                            if (m = m || f(u.mimeType || N.getResponseHeader(\"content-type\")), \"arraybuffer\" == N.responseType || \"blob\" == N.responseType) e = N.response; else {\n                                e = N.responseText;\n                                try {\n                                    e = c(e, m, u), \"script\" == m ? (0, eval)(e) : \"xml\" == m ? e = N.responseXML : \"json\" == m && (e = S.test(e) ? null : t.parseJSON(e))\n                                } catch (r) {\n                                    n = r\n                                }\n                                if (n) return s(n, \"parsererror\", N, u, d)\n                            }\n                            a(e, N, u, d)\n                        } else s(N.statusText || null, N.status ? \"error\" : \"abort\", N, u, d)\n                    }\n                }, o(N, u) === !1) return N.abort(), s(null, \"abort\", N, u, d), N;\n            var P = !(\"async\" in u) || u.async;\n            if (N.open(u.type, u.url, P, u.username, u.password), u.xhrFields) for (g in u.xhrFields) N[g] = u.xhrFields[g];\n            for (g in E) O.apply(N, E[g]);\n            return u.timeout > 0 && (b = setTimeout(function () {\n                N.onreadystatechange = l, N.abort(), s(null, \"timeout\", N, u, d)\n            }, u.timeout)), N.send(u.data ? u.data : null), N\n        }, t.get = function () {\n            return t.ajax(d.apply(null, arguments))\n        }, t.post = function () {\n            var e = d.apply(null, arguments);\n            return e.type = \"POST\", t.ajax(e)\n        }, t.getJSON = function () {\n            var e = d.apply(null, arguments);\n            return e.dataType = \"json\", t.ajax(e)\n        }, t.fn.load = function (e, n, r) {\n            if (!this.length) return this;\n            var i, o = this, a = e.split(/\\s/), s = d(e, n, r), u = s.success;\n            return a.length > 1 && (s.url = a[0], i = a[1]), s.success = function (e) {\n                o.html(i ? t(\"<div>\").html(e.replace(b, \"\")).find(i) : e), u && u.apply(o, arguments)\n            }, t.ajax(s), this\n        };\n        var N = encodeURIComponent;\n        t.param = function (e, n) {\n            var r = [];\n            return r.add = function (e, n) {\n                t.isFunction(n) && (n = n()), null == n && (n = \"\"), this.push(N(e) + \"=\" + N(n))\n            }, m(r, e, n), r.join(\"&\").replace(/%20/g, \"+\")\n        }\n    }(e), function (t) {\n        t.fn.serializeArray = function () {\n            var e, n, r = [], i = function (t) {\n                return t.forEach ? t.forEach(i) : void r.push({name: e, value: t})\n            };\n            return this[0] && t.each(this[0].elements, function (r, o) {\n                n = o.type, e = o.name, e && \"fieldset\" != o.nodeName.toLowerCase() && !o.disabled && \"submit\" != n && \"reset\" != n && \"button\" != n && \"file\" != n && (\"radio\" != n && \"checkbox\" != n || o.checked) && i(t(o).val())\n            }), r\n        }, t.fn.serialize = function () {\n            var t = [];\n            return this.serializeArray().forEach(function (e) {\n                t.push(encodeURIComponent(e.name) + \"=\" + encodeURIComponent(e.value))\n            }), t.join(\"&\")\n        }, t.fn.submit = function (e) {\n            if (0 in arguments) this.bind(\"submit\", e); else if (this.length) {\n                var n = t.Event(\"submit\");\n                this.eq(0).trigger(n), n.isDefaultPrevented() || this.get(0).submit()\n            }\n            return this\n        }\n    }(e), function () {\n        try {\n            getComputedStyle(void 0)\n        } catch (t) {\n            var e = getComputedStyle;\n            window.getComputedStyle = function (t, n) {\n                try {\n                    return e(t, n)\n                } catch (r) {\n                    return null\n                }\n            }\n        }\n    }(), t(\"zepto\", e)\n});\nlayui.define([\"layer-mobile\", \"zepto\"], function (e) {\n    \"use strict\";\n    var t = layui.zepto, a = layui[\"layer-mobile\"], i = (layui.device(), \"layui-upload-enter\"),\n        n = \"layui-upload-iframe\", r = {icon: 2, shift: 6}, o = {file: \"文件\", video: \"视频\", audio: \"音频\"};\n    a.msg = function (e) {\n        return a.open({content: e || \"\", skin: \"msg\", time: 2})\n    };\n    var s = function (e) {\n        this.options = e\n    };\n    s.prototype.init = function () {\n        var e = this, a = e.options, r = t(\"body\"), s = t(a.elem || \".layui-upload-file\"),\n            u = t('<iframe id=\"' + n + '\" class=\"' + n + '\" name=\"' + n + '\"></iframe>');\n        return t(\"#\" + n)[0] || r.append(u), s.each(function (r, s) {\n            s = t(s);\n            var u = '<form target=\"' + n + '\" method=\"' + (a.method || \"post\") + '\" key=\"set-mine\" enctype=\"multipart/form-data\" action=\"' + (a.url || \"\") + '\"></form>',\n                l = s.attr(\"lay-type\") || a.type;\n            a.unwrap || (u = '<div class=\"layui-box layui-upload-button\">' + u + '<span class=\"layui-upload-icon\"><i class=\"layui-icon\">&#xe608;</i>' + (s.attr(\"lay-title\") || a.title || \"上传\" + (o[l] || \"图片\")) + \"</span></div>\"), u = t(u), a.unwrap || u.on(\"dragover\", function (e) {\n                e.preventDefault(), t(this).addClass(i)\n            }).on(\"dragleave\", function () {\n                t(this).removeClass(i)\n            }).on(\"drop\", function () {\n                t(this).removeClass(i)\n            }), s.parent(\"form\").attr(\"target\") === n && (a.unwrap ? s.unwrap() : (s.parent().next().remove(), s.unwrap().unwrap())), s.wrap(u), s.off(\"change\").on(\"change\", function () {\n                e.action(this, l)\n            })\n        })\n    }, s.prototype.action = function (e, i) {\n        var o = this, s = o.options, u = e.value, l = t(e), p = l.attr(\"lay-ext\") || s.ext || \"\";\n        if (u) {\n            switch (i) {\n                case\"file\":\n                    if (p && !RegExp(\"\\\\w\\\\.(\" + p + \")$\", \"i\").test(escape(u))) return a.msg(\"不支持该文件格式\", r), e.value = \"\";\n                    break;\n                case\"video\":\n                    if (!RegExp(\"\\\\w\\\\.(\" + (p || \"avi|mp4|wma|rmvb|rm|flash|3gp|flv\") + \")$\", \"i\").test(escape(u))) return a.msg(\"不支持该视频格式\", r), e.value = \"\";\n                    break;\n                case\"audio\":\n                    if (!RegExp(\"\\\\w\\\\.(\" + (p || \"mp3|wav|mid\") + \")$\", \"i\").test(escape(u))) return a.msg(\"不支持该音频格式\", r), e.value = \"\";\n                    break;\n                default:\n                    if (!RegExp(\"\\\\w\\\\.(\" + (p || \"jpg|png|gif|bmp|jpeg\") + \")$\", \"i\").test(escape(u))) return a.msg(\"不支持该图片格式\", r), e.value = \"\"\n            }\n            s.before && s.before(e), l.parent().submit();\n            var c = t(\"#\" + n), f = setInterval(function () {\n                var t;\n                try {\n                    t = c.contents().find(\"body\").text()\n                } catch (i) {\n                    a.msg(\"上传接口存在跨域\", r), clearInterval(f)\n                }\n                if (t) {\n                    clearInterval(f), c.contents().find(\"body\").html(\"\");\n                    try {\n                        t = JSON.parse(t)\n                    } catch (i) {\n                        return t = {}, a.msg(\"请对上传接口返回JSON字符\", r)\n                    }\n                    \"function\" == typeof s.success && s.success(t, e)\n                }\n            }, 30);\n            e.value = \"\"\n        }\n    }, e(\"upload-mobile\", function (e) {\n        var t = new s(e = e || {});\n        t.init()\n    })\n});\nlayui.define([\"laytpl\", \"upload-mobile\", \"layer-mobile\", \"zepto\"], function (i) {\n    var e = \"2.1.0\", a = layui.zepto, t = layui.laytpl, n = layui[\"layer-mobile\"], l = layui[\"upload-mobile\"],\n        s = layui.device(), o = \"layui-show\", c = \"layim-this\", d = 20, r = {}, u = function () {\n            this.v = e, m(a(\"body\"), \"*[layim-event]\", function (i) {\n                var e = a(this), t = e.attr(\"layim-event\");\n                U[t] ? U[t].call(this, e, i) : \"\"\n            })\n        }, m = function (i, e, t) {\n            var n, l = \"function\" == typeof e, s = function (i) {\n                var e = a(this);\n                e.data(\"lock\") || (n || t.call(this, i), n = !1, e.data(\"lock\", \"true\"), setTimeout(function () {\n                    e.removeAttr(\"data-lock\")\n                }, e.data(\"locktime\") || 0))\n            };\n            return l && (t = e), i = \"string\" == typeof i ? a(i) : i, y ? void(l ? i.on(\"touchmove\", function () {\n                n = !0\n            }).on(\"touchend\", s) : i.on(\"touchmove\", e, function () {\n                n = !0\n            }).on(\"touchend\", e, s)) : void(l ? i.on(\"click\", s) : i.on(\"click\", e, s))\n        }, y = /Android|iPhone|SymbianOS|Windows Phone|iPad|iPod/.test(navigator.userAgent);\n    n.popBottom = function (i) {\n        n.close(n.popBottom.index), n.popBottom.index = n.open(a.extend({\n            type: 1,\n            content: i.content || \"\",\n            shade: !1,\n            className: \"layim-layer\"\n        }, i))\n    }, u.prototype.config = function (i) {\n        i = i || {}, i = a.extend({\n            title: \"我的IM\",\n            isgroup: 0,\n            isNewFriend: !0,\n            voice: \"default.mp3\",\n            chatTitleColor: \"#36373C\"\n        }, i), k(i)\n    }, u.prototype.on = function (i, e) {\n        return \"function\" == typeof e && (r[i] ? r[i].push(e) : r[i] = [e]), this\n    }, u.prototype.chat = function (i) {\n        if (window.JSON && window.JSON.parse) return L(i, -1), this\n    }, u.prototype.panel = function (i) {\n        return N(i)\n    }, u.prototype.cache = function () {\n        return C\n    }, u.prototype.getMessage = function (i) {\n        return M(i), this\n    }, u.prototype.addList = function (i) {\n        return O(i), this\n    }, u.prototype.removeList = function (i) {\n        return Y(i), this\n    }, u.prototype.setFriendStatus = function (i, e) {\n        var t = a(\".layim-friend\" + i);\n        t[\"online\" === e ? \"removeClass\" : \"addClass\"](\"layim-list-gray\")\n    }, u.prototype.setChatStatus = function (i) {\n        var e = A(), a = e.elem.find(\".layim-chat-status\");\n        return a.html(i), this\n    }, u.prototype.showNew = function (i, e) {\n        I(i, e)\n    }, u.prototype.content = function (i) {\n        return layui.data.content(i)\n    };\n    var p = function (i) {\n            var e = {friend: \"该分组下暂无好友\", group: \"暂无群组\", history: \"暂无任何消息\"};\n            return i = i || {}, \"history\" === i.type && (i.item = i.item || \"d.sortHistory\"), [\"{{# var length = 0; layui.each(\" + i.item + \", function(i, data){ length++; }}\", '<li layim-event=\"chat\" data-type=\"' + i.type + '\" data-index=\"' + (i.index ? \"{{\" + i.index + \"}}\" : (\"history\" === i.type ? \"{{data.type}}\" : i.type) + \"{{data.id}}\") + '\" class=\"layim-' + (\"history\" === i.type ? \"{{data.type}}\" : i.type) + '{{data.id}} {{ data.status === \"offline\" ? \"layim-list-gray\" : \"\" }}\"><div><img src=\"{{data.avatar}}\"></div><span>{{ data.username||data.groupname||data.name||\"佚名\" }}</span><p>{{ data.remark||data.sign||\"\" }}</p><span class=\"layim-msg-status\">new</span></li>', \"{{# }); if(length === 0){ }}\", '<li class=\"layim-null\">' + (e[i.type] || \"暂无数据\") + \"</li>\", \"{{# } }}\"].join(\"\")\n        }, f = function (i, e, a) {\n            return ['<div class=\"layim-panel' + (e ? \" layui-m-anim-left\" : \"\") + '\">', '<div class=\"layim-title\" style=\"background-color: {{d.base.chatTitleColor}};\">', \"<p>\", a ? '<i class=\"layui-icon layim-chat-back\" layim-event=\"back\">&#xe603;</i>' : \"\", '{{ d.title || d.base.title }}<span class=\"layim-chat-status\"></span>', \"{{# if(d.data){ }}\", '{{# if(d.data.type === \"group\"){ }}', '<i class=\"layui-icon layim-chat-detail\" layim-event=\"detail\">&#xe613;</i>', \"{{# } }}\", \"{{# } }}\", \"</p>\", \"</div>\", '<div class=\"layui-unselect layim-content\">', i, \"</div>\", \"</div>\"].join(\"\")\n        },\n        h = ['<div class=\"layui-layim\">', '<div class=\"layim-tab-content layui-show\">', '<ul class=\"layim-list-friend\">', '<ul class=\"layui-layim-list layui-show layim-list-history\">', p({type: \"history\"}), \"</ul>\", \"</ul>\", \"</div>\", '<div class=\"layim-tab-content\">', '<ul class=\"layim-list-top\">', \"{{# if(d.base.isNewFriend){ }}\", '<li layim-event=\"newFriend\"><i class=\"layui-icon\">&#xe654;</i>新的朋友<i class=\"layim-new\" id=\"LAY_layimNewFriend\"></i></li>', \"{{# } if(d.base.isgroup){ }}\", '<li layim-event=\"group\"><i class=\"layui-icon\">&#xe613;</i>群聊<i class=\"layim-new\" id=\"LAY_layimNewGroup\"></i></li>', \"{{# } }}\", \"</ul>\", '<ul class=\"layim-list-friend\">', '{{# layui.each(d.friend, function(index, item){ var spread = d.local[\"spread\"+index]; }}', \"<li>\", '<h5 layim-event=\"spread\" lay-type=\"{{ spread }}\"><i class=\"layui-icon\">{{# if(spread === \"true\"){ }}&#xe61a;{{# } else {  }}&#xe602;{{# } }}</i><span>{{ item.groupname||\"未命名分组\"+index }}</span><em>(<cite class=\"layim-count\"> {{ (item.list||[]).length }}</cite>)</em></h5>', '<ul class=\"layui-layim-list {{# if(spread === \"true\"){ }}', \" layui-show\", '{{# } }}\">', p({\n            type: \"friend\",\n            item: \"item.list\",\n            index: \"index\"\n        }), \"</ul>\", \"</li>\", \"{{# }); if(d.friend.length === 0){ }}\", '<li><ul class=\"layui-layim-list layui-show\"><li class=\"layim-null\">暂无联系人</li></ul>', \"{{# } }}\", \"</ul>\", \"</div>\", '<div class=\"layim-tab-content\">', '<ul class=\"layim-list-top\">', \"{{# layui.each(d.base.moreList, function(index, item){ }}\", '<li layim-event=\"moreList\" lay-filter=\"{{ item.alias }}\">', '<i class=\"layui-icon {{item.iconClass||\"\"}}\">{{item.iconUnicode||\"\"}}</i>{{item.title}}<i class=\"layim-new\" id=\"LAY_layimNew{{ item.alias }}\"></i>', \"</li>\", \"{{# }); if(!d.base.copyright){ }}\", '<li layim-event=\"about\"><i class=\"layui-icon\">&#xe60b;</i>关于<i class=\"layim-new\" id=\"LAY_layimNewAbout\"></i></li>', \"{{# } }}\", \"</ul>\", \"</div>\", \"</div>\", '<ul class=\"layui-unselect layui-layim-tab\">', '<li title=\"消息\" layim-event=\"tab\" lay-type=\"message\" class=\"layim-this\"><i class=\"layui-icon\">&#xe611;</i><span>消息</span><i class=\"layim-new\" id=\"LAY_layimNewMsg\"></i></li>', '<li title=\"联系人\" layim-event=\"tab\" lay-type=\"friend\"><i class=\"layui-icon\">&#xe612;</i><span>联系人</span><i class=\"layim-new\" id=\"LAY_layimNewList\"></i></li>', '<li title=\"更多\" layim-event=\"tab\" lay-type=\"more\"><i class=\"layui-icon\">&#xe670;</i><span>更多</span><i class=\"layim-new\" id=\"LAY_layimNewMore\"></i></li>', \"</ul>\"].join(\"\"),\n        v = ['<div class=\"layim-chat layim-chat-{{d.data.type}}\">', '<div class=\"layim-chat-main\">', \"<ul></ul>\", \"</div>\", '<div class=\"layim-chat-footer\">', '<div class=\"layim-chat-send\"><input type=\"text\" autocomplete=\"off\"><button class=\"layim-send layui-disabled\" layim-event=\"send\">发送</button></div>', '<div class=\"layim-chat-tool\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\">', '<span class=\"layui-icon layim-tool-face\" title=\"选择表情\" layim-event=\"face\">&#xe60c;</span>      <span class=\"layui-icon layim-tool-face\" title=\"发送语音消息\" onclick=\"window.audioMessage(this);\"  data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\">&#xe688;</span><span class=\"layui-icon layim-tool-face\" title=\"进行视频聊天\" onclick=\"window.videoChat(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#xe6ed;</span> <span class=\"layui-icon layim-tool-face\" title=\"进行语音聊天\" onclick=\"window.makeacall(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#xe6fc;</span>        <span class=\"layui-icon layim-tool-face\" title=\"删除该用户\" onclick=\"window.removeThisFriend(this);\" data-json=\"{{encodeURIComponent(JSON.stringify(d.data))}}\" >&#x1006;</span>                           ', \"{{# if(d.base && d.base.uploadImage){ }}\", '<span class=\"layui-icon layim-tool-image\" title=\"上传图片\" layim-event=\"image\">&#xe60d;<input type=\"file\" name=\"file\" accept=\"image/*\"></span>', \"{{# }; }}\", \"{{# if(d.base && d.base.uploadFile){ }}\", '<span class=\"layui-icon layim-tool-image\" title=\"发送文件\" layim-event=\"image\" data-type=\"file\">&#xe61d;<input type=\"file\" name=\"file\"></span>', \"{{# }; }}\", \"{{# layui.each(d.base.tool, function(index, item){ }}\", '<span class=\"layui-icon  {{item.iconClass||\"\"}} layim-tool-{{item.alias}}\" title=\"{{item.title}}\" layim-event=\"extend\" lay-filter=\"{{ item.alias }}\">{{item.iconUnicode||\"\"}}</span>', \"{{# }); }}\", \"</div>\", \"</div>\", \"</div>\"].join(\"\"),\n        g = function (i) {\n            return i < 10 ? \"0\" + (0 | i) : i\n        };\n    layui.data.date = function (i) {\n        var e = new Date(i || new Date);\n        return g(e.getMonth() + 1) + \"-\" + g(e.getDate()) + \" \" + g(e.getHours()) + \":\" + g(e.getMinutes())\n    }, layui.data.content = function (i) {\n        var e = function (i) {\n            return new RegExp(\"\\\\n*\\\\[\" + (i || \"\") + \"(pre|div|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\\\s\\\\S]*?)\\\\]\\\\n*\", \"g\")\n        };\n        return i = (i || \"\").replace(/&(?!#?[a-zA-Z0-9]+;)/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/'/g, \"&#39;\").replace(/\"/g, \"&quot;\").replace(/@(\\S+)(\\s+?|$)/g, '@<a href=\"javascript:;\">$1</a>$2').replace(/face\\[([^\\s\\[\\]]+?)\\]/g, function (i) {\n            var e = i.replace(/^face/g, \"\");\n            return '<img alt=\"' + e + '\" title=\"' + e + '\" src=\"' + E[e] + '\">'\n        }).replace(/img\\[([^\\s]+?)\\]/g, function (i) {\n            return '<img class=\"layui-layim-photos\" src=\"' + i.replace(/(^img\\[)|(\\]$)/g, \"\") + '\">'\n        }).replace(/file\\([\\s\\S]+?\\)\\[[\\s\\S]*?\\]/g, function (i) {\n            var e = (i.match(/file\\(([\\s\\S]+?)\\)\\[/) || [])[1], a = (i.match(/\\)\\[([\\s\\S]*?)\\]/) || [])[1];\n            return e ? '<a class=\"layui-layim-file\" href=\"' + e + '\" download target=\"_blank\"><i class=\"layui-icon\">&#xe61e;</i><cite>' + (a || e) + \"</cite></a>\" : i\n        }).replace(/audio\\[([^\\s]+?)\\]/g, function (i) {\n            return '<div class=\"layui-unselect layui-layim-audio\" layim-event=\"playAudio\" data-src=\"' + i.replace(/(^audio\\[)|(\\]$)/g, \"\") + '\"><i class=\"layui-icon\">&#xe652;</i><p>音频消息</p></div>'\n        }).replace(/video\\[([^\\s]+?)\\]/g, function (i) {\n            return '<div class=\"layui-unselect layui-layim-video\" layim-event=\"playVideo\" data-src=\"' + i.replace(/(^video\\[)|(\\]$)/g, \"\") + '\"><i class=\"layui-icon\">&#xe652;</i></div>'\n        }).replace(/a\\([\\s\\S]+?\\)\\[[\\s\\S]*?\\]/g, function (i) {\n            var e = (i.match(/a\\(([\\s\\S]+?)\\)\\[/) || [])[1], a = (i.match(/\\)\\[([\\s\\S]*?)\\]/) || [])[1];\n            return e ? '<a href=\"' + e + '\" target=\"_blank\">' + (a || e) + \"</a>\" : i\n        }).replace(e(), \"<$1 $2>\").replace(e(\"/\"), \"</$1>\").replace(/\\n/g, \"<br>\")\n    };\n    var b, x,\n        w = ['<li class=\"layim-chat-li{{ d.mine ? \" layim-chat-mine\" : \"\" }}\">', '<div class=\"layim-chat-user\"><img src=\"{{ d.avatar }}\"><cite>', '{{ d.username||\"佚名\" }}', \"</cite></div>\", '<div class=\"layim-chat-text\">{{ layui.data.content(d.content||\"&nbsp;\") }}</div>', \"</li>\"].join(\"\"),\n        C = {message: {}, chat: []}, k = function (i) {\n            var e = i.init || {};\n            return mine = e.mine || {}, local = layui.data(\"layim-mobile\")[mine.id] || {}, obj = {\n                base: i,\n                local: local,\n                mine: mine,\n                history: local.history || []\n            }, create = function (e) {\n                var n = e.mine || {}, l = layui.data(\"layim-mobile\")[n.id] || {}, s = {\n                    base: i,\n                    local: l,\n                    mine: n,\n                    friend: e.friend || [],\n                    group: e.group || [],\n                    history: l.history || []\n                };\n                s.sortHistory = j(s.history, \"historyTime\"), C = a.extend(C, s), S(t(f(h)).render(s)), layui.each(r.ready, function (i, e) {\n                    e && e(s)\n                })\n            }, C = a.extend(C, obj), i.brief ? layui.each(r.ready, function (i, e) {\n                e && e(obj)\n            }) : void create(e)\n        }, S = function (i) {\n            return n.open({\n                type: 1, shade: !1, shadeClose: !1, anim: -1, content: i, success: function (i) {\n                    b = a(i), T(b.find(\".layui-layim\")), C.base.tabIndex && U.tab(a(\".layui-layim-tab>li\").eq(C.base.tabIndex))\n                }\n            })\n        }, N = function (i, e) {\n            i = i || {};\n            var l = a.extend({}, C, {title: i.title || \"\", data: i.data});\n            return n.open({\n                type: 1,\n                shade: !1,\n                shadeClose: !1,\n                anim: -1,\n                content: t(f(i.tpl, e !== -1, !0)).render(l),\n                success: function (e) {\n                    var t = a(e);\n                    t.prev().find(\".layim-panel\").addClass(\"layui-m-anim-lout\"), i.success && i.success(e), i.isChat || T(t.find(\".layim-content\"))\n                },\n                end: i.end\n            })\n        }, L = function (i, e, t) {\n            return i = i || {}, i.id ? (n.close(L.index), L.index = N({\n                tpl: v,\n                data: i,\n                title: i.name,\n                isChat: !0,\n                success: function (e) {\n                    x = a(e), B(), $(), delete C.message[i.type + i.id], I(\"Msg\");\n                    var t = A(), n = t.elem.find(\".layim-chat-main\");\n                    layui.each(r.chatChange, function (i, e) {\n                        e && e(t)\n                    }), T(n), t.textarea.on(\"focus\", function () {\n                        setTimeout(function () {\n                            n.scrollTop(n[0].scrollHeight + 1e3)\n                        }, 500)\n                    })\n                },\n                end: function () {\n                    x = null, q.time = 0\n                }\n            }, e)) : n.msg(\"非法用户\")\n        }, T = function (i) {\n            s.ios && i.on(\"touchmove\", function (e) {\n                var a = i.scrollTop();\n                a <= 0 && (i.scrollTop(1), e.preventDefault(e)), this.scrollHeight - a - i.height() <= 0 && (i.scrollTop(i.scrollTop() - 1), e.preventDefault(e))\n            })\n        }, A = function () {\n            if (!x) return {};\n            var i = x.find(\".layim-chat\"), e = JSON.parse(decodeURIComponent(i.find(\".layim-chat-tool\").data(\"json\")));\n            return {elem: i, data: e, textarea: i.find(\"input\")}\n        }, j = function (i, e, a) {\n            var t = [], n = function (i, a) {\n                var t = i[e], n = a[e];\n                return n < t ? -1 : n > t ? 1 : 0\n            };\n            return layui.each(i, function (i, e) {\n                t.push(e)\n            }), t.sort(n), a && t.reverse(), t\n        }, H = function (i) {\n            var e = layui.data(\"layim-mobile\")[C.mine.id] || {}, a = {}, n = e.history || {};\n            n[i.type + i.id];\n            if (b) {\n                var l = b.find(\".layim-list-history\");\n                i.historyTime = (new Date).getTime(), i.sign = i.content, n[i.type + i.id] = i, e.history = n, layui.data(\"layim-mobile\", {\n                    key: C.mine.id,\n                    value: e\n                });\n                var s = l.find(\".layim-\" + i.type + i.id), c = (C.message[i.type + i.id] || []).length, d = function () {\n                    s = l.find(\".layim-\" + i.type + i.id), s.find(\"p\").html(i.content), c > 0 && s.find(\".layim-msg-status\").html(c).addClass(o)\n                };\n                if (s.length > 0) d(), l.prepend(s.clone()), s.remove(); else {\n                    a[i.type + i.id] = i;\n                    var r = t(p({type: \"history\", item: \"d.data\"})).render({data: a});\n                    l.prepend(r), d(), l.find(\".layim-null\").remove()\n                }\n                I(\"Msg\")\n            }\n        }, I = function (i, e) {\n            if (!e) {\n                var e;\n                layui.each(C.message, function () {\n                    return e = !0, !1\n                })\n            }\n            a(\"#LAY_layimNew\" + i)[e ? \"addClass\" : \"removeClass\"](o)\n        }, q = function () {\n            var i = {\n                    username: C.mine ? C.mine.username : \"访客\",\n                    avatar: C.mine ? C.mine.avatar : layui.cache.dir + \"css/pc/layim/skin/logo.jpg\",\n                    id: C.mine ? C.mine.id : null,\n                    mine: !0\n                }, e = A(), a = e.elem.find(\".layim-chat-main ul\"), l = e.data, s = C.base.maxLength || 3e3,\n                o = (new Date).getTime(), c = e.textarea;\n            if (i.content = c.val(), \"\" !== i.content) {\n                if (i.content.length > s) return n.msg(\"内容最长不能超过\" + s + \"个字符\");\n                o - (q.time || 0) > 6e4 && (a.append('<li class=\"layim-chat-system\"><span>' + layui.data.date() + \"</span></li>\"), q.time = o), a.append(t(w).render(i));\n                var d = {mine: i, to: l}, u = {\n                    username: d.mine.username,\n                    avatar: d.mine.avatar,\n                    id: l.id,\n                    type: l.type,\n                    content: d.mine.content,\n                    timestamp: o,\n                    mine: !0\n                };\n                F(u), layui.each(r.sendMessage, function (i, e) {\n                    e && e(d)\n                }), l.content = i.content, H(l), J(), c.val(\"\"), c.next().addClass(\"layui-disabled\")\n            }\n        }, _ = function () {\n            var i = document.createElement(\"audio\");\n            i.src = layui.cache.dir + \"css/modules/layim/voice/\" + C.base.voice, i.play()\n        }, D = {}, M = function (i) {\n            i = i || {};\n            var e = {}, n = A(), l = n.data || {}, s = l.id == i.id && l.type == i.type;\n            i.timestamp = i.timestamp || (new Date).getTime(), i.system || F(i), D = JSON.parse(JSON.stringify(i)), C.base.voice && _(), (!x && i.content || !s) && (C.message[i.type + i.id] ? C.message[i.type + i.id].push(i) : C.message[i.type + i.id] = [i]);\n            var e = {};\n            if (\"friend\" === i.type) {\n                var o;\n                layui.each(C.friend, function (e, a) {\n                    if (layui.each(a.list, function (e, a) {\n                            if (a.id == i.id) return i.type = \"friend\", i.name = a.username, o = !0\n                        }), o) return !0\n                }), o || (i.temporary = !0)\n            } else \"group\" === i.type ? layui.each(C.group, function (a, t) {\n                if (t.id == i.id) return i.type = \"group\", i.name = i.groupname = t.groupname, e.avatar = t.avatar, !0\n            }) : i.name = i.name || i.username || i.groupname;\n            var c = a.extend({}, i, {avatar: e.avatar || i.avatar});\n            if (\"group\" === i.type && delete c.username, H(c), x && s) {\n                var d = x.find(\".layim-chat\"), r = d.find(\".layim-chat-main ul\");\n                i.system ? r.append('<li class=\"layim-chat-system\"><span>' + i.content + \"</span></li>\") : \"\" !== i.content.replace(/\\s/g, \"\") && (i.timestamp - (q.time || 0) > 6e4 && (r.append('<li class=\"layim-chat-system\"><span>' + layui.data.date(i.timestamp) + \"</span></li>\"), q.time = i.timestamp), r.append(t(w).render(i))), J()\n            }\n        }, F = function (i) {\n            var e = layui.data(\"layim-mobile\")[C.mine.id] || {}, a = e.chatlog || {};\n            a[i.type + i.id] ? (a[i.type + i.id].push(i), a[i.type + i.id].length > d && a[i.type + i.id].shift()) : a[i.type + i.id] = [i], e.chatlog = a, layui.data(\"layim-mobile\", {\n                key: C.mine.id,\n                value: e\n            })\n        }, $ = function () {\n            var i = layui.data(\"layim-mobile\")[C.mine.id] || {}, e = A(), a = i.chatlog || {},\n                n = e.elem.find(\".layim-chat-main ul\");\n            layui.each(a[e.data.type + e.data.id], function (i, e) {\n                (new Date).getTime() > e.timestamp && e.timestamp - (q.time || 0) > 6e4 && (n.append('<li class=\"layim-chat-system\"><span>' + layui.data.date(e.timestamp) + \"</span></li>\"), q.time = e.timestamp), n.append(t(w).render(e))\n            }), J()\n        }, O = function (i) {\n            var e, a = {}, l = b.find(\".layim-list-\" + i.type);\n            if (C[i.type]) if (\"friend\" === i.type) layui.each(C.friend, function (t, l) {\n                if (i.groupid == l.id) return layui.each(C.friend[t].list, function (a, t) {\n                    if (t.id == i.id) return e = !0\n                }), e ? n.msg(\"好友 [\" + (i.username || \"\") + \"] 已经存在列表中\", {anim: 6}) : (C.friend[t].list = C.friend[t].list || [], a[C.friend[t].list.length] = i, i.groupIndex = t, C.friend[t].list.push(i), !0)\n            }); else if (\"group\" === i.type) {\n                if (layui.each(C.group, function (a, t) {\n                        if (t.id == i.id) return e = !0\n                    }), e) return n.msg(\"您已是 [\" + (i.groupname || \"\") + \"] 的群成员\", {anim: 6});\n                a[C.group.length] = i, C.group.push(i)\n            }\n            if (!e) {\n                var s = t(p({\n                    type: i.type,\n                    item: \"d.data\",\n                    index: \"friend\" === i.type ? \"data.groupIndex\" : null\n                })).render({data: a});\n                if (\"friend\" === i.type) {\n                    var o = l.children(\"li\").eq(i.groupIndex);\n                    o.find(\".layui-layim-list\").append(s), o.find(\".layim-count\").html(C.friend[i.groupIndex].list.length), o.find(\".layim-null\")[0] && o.find(\".layim-null\").remove()\n                } else \"group\" === i.type && (l.append(s), l.find(\".layim-null\")[0] && l.find(\".layim-null\").remove())\n            }\n        }, Y = function (i) {\n            var e = b.find(\".layim-list-\" + i.type);\n            C[i.type] && (\"friend\" === i.type ? layui.each(C.friend, function (a, t) {\n                layui.each(t.list, function (t, n) {\n                    if (i.id == n.id) {\n                        var l = e.children(\"li\").eq(a);\n                        l.find(\".layui-layim-list\").children(\"li\");\n                        return l.find(\".layui-layim-list\").children(\"li\").eq(t).remove(), C.friend[a].list.splice(t, 1), l.find(\".layim-count\").html(C.friend[a].list.length), 0 === C.friend[a].list.length && l.find(\".layui-layim-list\").html('<li class=\"layim-null\">该分组下已无好友了</li>'), !0\n                    }\n                })\n            }) : \"group\" === i.type && layui.each(C.group, function (a, t) {\n                if (i.id == t.id) return e.children(\"li\").eq(a).remove(), C.group.splice(a, 1), 0 === C.group.length && e.html('<li class=\"layim-null\">暂无群组</li>'), !0\n            }))\n        }, J = function () {\n            var i = A(), e = i.elem.find(\".layim-chat-main\"), a = e.find(\"ul\"), t = a.children(\".layim-chat-li\");\n            if (t.length >= d) {\n                var n = t.eq(0);\n                n.prev().remove(), a.prev().hasClass(\"layim-chat-system\") || a.before('<div class=\"layim-chat-system\"><span layim-event=\"chatLog\">查看更多记录</span></div>'), n.remove()\n            }\n            e.scrollTop(e[0].scrollHeight + 1e3)\n        }, B = function () {\n            var i = A(), e = i.textarea, a = e.next();\n            e.off(\"keyup\").on(\"keyup\", function (i) {\n                var t = i.keyCode;\n                13 === t && (i.preventDefault(), q()), a[\"\" === e.val() ? \"addClass\" : \"removeClass\"](\"layui-disabled\")\n            })\n        }, E = function () {\n            var i = [\"[微笑]\", \"[嘻嘻]\", \"[哈哈]\", \"[可爱]\", \"[可怜]\", \"[挖鼻]\", \"[吃惊]\", \"[害羞]\", \"[挤眼]\", \"[闭嘴]\", \"[鄙视]\", \"[爱你]\", \"[泪]\", \"[偷笑]\", \"[亲亲]\", \"[生病]\", \"[太开心]\", \"[白眼]\", \"[右哼哼]\", \"[左哼哼]\", \"[嘘]\", \"[衰]\", \"[委屈]\", \"[吐]\", \"[哈欠]\", \"[抱抱]\", \"[怒]\", \"[疑问]\", \"[馋嘴]\", \"[拜拜]\", \"[思考]\", \"[汗]\", \"[困]\", \"[睡]\", \"[钱]\", \"[失望]\", \"[酷]\", \"[色]\", \"[哼]\", \"[鼓掌]\", \"[晕]\", \"[悲伤]\", \"[抓狂]\", \"[黑线]\", \"[阴险]\", \"[怒骂]\", \"[互粉]\", \"[心]\", \"[伤心]\", \"[猪头]\", \"[熊猫]\", \"[兔子]\", \"[ok]\", \"[耶]\", \"[good]\", \"[NO]\", \"[赞]\", \"[来]\", \"[弱]\", \"[草泥马]\", \"[神马]\", \"[囧]\", \"[浮云]\", \"[给力]\", \"[围观]\", \"[威武]\", \"[奥特曼]\", \"[礼物]\", \"[钟]\", \"[话筒]\", \"[蜡烛]\", \"[蛋糕]\"],\n                e = {};\n            return layui.each(i, function (i, a) {\n                e[a] = layui.cache.dir + \"images/face/\" + i + \".gif\"\n            }), e\n        }(), P = layui.stope, R = function (i, e, a) {\n            var t, n = i.value;\n            a || i.focus(), document.selection ? (t = document.selection.createRange(), document.selection.empty(), t.text = e) : (t = [n.substring(0, i.selectionStart), e, n.substr(i.selectionEnd)], a || i.focus(), i.value = t.join(\"\"))\n        }, U = {\n            chat: function (i) {\n                var e = layui.data(\"layim-mobile\")[C.mine.id] || {}, t = i.data(\"type\"), n = i.data(\"index\"),\n                    l = i.attr(\"data-list\") || i.index(), s = {};\n                \"friend\" === t ? s = C[t][n].list[l] : \"group\" === t ? s = C[t][l] : \"history\" === t && (s = (e.history || {})[n] || {}), s.name = s.name || s.username || s.groupname, \"history\" !== t && (s.type = t), L(s, !0), a(\".layim-\" + s.type + s.id).find(\".layim-msg-status\").removeClass(o)\n            }, spread: function (i) {\n                var e = i.attr(\"lay-type\"), a = \"true\" === e ? \"false\" : \"true\",\n                    t = layui.data(\"layim-mobile\")[C.mine.id] || {};\n                i.next()[\"true\" === e ? \"removeClass\" : \"addClass\"](o), t[\"spread\" + i.parent().index()] = a, layui.data(\"layim-mobile\", {\n                    key: C.mine.id,\n                    value: t\n                }), i.attr(\"lay-type\", a), i.find(\".layui-icon\").html(\"true\" === a ? \"&#xe61a;\" : \"&#xe602;\")\n            }, tab: function (i) {\n                var e = i.index(), a = \".layim-tab-content\";\n                i.addClass(c).siblings().removeClass(c), b.find(a).eq(e).addClass(o).siblings(a).removeClass(o)\n            }, back: function (i) {\n                var e = i.parents(\".layui-m-layer\").eq(0), a = e.attr(\"index\"), t = \".layim-panel\";\n                setTimeout(function () {\n                    n.close(a)\n                }, 300), i.parents(t).eq(0).removeClass(\"layui-m-anim-left\").addClass(\"layui-m-anim-rout\"), e.prev().find(t).eq(0).removeClass(\"layui-m-anim-lout\").addClass(\"layui-m-anim-right\"), layui.each(r.back, function (i, e) {\n                    setTimeout(function () {\n                        e && e()\n                    }, 200)\n                })\n            }, send: function () {\n                q()\n            }, face: function (i, e) {\n                var t = \"\", l = A(), s = l.textarea;\n                layui.each(E, function (i, e) {\n                    t += '<li title=\"' + i + '\"><img src=\"' + e + '\"></li>'\n                }), t = '<ul class=\"layui-layim-face\">' + t + \"</ul>\", n.popBottom({\n                    content: t, success: function (i) {\n                        var e = a(i).find(\".layui-layim-face\").children(\"li\");\n                        m(e, function () {\n                            return R(s[0], \"face\" + this.title + \" \", !0), s.next()[\"\" === s.val() ? \"addClass\" : \"removeClass\"](\"layui-disabled\"), !1\n                        })\n                    }\n                });\n                var o = a(document);\n                y ? o.off(\"touchend\", U.faceHide).on(\"touchend\", U.faceHide) : o.off(\"click\", U.faceHide).on(\"click\", U.faceHide), P(e)\n            }, faceHide: function () {\n                n.close(n.popBottom.index), a(document).off(\"touchend\", U.faceHide).off(\"click\", U.faceHide)\n            }, image: function (i) {\n                var e = i.data(\"type\") || \"images\", a = {images: \"uploadImage\", file: \"uploadFile\"}, t = A(),\n                    s = C.base[a[e]] || {};\n                l({\n                    url: s.url || \"\", method: s.type, elem: i.find(\"input\")[0], unwrap: !0, type: e, success: function (i) {\n                        0 == i.code ? (i.data = i.data || {}, \"images\" === e ? R(t.textarea[0], \"img[\" + (i.data.src || \"\") + \"]\") : \"file\" === e && R(t.textarea[0], \"file(\" + (i.data.src || \"\") + \")[\" + (i.data.name || \"下载文件\") + \"]\"), q()) : n.msg(i.msg || \"上传失败\")\n                    }\n                })\n            }, extend: function (i) {\n                var e = i.attr(\"lay-filter\"), a = A();\n                layui.each(r[\"tool(\" + e + \")\"], function (e, t) {\n                    t && t.call(i, function (i) {\n                        R(a.textarea[0], i)\n                    }, q, a)\n                })\n            }, newFriend: function () {\n                layui.each(r.newFriend, function (i, e) {\n                    e && e()\n                })\n            }, group: function () {\n                N({\n                    title: \"群聊\",\n                    tpl: ['<div class=\"layui-layim-list layim-list-group\">', p({\n                        type: \"group\",\n                        item: \"d.group\"\n                    }), \"</div>\"].join(\"\"),\n                    data: {}\n                })\n            }, detail: function () {\n                var i = A();\n                layui.each(r.detail, function (e, a) {\n                    a && a(i.data)\n                })\n            }, playAudio: function (i) {\n\n                var e = i.data(\"audiox\"), a = e || document.createElement(\"audio\"), t = function () {\n                    a.pause(), i.removeAttr(\"status\"), i.find(\"i\").html(\"&#xe652;\")\n                };\n\n                return i.data(\"error\") ? n.msg(\"播放音频源异常\") : a.play ? void(i.attr(\"status\") ? t() : (e || (a.src = i.data(\"src\")), a.play(), i.attr(\"status\", \"pause\"), i.data(\"audio\", a), i.find(\"i\").html(\"&#xe651;\"), a.onended = function () {\n                    t()\n                }, a.onerror = function () {\n                    n.msg(\"播放音频源异常\"), i.data(\"error\", !0), t()\n                })) : n.msg(\"您的浏览器不支持audio\")\n            }, playVideo: function (i) {\n                var e = i.data(\"src\"), a = document.createElement(\"video\");\n                return a.play ? (n.close(U.playVideo.index), void(U.playVideo.index = n.open({\n                    type: 1,\n                    anim: !1,\n                    style: \"width: 100%; height: 50%;\",\n                    content: '<div style=\"background-color: #000; height: 100%;\"><video style=\"position: absolute; width: 100%; height: 100%;\" src=\"' + e + '\" autoplay=\"autoplay\"></video></div>'\n                }))) : n.msg(\"您的浏览器不支持video\")\n            }, chatLog: function (i) {\n                var e = A();\n                layui.each(r.chatlog, function (i, a) {\n                    a && a(e.data, e.elem.find(\".layim-chat-main>ul\"))\n                })\n            }, moreList: function (i) {\n                var e = i.attr(\"lay-filter\");\n                layui.each(r.moreList, function (i, a) {\n                    a && a({alias: e})\n                })\n            }, about: function () {\n                n.open({\n                    content: '<p style=\"padding-bottom: 5px;\">LayIM属于付费产品，欢迎通过官网获得授权，促进良性发展！</p><p>当前版本：layim mobile v' + e + '</p><p>版权所有：<a href=\"http://layim.layui.com\" target=\"_blank\">layim.layui.com</a></p> <p> 本人已经购得源码，拥有版权，可放心使用</p>',\n                    className: \"layim-about\",\n                    shadeClose: !1,\n                    btn: \"我知道了\"\n                })\n            }\n        };\n    i(\"layim-mobile\", new u)\n}).addcss(\"modules/layim/mobile/layim.css?v=2.10\", \"skinlayim-mobilecss\");\nlayui[\"layui.mobile\"] || layui.config({base: layui.cache.dir + \"lay/modules/mobile/\"}).extend({\n    \"layer-mobile\": \"layer-mobile\",\n    zepto: \"zepto\",\n    \"upload-mobile\": \"upload-mobile\",\n    \"layim-mobile\": \"layim-mobile\"\n}), layui.define([\"layer-mobile\", \"zepto\", \"layim-mobile\"], function (l) {\n    l(\"mobile\", {layer: layui[\"layer-mobile\"], layim: layui[\"layim-mobile\"]})\n});"
  },
  {
    "path": "webroot/dist/lay/modules/table.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define([\"laytpl\",\"laypage\",\"layer\",\"form\"],function(e){\"use strict\";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=layui.hint(),r=layui.device(),d={config:{checkName:\"LAY_CHECKED\",indexName:\"LAY_TABLE_INDEX\"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,s,e,t)}},c=function(){var e=this,t=e.config,i=t.id;return i&&(c.config[i]=t),{reload:function(t){e.reload.call(e,t)},config:t}},s=\"table\",u=\".layui-table\",h=\"layui-hide\",f=\"layui-none\",y=\"layui-table-view\",p=\".layui-table-header\",m=\".layui-table-body\",v=\".layui-table-main\",g=\".layui-table-fixed\",x=\".layui-table-fixed-l\",b=\".layui-table-fixed-r\",k=\".layui-table-tool\",C=\".layui-table-page\",w=\".layui-table-sort\",N=\"layui-table-edit\",F=\"layui-table-hover\",W=function(e){var t='{{#if(item2.colspan){}} colspan=\"{{item2.colspan}}\"{{#} if(item2.rowspan){}} rowspan=\"{{item2.rowspan}}\"{{#}}}';return e=e||{},['<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"layui-table\" ','{{# if(d.data.skin){ }}lay-skin=\"{{d.data.skin}}\"{{# } }} {{# if(d.data.size){ }}lay-size=\"{{d.data.size}}\"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',\"<thead>\",\"{{# layui.each(d.data.cols, function(i1, item1){ }}\",\"<tr>\",\"{{# layui.each(item1, function(i2, item2){ }}\",'{{# if(item2.fixed && item2.fixed !== \"right\"){ left = true; } }}','{{# if(item2.fixed === \"right\"){ right = true; } }}',function(){return e.fixed&&\"right\"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== \"right\"){ }}':\"right\"===e.fixed?'{{# if(item2.fixed === \"right\"){ }}':\"\"}(),'<th data-field=\"{{ item2.field||i2 }}\" {{# if(item2.minWidth){ }}data-minwidth=\"{{item2.minWidth}}\"{{# } }} '+t+' {{# if(item2.unresize){ }}data-unresize=\"true\"{{# } }}>','<div class=\"layui-table-cell laytable-cell-',\"{{# if(item2.colspan > 1){ }}\",\"group\",\"{{# } else { }}\",\"{{d.index}}-{{item2.field || i2}}\",'{{# if(item2.type !== \"normal\"){ }}',\" laytable-cell-{{ item2.type }}\",\"{{# } }}\",\"{{# } }}\",'\" {{#if(item2.align){}}align=\"{{item2.align}}\"{{#}}}>','{{# if(item2.type === \"checkbox\"){ }}','<input type=\"checkbox\" name=\"layTableCheckbox\" lay-skin=\"primary\" lay-filter=\"layTableAllChoose\" {{# if(item2[d.data.checkName]){ }}checked{{# }; }}>',\"{{# } else { }}\",'<span>{{item2.title||\"\"}}</span>',\"{{# if(!(item2.colspan > 1) && item2.sort){ }}\",'<span class=\"layui-table-sort layui-inline\"><i class=\"layui-edge layui-table-sort-asc\"></i><i class=\"layui-edge layui-table-sort-desc\"></i></span>',\"{{# } }}\",\"{{# } }}\",\"</div>\",\"</th>\",e.fixed?\"{{# }; }}\":\"\",\"{{# }); }}\",\"</tr>\",\"{{# }); }}\",\"</thead>\",\"</table>\"].join(\"\")},z=['<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"layui-table\" ','{{# if(d.data.skin){ }}lay-skin=\"{{d.data.skin}}\"{{# } }} {{# if(d.data.size){ }}lay-size=\"{{d.data.size}}\"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',\"<tbody></tbody>\",\"</table>\"].join(\"\"),A=['<div class=\"layui-form layui-border-box {{d.VIEW_CLASS}}\" lay-filter=\"LAY-table-{{d.index}}\" style=\"{{# if(d.data.width){ }}width:{{d.data.width}}px;{{# } }} {{# if(d.data.height){ }}height:{{d.data.height}}px;{{# } }}\">',\"{{# if(d.data.toolbar){ }}\",'<div class=\"layui-table-tool\"></div>',\"{{# } }}\",'<div class=\"layui-table-box\">',\"{{# var left, right; }}\",'<div class=\"layui-table-header\">',W(),\"</div>\",'<div class=\"layui-table-body layui-table-main\">',z,\"</div>\",\"{{# if(left){ }}\",'<div class=\"layui-table-fixed layui-table-fixed-l\">','<div class=\"layui-table-header\">',W({fixed:!0}),\"</div>\",'<div class=\"layui-table-body\">',z,\"</div>\",\"</div>\",\"{{# }; }}\",\"{{# if(right){ }}\",'<div class=\"layui-table-fixed layui-table-fixed-r\">','<div class=\"layui-table-header\">',W({fixed:\"right\"}),'<div class=\"layui-table-mend\"></div>',\"</div>\",'<div class=\"layui-table-body\">',z,\"</div>\",\"</div>\",\"{{# }; }}\",\"</div>\",\"{{# if(d.data.page){ }}\",'<div class=\"layui-table-page\">','<div id=\"layui-table-page{{d.index}}\"></div>',\"</div>\",\"{{# } }}\",\"<style>\",\"{{# layui.each(d.data.cols, function(i1, item1){\",\"layui.each(item1, function(i2, item2){ }}\",\".laytable-cell-{{d.index}}-{{item2.field||i2}}{ \",\"{{# if(item2.width){ }}\",\"width: {{item2.width}}px;\",\"{{# } }}\",\" }\",\"{{# });\",\"}); }}\",\"</style>\",\"</div>\"].join(\"\"),T=t(window),M=t(document),S=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};S.prototype.config={limit:10,loading:!0,cellMinWidth:60,text:{none:\"无数据\"}},S.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr(\"id\"),a.request=t.extend({pageName:\"page\",limitName:\"limit\"},a.request),a.response=t.extend({statusName:\"code\",statusCode:0,msgName:\"msg\",dataName:\"data\",countName:\"count\"},a.response),\"object\"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;e.setArea();var l=a.elem,n=l.next(\".\"+y),o=e.elem=t(i(A).render({VIEW_CLASS:y,data:a,index:e.index}));if(a.index=e.index,n[0]&&n.remove(),l.after(o),e.layHeader=o.find(p),e.layMain=o.find(v),e.layBody=o.find(m),e.layFixed=o.find(g),e.layFixLeft=o.find(x),e.layFixRight=o.find(b),e.layTool=o.find(k),e.layPage=o.find(C),e.layTool.html(i(t(a.toolbar).html()||\"\").render(a)),a.height&&e.fullSize(),a.cols.length>1){var r=e.layFixed.find(p).find(\"th\");r.height(e.layHeader.height()-1-parseFloat(r.css(\"padding-top\"))-parseFloat(r.css(\"padding-bottom\")))}e.pullData(e.page),e.events()},S.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,space:15,numbers:40});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||i[e.type])},S.prototype.setArea=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=t.width||function(){var e=function(i){var a,l;i=i||t.elem.parent(),a=i.width();try{l=\"none\"===i.css(\"display\")}catch(n){}return!i[0]||a&&!l?a:e(i.parent())};return e()}();e.eachCols(function(){i++}),o-=function(){return\"line\"===t.skin||\"nob\"===t.skin?2:i+1}(),layui.each(t.cols,function(t,i){layui.each(i,function(t,l){var r;return l?(e.initOpts(l),r=l.width||0,void(l.colspan>1||(/\\d+%$/.test(r)?l.width=r=Math.floor(parseFloat(r)/100*o):r||(l.width=r=0,a++),n+=r))):void i.splice(t,1)})}),e.autoColNums=a,o>n&&a&&(l=(o-n)/a),layui.each(t.cols,function(e,i){layui.each(i,function(e,i){var a=i.minWidth||t.cellMinWidth;i.colspan>1||0===i.width&&(i.width=Math.floor(l>=a?l:a))})}),t.height&&/^full-\\d+$/.test(t.height)&&(e.fullHeightGap=t.height.split(\"-\")[1],t.height=T.height()-e.fullHeightGap)},S.prototype.reload=function(e){var i=this;i.config.data&&i.config.data.constructor===Array&&delete i.config.data,i.config=t.extend({},i.config,e),i.render()},S.prototype.page=1,S.prototype.pullData=function(e,i){var a=this,n=a.config,o=n.request,r=n.response,d=function(){\"object\"==typeof n.initSort&&a.sort(n.initSort.field,n.initSort.type)};if(a.startTime=(new Date).getTime(),n.url){var c={};c[o.pageName]=e,c[o.limitName]=n.limit,t.ajax({type:n.method||\"get\",url:n.url,data:t.extend(c,n.where),dataType:\"json\",success:function(t){t[r.statusName]!=r.statusCode?(a.renderForm(),a.layMain.html('<div class=\"'+f+'\">'+(t[r.msgName]||\"返回的数据状态异常\")+\"</div>\")):(a.renderData(t,e,t[r.countName]),d(),n.time=(new Date).getTime()-a.startTime+\" ms\"),i&&l.close(i),\"function\"==typeof n.done&&n.done(t,e,t[r.countName])},error:function(e,t){a.layMain.html('<div class=\"'+f+'\">数据接口请求异常</div>'),a.renderForm(),i&&l.close(i)}})}else if(n.data&&n.data.constructor===Array){var s={},u=e*n.limit-n.limit;s[r.dataName]=n.data.concat().splice(u,n.limit),s[r.countName]=n.data.length,a.renderData(s,e,n.data.length),d(),\"function\"==typeof n.done&&n.done(s,e,s[r.countName])}},S.prototype.eachCols=function(e){var i=t.extend(!0,[],this.config.cols),a=[],l=0;layui.each(i,function(e,t){layui.each(t,function(t,n){if(n.colspan>1){var o=0;l++,n.CHILD_COLS=[],layui.each(i[e+1],function(e,t){t.PARENT_COL||o==n.colspan||(t.PARENT_COL=l,n.CHILD_COLS.push(t),o+=t.colspan>1?t.colspan:1)})}n.PARENT_COL||a.push(n)})});var n=function(t){layui.each(t||a,function(t,i){return i.CHILD_COLS?n(i.CHILD_COLS):void e(t,i)})};n()},S.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,u=e[s.response.dataName]||[],y=[],p=[],m=[],v=function(){return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(u,function(e,a){var l=[],o=[],u=[],h=e+s.limit*(n-1)+1;0!==a.length&&(r||(a[d.config.indexName]=e),c.eachCols(function(e,n){var r=n.field||e,f=a[r];c.getColElem(c.layHeader,r);if(void 0!==f&&null!==f||(f=\"\"),!(n.colspan>1)){var y=['<td data-field=\"'+r+'\" '+function(){var e=[];return n.edit&&e.push('data-edit=\"'+n.edit+'\"'),n.align&&e.push('align=\"'+n.align+'\"'),n.templet&&e.push('data-content=\"'+f+'\"'),n.toolbar&&e.push('data-off=\"true\"'),n.event&&e.push('lay-event=\"'+n.event+'\"'),n.style&&e.push('style=\"'+n.style+'\"'),n.minWidth&&e.push('data-minwidth=\"'+n.minWidth+'\"'),e.join(\" \")}()+\">\",'<div class=\"layui-table-cell laytable-cell-'+function(){var e=s.index+\"-\"+r;return\"normal\"===n.type?e:e+\" laytable-cell-\"+n.type}()+'\">'+function(){var e=t.extend(!0,{LAY_INDEX:h},a);return\"checkbox\"===n.type?'<input type=\"checkbox\" name=\"layTableCheckbox\" lay-skin=\"primary\" '+function(){var t=d.config.checkName;return n[t]?(a[t]=n[t],n[t]?\"checked\":\"\"):e[t]?\"checked\":\"\"}()+\">\":\"numbers\"===n.type?h:n.toolbar?i(t(n.toolbar).html()||\"\").render(e):n.templet?function(){return\"function\"==typeof n.templet?n.templet(e):i(t(n.templet).html()||String(f)).render(e)}():f}(),\"</div></td>\"].join(\"\");l.push(y),n.fixed&&\"right\"!==n.fixed&&o.push(y),\"right\"===n.fixed&&u.push(y)}}),y.push('<tr data-index=\"'+e+'\">'+l.join(\"\")+\"</tr>\"),p.push('<tr data-index=\"'+e+'\">'+o.join(\"\")+\"</tr>\"),m.push('<tr data-index=\"'+e+'\">'+u.join(\"\")+\"</tr>\"))}),c.layBody.scrollTop(0),c.layMain.find(\".\"+f).remove(),c.layMain.find(\"tbody\").html(y.join(\"\")),c.layFixLeft.find(\"tbody\").html(p.join(\"\")),c.layFixRight.find(\"tbody\").html(m.join(\"\")),c.renderForm(),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,void l.close(c.tipsIndex))};return c.key=s.id||s.index,d.cache[c.key]=u,c.layPage[0===u.length&&1==n?\"addClass\":\"removeClass\"](h),r?v():0===u.length?(c.renderForm(),c.layFixed.remove(),c.layMain.find(\"tbody\").html(\"\"),c.layMain.find(\".\"+f).remove(),c.layMain.append('<div class=\"'+f+'\">'+s.text.none+\"</div>\")):(v(),void(s.page&&(s.page=t.extend({elem:\"layui-table-page\"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:[\"prev\",\"page\",\"next\",\"skip\",\"count\",\"limit\"],prev:'<i class=\"layui-icon\">&#xe603;</i>',next:'<i class=\"layui-icon\">&#xe602;</i>',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr,c.loading()))}},s.page),s.page.count=o,a.render(s.page))))},S.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(\".laytable-cell-\"+(a.index+\"-\"+t)+\":eq(0)\")},S.prototype.renderForm=function(e){n.render(e,\"LAY-table-\"+this.index)},S.prototype.sort=function(e,i,a,l){var n,r,c=this,u={},h=c.config,f=h.elem.attr(\"lay-filter\"),y=d.cache[c.key];\"string\"==typeof e&&c.layHeader.find(\"th\").each(function(i,a){var l=t(this),o=l.data(\"field\");if(o===e)return e=l,n=o,!1});try{var n=n||e.data(\"field\");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var p=c.layHeader.find(\"th .laytable-cell-\"+h.index+\"-\"+n).find(w);c.layHeader.find(\"th\").find(w).removeAttr(\"lay-sort\"),p.attr(\"lay-sort\",i||null),c.layFixed.find(\"th\")}catch(m){return o.error(\"Table modules: Did not match to field\")}c.sortKey={field:n,sort:i},\"asc\"===i?r=layui.sort(y,n):\"desc\"===i?r=layui.sort(y,n,!0):(r=layui.sort(y,d.config.indexName),delete c.sortKey),u[h.response.dataName]=r,c.renderData(u,c.page,c.count,!0),l&&layui.event.call(e,s,\"sort(\"+f+\")\",{field:n,type:i})},S.prototype.loading=function(){var e=this,t=e.config;if(t.loading&&t.url)return l.msg(\"数据请求中\",{icon:16,offset:[e.elem.offset().top+e.elem.height()/2-35-T.scrollTop()+\"px\",e.elem.offset().left+e.elem.width()/2-90-T.scrollLeft()+\"px\"],time:-1,anim:-1,fixed:!1})},S.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},S.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name=\"layTableCheckbox\"]'),a=function(i){return e.eachCols(function(e,a){\"checkbox\"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop(\"checked\",!0),e.renderForm(\"checkbox\")),a(!0)):(i[0].checked&&(i.prop(\"checked\",!1),e.renderForm(\"checkbox\")),a(!1)))},S.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find(\"style\")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(a,l){if(l.selectorText===\".laytable-cell-\"+i.index+\"-\"+e)return t(l),!0})},S.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=T.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css(\"height\",a)),e=parseFloat(a)-parseFloat(t.layHeader.height())-1,i.toolbar&&(e-=t.layTool.outerHeight()),i.page&&(e=e-t.layPage.outerHeight()-1),t.layMain.css(\"height\",e)},S.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement(\"div\"),e.style.width=\"100px\",e.style.height=\"100px\",e.style.overflowY=\"scroll\",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},S.prototype.scrollPatch=function(){var e=this,i=e.layMain.children(\"table\"),a=e.layMain.width()-e.layMain.prop(\"clientWidth\"),l=e.layMain.height()-e.layMain.prop(\"clientHeight\"),n=e.getScrollWidth(e.layMain[0]),o=i.outerWidth()-e.layMain.width();if(e.autoColNums&&o<5&&!e.scrollPatchWStatus){var r=e.layHeader.eq(0).find(\"thead th:last-child\"),d=r.data(\"field\");e.getCssRule(d,function(t){var i=t.style.width||r.outerWidth();t.style.width=parseFloat(i)-n-o+\"px\",e.layMain.height()-e.layMain.prop(\"clientHeight\")>0&&(t.style.width=parseFloat(t.style.width)-1+\"px\"),e.scrollPatchWStatus=!0})}if(a&&l){if(!e.elem.find(\".layui-table-patch\")[0]){var c=t('<th class=\"layui-table-patch\"><div class=\"layui-table-cell\"></div></th>');c.find(\"div\").css({width:a}),e.layHeader.eq(0).find(\"thead tr\").append(c)}}else e.layHeader.eq(0).find(\".layui-table-patch\").remove();var s=e.layMain.height(),u=s-l;e.layFixed.find(m).css(\"height\",i.height()>u?u:\"auto\"),e.layFixRight[o>0?\"removeClass\":\"addClass\"](h),e.layFixRight.css(\"right\",a-1)},S.prototype.events=function(){var e,a=this,n=a.config,o=t(\"body\"),c={},u=a.layHeader.find(\"th\"),h=\".layui-table-cell\",f=n.elem.attr(\"lay-filter\");u.on(\"mousemove\",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.attr(\"colspan\")>1||i.data(\"unresize\")||c.resizeStart||(c.allowResize=i.width()-l<=10,o.css(\"cursor\",c.allowResize?\"col-resize\":\"\"))}).on(\"mouseleave\",function(){t(this);c.resizeStart||o.css(\"cursor\",\"\")}).on(\"mousedown\",function(e){var i=t(this);if(c.allowResize){var l=i.data(\"field\");e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();c.rule=e,c.ruleWidth=parseFloat(t),c.minWidth=i.data(\"minwidth\")||n.cellMinWidth})}}),M.on(\"mousemove\",function(t){if(c.resizeStart){if(t.preventDefault(),c.rule){var i=c.ruleWidth+t.clientX-c.offset[0];i<c.minWidth&&(i=c.minWidth),c.rule.style.width=i+\"px\",l.close(a.tipsIndex)}e=1}}).on(\"mouseup\",function(t){c.resizeStart&&(c={},o.css(\"cursor\",\"\"),a.scrollPatch()),2===e&&(e=null)}),u.on(\"click\",function(){var i,l=t(this),n=l.find(w),o=n.attr(\"lay-sort\");return n[0]&&1!==e?(i=\"asc\"===o?\"desc\":\"desc\"===o?null:\"asc\",void a.sort(l,i,null,!0)):e=2}).find(w+\" .layui-edge \").on(\"click\",function(e){var i=t(this),l=i.index(),n=i.parents(\"th\").eq(0).data(\"field\");layui.stope(e),0===l?a.sort(n,\"asc\",null,!0):a.sort(n,\"desc\",null,!0)}),a.elem.on(\"click\",'input[name=\"layTableCheckbox\"]+',function(){var e=t(this).prev(),i=a.layBody.find('input[name=\"layTableCheckbox\"]'),l=e.parents(\"tr\").eq(0).data(\"index\"),n=e[0].checked,o=\"layTableAllChoose\"===e.attr(\"lay-filter\");o?(i.each(function(e,t){t.checked=n,a.setCheckData(e,n)}),a.syncCheckAll(),a.renderForm(\"checkbox\")):(a.setCheckData(l,n),a.syncCheckAll()),layui.event.call(this,s,\"checkbox(\"+f+\")\",{checked:n,data:d.cache[a.key]?d.cache[a.key][l]||{}:{},type:o?\"all\":\"one\"})}),a.layBody.on(\"mouseenter\",\"tr\",function(){var e=t(this),i=e.index();a.layBody.find(\"tr:eq(\"+i+\")\").addClass(F)}).on(\"mouseleave\",\"tr\",function(){var e=t(this),i=e.index();a.layBody.find(\"tr:eq(\"+i+\")\").removeClass(F)}),a.layBody.on(\"change\",\".\"+N,function(){var e=t(this),i=this.value,l=e.parent().data(\"field\"),n=e.parents(\"tr\").eq(0).data(\"index\"),o=d.cache[a.key][n];o[l]=i,layui.event.call(this,s,\"edit(\"+f+\")\",{value:i,data:o,field:l})}).on(\"blur\",\".\"+N,function(){var e,l=t(this),n=l.parent().data(\"field\"),o=l.parents(\"tr\").eq(0).data(\"index\"),r=d.cache[a.key][o];a.eachCols(function(t,i){i.field==n&&i.templet&&(e=i.templet)}),l.siblings(h).html(e?i(t(e).html()||this.value).render(r):this.value),l.parent().data(\"content\",this.value),l.remove()}),a.layBody.on(\"click\",\"td\",function(){var e=t(this),i=(e.data(\"field\"),e.data(\"edit\")),o=e.children(h);if(l.close(a.tipsIndex),!e.data(\"off\"))if(i)if(\"select\"===i);else{var d=t('<input class=\"layui-input '+N+'\">');d[0].value=e.data(\"content\")||o.text(),e.find(\".\"+N)[0]||e.append(d),d.focus()}else o.find(\".layui-form-switch,.layui-form-checkbox\")[0]||Math.round(o.prop(\"scrollWidth\"))>Math.round(o.outerWidth())&&(a.tipsIndex=l.tips(['<div class=\"layui-table-tips-main\" style=\"margin-top: -'+(o.height()+16)+\"px;\"+function(){return\"sm\"===n.size?\"padding: 4px 15px; font-size: 12px;\":\"lg\"===n.size?\"padding: 14px 15px;\":\"\"}()+'\">',o.html(),\"</div>\",'<i class=\"layui-icon layui-table-tips-c\">&#x1006;</i>'].join(\"\"),o[0],{tips:[3,\"\"],time:-1,anim:-1,maxWidth:r.ios||r.android?300:600,isOutAnim:!1,skin:\"layui-table-tips\",success:function(e,t){e.find(\".layui-table-tips-c\").on(\"click\",function(){l.close(t)})}}))}),a.layBody.on(\"click\",\"*[lay-event]\",function(){var e=t(this),l=e.parents(\"tr\").eq(0).data(\"index\"),n=a.layBody.find('tr[data-index=\"'+l+'\"]'),o=\"layui-table-click\",r=d.cache[a.key][l];layui.event.call(this,s,\"tool(\"+f+\")\",{data:d.clearCacheKey(r),event:e.attr(\"lay-event\"),tr:n,del:function(){d.cache[a.key][l]=[],n.remove(),a.scrollPatch()},update:function(e){e=e||{},layui.each(e,function(e,l){if(e in r){var o,d=n.children('td[data-field=\"'+e+'\"]');r[e]=l,a.eachCols(function(t,i){i.field==e&&i.templet&&(o=i.templet)}),d.children(h).html(o?i(t(o).html()||l).render(r):l),d.data(\"content\",l)}})}}),n.addClass(o).siblings(\"tr\").removeClass(o)}),a.layMain.on(\"scroll\",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layFixed.find(m).scrollTop(n),l.close(a.tipsIndex)}),T.on(\"resize\",function(){a.fullSize(),a.scrollPatch()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter=\"'+e+'\"]':u+\"[lay-data]\"),n=\"Table element property lay-data configuration item has a syntax error: \";return l.each(function(){var a=t(this),l=a.attr(\"lay-data\");try{l=new Function(\"return \"+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr(\"lay-skin\"),size:a.attr(\"lay-size\"),even:\"string\"==typeof a.attr(\"lay-even\")},d.config,i,l);e&&a.hide(),a.find(\"thead>tr\").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr(\"lay-data\");try{l=new Function(\"return \"+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr(\"colspan\")||0,rowspan:a.attr(\"rowspan\")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find(\"tbody>tr\").each(function(e){var i=t(this),a={};i.children(\"td\").each(function(e,i){var l=t(this),n=l.data(\"field\");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children(\"td\").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},c.config={},d.reload=function(e,i){var a=c.config[e];return i=i||{},a?(i.data&&i.data.constructor===Array&&delete a.data,d.render(t.extend(!0,{},a,i))):o.error(\"The ID option was not found in the table instance\")},d.render=function(e){var t=new S(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(s,d)});"
  },
  {
    "path": "webroot/dist/lay/modules/tree.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(e){\"use strict\";var o=layui.$,a=layui.hint(),i=\"layui-tree-enter\",r=function(e){this.options=e},t={arrow:[\"&#xe623;\",\"&#xe625;\"],checkbox:[\"&#xe626;\",\"&#xe627;\"],radio:[\"&#xe62b;\",\"&#xe62a;\"],branch:[\"&#xe622;\",\"&#xe624;\"],leaf:\"&#xe621;\"};r.prototype.init=function(e){var o=this;e.addClass(\"layui-box layui-tree\"),o.options.skin&&e.addClass(\"layui-tree-skin-\"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('<ul class=\"'+(n.spread?\"layui-show\":\"\")+'\"></ul>'),s=o([\"<li \"+(n.spread?'data-spread=\"'+n.spread+'\"':\"\")+\">\",function(){return l?'<i class=\"layui-icon layui-tree-spread\">'+(n.spread?t.arrow[1]:t.arrow[0])+\"</i>\":\"\"}(),function(){return r.check?'<i class=\"layui-icon layui-tree-check\">'+(\"checkbox\"===r.check?t.checkbox[0]:\"radio\"===r.check?t.radio[0]:\"\")+\"</i>\":\"\"}(),function(){return'<a href=\"'+(n.href||\"javascript:;\")+'\" '+(r.target&&n.href?'target=\"'+r.target+'\"':\"\")+\">\"+('<i class=\"layui-icon layui-tree-'+(l?\"branch\":\"leaf\")+'\">'+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+\"</i>\")+(\"<cite>\"+(n.name||\"未命名\")+\"</cite></a>\")}(),\"</li>\"].join(\"\"));l&&(s.append(c),i.tree(c,n.children)),e.append(s),\"function\"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children(\"a\").on(\"click\",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(\".layui-tree-spread\")),r=e.children(\"ul\"),n=e.children(\"a\"),l=function(){e.data(\"spread\")?(e.data(\"spread\",null),r.removeClass(\"layui-show\"),i.html(t.arrow[0]),n.find(\".layui-icon\").html(t.branch[0])):(e.data(\"spread\",!0),r.addClass(\"layui-show\"),i.html(t.arrow[1]),n.find(\".layui-icon\").html(t.branch[1]))};r[0]&&(i.on(\"click\",l),n.on(\"dblclick\",l))},r.prototype.on=function(e){var a=this,r=a.options,t=\"layui-tree-drag\";e.find(\"i\").on(\"selectstart\",function(e){return!1}),r.drag&&o(document).on(\"mousemove\",function(e){var i=a.move;if(i.from){var r=(i.to,o('<div class=\"layui-box '+t+'\"></div>'));e.preventDefault(),o(\".\"+t)[0]||o(\"body\").append(r);var n=o(\".\"+t)[0]?o(\".\"+t):r;n.addClass(\"layui-show\").html(i.from.elem.children(\"a\").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on(\"mouseup\",function(){var e=a.move;e.from&&(e.from.elem.children(\"a\").removeClass(i),e.to&&e.to.elem.children(\"a\").removeClass(i),a.move={},o(\".\"+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children(\"a\")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on(\"mousedown\",function(){var o=r.move;o.from={item:a,elem:e}}),t.on(\"mouseenter\",n).on(\"mousemove\",n).on(\"mouseleave\",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e(\"tree\",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error(\"layui.tree 没有找到\"+e.elem+\"元素\")})});"
  },
  {
    "path": "webroot/dist/lay/modules/upload.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"layer\",function(e){\"use strict\";var i=layui.$,t=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,r,e,i)}},l=function(){var e=this;return{upload:function(i){e.upload.call(e,i)},config:e.config}},r=\"upload\",u=\"layui-upload-file\",c=\"layui-upload-form\",f=\"layui-upload-iframe\",s=\"layui-upload-choose\",p=function(e){var t=this;t.config=i.extend({},t.config,o.config,e),t.render()};p.prototype.config={accept:\"images\",exts:\"\",auto:!0,bindAction:\"\",url:\"\",field:\"file\",method:\"post\",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var t=this,e=t.config;e.elem=i(e.elem),e.bindAction=i(e.bindAction),t.file(),t.events()},p.prototype.file=function(){var e=this,t=e.config,n=e.elemFile=i(['<input class=\"'+u+'\" type=\"file\" name=\"'+t.field+'\"',t.multiple?\" multiple\":\"\",\">\"].join(\"\")),o=t.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&t.elem.wrap('<div class=\"layui-upload-wrap\"></div>'),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,t=e.config,n=i('<iframe id=\"'+f+'\" class=\"'+f+'\" name=\"'+f+'\" frameborder=\"0\"></iframe>'),a=i(['<form target=\"'+f+'\" class=\"'+c+'\" method=\"'+t.method,'\" key=\"set-mine\" enctype=\"multipart/form-data\" action=\"'+t.url+'\">',\"</form>\"].join(\"\"));i(\"#\"+f)[0]||i(\"body\").append(n),t.elem.next().hasClass(f)||(e.elemFile.wrap(a),t.elem.next(\".\"+f).append(function(){var e=[];return layui.each(t.data,function(i,t){e.push('<input type=\"hidden\" name=\"'+i+'\" value=\"'+t+'\">')}),e.join(\"\")}()))},p.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return\"input\"===e.tagName.toLocaleLowerCase()&&\"file\"===e.type},p.prototype.preview=function(e){var i=this;window.FileReader&&layui.each(i.chooseFiles,function(i,t){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){e&&e(i,t,this.result)}})},p.prototype.upload=function(e,t){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var t=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&t+n===o.fileLength&&\"function\"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:t,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,i){r.append(e,i)}),i.ajax({url:l.url,type:l.method,data:r,contentType:!1,processData:!1,dataType:\"json\",success:function(i){t++,d(e,i),u()},error:function(){n++,o.msg(\"请求上传接口出现异常\"),m(e),u()}})})},c=function(){var e=i(\"#\"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var i,t=e.contents().find(\"body\");try{i=t.text()}catch(n){o.msg(\"获取上传后的响应信息出现异常\"),clearInterval(p.timer),m()}i&&(clearInterval(p.timer),t.html(\"\"),d(0,i))},30)},d=function(e,i){if(o.elemFile.next(\".\"+s).remove(),r.value=\"\",\"object\"!=typeof i)try{i=JSON.parse(i)}catch(t){return i={},o.msg(\"请对上传接口返回有效JSON\")}\"function\"==typeof l.done&&l.done(i,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=\"\"),\"function\"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var i=[];return layui.each(e||o.chooseFiles,function(e,t){i.push(t.name)}),i}(),g={preview:function(e){o.preview(e)},upload:function(e,i){var t={};t[e]=i,o.upload(t)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,i){o.files[e]=i}),o.files}},y=function(){return\"choose\"===t?l.choose&&l.choose(g):(l.before&&l.before(g),a.ie?a.ie>9?u():c():void u())};if(v=0===v.length?r.value.match(/[^\\/\\\\]+\\..+/g)||[]||\"\":v,0!==v.length){switch(l.accept){case\"file\":if(h&&!RegExp(\"\\\\w\\\\.(\"+h+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的文件中包含不支持的格式\"),r.value=\"\";break;case\"video\":if(!RegExp(\"\\\\w\\\\.(\"+(h||\"avi|mp4|wma|rmvb|rm|flash|3gp|flv\")+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的视频中包含不支持的格式\"),r.value=\"\";break;case\"audio\":if(!RegExp(\"\\\\w\\\\.(\"+(h||\"mp3|wav|mid\")+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的音频中包含不支持的格式\"),r.value=\"\";break;default:if(layui.each(v,function(e,i){RegExp(\"\\\\w\\\\.(\"+(h||\"jpg|png|gif|bmp|jpeg$\")+\")\",\"i\").test(escape(i))||(n=!0)}),n)return o.msg(\"选择的图片中包含不支持的格式\"),r.value=\"\"}if(o.fileLength=function(){var i=0,t=e||o.files||o.chooseFiles||r.files;return layui.each(t,function(){i++}),i}(),l.number&&o.fileLength>l.number)return o.msg(\"同时最多只能上传的数量为：\"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,i){if(i.size>1024*l.size){var t=l.size/1024;t=t>=1?Math.floor(t)+(t%1>0?t.toFixed(1):0)+\"MB\":l.size+\"KB\",r.value=\"\",F=t}}),F)return o.msg(\"文件不能超过\"+F)}y()}},p.prototype.events=function(){var e=this,t=e.config,o=function(i){e.chooseFiles={},layui.each(i,function(i,t){var n=(new Date).getTime();e.chooseFiles[n+\"-\"+i]=t})},l=function(i,n){var a=e.elemFile,o=i.length>1?i.length+\"个文件\":(i[0]||{}).name||a[0].value.match(/[^\\/\\\\]+\\..+/g)||[]||\"\";a.next().hasClass(s)&&a.next().remove(),e.upload(null,\"choose\"),e.isFile()||t.choose||a.after('<span class=\"layui-inline '+s+'\">'+o+\"</span>\")};t.elem.off(\"upload.start\").on(\"upload.start\",function(){var a=i(this),o=a.attr(\"lay-data\");if(o)try{o=new Function(\"return \"+o)(),e.config=i.extend({},t,o)}catch(l){n.error(\"Upload element property lay-data configuration item has a syntax error: \"+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||t.elem.off(\"upload.over\").on(\"upload.over\",function(){var e=i(this);e.attr(\"lay-over\",\"\")}).off(\"upload.leave\").on(\"upload.leave\",function(){var e=i(this);e.removeAttr(\"lay-over\")}).off(\"upload.drop\").on(\"upload.drop\",function(n,a){var r=i(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr(\"lay-over\"),o(u),t.auto?e.upload(u):l(u)}),e.elemFile.off(\"upload.change\").on(\"upload.change\",function(){var i=this.files||[];o(i),t.auto?e.upload():l(i)}),t.bindAction.off(\"upload.action\").on(\"upload.action\",function(){e.upload()}),t.elem.data(\"haveEvents\")||(e.elemFile.on(\"change\",function(){i(this).trigger(\"upload.change\")}),t.elem.on(\"click\",function(){e.isFile()||i(this).trigger(\"upload.start\")}),t.drag&&t.elem.on(\"dragover\",function(e){e.preventDefault(),i(this).trigger(\"upload.over\")}).on(\"dragleave\",function(e){i(this).trigger(\"upload.leave\")}).on(\"drop\",function(e){e.preventDefault(),i(this).trigger(\"upload.drop\",e)}),t.bindAction.on(\"click\",function(){i(this).trigger(\"upload.action\")}),t.elem.data(\"haveEvents\",!0))},o.render=function(e){var i=new p(e);return l.call(i)},e(r,o)});"
  },
  {
    "path": "webroot/dist/lay/modules/util.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;layui.define(\"jquery\",function(e){\"use strict\";var t=layui.$,i={fixbar:function(e){var i,o,a=\"layui-fixbar\",r=\"layui-fixbar-top\",n=t(document),l=t(\"body\");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?\"&#xe606;\":e.bar1,e.bar2=e.bar2===!0?\"&#xe607;\":e.bar2,e.bgcolor=e.bgcolor?\"background-color:\"+e.bgcolor:\"\";var c=[e.bar1,e.bar2,\"&#xe604;\"],g=t(['<ul class=\"'+a+'\">',e.bar1?'<li class=\"layui-icon\" lay-type=\"bar1\" style=\"'+e.bgcolor+'\">'+c[0]+\"</li>\":\"\",e.bar2?'<li class=\"layui-icon\" lay-type=\"bar2\" style=\"'+e.bgcolor+'\">'+c[1]+\"</li>\":\"\",'<li class=\"layui-icon '+r+'\" lay-type=\"top\" style=\"'+e.bgcolor+'\">'+c[2]+\"</li>\",\"</ul>\"].join(\"\")),s=g.find(\".\"+r),u=function(){var t=n.scrollTop();t>=e.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};t(\".\"+a)[0]||(\"object\"==typeof e.css&&g.css(e.css),l.append(g),u(),g.find(\"li\").on(\"click\",function(){var i=t(this),o=i.attr(\"lay-type\");\"top\"===o&&t(\"html,body\").animate({scrollTop:0},200),e.click&&e.click.call(this,o)}),n.on(\"scroll\",function(){clearTimeout(o),o=setTimeout(function(){u()},100)}))},countdown:function(e,t,i){var o=this,a=\"function\"==typeof t,r=new Date(e).getTime(),n=new Date(!t||a?(new Date).getTime():t).getTime(),l=r-n,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var g=setTimeout(function(){o.countdown(e,n+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,g),l<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,o=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>6912e5?(a=new Date(e),o[0][0]=i.digit(a.getFullYear(),4),o[0][1]=i.digit(a.getMonth()+1),o[0][2]=i.digit(a.getDate()),t||(o[1][0]=i.digit(a.getHours()),o[1][1]=i.digit(a.getMinutes()),o[1][2]=i.digit(a.getSeconds())),o[0].join(\"-\")+\" \"+o[1].join(\":\")):a>=864e5?(a/1e3/60/60/24|0)+\"天前\":a>=36e5?(a/1e3/60/60|0)+\"小时前\":a>=12e4?(a/1e3/60|0)+\"分钟前\":a<0?\"未来\":\"刚刚\"},digit:function(e,t){var i=\"\";e=String(e),t=t||2;for(var o=e.length;o<t;o++)i+=\"0\";return e<Math.pow(10,t)?i+(0|e):e},toDateString:function(e,t){var i=this,o=new Date(e||new Date),a=[i.digit(o.getFullYear(),4),i.digit(o.getMonth()+1),i.digit(o.getDate())],r=[i.digit(o.getHours()),i.digit(o.getMinutes()),i.digit(o.getSeconds())];return t=t||\"yyyy-MM-dd HH:mm:ss\",t.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,r[0]).replace(/mm/g,r[1]).replace(/ss/g,r[2])}};e(\"util\",i)});"
  },
  {
    "path": "webroot/dist/layui.all.js",
    "content": "/** layui-v2.2.5 MIT License By https://www.layui.com */\n ;!function(e){\"use strict\";var t=document,n={modules:{},status:{},timeout:10,event:{}},o=function(){this.v=\"2.2.5\"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,o=n.length-1,r=o;r>0;r--)if(\"interactive\"===n[r].readyState){e=n[r].src;break}return e||n[o].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),a=function(t){e.console&&console.error&&console.error(\"Layui hint: \"+t)},i=\"undefined\"!=typeof opera&&\"[object Opera]\"===opera.toString(),u={layer:\"modules/layer\",laydate:\"modules/laydate\",laypage:\"modules/laypage\",laytpl:\"modules/laytpl\",layim:\"modules/layim\",layedit:\"modules/layedit\",form:\"modules/form\",upload:\"modules/upload\",tree:\"modules/tree\",table:\"modules/table\",element:\"modules/element\",util:\"modules/util\",flow:\"modules/flow\",carousel:\"modules/carousel\",code:\"modules/code\",jquery:\"modules/jquery\",mobile:\"modules/mobile\",\"layui.all\":\"../layui.all\"};o.prototype.cache=n,o.prototype.define=function(e,t){var o=this,r=\"function\"==typeof e,a=function(){var e=function(e,t){layui[e]=t,n.status[e]=!0};return\"function\"==typeof t&&t(function(o,r){e(o,r),n.callback[o]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui[\"layui.all\"]||!layui[\"layui.all\"]&&layui[\"layui.mobile\"]?a.call(o):(o.use(e,a),o)},o.prototype.use=function(e,o,l){function s(e,t){var o=\"PLaySTATION 3\"===navigator.platform?/^complete$/:/^(complete|loaded)$/;(\"load\"===e.type||o.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*n.timeout/4?a(f+\" is not a valid module\"):void(n.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),o,l):\"function\"==typeof o&&o.apply(layui,l)}var y=this,p=n.dir=n.dir?n.dir:r,d=t.getElementsByTagName(\"head\")[0];e=\"string\"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,n){\"jquery\"===n&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],n.host=n.host||(p.match(/\\/\\/([\\s\\S]+?)\\//)||[\"//\"+location.host+\"/\"])[0],0===e.length||layui[\"layui.all\"]&&u[f]||!layui[\"layui.all\"]&&layui[\"layui.mobile\"]&&u[f])return c(),y;if(n.modules[f])!function g(){return++m>1e3*n.timeout/4?a(f+\" is not a valid module\"):void(\"string\"==typeof n.modules[f]&&n.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement(\"script\"),h=(u[f]?p+\"lay/\":/^\\{\\/\\}/.test(y.modules[f])?\"\":n.base||\"\")+(y.modules[f]||f)+\".js\";h=h.replace(/^\\{\\/\\}/,\"\"),v.async=!0,v.charset=\"utf-8\",v.src=h+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||\"\";return e?\"?v=\"+e:\"\"}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf(\"[native code\")<0||i?v.addEventListener(\"load\",function(e){s(e,h)},!1):v.attachEvent(\"onreadystatechange\",function(e){s(e,h)}),n.modules[f]=h}return y},o.prototype.getStyle=function(t,n){var o=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return o[o.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](n)},o.prototype.link=function(e,o,r){var i=this,u=t.createElement(\"link\"),l=t.getElementsByTagName(\"head\")[0];\"string\"==typeof o&&(r=o);var s=(r||e).replace(/\\.|\\//g,\"\"),c=u.id=\"layuicss-\"+s,y=0;return u.rel=\"stylesheet\",u.href=e+(n.debug?\"?v=\"+(new Date).getTime():\"\"),u.media=\"all\",t.getElementById(c)||l.appendChild(u),\"function\"!=typeof o?i:(function p(){return++y>1e3*n.timeout/100?a(e+\" timeout\"):void(1989===parseInt(i.getStyle(t.getElementById(c),\"width\"))?function(){o()}():setTimeout(p,100))}(),i)},n.callback={},o.prototype.factory=function(e){if(layui[e])return\"function\"==typeof n.callback[e]?n.callback[e]:null},o.prototype.addcss=function(e,t,o){return layui.link(n.dir+\"css/\"+e,t,o)},o.prototype.img=function(e,t,n){var o=new Image;return o.src=e,o.complete?t(o):(o.onload=function(){o.onload=null,t(o)},void(o.onerror=function(e){o.onerror=null,n(e)}))},o.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},o.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),o.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?a(\"模块名 \"+n+\" 已被占用\"):t.modules[n]=e[n];return t},o.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||\"\"};return/^#\\//.test(e)?(n.href=e=e.replace(/^#\\//,\"\"),e=e.replace(/([^#])(#.*$)/,\"$1\").split(\"/\")||[],t.each(e,function(e,t){/^\\w+=/.test(t)?function(){t=t.split(\"=\"),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},o.prototype.data=function(t,n,o){if(t=t||\"layui\",o=o||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete o[t];n=\"object\"==typeof n?n:{key:n};try{var r=JSON.parse(o[t])}catch(a){var r={}}return\"value\"in n&&(r[n.key]=n.value),n.remove&&delete r[n.key],o[t]=JSON.stringify(r),n.key?r[n.key]:r}},o.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},o.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),o=function(e){var t=new RegExp(e+\"/([^\\\\s\\\\_\\\\-]+)\");return e=(n.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(n)?\"windows\":/linux/.test(n)?\"linux\":/iphone|ipod|ipad|ios/.test(n)?\"ios\":/mac/.test(n)?\"mac\":void 0}(),ie:function(){return!!(e.ActiveXObject||\"ActiveXObject\"in e)&&((n.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),weixin:o(\"micromessenger\")};return t&&!r[t]&&(r[t]=o(t)),r.android=/android/.test(n),r.ios=\"ios\"===r.os,r},o.prototype.hint=function(){return{error:a}},o.prototype.each=function(e,t){var n,o=this;if(\"function\"!=typeof t)return o;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return o},o.prototype.sort=function(e,t,n){var o=JSON.parse(JSON.stringify(e||[]));return t?(o.sort(function(e,n){var o=/^-?\\d+$/,r=e[t],a=n[t];return o.test(r)&&(r=parseFloat(r)),o.test(a)&&(a=parseFloat(a)),r&&!a?1:!r&&a?-1:r>a?1:r<a?-1:0}),n&&o.reverse(),o):o},o.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(n){t.cancelBubble=!0}},o.prototype.onevent=function(e,t,n){return\"string\"!=typeof e||\"function\"!=typeof n?this:o.event(e,t,null,n)},o.prototype.event=o.event=function(e,t,o,r){var a=this,i=null,u=t.match(/\\((.*)\\)$/)||[],l=(e+\".\"+t).replace(u[0],\"\"),s=u[1]||\"\",c=function(e,t){var n=t&&t.call(a,o);n===!1&&null===i&&(i=!1)};return r?(n.event[l]=n.event[l]||{},n.event[l][s]=[r],this):(layui.each(n.event[l],function(e,t){return\"{*}\"===s?void layui.each(t,c):(\"\"===e&&layui.each(t,c),void(e===s&&layui.each(t,c)))}),i)},e.layui=new o}(window);layui.define(function(a){var i=layui.cache;layui.config({dir:i.dir.replace(/lay\\/dest\\/$/,\"\")}),a(\"layui.all\",layui.v)});layui.define(function(e){\"use strict\";var r={open:\"{{\",close:\"}}\"},c={exp:function(e){return new RegExp(e,\"g\")},query:function(e,c,t){var o=[\"#([\\\\s\\\\S])+?\",\"([^{#}])*?\"][e||0];return n((c||\"\")+r.open+o+r.close+(t||\"\"))},escape:function(e){return String(e||\"\").replace(/&(?!#?[a-zA-Z0-9]+;)/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#39;\").replace(/\"/g,\"&quot;\")},error:function(e,r){var c=\"Laytpl Error：\";return\"object\"==typeof console&&console.error(c+e+\"\\n\"+(r||\"\")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n(\"^\"+r.open+\"#\",\"\"),l=n(r.close+\"$\",\"\");e=e.replace(/\\s+|\\r|\\t|\\n/g,\" \").replace(n(r.open+\"#\"),r.open+\"# \").replace(n(r.close+\"}\"),\"} \"+r.close).replace(/\\\\/g,\"\\\\\\\\\").replace(n(r.open+\"!(.+?)!\"+r.close),function(e){return e=e.replace(n(\"^\"+r.open+\"!\"),\"\").replace(n(\"!\"+r.close),\"\").replace(n(r.open+\"|\"+r.close),function(e){return e.replace(/(.)/g,\"\\\\$1\")})}).replace(/(?=\"|')/g,\"\\\\\").replace(c.query(),function(e){return e=e.replace(a,\"\").replace(l,\"\"),'\";'+e.replace(/\\\\/g,\"\")+';view+=\"'}).replace(c.query(1),function(e){var c='\"+(';return e.replace(/\\s/g,\"\")===r.open+r.close?\"\":(e=e.replace(n(r.open+\"|\"+r.close),\"\"),/^=/.test(e)&&(e=e.replace(/^=/,\"\"),c='\"+_escape_('),c+e.replace(/\\\\/g,\"\")+')+\"')}),e='\"use strict\";var view = \"'+e+'\";return view;';try{return o.cache=e=new Function(\"d, _escape_\",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error(\"no data\")};var o=function(e){return\"string\"!=typeof e?c.error(\"Template not found\"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v=\"1.2.0\",e(\"laytpl\",o)});layui.define(function(e){\"use strict\";var a=document,t=\"getElementById\",n=\"getElementsByTagName\",i=\"laypage\",r=\"layui-disabled\",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if(\"object\"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups=\"groups\"in a?0|a.groups:5;a.layout=\"object\"==typeof a.layout?a.layout:[\"prev\",\"page\",\"next\"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits=\"object\"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev=\"prev\"in a?a.prev:\"&#x4E0A;&#x4E00;&#x9875;\",a.next=\"next\"in a?a.next:\"&#x4E0B;&#x4E00;&#x9875;\";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href=\"javascript:;\" class=\"layui-laypage-prev'+(1==a.curr?\" \"+r:\"\")+'\" data-page=\"'+(a.curr-1)+'\">'+a.prev+\"</a>\":\"\"}(),page:function(){var e=[];if(a.count<1)return\"\";n>1&&a.first!==!1&&0!==t&&e.push('<a href=\"javascript:;\" class=\"layui-laypage-first\" data-page=\"1\"  title=\"&#x9996;&#x9875;\">'+(a.first||1)+\"</a>\");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class=\"layui-laypage-spr\">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class=\"layui-laypage-curr\"><em class=\"layui-laypage-em\" '+(/^#/.test(a.theme)?'style=\"background-color:'+a.theme+';\"':\"\")+\"></em><em>\"+r+\"</em></span>\"):e.push('<a href=\"javascript:;\" data-page=\"'+r+'\">'+r+\"</a>\");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class=\"layui-laypage-spr\">&#x2026;</span>'),0!==t&&e.push('<a href=\"javascript:;\" class=\"layui-laypage-last\" title=\"&#x5C3E;&#x9875;\"  data-page=\"'+a.pages+'\">'+(a.last||a.pages)+\"</a>\")),e.join(\"\")}(),next:function(){return a.next?'<a href=\"javascript:;\" class=\"layui-laypage-next'+(a.curr==a.pages?\" \"+r:\"\")+'\" data-page=\"'+(a.curr+1)+'\">'+a.next+\"</a>\":\"\"}(),count:'<span class=\"layui-laypage-count\">共 '+a.count+\" 条</span>\",limit:function(){var e=['<span class=\"layui-laypage-limits\"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value=\"'+n+'\"'+(n===a.limit?\"selected\":\"\")+\">\"+n+\" 条/页</option>\")}),e.join(\"\")+\"</select></span>\"}(),skip:function(){return['<span class=\"layui-laypage-skip\">&#x5230;&#x7B2C;','<input type=\"text\" min=\"1\" value=\"'+a.curr+'\" class=\"layui-input\">','&#x9875;<button type=\"button\" class=\"layui-laypage-btn\">&#x786e;&#x5b9a;</button>',\"</span>\"].join(\"\")}()};return['<div class=\"layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?\"molv\":a.theme:\"default\")+'\" id=\"layui-laypage-'+a.index+'\">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join(\"\")}(),\"</div>\"].join(\"\")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n](\"button\")[0],l=e[n](\"input\")[0],p=e[n](\"select\")[0],c=function(){var e=0|l.value.replace(/\\s|\\D/g,\"\");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)\"a\"===r[o].nodeName.toLowerCase()&&s.on(r[o],\"click\",function(){var e=0|this.getAttribute(\"data-page\");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,\"change\",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,\"click\",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n](\"input\")[0];t&&s.on(t,\"keyup\",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\\D/.test(n)&&(this.value=n.replace(/\\D/,\"\")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t](\"layui-laypage-\"+i.index);n.jump(s),i.hash&&!e&&(location.hash=\"!\"+i.hash+\"=\"+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent(\"on\"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});!function(){\"use strict\";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if(\"interactive\"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName(\"head\")[0],o=document.createElement(\"link\");\"string\"==typeof a&&(i=a);var s=(i||e).replace(/\\.|\\//g,\"\"),l=\"layuicss-\"+s,d=0;o.rel=\"stylesheet\",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),\"function\"==typeof a&&!function c(){return++d>80?window.console&&console.error(\"laydate.css: Invalid\"):void(1989===parseInt(t.getStyle(document.getElementById(l),\"width\"))?a():setTimeout(c,100))}()}}},n={v:\"5.0.9\",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i=\"laydate\",r=\"\",o=(e?\"modules/laydate/\":\"theme/\")+\"default/laydate.css?v=\"+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i=\"laydate\",r=\".layui-laydate\",o=\"layui-this\",s=\"laydate-disabled\",l=\"开始日期超出了结束日期<br>建议重新选择\",d=[100,2e5],c=\"layui-laydate-static\",m=\"layui-laydate-list\",u=\"laydate-selected\",h=\"layui-laydate-hint\",y=\"laydate-day-prev\",f=\"laydate-day-next\",p=\"layui-laydate-footer\",g=\".laydate-btns-confirm\",v=\"laydate-time-text\",D=\".laydate-btns-time\",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n=\"object\"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};C.prototype=[],C.prototype.constructor=C,w.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]=\"object\"==typeof t[0]?t[0]:{};e<t.length;e++)\"object\"==typeof t[e]&&n(t[0],t[e]);return t[0]},w.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||\"ActiveXObject\"in window)&&((e.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),w.stope=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},w.each=function(e,t){var n,a=this;if(\"function\"!=typeof t)return a;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return a},w.digit=function(e,t,n){var a=\"\";e=String(e),t=t||2;for(var i=e.length;i<t;i++)a+=\"0\";return e<Math.pow(10,t)?a+(0|e):e},w.elem=function(e,t){var n=document.createElement(e);return w.each(t||{},function(e,t){n.setAttribute(e,t)}),n},C.addStr=function(e,t){return e=e.replace(/\\s+/,\" \"),t=t.replace(/\\s+/,\" \").split(\" \"),w.each(t,function(t,n){new RegExp(\"\\\\b\"+n+\"\\\\b\").test(e)||(e=e+\" \"+n)}),e.replace(/^\\s|\\s$/,\"\")},C.removeStr=function(e,t){return e=e.replace(/\\s+/,\" \"),t=t.replace(/\\s+/,\" \").split(\" \"),w.each(t,function(t,n){var a=new RegExp(\"\\\\b\"+n+\"\\\\b\");a.test(e)&&(e=e.replace(a,\"\"))}),e.replace(/\\s+/,\" \").replace(/^\\s|\\s$/,\"\")},C.prototype.find=function(e){var t=this,n=0,a=[],i=\"object\"==typeof e;return this.each(function(r,o){for(var s=i?[e]:o.querySelectorAll(e||null);n<s.length;n++)a.push(s[n]);t.shift()}),i||(t.selector=(t.selector?t.selector+\" \":\"\")+e),w.each(a,function(e,n){t.push(n)}),t},C.prototype.each=function(e){return w.each.call(this,this,e)},C.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=C[t?\"removeStr\":\"addStr\"](a.className,e)})},C.prototype.removeClass=function(e){return this.addClass(e,!0)},C.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp(\"\\\\b\"+e+\"\\\\b\").test(a.className)&&(t=!0)}),t},C.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){\"object\"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent(\"on\"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent(\"on\"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:\"date\",range:!1,format:\"yyyy-MM-dd\",value:null,min:\"1900-1-1\",max:\"2099-12-31\",trigger:\"focus\",show:!1,showBottom:!0,btns:[\"clear\",\"now\",\"confirm\"],lang:\"cn\",theme:\"default\",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"],time:[\"时\",\"分\",\"秒\"],timeTips:\"选择时间\",startTime:\"开始时间\",endTime:\"结束时间\",dateTips:\"返回日期\",month:[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"],tools:{confirm:\"确定\",clear:\"清空\",now:\"现在\"}},en:{weeks:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],time:[\"Hours\",\"Minutes\",\"Seconds\"],timeTips:\"Select Time\",startTime:\"Start Time\",endTime:\"End Time\",dateTips:\"Select Date\",month:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],tools:{confirm:\"Confirm\",clear:\"Clear\",now:\"Now\"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n=\"yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s\",a=\"static\"===t.position,i={year:\"yyyy\",month:\"yyyy-MM\",date:\"yyyy-MM-dd\",time:\"HH:mm:ss\",datetime:\"yyyy-MM-dd HH:mm:ss\"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range=\"-\"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+\"|.\",\"g\"))||[],e.EXP_IF=\"\",e.EXP_SPLIT=\"\",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?\"\\\\d{\"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||\"\")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?\"1,4\":/^y$/.test(a)?\"1,308\":\"1,2\"}()+\"}\":\"\\\\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+\"(\"+i+\")\"}),e.EXP_IF=new RegExp(\"^\"+(t.range?e.EXP_IF+\"\\\\s\\\\\"+t.range+\"\\\\s\"+e.EXP_IF:e.EXP_IF)+\"$\"),e.EXP_SPLIT=new RegExp(\"^\"+e.EXP_SPLIT+\"$\",\"\"),e.isInput(t.elem[0])||\"focus\"===t.trigger&&(t.trigger=\"click\"),t.elem.attr(\"lay-key\")||(t.elem.attr(\"lay-key\",e.index),t.eventElem.attr(\"lay-key\",e.index)),t.mark=w.extend({},t.calendar&&\"cn\"===t.lang?{\"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-9-18\":\"国耻\",\"0-10-1\":\"国庆\",\"0-12-25\":\"圣诞\"}:{},t.mark),w.each([\"min\",\"max\"],function(e,n){var a=[],i=[];if(\"number\"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r<s?o+r*s:r:o);a=[l.getFullYear(),l.getMonth()+1,l.getDate()],r<s||(i=[l.getHours(),l.getMinutes(),l.getSeconds()])}else a=(t[n].match(/\\d+-\\d+-\\d+/)||[\"\"])[0].split(\"-\"),i=(t[n].match(/\\d+:\\d+:\\d+/)||[\"\"])[0].split(\":\");t[n]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|i[0],minutes:0|i[1],seconds:0|i[2]}}),e.elemID=\"layui-laydate\"+t.elem.attr(\"lay-key\"),(t.show||a)&&e.render(),a||e.events(),t.value&&(t.value.constructor===Date?e.setValue(e.parse(0,e.systemDate(t.value))):e.setValue(t.value)))},T.prototype.render=function(){var e=this,t=e.config,n=e.lang(),a=\"static\"===t.position,i=e.elem=w.elem(\"div\",{id:e.elemID,\"class\":[\"layui-laydate\",t.range?\" layui-laydate-range\":\"\",a?\" \"+c:\"\",t.theme&&\"default\"!==t.theme&&!/^#/.test(t.theme)?\" laydate-theme-\"+t.theme:\"\"].join(\"\")}),r=e.elemMain=[],o=e.elemHeader=[],s=e.elemCont=[],l=e.table=[],d=e.footer=w.elem(\"div\",{\"class\":p});if(t.zIndex&&(i.style.zIndex=t.zIndex),w.each(new Array(2),function(e){if(!t.range&&e>0)return!0;var a=w.elem(\"div\",{\"class\":\"layui-laydate-header\"}),i=[function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-prev-y\"});return e.innerHTML=\"&#xe65a;\",e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-prev-m\"});return e.innerHTML=\"&#xe603;\",e}(),function(){var e=w.elem(\"div\",{\"class\":\"laydate-set-ym\"}),t=w.elem(\"span\"),n=w.elem(\"span\");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-next-m\"});return e.innerHTML=\"&#xe602;\",e}(),function(){var e=w.elem(\"i\",{\"class\":\"layui-icon laydate-icon laydate-next-y\"});return e.innerHTML=\"&#xe65b;\",e}()],d=w.elem(\"div\",{\"class\":\"layui-laydate-content\"}),c=w.elem(\"table\"),m=w.elem(\"thead\"),u=w.elem(\"tr\");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem(\"th\");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem(\"div\",{\"class\":\"layui-laydate-main laydate-main-list-\"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return\"datetime\"===t.type&&e.push('<span lay-type=\"datetime\" class=\"laydate-btns-time\">'+n.timeTips+\"</span>\"),w.each(t.btns,function(e,r){var o=n.tools[r]||\"btn\";t.range&&\"now\"===r||(a&&\"clear\"===r&&(o=\"cn\"===t.lang?\"重置\":\"Reset\"),i.push('<span lay-type=\"'+r+'\" class=\"laydate-btns-'+r+'\">'+o+\"</span>\"))}),e.push('<div class=\"laydate-footer-btns\">'+i.join(\"\")+\"</div>\"),e.join(\"\")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem(\"style\"),u=[\"#{{id}} .layui-laydate-header{background-color:{{theme}};}\",\"#{{id}} .layui-this{background-color:{{theme}} !important;}\"].join(\"\").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);\"styleSheet\"in m?(m.setAttribute(\"type\",\"text/css\"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass(\"laydate-theme-molv\"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,\"function\"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w(\"#\"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?\"scrollLeft\":\"scrollTop\",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?\"clientWidth\":\"clientHeight\"]},l=5,d=a.left,c=a.bottom;d+i+l>s(\"width\")&&(d=s(\"width\")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+(\"fixed\"===t.position?0:o(1))+\"px\",e.elem.style.top=c+(\"fixed\"===t.position?0:o())+\"px\"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem(\"div\",{\"class\":h}));n.innerHTML=e||\"\",w(t.elem).find(\".\"+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find(\".\"+h).remove()},3e3)},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?\"val\":\"html\",i.isInput(s)?s.value:\"static\"===r.position?\"\":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=[\"startTime\",\"endTime\"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length<l.length&&(a=!0),/yyyy|y/.test(l)?(c<d[0]&&(c=d[0],a=!0),e.year=c):/MM|M/.test(l)?(c<1&&(c=1,a=!0),e.month=c-1):/dd|d/.test(l)?(c<1&&(c=1,a=!0),e.date=c):/HH|H/.test(l)?(c<1&&(c=0,a=!0),e.hours=c,r.range&&(i[o[n]].hours=c)):/mm|m/.test(l)?(c<1&&(c=0,a=!0),e.minutes=c,r.range&&(i[o[n]].minutes=c)):/ss|s/.test(l)&&(c<1&&(c=0,a=!0),e.seconds=c,r.range&&(i[o[n]].seconds=c))}),c(e)};return\"limit\"===e?(c(o),i):(l=l||r.value,\"string\"==typeof l&&(l=l.replace(/\\s+/g,\" \").replace(/^\\s|\\s$/g,\"\")),i.startState&&!i.endState&&(delete i.startState,i.endState=!0),\"string\"==typeof l&&l?i.EXP_IF.test(l)?r.range?(l=l.split(\" \"+r.range+\" \"),i.startDate=i.startDate||i.systemDate(),i.endDate=i.endDate||i.systemDate(),r.dateTime=w.extend({},i.startDate),w.each([i.startDate,i.endDate],function(e,t){m(t,l[e],e)})):m(o,l):(i.hint(\"日期格式不合法<br>必须遵循下述格式：<br>\"+(r.range?r.format+\" \"+r.range+\" \"+r.format:r.format)+\"<br>已为你重置\"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():\"\":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split(\"-\");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class=\"laydate-day-mark\">'+n+\"</span>\"),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?\"endDate\":\"dateTime\"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.now<l.min||l.now>l.max,e&&e[i?\"addClass\":\"removeClass\"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u=\"date\"!==s.type&&\"datetime\"!==s.type,h=e?1:0,y=w(r.table[h]).find(\"td\"),f=w(r.elemHeader[h][2]).find(\"span\");if(l.year<d[0]&&(l.year=d[0],r.hint(\"最低只能支持到公元\"+d[0]+\"年\")),l.year>d[1]&&(l.year=d[1],r.hint(\"最高只能支持到公元\"+d[1]+\"年\")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr(\"class\"),e<t?(c=a-t+e,n.addClass(\"laydate-day-prev\"),d=r.getAsYM(l.year,l.month,\"sub\")):e>=t&&e<i+t?(c=e-t,s.range||c+1===l.date&&n.addClass(o)):(c=e-i-t,n.addClass(\"laydate-day-next\"),d=r.getAsYM(l.year,l.month)),d[1]++,d[2]=c+1,n.attr(\"lay-ymd\",d.join(\"-\")).html(d[2]),r.mark(n,d).limit(n,{year:d[0],month:d[1]-1,date:d[2]},e)}),w(f[0]).attr(\"lay-ym\",l.year+\"-\"+(l.month+1)),w(f[1]).attr(\"lay-ym\",l.year+\"-\"+(l.month+1)),\"cn\"===s.lang?(w(f[0]).attr(\"lay-type\",\"year\").html(l.year+\"年\"),w(f[1]).attr(\"lay-type\",\"month\").html(l.month+1+\"月\")):(w(f[0]).attr(\"lay-type\",\"month\").html(m.month[l.month]),w(f[1]).attr(\"lay-type\",\"year\").html(l.year)),u&&(s.range&&(e?r.endDate=r.endDate||{year:l.year+(\"year\"===s.type?1:0),month:l.month+(\"month\"===s.type?0:-1)}:r.startDate=r.startDate||{year:l.year,month:l.month},e&&(r.listYM=[[r.startDate.year,r.startDate.month+1],[r.endDate.year,r.endDate.month+1]],r.list(s.type,0).list(s.type,1),\"time\"===s.type?r.setBtnStatus(\"时间\",w.extend({},r.systemDate(),r.startTime),w.extend({},r.systemDate(),r.endTime)):r.setBtnStatus(!0))),s.range||(r.listYM=[[l.year,l.month+1]],r.list(s.type,0))),s.range&&!e){var p=r.getAsYM(l.year,l.month);r.calendar(w.extend({},l,{year:p[0],month:p[1]}))}return s.range||r.limit(w(r.footer).find(g),null,0,[\"hours\",\"minutes\",\"seconds\"]),s.range&&e&&!u&&r.stampRange(),r},T.prototype.list=function(e,t){var n=this,a=n.config,i=a.dateTime,r=n.lang(),l=a.range&&\"date\"!==a.type&&\"datetime\"!==a.type,d=w.elem(\"ul\",{\"class\":m+\" \"+{year:\"laydate-year-list\",month:\"laydate-month-list\",time:\"laydate-time-list\"}[e]}),c=n.elemHeader[t],u=w(c[2]).find(\"span\"),h=n.elemCont[t||0],y=w(h).find(\".\"+m)[0],f=\"cn\"===a.lang,p=f?\"年\":\"\",T=n.listYM[t]||{},C=[\"hours\",\"minutes\",\"seconds\"],x=[\"startTime\",\"endTime\"][t];if(T[0]<1&&(T[0]=1),\"year\"===e){var M,b=M=T[0]-7;b<1&&(b=M=1),w.each(new Array(15),function(e){var i=w.elem(\"li\",{\"lay-ym\":M}),r={year:M};M==T[0]&&w(i).addClass(o),i.innerHTML=M+p,d.appendChild(i),M<n.firstDate.year?(r.month=a.min.month,r.date=a.min.date):M>=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr(\"lay-ym\",M-8+\"-\"+T[1]).html(b+p+\" - \"+(M-1+p))}else if(\"month\"===e)w.each(new Array(12),function(e){var i=w.elem(\"li\",{\"lay-ym\":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?\"月\":\"\"),d.appendChild(i),T[0]<n.firstDate.year?s.date=a.min.date:T[0]>=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr(\"lay-ym\",T[0]+\"-\"+T[1]).html(T[0]+p);else if(\"time\"===e){var E=function(){w(d).find(\"ol\").each(function(e,a){w(a).find(\"li\").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[[\"hours\"],[\"hours\",\"minutes\"],[\"hours\",\"minutes\",\"seconds\"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,[\"hours\",\"minutes\",\"seconds\"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem(\"li\"),i=[\"<p>\"+r.time[e]+\"</p><ol>\"];w.each(new Array(t),function(t){i.push(\"<li\"+(n[x][C[e]]===t?' class=\"'+o+'\"':\"\")+\">\"+w.digit(t,2)+\"</li>\")}),a.innerHTML=i.join(\"\")+\"</ol>\",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),\"year\"===e||\"month\"===e)w(n.elemMain[t]).addClass(\"laydate-ym-show\"),w(d).find(\"li\").on(\"click\",function(){var r=0|w(this).attr(\"lay-ym\");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c=\"year\"===e?n.getAsYM(r,T[1]-1,\"sub\"):n.getAsYM(T[0],r,\"sub\");w.extend(i,{year:c[0],month:c[1]})}\"year\"===a.type||\"month\"===a.type?(w(d).find(\".\"+o).removeClass(o),w(this).addClass(o),\"month\"===a.type&&\"year\"===e&&(n.listYM[t][0]=r,l&&(n[[\"startDate\",\"endDate\"][t]].year=r),n.list(\"month\",t))):(n.checkDate(\"limit\").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,\"change\"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem(\"span\",{\"class\":v}),k=function(){w(d).find(\"ol\").each(function(e){var t=this,a=w(t).find(\"li\");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find(\".\"+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass(\"laydate-time-show\"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find(\"ol\").each(function(e){var t=this;w(t).find(\"li\").on(\"click\",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find(\".\"+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||\"time\"===a.type)&&n.done(null,\"change\"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find(\".\"+m).remove(),w(e.elemMain[t]).removeClass(\"laydate-ym-show laydate-time-show\")}),w(e.elem).find(\".\"+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&\"date\"!==r.type&&\"time\"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?\"addClass\":\"removeClass\"](s),e&&a&&i.hint(\"string\"==typeof e?l.replace(/日期/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join(\"\")+\" \"+a.range+\" \"+n.parse(1):r.join(\"\")},T.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)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?\"val\":\"html\";return\"static\"===n.position||w(a)[i](e||\"\"),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find(\"td\");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr(\"lay-ymd\").split(\"-\"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+\" \"+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s<t&&w(i).addClass(u)})},T.prototype.done=function(e,t){var n=this,a=n.config,i=w.extend({},n.startDate?w.extend(n.startDate,n.startTime):a.dateTime),r=w.extend({},w.extend(n.endDate,n.endTime));return w.each([i,r],function(e,t){\"month\"in t&&w.extend(t,{month:t.month+1})}),e=e||[n.parse(),i,r],\"function\"==typeof a[t||\"done\"]&&a[t||\"done\"].apply(a,e),n},T.prototype.choose=function(e){var t=this,n=t.config,a=n.dateTime,i=w(t.elem).find(\"td\"),r=e.attr(\"lay-ymd\").split(\"-\"),l=function(e){new Date;e&&w.extend(a,r),n.range&&(t.startDate?w.extend(t.startDate,r):t.startDate=w.extend({},r,t.startTime),t.startYMD=r)};if(r={year:0|r[0],month:(0|r[1])-1,date:0|r[2]},!e.hasClass(s))if(n.range){if(w.each([\"startTime\",\"endTime\"],function(e,n){t[n]=t[n]||{hours:0,minutes:0,seconds:0}}),t.endState)l(),delete t.endState,delete t.endDate,t.startState=!0,i.removeClass(o+\" \"+u),e.addClass(o);else if(t.startState){if(e.addClass(o),t.endDate?w.extend(t.endDate,r):t.endDate=w.extend({},r,t.endTime),t.newDate(r).getTime()<t.newDate(t.startYMD).getTime()){var d=w.extend({},t.endDate,{hours:t.startDate.hours,minutes:t.startDate.minutes,seconds:t.startDate.seconds});w.extend(t.endDate,t.startDate,{hours:t.endDate.hours,minutes:t.endDate.minutes,seconds:t.endDate.seconds}),t.startDate=d}n.showBottom||t.done(),t.stampRange(),t.endState=!0,t.done(null,\"change\")}else e.addClass(o),l(),t.startState=!0;w(t.footer).find(g)[t.endDate?\"removeClass\":\"addClass\"](s)}else\"static\"===n.position?(l(!0),t.calendar().done().done(null,\"change\")):\"date\"===n.type?(l(!0),t.setValue(t.parse()).remove().done()):\"datetime\"===n.type&&(l(!0),t.calendar().done(null,\"change\"))},T.prototype.tool=function(e,t){var n=this,a=n.config,i=a.dateTime,r=\"static\"===a.position,o={datetime:function(){w(e).hasClass(s)||(n.list(\"time\",0),a.range&&n.list(\"time\",1),w(e).attr(\"lay-type\",\"date\").html(n.lang().dateTips))},date:function(){n.closeList(),w(e).attr(\"lay-type\",\"datetime\").html(n.lang().timeTips)},clear:function(){n.setValue(\"\").remove(),r&&(w.extend(i,n.firstDate),n.calendar()),a.range&&(delete n.startState,delete n.endState,delete n.endDate,delete n.startTime,delete n.endTime),n.done([\"\",{},{}])},now:function(){var e=new Date;w.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),r&&n.calendar(),n.done()},confirm:function(){if(a.range){if(!n.endDate)return n.hint(\"请先选择日期范围\");if(w(e).hasClass(s))return n.hint(\"time\"===a.type?l.replace(/日期/g,\"时间\"):l)}else if(w(e).hasClass(s))return n.hint(\"不在有效日期或时间范围内\");n.done(),n.setValue(n.parse()).remove()}};o[t]&&o[t]()},T.prototype.change=function(e){var t=this,n=t.config,a=n.dateTime,i=n.range&&(\"year\"===n.type||\"month\"===n.type),r=t.elemCont[e||0],o=t.listYM[e],s=function(s){var l=[\"startDate\",\"endDate\"][e],d=w(r).find(\".laydate-year-list\")[0],c=w(r).find(\".laydate-month-list\")[0];return d&&(o[0]=s?o[0]-15:o[0]+15,t.list(\"year\",e)),c&&(s?o[0]--:o[0]++,t.list(\"month\",e)),(d||c)&&(w.extend(a,{year:o[0]}),i&&(t[l].year=o[0]),n.range||t.done(null,\"change\"),t.setBtnStatus(),n.range||t.limit(w(t.footer).find(g),{year:o[0]})),d||c};return{prevYear:function(){s(\"sub\")||(a.year--,t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\"))},prevMonth:function(){var e=t.getAsYM(a.year,a.month,\"sub\");w.extend(a,{year:e[0],month:e[1]}),t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\")},nextMonth:function(){var e=t.getAsYM(a.year,a.month);w.extend(a,{year:e[0],month:e[1]}),t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\")},nextYear:function(){s()||(a.year++,t.checkDate(\"limit\").calendar(),n.range||t.done(null,\"change\"))}}},T.prototype.changeEvent=function(){var e=this;e.config;w(e.elem).on(\"click\",function(e){w.stope(e)}),w.each(e.elemHeader,function(t,n){w(n[0]).on(\"click\",function(n){e.change(t).prevYear()}),w(n[1]).on(\"click\",function(n){e.change(t).prevMonth()}),w(n[2]).find(\"span\").on(\"click\",function(n){var a=w(this),i=a.attr(\"lay-ym\"),r=a.attr(\"lay-type\");i&&(i=i.split(\"-\"),e.listYM[t]=[0|i[0],0|i[1]],e.list(r,t),w(e.footer).find(D).addClass(s))}),w(n[3]).on(\"click\",function(n){e.change(t).nextMonth()}),w(n[4]).on(\"click\",function(n){e.change(t).nextYear()})}),w.each(e.table,function(t,n){var a=w(n).find(\"td\");a.on(\"click\",function(){e.choose(w(this))})}),w(e.footer).find(\"span\").on(\"click\",function(){var t=w(this).attr(\"lay-type\");e.tool(this,t)})},T.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},T.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,\"bind\"),n(t.eventElem),w(document).on(\"click\",function(n){n.target!==t.elem[0]&&n.target!==t.eventElem[0]&&n.target!==w(t.closeStop)[0]&&e.remove()}).on(\"keydown\",function(t){13===t.keyCode&&w(\"#\"+e.elemID)[0]&&e.elemID===T.thisElem&&(t.preventDefault(),w(e.footer).find(g)[0].click())}),w(window).on(\"resize\",function(){return!(!e.elem||!w(r)[0])&&void e.position()}),t.elem[0].eventHandler=!0)},n.render=function(e){var t=new T(e);return a.call(t)},n.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},window.lay=window.lay||w,e?(n.ready(),layui.define(function(e){n.path=layui.cache.dir,e(i,n)})):\"function\"==typeof define&&define.amd?define(function(){return n}):function(){n.ready(),window.laydate=n}()}();!function(e,t){\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&\"length\"in e&&e.length,n=pe.type(e);return\"function\"!==n&&!pe.isWindow(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if(\"string\"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener(\"DOMContentLoaded\",s),e.removeEventListener(\"load\",s)):(re.detachEvent(\"onreadystatechange\",s),e.detachEvent(\"onload\",s))}function s(){(re.addEventListener||\"load\"===e.event.type||\"complete\"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r=\"data-\"+t.replace(_e,\"-$1\").toLowerCase();if(n=e.getAttribute(r),\"string\"==typeof n){try{n=\"true\"===n||\"false\"!==n&&(\"null\"===n?null:+n+\"\"===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if((\"data\"!==t||!pe.isEmptyObject(e[t]))&&\"toJSON\"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||\"string\"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),\"object\"!=typeof t&&\"function\"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),\"string\"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(\" \")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,\"\")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?\"\":\"px\"),c=(pe.cssNumber[t]||\"px\"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||\".5\",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split(\"|\"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,\"globalEval\",!t||pe._data(t[r],\"globalEval\"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x<d;x++)if(a=e[x],a||0===a)if(\"object\"===pe.type(a))pe.merge(v,a.nodeType?[a]:a);else if(Ue.test(a)){for(u=u||y.appendChild(t.createElement(\"div\")),l=(We.exec(a)||[\"\",\"\"])[1].toLowerCase(),f=Xe[l]||Xe._default,u.innerHTML=f[1]+pe.htmlPrefilter(a)+f[2],o=f[0];o--;)u=u.lastChild;if(!fe.leadingWhitespace&&$e.test(a)&&v.push(t.createTextNode($e.exec(a)[0])),!fe.tbody)for(a=\"table\"!==l||Ve.test(a)?\"<table>\"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],\"tbody\")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent=\"\";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,\"input\"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),\"script\"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||\"\")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){\"string\"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,\"table\")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,\"tr\")?e.getElementsByTagName(\"tbody\")[0]||e.appendChild(e.ownerDocument.createElement(\"tbody\")):e}function C(e){return e.type=(null!==pe.find.attr(e,\"type\"))+\"/\"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r<i;r++)pe.event.add(t,n,s[n][r])}a.data&&(a.data=pe.extend({},a.data))}}function k(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!fe.noCloneEvent&&t[pe.expando]){i=pe._data(t);for(r in i.events)pe.removeEvent(t,r,i.handle);t.removeAttribute(pe.expando)}\"script\"===n&&t.text!==e.text?(C(t).text=e.text,E(t)):\"object\"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),fe.html5Clone&&e.innerHTML&&!pe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):\"input\"===n&&Be.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):\"option\"===n?t.defaultSelected=t.selected=e.defaultSelected:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}}function S(e,t,n,r){t=oe.apply([],t);var i,o,a,s,u,l,c=0,f=e.length,d=f-1,p=t[0],g=pe.isFunction(p);if(g||f>1&&\"string\"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,\"script\"),C),a=s.length;c<f;c++)o=l,c!==d&&(o=pe.clone(o,!0,!0),a&&pe.merge(s,h(o,\"script\"))),n.call(e[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,pe.map(s,E),c=0;c<a;c++)o=s[c],Ie.test(o.type||\"\")&&!pe._data(o,\"globalEval\")&&pe.contains(u,o)&&(o.src?pe._evalUrl&&pe._evalUrl(o.src):pe.globalEval((o.text||o.textContent||o.innerHTML||\"\").replace(ot,\"\")));l=i=null}return e}function A(e,t,n){for(var r,i=t?pe.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||pe.cleanData(h(r)),r.parentNode&&(n&&pe.contains(r.ownerDocument,r)&&g(h(r,\"script\")),r.parentNode.removeChild(r));return e}function D(e,t){var n=pe(t.createElement(e)).appendTo(t.body),r=pe.css(n[0],\"display\");return n.detach(),r}function j(e){var t=re,n=lt[e];return n||(n=D(e,t),\"none\"!==n&&n||(ut=(ut||pe(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(o[a]=pe._data(r,\"olddisplay\"),n=r.style.display,t?(o[a]||\"none\"!==n||(r.style.display=\"\"),\"\"===r.style.display&&Re(r)&&(o[a]=pe._data(r,\"olddisplay\",j(r.nodeName)))):(i=Re(r),(n&&\"none\"!==n||!i)&&pe._data(r,\"olddisplay\",i?n:pe.css(r,\"display\"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&\"none\"!==r.style.display&&\"\"!==r.style.display||(r.style.display=t?o[a]||\"\":\"none\"));return e}function _(e,t,n){var r=bt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||\"px\"):t}function F(e,t,n,r,i){for(var o=n===(r?\"border\":\"content\")?4:\"width\"===t?1:0,a=0;o<4;o+=2)\"margin\"===n&&(a+=pe.css(e,n+Oe[o],!0,i)),r?(\"content\"===n&&(a-=pe.css(e,\"padding\"+Oe[o],!0,i)),\"margin\"!==n&&(a-=pe.css(e,\"border\"+Oe[o]+\"Width\",!0,i))):(a+=pe.css(e,\"padding\"+Oe[o],!0,i),\"padding\"!==n&&(a+=pe.css(e,\"border\"+Oe[o]+\"Width\",!0,i)));return a}function M(t,n,r){var i=!0,o=\"width\"===n?t.offsetWidth:t.offsetHeight,a=ht(t),s=fe.boxSizing&&\"border-box\"===pe.css(t,\"boxSizing\",!1,a);if(re.msFullscreenElement&&e.top!==e&&t.getClientRects().length&&(o=Math.round(100*t.getBoundingClientRect()[n])),o<=0||null==o){if(o=gt(t,n,a),(o<0||null==o)&&(o=t.style[n]),ft.test(o))return o;i=s&&(fe.boxSizingReliable()||o===t.style[n]),o=parseFloat(o)||0}return o+F(t,n,r||(s?\"border\":\"content\"),i,a)+\"px\"}function O(e,t,n,r,i){return new O.prototype.init(e,t,n,r,i)}function R(){return e.setTimeout(function(){Nt=void 0}),Nt=pe.now()}function P(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)n=Oe[i],r[\"margin\"+n]=r[\"padding\"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e,t,n){for(var r,i=($.tweeners[t]||[]).concat($.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function W(e,t,n){var r,i,o,a,s,u,l,c,f=this,d={},p=e.style,h=e.nodeType&&Re(e),g=pe._data(e,\"fxshow\");n.queue||(s=pe._queueHooks(e,\"fx\"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,f.always(function(){f.always(function(){s.unqueued--,pe.queue(e,\"fx\").length||s.empty.fire()})})),1===e.nodeType&&(\"height\"in t||\"width\"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=pe.css(e,\"display\"),c=\"none\"===l?pe._data(e,\"olddisplay\")||j(e.nodeName):l,\"inline\"===c&&\"none\"===pe.css(e,\"float\")&&(fe.inlineBlockNeedsLayout&&\"inline\"!==j(e.nodeName)?p.zoom=1:p.display=\"inline-block\")),n.overflow&&(p.overflow=\"hidden\",fe.shrinkWrapBlocks()||f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],St.exec(i)){if(delete t[r],o=o||\"toggle\"===i,i===(h?\"hide\":\"show\")){if(\"show\"!==i||!g||void 0===g[r])continue;h=!0}d[r]=g&&g[r]||pe.style(e,r)}else l=void 0;if(pe.isEmptyObject(d))\"inline\"===(\"none\"===l?j(e.nodeName):l)&&(p.display=l);else{g?\"hidden\"in g&&(h=g.hidden):g=pe._data(e,\"fxshow\",{}),o&&(g.hidden=!h),h?pe(e).show():f.done(function(){pe(e).hide()}),f.done(function(){var t;pe._removeData(e,\"fxshow\");for(t in d)pe.style(e,t,d[t])});for(r in d)a=B(h?g[r]:0,r,f),r in g||(g[r]=a.start,h&&(a.end=a.start,a.start=\"width\"===r||\"height\"===r?1:0))}}function I(e,t){var n,r,i,o,a;for(n in e)if(r=pe.camelCase(n),i=t[r],o=e[n],pe.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=pe.cssHooks[r],a&&\"expand\"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o=0,a=$.prefilters.length,s=pe.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Nt||R(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),o<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:pe.extend({},t),opts:pe.extend(!0,{specialEasing:{},easing:pe.easing._default},n),originalProperties:t,originalOptions:n,startTime:Nt||R(),duration:n.duration,tweens:[],createTween:function(t,n){var r=pe.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o<a;o++)if(r=$.prefilters[o].call(l,e,c,l.opts))return pe.isFunction(r.stop)&&(pe._queueHooks(l.elem,l.opts.queue).stop=pe.proxy(r.stop,r)),r;return pe.map(c,B,l),pe.isFunction(l.opts.start)&&l.opts.start.call(e,l),pe.fx.timer(pe.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){return pe.attr(e,\"class\")||\"\"}function X(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(De)||[];if(pe.isFunction(n))for(;r=o[i++];)\"+\"===r.charAt(0)?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function U(e,t,n,r){function i(s){var u;return o[s]=!0,pe.each(e[s]||[],function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||a||o[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},a=e===Qt;return i(t.dataTypes[0])||!o[\"*\"]&&i(\"*\")}function V(e,t){var n,r,i=pe.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&pe.extend(!0,e,n),e}function Y(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(i)for(a in s)if(s[a]&&s[a].test(i)){u.unshift(a);break}if(u[0]in n)o=u[0];else{for(a in n){if(!u[0]||e.converters[a+\" \"+u[0]]){o=a;break}r||(r=a)}o=o||r}if(o)return o!==u[0]&&u.unshift(o),n[o]}function J(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(a=l[u+\" \"+o]||l[\"* \"+o],!a)for(i in l)if(s=i.split(\" \"),s[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(f){return{state:\"parsererror\",error:a?f:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}function G(e){return e.style&&e.style.display||pe.css(e,\"display\")}function K(e){for(;e&&1===e.nodeType;){if(\"none\"===G(e)||\"hidden\"===e.type)return!0;e=e.parentNode}return!1}function Q(e,t,n,r){var i;if(pe.isArray(t))pe.each(t,function(t,i){n||rn.test(e)?r(e,i):Q(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)});else if(n||\"object\"!==pe.type(t))r(e,t);else for(i in t)Q(e+\"[\"+i+\"]\",t[i],n,r)}function Z(){try{return new e.XMLHttpRequest}catch(t){}}function ee(){try{return new e.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(t){}}function te(e){return pe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var ne=[],re=e.document,ie=ne.slice,oe=ne.concat,ae=ne.push,se=ne.indexOf,ue={},le=ue.toString,ce=ue.hasOwnProperty,fe={},de=\"1.12.3\",pe=function(e,t){return new pe.fn.init(e,t)},he=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,ge=/^-ms-/,me=/-([\\da-z])/gi,ye=function(e,t){return t.toUpperCase()};pe.fn=pe.prototype={jquery:de,constructor:pe,selector:\"\",length:0,toArray:function(){return ie.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:ie.call(this)},pushStack:function(e){var t=pe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return pe.each(this,e)},map:function(e){return this.pushStack(pe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ae,sort:ne.sort,splice:ne.splice},pe.extend=pe.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||pe.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(i=arguments[s]))for(r in i)e=a[r],n=i[r],a!==n&&(l&&n&&(pe.isPlainObject(n)||(t=pe.isArray(n)))?(t?(t=!1,o=e&&pe.isArray(e)?e:[]):o=e&&pe.isPlainObject(e)?e:{},a[r]=pe.extend(l,o,n)):void 0!==n&&(a[r]=n));return a},pe.extend({expando:\"jQuery\"+(de+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return\"function\"===pe.type(e)},isArray:Array.isArray||function(e){return\"array\"===pe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){var t=e&&e.toString();return!pe.isArray(e)&&t-parseFloat(t)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||\"object\"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,\"constructor\")&&!ce.call(e.constructor.prototype,\"isPrototypeOf\"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?ue[le.call(e)]||\"object\":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,\"ms-\").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;i<r&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(he,\"\")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?pe.merge(r,\"string\"==typeof e?[e]:e):ae.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(se)return se.call(t,e,n);for(r=t.length,n=n?n<0?Math.max(0,r+n):n:0;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;)e[i++]=t[r++];if(n!==n)for(;void 0!==t[r];)e[i++]=t[r++];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,r){var i,o,a=0,s=[];if(n(e))for(i=e.length;a<i;a++)o=t(e[a],a,r),null!=o&&s.push(o);else for(a in e)o=t(e[a],a,r),null!=o&&s.push(o);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if(\"string\"==typeof t&&(i=e[t],t=e,e=i),pe.isFunction(e))return n=ie.call(arguments,2),r=function(){return e.apply(t||this,n.concat(ie.call(arguments)))},r.guid=e.guid=e.guid||pe.guid++,r},now:function(){return+new Date},support:fe}),\"function\"==typeof Symbol&&(pe.fn[Symbol.iterator]=ne[Symbol.iterator]),pe.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){ue[\"[object \"+t+\"]\"]=t.toLowerCase()});var ve=function(e){function t(e,t,n,r){var i,o,a,s,u,l,f,p,h=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:B)!==H&&L(t),t=t||H,_)){if(11!==g&&(l=ye.exec(e)))if(i=l[1]){if(9===g){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(h&&(a=h.getElementById(i))&&R(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!X[e+\" \"]&&(!F||!F.test(e))){if(1!==g)h=t,p=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((s=t.getAttribute(\"id\"))?s=s.replace(xe,\"\\\\$&\"):t.setAttribute(\"id\",s=P),f=N(e),o=f.length,u=de.test(s)?\"#\"+s:\"[id='\"+s+\"']\";o--;)f[o]=u+\" \"+d(f[o]);p=f.join(\",\"),h=ve.test(e)&&c(t.parentNode)||t}if(p)try{return Q.apply(n,h.querySelectorAll(p)),n}catch(m){}finally{s===P&&t.removeAttribute(\"id\")}}}return S(e.replace(se,\"$1\"),t,n,r)}function n(){function e(n,r){return t.push(n+\" \")>T.cacheLength&&delete e[t.shift()],e[n+\" \"]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement(\"div\");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split(\"|\"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&\"parentNode\"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[P]||(t[P]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[P]&&(i=y(i)),o&&!o[P]&&(o=y(o,a)),r(function(r,a,s,u){var l,c,f,d=[],p=[],h=a.length,y=r||g(t||\"*\",s.nodeType?[s]:s,[]),v=!e||!r&&t?y:m(y,d,e,s,u),x=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,x,s,u),i)for(l=m(x,p),i(l,[],s,u),c=l.length;c--;)(f=l[c])&&(x[p[c]]=!(v[p[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(v[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?ee(r,f):d[c])>-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[\" \"],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s<i;s++)if(n=T.relative[e[s].type])c=[p(h(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;r<i&&!T.relative[e[r].type];r++);return y(s>1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(se,\"$1\"),n,s<r&&v(e.slice(s,r)),r<i&&v(e=e.slice(r)),r<i&&d(e))}c.push(n)}return h(c)}function x(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h=\"0\",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG(\"*\",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P=\"sizzle\"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",ne=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",re=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",ie=\"\\\\[\"+ne+\"*(\"+re+\")(?:\"+ne+\"*([*^$|!~]?=)\"+ne+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+re+\"))|)\"+ne+\"*\\\\]\",oe=\":(\"+re+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+ie+\")*)|.*)\\\\)|)\",ae=new RegExp(ne+\"+\",\"g\"),se=new RegExp(\"^\"+ne+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ne+\"+$\",\"g\"),ue=new RegExp(\"^\"+ne+\"*,\"+ne+\"*\"),le=new RegExp(\"^\"+ne+\"*([>+~]|\"+ne+\")\"+ne+\"*\"),ce=new RegExp(\"=\"+ne+\"*([^\\\\]'\\\"]*?)\"+ne+\"*\\\\]\",\"g\"),fe=new RegExp(oe),de=new RegExp(\"^\"+re+\"$\"),pe={ID:new RegExp(\"^#(\"+re+\")\"),CLASS:new RegExp(\"^\\\\.(\"+re+\")\"),TAG:new RegExp(\"^(\"+re+\"|[*])\"),ATTR:new RegExp(\"^\"+ie),PSEUDO:new RegExp(\"^\"+oe),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ne+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ne+\"*(?:([+-]|)\"+ne+\"*(\\\\d+)|))\"+ne+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+te+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ne+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ne+\"*((?:-\\\\d)?\\\\d*)\"+ne+\"*\\\\)|)(?=[^-]|$)\",\"i\")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\\d$/i,me=/^[^{]+\\{\\s*\\[native \\w/,ye=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ve=/[+~]/,xe=/'|\\\\/g,be=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ne+\"?|(\"+ne+\")|.)\",\"ig\"),we=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",Te,!1):n.attachEvent&&n.attachEvent(\"onunload\",Te)),w.attributes=i(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute(\"id\")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML=\"<a id='\"+P+\"'></a><select id='\"+P+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&F.push(\"[*^$]=\"+ne+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||F.push(\"\\\\[\"+ne+\"*(?:value|\"+te+\")\"),e.querySelectorAll(\"[id~=\"+P+\"-]\").length||F.push(\"~=\"),e.querySelectorAll(\":checked\").length||F.push(\":checked\"),e.querySelectorAll(\"a#\"+P+\"+*\").length||F.push(\".#.+[+~]\")}),i(function(e){var t=H.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&F.push(\"name\"+ne+\"*[*^$|!~]?=\"),e.querySelectorAll(\":enabled\").length||F.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),F.push(\",.*:\")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,\"div\"),O.call(e,\"[s!='']:x\"),M.push(\"!=\",oe)}),F=F.length&&new RegExp(F.join(\"|\")),M=M.length&&new RegExp(M.join(\"|\")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,\"='$1']\"),w.matchesSelector&&_&&!X[n+\" \"]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||\"\").replace(be,we),\"~=\"===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&fe.test(n)&&(t=N(n,!0))&&(t=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(be,we).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+\" \"];return t||(t=new RegExp(\"(^|\"+ne+\")\"+e+\"(\"+ne+\"|$)\"))&&$(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?\"!=\"===n:!n||(o+=\"\",\"=\"===n?o===r:\"!=\"===n?o!==r:\"^=\"===n?r&&0===o.indexOf(r):\"*=\"===n?r&&o.indexOf(r)>-1:\"$=\"===n?r&&o.slice(-r.length)===r:\"~=\"===n?(\" \"+o.replace(ae,\" \")+\" \").indexOf(r)>-1:\"|=\"===n&&(o===r||o.slice(0,r.length+1)===r+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?\"nextSibling\":\"previousSibling\",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),\nl=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error(\"unsupported pseudo: \"+e);return o[P]?o(n):o.length>1?(i=[e,e,\"\",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,\"$1\"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||\"\")||t.error(\"unsupported lang: \"+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+\"-\");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=s(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,a,s,u,l,c=z[e+\" \"];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(i=ue.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=le.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se,\" \")}),s=s.slice(r.length));for(a in T.filter)!(i=pe[a].exec(s))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=X[e+\" \"];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=v(t[n]),o[P]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,f=!r&&N(e=l.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&\"ID\"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split(\"\").sort(U).join(\"\")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement(\"div\"))}),i(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||o(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||o(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute(\"disabled\")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[\":\"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,Ce=/^.[^:#\\[\\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if(\"string\"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t<i;t++)if(pe.contains(r[t],this))return!0}));for(t=0;t<i;t++)pe.find(e,r[t],n);return n=this.pushStack(i>1?pe.unique(n):n),n.selector=this.selector?this.selector+\" \"+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,\"string\"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,\"string\"==typeof e){if(r=\"<\"===e.charAt(0)&&\">\"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?\"undefined\"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(pe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=we.test(e)||\"string\"!=typeof e?pe(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,\"parentNode\")},parentsUntil:function(e,t,n){return xe(e,\"parentNode\",n)},next:function(e){return i(e,\"nextSibling\")},prev:function(e){return i(e,\"previousSibling\")},nextAll:function(e){return xe(e,\"nextSibling\")},prevAll:function(e){return xe(e,\"previousSibling\")},nextUntil:function(e,t,n){return xe(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return xe(e,\"previousSibling\",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,\"iframe\")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\\S+/g;pe.Callbacks=function(e){e=\"string\"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<a.length;)a[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=a.length,n=!1);e.memory||(n=!1),t=!1,i&&(a=n?[]:\"\")},c={add:function(){return a&&(n&&!t&&(u=a.length-1,s.push(n)),function r(t){pe.each(t,function(t,n){pe.isFunction(n)?e.unique&&c.has(n)||a.push(n):n&&n.length&&\"string\"!==pe.type(n)&&r(n)})}(arguments),n&&!t&&l()),this},remove:function(){return pe.each(arguments,function(e,t){for(var n;(n=pe.inArray(t,a,n))>-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n=\"\",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[[\"resolve\",\"done\",pe.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",pe.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",pe.Callbacks(\"memory\")]],n=\"pending\",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+\"With\"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+\"With\"](this===i?r:this,arguments),this},i[o[0]+\"With\"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i<a;i++)o[i]&&pe.isFunction(o[i].promise)?o[i].promise().progress(l(i,n,t)).done(l(i,r,o)).fail(u.reject):--s;return s||u.resolveWith(r,o),u.promise()}});var je;pe.fn.ready=function(e){return pe.ready.promise().done(e),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler(\"ready\"),pe(re).off(\"ready\"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),\"complete\"===re.readyState||\"loading\"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener(\"DOMContentLoaded\",s),e.addEventListener(\"load\",s);else{re.attachEvent(\"onreadystatechange\",s),e.attachEvent(\"onload\",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll(\"left\")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst=\"0\"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName(\"body\")[0],n&&n.style&&(t=re.createElement(\"div\"),r=re.createElement(\"div\"),r.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",n.appendChild(r).appendChild(t),\"undefined\"!=typeof t.style.zoom&&(t.style.cssText=\"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement(\"div\");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+\" \").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute(\"classid\")===t)},qe=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{\"applet \":!0,\"embed \":!0,\"object \":\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,\"parsedAttrs\"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf(\"data-\")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,\"parsedAttrs\",!0)}return i}return\"object\"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks(\"once memory\").add(function(){pe._removeData(e,t+\"queue\"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?pe.queue(this[0],e):void 0===t?this:this.each(function(){var n=pe.queue(this,e,t);pe._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&pe.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pe.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=pe.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";a--;)n=pe._data(o[a],e+\"queueHooks\"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}}),function(){var e;fe.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,r;return n=re.getElementsByTagName(\"body\")[0],n&&n.style?(t=re.createElement(\"div\"),r=re.createElement(\"div\"),r.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",n.appendChild(r).appendChild(t),\"undefined\"!=typeof t.style.zoom&&(t.style.cssText=\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1\",t.appendChild(re.createElement(\"div\")).style.width=\"5px\",e=3!==t.offsetWidth),n.removeChild(r),e):void 0}}();var Fe=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,Me=new RegExp(\"^(?:([+-])=|)(\"+Fe+\")([a-z%]*)$\",\"i\"),Oe=[\"Top\",\"Right\",\"Bottom\",\"Left\"],Re=function(e,t){return e=t||e,\"none\"===pe.css(e,\"display\")||!pe.contains(e.ownerDocument,e)},Pe=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===pe.type(n)){i=!0;for(s in n)Pe(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,pe.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(pe(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},Be=/^(?:checkbox|radio)$/i,We=/<([\\w:-]+)/,Ie=/^$|\\/(?:java|ecma)script/i,$e=/^\\s+/,ze=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video\";!function(){var e=re.createElement(\"div\"),t=re.createDocumentFragment(),n=re.createElement(\"input\");e.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName(\"tbody\").length,fe.htmlSerialize=!!e.getElementsByTagName(\"link\").length,fe.html5Clone=\"<:nav></:nav>\"!==re.createElement(\"nav\").cloneNode(!0).outerHTML,n.type=\"checkbox\",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML=\"<textarea>x</textarea>\",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement(\"input\"),n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],area:[1,\"<map>\",\"</map>\"],param:[1,\"<object>\",\"</object>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:fe.htmlSerialize?[0,\"\",\"\"]:[1,\"X<div>\",\"</div>\"]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\\w+;/,Ve=/<tbody/i;!function(){var t,n,r=re.createElement(\"div\");for(t in{submit:!0,change:!0,focusin:!0})n=\"on\"+t,(fe[t]=n in e)||(r.setAttribute(n,\"t\"),fe[t]=r.attributes[n].expando===!1);r=null}();var Ye=/^(?:input|select|textarea)$/i,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^(?:focusinfocus|focusoutblur)$/,Qe=/^([^.]*)(?:\\.(.+)|)/;pe.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe._data(e);if(m){for(n.handler&&(u=n,n=u.handler,i=u.selector),n.guid||(n.guid=pe.guid++),(a=m.events)||(a=m.events={}),(c=m.handle)||(c=m.handle=function(e){return\"undefined\"==typeof pe||e&&pe.event.triggered===e.type?void 0:pe.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||\"\").match(De)||[\"\"],s=t.length;s--;)o=Qe.exec(t[s])||[],p=g=o[1],h=(o[2]||\"\").split(\".\").sort(),p&&(l=pe.event.special[p]||{},p=(i?l.delegateType:l.bindType)||p,l=pe.event.special[p]||{},f=pe.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:h.join(\".\")},u),(d=a[p])||(d=a[p]=[],d.delegateCount=0,l.setup&&l.setup.call(e,r,h,c)!==!1||(e.addEventListener?e.addEventListener(p,c,!1):e.attachEvent&&e.attachEvent(\"on\"+p,c))),l.add&&(l.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,f):d.push(f),pe.event.global[p]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe.hasData(e)&&pe._data(e);if(m&&(c=m.events)){for(t=(t||\"\").match(De)||[\"\"],l=t.length;l--;)if(s=Qe.exec(t[l])||[],p=g=s[1],h=(s[2]||\"\").split(\".\").sort(),p){for(f=pe.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=c[p]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),u=o=d.length;o--;)a=d[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&(\"**\"!==r||!a.selector)||(d.splice(o,1),a.selector&&d.delegateCount--,f.remove&&f.remove.call(e,a));u&&!d.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||pe.removeEvent(e,p,m.handle),delete c[p])}else for(p in c)pe.event.remove(e,p+t[l],n,r,!0);pe.isEmptyObject(c)&&(delete m.handle,pe._removeData(e,\"events\"))}},trigger:function(t,n,r,i){var o,a,s,u,l,c,f,d=[r||re],p=ce.call(t,\"type\")?t.type:t,h=ce.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(s=c=r=r||re,3!==r.nodeType&&8!==r.nodeType&&!Ke.test(p+pe.event.triggered)&&(p.indexOf(\".\")>-1&&(h=p.split(\".\"),p=h.shift(),h.sort()),a=p.indexOf(\":\")<0&&\"on\"+p,t=t[pe.expando]?t:new pe.Event(p,\"object\"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,\"events\")||{})[t.type]&&pe._data(s,\"handle\"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,\"events\")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&(\"click\"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||\"click\"!==e.type)){for(r=[],n=0;n<s;n++)o=t[n],i=o.selector+\" \",void 0===r[i]&&(r[i]=o.needsContext?pe(i,this).index(u)>-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},fix:function(e){if(e[pe.expando])return e;var t,n,r,i=e.type,o=e,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Ge.test(i)?this.mouseHooks:Je.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new pe.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||re),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,a.filter?a.filter(e,o):e},props:\"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(e,t){var n,r,i,o=t.button,a=t.fromElement;return null==e.pageX&&null!=t.clientX&&(r=e.target.ownerDocument||re,i=r.documentElement,n=r.body,e.pageX=t.clientX+(i&&i.scrollLeft||n&&n.scrollLeft||0)-(i&&i.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||n&&n.scrollTop||0)-(i&&i.clientTop||n&&n.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?t.toElement:a),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:\"focusin\"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(pe.nodeName(this,\"input\")&&\"checkbox\"===this.type&&this.click)return this.click(),!1},_default:function(e){return pe.nodeName(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n){var r=pe.extend(new pe.Event,n,{type:e,isSimulated:!0});pe.event.trigger(r,null,t),r.isDefaultPrevented()&&n.preventDefault()}},pe.removeEvent=re.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)}:function(e,t,n){var r=\"on\"+t;e.detachEvent&&(\"undefined\"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},pe.Event=function(e,t){return this instanceof pe.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:x):this.type=e,t&&pe.extend(this,t),this.timeStamp=e&&e.timeStamp||pe.now(),void(this[pe.expando]=!0)):new pe.Event(e,t)},pe.Event.prototype={constructor:pe.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&!this.isSimulated&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},pe.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){pe.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||pe.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),fe.submit||(pe.event.special.submit={setup:function(){return!pe.nodeName(this,\"form\")&&void pe.event.add(this,\"click._submit keypress._submit\",function(e){var t=e.target,n=pe.nodeName(t,\"input\")||pe.nodeName(t,\"button\")?pe.prop(t,\"form\"):void 0;n&&!pe._data(n,\"submit\")&&(pe.event.add(n,\"submit._submit\",function(e){e._submitBubble=!0}),pe._data(n,\"submit\",!0))})},postDispatch:function(e){e._submitBubble&&(delete e._submitBubble,this.parentNode&&!e.isTrigger&&pe.event.simulate(\"submit\",this.parentNode,e))},teardown:function(){return!pe.nodeName(this,\"form\")&&void pe.event.remove(this,\"._submit\")}}),fe.change||(pe.event.special.change={setup:function(){return Ye.test(this.nodeName)?(\"checkbox\"!==this.type&&\"radio\"!==this.type||(pe.event.add(this,\"propertychange._change\",function(e){\"checked\"===e.originalEvent.propertyName&&(this._justChanged=!0)}),pe.event.add(this,\"click._change\",function(e){this._justChanged&&!e.isTrigger&&(this._justChanged=!1),pe.event.simulate(\"change\",this,e)})),!1):void pe.event.add(this,\"beforeactivate._change\",function(e){var t=e.target;Ye.test(t.nodeName)&&!pe._data(t,\"change\")&&(pe.event.add(t,\"change._change\",function(e){!this.parentNode||e.isSimulated||e.isTrigger||pe.event.simulate(\"change\",this.parentNode,e)}),pe._data(t,\"change\",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||\"radio\"!==t.type&&\"checkbox\"!==t.type)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return pe.event.remove(this,\"._change\"),!Ye.test(this.nodeName)}}),fe.focusin||pe.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){pe.event.simulate(t,e.target,pe.event.fix(e))};pe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=pe._data(r,t);i||r.addEventListener(e,n,!0),pe._data(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=pe._data(r,t)-1;i?pe._data(r,t,i):(r.removeEventListener(e,n,!0),pe._removeData(r,t))}}}),pe.fn.extend({on:function(e,t,n,r){return w(this,e,t,n,r)},one:function(e,t,n,r){return w(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pe(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&\"function\"!=typeof t||(n=t,t=void 0),n===!1&&(n=x),this.each(function(){pe.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){pe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return pe.event.trigger(e,t,n,!0)}});var Ze=/ jQuery\\d+=\"(?:null|\\d+)\"/g,et=new RegExp(\"<(?:\"+ze+\")[\\\\s/>]\",\"i\"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,nt=/<script|<style|<link/i,rt=/checked\\s*(?:[^=]|=\\s*.checked.)/i,it=/^true\\/(.*)/,ot=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,at=p(re),st=at.appendChild(re.createElement(\"div\"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,\"<$1></$2>\")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test(\"<\"+e.nodeName+\">\")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,\"script\"),r.length>0&&g(r,!u&&h(e,\"script\")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||\"undefined\"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,\"select\")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,\"\"):void 0;if(\"string\"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(pe.cleanData(h(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return S(this,arguments,function(t){var n=this.parentNode;pe.inArray(this,e)<0&&(pe.cleanData(h(this)),\nn&&n.replaceChild(t,this))},e)}}),pe.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){pe.fn[e]=function(e){for(var n,r=0,i=[],o=pe(e),a=o.length-1;r<=a;r++)n=r===a?this:this.clone(!0),pe(o[r])[t](n),ae.apply(i,n.get());return this.pushStack(i)}});var ut,lt={HTML:\"block\",BODY:\"block\"},ct=/^margin/,ft=new RegExp(\"^(\"+Fe+\")(?!px)[a-z%]+$\",\"i\"),dt=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},pt=re.documentElement;!function(){function t(){var t,c,f=re.documentElement;f.appendChild(u),l.style.cssText=\"-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",n=i=s=!1,r=a=!0,e.getComputedStyle&&(c=e.getComputedStyle(l),n=\"1%\"!==(c||{}).top,s=\"2px\"===(c||{}).marginLeft,i=\"4px\"===(c||{width:\"4px\"}).width,l.style.marginRight=\"50%\",r=\"4px\"===(c||{marginRight:\"4px\"}).marginRight,t=l.appendChild(re.createElement(\"div\")),t.style.cssText=l.style.cssText=\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",t.style.marginRight=t.style.width=\"0\",l.style.width=\"1px\",a=!parseFloat((e.getComputedStyle(t)||{}).marginRight),l.removeChild(t)),l.style.display=\"none\",o=0===l.getClientRects().length,o&&(l.style.display=\"\",l.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",t=l.getElementsByTagName(\"td\"),t[0].style.cssText=\"margin:0;border:0;padding:0;display:none\",o=0===t[0].offsetHeight,o&&(t[0].style.display=\"\",t[1].style.display=\"none\",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement(\"div\"),l=re.createElement(\"div\");l.style&&(l.style.cssText=\"float:left;opacity:.5\",fe.opacity=\"0.5\"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip=\"content-box\",l.cloneNode(!0).style.backgroundClip=\"\",fe.clearCloneStyle=\"content-box\"===l.style.backgroundClip,u=re.createElement(\"div\"),u.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",l.innerHTML=\"\",u.appendChild(l),fe.boxSizing=\"\"===l.style.boxSizing||\"\"===l.style.MozBoxSizing||\"\"===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,\"\"!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+\"\"}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left=\"fontSize\"===t?\"1em\":a,a=s.pixelLeft+\"px\",s.left=r,o&&(i.left=o)),void 0===a?a:a+\"\"||\"auto\"});var yt=/alpha\\([^)]*\\)/i,vt=/opacity\\s*=\\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp(\"^(\"+Fe+\")(.*)$\",\"i\"),wt={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Tt={letterSpacing:\"0\",fontWeight:\"400\"},Ct=[\"Webkit\",\"O\",\"Moz\",\"ms\"],Et=re.createElement(\"div\").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":fe.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,\"string\"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o=\"number\"),null!=n&&n===n&&(\"number\"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?\"\":\"px\")),fe.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(u[t]=\"inherit\"),!(a&&\"set\"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&\"get\"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),\"normal\"===o&&t in Tt&&(o=Tt[t]),\"\"===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each([\"height\",\"width\"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,\"display\"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&\"border-box\"===pe.css(e,\"boxSizing\",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":t?\"1\":\"\"},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?\"alpha(opacity=\"+100*t+\")\":\"\",o=r&&r.filter||n.filter||\"\";n.zoom=1,(t>=1||\"\"===t)&&\"\"===pe.trim(o.replace(yt,\"\"))&&n.removeAttribute&&(n.removeAttribute(\"filter\"),\"\"===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+\" \"+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:\"inline-block\"},gt,[e,\"marginRight\"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,\"marginLeft\"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+\"px\"}),pe.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a<i;a++)o[t[a]]=pe.css(e,t[a],!1,r);return o}return void 0!==n?pe.style(e,t,n):pe.css(e,t)},e,t,arguments.length>1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?\"\":\"px\")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,\"\"),t&&\"auto\"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=[\"*\"]):e=e.match(De);for(var n,r=0,i=e.length;r<i;r++)n=e[r],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?$.prefilters.unshift(e):$.prefilters.push(e)}}),pe.speed=function(e,t,n){var r=e&&\"object\"==typeof e?pe.extend({},e):{complete:n||!n&&t||pe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pe.isFunction(t)&&t};return r.duration=pe.fx.off?0:\"number\"==typeof r.duration?r.duration:r.duration in pe.fx.speeds?pe.fx.speeds[r.duration]:pe.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){pe.isFunction(r.old)&&r.old.call(this),r.queue&&pe.dequeue(this,r.queue)},r},pe.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Re).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=pe.isEmptyObject(e),o=pe.speed(t,n,r),a=function(){var t=$(this,pe.extend({},e),o);(i||pe._data(this,\"finish\"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,i=null!=e&&e+\"queueHooks\",o=pe.timers,a=pe._data(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&At.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||pe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||\"fx\"),this.each(function(){var t,n=pe._data(this),r=n[e+\"queue\"],i=n[e+\"queueHooks\"],o=pe.timers,a=r?r.length:0;for(n.finish=!0,pe.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),pe.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=pe.fn[t];pe.fn[t]=function(e,r,i){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(P(t,!0),e,r,i)}}),pe.each({slideDown:P(\"show\"),slideUp:P(\"hide\"),slideToggle:P(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){pe.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),pe.timers=[],pe.fx.tick=function(){var e,t=pe.timers,n=0;for(Nt=pe.now();n<t.length;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||pe.fx.stop(),Nt=void 0},pe.fx.timer=function(e){pe.timers.push(e),e()?pe.fx.start():pe.timers.pop()},pe.fx.interval=13,pe.fx.start=function(){kt||(kt=e.setInterval(pe.fx.tick,pe.fx.interval))},pe.fx.stop=function(){e.clearInterval(kt),kt=null},pe.fx.speeds={slow:600,fast:200,_default:400},pe.fn.delay=function(t,n){return t=pe.fx?pe.fx.speeds[t]||t:t,n=n||\"fx\",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e,t=re.createElement(\"input\"),n=re.createElement(\"div\"),r=re.createElement(\"select\"),i=r.appendChild(re.createElement(\"option\"));n=re.createElement(\"div\"),n.setAttribute(\"className\",\"t\"),n.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",e=n.getElementsByTagName(\"a\")[0],t.setAttribute(\"type\",\"checkbox\"),n.appendChild(t),e=n.getElementsByTagName(\"a\")[0],e.style.cssText=\"top:1px\",fe.getSetAttribute=\"t\"!==n.className,fe.style=/top/.test(e.getAttribute(\"style\")),fe.hrefNormalized=\"/a\"===e.getAttribute(\"href\"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement(\"form\").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement(\"input\"),t.setAttribute(\"value\",\"\"),fe.input=\"\"===t.getAttribute(\"value\"),t.value=\"t\",t.setAttribute(\"type\",\"radio\"),fe.radioValue=\"t\"===t.value}();var Dt=/\\r/g,jt=/[\\x20\\t\\r\\n\\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i=\"\":\"number\"==typeof i?i+=\"\":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?\"\":e+\"\"})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:(n=i.value,\"string\"==typeof n?n.replace(Dt,\"\"):null==n?\"\":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,\"value\");return null!=t?t:pe.trim(pe.text(e)).replace(jt,\" \")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o=\"select-one\"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u<s;u++)if(n=r[u],(n.selected||u===i)&&(fe.optDisabled?!n.disabled:null===n.getAttribute(\"disabled\"))&&(!n.parentNode.disabled||!pe.nodeName(n.parentNode,\"optgroup\"))){if(t=pe(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=pe.makeArray(t),a=i.length;a--;)if(r=i[a],pe.inArray(pe.valHooks.option.get(r),o)>-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each([\"radio\",\"checkbox\"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&\"radio\"===t&&pe.nodeName(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase(\"default-\"+n)]=e[r]=!1:pe.attr(e,n,\"\"),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase(\"default-\"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase(\"default-\"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,\"input\")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+=\"\",\"value\"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&\"\"!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,\"\"!==t&&t,n)}},pe.each([\"width\",\"height\"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(\"\"===n)return e.setAttribute(t,\"auto\"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+\"\"}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,\"tabindex\");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),fe.hrefNormalized||pe.each([\"href\",\"src\"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype=\"encoding\");var Pt=/[\\t\\r\\n\\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if(\"string\"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(Pt,\" \")){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");s=pe.trim(r),i!==s&&pe.attr(n,\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(\" \"+i+\" \").replace(Pt,\" \")){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");s=pe.trim(r),i!==s&&pe.attr(n,\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e;return\"boolean\"==typeof t&&\"string\"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if(\"string\"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&\"boolean\"!==n||(t=z(this),t&&pe._data(this,\"__className__\",t),pe.attr(this,\"class\",t||e===!1?\"\":pe._data(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+z(n)+\" \").replace(Pt,\" \").indexOf(t)>-1)return!0;return!1}}),pe.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\\?/,$t=/(,)|(\\[|{)|(}|])|\"(?:[^\"\\\\\\r\\n]|\\\\[\"\\\\\\/bfnrt]|\\\\u[\\da-fA-F]{4})*\"\\s*:?|true|false|null|-?(?!0\\d)\\d+(?:\\.\\d+|)(?:[eE][+-]?\\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+\"\");var n,r=null,i=pe.trim(t+\"\");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,\"\")}))?Function(\"return \"+i)():pe.error(\"Invalid JSON: \"+t)},pe.parseXML=function(t){var n,r;if(!t||\"string\"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,\"text/xml\")):(n=new e.ActiveXObject(\"Microsoft.XMLDOM\"),n.async=\"false\",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName(\"parsererror\").length||pe.error(\"Invalid XML: \"+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\\/\\//,Gt=/^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,Kt={},Qt={},Zt=\"*/\".concat(\"*\"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:\"GET\",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Zt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":pe.parseJSON,\"text xml\":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||\"\",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader(\"Last-Modified\"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader(\"etag\"),w&&(pe.etag[a]=w)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+\"\",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?\"ajaxSuccess\":\"ajaxError\",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger(\"ajaxComplete\",[T,d]),--pe.active||pe.event.trigger(\"ajaxStop\")))}\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks(\"once memory\"),y=d.statusCode||{},v={},x={},b=0,w=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+\"\").replace(zt,\"\").replace(Jt,tn[1]+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||\"*\").toLowerCase().match(De)||[\"\"],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||(\"http:\"===i[1]?\"80\":\"443\"))===(tn[3]||(\"http:\"===tn[1]?\"80\":\"443\")))),d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?\"&\":\"?\")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,\"$1_=\"+Wt++):a+(It.test(a)?\"&\":\"?\")+\"_=\"+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader(\"If-Modified-Since\",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader(\"If-None-Match\",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader(\"Content-Type\",d.contentType),T.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Zt+\"; q=0.01\":\"\"):d.accepts[\"*\"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w=\"abort\";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger(\"ajaxSend\",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort(\"timeout\")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,\"No Transport\");return T},getJSON:function(e,t,n){return pe.get(e,t,n,\"json\")},getScript:function(e,t){return pe.get(e,void 0,t,\"script\")}}),pe.each([\"get\",\"post\"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,\"throws\":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,\"body\")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\\[\\]$/,on=/\\r?\\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?\"\":t,r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join(\"&\").replace(nn,\"+\")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,\"elements\");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(\":disabled\")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,\"\\r\\n\")}}):{name:t.name,value:n.replace(on,\"\\r\\n\")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent(\"onunload\",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&\"withCredentials\"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r[\"X-Requested-With\"]||(r[\"X-Requested-With\"]=\"XMLHttpRequest\");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+\"\");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,\"string\"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=\"\"}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\",e.global=!1)}),pe.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n=re.head||pe(\"head\")[0]||re.documentElement;return{send:function(r,i){t=re.createElement(\"script\"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,\"success\"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\\?(?=&|$)|\\?\\?/;pe.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=fn.pop()||pe.expando+\"_\"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter(\"json jsonp\",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?\"url\":\"string\"==typeof t.data&&0===(t.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&dn.test(t.data)&&\"data\");if(s||\"jsonp\"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,\"$1\"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?\"&\":\"?\")+t.jsonp+\"=\"+i),t.converters[\"script json\"]=function(){return a||pe.error(i+\" was not called\"),a[0]},t.dataTypes[0]=\"json\",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),\"script\"}),pe.parseHTML=function(e,t,n){if(!e||\"string\"!=typeof e)return null;\"boolean\"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if(\"string\"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(\" \");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),a.length>0&&pe.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?pe(\"<div>\").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,\"position\"),f=pe(e),d={};\"static\"===c&&(e.style.position=\"relative\"),s=f.offset(),o=pe.css(e,\"top\"),u=pe.css(e,\"left\"),l=(\"absolute\"===c||\"fixed\"===c)&&pe.inArray(\"auto\",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),\"using\"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?(\"undefined\"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return\"fixed\"===pe.css(r,\"position\")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],\"html\")||(n=e.offset()),n.top+=pe.css(e[0],\"borderTopWidth\",!0),n.left+=pe.css(e[0],\"borderLeftWidth\",!0)),{top:t.top-n.top-pe.css(r,\"marginTop\",!0),left:t.left-n.left-pe.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){\nfor(var e=this.offsetParent;e&&!pe.nodeName(e,\"html\")&&\"static\"===pe.css(e,\"position\");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each([\"top\",\"left\"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+\"px\":n})}),pe.each({Height:\"height\",Width:\"width\"},function(e,t){pe.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||\"boolean\"!=typeof r),a=n||(r===!0||i===!0?\"margin\":\"border\");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.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)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e(\"jquery\",pe)}),pe});!function(e,t){\"use strict\";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if(\"interactive\"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:[\"&#x786E;&#x5B9A;\",\"&#x53D6;&#x6D88;\"],type:[\"dialog\",\"page\",\"iframe\",\"loading\",\"tips\"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName(\"head\")[0],s=document.createElement(\"link\");\"string\"==typeof i&&(n=i);var l=(n||t).replace(/\\.|\\//g,\"\"),f=\"layuicss-\"+l,c=0;s.rel=\"stylesheet\",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),\"function\"==typeof i&&!function u(){return++c>80?e.console&&console.error(\"layer.css: Invalid\"):void(1989===parseInt(o.getStyle(document.getElementById(f),\"width\"))?i():setTimeout(u,100))}()}}},r={v:\"3.1.1\",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||\"ActiveXObject\"in e)&&((t.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,\"string\"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss(\"modules/layer/\"+e.extend):o.link(\"theme/\"+e.extend),this):this},ready:function(e){var t=\"layer\",i=\"\",n=(a?\"modules/layer/\":\"theme/\")+\"default/layer.css?v=\"+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a=\"function\"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s=\"function\"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s=\"function\"==typeof n,f=o.config.skin,c=(f?f+\" \"+f+\"-msg\":\"\")||\"layui-layer-msg\",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+\" layui-layer-hui\",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+\" \"+(n.skin||\"layui-layer-hui\")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=[\"layui-layer\",\".layui-layer-title\",\".layui-layer-main\",\".layui-layer-dialog\",\"layui-layer-iframe\",\"layui-layer-content\",\"layui-layer-btn\",\"layui-layer-close\"];l.anim=[\"layer-anim-00\",\"layer-anim-01\",\"layer-anim-02\",\"layer-anim-03\",\"layer-anim-04\",\"layer-anim-05\",\"layer-anim-06\"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:\"&#x4FE1;&#x606F;\",offset:\"auto\",area:\"auto\",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f=\"object\"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class=\"layui-layer-title\" style=\"'+(f?r.title[1]:\"\")+'\">'+(f?r.title[0]:r.title)+\"</div>\":\"\";return r.zIndex=s,t([r.shade?'<div class=\"layui-layer-shade\" id=\"layui-layer-shade'+a+'\" times=\"'+a+'\" style=\"'+(\"z-index:\"+(s-1)+\"; \")+'\"></div>':\"\",'<div class=\"'+l[0]+(\" layui-layer-\"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?\"\":\" layui-layer-border\")+\" \"+(r.skin||\"\")+'\" id=\"'+l[0]+a+'\" type=\"'+o.type[r.type]+'\" times=\"'+a+'\" showtime=\"'+r.time+'\" conType=\"'+(e?\"object\":\"string\")+'\" style=\"z-index: '+s+\"; width:\"+r.area[0]+\";height:\"+r.area[1]+(r.fixed?\"\":\";position:absolute;\")+'\">'+(e&&2!=r.type?\"\":u)+'<div id=\"'+(r.id||\"\")+'\" class=\"layui-layer-content'+(0==r.type&&r.icon!==-1?\" layui-layer-padding\":\"\")+(3==r.type?\" layui-layer-loading\"+r.icon:\"\")+'\">'+(0==r.type&&r.icon!==-1?'<i class=\"layui-layer-ico layui-layer-ico'+r.icon+'\"></i>':\"\")+(1==r.type&&e?\"\":r.content||\"\")+'</div><span class=\"layui-layer-setwin\">'+function(){var e=c?'<a class=\"layui-layer-min\" href=\"javascript:;\"><cite></cite></a><a class=\"layui-layer-ico layui-layer-max\" href=\"javascript:;\"></a>':\"\";return r.closeBtn&&(e+='<a class=\"layui-layer-ico '+l[7]+\" \"+l[7]+(r.title?r.closeBtn:4==r.type?\"1\":\"2\")+'\" href=\"javascript:;\"></a>'),e}()+\"</span>\"+(r.btn?function(){var e=\"\";\"string\"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class=\"'+l[6]+t+'\">'+r.btn[t]+\"</a>\";return'<div class=\"'+l[6]+\" layui-layer-btn-\"+(r.btnAlign||\"\")+'\">'+e+\"</div>\"}():\"\")+(r.resize?'<span class=\"layui-layer-resize\"></span>':\"\")+\"</div>\"],u,i('<div class=\"layui-layer-move\"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f=\"object\"==typeof s,c=i(\"body\");if(!t.id||!i(\"#\"+t.id)[0]){switch(\"string\"==typeof t.area&&(t.area=\"auto\"===t.area?[\"\",\"\"]:[t.area,\"\"]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn=\"btn\"in t?t.btn:o.btn[0],r.closeAll(\"dialog\");break;case 2:var s=t.content=f?t.content:[t.content||\"http://layer.layui.com\",\"auto\"];t.content='<iframe scrolling=\"'+(t.content[1]||\"auto\")+'\" allowtransparency=\"true\" id=\"'+l[4]+a+'\" name=\"'+l[4]+a+'\" onload=\"this.className=\\'\\';\" class=\"layui-layer-load\" frameborder=\"0\" src=\"'+t.content[0]+'\"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll(\"loading\");break;case 4:f||(t.content=[t.content,\"body\"]),t.follow=t.content[1],t.content=t.content[0]+'<i class=\"layui-layer-TipsG\"></i>',delete t.title,t.tips=\"object\"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll(\"tips\")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i(\"body\").append(n[1])}():function(){s.parents(\".\"+l[0])[0]||(s.data(\"display\",s.css(\"display\")).show().addClass(\"layui-layer-wrap\").wrap(n[1]),i(\"#\"+l[0]+a).find(\".\"+l[5]).before(r))}()}():c.append(n[1]),i(\".layui-layer-move\")[0]||c.append(o.moveElem=u),e.layero=i(\"#\"+l[0]+a),t.scrollbar||l.html.css(\"overflow\",\"hidden\").attr(\"layer-full\",a)}).auto(a),i(\"#layui-layer-shade\"+e.index).css({\"background-color\":t.shade[1]||\"#000\",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find(\"iframe\").attr(\"src\",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on(\"resize\",function(){e.offset(),(/^\\d+%$/.test(t.area[0])||/^\\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u=\"layer-anim \"+l.anim[t.anim];e.layero.addClass(u).one(\"webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend\",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data(\"isOutAnim\",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i(\"#\"+l[0]+e);\"\"===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find(\".\"+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css(\"padding-top\"))))};switch(a.type){case 2:u(\"iframe\");break;default:\"\"===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u(\".\"+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u(\".\"+l[5])):u(\".\"+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o=\"object\"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):\"auto\"!==t.offset&&(\"t\"===t.offset?e.offsetTop=0:\"r\"===t.offset?e.offsetLeft=n.width()-a[0]:\"b\"===t.offset?e.offsetTop=n.height()-a[1]:\"l\"===t.offset?e.offsetLeft=0:\"lt\"===t.offset?(e.offsetTop=0,e.offsetLeft=0):\"lb\"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):\"rt\"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):\"rb\"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr(\"minLeft\")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css(\"left\")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i(\"body\"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(\".layui-layer-TipsG\"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:\"auto\"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass(\"layui-layer-TipsB\").addClass(\"layui-layer-TipsT\").css(\"border-right-color\",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass(\"layui-layer-TipsL\").addClass(\"layui-layer-TipsR\").css(\"border-bottom-color\",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass(\"layui-layer-TipsT\").addClass(\"layui-layer-TipsB\").css(\"border-right-color\",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass(\"layui-layer-TipsR\").addClass(\"layui-layer-TipsL\").css(\"border-bottom-color\",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find(\".\"+l[5]).css({\"background-color\":t.tips[1],\"padding-right\":t.closeBtn?\"30px\":\"\"}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(\".layui-layer-resize\"),c={};return t.move&&l.css(\"cursor\",\"move\"),l.on(\"mousedown\",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css(\"left\")),e.clientY-parseFloat(s.css(\"top\"))],o.moveElem.css(\"cursor\",\"move\").show())}),f.on(\"mousedown\",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css(\"cursor\",\"se-resize\").show()}),a.on(\"mousemove\",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l=\"fixed\"===s.css(\"position\");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on(\"mouseup\",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find(\"iframe\").on(\"load\",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find(\".\"+l[6]).children(\"a\").on(\"click\",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a[\"btn\"+(e+1)]&&a[\"btn\"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find(\".\"+l[7]).on(\"click\",e),a.shadeClose&&i(\"#layui-layer-shade\"+t.index).on(\"click\",function(){r.close(t.index)}),n.find(\".layui-layer-min\").on(\"click\",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(\".layui-layer-max\").on(\"click\",function(){i(this).hasClass(\"layui-layer-maxmin\")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i(\"select\"),function(e,t){var n=i(this);n.parents(\".\"+l[0])[0]||1==n.attr(\"layer\")&&i(\".\"+l[0]).length<1&&n.removeAttr(\"layer\").show(),n=null})},s.pt.IE6=function(e){i(\"select\").each(function(e,t){var n=i(this);n.parents(\".\"+l[0])[0]||\"none\"===n.css(\"display\")||n.attr({layer:\"1\"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css(\"z-index\",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on(\"mousedown\",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css(\"margin-left\"))];e.find(\".layui-layer-max\").addClass(\"layui-layer-maxmin\"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr(\"layer-full\")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty(\"overflow\"):l.html[0].style.removeAttribute(\"overflow\"),l.html.removeAttr(\"layer-full\"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i(\".\"+l[4]).attr(\"times\"),i(\"#\"+l[0]+t).find(\"iframe\").contents().find(e)},r.getFrameIndex=function(e){return i(\"#\"+e).parents(\".\"+l[4]).attr(\"times\")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame(\"html\",e).outerHeight(),n=i(\"#\"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find(\".\"+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find(\"iframe\").css({height:t})}},r.iframeSrc=function(e,t){i(\"#\"+l[0]+e).find(\"iframe\").attr(\"src\",t)},r.style=function(e,t,n){var a=i(\"#\"+l[0]+e),r=a.find(\".layui-layer-content\"),s=a.attr(\"type\"),f=a.find(l[1]).outerHeight()||0,c=a.find(\".\"+l[6]).outerHeight()||0;a.attr(\"minLeft\");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find(\".\"+l[6]).outerHeight(),s===o.type[2]?a.find(\"iframe\").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css(\"padding-top\"))-parseFloat(r.css(\"padding-bottom\"))}))},r.min=function(e,t){var a=i(\"#\"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr(\"minLeft\")||181*o.minIndex+\"px\",c=a.css(\"position\");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr(\"position\",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:\"fixed\",overflow:\"hidden\"},!0),a.find(\".layui-layer-min\").hide(),\"page\"===a.attr(\"type\")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr(\"minLeft\")||o.minIndex++,a.attr(\"minLeft\",f)},r.restore=function(e){var t=i(\"#\"+l[0]+e),n=t.attr(\"area\").split(\",\");t.attr(\"type\");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr(\"position\"),overflow:\"visible\"},!0),t.find(\".layui-layer-max\").removeClass(\"layui-layer-maxmin\"),t.find(\".layui-layer-min\").show(),\"page\"===t.attr(\"type\")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i(\"#\"+l[0]+e);o.record(a),l.html.attr(\"layer-full\")||l.html.css(\"overflow\",\"hidden\").attr(\"layer-full\",e),clearTimeout(t),t=setTimeout(function(){var t=\"fixed\"===a.css(\"position\");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(\".layui-layer-min\").hide()},100)},r.title=function(e,t){var n=i(\"#\"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i(\"#\"+l[0]+e),n=t.attr(\"type\"),a=\"layer-anim-close\";if(t[0]){var s=\"layui-layer-wrap\",f=function(){if(n===o.type[1]&&\"object\"===t.attr(\"conType\")){t.children(\":not(.\"+l[5]+\")\").remove();for(var a=t.find(\".\"+s),r=0;r<2;r++)a.unwrap();a.css(\"display\",a.data(\"display\")).removeClass(s)}else{if(n===o.type[2])try{var f=i(\"#\"+l[4]+e)[0];f.contentWindow.document.write(\"\"),f.contentWindow.close(),t.find(\".\"+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML=\"\",t.remove()}\"function\"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data(\"isOutAnim\")&&t.addClass(\"layer-anim \"+a),i(\"#layui-layer-moves, #layui-layer-shade\"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr(\"minLeft\")&&(o.minIndex--,o.minLeft.push(t.attr(\"minLeft\"))),r.ie&&r.ie<10||!t.data(\"isOutAnim\")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i(\".\"+l[0]),function(){var t=i(this),n=e?t.attr(\"type\")===e:1;n&&r.close(t.attr(\"times\")),n=null})};var f=r.cache||{},c=function(e){return f.skin?\" \"+f.skin+\" \"+f.skin+\"-\"+e:\"\"};r.prompt=function(e,t){var a=\"\";if(e=e||{},\"function\"==typeof e&&(t=e),e.area){var o=e.area;a='style=\"width: '+o[0]+\"; height: \"+o[1]+';\"',delete e.area}var s,l=2==e.formType?'<textarea class=\"layui-layer-input\"'+a+\"></textarea>\":function(){return'<input type=\"'+(1==e.formType?\"password\":\"text\")+'\" class=\"layui-layer-input\">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:[\"&#x786E;&#x5B9A;\",\"&#x53D6;&#x6D88;\"],content:l,skin:\"layui-layer-prompt\"+c(\"prompt\"),maxWidth:n.width(),success:function(t){s=t.find(\".layui-layer-input\"),s.val(e.value||\"\").focus(),\"function\"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();\"\"===n?s.focus():n.length>(e.maxlength||500)?r.tips(\"&#x6700;&#x591A;&#x8F93;&#x5165;\"+(e.maxlength||500)+\"&#x4E2A;&#x5B57;&#x6570;\",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n=\"layui-this\",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:\"layui-layer-tab\"+c(\"tab\"),resize:!1,title:function(){var e=t.length,i=1,a=\"\";if(e>0)for(a='<span class=\"'+n+'\">'+t[0].title+\"</span>\";i<e;i++)a+=\"<span>\"+t[i].title+\"</span>\";return a}(),content:'<ul class=\"layui-layer-tabmain\">'+function(){var e=t.length,i=1,a=\"\";if(e>0)for(a='<li class=\"layui-layer-tabli '+n+'\">'+(t[0].content||\"no content\")+\"</li>\";i<e;i++)a+='<li class=\"layui-layer-tabli\">'+(t[i].content||\"no  content\")+\"</li>\";return a}()+\"</ul>\",success:function(t){var o=t.find(\".layui-layer-title\").children(),r=t.find(\".layui-layer-tabmain\").children();o.on(\"mousedown\",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),\"function\"==typeof e.change&&e.change(o)}),\"function\"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||\"img\";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg(\"&#x6CA1;&#x6709;&#x56FE;&#x7247;\")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr(\"layer-index\",e),u.push({alt:t.attr(\"alt\"),pid:t.attr(\"layer-pid\"),src:t.attr(\"layer-src\")||t.attr(\"src\"),thumb:t.attr(\"src\")})})};if(h(),0===u.length)return;if(n||p.on(\"click\",t.img,function(){var e=i(this),n=e.attr(\"layer-index\");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(\".layui-layer-imgprev\").on(\"click\",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(\".layui-layer-imgnext\").on(\"click\",function(e){e.preventDefault(),s.imgnext()}),i(document).on(\"keyup\",s.keyup)},s.loadi=r.load(1,{shade:!(\"shade\"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:\"layui-layer-photos\",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+\"px\",a[1]+\"px\"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:\".layui-layer-phimg img\",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:\"layui-layer-photos\"+c(\"photos\"),content:'<div class=\"layui-layer-phimg\"><img src=\"'+u[d].src+'\" alt=\"'+(u[d].alt||\"\")+'\" layer-pid=\"'+u[d].pid+'\"><div class=\"layui-layer-imgsee\">'+(u.length>1?'<span class=\"layui-layer-imguide\"><a href=\"javascript:;\" class=\"layui-layer-iconext layui-layer-imgprev\"></a><a href=\"javascript:;\" class=\"layui-layer-iconext layui-layer-imgnext\"></a></span>':\"\")+'<div class=\"layui-layer-imgbar\" style=\"display:'+(a?\"block\":\"\")+'\"><span class=\"layui-layer-imgtit\"><a href=\"javascript:;\">'+(u[d].alt||\"\")+\"</a><em>\"+s.imgIndex+\"/\"+u.length+\"</em></span></div></div></div>\",success:function(e,i){s.bigimg=e.find(\".layui-layer-phimg\"),s.imgsee=e.find(\".layui-layer-imguide,.layui-layer-imgbar\"),s.event(e),t.tab&&t.tab(u[d],e),\"function\"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off(\"keyup\",s.keyup)}},t))},function(){r.close(s.loadi),r.msg(\"&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;\",{time:3e4,btn:[\"&#x4E0B;&#x4E00;&#x5F20;\",\"&#x4E0D;&#x770B;&#x4E86;\"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i(\"html\"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define(\"jquery\",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t(\"layer\",r)})):\"function\"==typeof define&&define.amd?define([\"jquery\"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);layui.define(\"jquery\",function(i){\"use strict\";var t=layui.$,a=(layui.hint(),layui.device()),e=\"element\",l=\"layui-this\",n=\"layui-show\",s=function(){this.config={}};s.prototype.set=function(i){var a=this;return t.extend(!0,a.config,i),a},s.prototype.on=function(i,t){return layui.onevent.call(this,e,i,t)},s.prototype.tabAdd=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.children(\".layui-tab-bar\"),o=l.children(\".layui-tab-content\"),c='<li lay-id=\"'+(a.id||\"\")+'\">'+(a.title||\"unnaming\")+\"</li>\";return s[0]?s.before(c):n.append(c),o.append('<div class=\"layui-tab-item\">'+(a.content||\"\")+\"</div>\"),y.hideTabMore(!0),y.tabAuto(),this},s.prototype.tabDelete=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.find('>li[lay-id=\"'+a+'\"]');return y.tabDelete(null,s),this},s.prototype.tabChange=function(i,a){var e=\".layui-tab-title\",l=t(\".layui-tab[lay-filter=\"+i+\"]\"),n=l.children(e),s=n.find('>li[lay-id=\"'+a+'\"]');return y.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(i){i=i||{},v.on(\"click\",i.headerElem,function(a){var e=t(this).index();y.tabClick.call(this,a,e,null,i)})},s.prototype.progress=function(i,a){var e=\"layui-progress\",l=t(\".\"+e+\"[lay-filter=\"+i+\"]\"),n=l.find(\".\"+e+\"-bar\"),s=n.find(\".\"+e+\"-text\");return n.css(\"width\",a),s.text(a),this};var o=\".layui-nav\",c=\"layui-nav-item\",r=\"layui-nav-bar\",u=\"layui-nav-tree\",d=\"layui-nav-child\",h=\"layui-nav-more\",f=\"layui-anim layui-anim-upbit\",y={tabClick:function(i,a,s,o){o=o||{};var c=s||t(this),a=a||c.parent().children(\"li\").index(c),r=o.headerElem?c.parent():c.parents(\".layui-tab\").eq(0),u=o.bodyElem?t(o.bodyElem):r.children(\".layui-tab-content\").children(\".layui-tab-item\"),d=c.find(\"a\"),h=r.attr(\"lay-filter\");\"javascript:;\"!==d.attr(\"href\")&&\"_blank\"===d.attr(\"target\")||(c.addClass(l).siblings().removeClass(l),u.eq(a).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,\"tab(\"+h+\")\",{elem:r,index:a})},tabDelete:function(i,a){var n=a||t(this).parent(),s=n.index(),o=n.parents(\".layui-tab\").eq(0),c=o.children(\".layui-tab-content\").children(\".layui-tab-item\"),r=o.attr(\"lay-filter\");n.hasClass(l)&&(n.next()[0]?y.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&y.tabClick.call(n.prev()[0],null,s-1)),n.remove(),c.eq(s).remove(),setTimeout(function(){y.tabAuto()},50),layui.event.call(this,e,\"tabDelete(\"+r+\")\",{elem:o,index:s})},tabAuto:function(){var i=\"layui-tab-more\",e=\"layui-tab-bar\",l=\"layui-tab-close\",n=this;t(\".layui-tab\").each(function(){var s=t(this),o=s.children(\".layui-tab-title\"),c=(s.children(\".layui-tab-content\").children(\".layui-tab-item\"),'lay-stope=\"tabmore\"'),r=t('<span class=\"layui-unselect layui-tab-bar\" '+c+\"><i \"+c+' class=\"layui-icon\">&#xe61a;</i></span>');if(n===window&&8!=a.ie&&y.hideTabMore(!0),s.attr(\"lay-allowClose\")&&o.find(\"li\").each(function(){var i=t(this);if(!i.find(\".\"+l)[0]){var a=t('<i class=\"layui-icon layui-unselect '+l+'\">&#x1006;</i>');a.on(\"click\",y.tabDelete),i.append(a)}}),o.prop(\"scrollWidth\")>o.outerWidth()+1){if(o.find(\".\"+e)[0])return;o.append(r),s.attr(\"overflow\",\"\"),r.on(\"click\",function(t){o[this.title?\"removeClass\":\"addClass\"](i),this.title=this.title?\"\":\"收缩\"})}else o.find(\".\"+e).remove(),s.removeAttr(\"overflow\")})},hideTabMore:function(i){var a=t(\".layui-tab-title\");i!==!0&&\"tabmore\"===t(i.target).attr(\"lay-stope\")||(a.removeClass(\"layui-tab-more\"),a.find(\".layui-tab-bar\").attr(\"title\",\"\"))},clickThis:function(){var i=t(this),a=i.parents(o),n=a.attr(\"lay-filter\"),s=i.find(\"a\"),c=\"string\"==typeof i.attr(\"lay-unselect\");i.find(\".\"+d)[0]||(\"javascript:;\"!==s.attr(\"href\")&&\"_blank\"===s.attr(\"target\")||c||(a.find(\".\"+l).removeClass(l),i.addClass(l)),layui.event.call(this,e,\"nav(\"+n+\")\",i))},clickChild:function(){var i=t(this),a=i.parents(o),n=a.attr(\"lay-filter\");a.find(\".\"+l).removeClass(l),i.addClass(l),layui.event.call(this,e,\"nav(\"+n+\")\",i)},showChild:function(){var i=t(this),a=i.parents(o),e=i.parent(),l=i.siblings(\".\"+d);a.hasClass(u)&&(l.removeClass(f),e[\"none\"===l.css(\"display\")?\"addClass\":\"removeClass\"](c+\"ed\"))},collapse:function(){var i=t(this),a=i.find(\".layui-colla-icon\"),l=i.siblings(\".layui-colla-content\"),s=i.parents(\".layui-collapse\").eq(0),o=s.attr(\"lay-filter\"),c=\"none\"===l.css(\"display\");if(\"string\"==typeof s.attr(\"lay-accordion\")){var r=s.children(\".layui-colla-item\").children(\".\"+n);r.siblings(\".layui-colla-title\").children(\".layui-colla-icon\").html(\"&#xe602;\"),r.removeClass(n)}l[c?\"addClass\":\"removeClass\"](n),a.html(c?\"&#xe61a;\":\"&#xe602;\"),layui.event.call(this,e,\"collapse(\"+o+\")\",{title:i,content:l,show:c})}};s.prototype.init=function(i,e){var l=function(){return e?'[lay-filter=\"'+e+'\"]':\"\"}(),s={tab:function(){y.tabAuto.call({})},nav:function(){var i=200,e={},s={},p={},v=function(l,o,c){var r=t(this),y=r.find(\".\"+d);o.hasClass(u)?l.css({top:r.position().top,height:r.children(\"a\").height(),opacity:1}):(y.addClass(f),l.css({left:r.position().left+parseFloat(r.css(\"marginLeft\")),top:r.position().top+r.height()-l.height()}),e[c]=setTimeout(function(){l.css({width:r.width(),opacity:1})},a.ie&&a.ie<10?0:i),clearTimeout(p[c]),\"block\"===y.css(\"display\")&&clearTimeout(s[c]),s[c]=setTimeout(function(){y.addClass(n),r.find(\".\"+h).addClass(h+\"d\")},300))};t(o+l).each(function(a){var l=t(this),o=t('<span class=\"'+r+'\"></span>'),f=l.find(\".\"+c);l.find(\".\"+r)[0]||(l.append(o),f.on(\"mouseenter\",function(){v.call(this,o,l,a)}).on(\"mouseleave\",function(){l.hasClass(u)||(clearTimeout(s[a]),s[a]=setTimeout(function(){l.find(\".\"+d).removeClass(n),l.find(\".\"+h).removeClass(h+\"d\")},300))}),l.on(\"mouseleave\",function(){clearTimeout(e[a]),p[a]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},i)})),f.each(function(){var i=t(this),a=i.find(\".\"+d);if(a[0]&&!i.find(\".\"+h)[0]){var e=i.children(\"a\");e.append('<span class=\"'+h+'\"></span>')}i.off(\"click\",y.clickThis).on(\"click\",y.clickThis),i.children(\"a\").off(\"click\",y.showChild).on(\"click\",y.showChild),a.children(\"dd\").off(\"click\",y.clickChild).on(\"click\",y.clickChild)})})},breadcrumb:function(){var i=\".layui-breadcrumb\";t(i+l).each(function(){var i=t(this),a=\"lay-separator\",e=i.attr(a)||\"/\",l=i.find(\"a\");l.next(\"span[\"+a+\"]\")[0]||(l.each(function(i){i!==l.length-1&&t(this).after(\"<span \"+a+\">\"+e+\"</span>\")}),i.css(\"visibility\",\"visible\"))})},progress:function(){var i=\"layui-progress\";t(\".\"+i+l).each(function(){var a=t(this),e=a.find(\".layui-progress-bar\"),l=e.attr(\"lay-percent\");e.css(\"width\",function(){return/^.+\\/.+$/.test(l)?100*new Function(\"return \"+l)()+\"%\":l}()),a.attr(\"lay-showPercent\")&&setTimeout(function(){e.html('<span class=\"'+i+'-text\">'+l+\"</span>\")},350)})},collapse:function(){var i=\"layui-collapse\";t(\".\"+i+l).each(function(){var i=t(this).find(\".layui-colla-item\");i.each(function(){var i=t(this),a=i.find(\".layui-colla-title\"),e=i.find(\".layui-colla-content\"),l=\"none\"===e.css(\"display\");a.find(\".layui-colla-icon\").remove(),a.append('<i class=\"layui-icon layui-colla-icon\">'+(l?\"&#xe602;\":\"&#xe61a;\")+\"</i>\"),a.off(\"click\",y.collapse).on(\"click\",y.collapse)})})}};return s[i]?s[i]():layui.each(s,function(i,t){t()})},s.prototype.render=s.prototype.init;var p=new s,v=t(document);p.render();var b=\".layui-tab-title li\";v.on(\"click\",b,y.tabClick),v.on(\"click\",y.hideTabMore),t(window).on(\"resize\",y.tabAuto),i(e,p)});layui.define(\"layer\",function(e){\"use strict\";var i=layui.$,t=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,r,e,i)}},l=function(){var e=this;return{upload:function(i){e.upload.call(e,i)},config:e.config}},r=\"upload\",u=\"layui-upload-file\",c=\"layui-upload-form\",f=\"layui-upload-iframe\",s=\"layui-upload-choose\",p=function(e){var t=this;t.config=i.extend({},t.config,o.config,e),t.render()};p.prototype.config={accept:\"images\",exts:\"\",auto:!0,bindAction:\"\",url:\"\",field:\"file\",method:\"post\",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var t=this,e=t.config;e.elem=i(e.elem),e.bindAction=i(e.bindAction),t.file(),t.events()},p.prototype.file=function(){var e=this,t=e.config,n=e.elemFile=i(['<input class=\"'+u+'\" type=\"file\" name=\"'+t.field+'\"',t.multiple?\" multiple\":\"\",\">\"].join(\"\")),o=t.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&t.elem.wrap('<div class=\"layui-upload-wrap\"></div>'),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,t=e.config,n=i('<iframe id=\"'+f+'\" class=\"'+f+'\" name=\"'+f+'\" frameborder=\"0\"></iframe>'),a=i(['<form target=\"'+f+'\" class=\"'+c+'\" method=\"'+t.method,'\" key=\"set-mine\" enctype=\"multipart/form-data\" action=\"'+t.url+'\">',\"</form>\"].join(\"\"));i(\"#\"+f)[0]||i(\"body\").append(n),t.elem.next().hasClass(f)||(e.elemFile.wrap(a),t.elem.next(\".\"+f).append(function(){var e=[];return layui.each(t.data,function(i,t){e.push('<input type=\"hidden\" name=\"'+i+'\" value=\"'+t+'\">')}),e.join(\"\")}()))},p.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return\"input\"===e.tagName.toLocaleLowerCase()&&\"file\"===e.type},p.prototype.preview=function(e){var i=this;window.FileReader&&layui.each(i.chooseFiles,function(i,t){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){e&&e(i,t,this.result)}})},p.prototype.upload=function(e,t){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var t=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&t+n===o.fileLength&&\"function\"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:t,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,i){r.append(e,i)}),i.ajax({url:l.url,type:l.method,data:r,contentType:!1,processData:!1,dataType:\"json\",success:function(i){t++,d(e,i),u()},error:function(){n++,o.msg(\"请求上传接口出现异常\"),m(e),u()}})})},c=function(){var e=i(\"#\"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var i,t=e.contents().find(\"body\");try{i=t.text()}catch(n){o.msg(\"获取上传后的响应信息出现异常\"),clearInterval(p.timer),m()}i&&(clearInterval(p.timer),t.html(\"\"),d(0,i))},30)},d=function(e,i){if(o.elemFile.next(\".\"+s).remove(),r.value=\"\",\"object\"!=typeof i)try{i=JSON.parse(i)}catch(t){return i={},o.msg(\"请对上传接口返回有效JSON\")}\"function\"==typeof l.done&&l.done(i,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=\"\"),\"function\"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var i=[];return layui.each(e||o.chooseFiles,function(e,t){i.push(t.name)}),i}(),g={preview:function(e){o.preview(e)},upload:function(e,i){var t={};t[e]=i,o.upload(t)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,i){o.files[e]=i}),o.files}},y=function(){return\"choose\"===t?l.choose&&l.choose(g):(l.before&&l.before(g),a.ie?a.ie>9?u():c():void u())};if(v=0===v.length?r.value.match(/[^\\/\\\\]+\\..+/g)||[]||\"\":v,0!==v.length){switch(l.accept){case\"file\":if(h&&!RegExp(\"\\\\w\\\\.(\"+h+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的文件中包含不支持的格式\"),r.value=\"\";break;case\"video\":if(!RegExp(\"\\\\w\\\\.(\"+(h||\"avi|mp4|wma|rmvb|rm|flash|3gp|flv\")+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的视频中包含不支持的格式\"),r.value=\"\";break;case\"audio\":if(!RegExp(\"\\\\w\\\\.(\"+(h||\"mp3|wav|mid\")+\")$\",\"i\").test(escape(v)))return o.msg(\"选择的音频中包含不支持的格式\"),r.value=\"\";break;default:if(layui.each(v,function(e,i){RegExp(\"\\\\w\\\\.(\"+(h||\"jpg|png|gif|bmp|jpeg$\")+\")\",\"i\").test(escape(i))||(n=!0)}),n)return o.msg(\"选择的图片中包含不支持的格式\"),r.value=\"\"}if(o.fileLength=function(){var i=0,t=e||o.files||o.chooseFiles||r.files;return layui.each(t,function(){i++}),i}(),l.number&&o.fileLength>l.number)return o.msg(\"同时最多只能上传的数量为：\"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,i){if(i.size>1024*l.size){var t=l.size/1024;t=t>=1?Math.floor(t)+(t%1>0?t.toFixed(1):0)+\"MB\":l.size+\"KB\",r.value=\"\",F=t}}),F)return o.msg(\"文件不能超过\"+F)}y()}},p.prototype.events=function(){var e=this,t=e.config,o=function(i){e.chooseFiles={},layui.each(i,function(i,t){var n=(new Date).getTime();e.chooseFiles[n+\"-\"+i]=t})},l=function(i,n){var a=e.elemFile,o=i.length>1?i.length+\"个文件\":(i[0]||{}).name||a[0].value.match(/[^\\/\\\\]+\\..+/g)||[]||\"\";a.next().hasClass(s)&&a.next().remove(),e.upload(null,\"choose\"),e.isFile()||t.choose||a.after('<span class=\"layui-inline '+s+'\">'+o+\"</span>\")};t.elem.off(\"upload.start\").on(\"upload.start\",function(){var a=i(this),o=a.attr(\"lay-data\");if(o)try{o=new Function(\"return \"+o)(),e.config=i.extend({},t,o)}catch(l){n.error(\"Upload element property lay-data configuration item has a syntax error: \"+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||t.elem.off(\"upload.over\").on(\"upload.over\",function(){var e=i(this);e.attr(\"lay-over\",\"\")}).off(\"upload.leave\").on(\"upload.leave\",function(){var e=i(this);e.removeAttr(\"lay-over\")}).off(\"upload.drop\").on(\"upload.drop\",function(n,a){var r=i(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr(\"lay-over\"),o(u),t.auto?e.upload(u):l(u)}),e.elemFile.off(\"upload.change\").on(\"upload.change\",function(){var i=this.files||[];o(i),t.auto?e.upload():l(i)}),t.bindAction.off(\"upload.action\").on(\"upload.action\",function(){e.upload()}),t.elem.data(\"haveEvents\")||(e.elemFile.on(\"change\",function(){i(this).trigger(\"upload.change\")}),t.elem.on(\"click\",function(){e.isFile()||i(this).trigger(\"upload.start\")}),t.drag&&t.elem.on(\"dragover\",function(e){e.preventDefault(),i(this).trigger(\"upload.over\")}).on(\"dragleave\",function(e){i(this).trigger(\"upload.leave\")}).on(\"drop\",function(e){e.preventDefault(),i(this).trigger(\"upload.drop\",e)}),t.bindAction.on(\"click\",function(){i(this).trigger(\"upload.action\")}),t.elem.data(\"haveEvents\",!0))},o.render=function(e){var i=new p(e);return l.call(i)},e(r,o)});layui.define(\"layer\",function(e){\"use strict\";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l=\"form\",r=\".layui-form\",s=\"layui-this\",o=\"layui-hide\",u=\"layui-disabled\",c=function(){this.config={verify:{required:[/[\\S]+/,\"必填项不能为空\"],phone:[/^1\\d{10}$/,\"请输入正确的手机号\"],email:[/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/,\"邮箱格式不正确\"],url:[/(^#)|(^http(s*):\\/\\/[^\\s]+\\.[^\\s]+)/,\"链接格式不正确\"],number:function(e){if(!e||isNaN(e))return\"只能填写数字\"},date:[/^(\\d{4})[-\\/](\\d{1}|0\\d{1}|1[0-2])([-\\/](\\d{1}|0\\d{1}|[1-2][0-9]|3[0-1]))*$/,\"日期格式不正确\"],identity:[/(^\\d{15}$)|(^\\d{17}(x|X|\\d)$)/,\"请输入正确的身份证号\"]}}};c.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},c.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},c.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},c.prototype.render=function(e,i){var n=this,c=t(r+function(){return i?'[lay-filter=\"'+i+'\"]':\"\"}()),d={select:function(){var e,i=\"请选择\",a=\"layui-form-select\",n=\"layui-select-title\",r=\"layui-select-none\",d=\"\",f=c.find(\"select\"),y=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t(\".\"+a).removeClass(a+\"ed \"+a+\"up\"),e&&d&&e.val(d)),e=null},h=function(i,c,f){var h=t(this),p=i.find(\".\"+n),m=p.find(\"input\"),k=i.find(\"dl\"),g=k.children(\"dd\");if(!c){var x=function(){var e=i.offset().top+i.outerHeight()+5-v.scrollTop(),t=k.outerHeight();i.addClass(a+\"ed\"),g.removeClass(o),e+t>v.height()&&e>=t&&i.addClass(a+\"up\")},b=function(e){i.removeClass(a+\"ed \"+a+\"up\"),m.blur(),e||C(m.val(),function(e){e&&(d=k.find(\".\"+s).html(),m&&m.val(d))})};p.on(\"click\",function(e){i.hasClass(a+\"ed\")?b():(y(e,!0),x()),k.find(\".\"+r).remove()}),p.find(\".layui-edge\").on(\"click\",function(){m.focus()}),m.on(\"keyup\",function(e){var t=e.keyCode;9===t&&x()}).on(\"keydown\",function(e){var t=e.keyCode;9===t?b():13===t&&e.preventDefault()});var C=function(e,i,a){var n=0;layui.each(g,function(){var i=t(this),l=i.text(),r=l.indexOf(e)===-1;(\"\"===e||\"blur\"===a?e!==l:r)&&n++,\"keyup\"===a&&i[r?\"addClass\":\"removeClass\"](o)});var l=n===g.length;return i(l),l},w=function(e){var t=this.value,i=e.keyCode;return 9!==i&&13!==i&&37!==i&&38!==i&&39!==i&&40!==i&&(C(t,function(e){e?k.find(\".\"+r)[0]||k.append('<p class=\"'+r+'\">无匹配项</p>'):k.find(\".\"+r).remove()},\"keyup\"),void(\"\"===t&&k.find(\".\"+r).remove()))};f&&m.on(\"keyup\",w).on(\"blur\",function(t){e=m,d=k.find(\".\"+s).html(),setTimeout(function(){C(m.val(),function(e){d||m.val(\"\")},\"blur\")},200)}),g.on(\"click\",function(){var e=t(this),a=e.attr(\"lay-value\"),n=h.attr(\"lay-filter\");return!e.hasClass(u)&&(e.hasClass(\"layui-select-tips\")?m.val(\"\"):(m.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),h.val(a).removeClass(\"layui-form-danger\"),layui.event.call(this,l,\"select(\"+n+\")\",{elem:h[0],value:a,othis:i}),b(!0),!1)}),i.find(\"dl>dt\").on(\"click\",function(e){return!1}),t(document).off(\"click\",y).on(\"click\",y)}};f.each(function(e,l){var r=t(this),o=r.next(\".\"+a),c=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),y=l.options[0];if(\"string\"==typeof r.attr(\"lay-ignore\"))return r.show();var v=\"string\"==typeof r.attr(\"lay-search\"),p=y?y.value?i:y.innerHTML||i:i,m=t(['<div class=\"'+(v?\"\":\"layui-unselect \")+a+(c?\" layui-select-disabled\":\"\")+'\">','<div class=\"'+n+'\"><input type=\"text\" placeholder=\"'+p+'\" value=\"'+(d?f.html():\"\")+'\" '+(v?\"\":\"readonly\")+' class=\"layui-input'+(v?\"\":\" layui-unselect\")+(c?\" \"+u:\"\")+'\">','<i class=\"layui-edge\"></i></div>','<dl class=\"layui-anim layui-anim-upbit'+(r.find(\"optgroup\")[0]?\" layui-select-group\":\"\")+'\">'+function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?\"optgroup\"===a.tagName.toLowerCase()?t.push(\"<dt>\"+a.label+\"</dt>\"):t.push('<dd lay-value=\"'+a.value+'\" class=\"'+(d===a.value?s:\"\")+(a.disabled?\" \"+u:\"\")+'\">'+a.innerHTML+\"</dd>\"):t.push('<dd lay-value=\"\" class=\"layui-select-tips\">'+(a.innerHTML||i)+\"</dd>\")}),0===t.length&&t.push('<dd lay-value=\"\" class=\"'+u+'\">没有选项</dd>'),t.join(\"\")}(r.find(\"*\"))+\"</dl>\",\"</div>\"].join(\"\"));o[0]&&o.remove(),r.after(m),h.call(this,m,c,v)})},checkbox:function(){var e={checkbox:[\"layui-form-checkbox\",\"layui-form-checked\",\"checkbox\"],_switch:[\"layui-form-switch\",\"layui-form-onswitch\",\"switch\"]},i=c.find(\"input[type=checkbox]\"),a=function(e,i){var a=t(this);e.on(\"click\",function(){var t=a.attr(\"lay-filter\"),n=(a.attr(\"lay-text\")||\"\").split(\"|\");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find(\"em\").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find(\"em\").text(n[0])),layui.event.call(a[0],l,i[2]+\"(\"+t+\")\",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr(\"lay-skin\"),s=(l.attr(\"lay-text\")||\"\").split(\"|\"),o=this.disabled;\"switch\"===r&&(r=\"_\"+r);var c=e[r]||e.checkbox;if(\"string\"==typeof l.attr(\"lay-ignore\"))return l.show();var d=l.next(\".\"+c[0]),f=t(['<div class=\"layui-unselect '+c[0]+(n.checked?\" \"+c[1]:\"\")+(o?\" layui-checkbox-disbaled \"+u:\"\")+'\" lay-skin=\"'+(r||\"\")+'\">',{_switch:\"<em>\"+((n.checked?s[0]:s[1])||\"\")+\"</em><i></i>\"}[r]||(n.title.replace(/\\s/g,\"\")?\"<span>\"+n.title+\"</span>\":\"\")+'<i class=\"layui-icon\">'+(r?\"&#xe605;\":\"&#xe618;\")+\"</i>\",\"</div>\"].join(\"\"));d[0]&&d.remove(),l.after(f),a.call(this,f,c)})},radio:function(){var e=\"layui-form-radio\",i=[\"&#xe643;\",\"&#xe63f;\"],a=c.find(\"input[type=radio]\"),n=function(a){var n=t(this),s=\"layui-anim-scaleSpring\";a.on(\"click\",function(){var o=n[0].name,u=n.parents(r),c=n.attr(\"lay-filter\"),d=u.find(\"input[name=\"+o.replace(/(\\.|#|\\[|\\])/g,\"\\\\$1\")+\"]\");n[0].disabled||(layui.each(d,function(){var a=t(this).next(\".\"+e);this.checked=!1,a.removeClass(e+\"ed\"),a.find(\".layui-icon\").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+\"ed\"),a.find(\".layui-icon\").addClass(s).html(i[0]),layui.event.call(n[0],l,\"radio(\"+c+\")\",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next(\".\"+e),o=this.disabled;if(\"string\"==typeof r.attr(\"lay-ignore\"))return r.show();s[0]&&s.remove();var c=t(['<div class=\"layui-unselect '+e+(l.checked?\" \"+e+\"ed\":\"\")+(o?\" layui-radio-disbaled \"+u:\"\")+'\">','<i class=\"layui-anim layui-icon\">'+i[l.checked?0:1]+\"</i>\",\"<div>\"+function(){var e=l.title||\"\";return\"string\"==typeof r.next().attr(\"lay-radio\")&&(e=r.next().html(),r.next().remove()),e}()+\"</div>\",\"</div>\"].join(\"\"));r.after(c),n.call(this,c)})}};return e?d[e]?d[e]():a.error(\"不支持的\"+e+\"表单渲染\"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o=\"layui-form-danger\",u={},c=e.parents(r),d=c.find(\"*[lay-verify]\"),y=e.parents(\"form\")[0],v=c.find(\"input,select,textarea\"),h=e.attr(\"lay-filter\");if(layui.each(d,function(e,l){var r=t(this),u=r.attr(\"lay-verify\").split(\"|\"),c=r.attr(\"lay-verType\"),d=r.val();if(r.removeClass(o),layui.each(u,function(e,t){var u,f=\"\",y=\"function\"==typeof a[t];if(a[t]){var u=y?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],u)return\"tips\"===c?i.tips(f,function(){return\"string\"==typeof r.attr(\"lay-ignore\")||\"select\"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):\"alert\"===c?i.alert(f,{title:\"提示\",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||l.focus(),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(v,function(e,t){if(t.name=(t.name||\"\").replace(/^\\s*|\\s*&/,\"\"),t.name){if(/^.*\\[\\]$/.test(t.name)){var i=t.name.match(/^(.*)\\[\\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\\[\\]$/,\"$1[\"+p[i]++ +\"]\")}/^checkbox|radio$/.test(t.type)&&!t.checked||(u[t.name]=t.value)}}),layui.event.call(this,l,\"submit(\"+h+\")\",{elem:this,form:y,field:u})},f=new c,y=t(document),v=t(window);f.render(),y.on(\"reset\",r,function(){var e=t(this).attr(\"lay-filter\");setTimeout(function(){f.render(null,e)},50)}),y.on(\"submit\",r,d).on(\"click\",\"*[lay-submit]\",d),e(l,f)});layui.define(\"jquery\",function(e){\"use strict\";var o=layui.$,a=layui.hint(),i=\"layui-tree-enter\",r=function(e){this.options=e},t={arrow:[\"&#xe623;\",\"&#xe625;\"],checkbox:[\"&#xe626;\",\"&#xe627;\"],radio:[\"&#xe62b;\",\"&#xe62a;\"],branch:[\"&#xe622;\",\"&#xe624;\"],leaf:\"&#xe621;\"};r.prototype.init=function(e){var o=this;e.addClass(\"layui-box layui-tree\"),o.options.skin&&e.addClass(\"layui-tree-skin-\"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('<ul class=\"'+(n.spread?\"layui-show\":\"\")+'\"></ul>'),s=o([\"<li \"+(n.spread?'data-spread=\"'+n.spread+'\"':\"\")+\">\",function(){return l?'<i class=\"layui-icon layui-tree-spread\">'+(n.spread?t.arrow[1]:t.arrow[0])+\"</i>\":\"\"}(),function(){return r.check?'<i class=\"layui-icon layui-tree-check\">'+(\"checkbox\"===r.check?t.checkbox[0]:\"radio\"===r.check?t.radio[0]:\"\")+\"</i>\":\"\"}(),function(){return'<a href=\"'+(n.href||\"javascript:;\")+'\" '+(r.target&&n.href?'target=\"'+r.target+'\"':\"\")+\">\"+('<i class=\"layui-icon layui-tree-'+(l?\"branch\":\"leaf\")+'\">'+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+\"</i>\")+(\"<cite>\"+(n.name||\"未命名\")+\"</cite></a>\")}(),\"</li>\"].join(\"\"));l&&(s.append(c),i.tree(c,n.children)),e.append(s),\"function\"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children(\"a\").on(\"click\",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(\".layui-tree-spread\")),r=e.children(\"ul\"),n=e.children(\"a\"),l=function(){e.data(\"spread\")?(e.data(\"spread\",null),r.removeClass(\"layui-show\"),i.html(t.arrow[0]),n.find(\".layui-icon\").html(t.branch[0])):(e.data(\"spread\",!0),r.addClass(\"layui-show\"),i.html(t.arrow[1]),n.find(\".layui-icon\").html(t.branch[1]))};r[0]&&(i.on(\"click\",l),n.on(\"dblclick\",l))},r.prototype.on=function(e){var a=this,r=a.options,t=\"layui-tree-drag\";e.find(\"i\").on(\"selectstart\",function(e){return!1}),r.drag&&o(document).on(\"mousemove\",function(e){var i=a.move;if(i.from){var r=(i.to,o('<div class=\"layui-box '+t+'\"></div>'));e.preventDefault(),o(\".\"+t)[0]||o(\"body\").append(r);var n=o(\".\"+t)[0]?o(\".\"+t):r;n.addClass(\"layui-show\").html(i.from.elem.children(\"a\").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on(\"mouseup\",function(){var e=a.move;e.from&&(e.from.elem.children(\"a\").removeClass(i),e.to&&e.to.elem.children(\"a\").removeClass(i),a.move={},o(\".\"+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children(\"a\")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on(\"mousedown\",function(){var o=r.move;o.from={item:a,elem:e}}),t.on(\"mouseenter\",n).on(\"mousemove\",n).on(\"mouseleave\",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e(\"tree\",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error(\"layui.tree 没有找到\"+e.elem+\"元素\")})});layui.define([\"laytpl\",\"laypage\",\"layer\",\"form\"],function(e){\"use strict\";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=layui.hint(),r=layui.device(),d={config:{checkName:\"LAY_CHECKED\",indexName:\"LAY_TABLE_INDEX\"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,s,e,t)}},c=function(){var e=this,t=e.config,i=t.id;return i&&(c.config[i]=t),{reload:function(t){e.reload.call(e,t)},config:t}},s=\"table\",u=\".layui-table\",h=\"layui-hide\",f=\"layui-none\",y=\"layui-table-view\",p=\".layui-table-header\",m=\".layui-table-body\",v=\".layui-table-main\",g=\".layui-table-fixed\",x=\".layui-table-fixed-l\",b=\".layui-table-fixed-r\",k=\".layui-table-tool\",C=\".layui-table-page\",w=\".layui-table-sort\",N=\"layui-table-edit\",F=\"layui-table-hover\",W=function(e){var t='{{#if(item2.colspan){}} colspan=\"{{item2.colspan}}\"{{#} if(item2.rowspan){}} rowspan=\"{{item2.rowspan}}\"{{#}}}';return e=e||{},['<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"layui-table\" ','{{# if(d.data.skin){ }}lay-skin=\"{{d.data.skin}}\"{{# } }} {{# if(d.data.size){ }}lay-size=\"{{d.data.size}}\"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',\"<thead>\",\"{{# layui.each(d.data.cols, function(i1, item1){ }}\",\"<tr>\",\"{{# layui.each(item1, function(i2, item2){ }}\",'{{# if(item2.fixed && item2.fixed !== \"right\"){ left = true; } }}','{{# if(item2.fixed === \"right\"){ right = true; } }}',function(){return e.fixed&&\"right\"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== \"right\"){ }}':\"right\"===e.fixed?'{{# if(item2.fixed === \"right\"){ }}':\"\"}(),'<th data-field=\"{{ item2.field||i2 }}\" {{# if(item2.minWidth){ }}data-minwidth=\"{{item2.minWidth}}\"{{# } }} '+t+' {{# if(item2.unresize){ }}data-unresize=\"true\"{{# } }}>','<div class=\"layui-table-cell laytable-cell-',\"{{# if(item2.colspan > 1){ }}\",\"group\",\"{{# } else { }}\",\"{{d.index}}-{{item2.field || i2}}\",'{{# if(item2.type !== \"normal\"){ }}',\" laytable-cell-{{ item2.type }}\",\"{{# } }}\",\"{{# } }}\",'\" {{#if(item2.align){}}align=\"{{item2.align}}\"{{#}}}>','{{# if(item2.type === \"checkbox\"){ }}','<input type=\"checkbox\" name=\"layTableCheckbox\" lay-skin=\"primary\" lay-filter=\"layTableAllChoose\" {{# if(item2[d.data.checkName]){ }}checked{{# }; }}>',\"{{# } else { }}\",'<span>{{item2.title||\"\"}}</span>',\"{{# if(!(item2.colspan > 1) && item2.sort){ }}\",'<span class=\"layui-table-sort layui-inline\"><i class=\"layui-edge layui-table-sort-asc\"></i><i class=\"layui-edge layui-table-sort-desc\"></i></span>',\"{{# } }}\",\"{{# } }}\",\"</div>\",\"</th>\",e.fixed?\"{{# }; }}\":\"\",\"{{# }); }}\",\"</tr>\",\"{{# }); }}\",\"</thead>\",\"</table>\"].join(\"\")},z=['<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"layui-table\" ','{{# if(d.data.skin){ }}lay-skin=\"{{d.data.skin}}\"{{# } }} {{# if(d.data.size){ }}lay-size=\"{{d.data.size}}\"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',\"<tbody></tbody>\",\"</table>\"].join(\"\"),A=['<div class=\"layui-form layui-border-box {{d.VIEW_CLASS}}\" lay-filter=\"LAY-table-{{d.index}}\" style=\"{{# if(d.data.width){ }}width:{{d.data.width}}px;{{# } }} {{# if(d.data.height){ }}height:{{d.data.height}}px;{{# } }}\">',\"{{# if(d.data.toolbar){ }}\",'<div class=\"layui-table-tool\"></div>',\"{{# } }}\",'<div class=\"layui-table-box\">',\"{{# var left, right; }}\",'<div class=\"layui-table-header\">',W(),\"</div>\",'<div class=\"layui-table-body layui-table-main\">',z,\"</div>\",\"{{# if(left){ }}\",'<div class=\"layui-table-fixed layui-table-fixed-l\">','<div class=\"layui-table-header\">',W({fixed:!0}),\"</div>\",'<div class=\"layui-table-body\">',z,\"</div>\",\"</div>\",\"{{# }; }}\",\"{{# if(right){ }}\",'<div class=\"layui-table-fixed layui-table-fixed-r\">','<div class=\"layui-table-header\">',W({fixed:\"right\"}),'<div class=\"layui-table-mend\"></div>',\"</div>\",'<div class=\"layui-table-body\">',z,\"</div>\",\"</div>\",\"{{# }; }}\",\"</div>\",\"{{# if(d.data.page){ }}\",'<div class=\"layui-table-page\">','<div id=\"layui-table-page{{d.index}}\"></div>',\"</div>\",\"{{# } }}\",\"<style>\",\"{{# layui.each(d.data.cols, function(i1, item1){\",\"layui.each(item1, function(i2, item2){ }}\",\".laytable-cell-{{d.index}}-{{item2.field||i2}}{ \",\"{{# if(item2.width){ }}\",\"width: {{item2.width}}px;\",\"{{# } }}\",\" }\",\"{{# });\",\"}); }}\",\"</style>\",\"</div>\"].join(\"\"),T=t(window),M=t(document),S=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};S.prototype.config={limit:10,loading:!0,cellMinWidth:60,text:{none:\"无数据\"}},S.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr(\"id\"),a.request=t.extend({pageName:\"page\",limitName:\"limit\"},a.request),a.response=t.extend({statusName:\"code\",statusCode:0,msgName:\"msg\",dataName:\"data\",countName:\"count\"},a.response),\"object\"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;e.setArea();var l=a.elem,n=l.next(\".\"+y),o=e.elem=t(i(A).render({VIEW_CLASS:y,data:a,index:e.index}));if(a.index=e.index,n[0]&&n.remove(),l.after(o),e.layHeader=o.find(p),e.layMain=o.find(v),e.layBody=o.find(m),e.layFixed=o.find(g),e.layFixLeft=o.find(x),e.layFixRight=o.find(b),e.layTool=o.find(k),e.layPage=o.find(C),e.layTool.html(i(t(a.toolbar).html()||\"\").render(a)),a.height&&e.fullSize(),a.cols.length>1){var r=e.layFixed.find(p).find(\"th\");r.height(e.layHeader.height()-1-parseFloat(r.css(\"padding-top\"))-parseFloat(r.css(\"padding-bottom\")))}e.pullData(e.page),e.events()},S.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,space:15,numbers:40});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||i[e.type])},S.prototype.setArea=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=t.width||function(){var e=function(i){var a,l;i=i||t.elem.parent(),a=i.width();try{l=\"none\"===i.css(\"display\")}catch(n){}return!i[0]||a&&!l?a:e(i.parent())};return e()}();e.eachCols(function(){i++}),o-=function(){return\"line\"===t.skin||\"nob\"===t.skin?2:i+1}(),layui.each(t.cols,function(t,i){layui.each(i,function(t,l){var r;return l?(e.initOpts(l),r=l.width||0,void(l.colspan>1||(/\\d+%$/.test(r)?l.width=r=Math.floor(parseFloat(r)/100*o):r||(l.width=r=0,a++),n+=r))):void i.splice(t,1)})}),e.autoColNums=a,o>n&&a&&(l=(o-n)/a),layui.each(t.cols,function(e,i){layui.each(i,function(e,i){var a=i.minWidth||t.cellMinWidth;i.colspan>1||0===i.width&&(i.width=Math.floor(l>=a?l:a))})}),t.height&&/^full-\\d+$/.test(t.height)&&(e.fullHeightGap=t.height.split(\"-\")[1],t.height=T.height()-e.fullHeightGap)},S.prototype.reload=function(e){var i=this;i.config.data&&i.config.data.constructor===Array&&delete i.config.data,i.config=t.extend({},i.config,e),i.render()},S.prototype.page=1,S.prototype.pullData=function(e,i){var a=this,n=a.config,o=n.request,r=n.response,d=function(){\"object\"==typeof n.initSort&&a.sort(n.initSort.field,n.initSort.type)};if(a.startTime=(new Date).getTime(),n.url){var c={};c[o.pageName]=e,c[o.limitName]=n.limit,t.ajax({type:n.method||\"get\",url:n.url,data:t.extend(c,n.where),dataType:\"json\",success:function(t){t[r.statusName]!=r.statusCode?(a.renderForm(),a.layMain.html('<div class=\"'+f+'\">'+(t[r.msgName]||\"返回的数据状态异常\")+\"</div>\")):(a.renderData(t,e,t[r.countName]),d(),n.time=(new Date).getTime()-a.startTime+\" ms\"),i&&l.close(i),\"function\"==typeof n.done&&n.done(t,e,t[r.countName])},error:function(e,t){a.layMain.html('<div class=\"'+f+'\">数据接口请求异常</div>'),a.renderForm(),i&&l.close(i)}})}else if(n.data&&n.data.constructor===Array){var s={},u=e*n.limit-n.limit;s[r.dataName]=n.data.concat().splice(u,n.limit),s[r.countName]=n.data.length,a.renderData(s,e,n.data.length),d(),\"function\"==typeof n.done&&n.done(s,e,s[r.countName])}},S.prototype.eachCols=function(e){var i=t.extend(!0,[],this.config.cols),a=[],l=0;layui.each(i,function(e,t){layui.each(t,function(t,n){if(n.colspan>1){var o=0;l++,n.CHILD_COLS=[],layui.each(i[e+1],function(e,t){t.PARENT_COL||o==n.colspan||(t.PARENT_COL=l,n.CHILD_COLS.push(t),o+=t.colspan>1?t.colspan:1)})}n.PARENT_COL||a.push(n)})});var n=function(t){layui.each(t||a,function(t,i){return i.CHILD_COLS?n(i.CHILD_COLS):void e(t,i)})};n()},S.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,u=e[s.response.dataName]||[],y=[],p=[],m=[],v=function(){return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(u,function(e,a){var l=[],o=[],u=[],h=e+s.limit*(n-1)+1;0!==a.length&&(r||(a[d.config.indexName]=e),c.eachCols(function(e,n){var r=n.field||e,f=a[r];c.getColElem(c.layHeader,r);if(void 0!==f&&null!==f||(f=\"\"),!(n.colspan>1)){var y=['<td data-field=\"'+r+'\" '+function(){var e=[];return n.edit&&e.push('data-edit=\"'+n.edit+'\"'),n.align&&e.push('align=\"'+n.align+'\"'),n.templet&&e.push('data-content=\"'+f+'\"'),n.toolbar&&e.push('data-off=\"true\"'),n.event&&e.push('lay-event=\"'+n.event+'\"'),n.style&&e.push('style=\"'+n.style+'\"'),n.minWidth&&e.push('data-minwidth=\"'+n.minWidth+'\"'),e.join(\" \")}()+\">\",'<div class=\"layui-table-cell laytable-cell-'+function(){var e=s.index+\"-\"+r;return\"normal\"===n.type?e:e+\" laytable-cell-\"+n.type}()+'\">'+function(){var e=t.extend(!0,{LAY_INDEX:h},a);return\"checkbox\"===n.type?'<input type=\"checkbox\" name=\"layTableCheckbox\" lay-skin=\"primary\" '+function(){var t=d.config.checkName;return n[t]?(a[t]=n[t],n[t]?\"checked\":\"\"):e[t]?\"checked\":\"\"}()+\">\":\"numbers\"===n.type?h:n.toolbar?i(t(n.toolbar).html()||\"\").render(e):n.templet?function(){return\"function\"==typeof n.templet?n.templet(e):i(t(n.templet).html()||String(f)).render(e)}():f}(),\"</div></td>\"].join(\"\");l.push(y),n.fixed&&\"right\"!==n.fixed&&o.push(y),\"right\"===n.fixed&&u.push(y)}}),y.push('<tr data-index=\"'+e+'\">'+l.join(\"\")+\"</tr>\"),p.push('<tr data-index=\"'+e+'\">'+o.join(\"\")+\"</tr>\"),m.push('<tr data-index=\"'+e+'\">'+u.join(\"\")+\"</tr>\"))}),c.layBody.scrollTop(0),c.layMain.find(\".\"+f).remove(),c.layMain.find(\"tbody\").html(y.join(\"\")),c.layFixLeft.find(\"tbody\").html(p.join(\"\")),c.layFixRight.find(\"tbody\").html(m.join(\"\")),c.renderForm(),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,void l.close(c.tipsIndex))};return c.key=s.id||s.index,d.cache[c.key]=u,c.layPage[0===u.length&&1==n?\"addClass\":\"removeClass\"](h),r?v():0===u.length?(c.renderForm(),c.layFixed.remove(),c.layMain.find(\"tbody\").html(\"\"),c.layMain.find(\".\"+f).remove(),c.layMain.append('<div class=\"'+f+'\">'+s.text.none+\"</div>\")):(v(),void(s.page&&(s.page=t.extend({elem:\"layui-table-page\"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:[\"prev\",\"page\",\"next\",\"skip\",\"count\",\"limit\"],prev:'<i class=\"layui-icon\">&#xe603;</i>',next:'<i class=\"layui-icon\">&#xe602;</i>',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr,c.loading()))}},s.page),s.page.count=o,a.render(s.page))))},S.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(\".laytable-cell-\"+(a.index+\"-\"+t)+\":eq(0)\")},S.prototype.renderForm=function(e){n.render(e,\"LAY-table-\"+this.index)},S.prototype.sort=function(e,i,a,l){var n,r,c=this,u={},h=c.config,f=h.elem.attr(\"lay-filter\"),y=d.cache[c.key];\"string\"==typeof e&&c.layHeader.find(\"th\").each(function(i,a){var l=t(this),o=l.data(\"field\");if(o===e)return e=l,n=o,!1});try{var n=n||e.data(\"field\");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var p=c.layHeader.find(\"th .laytable-cell-\"+h.index+\"-\"+n).find(w);c.layHeader.find(\"th\").find(w).removeAttr(\"lay-sort\"),p.attr(\"lay-sort\",i||null),c.layFixed.find(\"th\")}catch(m){return o.error(\"Table modules: Did not match to field\")}c.sortKey={field:n,sort:i},\"asc\"===i?r=layui.sort(y,n):\"desc\"===i?r=layui.sort(y,n,!0):(r=layui.sort(y,d.config.indexName),delete c.sortKey),u[h.response.dataName]=r,c.renderData(u,c.page,c.count,!0),l&&layui.event.call(e,s,\"sort(\"+f+\")\",{field:n,type:i})},S.prototype.loading=function(){var e=this,t=e.config;if(t.loading&&t.url)return l.msg(\"数据请求中\",{icon:16,offset:[e.elem.offset().top+e.elem.height()/2-35-T.scrollTop()+\"px\",e.elem.offset().left+e.elem.width()/2-90-T.scrollLeft()+\"px\"],time:-1,anim:-1,fixed:!1})},S.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},S.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name=\"layTableCheckbox\"]'),a=function(i){return e.eachCols(function(e,a){\"checkbox\"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop(\"checked\",!0),e.renderForm(\"checkbox\")),a(!0)):(i[0].checked&&(i.prop(\"checked\",!1),e.renderForm(\"checkbox\")),a(!1)))},S.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find(\"style\")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(a,l){if(l.selectorText===\".laytable-cell-\"+i.index+\"-\"+e)return t(l),!0})},S.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=T.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css(\"height\",a)),e=parseFloat(a)-parseFloat(t.layHeader.height())-1,i.toolbar&&(e-=t.layTool.outerHeight()),i.page&&(e=e-t.layPage.outerHeight()-1),t.layMain.css(\"height\",e)},S.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement(\"div\"),e.style.width=\"100px\",e.style.height=\"100px\",e.style.overflowY=\"scroll\",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},S.prototype.scrollPatch=function(){var e=this,i=e.layMain.children(\"table\"),a=e.layMain.width()-e.layMain.prop(\"clientWidth\"),l=e.layMain.height()-e.layMain.prop(\"clientHeight\"),n=e.getScrollWidth(e.layMain[0]),o=i.outerWidth()-e.layMain.width();if(e.autoColNums&&o<5&&!e.scrollPatchWStatus){var r=e.layHeader.eq(0).find(\"thead th:last-child\"),d=r.data(\"field\");e.getCssRule(d,function(t){var i=t.style.width||r.outerWidth();t.style.width=parseFloat(i)-n-o+\"px\",e.layMain.height()-e.layMain.prop(\"clientHeight\")>0&&(t.style.width=parseFloat(t.style.width)-1+\"px\"),e.scrollPatchWStatus=!0})}if(a&&l){if(!e.elem.find(\".layui-table-patch\")[0]){var c=t('<th class=\"layui-table-patch\"><div class=\"layui-table-cell\"></div></th>');c.find(\"div\").css({width:a}),e.layHeader.eq(0).find(\"thead tr\").append(c)}}else e.layHeader.eq(0).find(\".layui-table-patch\").remove();var s=e.layMain.height(),u=s-l;e.layFixed.find(m).css(\"height\",i.height()>u?u:\"auto\"),e.layFixRight[o>0?\"removeClass\":\"addClass\"](h),e.layFixRight.css(\"right\",a-1)},S.prototype.events=function(){var e,a=this,n=a.config,o=t(\"body\"),c={},u=a.layHeader.find(\"th\"),h=\".layui-table-cell\",f=n.elem.attr(\"lay-filter\");u.on(\"mousemove\",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.attr(\"colspan\")>1||i.data(\"unresize\")||c.resizeStart||(c.allowResize=i.width()-l<=10,o.css(\"cursor\",c.allowResize?\"col-resize\":\"\"))}).on(\"mouseleave\",function(){t(this);c.resizeStart||o.css(\"cursor\",\"\")}).on(\"mousedown\",function(e){var i=t(this);if(c.allowResize){var l=i.data(\"field\");e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();c.rule=e,c.ruleWidth=parseFloat(t),c.minWidth=i.data(\"minwidth\")||n.cellMinWidth})}}),M.on(\"mousemove\",function(t){if(c.resizeStart){if(t.preventDefault(),c.rule){var i=c.ruleWidth+t.clientX-c.offset[0];i<c.minWidth&&(i=c.minWidth),c.rule.style.width=i+\"px\",l.close(a.tipsIndex)}e=1}}).on(\"mouseup\",function(t){c.resizeStart&&(c={},o.css(\"cursor\",\"\"),a.scrollPatch()),2===e&&(e=null)}),u.on(\"click\",function(){var i,l=t(this),n=l.find(w),o=n.attr(\"lay-sort\");return n[0]&&1!==e?(i=\"asc\"===o?\"desc\":\"desc\"===o?null:\"asc\",void a.sort(l,i,null,!0)):e=2}).find(w+\" .layui-edge \").on(\"click\",function(e){var i=t(this),l=i.index(),n=i.parents(\"th\").eq(0).data(\"field\");layui.stope(e),0===l?a.sort(n,\"asc\",null,!0):a.sort(n,\"desc\",null,!0)}),a.elem.on(\"click\",'input[name=\"layTableCheckbox\"]+',function(){var e=t(this).prev(),i=a.layBody.find('input[name=\"layTableCheckbox\"]'),l=e.parents(\"tr\").eq(0).data(\"index\"),n=e[0].checked,o=\"layTableAllChoose\"===e.attr(\"lay-filter\");o?(i.each(function(e,t){t.checked=n,a.setCheckData(e,n)}),a.syncCheckAll(),a.renderForm(\"checkbox\")):(a.setCheckData(l,n),a.syncCheckAll()),layui.event.call(this,s,\"checkbox(\"+f+\")\",{checked:n,data:d.cache[a.key]?d.cache[a.key][l]||{}:{},type:o?\"all\":\"one\"})}),a.layBody.on(\"mouseenter\",\"tr\",function(){var e=t(this),i=e.index();a.layBody.find(\"tr:eq(\"+i+\")\").addClass(F)}).on(\"mouseleave\",\"tr\",function(){var e=t(this),i=e.index();a.layBody.find(\"tr:eq(\"+i+\")\").removeClass(F)}),a.layBody.on(\"change\",\".\"+N,function(){var e=t(this),i=this.value,l=e.parent().data(\"field\"),n=e.parents(\"tr\").eq(0).data(\"index\"),o=d.cache[a.key][n];o[l]=i,layui.event.call(this,s,\"edit(\"+f+\")\",{value:i,data:o,field:l})}).on(\"blur\",\".\"+N,function(){var e,l=t(this),n=l.parent().data(\"field\"),o=l.parents(\"tr\").eq(0).data(\"index\"),r=d.cache[a.key][o];a.eachCols(function(t,i){i.field==n&&i.templet&&(e=i.templet)}),l.siblings(h).html(e?i(t(e).html()||this.value).render(r):this.value),l.parent().data(\"content\",this.value),l.remove()}),a.layBody.on(\"click\",\"td\",function(){var e=t(this),i=(e.data(\"field\"),e.data(\"edit\")),o=e.children(h);if(l.close(a.tipsIndex),!e.data(\"off\"))if(i)if(\"select\"===i);else{var d=t('<input class=\"layui-input '+N+'\">');d[0].value=e.data(\"content\")||o.text(),e.find(\".\"+N)[0]||e.append(d),d.focus()}else o.find(\".layui-form-switch,.layui-form-checkbox\")[0]||Math.round(o.prop(\"scrollWidth\"))>Math.round(o.outerWidth())&&(a.tipsIndex=l.tips(['<div class=\"layui-table-tips-main\" style=\"margin-top: -'+(o.height()+16)+\"px;\"+function(){return\"sm\"===n.size?\"padding: 4px 15px; font-size: 12px;\":\"lg\"===n.size?\"padding: 14px 15px;\":\"\"}()+'\">',o.html(),\"</div>\",'<i class=\"layui-icon layui-table-tips-c\">&#x1006;</i>'].join(\"\"),o[0],{tips:[3,\"\"],time:-1,anim:-1,maxWidth:r.ios||r.android?300:600,isOutAnim:!1,skin:\"layui-table-tips\",success:function(e,t){e.find(\".layui-table-tips-c\").on(\"click\",function(){l.close(t)})}}))}),a.layBody.on(\"click\",\"*[lay-event]\",function(){var e=t(this),l=e.parents(\"tr\").eq(0).data(\"index\"),n=a.layBody.find('tr[data-index=\"'+l+'\"]'),o=\"layui-table-click\",r=d.cache[a.key][l];layui.event.call(this,s,\"tool(\"+f+\")\",{data:d.clearCacheKey(r),event:e.attr(\"lay-event\"),tr:n,del:function(){d.cache[a.key][l]=[],n.remove(),a.scrollPatch()},update:function(e){e=e||{},layui.each(e,function(e,l){if(e in r){var o,d=n.children('td[data-field=\"'+e+'\"]');r[e]=l,a.eachCols(function(t,i){i.field==e&&i.templet&&(o=i.templet)}),d.children(h).html(o?i(t(o).html()||l).render(r):l),d.data(\"content\",l)}})}}),n.addClass(o).siblings(\"tr\").removeClass(o)}),a.layMain.on(\"scroll\",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layFixed.find(m).scrollTop(n),l.close(a.tipsIndex)}),T.on(\"resize\",function(){a.fullSize(),a.scrollPatch()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter=\"'+e+'\"]':u+\"[lay-data]\"),n=\"Table element property lay-data configuration item has a syntax error: \";return l.each(function(){var a=t(this),l=a.attr(\"lay-data\");try{l=new Function(\"return \"+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr(\"lay-skin\"),size:a.attr(\"lay-size\"),even:\"string\"==typeof a.attr(\"lay-even\")},d.config,i,l);e&&a.hide(),a.find(\"thead>tr\").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr(\"lay-data\");try{l=new Function(\"return \"+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr(\"colspan\")||0,rowspan:a.attr(\"rowspan\")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find(\"tbody>tr\").each(function(e){var i=t(this),a={};i.children(\"td\").each(function(e,i){var l=t(this),n=l.data(\"field\");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children(\"td\").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},c.config={},d.reload=function(e,i){var a=c.config[e];return i=i||{},a?(i.data&&i.data.constructor===Array&&delete a.data,d.render(t.extend(!0,{},a,i))):o.error(\"The ID option was not found in the table instance\")},d.render=function(e){var t=new S(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(s,d)});layui.define(\"jquery\",function(e){\"use strict\";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t=\"carousel\",a=\"layui-this\",l=\">*[carousel-item]>*\",o=\"layui-carousel-left\",r=\"layui-carousel-right\",d=\"layui-carousel-prev\",s=\"layui-carousel-next\",u=\"layui-carousel-arrow\",c=\"layui-carousel-ind\",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:\"600px\",height:\"280px\",full:!1,arrow:\"hover\",indicator:\"inside\",autoplay:!0,interval:3e3,anim:\"\",trigger:\"click\",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:\"fixed\",width:\"100%\",height:\"100%\",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr(\"lay-anim\",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['<button class=\"layui-icon '+u+'\" lay-type=\"sub\">'+(\"updown\"===n.anim?\"&#xe619;\":\"&#xe603;\")+\"</button>\",'<button class=\"layui-icon '+u+'\" lay-type=\"add\">'+(\"updown\"===n.anim?\"&#xe61a;\":\"&#xe602;\")+\"</button>\"].join(\"\"));n.elem.attr(\"lay-arrow\",n.arrow),n.elem.find(\".\"+u)[0]&&n.elem.find(\".\"+u).remove(),n.elem.append(t),t.on(\"click\",function(){var n=i(this),t=n.attr(\"lay-type\");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['<div class=\"'+c+'\"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push(\"<li\"+(n.index===e?' class=\"layui-this\"':\"\")+\"></li>\")}),i.join(\"\")}(),\"</ul></div>\"].join(\"\"));n.elem.attr(\"lay-indicator\",n.indicator),n.elem.find(\".\"+c)[0]&&n.elem.find(\".\"+c).remove(),n.elem.append(t),\"updown\"===n.anim&&t.css(\"margin-top\",-(t.height()/2)),t.find(\"li\").on(\"hover\"===n.trigger?\"mouseover\":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide(\"add\",a-n.index):a<n.index&&e.slide(\"sub\",n.index-a)})},m.prototype.slide=function(e,i){var n=this,l=n.elemItem,u=n.config,c=u.index,m=u.elem.attr(\"lay-filter\");n.haveSlide||(\"sub\"===e?(n.subIndex(i),l.eq(u.index).addClass(d),setTimeout(function(){l.eq(c).addClass(r),l.eq(u.index).addClass(r)},50)):(n.addIndex(i),l.eq(u.index).addClass(s),setTimeout(function(){l.eq(c).addClass(o),l.eq(u.index).addClass(o)},50)),setTimeout(function(){l.removeClass(a+\" \"+d+\" \"+s+\" \"+o+\" \"+r),l.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find(\"li\").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,\"change(\"+m+\")\",{index:u.index,prevIndex:c,item:l.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data(\"haveEvents\")||(i.elem.on(\"mouseenter\",function(){clearInterval(e.timer)}).on(\"mouseleave\",function(){e.autoplay()}),i.elem.data(\"haveEvents\",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});layui.define(\"jquery\",function(e){\"use strict\";var t=layui.$,i={fixbar:function(e){var i,o,a=\"layui-fixbar\",r=\"layui-fixbar-top\",n=t(document),l=t(\"body\");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?\"&#xe606;\":e.bar1,e.bar2=e.bar2===!0?\"&#xe607;\":e.bar2,e.bgcolor=e.bgcolor?\"background-color:\"+e.bgcolor:\"\";var c=[e.bar1,e.bar2,\"&#xe604;\"],g=t(['<ul class=\"'+a+'\">',e.bar1?'<li class=\"layui-icon\" lay-type=\"bar1\" style=\"'+e.bgcolor+'\">'+c[0]+\"</li>\":\"\",e.bar2?'<li class=\"layui-icon\" lay-type=\"bar2\" style=\"'+e.bgcolor+'\">'+c[1]+\"</li>\":\"\",'<li class=\"layui-icon '+r+'\" lay-type=\"top\" style=\"'+e.bgcolor+'\">'+c[2]+\"</li>\",\"</ul>\"].join(\"\")),s=g.find(\".\"+r),u=function(){var t=n.scrollTop();t>=e.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};t(\".\"+a)[0]||(\"object\"==typeof e.css&&g.css(e.css),l.append(g),u(),g.find(\"li\").on(\"click\",function(){var i=t(this),o=i.attr(\"lay-type\");\"top\"===o&&t(\"html,body\").animate({scrollTop:0},200),e.click&&e.click.call(this,o)}),n.on(\"scroll\",function(){clearTimeout(o),o=setTimeout(function(){u()},100)}))},countdown:function(e,t,i){var o=this,a=\"function\"==typeof t,r=new Date(e).getTime(),n=new Date(!t||a?(new Date).getTime():t).getTime(),l=r-n,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var g=setTimeout(function(){o.countdown(e,n+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,g),l<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,o=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>6912e5?(a=new Date(e),o[0][0]=i.digit(a.getFullYear(),4),o[0][1]=i.digit(a.getMonth()+1),o[0][2]=i.digit(a.getDate()),t||(o[1][0]=i.digit(a.getHours()),o[1][1]=i.digit(a.getMinutes()),o[1][2]=i.digit(a.getSeconds())),o[0].join(\"-\")+\" \"+o[1].join(\":\")):a>=864e5?(a/1e3/60/60/24|0)+\"天前\":a>=36e5?(a/1e3/60/60|0)+\"小时前\":a>=12e4?(a/1e3/60|0)+\"分钟前\":a<0?\"未来\":\"刚刚\"},digit:function(e,t){var i=\"\";e=String(e),t=t||2;for(var o=e.length;o<t;o++)i+=\"0\";return e<Math.pow(10,t)?i+(0|e):e},toDateString:function(e,t){var i=this,o=new Date(e||new Date),a=[i.digit(o.getFullYear(),4),i.digit(o.getMonth()+1),i.digit(o.getDate())],r=[i.digit(o.getHours()),i.digit(o.getMinutes()),i.digit(o.getSeconds())];return t=t||\"yyyy-MM-dd HH:mm:ss\",t.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,r[0]).replace(/mm/g,r[1]).replace(/ss/g,r[2])}};e(\"util\",i)});layui.define(\"jquery\",function(e){\"use strict\";var l=layui.$,o=function(e){},t='<i class=\"layui-anim layui-anim-rotate layui-anim-loop layui-icon \">&#xe63e;</i>';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!(\"isAuto\"in e)||e.isAuto,v=e.end||\"没有更多了\",y=e.scrollElem&&e.scrollElem!==document,d=\"<cite>加载更多</cite>\",h=l('<div class=\"layui-flow-more\"><a href=\"javascript:;\">'+d+\"</a></div>\");f.find(\".layui-flow-more\")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find(\"a\").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find(\"a\").html(t),\"function\"==typeof e.done&&e.done(++c,p)};if(g(),h.find(\"a\").on(\"click\",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+\" img\",scrollElem:e.scrollElem});return s?(m.on(\"scroll\",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop(\"scrollHeight\"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||\"img\",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr(\"src\")){var m=e.attr(\"lay-src\");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr(\"src\",m).removeAttr(\"lay-src\"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)break}};if(f(),!o){var m;n.on(\"scroll\",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e(\"flow\",new o)});layui.define([\"layer\",\"form\"],function(t){\"use strict\";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n=\"layedit\",o=\"layui-show\",r=\"layui-disabled\",c=function(){var t=this;t.index=0,t.config={tool:[\"strong\",\"italic\",\"underline\",\"del\",\"|\",\"left\",\"center\",\"right\",\"|\",\"link\",\"unlink\",\"face\",\"image\"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r=\"layui-layedit\",c=e(\"#\"+t),u=\"LAY_layedit_\"+ ++a.index,d=c.next(\".\"+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join(\"\")}(),m=e(['<div class=\"'+r+'\">','<div class=\"layui-unselect layui-layedit-tool\">'+f+\"</div>\",'<div class=\"layui-layedit-iframe\">','<iframe id=\"'+u+'\" name=\"'+u+'\" textarea=\"'+t+'\" frameborder=\"0\"></iframe>',\"</div>\",\"</div>\"].join(\"\"));return l.ie&&l.ie<8?c.removeClass(\"layui-hide\").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass(\"layui-hide\").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e(\"#\"+i[1].attr(\"textarea\"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find(\"iframe\");n.css({height:a.height}).on(\"load\",function(){var o=n.contents(),r=n.prop(\"contentWindow\"),c=o.find(\"head\"),s=e([\"<style>\",\"*{margin: 0; padding: 0;}\",\"body{padding: 10px; line-height: 20px; overflow-x: hidden; word-wrap: break-word; font: 14px Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Tahoma,Arial,sans-serif; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}\",\"a{color:#01AAED; text-decoration:none;}a:hover{color:#c00}\",\"p{margin-bottom: 10px;}\",\"img{display: inline-block; border: none; vertical-align: middle;}\",\"pre{margin: 10px 0; padding: 10px; line-height: 20px; border: 1px solid #ddd; border-left-width: 6px; background-color: #F2F2F2; color: #333; font-family: Courier New; font-size: 12px;}\",\"</style>\"].join(\"\")),u=o.find(\"body\");c.append(s),u.attr(\"contenteditable\",\"true\").css({\"min-height\":a.height}).html(i.value||\"\"),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e(\"#LAY_layedit_\"+t),a=i.prop(\"contentWindow\");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on(\"keydown\",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if(\"pre\"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg(\"请暂时用shift+enter\"),!1}r.execCommand(\"formatBlock\",!1,\"<p>\")}}),e(n).parents(\"form\").on(\"submit\",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on(\"paste\",function(e){r.execCommand(\"formatBlock\",!1,\"<p>\"),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find(\"*[style]\").each(function(){var t=this.style.textAlign;this.removeAttribute(\"style\"),e(this).css({\"text-align\":t||\"\"})}),t.find(\"table\").addClass(\"layui-table\"),t.find(\"script,link\").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute(\"text\"),l.selection){var r=a.text||i.text;if(\"a\"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop(\"outerHTML\")),a.select()}else{var r=a.toString()||i.text;if(\"a\"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l=\"layedit-tool-active\",n=p(m(a)),o=function(e){return t.find(\".layedit-tool-\"+e)};i&&i[i.hasClass(l)?\"removeClass\":\"addClass\"](l),t.find(\">i\").removeClass(l),o(\"unlink\").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;\"b\"!==t&&\"strong\"!==t||o(\"b\").addClass(l),\"i\"!==t&&\"em\"!==t||o(\"i\").addClass(l),\"u\"===t&&o(\"u\").addClass(l),\"strike\"===t&&o(\"d\").addClass(l),\"p\"===t&&(\"center\"===e?o(\"center\").addClass(l):\"right\"===e?o(\"right\").addClass(l):o(\"left\").addClass(l)),\"a\"===t&&(o(\"link\").addClass(l),o(\"unlink\").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr(\"href\"),target:l.attr(\"target\")},function(e){var a=l[0];\"A\"===a.tagName?a.href=e.url:v.call(t,\"a\",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand(\"unlink\")},face:function(e){x.call(this,function(i){v.call(t,\"img\",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use(\"upload\",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find(\"input\")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,\"img\",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||\"上传失败\")}})})},code:function(e){k.call(o,function(i){v.call(t,\"pre\",{text:i.code,\"lay-lang\":i.lang},e)})},help:function(){i.open({type:2,title:\"帮助\",area:[\"600px\",\"380px\"],shadeClose:!0,shade:.1,skin:\"layui-layer-msg\",content:[\"http://www.layui.com/about/layedit/help.html\",\"no\"]})}},s=a.find(\".layui-layedit-tool\"),u=function(){var i=e(this),a=i.attr(\"layedit-event\"),l=i.attr(\"lay-command\");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand(\"formatBlock\",!1,\"<p>\"),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(\">i\").on(\"mousedown\",function(){var t=e(this),i=t.attr(\"layedit-event\");d.test(i)||u.call(this)}).on(\"click\",function(){var t=e(this),i=t.attr(\"layedit-event\");d.test(i)&&u.call(this)}),o.on(\"click\",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:\"LAY_layedit_link\",area:\"350px\",shade:.05,shadeClose:!0,moveType:1,title:\"超链接\",skin:\"layui-layer-msg\",content:['<ul class=\"layui-form\" style=\"margin: 15px;\">','<li class=\"layui-form-item\">','<label class=\"layui-form-label\" style=\"width: 60px;\">URL</label>','<div class=\"layui-input-block\" style=\"margin-left: 90px\">','<input name=\"url\" lay-verify=\"url\" value=\"'+(t.href||\"\")+'\" autofocus=\"true\" autocomplete=\"off\" class=\"layui-input\">',\"</div>\",\"</li>\",'<li class=\"layui-form-item\">','<label class=\"layui-form-label\" style=\"width: 60px;\">打开方式</label>','<div class=\"layui-input-block\" style=\"margin-left: 90px\">','<input type=\"radio\" name=\"target\" value=\"_self\" class=\"layui-input\" title=\"当前窗口\"'+(\"_self\"!==t.target&&t.target?\"\":\"checked\")+\">\",'<input type=\"radio\" name=\"target\" value=\"_blank\" class=\"layui-input\" title=\"新窗口\" '+(\"_blank\"===t.target?\"checked\":\"\")+\">\",\"</div>\",\"</li>\",'<li class=\"layui-form-item\" style=\"text-align: center;\">','<button type=\"button\" lay-submit lay-filter=\"layedit-link-yes\" class=\"layui-btn\"> 确定 </button>','<button style=\"margin-left: 20px;\" type=\"button\" class=\"layui-btn layui-btn-primary\"> 取消 </button>',\"</li>\",\"</ul>\"].join(\"\"),success:function(t,n){var o=\"submit(layedit-link-yes)\";a.render(\"radio\"),t.find(\".layui-btn-primary\").on(\"click\",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=[\"[微笑]\",\"[嘻嘻]\",\"[哈哈]\",\"[可爱]\",\"[可怜]\",\"[挖鼻]\",\"[吃惊]\",\"[害羞]\",\"[挤眼]\",\"[闭嘴]\",\"[鄙视]\",\"[爱你]\",\"[泪]\",\"[偷笑]\",\"[亲亲]\",\"[生病]\",\"[太开心]\",\"[白眼]\",\"[右哼哼]\",\"[左哼哼]\",\"[嘘]\",\"[衰]\",\"[委屈]\",\"[吐]\",\"[哈欠]\",\"[抱抱]\",\"[怒]\",\"[疑问]\",\"[馋嘴]\",\"[拜拜]\",\"[思考]\",\"[汗]\",\"[困]\",\"[睡]\",\"[钱]\",\"[失望]\",\"[酷]\",\"[色]\",\"[哼]\",\"[鼓掌]\",\"[晕]\",\"[悲伤]\",\"[抓狂]\",\"[黑线]\",\"[阴险]\",\"[怒骂]\",\"[互粉]\",\"[心]\",\"[伤心]\",\"[猪头]\",\"[熊猫]\",\"[兔子]\",\"[ok]\",\"[耶]\",\"[good]\",\"[NO]\",\"[赞]\",\"[来]\",\"[弱]\",\"[草泥马]\",\"[神马]\",\"[囧]\",\"[浮云]\",\"[给力]\",\"[围观]\",\"[威武]\",\"[奥特曼]\",\"[礼物]\",\"[钟]\",\"[话筒]\",\"[蜡烛]\",\"[蛋糕]\"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+\"images/face/\"+t+\".gif\"}),e}();return x.hide=x.hide||function(t){\"face\"!==e(t.target).attr(\"layedit-event\")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('<li title=\"'+e+'\"><img src=\"'+i+'\" alt=\"'+e+'\"></li>')}),'<ul class=\"layui-clear\">'+t.join(\"\")+\"</ul>\"}(),this,{tips:1,time:0,skin:\"layui-box layui-util-face\",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(\".layui-clear>li\").on(\"click\",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off(\"click\",x.hide).on(\"click\",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:\"LAY_layedit_code\",area:\"550px\",shade:.05,shadeClose:!0,moveType:1,title:\"插入代码\",skin:\"layui-layer-msg\",content:['<ul class=\"layui-form layui-form-pane\" style=\"margin: 15px;\">','<li class=\"layui-form-item\">','<label class=\"layui-form-label\">请选择语言</label>','<div class=\"layui-input-block\">','<select name=\"lang\">','<option value=\"JavaScript\">JavaScript</option>','<option value=\"HTML\">HTML</option>','<option value=\"CSS\">CSS</option>','<option value=\"Java\">Java</option>','<option value=\"PHP\">PHP</option>','<option value=\"C#\">C#</option>','<option value=\"Python\">Python</option>','<option value=\"Ruby\">Ruby</option>','<option value=\"Go\">Go</option>',\"</select>\",\"</div>\",\"</li>\",'<li class=\"layui-form-item layui-form-text\">','<label class=\"layui-form-label\">代码</label>','<div class=\"layui-input-block\">','<textarea name=\"code\" lay-verify=\"required\" autofocus=\"true\" class=\"layui-textarea\" style=\"height: 200px;\"></textarea>',\"</div>\",\"</li>\",'<li class=\"layui-form-item\" style=\"text-align: center;\">','<button type=\"button\" lay-submit lay-filter=\"layedit-code-yes\" class=\"layui-btn\"> 确定 </button>','<button style=\"margin-left: 20px;\" type=\"button\" class=\"layui-btn layui-btn-primary\"> 取消 </button>',\"</li>\",\"</ul>\"].join(\"\"),success:function(l,n){var o=\"submit(layedit-code-yes)\";a.render(\"select\"),l.find(\".layui-btn-primary\").on(\"click\",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'<i class=\"layui-icon layedit-tool-html\" title=\"HTML源代码\" lay-command=\"html\" layedit-event=\"html\"\">&#xe64b;</i><span class=\"layedit-tool-mid\"></span>',strong:'<i class=\"layui-icon layedit-tool-b\" title=\"加粗\" lay-command=\"Bold\" layedit-event=\"b\"\">&#xe62b;</i>',italic:'<i class=\"layui-icon layedit-tool-i\" title=\"斜体\" lay-command=\"italic\" layedit-event=\"i\"\">&#xe644;</i>',underline:'<i class=\"layui-icon layedit-tool-u\" title=\"下划线\" lay-command=\"underline\" layedit-event=\"u\"\">&#xe646;</i>',del:'<i class=\"layui-icon layedit-tool-d\" title=\"删除线\" lay-command=\"strikeThrough\" layedit-event=\"d\"\">&#xe64f;</i>',\"|\":'<span class=\"layedit-tool-mid\"></span>',left:'<i class=\"layui-icon layedit-tool-left\" title=\"左对齐\" lay-command=\"justifyLeft\" layedit-event=\"left\"\">&#xe649;</i>',center:'<i class=\"layui-icon layedit-tool-center\" title=\"居中对齐\" lay-command=\"justifyCenter\" layedit-event=\"center\"\">&#xe647;</i>',right:'<i class=\"layui-icon layedit-tool-right\" title=\"右对齐\" lay-command=\"justifyRight\" layedit-event=\"right\"\">&#xe648;</i>',link:'<i class=\"layui-icon layedit-tool-link\" title=\"插入链接\" layedit-event=\"link\"\">&#xe64c;</i>',unlink:'<i class=\"layui-icon layedit-tool-unlink layui-disabled\" title=\"清除链接\" lay-command=\"unlink\" layedit-event=\"unlink\"\">&#xe64d;</i>',face:'<i class=\"layui-icon layedit-tool-face\" title=\"表情\" layedit-event=\"face\"\">&#xe650;</i>',image:'<i class=\"layui-icon layedit-tool-image\" title=\"图片\" layedit-event=\"image\">&#xe64a;<input type=\"file\" name=\"file\"></i>',code:'<i class=\"layui-icon layedit-tool-code\" title=\"插入代码\" layedit-event=\"code\">&#xe64e;</i>',help:'<i class=\"layui-icon layedit-tool-help\" title=\"帮助\" layedit-event=\"help\">&#xe607;</i>'},w=new c;t(n,w)});layui.define(\"jquery\",function(e){\"use strict\";var a=layui.$,l=\"http://www.layui.com/doc/modules/code.html\";e(\"code\",function(e){var t=[];e=e||{},e.elem=a(e.elem||\".layui-code\"),e.about=!(\"about\"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr(\"lay-encode\")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#39;\").replace(/\"/g,\"&quot;\")),c.html('<ol class=\"layui-code-ol\"><li>'+o.replace(/[\\r\\t\\n]+/g,\"</li><li>\")+\"</li></ol>\"),c.find(\">.layui-code-h3\")[0]||c.prepend('<h3 class=\"layui-code-h3\">'+(c.attr(\"lay-title\")||e.title||\"code\")+(e.about?'<a href=\"'+l+'\" target=\"_blank\">layui.code</a>':\"\")+\"</h3>\");var d=c.find(\">.layui-code-ol\");c.addClass(\"layui-box layui-code-view\"),(c.attr(\"lay-skin\")||e.skin)&&c.addClass(\"layui-code-\"+(c.attr(\"lay-skin\")||e.skin)),(d.find(\"li\").length/100|0)>0&&d.css(\"margin-left\",(d.find(\"li\").length/100|0)+\"px\"),(c.attr(\"lay-height\")||e.height)&&d.css(\"max-height\",c.attr(\"lay-height\")||e.height)})})}).addcss(\"modules/code.css\",\"skincodecss\");"
  },
  {
    "path": "webroot/dist/layui.js",
    "content": "/** layui-v2.2.6 MIT License By https://www.layui.com */\n ;!function(e){\"use strict\";var t=document,n={modules:{},status:{},timeout:10,event:{}},o=function(){this.v=\"2.2.6\"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,o=n.length-1,r=o;r>0;r--)if(\"interactive\"===n[r].readyState){e=n[r].src;break}return e||n[o].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),a=function(t){e.console&&console.error&&console.error(\"Layui hint: \"+t)},i=\"undefined\"!=typeof opera&&\"[object Opera]\"===opera.toString(),u={layer:\"modules/layer\",laydate:\"modules/laydate\",laypage:\"modules/laypage\",laytpl:\"modules/laytpl\",layim:\"modules/layim\",layedit:\"modules/layedit\",form:\"modules/form\",upload:\"modules/upload\",tree:\"modules/tree\",table:\"modules/table\",element:\"modules/element\",util:\"modules/util\",flow:\"modules/flow\",carousel:\"modules/carousel\",code:\"modules/code\",jquery:\"modules/jquery\",mobile:\"modules/mobile\",\"layui.all\":\"../layui.all\"};o.prototype.cache=n,o.prototype.define=function(e,t){var o=this,r=\"function\"==typeof e,a=function(){var e=function(e,t){layui[e]=t,n.status[e]=!0};return\"function\"==typeof t&&t(function(o,r){e(o,r),n.callback[o]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui[\"layui.all\"]||!layui[\"layui.all\"]&&layui[\"layui.mobile\"]?a.call(o):(o.use(e,a),o)},o.prototype.use=function(e,o,l){function s(e,t){var o=\"PLaySTATION 3\"===navigator.platform?/^complete$/:/^(complete|loaded)$/;(\"load\"===e.type||o.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*n.timeout/4?a(f+\" is not a valid module\"):void(n.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),o,l):\"function\"==typeof o&&o.apply(layui,l)}var y=this,p=n.dir=n.dir?n.dir:r,d=t.getElementsByTagName(\"head\")[0];e=\"string\"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,n){\"jquery\"===n&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],n.host=n.host||(p.match(/\\/\\/([\\s\\S]+?)\\//)||[\"//\"+location.host+\"/\"])[0],0===e.length||layui[\"layui.all\"]&&u[f]||!layui[\"layui.all\"]&&layui[\"layui.mobile\"]&&u[f])return c(),y;if(n.modules[f])!function g(){return++m>1e3*n.timeout/4?a(f+\" is not a valid module\"):void(\"string\"==typeof n.modules[f]&&n.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement(\"script\"),h=(u[f]?p+\"lay/\":/^\\{\\/\\}/.test(y.modules[f])?\"\":n.base||\"\")+(y.modules[f]||f)+\".js\";h=h.replace(/^\\{\\/\\}/,\"\"),v.async=!0,v.charset=\"utf-8\",v.src=h+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||\"\";return e?\"?v=\"+e:\"\"}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf(\"[native code\")<0||i?v.addEventListener(\"load\",function(e){s(e,h)},!1):v.attachEvent(\"onreadystatechange\",function(e){s(e,h)}),n.modules[f]=h}return y},o.prototype.getStyle=function(t,n){var o=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return o[o.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](n)},o.prototype.link=function(e,o,r){var i=this,u=t.createElement(\"link\"),l=t.getElementsByTagName(\"head\")[0];\"string\"==typeof o&&(r=o);var s=(r||e).replace(/\\.|\\//g,\"\"),c=u.id=\"layuicss-\"+s,y=0;return u.rel=\"stylesheet\",u.href=e+(n.debug?\"?v=\"+(new Date).getTime():\"\"),u.media=\"all\",t.getElementById(c)||l.appendChild(u),\"function\"!=typeof o?i:(function p(){return++y>1e3*n.timeout/100?a(e+\" timeout\"):void(1989===parseInt(i.getStyle(t.getElementById(c),\"width\"))?function(){o()}():setTimeout(p,100))}(),i)},n.callback={},o.prototype.factory=function(e){if(layui[e])return\"function\"==typeof n.callback[e]?n.callback[e]:null},o.prototype.addcss=function(e,t,o){return layui.link(n.dir+\"css/\"+e,t,o)},o.prototype.img=function(e,t,n){var o=new Image;return o.src=e,o.complete?t(o):(o.onload=function(){o.onload=null,t(o)},void(o.onerror=function(e){o.onerror=null,n(e)}))},o.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},o.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),o.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?a(\"模块名 \"+n+\" 已被占用\"):t.modules[n]=e[n];return t},o.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||\"\"};return/^#\\//.test(e)?(e=e.replace(/^#\\//,\"\"),n.href=\"/\"+e,e=e.replace(/([^#])(#.*$)/,\"$1\").split(\"/\")||[],t.each(e,function(e,t){/^\\w+=/.test(t)?function(){t=t.split(\"=\"),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},o.prototype.data=function(t,n,o){if(t=t||\"layui\",o=o||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete o[t];n=\"object\"==typeof n?n:{key:n};try{var r=JSON.parse(o[t])}catch(a){var r={}}return\"value\"in n&&(r[n.key]=n.value),n.remove&&delete r[n.key],o[t]=JSON.stringify(r),n.key?r[n.key]:r}},o.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},o.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),o=function(e){var t=new RegExp(e+\"/([^\\\\s\\\\_\\\\-]+)\");return e=(n.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(n)?\"windows\":/linux/.test(n)?\"linux\":/iphone|ipod|ipad|ios/.test(n)?\"ios\":/mac/.test(n)?\"mac\":void 0}(),ie:function(){return!!(e.ActiveXObject||\"ActiveXObject\"in e)&&((n.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),weixin:o(\"micromessenger\")};return t&&!r[t]&&(r[t]=o(t)),r.android=/android/.test(n),r.ios=\"ios\"===r.os,r},o.prototype.hint=function(){return{error:a}},o.prototype.each=function(e,t){var n,o=this;if(\"function\"!=typeof t)return o;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return o},o.prototype.sort=function(e,t,n){var o=JSON.parse(JSON.stringify(e||[]));return t?(o.sort(function(e,n){var o=/^-?\\d+$/,r=e[t],a=n[t];return o.test(r)&&(r=parseFloat(r)),o.test(a)&&(a=parseFloat(a)),r&&!a?1:!r&&a?-1:r>a?1:r<a?-1:0}),n&&o.reverse(),o):o},o.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(n){t.cancelBubble=!0}},o.prototype.onevent=function(e,t,n){return\"string\"!=typeof e||\"function\"!=typeof n?this:o.event(e,t,null,n)},o.prototype.event=o.event=function(e,t,o,r){var a=this,i=null,u=t.match(/\\((.*)\\)$/)||[],l=(e+\".\"+t).replace(u[0],\"\"),s=u[1]||\"\",c=function(e,t){var n=t&&t.call(a,o);n===!1&&null===i&&(i=!1)};return r?(n.event[l]=n.event[l]||{},n.event[l][s]=[r],this):(layui.each(n.event[l],function(e,t){return\"{*}\"===s?void layui.each(t,c):(\"\"===e&&layui.each(t,c),void(e===s&&layui.each(t,c)))}),i)},e.layui=new o}(window);"
  },
  {
    "path": "webroot/html/css/mobilecss.css",
    "content": "video {\n    background: black;\n    border: 1px solid gray;\n}\n\n.page {\n    position: relative;\n    display: block;\n    margin: 0 auto;\n    width: 290 px;\n    height: 290 px;\n}\n\n#yours {\n    width: 80 px;\n    height: 80 px;\n    position: absolute;\n    top: 15 px;\n    right: 15 px;\n}\n\n#theirs {\n    width: 250 px;\n    height: 250 px;\n}\n\n.copy-rights {\n    position: fixed; /*or前面的是absolute就可以用*/\n    bottom: 0px;\n}\n#search_id_button {\n    /* Font & Text */\n    font-family: \"Helvetica Neue\", Helvetica, \"PingFang SC\", 微软雅黑, Tahoma, Arial, sans-serif;\n    font-size: 14px;\n    font-style: normal;\n    font-variant: normal;\n    font-weight: 400;\n    letter-spacing: normal;\n    line-height: 28px;\n    text-decoration: none solid rgb(255, 255, 255);\n    text-align: right;\n    text-indent: 0px;\n    text-transform: none;\n    vertical-align: top;\n    white-space: normal;\n    word-spacing: 0px;\n\n    /* Color & Background */\n    background-attachment: scroll;\n    background-color: rgb(30, 159, 255);\n    background-image: none;\n    background-position: 0% 0%;\n    background-repeat: repeat;\n    color: rgb(255, 255, 255);\n\n    /* Box */\n    height: 28px;\n    width: 42px;\n    border: 1px solid rgb(30, 159, 255);\n    border-top: 1px solid rgb(30, 159, 255);\n    border-right: 1px solid rgb(30, 159, 255);\n    border-bottom: 1px solid rgb(30, 159, 255);\n    border-left: 1px solid rgb(30, 159, 255);\n    margin: 5px 5px 0px;\n    padding: 0px 15px;\n    max-height: none;\n    min-height: 0px;\n    max-width: none;\n    min-width: 0px;\n\n    /* Positioning */\n    position: static;\n    top: auto;\n    bottom: auto;\n    right: auto;\n    left: auto;\n    float: none;\n    display: inline-block;\n    clear: none;\n    z-index: auto;\n\n    /* List */\n    list-style-image: none;\n    list-style-type: disc;\n    list-style-position: outside;\n\n    /* Table */\n    border-collapse: separate;\n    border-spacing: 0px 0px;\n    caption-side: top;\n    empty-cells: show;\n    table-layout: auto;\n\n    /* Miscellaneous */\n    overflow: visible;\n    cursor: pointer;\n    visibility: visible;\n\n    /* Effects */\n    transform: none;\n    transition: all 0s ease 0s;\n    outline: rgb(255, 0, 0) dashed 0.666667px;\n    outline-offset: 0px;\n    box-sizing: content-box;\n    resize: none;\n    text-shadow: none;\n    text-overflow: clip;\n    word-wrap: normal;\n    box-shadow: none;\n    border-top-left-radius: 2px;\n    border-top-right-radius: 2px;\n    border-bottom-left-radius: 2px;\n    border-bottom-right-radius: 2px;\n\n\n}\n\nAudioRecording{\n    width:1000px;\n    height:1000px;\n    background:#000000;\n    z-index: 30000;\n    visibility: visible;\n    position: absolute;\n    color: #ebebeb;\n    display: table-cell;\n    vertical-align: middle;\n    text-align: center;\n}\n\n#micmask{\n    /*width: 200px;*/\n    /*height: 200px;*/\n    color: #ebebeb;\n    display: table-cell;\n    vertical-align: middle;\n    text-align: center;\n}\n"
  },
  {
    "path": "webroot/html/css/rd.css",
    "content": "\n/*\n#AudioRecording\n{\n    height: 100%;\n    z-index: 1000;\n   background: #0C0C0C;\n}\n\n*/\n\n"
  },
  {
    "path": "webroot/html/css/style.css",
    "content": "\n/* reset */\nhtml,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,nav ul,nav li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}\narticle, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}\nol,ul{list-style:none;margin:0px;padding:0px;}\nblockquote,q{quotes:none;}\nblockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}\ntable{border-collapse:collapse;border-spacing:0;}\n/* start editing from here */\na{text-decoration:none;}\n.txt-rt{text-align:right;}/* text align right */\n.txt-lt{text-align:left;}/* text align left */\n.txt-center{text-align:center;}/* text align center */\n.float-rt{float:right;}/* float right */\n.float-lt{float:left;}/* float left */\n.clear{clear:both;}/* clear float */\n.pos-relative{position:relative;}/* Position Relative */\n.pos-absolute{position:absolute;}/* Position Absolute */\n.vertical-base{\tvertical-align:baseline;}/* vertical align baseline */\n.vertical-top{\tvertical-align:top;}/* vertical align top */\nnav.vertical ul li{\tdisplay:block;}/* vertical menu */\nnav.horizontal ul li{\tdisplay: inline-block;}/* horizontal menu */\nimg{max-width:100%;}\n/*end reset*/\n/****-----start-body----****/\nbody{\n\t/*background: url(../images/bg) no-repeat 0px 0px;*/\n\tfont-family: 'Open Sans', sans-serif;\n\tbackground-size:cover;\n\t-webkit-background-size:cover;\n\t-moz-background-size:cover;\n\t-o-background-size:cover;\n\tmin-height:1050px;\n}\n.wrap{\n\tmargin: 0 auto;\n\twidth: 80%;\n}\nbody a,form li,input[type=\"submit\"],input[type=\"text\"],.sixth-login input[type=\"submit\"],.third-login input[type=\"submit\"]{\n\ttransition: 0.1s all;\n\t-webkit-transition: 0.1s all;\n\t-moz-transition: 0.1s all;\n\t-o-transition: 0.1s all;\n}\n/*--close--*/\n.close{\nbackground: url('../images/close.png?__inline') no-repeat 0px 0px;\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  position: absolute;\n  left: 20px;\n  top: 20px;\n  -webkit-transition: color 0.2s ease-in-out;\n  -moz-transition: color 0.2s ease-in-out;\n  -o-transition: color 0.2s ease-in-out;\n  transition: color 0.2s ease-in-out;\n}\n/*--/close--*/\nh1 {\n\tfont-family: 'Exo 2', sans-serif;\n\t  text-align: center;\n\t  padding-top: 4em;\n\t  font-weight: 400;\n\t  color: #2B2B36;\n\t  font-size: 2em;\n}\n.login-form {\n\tbackground: #2b2b36;\n\tposition: relative;\n\twidth: 30%;\n\tmargin: 3% auto 0 auto;\n\ttext-align: center;\n\tborder-radius: 15px;\n\t-webkit-border-radius: 15px;\n\t-moz-border-radius: 15px;\n\t-o-border-radius: 15px;\n}\n.head img {\n\twidth: 100%;\n}\n.avtar img {\n  margin: 2em 0 0;\n\twidth: 79px;\n\theight: 79px;\n}\n.head-info {\n  padding: 5px 0;\n  text-align: center;\n  font-weight: 600;\n  font-size: 2em;\n  color: #fff;\n  background: #23232e;\n  height: 50px;\n\tborder-top-left-radius: 10px;\n\t-webkit-border-top-left-radius: 10px;\n\t-moz-border-top-left-radius: 10px;\n\t-o-border-top-left-radius: 10px;\n\tborder-top-right-radius: 10px;\n\t-webkit-border-top-right-radius: 10px;\n\t-moz-border-top-right-radius: 10px;\n\t-o-border-top-right-radius: 10p\n}\ninput[type=\"text\"] {\n\t  width: 70%;\n\t  padding: 1em 2em 1em 3em;\n\t  color: #9199aa;\n\t  font-size: 18px;\n\t  outline: none;\n\t  background: url(../images/adm.png?__inline) no-repeat 10px 15px;\n\t  border: none;\n\t  font-weight: 100;\n\t  border-bottom: 1px solid#484856;\n\t  margin-top: 2em;\n}\n input[type=\"password\"]{\n\t  width: 70%;\n\t  padding: 1em 2em 1em 3em;\n\t  color: #dd3e3e;\n\t  font-size: 18px;\n\t  outline: none;\n\t  background: url(../images/key.png?__inline) no-repeat 10px 23px;\n\t  border: none;\n\t  font-weight: 100;\n\t  border-bottom: 1px solid#484856;\n\t  margin-bottom: 3em;\n }\n.key {\n   background: url(../images/pass.png?__inline) no-repeat 447px 17px;\n}\ninput[type=\"submit\"]{\n  font-size: 30px;\n  color: #fff;\n  outline: none;\n  border: none;\n  background: #3ea751;\n  width: 100%;\n  padding: 18px 0;\n  border-bottom-left-radius: 15px;\n\t-webkit-border-bottom-left-radius: 15px;\n\t-moz-border-bottom-left-radius: 15px;\n\t-o-border-bottom-left-radius: 15px;\n\tborder-bottom-right-radius: 15px;\n\t-webkit-border-bottom-right-radius: 15px;\n\t-moz-border-bottom-right-radius: 15px;\n\t-o-border-bottom-right-radius: 15px;\n\tcursor: pointer;\n}\ninput[type=\"submit\"]:hover {\n\tbackground: #ff2775;\n\n  border-bottom-left-radius: 15px;\n\t-webkit-border-bottom-left-radius: 15px;\n\t-moz-border-bottom-left-radius: 15px;\n\t-o-border-bottom-left-radius: 15px;\n\tborder-bottom-right-radius: 15px;\n\t-webkit-border-bottom-right-radius: 15px;\n\t-moz-border-bottom-right-radius: 15px;\n\t-o-border-bottom-right-radius: 15px;\n  \ttransition: 1s all;\n\t-webkit-transition: 1s all;\n\t-moz-transition: 1s all;\n\t-o-transition: 1s all;\n}\nlabel.lbl-1 {\n  background: #6756ea;\n  width: 20px;\n  height: 20px;\n  display: block;\n  float: right;\n  border-radius: 50%;\n  margin: 16px 10px 0px 0px;\n}\nlabel.lbl-2 {\n  background: #ea569a;\n  width: 20px;\n  height: 20px;\n  display: block;\n  float: right;\n  border-radius: 50%;\n   margin: 16px 10px 0px 0px;\n}\nlabel.lbl-3 {\n  background: #f1c85f;\n  width: 20px;\n  height: 20px;\n  display: block;\n  float: right;\n  border-radius: 50%;\n  margin: 16px 10px 0px 0px;\n}\n/*--copyrights--*/\n.copy-rights{\n\ttext-align: center;\n\tmargin-top: 8em;\n}\n.copy-rights p{\n\tcolor:#FFF;\n\tfont-size: 1em;\n\tline-height:1.8em;\n}\n.copy-rights p a{\n\tcolor:#ff2a75;\n\t-webkit-transition: all 0.3s ease-out;\n\t-moz-transition: all 0.3s ease-out;\n\t-ms-transition: all 0.3s ease-out;\n\t-o-transition: all 0.3s ease-out;\n\ttransition: all 0.3s ease-out;\n\ttext-decoration:none;\n}\n.copy-rights p a:hover{\n\tcolor:#3faa53;\n\ttext-decoration:none;\n\t\ttransition: 0.1s all;\n\t-webkit-transition: 0.1s all;\n\t-moz-transition: 0.1s all;\n\t-o-transition: 0.1s all;\n}\n/*--/copyrights--*/\n/*--start-responsive-design--*/\n@media (max-width:1440px){\n\t.key {\n\t  background: url(../images/pass.png?__inline) no-repeat 376px 17px;\n\t}\n\t\n\tbody {\n\t  min-height: 811px;\n\t}\n}\n@media (max-width:1366px){\n\t.key {\n\t  background: url(../images/pass.png?__inline) no-repeat 358px 19px;\n\t}\n\t.copy-rights {\n\t  margin-top: 3em;\n\t}\n\tbody {\n\t  min-height: 768px;\n\t}\n}\n@media (max-width:1280px){\n\t.key {\n\t   background: url(../images/pass.png?__inline) no-repeat 336px 18px;\n\t}\n\tbody {\n\t  min-height: 711px;\n\t}\n\t.copy-rights {\n\t  margin-top: 0.5em;\n\t}\n}\n@media (max-width:1024px){\n\t.login-form {\n\t  width: 37%;\n\t}\n\t.key {\n\t   background: url(../images/pass.png?__inline) no-repeat 339px 18px;\n\t}\n\t.copy-rights {\n\t  margin-top: 3em;\n\t}\n\th1 {\n\t  padding-top: 2em;\n\t}\n\tbody {\n\t  min-height: 675px;\n\t}\n}\n@media (max-width:768px){\n\t.login-form {\n\t  width: 50%;\n\t    margin: 12% auto 0 auto;\n\t}\n\t.key {\n\t  background: url(../images/pass.png?__inline) no-repeat 342px 18px;\n\t}\n\tbody {\n\t  min-height: 929px;\n\t}\n}\n@media (max-width:640px){\n\t.login-form {\n\t  width: 60%;\n\t  margin: 20% auto 0 auto;\n\t}\n\t.key {\n\t  background: url(../images/pass.png?__inline) no-repeat 342px 19px;\n\t}\n}\n@media (max-width:480px){\n\t.login-form {\n\t  width: 80%;\n\t}\n}\n@media (max-width:320px){\n\th1 {\n\t  padding-top: 1em;\n\t  font-size: 1.5em;\n\t}\n\t.login-form {\n\t  width: 90%;\n\t  margin: 10% auto 0 auto;\n\t}\n\tinput[type=\"text\"] {\n\t  width: 62%;\n\t  padding: 1.2em 2em .5em 2.5em;\n\t  font-size: 17px;\n\t  margin-top: .5em;\n\t}\n\tinput[type=\"password\"] {\n\t\twidth: 62%;\n\t\tpadding: 1.2em 2em .5em 2.5em;\n\t\tfont-size: 17px;\n\t\tmargin-top: .5em;\n\t\tmargin-bottom: 2em;\n\t\t  background: url(../images/key.png?__inline) no-repeat 8px 23px;\n\t}\n\t.key {\n\t  background: url(../images/pass.png?__inline) no-repeat 235px 27px;\n\t}\n\t.avtar img {\n\t  margin: 1.1em 0 0;\n\t}\n\t.head-info {\n\t  height: 35px;\n\t  }\n\tlabel.lbl-1 {\n\t  margin: 8px 10px 0px 0px;\n\t}\n\tlabel.lbl-2 {\n\t  margin: 8px 10px 0px 0px;\n\t}\n\tlabel.lbl-3 {\n\t  margin: 8px 10px 0px 0px;\n\t}\n\t.close {\n\t  left: 16px;\n\t  top: 13px;\n\t}\n\t.copy-rights {\n\t  margin-top: 2em;\n\t}\n\tbody {\n\t    min-height: 504px;\n\t}\n\tinput[type=\"submit\"] {\n\t  font-size: 28px;\n\t  padding: 10px 0;\n\t}\n}\n/*--end-responsive-design--*/"
  },
  {
    "path": "webroot/html/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n\n\n\n\n\n</head>\n<body>\n\n<script  src=\"../dist/js/index.js\"></script>\n\n</body>\n</html>"
  },
  {
    "path": "webroot/html/js/adapter-latest.js",
    "content": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.adapter = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n/*\n *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar SDPUtils = require('sdp');\n\nfunction fixStatsType(stat) {\n  return {\n    inboundrtp: 'inbound-rtp',\n    outboundrtp: 'outbound-rtp',\n    candidatepair: 'candidate-pair',\n    localcandidate: 'local-candidate',\n    remotecandidate: 'remote-candidate'\n  }[stat.type] || stat.type;\n}\n\nfunction writeMediaSection(transceiver, caps, type, stream, dtlsRole) {\n  var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n  // Map ICE parameters (ufrag, pwd) to SDP.\n  sdp += SDPUtils.writeIceParameters(\n      transceiver.iceGatherer.getLocalParameters());\n\n  // Map DTLS parameters to SDP.\n  sdp += SDPUtils.writeDtlsParameters(\n      transceiver.dtlsTransport.getLocalParameters(),\n      type === 'offer' ? 'actpass' : dtlsRole || 'active');\n\n  sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n  if (transceiver.rtpSender && transceiver.rtpReceiver) {\n    sdp += 'a=sendrecv\\r\\n';\n  } else if (transceiver.rtpSender) {\n    sdp += 'a=sendonly\\r\\n';\n  } else if (transceiver.rtpReceiver) {\n    sdp += 'a=recvonly\\r\\n';\n  } else {\n    sdp += 'a=inactive\\r\\n';\n  }\n\n  if (transceiver.rtpSender) {\n    var trackId = transceiver.rtpSender._initialTrackId ||\n        transceiver.rtpSender.track.id;\n    transceiver.rtpSender._initialTrackId = trackId;\n    // spec.\n    var msid = 'msid:' + (stream ? stream.id : '-') + ' ' +\n        trackId + '\\r\\n';\n    sdp += 'a=' + msid;\n    // for Chrome. Legacy should no longer be required.\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n        ' ' + msid;\n\n    // RTX\n    if (transceiver.sendEncodingParameters[0].rtx) {\n      sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n          ' ' + msid;\n      sdp += 'a=ssrc-group:FID ' +\n          transceiver.sendEncodingParameters[0].ssrc + ' ' +\n          transceiver.sendEncodingParameters[0].rtx.ssrc +\n          '\\r\\n';\n    }\n  }\n  // FIXME: this should be written by writeRtpDescription.\n  sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n      ' cname:' + SDPUtils.localCName + '\\r\\n';\n  if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n        ' cname:' + SDPUtils.localCName + '\\r\\n';\n  }\n  return sdp;\n}\n\n// Edge does not like\n// 1) stun: filtered after 14393 unless ?transport=udp is present\n// 2) turn: that does not have all of turn:host:port?transport=udp\n// 3) turn: with ipv6 addresses\n// 4) turn: occurring muliple times\nfunction filterIceServers(iceServers, edgeVersion) {\n  var hasTurn = false;\n  iceServers = JSON.parse(JSON.stringify(iceServers));\n  return iceServers.filter(function(server) {\n    if (server && (server.urls || server.url)) {\n      var urls = server.urls || server.url;\n      if (server.url && !server.urls) {\n        console.warn('RTCIceServer.url is deprecated! Use urls instead.');\n      }\n      var isString = typeof urls === 'string';\n      if (isString) {\n        urls = [urls];\n      }\n      urls = urls.filter(function(url) {\n        var validTurn = url.indexOf('turn:') === 0 &&\n            url.indexOf('transport=udp') !== -1 &&\n            url.indexOf('turn:[') === -1 &&\n            !hasTurn;\n\n        if (validTurn) {\n          hasTurn = true;\n          return true;\n        }\n        return url.indexOf('stun:') === 0 && edgeVersion >= 14393 &&\n            url.indexOf('?transport=udp') === -1;\n      });\n\n      delete server.url;\n      server.urls = isString ? urls[0] : urls;\n      return !!urls.length;\n    }\n  });\n}\n\n// Determines the intersection of local and remote capabilities.\nfunction getCommonCapabilities(localCapabilities, remoteCapabilities) {\n  var commonCapabilities = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: []\n  };\n\n  var findCodecByPayloadType = function(pt, codecs) {\n    pt = parseInt(pt, 10);\n    for (var i = 0; i < codecs.length; i++) {\n      if (codecs[i].payloadType === pt ||\n          codecs[i].preferredPayloadType === pt) {\n        return codecs[i];\n      }\n    }\n  };\n\n  var rtxCapabilityMatches = function(lRtx, rRtx, lCodecs, rCodecs) {\n    var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs);\n    var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs);\n    return lCodec && rCodec &&\n        lCodec.name.toLowerCase() === rCodec.name.toLowerCase();\n  };\n\n  localCapabilities.codecs.forEach(function(lCodec) {\n    for (var i = 0; i < remoteCapabilities.codecs.length; i++) {\n      var rCodec = remoteCapabilities.codecs[i];\n      if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&\n          lCodec.clockRate === rCodec.clockRate) {\n        if (lCodec.name.toLowerCase() === 'rtx' &&\n            lCodec.parameters && rCodec.parameters.apt) {\n          // for RTX we need to find the local rtx that has a apt\n          // which points to the same local codec as the remote one.\n          if (!rtxCapabilityMatches(lCodec, rCodec,\n              localCapabilities.codecs, remoteCapabilities.codecs)) {\n            continue;\n          }\n        }\n        rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy\n        // number of channels is the highest common number of channels\n        rCodec.numChannels = Math.min(lCodec.numChannels,\n            rCodec.numChannels);\n        // push rCodec so we reply with offerer payload type\n        commonCapabilities.codecs.push(rCodec);\n\n        // determine common feedback mechanisms\n        rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {\n          for (var j = 0; j < lCodec.rtcpFeedback.length; j++) {\n            if (lCodec.rtcpFeedback[j].type === fb.type &&\n                lCodec.rtcpFeedback[j].parameter === fb.parameter) {\n              return true;\n            }\n          }\n          return false;\n        });\n        // FIXME: also need to determine .parameters\n        //  see https://github.com/openpeer/ortc/issues/569\n        break;\n      }\n    }\n  });\n\n  localCapabilities.headerExtensions.forEach(function(lHeaderExtension) {\n    for (var i = 0; i < remoteCapabilities.headerExtensions.length;\n         i++) {\n      var rHeaderExtension = remoteCapabilities.headerExtensions[i];\n      if (lHeaderExtension.uri === rHeaderExtension.uri) {\n        commonCapabilities.headerExtensions.push(rHeaderExtension);\n        break;\n      }\n    }\n  });\n\n  // FIXME: fecMechanisms\n  return commonCapabilities;\n}\n\n// is action=setLocalDescription with type allowed in signalingState\nfunction isActionAllowedInSignalingState(action, type, signalingState) {\n  return {\n    offer: {\n      setLocalDescription: ['stable', 'have-local-offer'],\n      setRemoteDescription: ['stable', 'have-remote-offer']\n    },\n    answer: {\n      setLocalDescription: ['have-remote-offer', 'have-local-pranswer'],\n      setRemoteDescription: ['have-local-offer', 'have-remote-pranswer']\n    }\n  }[type][action].indexOf(signalingState) !== -1;\n}\n\nfunction maybeAddCandidate(iceTransport, candidate) {\n  // Edge's internal representation adds some fields therefore\n  // not all fieldѕ are taken into account.\n  var alreadyAdded = iceTransport.getRemoteCandidates()\n      .find(function(remoteCandidate) {\n        return candidate.foundation === remoteCandidate.foundation &&\n            candidate.ip === remoteCandidate.ip &&\n            candidate.port === remoteCandidate.port &&\n            candidate.priority === remoteCandidate.priority &&\n            candidate.protocol === remoteCandidate.protocol &&\n            candidate.type === remoteCandidate.type;\n      });\n  if (!alreadyAdded) {\n    iceTransport.addRemoteCandidate(candidate);\n  }\n  return !alreadyAdded;\n}\n\n\nfunction makeError(name, description) {\n  var e = new Error(description);\n  e.name = name;\n  // legacy error codes from https://heycam.github.io/webidl/#idl-DOMException-error-names\n  e.code = {\n    NotSupportedError: 9,\n    InvalidStateError: 11,\n    InvalidAccessError: 15,\n    TypeError: undefined,\n    OperationError: undefined\n  }[name];\n  return e;\n}\n\nmodule.exports = function(window, edgeVersion) {\n  // https://w3c.github.io/mediacapture-main/#mediastream\n  // Helper function to add the track to the stream and\n  // dispatch the event ourselves.\n  function addTrackToStreamAndFireEvent(track, stream) {\n    stream.addTrack(track);\n    stream.dispatchEvent(new window.MediaStreamTrackEvent('addtrack',\n        {track: track}));\n  }\n\n  function removeTrackFromStreamAndFireEvent(track, stream) {\n    stream.removeTrack(track);\n    stream.dispatchEvent(new window.MediaStreamTrackEvent('removetrack',\n        {track: track}));\n  }\n\n  function fireAddTrack(pc, track, receiver, streams) {\n    var trackEvent = new Event('track');\n    trackEvent.track = track;\n    trackEvent.receiver = receiver;\n    trackEvent.transceiver = {receiver: receiver};\n    trackEvent.streams = streams;\n    window.setTimeout(function() {\n      pc._dispatchEvent('track', trackEvent);\n    });\n  }\n\n  var RTCPeerConnection = function(config) {\n    var pc = this;\n\n    var _eventTarget = document.createDocumentFragment();\n    ['addEventListener', 'removeEventListener', 'dispatchEvent']\n        .forEach(function(method) {\n          pc[method] = _eventTarget[method].bind(_eventTarget);\n        });\n\n    this.canTrickleIceCandidates = null;\n\n    this.needNegotiation = false;\n\n    this.localStreams = [];\n    this.remoteStreams = [];\n\n    this.localDescription = null;\n    this.remoteDescription = null;\n\n    this.signalingState = 'stable';\n    this.iceConnectionState = 'new';\n    this.connectionState = 'new';\n    this.iceGatheringState = 'new';\n\n    config = JSON.parse(JSON.stringify(config || {}));\n\n    this.usingBundle = config.bundlePolicy === 'max-bundle';\n    if (config.rtcpMuxPolicy === 'negotiate') {\n      throw(makeError('NotSupportedError',\n          'rtcpMuxPolicy \\'negotiate\\' is not supported'));\n    } else if (!config.rtcpMuxPolicy) {\n      config.rtcpMuxPolicy = 'require';\n    }\n\n    switch (config.iceTransportPolicy) {\n      case 'all':\n      case 'relay':\n        break;\n      default:\n        config.iceTransportPolicy = 'all';\n        break;\n    }\n\n    switch (config.bundlePolicy) {\n      case 'balanced':\n      case 'max-compat':\n      case 'max-bundle':\n        break;\n      default:\n        config.bundlePolicy = 'balanced';\n        break;\n    }\n\n    config.iceServers = filterIceServers(config.iceServers || [], edgeVersion);\n\n    this._iceGatherers = [];\n    if (config.iceCandidatePoolSize) {\n      for (var i = config.iceCandidatePoolSize; i > 0; i--) {\n        this._iceGatherers.push(new window.RTCIceGatherer({\n          iceServers: config.iceServers,\n          gatherPolicy: config.iceTransportPolicy\n        }));\n      }\n    } else {\n      config.iceCandidatePoolSize = 0;\n    }\n\n    this._config = config;\n\n    // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...\n    // everything that is needed to describe a SDP m-line.\n    this.transceivers = [];\n\n    this._sdpSessionId = SDPUtils.generateSessionId();\n    this._sdpSessionVersion = 0;\n\n    this._dtlsRole = undefined; // role for a=setup to use in answers.\n\n    this._isClosed = false;\n  };\n\n  // set up event handlers on prototype\n  RTCPeerConnection.prototype.onicecandidate = null;\n  RTCPeerConnection.prototype.onaddstream = null;\n  RTCPeerConnection.prototype.ontrack = null;\n  RTCPeerConnection.prototype.onremovestream = null;\n  RTCPeerConnection.prototype.onsignalingstatechange = null;\n  RTCPeerConnection.prototype.oniceconnectionstatechange = null;\n  RTCPeerConnection.prototype.onconnectionstatechange = null;\n  RTCPeerConnection.prototype.onicegatheringstatechange = null;\n  RTCPeerConnection.prototype.onnegotiationneeded = null;\n  RTCPeerConnection.prototype.ondatachannel = null;\n\n  RTCPeerConnection.prototype._dispatchEvent = function(name, event) {\n    if (this._isClosed) {\n      return;\n    }\n    this.dispatchEvent(event);\n    if (typeof this['on' + name] === 'function') {\n      this['on' + name](event);\n    }\n  };\n\n  RTCPeerConnection.prototype._emitGatheringStateChange = function() {\n    var event = new Event('icegatheringstatechange');\n    this._dispatchEvent('icegatheringstatechange', event);\n  };\n\n  RTCPeerConnection.prototype.getConfiguration = function() {\n    return this._config;\n  };\n\n  RTCPeerConnection.prototype.getLocalStreams = function() {\n    return this.localStreams;\n  };\n\n  RTCPeerConnection.prototype.getRemoteStreams = function() {\n    return this.remoteStreams;\n  };\n\n  // internal helper to create a transceiver object.\n  // (which is not yet the same as the WebRTC 1.0 transceiver)\n  RTCPeerConnection.prototype._createTransceiver = function(kind, doNotAdd) {\n    var hasBundleTransport = this.transceivers.length > 0;\n    var transceiver = {\n      track: null,\n      iceGatherer: null,\n      iceTransport: null,\n      dtlsTransport: null,\n      localCapabilities: null,\n      remoteCapabilities: null,\n      rtpSender: null,\n      rtpReceiver: null,\n      kind: kind,\n      mid: null,\n      sendEncodingParameters: null,\n      recvEncodingParameters: null,\n      stream: null,\n      associatedRemoteMediaStreams: [],\n      wantReceive: true\n    };\n    if (this.usingBundle && hasBundleTransport) {\n      transceiver.iceTransport = this.transceivers[0].iceTransport;\n      transceiver.dtlsTransport = this.transceivers[0].dtlsTransport;\n    } else {\n      var transports = this._createIceAndDtlsTransports();\n      transceiver.iceTransport = transports.iceTransport;\n      transceiver.dtlsTransport = transports.dtlsTransport;\n    }\n    if (!doNotAdd) {\n      this.transceivers.push(transceiver);\n    }\n    return transceiver;\n  };\n\n  RTCPeerConnection.prototype.addTrack = function(track, stream) {\n    if (this._isClosed) {\n      throw makeError('InvalidStateError',\n          'Attempted to call addTrack on a closed peerconnection.');\n    }\n\n    var alreadyExists = this.transceivers.find(function(s) {\n      return s.track === track;\n    });\n\n    if (alreadyExists) {\n      throw makeError('InvalidAccessError', 'Track already exists.');\n    }\n\n    var transceiver;\n    for (var i = 0; i < this.transceivers.length; i++) {\n      if (!this.transceivers[i].track &&\n          this.transceivers[i].kind === track.kind) {\n        transceiver = this.transceivers[i];\n      }\n    }\n    if (!transceiver) {\n      transceiver = this._createTransceiver(track.kind);\n    }\n\n    this._maybeFireNegotiationNeeded();\n\n    if (this.localStreams.indexOf(stream) === -1) {\n      this.localStreams.push(stream);\n    }\n\n    transceiver.track = track;\n    transceiver.stream = stream;\n    transceiver.rtpSender = new window.RTCRtpSender(track,\n        transceiver.dtlsTransport);\n    return transceiver.rtpSender;\n  };\n\n  RTCPeerConnection.prototype.addStream = function(stream) {\n    var pc = this;\n    if (edgeVersion >= 15025) {\n      stream.getTracks().forEach(function(track) {\n        pc.addTrack(track, stream);\n      });\n    } else {\n      // Clone is necessary for local demos mostly, attaching directly\n      // to two different senders does not work (build 10547).\n      // Fixed in 15025 (or earlier)\n      var clonedStream = stream.clone();\n      stream.getTracks().forEach(function(track, idx) {\n        var clonedTrack = clonedStream.getTracks()[idx];\n        track.addEventListener('enabled', function(event) {\n          clonedTrack.enabled = event.enabled;\n        });\n      });\n      clonedStream.getTracks().forEach(function(track) {\n        pc.addTrack(track, clonedStream);\n      });\n    }\n  };\n\n  RTCPeerConnection.prototype.removeTrack = function(sender) {\n    if (this._isClosed) {\n      throw makeError('InvalidStateError',\n          'Attempted to call removeTrack on a closed peerconnection.');\n    }\n\n    if (!(sender instanceof window.RTCRtpSender)) {\n      throw new TypeError('Argument 1 of RTCPeerConnection.removeTrack ' +\n          'does not implement interface RTCRtpSender.');\n    }\n\n    var transceiver = this.transceivers.find(function(t) {\n      return t.rtpSender === sender;\n    });\n\n    if (!transceiver) {\n      throw makeError('InvalidAccessError',\n          'Sender was not created by this websocketsignallingconnection.');\n    }\n    var stream = transceiver.stream;\n\n    transceiver.rtpSender.stop();\n    transceiver.rtpSender = null;\n    transceiver.track = null;\n    transceiver.stream = null;\n\n    // remove the stream from the set of local streams\n    var localStreams = this.transceivers.map(function(t) {\n      return t.stream;\n    });\n    if (localStreams.indexOf(stream) === -1 &&\n        this.localStreams.indexOf(stream) > -1) {\n      this.localStreams.splice(this.localStreams.indexOf(stream), 1);\n    }\n\n    this._maybeFireNegotiationNeeded();\n  };\n\n  RTCPeerConnection.prototype.removeStream = function(stream) {\n    var pc = this;\n    stream.getTracks().forEach(function(track) {\n      var sender = pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n      if (sender) {\n        pc.removeTrack(sender);\n      }\n    });\n  };\n\n  RTCPeerConnection.prototype.getSenders = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpSender;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpSender;\n    });\n  };\n\n  RTCPeerConnection.prototype.getReceivers = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpReceiver;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpReceiver;\n    });\n  };\n\n\n  RTCPeerConnection.prototype._createIceGatherer = function(sdpMLineIndex,\n      usingBundle) {\n    var pc = this;\n    if (usingBundle && sdpMLineIndex > 0) {\n      return this.transceivers[0].iceGatherer;\n    } else if (this._iceGatherers.length) {\n      return this._iceGatherers.shift();\n    }\n    var iceGatherer = new window.RTCIceGatherer({\n      iceServers: this._config.iceServers,\n      gatherPolicy: this._config.iceTransportPolicy\n    });\n    Object.defineProperty(iceGatherer, 'state',\n        {value: 'new', writable: true}\n    );\n\n    this.transceivers[sdpMLineIndex].bufferedCandidateEvents = [];\n    this.transceivers[sdpMLineIndex].bufferCandidates = function(event) {\n      var end = !event.candidate || Object.keys(event.candidate).length === 0;\n      // polyfill since RTCIceGatherer.state is not implemented in\n      // Edge 10547 yet.\n      iceGatherer.state = end ? 'completed' : 'gathering';\n      if (pc.transceivers[sdpMLineIndex].bufferedCandidateEvents !== null) {\n        pc.transceivers[sdpMLineIndex].bufferedCandidateEvents.push(event);\n      }\n    };\n    iceGatherer.addEventListener('localcandidate',\n      this.transceivers[sdpMLineIndex].bufferCandidates);\n    return iceGatherer;\n  };\n\n  // start gathering from an RTCIceGatherer.\n  RTCPeerConnection.prototype._gather = function(mid, sdpMLineIndex) {\n    var pc = this;\n    var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n    if (iceGatherer.onlocalcandidate) {\n      return;\n    }\n    var bufferedCandidateEvents =\n      this.transceivers[sdpMLineIndex].bufferedCandidateEvents;\n    this.transceivers[sdpMLineIndex].bufferedCandidateEvents = null;\n    iceGatherer.removeEventListener('localcandidate',\n      this.transceivers[sdpMLineIndex].bufferCandidates);\n    iceGatherer.onlocalcandidate = function(evt) {\n      if (pc.usingBundle && sdpMLineIndex > 0) {\n        // if we know that we use bundle we can drop candidates with\n        // ѕdpMLineIndex > 0. If we don't do this then our state gets\n        // confused since we dispose the extra ice gatherer.\n        return;\n      }\n      var event = new Event('icecandidate');\n      event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};\n\n      var cand = evt.candidate;\n      // Edge emits an empty object for RTCIceCandidateComplete‥\n      var end = !cand || Object.keys(cand).length === 0;\n      if (end) {\n        // polyfill since RTCIceGatherer.state is not implemented in\n        // Edge 10547 yet.\n        if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') {\n          iceGatherer.state = 'completed';\n        }\n      } else {\n        if (iceGatherer.state === 'new') {\n          iceGatherer.state = 'gathering';\n        }\n        // RTCIceCandidate doesn't have a component, needs to be added\n        cand.component = 1;\n        // also the usernameFragment. TODO: update SDP to take both variants.\n        cand.ufrag = iceGatherer.getLocalParameters().usernameFragment;\n\n        var serializedCandidate = SDPUtils.writeCandidate(cand);\n        event.candidate = Object.assign(event.candidate,\n            SDPUtils.parseCandidate(serializedCandidate));\n\n        event.candidate.candidate = serializedCandidate;\n        event.candidate.toJSON = function() {\n          return {\n            candidate: event.candidate.candidate,\n            sdpMid: event.candidate.sdpMid,\n            sdpMLineIndex: event.candidate.sdpMLineIndex,\n            usernameFragment: event.candidate.usernameFragment\n          };\n        };\n      }\n\n      // update local description.\n      var sections = SDPUtils.getMediaSections(pc.localDescription.sdp);\n      if (!end) {\n        sections[event.candidate.sdpMLineIndex] +=\n            'a=' + event.candidate.candidate + '\\r\\n';\n      } else {\n        sections[event.candidate.sdpMLineIndex] +=\n            'a=end-of-candidates\\r\\n';\n      }\n      pc.localDescription.sdp =\n          SDPUtils.getDescription(pc.localDescription.sdp) +\n          sections.join('');\n      var complete = pc.transceivers.every(function(transceiver) {\n        return transceiver.iceGatherer &&\n            transceiver.iceGatherer.state === 'completed';\n      });\n\n      if (pc.iceGatheringState !== 'gathering') {\n        pc.iceGatheringState = 'gathering';\n        pc._emitGatheringStateChange();\n      }\n\n      // Emit candidate. Also emit null candidate when all gatherers are\n      // complete.\n      if (!end) {\n        pc._dispatchEvent('icecandidate', event);\n      }\n      if (complete) {\n        pc._dispatchEvent('icecandidate', new Event('icecandidate'));\n        pc.iceGatheringState = 'complete';\n        pc._emitGatheringStateChange();\n      }\n    };\n\n    // emit already gathered candidates.\n    window.setTimeout(function() {\n      bufferedCandidateEvents.forEach(function(e) {\n        iceGatherer.onlocalcandidate(e);\n      });\n    }, 0);\n  };\n\n  // Create ICE transport and DTLS transport.\n  RTCPeerConnection.prototype._createIceAndDtlsTransports = function() {\n    var pc = this;\n    var iceTransport = new window.RTCIceTransport(null);\n    iceTransport.onicestatechange = function() {\n      pc._updateIceConnectionState();\n      pc._updateConnectionState();\n    };\n\n    var dtlsTransport = new window.RTCDtlsTransport(iceTransport);\n    dtlsTransport.ondtlsstatechange = function() {\n      pc._updateConnectionState();\n    };\n    dtlsTransport.onerror = function() {\n      // onerror does not set state to failed by itself.\n      Object.defineProperty(dtlsTransport, 'state',\n          {value: 'failed', writable: true});\n      pc._updateConnectionState();\n    };\n\n    return {\n      iceTransport: iceTransport,\n      dtlsTransport: dtlsTransport\n    };\n  };\n\n  // Destroy ICE gatherer, ICE transport and DTLS transport.\n  // Without triggering the callbacks.\n  RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function(\n      sdpMLineIndex) {\n    var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n    if (iceGatherer) {\n      delete iceGatherer.onlocalcandidate;\n      delete this.transceivers[sdpMLineIndex].iceGatherer;\n    }\n    var iceTransport = this.transceivers[sdpMLineIndex].iceTransport;\n    if (iceTransport) {\n      delete iceTransport.onicestatechange;\n      delete this.transceivers[sdpMLineIndex].iceTransport;\n    }\n    var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport;\n    if (dtlsTransport) {\n      delete dtlsTransport.ondtlsstatechange;\n      delete dtlsTransport.onerror;\n      delete this.transceivers[sdpMLineIndex].dtlsTransport;\n    }\n  };\n\n  // Start the RTP Sender and Receiver for a transceiver.\n  RTCPeerConnection.prototype._transceive = function(transceiver,\n      send, recv) {\n    var params = getCommonCapabilities(transceiver.localCapabilities,\n        transceiver.remoteCapabilities);\n    if (send && transceiver.rtpSender) {\n      params.encodings = transceiver.sendEncodingParameters;\n      params.rtcp = {\n        cname: SDPUtils.localCName,\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.recvEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpSender.send(params);\n    }\n    if (recv && transceiver.rtpReceiver && params.codecs.length > 0) {\n      // remove RTX field in Edge 14942\n      if (transceiver.kind === 'video'\n          && transceiver.recvEncodingParameters\n          && edgeVersion < 15019) {\n        transceiver.recvEncodingParameters.forEach(function(p) {\n          delete p.rtx;\n        });\n      }\n      if (transceiver.recvEncodingParameters.length) {\n        params.encodings = transceiver.recvEncodingParameters;\n      } else {\n        params.encodings = [{}];\n      }\n      params.rtcp = {\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.rtcpParameters.cname) {\n        params.rtcp.cname = transceiver.rtcpParameters.cname;\n      }\n      if (transceiver.sendEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpReceiver.receive(params);\n    }\n  };\n\n  RTCPeerConnection.prototype.setLocalDescription = function(description) {\n    var pc = this;\n\n    // Note: pranswer is not supported.\n    if (['offer', 'answer'].indexOf(description.type) === -1) {\n      return Promise.reject(makeError('TypeError',\n          'Unsupported type \"' + description.type + '\"'));\n    }\n\n    if (!isActionAllowedInSignalingState('setLocalDescription',\n        description.type, pc.signalingState) || pc._isClosed) {\n      return Promise.reject(makeError('InvalidStateError',\n          'Can not set local ' + description.type +\n          ' in state ' + pc.signalingState));\n    }\n\n    var sections;\n    var sessionpart;\n    if (description.type === 'offer') {\n      // VERY limited support for SDP munging. Limited to:\n      // * changing the order of codecs\n      sections = SDPUtils.splitSections(description.sdp);\n      sessionpart = sections.shift();\n      sections.forEach(function(mediaSection, sdpMLineIndex) {\n        var caps = SDPUtils.parseRtpParameters(mediaSection);\n        pc.transceivers[sdpMLineIndex].localCapabilities = caps;\n      });\n\n      pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n        pc._gather(transceiver.mid, sdpMLineIndex);\n      });\n    } else if (description.type === 'answer') {\n      sections = SDPUtils.splitSections(pc.remoteDescription.sdp);\n      sessionpart = sections.shift();\n      var isIceLite = SDPUtils.matchPrefix(sessionpart,\n          'a=ice-lite').length > 0;\n      sections.forEach(function(mediaSection, sdpMLineIndex) {\n        var transceiver = pc.transceivers[sdpMLineIndex];\n        var iceGatherer = transceiver.iceGatherer;\n        var iceTransport = transceiver.iceTransport;\n        var dtlsTransport = transceiver.dtlsTransport;\n        var localCapabilities = transceiver.localCapabilities;\n        var remoteCapabilities = transceiver.remoteCapabilities;\n\n        // treat bundle-only as not-rejected.\n        var rejected = SDPUtils.isRejected(mediaSection) &&\n            SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0;\n\n        if (!rejected && !transceiver.rejected) {\n          var remoteIceParameters = SDPUtils.getIceParameters(\n              mediaSection, sessionpart);\n          var remoteDtlsParameters = SDPUtils.getDtlsParameters(\n              mediaSection, sessionpart);\n          if (isIceLite) {\n            remoteDtlsParameters.role = 'server';\n          }\n\n          if (!pc.usingBundle || sdpMLineIndex === 0) {\n            pc._gather(transceiver.mid, sdpMLineIndex);\n            if (iceTransport.state === 'new') {\n              iceTransport.start(iceGatherer, remoteIceParameters,\n                  isIceLite ? 'controlling' : 'controlled');\n            }\n            if (dtlsTransport.state === 'new') {\n              dtlsTransport.start(remoteDtlsParameters);\n            }\n          }\n\n          // Calculate intersection of capabilities.\n          var params = getCommonCapabilities(localCapabilities,\n              remoteCapabilities);\n\n          // Start the RTCRtpSender. The RTCRtpReceiver for this\n          // transceiver has already been started in setRemoteDescription.\n          pc._transceive(transceiver,\n              params.codecs.length > 0,\n              false);\n        }\n      });\n    }\n\n    pc.localDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    if (description.type === 'offer') {\n      pc._updateSignalingState('have-local-offer');\n    } else {\n      pc._updateSignalingState('stable');\n    }\n\n    return Promise.resolve();\n  };\n\n  RTCPeerConnection.prototype.setRemoteDescription = function(description) {\n    var pc = this;\n\n    // Note: pranswer is not supported.\n    if (['offer', 'answer'].indexOf(description.type) === -1) {\n      return Promise.reject(makeError('TypeError',\n          'Unsupported type \"' + description.type + '\"'));\n    }\n\n    if (!isActionAllowedInSignalingState('setRemoteDescription',\n        description.type, pc.signalingState) || pc._isClosed) {\n      return Promise.reject(makeError('InvalidStateError',\n          'Can not set remote ' + description.type +\n          ' in state ' + pc.signalingState));\n    }\n\n    var streams = {};\n    pc.remoteStreams.forEach(function(stream) {\n      streams[stream.id] = stream;\n    });\n    var receiverList = [];\n    var sections = SDPUtils.splitSections(description.sdp);\n    var sessionpart = sections.shift();\n    var isIceLite = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-lite').length > 0;\n    var usingBundle = SDPUtils.matchPrefix(sessionpart,\n        'a=group:BUNDLE ').length > 0;\n    pc.usingBundle = usingBundle;\n    var iceOptions = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-options:')[0];\n    if (iceOptions) {\n      pc.canTrickleIceCandidates = iceOptions.substr(14).split(' ')\n          .indexOf('trickle') >= 0;\n    } else {\n      pc.canTrickleIceCandidates = false;\n    }\n\n    sections.forEach(function(mediaSection, sdpMLineIndex) {\n      var lines = SDPUtils.splitLines(mediaSection);\n      var kind = SDPUtils.getKind(mediaSection);\n      // treat bundle-only as not-rejected.\n      var rejected = SDPUtils.isRejected(mediaSection) &&\n          SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0;\n      var protocol = lines[0].substr(2).split(' ')[2];\n\n      var direction = SDPUtils.getDirection(mediaSection, sessionpart);\n      var remoteMsid = SDPUtils.parseMsid(mediaSection);\n\n      var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier();\n\n      // Reject datachannels which are not implemented yet.\n      if ((kind === 'application' && protocol === 'DTLS/SCTP') || rejected) {\n        // TODO: this is dangerous in the case where a non-rejected m-line\n        //     becomes rejected.\n        pc.transceivers[sdpMLineIndex] = {\n          mid: mid,\n          kind: kind,\n          rejected: true\n        };\n        return;\n      }\n\n      if (!rejected && pc.transceivers[sdpMLineIndex] &&\n          pc.transceivers[sdpMLineIndex].rejected) {\n        // recycle a rejected transceiver.\n        pc.transceivers[sdpMLineIndex] = pc._createTransceiver(kind, true);\n      }\n\n      var transceiver;\n      var iceGatherer;\n      var iceTransport;\n      var dtlsTransport;\n      var rtpReceiver;\n      var sendEncodingParameters;\n      var recvEncodingParameters;\n      var localCapabilities;\n\n      var track;\n      // FIXME: ensure the mediaSection has rtcp-mux set.\n      var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);\n      var remoteIceParameters;\n      var remoteDtlsParameters;\n      if (!rejected) {\n        remoteIceParameters = SDPUtils.getIceParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters.role = 'client';\n      }\n      recvEncodingParameters =\n          SDPUtils.parseRtpEncodingParameters(mediaSection);\n\n      var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection);\n\n      var isComplete = SDPUtils.matchPrefix(mediaSection,\n          'a=end-of-candidates', sessionpart).length > 0;\n      var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')\n          .map(function(cand) {\n            return SDPUtils.parseCandidate(cand);\n          })\n          .filter(function(cand) {\n            return cand.component === 1;\n          });\n\n      // Check if we can use BUNDLE and dispose transports.\n      if ((description.type === 'offer' || description.type === 'answer') &&\n          !rejected && usingBundle && sdpMLineIndex > 0 &&\n          pc.transceivers[sdpMLineIndex]) {\n        pc._disposeIceAndDtlsTransports(sdpMLineIndex);\n        pc.transceivers[sdpMLineIndex].iceGatherer =\n            pc.transceivers[0].iceGatherer;\n        pc.transceivers[sdpMLineIndex].iceTransport =\n            pc.transceivers[0].iceTransport;\n        pc.transceivers[sdpMLineIndex].dtlsTransport =\n            pc.transceivers[0].dtlsTransport;\n        if (pc.transceivers[sdpMLineIndex].rtpSender) {\n          pc.transceivers[sdpMLineIndex].rtpSender.setTransport(\n              pc.transceivers[0].dtlsTransport);\n        }\n        if (pc.transceivers[sdpMLineIndex].rtpReceiver) {\n          pc.transceivers[sdpMLineIndex].rtpReceiver.setTransport(\n              pc.transceivers[0].dtlsTransport);\n        }\n      }\n      if (description.type === 'offer' && !rejected) {\n        transceiver = pc.transceivers[sdpMLineIndex] ||\n            pc._createTransceiver(kind);\n        transceiver.mid = mid;\n\n        if (!transceiver.iceGatherer) {\n          transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex,\n              usingBundle);\n        }\n\n        if (cands.length && transceiver.iceTransport.state === 'new') {\n          if (isComplete && (!usingBundle || sdpMLineIndex === 0)) {\n            transceiver.iceTransport.setRemoteCandidates(cands);\n          } else {\n            cands.forEach(function(candidate) {\n              maybeAddCandidate(transceiver.iceTransport, candidate);\n            });\n          }\n        }\n\n        localCapabilities = window.RTCRtpReceiver.getCapabilities(kind);\n\n        // filter RTX until additional stuff needed for RTX is implemented\n        // in adapter.js\n        if (edgeVersion < 15019) {\n          localCapabilities.codecs = localCapabilities.codecs.filter(\n              function(codec) {\n                return codec.name !== 'rtx';\n              });\n        }\n\n        sendEncodingParameters = transceiver.sendEncodingParameters || [{\n          ssrc: (2 * sdpMLineIndex + 2) * 1001\n        }];\n\n        // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams\n        var isNewTrack = false;\n        if (direction === 'sendrecv' || direction === 'sendonly') {\n          isNewTrack = !transceiver.rtpReceiver;\n          rtpReceiver = transceiver.rtpReceiver ||\n              new window.RTCRtpReceiver(transceiver.dtlsTransport, kind);\n\n          if (isNewTrack) {\n            var stream;\n            track = rtpReceiver.track;\n            // FIXME: does not work with Plan B.\n            if (remoteMsid && remoteMsid.stream === '-') {\n              // no-op. a stream id of '-' means: no associated stream.\n            } else if (remoteMsid) {\n              if (!streams[remoteMsid.stream]) {\n                streams[remoteMsid.stream] = new window.MediaStream();\n                Object.defineProperty(streams[remoteMsid.stream], 'id', {\n                  get: function() {\n                    return remoteMsid.stream;\n                  }\n                });\n              }\n              Object.defineProperty(track, 'id', {\n                get: function() {\n                  return remoteMsid.track;\n                }\n              });\n              stream = streams[remoteMsid.stream];\n            } else {\n              if (!streams.default) {\n                streams.default = new window.MediaStream();\n              }\n              stream = streams.default;\n            }\n            if (stream) {\n              addTrackToStreamAndFireEvent(track, stream);\n              transceiver.associatedRemoteMediaStreams.push(stream);\n            }\n            receiverList.push([track, rtpReceiver, stream]);\n          }\n        } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track) {\n          transceiver.associatedRemoteMediaStreams.forEach(function(s) {\n            var nativeTrack = s.getTracks().find(function(t) {\n              return t.id === transceiver.rtpReceiver.track.id;\n            });\n            if (nativeTrack) {\n              removeTrackFromStreamAndFireEvent(nativeTrack, s);\n            }\n          });\n          transceiver.associatedRemoteMediaStreams = [];\n        }\n\n        transceiver.localCapabilities = localCapabilities;\n        transceiver.remoteCapabilities = remoteCapabilities;\n        transceiver.rtpReceiver = rtpReceiver;\n        transceiver.rtcpParameters = rtcpParameters;\n        transceiver.sendEncodingParameters = sendEncodingParameters;\n        transceiver.recvEncodingParameters = recvEncodingParameters;\n\n        // Start the RTCRtpReceiver now. The RTPSender is started in\n        // setLocalDescription.\n        pc._transceive(pc.transceivers[sdpMLineIndex],\n            false,\n            isNewTrack);\n      } else if (description.type === 'answer' && !rejected) {\n        transceiver = pc.transceivers[sdpMLineIndex];\n        iceGatherer = transceiver.iceGatherer;\n        iceTransport = transceiver.iceTransport;\n        dtlsTransport = transceiver.dtlsTransport;\n        rtpReceiver = transceiver.rtpReceiver;\n        sendEncodingParameters = transceiver.sendEncodingParameters;\n        localCapabilities = transceiver.localCapabilities;\n\n        pc.transceivers[sdpMLineIndex].recvEncodingParameters =\n            recvEncodingParameters;\n        pc.transceivers[sdpMLineIndex].remoteCapabilities =\n            remoteCapabilities;\n        pc.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters;\n\n        if (cands.length && iceTransport.state === 'new') {\n          if ((isIceLite || isComplete) &&\n              (!usingBundle || sdpMLineIndex === 0)) {\n            iceTransport.setRemoteCandidates(cands);\n          } else {\n            cands.forEach(function(candidate) {\n              maybeAddCandidate(transceiver.iceTransport, candidate);\n            });\n          }\n        }\n\n        if (!usingBundle || sdpMLineIndex === 0) {\n          if (iceTransport.state === 'new') {\n            iceTransport.start(iceGatherer, remoteIceParameters,\n                'controlling');\n          }\n          if (dtlsTransport.state === 'new') {\n            dtlsTransport.start(remoteDtlsParameters);\n          }\n        }\n\n        pc._transceive(transceiver,\n            direction === 'sendrecv' || direction === 'recvonly',\n            direction === 'sendrecv' || direction === 'sendonly');\n\n        // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams\n        if (rtpReceiver &&\n            (direction === 'sendrecv' || direction === 'sendonly')) {\n          track = rtpReceiver.track;\n          if (remoteMsid) {\n            if (!streams[remoteMsid.stream]) {\n              streams[remoteMsid.stream] = new window.MediaStream();\n            }\n            addTrackToStreamAndFireEvent(track, streams[remoteMsid.stream]);\n            receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]);\n          } else {\n            if (!streams.default) {\n              streams.default = new window.MediaStream();\n            }\n            addTrackToStreamAndFireEvent(track, streams.default);\n            receiverList.push([track, rtpReceiver, streams.default]);\n          }\n        } else {\n          // FIXME: actually the receiver should be created later.\n          delete transceiver.rtpReceiver;\n        }\n      }\n    });\n\n    if (pc._dtlsRole === undefined) {\n      pc._dtlsRole = description.type === 'offer' ? 'active' : 'passive';\n    }\n\n    pc.remoteDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    if (description.type === 'offer') {\n      pc._updateSignalingState('have-remote-offer');\n    } else {\n      pc._updateSignalingState('stable');\n    }\n    Object.keys(streams).forEach(function(sid) {\n      var stream = streams[sid];\n      if (stream.getTracks().length) {\n        if (pc.remoteStreams.indexOf(stream) === -1) {\n          pc.remoteStreams.push(stream);\n          var event = new Event('addstream');\n          event.stream = stream;\n          window.setTimeout(function() {\n            pc._dispatchEvent('addstream', event);\n          });\n        }\n\n        receiverList.forEach(function(item) {\n          var track = item[0];\n          var receiver = item[1];\n          if (stream.id !== item[2].id) {\n            return;\n          }\n          fireAddTrack(pc, track, receiver, [stream]);\n        });\n      }\n    });\n    receiverList.forEach(function(item) {\n      if (item[2]) {\n        return;\n      }\n      fireAddTrack(pc, item[0], item[1], []);\n    });\n\n    // check whether addIceCandidate({}) was called within four seconds after\n    // setRemoteDescription.\n    window.setTimeout(function() {\n      if (!(pc && pc.transceivers)) {\n        return;\n      }\n      pc.transceivers.forEach(function(transceiver) {\n        if (transceiver.iceTransport &&\n            transceiver.iceTransport.state === 'new' &&\n            transceiver.iceTransport.getRemoteCandidates().length > 0) {\n          console.warn('Timeout for addRemoteCandidate. Consider sending ' +\n              'an end-of-candidates notification');\n          transceiver.iceTransport.addRemoteCandidate({});\n        }\n      });\n    }, 4000);\n\n    return Promise.resolve();\n  };\n\n  RTCPeerConnection.prototype.close = function() {\n    this.transceivers.forEach(function(transceiver) {\n      /* not yet\n      if (transceiver.iceGatherer) {\n        transceiver.iceGatherer.close();\n      }\n      */\n      if (transceiver.iceTransport) {\n        transceiver.iceTransport.stop();\n      }\n      if (transceiver.dtlsTransport) {\n        transceiver.dtlsTransport.stop();\n      }\n      if (transceiver.rtpSender) {\n        transceiver.rtpSender.stop();\n      }\n      if (transceiver.rtpReceiver) {\n        transceiver.rtpReceiver.stop();\n      }\n    });\n    // FIXME: clean up tracks, local streams, remote streams, etc\n    this._isClosed = true;\n    this._updateSignalingState('closed');\n  };\n\n  // Update the signaling state.\n  RTCPeerConnection.prototype._updateSignalingState = function(newState) {\n    this.signalingState = newState;\n    var event = new Event('signalingstatechange');\n    this._dispatchEvent('signalingstatechange', event);\n  };\n\n  // Determine whether to fire the negotiationneeded event.\n  RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function() {\n    var pc = this;\n    if (this.signalingState !== 'stable' || this.needNegotiation === true) {\n      return;\n    }\n    this.needNegotiation = true;\n    window.setTimeout(function() {\n      if (pc.needNegotiation) {\n        pc.needNegotiation = false;\n        var event = new Event('negotiationneeded');\n        pc._dispatchEvent('negotiationneeded', event);\n      }\n    }, 0);\n  };\n\n  // Update the ice websocketsignallingconnection state.\n  RTCPeerConnection.prototype._updateIceConnectionState = function() {\n    var newState;\n    var states = {\n      'new': 0,\n      closed: 0,\n      checking: 0,\n      connected: 0,\n      completed: 0,\n      disconnected: 0,\n      failed: 0\n    };\n    this.transceivers.forEach(function(transceiver) {\n      states[transceiver.iceTransport.state]++;\n    });\n\n    newState = 'new';\n    if (states.failed > 0) {\n      newState = 'failed';\n    } else if (states.checking > 0) {\n      newState = 'checking';\n    } else if (states.disconnected > 0) {\n      newState = 'disconnected';\n    } else if (states.new > 0) {\n      newState = 'new';\n    } else if (states.connected > 0) {\n      newState = 'connected';\n    } else if (states.completed > 0) {\n      newState = 'completed';\n    }\n\n    if (newState !== this.iceConnectionState) {\n      this.iceConnectionState = newState;\n      var event = new Event('iceconnectionstatechange');\n      this._dispatchEvent('iceconnectionstatechange', event);\n    }\n  };\n\n  // Update the websocketsignallingconnection state.\n  RTCPeerConnection.prototype._updateConnectionState = function() {\n    var newState;\n    var states = {\n      'new': 0,\n      closed: 0,\n      connecting: 0,\n      connected: 0,\n      completed: 0,\n      disconnected: 0,\n      failed: 0\n    };\n    this.transceivers.forEach(function(transceiver) {\n      states[transceiver.iceTransport.state]++;\n      states[transceiver.dtlsTransport.state]++;\n    });\n    // ICETransport.completed and connected are the same for this purpose.\n    states.connected += states.completed;\n\n    newState = 'new';\n    if (states.failed > 0) {\n      newState = 'failed';\n    } else if (states.connecting > 0) {\n      newState = 'connecting';\n    } else if (states.disconnected > 0) {\n      newState = 'disconnected';\n    } else if (states.new > 0) {\n      newState = 'new';\n    } else if (states.connected > 0) {\n      newState = 'connected';\n    }\n\n    if (newState !== this.connectionState) {\n      this.connectionState = newState;\n      var event = new Event('connectionstatechange');\n      this._dispatchEvent('connectionstatechange', event);\n    }\n  };\n\n  RTCPeerConnection.prototype.createOffer = function() {\n    var pc = this;\n\n    if (pc._isClosed) {\n      return Promise.reject(makeError('InvalidStateError',\n          'Can not call createOffer after close'));\n    }\n\n    var numAudioTracks = pc.transceivers.filter(function(t) {\n      return t.kind === 'audio';\n    }).length;\n    var numVideoTracks = pc.transceivers.filter(function(t) {\n      return t.kind === 'video';\n    }).length;\n\n    // Determine number of audio and video tracks we need to send/recv.\n    var offerOptions = arguments[0];\n    if (offerOptions) {\n      // Reject Chrome legacy constraints.\n      if (offerOptions.mandatory || offerOptions.optional) {\n        throw new TypeError(\n            'Legacy mandatory/optional constraints not supported.');\n      }\n      if (offerOptions.offerToReceiveAudio !== undefined) {\n        if (offerOptions.offerToReceiveAudio === true) {\n          numAudioTracks = 1;\n        } else if (offerOptions.offerToReceiveAudio === false) {\n          numAudioTracks = 0;\n        } else {\n          numAudioTracks = offerOptions.offerToReceiveAudio;\n        }\n      }\n      if (offerOptions.offerToReceiveVideo !== undefined) {\n        if (offerOptions.offerToReceiveVideo === true) {\n          numVideoTracks = 1;\n        } else if (offerOptions.offerToReceiveVideo === false) {\n          numVideoTracks = 0;\n        } else {\n          numVideoTracks = offerOptions.offerToReceiveVideo;\n        }\n      }\n    }\n\n    pc.transceivers.forEach(function(transceiver) {\n      if (transceiver.kind === 'audio') {\n        numAudioTracks--;\n        if (numAudioTracks < 0) {\n          transceiver.wantReceive = false;\n        }\n      } else if (transceiver.kind === 'video') {\n        numVideoTracks--;\n        if (numVideoTracks < 0) {\n          transceiver.wantReceive = false;\n        }\n      }\n    });\n\n    // Create M-lines for recvonly streams.\n    while (numAudioTracks > 0 || numVideoTracks > 0) {\n      if (numAudioTracks > 0) {\n        pc._createTransceiver('audio');\n        numAudioTracks--;\n      }\n      if (numVideoTracks > 0) {\n        pc._createTransceiver('video');\n        numVideoTracks--;\n      }\n    }\n\n    var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId,\n        pc._sdpSessionVersion++);\n    pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      // For each track, create an ice gatherer, ice transport,\n      // dtls transport, potentially rtpsender and rtpreceiver.\n      var track = transceiver.track;\n      var kind = transceiver.kind;\n      var mid = transceiver.mid || SDPUtils.generateIdentifier();\n      transceiver.mid = mid;\n\n      if (!transceiver.iceGatherer) {\n        transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex,\n            pc.usingBundle);\n      }\n\n      var localCapabilities = window.RTCRtpSender.getCapabilities(kind);\n      // filter RTX until additional stuff needed for RTX is implemented\n      // in adapter.js\n      if (edgeVersion < 15019) {\n        localCapabilities.codecs = localCapabilities.codecs.filter(\n            function(codec) {\n              return codec.name !== 'rtx';\n            });\n      }\n      localCapabilities.codecs.forEach(function(codec) {\n        // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552\n        // by adding level-asymmetry-allowed=1\n        if (codec.name === 'H264' &&\n            codec.parameters['level-asymmetry-allowed'] === undefined) {\n          codec.parameters['level-asymmetry-allowed'] = '1';\n        }\n\n        // for subsequent offers, we might have to re-use the payload\n        // type of the last offer.\n        if (transceiver.remoteCapabilities &&\n            transceiver.remoteCapabilities.codecs) {\n          transceiver.remoteCapabilities.codecs.forEach(function(remoteCodec) {\n            if (codec.name.toLowerCase() === remoteCodec.name.toLowerCase() &&\n                codec.clockRate === remoteCodec.clockRate) {\n              codec.preferredPayloadType = remoteCodec.payloadType;\n            }\n          });\n        }\n      });\n      localCapabilities.headerExtensions.forEach(function(hdrExt) {\n        var remoteExtensions = transceiver.remoteCapabilities &&\n            transceiver.remoteCapabilities.headerExtensions || [];\n        remoteExtensions.forEach(function(rHdrExt) {\n          if (hdrExt.uri === rHdrExt.uri) {\n            hdrExt.id = rHdrExt.id;\n          }\n        });\n      });\n\n      // generate an ssrc now, to be used later in rtpSender.send\n      var sendEncodingParameters = transceiver.sendEncodingParameters || [{\n        ssrc: (2 * sdpMLineIndex + 1) * 1001\n      }];\n      if (track) {\n        // add RTX\n        if (edgeVersion >= 15019 && kind === 'video' &&\n            !sendEncodingParameters[0].rtx) {\n          sendEncodingParameters[0].rtx = {\n            ssrc: sendEncodingParameters[0].ssrc + 1\n          };\n        }\n      }\n\n      if (transceiver.wantReceive) {\n        transceiver.rtpReceiver = new window.RTCRtpReceiver(\n            transceiver.dtlsTransport, kind);\n      }\n\n      transceiver.localCapabilities = localCapabilities;\n      transceiver.sendEncodingParameters = sendEncodingParameters;\n    });\n\n    // always offer BUNDLE and dispose on return if not supported.\n    if (pc._config.bundlePolicy !== 'max-compat') {\n      sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    sdp += 'a=ice-options:trickle\\r\\n';\n\n    pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      sdp += writeMediaSection(transceiver, transceiver.localCapabilities,\n          'offer', transceiver.stream, pc._dtlsRole);\n      sdp += 'a=rtcp-rsize\\r\\n';\n\n      if (transceiver.iceGatherer && pc.iceGatheringState !== 'new' &&\n          (sdpMLineIndex === 0 || !pc.usingBundle)) {\n        transceiver.iceGatherer.getLocalCandidates().forEach(function(cand) {\n          cand.component = 1;\n          sdp += 'a=' + SDPUtils.writeCandidate(cand) + '\\r\\n';\n        });\n\n        if (transceiver.iceGatherer.state === 'completed') {\n          sdp += 'a=end-of-candidates\\r\\n';\n        }\n      }\n    });\n\n    var desc = new window.RTCSessionDescription({\n      type: 'offer',\n      sdp: sdp\n    });\n    return Promise.resolve(desc);\n  };\n\n  RTCPeerConnection.prototype.createAnswer = function() {\n    var pc = this;\n\n    if (pc._isClosed) {\n      return Promise.reject(makeError('InvalidStateError',\n          'Can not call createAnswer after close'));\n    }\n\n    if (!(pc.signalingState === 'have-remote-offer' ||\n        pc.signalingState === 'have-local-pranswer')) {\n      return Promise.reject(makeError('InvalidStateError',\n          'Can not call createAnswer in signalingState ' + pc.signalingState));\n    }\n\n    var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId,\n        pc._sdpSessionVersion++);\n    if (pc.usingBundle) {\n      sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    var mediaSectionsInOffer = SDPUtils.getMediaSections(\n        pc.remoteDescription.sdp).length;\n    pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      if (sdpMLineIndex + 1 > mediaSectionsInOffer) {\n        return;\n      }\n      if (transceiver.rejected) {\n        if (transceiver.kind === 'application') {\n          sdp += 'm=application 0 DTLS/SCTP 5000\\r\\n';\n        } else if (transceiver.kind === 'audio') {\n          sdp += 'm=audio 0 UDP/TLS/RTP/SAVPF 0\\r\\n' +\n              'a=rtpmap:0 PCMU/8000\\r\\n';\n        } else if (transceiver.kind === 'video') {\n          sdp += 'm=video 0 UDP/TLS/RTP/SAVPF 120\\r\\n' +\n              'a=rtpmap:120 VP8/90000\\r\\n';\n        }\n        sdp += 'c=IN IP4 0.0.0.0\\r\\n' +\n            'a=inactive\\r\\n' +\n            'a=mid:' + transceiver.mid + '\\r\\n';\n        return;\n      }\n\n      // FIXME: look at direction.\n      if (transceiver.stream) {\n        var localTrack;\n        if (transceiver.kind === 'audio') {\n          localTrack = transceiver.stream.getAudioTracks()[0];\n        } else if (transceiver.kind === 'video') {\n          localTrack = transceiver.stream.getVideoTracks()[0];\n        }\n        if (localTrack) {\n          // add RTX\n          if (edgeVersion >= 15019 && transceiver.kind === 'video' &&\n              !transceiver.sendEncodingParameters[0].rtx) {\n            transceiver.sendEncodingParameters[0].rtx = {\n              ssrc: transceiver.sendEncodingParameters[0].ssrc + 1\n            };\n          }\n        }\n      }\n\n      // Calculate intersection of capabilities.\n      var commonCapabilities = getCommonCapabilities(\n          transceiver.localCapabilities,\n          transceiver.remoteCapabilities);\n\n      var hasRtx = commonCapabilities.codecs.filter(function(c) {\n        return c.name.toLowerCase() === 'rtx';\n      }).length;\n      if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) {\n        delete transceiver.sendEncodingParameters[0].rtx;\n      }\n\n      sdp += writeMediaSection(transceiver, commonCapabilities,\n          'answer', transceiver.stream, pc._dtlsRole);\n      if (transceiver.rtcpParameters &&\n          transceiver.rtcpParameters.reducedSize) {\n        sdp += 'a=rtcp-rsize\\r\\n';\n      }\n    });\n\n    var desc = new window.RTCSessionDescription({\n      type: 'answer',\n      sdp: sdp\n    });\n    return Promise.resolve(desc);\n  };\n\n  RTCPeerConnection.prototype.addIceCandidate = function(candidate) {\n    var pc = this;\n    var sections;\n    if (candidate && !(candidate.sdpMLineIndex !== undefined ||\n        candidate.sdpMid)) {\n      return Promise.reject(new TypeError('sdpMLineIndex or sdpMid required'));\n    }\n\n    // TODO: needs to go into ops queue.\n    return new Promise(function(resolve, reject) {\n      if (!pc.remoteDescription) {\n        return reject(makeError('InvalidStateError',\n            'Can not add ICE candidate without a remote description'));\n      } else if (!candidate || candidate.candidate === '') {\n        for (var j = 0; j < pc.transceivers.length; j++) {\n          if (pc.transceivers[j].rejected) {\n            continue;\n          }\n          pc.transceivers[j].iceTransport.addRemoteCandidate({});\n          sections = SDPUtils.getMediaSections(pc.remoteDescription.sdp);\n          sections[j] += 'a=end-of-candidates\\r\\n';\n          pc.remoteDescription.sdp =\n              SDPUtils.getDescription(pc.remoteDescription.sdp) +\n              sections.join('');\n          if (pc.usingBundle) {\n            break;\n          }\n        }\n      } else {\n        var sdpMLineIndex = candidate.sdpMLineIndex;\n        if (candidate.sdpMid) {\n          for (var i = 0; i < pc.transceivers.length; i++) {\n            if (pc.transceivers[i].mid === candidate.sdpMid) {\n              sdpMLineIndex = i;\n              break;\n            }\n          }\n        }\n        var transceiver = pc.transceivers[sdpMLineIndex];\n        if (transceiver) {\n          if (transceiver.rejected) {\n            return resolve();\n          }\n          var cand = Object.keys(candidate.candidate).length > 0 ?\n              SDPUtils.parseCandidate(candidate.candidate) : {};\n          // Ignore Chrome's invalid candidates since Edge does not like them.\n          if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {\n            return resolve();\n          }\n          // Ignore RTCP candidates, we assume RTCP-MUX.\n          if (cand.component && cand.component !== 1) {\n            return resolve();\n          }\n          // when using bundle, avoid adding candidates to the wrong\n          // ice transport. And avoid adding candidates added in the SDP.\n          if (sdpMLineIndex === 0 || (sdpMLineIndex > 0 &&\n              transceiver.iceTransport !== pc.transceivers[0].iceTransport)) {\n            if (!maybeAddCandidate(transceiver.iceTransport, cand)) {\n              return reject(makeError('OperationError',\n                  'Can not add ICE candidate'));\n            }\n          }\n\n          // update the remoteDescription.\n          var candidateString = candidate.candidate.trim();\n          if (candidateString.indexOf('a=') === 0) {\n            candidateString = candidateString.substr(2);\n          }\n          sections = SDPUtils.getMediaSections(pc.remoteDescription.sdp);\n          sections[sdpMLineIndex] += 'a=' +\n              (cand.type ? candidateString : 'end-of-candidates')\n              + '\\r\\n';\n          pc.remoteDescription.sdp =\n              SDPUtils.getDescription(pc.remoteDescription.sdp) +\n              sections.join('');\n        } else {\n          return reject(makeError('OperationError',\n              'Can not add ICE candidate'));\n        }\n      }\n      resolve();\n    });\n  };\n\n  RTCPeerConnection.prototype.getStats = function(selector) {\n    if (selector && selector instanceof window.MediaStreamTrack) {\n      var senderOrReceiver = null;\n      this.transceivers.forEach(function(transceiver) {\n        if (transceiver.rtpSender &&\n            transceiver.rtpSender.track === selector) {\n          senderOrReceiver = transceiver.rtpSender;\n        } else if (transceiver.rtpReceiver &&\n            transceiver.rtpReceiver.track === selector) {\n          senderOrReceiver = transceiver.rtpReceiver;\n        }\n      });\n      if (!senderOrReceiver) {\n        throw makeError('InvalidAccessError', 'Invalid selector.');\n      }\n      return senderOrReceiver.getStats();\n    }\n\n    var promises = [];\n    this.transceivers.forEach(function(transceiver) {\n      ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',\n          'dtlsTransport'].forEach(function(method) {\n            if (transceiver[method]) {\n              promises.push(transceiver[method].getStats());\n            }\n          });\n    });\n    return Promise.all(promises).then(function(allStats) {\n      var results = new Map();\n      allStats.forEach(function(stats) {\n        stats.forEach(function(stat) {\n          results.set(stat.id, stat);\n        });\n      });\n      return results;\n    });\n  };\n\n  // fix low-level stat names and return Map instead of object.\n  var ortcObjects = ['RTCRtpSender', 'RTCRtpReceiver', 'RTCIceGatherer',\n    'RTCIceTransport', 'RTCDtlsTransport'];\n  ortcObjects.forEach(function(ortcObjectName) {\n    var obj = window[ortcObjectName];\n    if (obj && obj.prototype && obj.prototype.getStats) {\n      var nativeGetstats = obj.prototype.getStats;\n      obj.prototype.getStats = function() {\n        return nativeGetstats.apply(this)\n        .then(function(nativeStats) {\n          var mapStats = new Map();\n          Object.keys(nativeStats).forEach(function(id) {\n            nativeStats[id].type = fixStatsType(nativeStats[id]);\n            mapStats.set(id, nativeStats[id]);\n          });\n          return mapStats;\n        });\n      };\n    }\n  });\n\n  // legacy callback shims. Should be moved to adapter.js some days.\n  var methods = ['createOffer', 'createAnswer'];\n  methods.forEach(function(method) {\n    var nativeMethod = RTCPeerConnection.prototype[method];\n    RTCPeerConnection.prototype[method] = function() {\n      var args = arguments;\n      if (typeof args[0] === 'function' ||\n          typeof args[1] === 'function') { // legacy\n        return nativeMethod.apply(this, [arguments[2]])\n        .then(function(description) {\n          if (typeof args[0] === 'function') {\n            args[0].apply(null, [description]);\n          }\n        }, function(error) {\n          if (typeof args[1] === 'function') {\n            args[1].apply(null, [error]);\n          }\n        });\n      }\n      return nativeMethod.apply(this, arguments);\n    };\n  });\n\n  methods = ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'];\n  methods.forEach(function(method) {\n    var nativeMethod = RTCPeerConnection.prototype[method];\n    RTCPeerConnection.prototype[method] = function() {\n      var args = arguments;\n      if (typeof args[1] === 'function' ||\n          typeof args[2] === 'function') { // legacy\n        return nativeMethod.apply(this, arguments)\n        .then(function() {\n          if (typeof args[1] === 'function') {\n            args[1].apply(null);\n          }\n        }, function(error) {\n          if (typeof args[2] === 'function') {\n            args[2].apply(null, [error]);\n          }\n        });\n      }\n      return nativeMethod.apply(this, arguments);\n    };\n  });\n\n  // getStats is special. It doesn't have a spec legacy method yet we support\n  // getStats(something, cb) without error callbacks.\n  ['getStats'].forEach(function(method) {\n    var nativeMethod = RTCPeerConnection.prototype[method];\n    RTCPeerConnection.prototype[method] = function() {\n      var args = arguments;\n      if (typeof args[1] === 'function') {\n        return nativeMethod.apply(this, arguments)\n        .then(function() {\n          if (typeof args[1] === 'function') {\n            args[1].apply(null);\n          }\n        });\n      }\n      return nativeMethod.apply(this, arguments);\n    };\n  });\n\n  return RTCPeerConnection;\n};\n\n},{\"sdp\":2}],2:[function(require,module,exports){\n /* eslint-env node */\n'use strict';\n\n// SDP helpers.\nvar SDPUtils = {};\n\n// Generate an alphanumeric identifier for cname or mids.\n// TODO: use UUIDs instead? https://gist.github.com/jed/982883\nSDPUtils.generateIdentifier = function() {\n  return Math.random().toString(36).substr(2, 10);\n};\n\n// The RTCP CNAME used by all peerconnections from the same JS.\nSDPUtils.localCName = SDPUtils.generateIdentifier();\n\n// Splits SDP into lines, dealing with both CRLF and LF.\nSDPUtils.splitLines = function(blob) {\n  return blob.trim().split('\\n').map(function(line) {\n    return line.trim();\n  });\n};\n// Splits SDP into sessionpart and mediasections. Ensures CRLF.\nSDPUtils.splitSections = function(blob) {\n  var parts = blob.split('\\nm=');\n  return parts.map(function(part, index) {\n    return (index > 0 ? 'm=' + part : part).trim() + '\\r\\n';\n  });\n};\n\n// returns the session description.\nSDPUtils.getDescription = function(blob) {\n  var sections = SDPUtils.splitSections(blob);\n  return sections && sections[0];\n};\n\n// returns the individual media sections.\nSDPUtils.getMediaSections = function(blob) {\n  var sections = SDPUtils.splitSections(blob);\n  sections.shift();\n  return sections;\n};\n\n// Returns lines that start with a certain prefix.\nSDPUtils.matchPrefix = function(blob, prefix) {\n  return SDPUtils.splitLines(blob).filter(function(line) {\n    return line.indexOf(prefix) === 0;\n  });\n};\n\n// Parses an ICE candidate line. Sample input:\n// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8\n// rport 55996\"\nSDPUtils.parseCandidate = function(line) {\n  var parts;\n  // Parse both variants.\n  if (line.indexOf('a=candidate:') === 0) {\n    parts = line.substring(12).split(' ');\n  } else {\n    parts = line.substring(10).split(' ');\n  }\n\n  var candidate = {\n    foundation: parts[0],\n    component: parseInt(parts[1], 10),\n    protocol: parts[2].toLowerCase(),\n    priority: parseInt(parts[3], 10),\n    ip: parts[4],\n    port: parseInt(parts[5], 10),\n    // skip parts[6] == 'typ'\n    type: parts[7]\n  };\n\n  for (var i = 8; i < parts.length; i += 2) {\n    switch (parts[i]) {\n      case 'raddr':\n        candidate.relatedAddress = parts[i + 1];\n        break;\n      case 'rport':\n        candidate.relatedPort = parseInt(parts[i + 1], 10);\n        break;\n      case 'tcptype':\n        candidate.tcpType = parts[i + 1];\n        break;\n      case 'ufrag':\n        candidate.ufrag = parts[i + 1]; // for backward compability.\n        candidate.usernameFragment = parts[i + 1];\n        break;\n      default: // extension handling, in particular ufrag\n        candidate[parts[i]] = parts[i + 1];\n        break;\n    }\n  }\n  return candidate;\n};\n\n// Translates a candidate object into SDP candidate attribute.\nSDPUtils.writeCandidate = function(candidate) {\n  var sdp = [];\n  sdp.push(candidate.foundation);\n  sdp.push(candidate.component);\n  sdp.push(candidate.protocol.toUpperCase());\n  sdp.push(candidate.priority);\n  sdp.push(candidate.ip);\n  sdp.push(candidate.port);\n\n  var type = candidate.type;\n  sdp.push('typ');\n  sdp.push(type);\n  if (type !== 'host' && candidate.relatedAddress &&\n      candidate.relatedPort) {\n    sdp.push('raddr');\n    sdp.push(candidate.relatedAddress);\n    sdp.push('rport');\n    sdp.push(candidate.relatedPort);\n  }\n  if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') {\n    sdp.push('tcptype');\n    sdp.push(candidate.tcpType);\n  }\n  if (candidate.usernameFragment || candidate.ufrag) {\n    sdp.push('ufrag');\n    sdp.push(candidate.usernameFragment || candidate.ufrag);\n  }\n  return 'candidate:' + sdp.join(' ');\n};\n\n// Parses an ice-options line, returns an array of option tags.\n// a=ice-options:foo bar\nSDPUtils.parseIceOptions = function(line) {\n  return line.substr(14).split(' ');\n};\n\n// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input:\n// a=rtpmap:111 opus/48000/2\nSDPUtils.parseRtpMap = function(line) {\n  var parts = line.substr(9).split(' ');\n  var parsed = {\n    payloadType: parseInt(parts.shift(), 10) // was: id\n  };\n\n  parts = parts[0].split('/');\n\n  parsed.name = parts[0];\n  parsed.clockRate = parseInt(parts[1], 10); // was: clockrate\n  parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1;\n  // legacy alias, got renamed back to channels in ORTC.\n  parsed.numChannels = parsed.channels;\n  return parsed;\n};\n\n// Generate an a=rtpmap line from RTCRtpCodecCapability or\n// RTCRtpCodecParameters.\nSDPUtils.writeRtpMap = function(codec) {\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  var channels = codec.channels || codec.numChannels || 1;\n  return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +\n      (channels !== 1 ? '/' + channels : '') + '\\r\\n';\n};\n\n// Parses an a=extmap line (headerextension from RFC 5285). Sample input:\n// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\n// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset\nSDPUtils.parseExtmap = function(line) {\n  var parts = line.substr(9).split(' ');\n  return {\n    id: parseInt(parts[0], 10),\n    direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv',\n    uri: parts[1]\n  };\n};\n\n// Generates a=extmap line from RTCRtpHeaderExtensionParameters or\n// RTCRtpHeaderExtension.\nSDPUtils.writeExtmap = function(headerExtension) {\n  return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) +\n      (headerExtension.direction && headerExtension.direction !== 'sendrecv'\n          ? '/' + headerExtension.direction\n          : '') +\n      ' ' + headerExtension.uri + '\\r\\n';\n};\n\n// Parses an ftmp line, returns dictionary. Sample input:\n// a=fmtp:96 vbr=on;cng=on\n// Also deals with vbr=on; cng=on\nSDPUtils.parseFmtp = function(line) {\n  var parsed = {};\n  var kv;\n  var parts = line.substr(line.indexOf(' ') + 1).split(';');\n  for (var j = 0; j < parts.length; j++) {\n    kv = parts[j].trim().split('=');\n    parsed[kv[0].trim()] = kv[1];\n  }\n  return parsed;\n};\n\n// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeFmtp = function(codec) {\n  var line = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.parameters && Object.keys(codec.parameters).length) {\n    var params = [];\n    Object.keys(codec.parameters).forEach(function(param) {\n      if (codec.parameters[param]) {\n        params.push(param + '=' + codec.parameters[param]);\n      } else {\n        params.push(param);\n      }\n    });\n    line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\\r\\n';\n  }\n  return line;\n};\n\n// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:\n// a=rtcp-fb:98 nack rpsi\nSDPUtils.parseRtcpFb = function(line) {\n  var parts = line.substr(line.indexOf(' ') + 1).split(' ');\n  return {\n    type: parts.shift(),\n    parameter: parts.join(' ')\n  };\n};\n// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeRtcpFb = function(codec) {\n  var lines = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.rtcpFeedback && codec.rtcpFeedback.length) {\n    // FIXME: special handling for trr-int?\n    codec.rtcpFeedback.forEach(function(fb) {\n      lines += 'a=rtcp-fb:' + pt + ' ' + fb.type +\n      (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') +\n          '\\r\\n';\n    });\n  }\n  return lines;\n};\n\n// Parses an RFC 5576 ssrc media attribute. Sample input:\n// a=ssrc:3735928559 cname:something\nSDPUtils.parseSsrcMedia = function(line) {\n  var sp = line.indexOf(' ');\n  var parts = {\n    ssrc: parseInt(line.substr(7, sp - 7), 10)\n  };\n  var colon = line.indexOf(':', sp);\n  if (colon > -1) {\n    parts.attribute = line.substr(sp + 1, colon - sp - 1);\n    parts.value = line.substr(colon + 1);\n  } else {\n    parts.attribute = line.substr(sp + 1);\n  }\n  return parts;\n};\n\n// Extracts the MID (RFC 5888) from a media section.\n// returns the MID or undefined if no mid line was found.\nSDPUtils.getMid = function(mediaSection) {\n  var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0];\n  if (mid) {\n    return mid.substr(6);\n  }\n};\n\nSDPUtils.parseFingerprint = function(line) {\n  var parts = line.substr(14).split(' ');\n  return {\n    algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge.\n    value: parts[1]\n  };\n};\n\n// Extracts DTLS parameters from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the fingerprint line as input. See also getIceParameters.\nSDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n      'a=fingerprint:');\n  // Note: a=setup line is ignored since we use the 'auto' role.\n  // Note2: 'algorithm' is not case sensitive except in Edge.\n  return {\n    role: 'auto',\n    fingerprints: lines.map(SDPUtils.parseFingerprint)\n  };\n};\n\n// Serializes DTLS parameters to SDP.\nSDPUtils.writeDtlsParameters = function(params, setupType) {\n  var sdp = 'a=setup:' + setupType + '\\r\\n';\n  params.fingerprints.forEach(function(fp) {\n    sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\\r\\n';\n  });\n  return sdp;\n};\n// Parses ICE information from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the ice-ufrag and ice-pwd lines as input.\nSDPUtils.getIceParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  // Search in session part, too.\n  lines = lines.concat(SDPUtils.splitLines(sessionpart));\n  var iceParameters = {\n    usernameFragment: lines.filter(function(line) {\n      return line.indexOf('a=ice-ufrag:') === 0;\n    })[0].substr(12),\n    password: lines.filter(function(line) {\n      return line.indexOf('a=ice-pwd:') === 0;\n    })[0].substr(10)\n  };\n  return iceParameters;\n};\n\n// Serializes ICE parameters to SDP.\nSDPUtils.writeIceParameters = function(params) {\n  return 'a=ice-ufrag:' + params.usernameFragment + '\\r\\n' +\n      'a=ice-pwd:' + params.password + '\\r\\n';\n};\n\n// Parses the SDP media section and returns RTCRtpParameters.\nSDPUtils.parseRtpParameters = function(mediaSection) {\n  var description = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: [],\n    rtcp: []\n  };\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  for (var i = 3; i < mline.length; i++) { // find all codecs from mline[3..]\n    var pt = mline[i];\n    var rtpmapline = SDPUtils.matchPrefix(\n        mediaSection, 'a=rtpmap:' + pt + ' ')[0];\n    if (rtpmapline) {\n      var codec = SDPUtils.parseRtpMap(rtpmapline);\n      var fmtps = SDPUtils.matchPrefix(\n          mediaSection, 'a=fmtp:' + pt + ' ');\n      // Only the first a=fmtp:<pt> is considered.\n      codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};\n      codec.rtcpFeedback = SDPUtils.matchPrefix(\n          mediaSection, 'a=rtcp-fb:' + pt + ' ')\n        .map(SDPUtils.parseRtcpFb);\n      description.codecs.push(codec);\n      // parse FEC mechanisms from rtpmap lines.\n      switch (codec.name.toUpperCase()) {\n        case 'RED':\n        case 'ULPFEC':\n          description.fecMechanisms.push(codec.name.toUpperCase());\n          break;\n        default: // only RED and ULPFEC are recognized as FEC mechanisms.\n          break;\n      }\n    }\n  }\n  SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function(line) {\n    description.headerExtensions.push(SDPUtils.parseExtmap(line));\n  });\n  // FIXME: parse rtcp.\n  return description;\n};\n\n// Generates parts of the SDP media section describing the capabilities /\n// parameters.\nSDPUtils.writeRtpDescription = function(kind, caps) {\n  var sdp = '';\n\n  // Build the mline.\n  sdp += 'm=' + kind + ' ';\n  sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs.\n  sdp += ' UDP/TLS/RTP/SAVPF ';\n  sdp += caps.codecs.map(function(codec) {\n    if (codec.preferredPayloadType !== undefined) {\n      return codec.preferredPayloadType;\n    }\n    return codec.payloadType;\n  }).join(' ') + '\\r\\n';\n\n  sdp += 'c=IN IP4 0.0.0.0\\r\\n';\n  sdp += 'a=rtcp:9 IN IP4 0.0.0.0\\r\\n';\n\n  // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.\n  caps.codecs.forEach(function(codec) {\n    sdp += SDPUtils.writeRtpMap(codec);\n    sdp += SDPUtils.writeFmtp(codec);\n    sdp += SDPUtils.writeRtcpFb(codec);\n  });\n  var maxptime = 0;\n  caps.codecs.forEach(function(codec) {\n    if (codec.maxptime > maxptime) {\n      maxptime = codec.maxptime;\n    }\n  });\n  if (maxptime > 0) {\n    sdp += 'a=maxptime:' + maxptime + '\\r\\n';\n  }\n  sdp += 'a=rtcp-mux\\r\\n';\n\n  if (caps.headerExtensions) {\n    caps.headerExtensions.forEach(function(extension) {\n      sdp += SDPUtils.writeExtmap(extension);\n    });\n  }\n  // FIXME: write fecMechanisms.\n  return sdp;\n};\n\n// Parses the SDP media section and returns an array of\n// RTCRtpEncodingParameters.\nSDPUtils.parseRtpEncodingParameters = function(mediaSection) {\n  var encodingParameters = [];\n  var description = SDPUtils.parseRtpParameters(mediaSection);\n  var hasRed = description.fecMechanisms.indexOf('RED') !== -1;\n  var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1;\n\n  // filter a=ssrc:... cname:, ignore PlanB-msid\n  var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'cname';\n  });\n  var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc;\n  var secondarySsrc;\n\n  var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID')\n  .map(function(line) {\n    var parts = line.substr(17).split(' ');\n    return parts.map(function(part) {\n      return parseInt(part, 10);\n    });\n  });\n  if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) {\n    secondarySsrc = flows[0][1];\n  }\n\n  description.codecs.forEach(function(codec) {\n    if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) {\n      var encParam = {\n        ssrc: primarySsrc,\n        codecPayloadType: parseInt(codec.parameters.apt, 10),\n      };\n      if (primarySsrc && secondarySsrc) {\n        encParam.rtx = {ssrc: secondarySsrc};\n      }\n      encodingParameters.push(encParam);\n      if (hasRed) {\n        encParam = JSON.parse(JSON.stringify(encParam));\n        encParam.fec = {\n          ssrc: secondarySsrc,\n          mechanism: hasUlpfec ? 'red+ulpfec' : 'red'\n        };\n        encodingParameters.push(encParam);\n      }\n    }\n  });\n  if (encodingParameters.length === 0 && primarySsrc) {\n    encodingParameters.push({\n      ssrc: primarySsrc\n    });\n  }\n\n  // we support both b=AS and b=TIAS but interpret AS as TIAS.\n  var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b=');\n  if (bandwidth.length) {\n    if (bandwidth[0].indexOf('b=TIAS:') === 0) {\n      bandwidth = parseInt(bandwidth[0].substr(7), 10);\n    } else if (bandwidth[0].indexOf('b=AS:') === 0) {\n      // use formula from JSEP to convert b=AS to TIAS value.\n      bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95\n          - (50 * 40 * 8);\n    } else {\n      bandwidth = undefined;\n    }\n    encodingParameters.forEach(function(params) {\n      params.maxBitrate = bandwidth;\n    });\n  }\n  return encodingParameters;\n};\n\n// parses http://draft.ortc.org/#rtcrtcpparameters*\nSDPUtils.parseRtcpParameters = function(mediaSection) {\n  var rtcpParameters = {};\n\n  var cname;\n  // Gets the first SSRC. Note that with RTX there might be multiple\n  // SSRCs.\n  var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n      .map(function(line) {\n        return SDPUtils.parseSsrcMedia(line);\n      })\n      .filter(function(obj) {\n        return obj.attribute === 'cname';\n      })[0];\n  if (remoteSsrc) {\n    rtcpParameters.cname = remoteSsrc.value;\n    rtcpParameters.ssrc = remoteSsrc.ssrc;\n  }\n\n  // Edge uses the compound attribute instead of reducedSize\n  // compound is !reducedSize\n  var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize');\n  rtcpParameters.reducedSize = rsize.length > 0;\n  rtcpParameters.compound = rsize.length === 0;\n\n  // parses the rtcp-mux attrіbute.\n  // Note that Edge does not support unmuxed RTCP.\n  var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux');\n  rtcpParameters.mux = mux.length > 0;\n\n  return rtcpParameters;\n};\n\n// parses either a=msid: or a=ssrc:... msid lines and returns\n// the id of the MediaStream and MediaStreamTrack.\nSDPUtils.parseMsid = function(mediaSection) {\n  var parts;\n  var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');\n  if (spec.length === 1) {\n    parts = spec[0].substr(7).split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n  var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'msid';\n  });\n  if (planB.length > 0) {\n    parts = planB[0].value.split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n};\n\n// Generate a session ID for SDP.\n// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1\n// recommends using a cryptographically random +ve 64-bit value\n// but right now this should be acceptable and within the right range\nSDPUtils.generateSessionId = function() {\n  return Math.random().toString().substr(2, 21);\n};\n\n// Write boilder plate for start of SDP\n// sessId argument is optional - if not supplied it will\n// be generated randomly\n// sessVersion is optional and defaults to 2\nSDPUtils.writeSessionBoilerplate = function(sessId, sessVer) {\n  var sessionId;\n  var version = sessVer !== undefined ? sessVer : 2;\n  if (sessId) {\n    sessionId = sessId;\n  } else {\n    sessionId = SDPUtils.generateSessionId();\n  }\n  // FIXME: sess-id should be an NTP timestamp.\n  return 'v=0\\r\\n' +\n      'o=thisisadapterortc ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\\r\\n' +\n      's=-\\r\\n' +\n      't=0 0\\r\\n';\n};\n\nSDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {\n  var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n  // Map ICE parameters (ufrag, pwd) to SDP.\n  sdp += SDPUtils.writeIceParameters(\n      transceiver.iceGatherer.getLocalParameters());\n\n  // Map DTLS parameters to SDP.\n  sdp += SDPUtils.writeDtlsParameters(\n      transceiver.dtlsTransport.getLocalParameters(),\n      type === 'offer' ? 'actpass' : 'active');\n\n  sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n  if (transceiver.direction) {\n    sdp += 'a=' + transceiver.direction + '\\r\\n';\n  } else if (transceiver.rtpSender && transceiver.rtpReceiver) {\n    sdp += 'a=sendrecv\\r\\n';\n  } else if (transceiver.rtpSender) {\n    sdp += 'a=sendonly\\r\\n';\n  } else if (transceiver.rtpReceiver) {\n    sdp += 'a=recvonly\\r\\n';\n  } else {\n    sdp += 'a=inactive\\r\\n';\n  }\n\n  if (transceiver.rtpSender) {\n    // spec.\n    var msid = 'msid:' + stream.id + ' ' +\n        transceiver.rtpSender.track.id + '\\r\\n';\n    sdp += 'a=' + msid;\n\n    // for Chrome.\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n        ' ' + msid;\n    if (transceiver.sendEncodingParameters[0].rtx) {\n      sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n          ' ' + msid;\n      sdp += 'a=ssrc-group:FID ' +\n          transceiver.sendEncodingParameters[0].ssrc + ' ' +\n          transceiver.sendEncodingParameters[0].rtx.ssrc +\n          '\\r\\n';\n    }\n  }\n  // FIXME: this should be written by writeRtpDescription.\n  sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n      ' cname:' + SDPUtils.localCName + '\\r\\n';\n  if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n        ' cname:' + SDPUtils.localCName + '\\r\\n';\n  }\n  return sdp;\n};\n\n// Gets the direction from the mediaSection or the sessionpart.\nSDPUtils.getDirection = function(mediaSection, sessionpart) {\n  // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.\n  var lines = SDPUtils.splitLines(mediaSection);\n  for (var i = 0; i < lines.length; i++) {\n    switch (lines[i]) {\n      case 'a=sendrecv':\n      case 'a=sendonly':\n      case 'a=recvonly':\n      case 'a=inactive':\n        return lines[i].substr(2);\n      default:\n        // FIXME: What should happen here?\n    }\n  }\n  if (sessionpart) {\n    return SDPUtils.getDirection(sessionpart);\n  }\n  return 'sendrecv';\n};\n\nSDPUtils.getKind = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  return mline[0].substr(2);\n};\n\nSDPUtils.isRejected = function(mediaSection) {\n  return mediaSection.split(' ', 2)[1] === '0';\n};\n\nSDPUtils.parseMLine = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var parts = lines[0].substr(2).split(' ');\n  return {\n    kind: parts[0],\n    port: parseInt(parts[1], 10),\n    protocol: parts[2],\n    fmt: parts.slice(3).join(' ')\n  };\n};\n\nSDPUtils.parseOLine = function(mediaSection) {\n  var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0];\n  var parts = line.substr(2).split(' ');\n  return {\n    username: parts[0],\n    sessionId: parts[1],\n    sessionVersion: parseInt(parts[2], 10),\n    netType: parts[3],\n    addressType: parts[4],\n    address: parts[5],\n  };\n};\n\n// Expose public methods.\nif (typeof module === 'object') {\n  module.exports = SDPUtils;\n}\n\n},{}],3:[function(require,module,exports){\n(function (global){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n\n'use strict';\n\nvar adapterFactory = require('./adapter_factory.js');\nmodule.exports = adapterFactory({window: global.window});\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./adapter_factory.js\":4}],4:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n\n'use strict';\n\nvar utils = require('./utils');\n// Shimming starts here.\nmodule.exports = function(dependencies, opts) {\n  var window = dependencies && dependencies.window;\n\n  var options = {\n    shimChrome: true,\n    shimFirefox: true,\n    shimEdge: true,\n    shimSafari: true,\n  };\n\n  for (var key in opts) {\n    if (hasOwnProperty.call(opts, key)) {\n      options[key] = opts[key];\n    }\n  }\n\n  // Utils.\n  var logging = utils.log;\n  var browserDetails = utils.detectBrowser(window);\n\n  // Uncomment the line below if you want logging to occur, including logging\n  // for the switch statement below. Can also be turned on in the browser via\n  // adapter.disableLog(false), but then logging from the switch statement below\n  // will not appear.\n  // require('./utils').disableLog(false);\n\n  // Browser shims.\n  var chromeShim = require('./chrome/chrome_shim') || null;\n  var edgeShim = require('./edge/edge_shim') || null;\n  var firefoxShim = require('./firefox/firefox_shim') || null;\n  var safariShim = require('./safari/safari_shim') || null;\n  var commonShim = require('./common_shim') || null;\n\n  // Export to the adapter global object visible in the browser.\n  var adapter = {\n    browserDetails: browserDetails,\n    commonShim: commonShim,\n    extractVersion: utils.extractVersion,\n    disableLog: utils.disableLog,\n    disableWarnings: utils.disableWarnings\n  };\n\n  // Shim browser if found.\n  switch (browserDetails.browser) {\n    case 'chrome':\n      if (!chromeShim || !chromeShim.shimPeerConnection ||\n          !options.shimChrome) {\n        logging('Chrome shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming chrome.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = chromeShim;\n      commonShim.shimCreateObjectURL(window);\n\n      chromeShim.shimGetUserMedia(window);\n      chromeShim.shimMediaStream(window);\n      chromeShim.shimSourceObject(window);\n      chromeShim.shimPeerConnection(window);\n      chromeShim.shimOnTrack(window);\n      chromeShim.shimAddTrackRemoveTrack(window);\n      chromeShim.shimGetSendersWithDtmf(window);\n      chromeShim.shimSenderReceiverGetStats(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      commonShim.shimMaxMessageSize(window);\n      commonShim.shimSendThrowTypeError(window);\n      break;\n    case 'firefox':\n      if (!firefoxShim || !firefoxShim.shimPeerConnection ||\n          !options.shimFirefox) {\n        logging('Firefox shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming firefox.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = firefoxShim;\n      commonShim.shimCreateObjectURL(window);\n\n      firefoxShim.shimGetUserMedia(window);\n      firefoxShim.shimSourceObject(window);\n      firefoxShim.shimPeerConnection(window);\n      firefoxShim.shimOnTrack(window);\n      firefoxShim.shimRemoveStream(window);\n      firefoxShim.shimSenderGetStats(window);\n      firefoxShim.shimReceiverGetStats(window);\n      firefoxShim.shimRTCDataChannel(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      commonShim.shimMaxMessageSize(window);\n      commonShim.shimSendThrowTypeError(window);\n      break;\n    case 'edge':\n      if (!edgeShim || !edgeShim.shimPeerConnection || !options.shimEdge) {\n        logging('MS edge shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming edge.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = edgeShim;\n      commonShim.shimCreateObjectURL(window);\n\n      edgeShim.shimGetUserMedia(window);\n      edgeShim.shimPeerConnection(window);\n      edgeShim.shimReplaceTrack(window);\n\n      // the edge shim implements the full RTCIceCandidate object.\n\n      commonShim.shimMaxMessageSize(window);\n      commonShim.shimSendThrowTypeError(window);\n      break;\n    case 'safari':\n      if (!safariShim || !options.shimSafari) {\n        logging('Safari shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming safari.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = safariShim;\n      commonShim.shimCreateObjectURL(window);\n\n      safariShim.shimRTCIceServerUrls(window);\n      safariShim.shimCallbacksAPI(window);\n      safariShim.shimLocalStreamsAPI(window);\n      safariShim.shimRemoteStreamsAPI(window);\n      safariShim.shimTrackEventTransceiver(window);\n      safariShim.shimGetUserMedia(window);\n      safariShim.shimCreateOfferLegacy(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      commonShim.shimMaxMessageSize(window);\n      commonShim.shimSendThrowTypeError(window);\n      break;\n    default:\n      logging('Unsupported browser!');\n      break;\n  }\n\n  return adapter;\n};\n\n},{\"./chrome/chrome_shim\":5,\"./common_shim\":7,\"./edge/edge_shim\":8,\"./firefox/firefox_shim\":11,\"./safari/safari_shim\":13,\"./utils\":14}],5:[function(require,module,exports){\n\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\n/* iterates the stats graph recursively. */\nfunction walkStats(stats, base, resultSet) {\n  if (!base || resultSet.has(base.id)) {\n    return;\n  }\n  resultSet.set(base.id, base);\n  Object.keys(base).forEach(function(name) {\n    if (name.endsWith('Id')) {\n      walkStats(stats, stats.get(base[name]), resultSet);\n    } else if (name.endsWith('Ids')) {\n      base[name].forEach(function(id) {\n        walkStats(stats, stats.get(id), resultSet);\n      });\n    }\n  });\n}\n\n/* filter getStats for a sender/receiver track. */\nfunction filterStats(result, track, outbound) {\n  var streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp';\n  var filteredResult = new Map();\n  if (track === null) {\n    return filteredResult;\n  }\n  var trackStats = [];\n  result.forEach(function(value) {\n    if (value.type === 'track' &&\n        value.trackIdentifier === track.id) {\n      trackStats.push(value);\n    }\n  });\n  trackStats.forEach(function(trackStat) {\n    result.forEach(function(stats) {\n      if (stats.type === streamStatsType && stats.trackId === trackStat.id) {\n        walkStats(result, stats, filteredResult);\n      }\n    });\n  });\n  return filteredResult;\n}\n\nmodule.exports = {\n  shimGetUserMedia: require('./getusermedia'),\n  shimMediaStream: function(window) {\n    window.MediaStream = window.MediaStream || window.webkitMediaStream;\n  },\n\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n          }\n          this.addEventListener('track', this._ontrack = f);\n        }\n      });\n      var origSetRemoteDescription =\n          window.RTCPeerConnection.prototype.setRemoteDescription;\n      window.RTCPeerConnection.prototype.setRemoteDescription = function() {\n        var pc = this;\n        if (!pc._ontrackpoly) {\n          pc._ontrackpoly = function(e) {\n            // onaddstream does not fire when a track is added to an existing\n            // stream. But stream.onaddtrack is implemented so we use that.\n            e.stream.addEventListener('addtrack', function(te) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track && r.track.id === te.track.id;\n                });\n              } else {\n                receiver = {track: te.track};\n              }\n\n              var event = new Event('track');\n              event.track = te.track;\n              event.receiver = receiver;\n              event.transceiver = {receiver: receiver};\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n            e.stream.getTracks().forEach(function(track) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track && r.track.id === track.id;\n                });\n              } else {\n                receiver = {track: track};\n              }\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = receiver;\n              event.transceiver = {receiver: receiver};\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n          };\n          pc.addEventListener('addstream', pc._ontrackpoly);\n        }\n        return origSetRemoteDescription.apply(pc, arguments);\n      };\n    } else if (!('RTCRtpTransceiver' in window)) {\n      utils.wrapPeerConnectionEvent(window, 'track', function(e) {\n        if (!e.transceiver) {\n          e.transceiver = {receiver: e.receiver};\n        }\n        return e;\n      });\n    }\n  },\n\n  shimGetSendersWithDtmf: function(window) {\n    // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack.\n    if (typeof window === 'object' && window.RTCPeerConnection &&\n        !('getSenders' in window.RTCPeerConnection.prototype) &&\n        'createDTMFSender' in window.RTCPeerConnection.prototype) {\n      var shimSenderWithDtmf = function(pc, track) {\n        return {\n          track: track,\n          get dtmf() {\n            if (this._dtmf === undefined) {\n              if (track.kind === 'audio') {\n                this._dtmf = pc.createDTMFSender(track);\n              } else {\n                this._dtmf = null;\n              }\n            }\n            return this._dtmf;\n          },\n          _pc: pc\n        };\n      };\n\n      // augment addTrack when getSenders is not available.\n      if (!window.RTCPeerConnection.prototype.getSenders) {\n        window.RTCPeerConnection.prototype.getSenders = function() {\n          this._senders = this._senders || [];\n          return this._senders.slice(); // return a copy of the internal state.\n        };\n        var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n        window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n          var pc = this;\n          var sender = origAddTrack.apply(pc, arguments);\n          if (!sender) {\n            sender = shimSenderWithDtmf(pc, track);\n            pc._senders.push(sender);\n          }\n          return sender;\n        };\n\n        var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack;\n        window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n          var pc = this;\n          origRemoveTrack.apply(pc, arguments);\n          var idx = pc._senders.indexOf(sender);\n          if (idx !== -1) {\n            pc._senders.splice(idx, 1);\n          }\n        };\n      }\n      var origAddStream = window.RTCPeerConnection.prototype.addStream;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origAddStream.apply(pc, [stream]);\n        stream.getTracks().forEach(function(track) {\n          pc._senders.push(shimSenderWithDtmf(pc, track));\n        });\n      };\n\n      var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origRemoveStream.apply(pc, [stream]);\n\n        stream.getTracks().forEach(function(track) {\n          var sender = pc._senders.find(function(s) {\n            return s.track === track;\n          });\n          if (sender) {\n            pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender\n          }\n        });\n      };\n    } else if (typeof window === 'object' && window.RTCPeerConnection &&\n               'getSenders' in window.RTCPeerConnection.prototype &&\n               'createDTMFSender' in window.RTCPeerConnection.prototype &&\n               window.RTCRtpSender &&\n               !('dtmf' in window.RTCRtpSender.prototype)) {\n      var origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n      window.RTCPeerConnection.prototype.getSenders = function() {\n        var pc = this;\n        var senders = origGetSenders.apply(pc, []);\n        senders.forEach(function(sender) {\n          sender._pc = pc;\n        });\n        return senders;\n      };\n\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = this._pc.createDTMFSender(this.track);\n            } else {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n  },\n\n  shimSenderReceiverGetStats: function(window) {\n    if (!(typeof window === 'object' && window.RTCPeerConnection &&\n        window.RTCRtpSender && window.RTCRtpReceiver)) {\n      return;\n    }\n\n    // shim sender stats.\n    if (!('getStats' in window.RTCRtpSender.prototype)) {\n      var origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n      if (origGetSenders) {\n        window.RTCPeerConnection.prototype.getSenders = function() {\n          var pc = this;\n          var senders = origGetSenders.apply(pc, []);\n          senders.forEach(function(sender) {\n            sender._pc = pc;\n          });\n          return senders;\n        };\n      }\n\n      var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n      if (origAddTrack) {\n        window.RTCPeerConnection.prototype.addTrack = function() {\n          var sender = origAddTrack.apply(this, arguments);\n          sender._pc = this;\n          return sender;\n        };\n      }\n      window.RTCRtpSender.prototype.getStats = function() {\n        var sender = this;\n        return this._pc.getStats().then(function(result) {\n          /* Note: this will include stats of all senders that\n           *   send a track with the same id as sender.track as\n           *   it is not possible to identify the RTCRtpSender.\n           */\n          return filterStats(result, sender.track, true);\n        });\n      };\n    }\n\n    // shim receiver stats.\n    if (!('getStats' in window.RTCRtpReceiver.prototype)) {\n      var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers;\n      if (origGetReceivers) {\n        window.RTCPeerConnection.prototype.getReceivers = function() {\n          var pc = this;\n          var receivers = origGetReceivers.apply(pc, []);\n          receivers.forEach(function(receiver) {\n            receiver._pc = pc;\n          });\n          return receivers;\n        };\n      }\n      utils.wrapPeerConnectionEvent(window, 'track', function(e) {\n        e.receiver._pc = e.srcElement;\n        return e;\n      });\n      window.RTCRtpReceiver.prototype.getStats = function() {\n        var receiver = this;\n        return this._pc.getStats().then(function(result) {\n          return filterStats(result, receiver.track, false);\n        });\n      };\n    }\n\n    if (!('getStats' in window.RTCRtpSender.prototype &&\n        'getStats' in window.RTCRtpReceiver.prototype)) {\n      return;\n    }\n\n    // shim RTCPeerConnection.getStats(track).\n    var origGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function() {\n      var pc = this;\n      if (arguments.length > 0 &&\n          arguments[0] instanceof window.MediaStreamTrack) {\n        var track = arguments[0];\n        var sender;\n        var receiver;\n        var err;\n        pc.getSenders().forEach(function(s) {\n          if (s.track === track) {\n            if (sender) {\n              err = true;\n            } else {\n              sender = s;\n            }\n          }\n        });\n        pc.getReceivers().forEach(function(r) {\n          if (r.track === track) {\n            if (receiver) {\n              err = true;\n            } else {\n              receiver = r;\n            }\n          }\n          return r.track === track;\n        });\n        if (err || (sender && receiver)) {\n          return Promise.reject(new DOMException(\n            'There are more than one sender or receiver for the track.',\n            'InvalidAccessError'));\n        } else if (sender) {\n          return sender.getStats();\n        } else if (receiver) {\n          return receiver.getStats();\n        }\n        return Promise.reject(new DOMException(\n          'There is no sender or receiver for the track.',\n          'InvalidAccessError'));\n      }\n      return origGetStats.apply(pc, arguments);\n    };\n  },\n\n  shimSourceObject: function(window) {\n    var URL = window && window.URL;\n\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &&\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this._srcObject;\n          },\n          set: function(stream) {\n            var self = this;\n            // Use _srcObject as a private property for this shim\n            this._srcObject = stream;\n            if (this.src) {\n              URL.revokeObjectURL(this.src);\n            }\n\n            if (!stream) {\n              this.src = '';\n              return undefined;\n            }\n            this.src = URL.createObjectURL(stream);\n            // We need to recreate the blob url when a track is added or\n            // removed. Doing it manually since we want to avoid a recursion.\n            stream.addEventListener('addtrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n            stream.addEventListener('removetrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n          }\n        });\n      }\n    }\n  },\n\n  shimAddTrackRemoveTrackWithNative: function(window) {\n    // shim addTrack/removeTrack with native variants in order to make\n    // the interactions with legacy getLocalStreams behave as in other browsers.\n    // Keeps a mapping stream.id => [stream, rtpsenders...]\n    window.RTCPeerConnection.prototype.getLocalStreams = function() {\n      var pc = this;\n      this._shimmedLocalStreams = this._shimmedLocalStreams || {};\n      return Object.keys(this._shimmedLocalStreams).map(function(streamId) {\n        return pc._shimmedLocalStreams[streamId][0];\n      });\n    };\n\n    var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n    window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n      if (!stream) {\n        return origAddTrack.apply(this, arguments);\n      }\n      this._shimmedLocalStreams = this._shimmedLocalStreams || {};\n\n      var sender = origAddTrack.apply(this, arguments);\n      if (!this._shimmedLocalStreams[stream.id]) {\n        this._shimmedLocalStreams[stream.id] = [stream, sender];\n      } else if (this._shimmedLocalStreams[stream.id].indexOf(sender) === -1) {\n        this._shimmedLocalStreams[stream.id].push(sender);\n      }\n      return sender;\n    };\n\n    var origAddStream = window.RTCPeerConnection.prototype.addStream;\n    window.RTCPeerConnection.prototype.addStream = function(stream) {\n      var pc = this;\n      this._shimmedLocalStreams = this._shimmedLocalStreams || {};\n\n      stream.getTracks().forEach(function(track) {\n        var alreadyExists = pc.getSenders().find(function(s) {\n          return s.track === track;\n        });\n        if (alreadyExists) {\n          throw new DOMException('Track already exists.',\n              'InvalidAccessError');\n        }\n      });\n      var existingSenders = pc.getSenders();\n      origAddStream.apply(this, arguments);\n      var newSenders = pc.getSenders().filter(function(newSender) {\n        return existingSenders.indexOf(newSender) === -1;\n      });\n      this._shimmedLocalStreams[stream.id] = [stream].concat(newSenders);\n    };\n\n    var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n    window.RTCPeerConnection.prototype.removeStream = function(stream) {\n      this._shimmedLocalStreams = this._shimmedLocalStreams || {};\n      delete this._shimmedLocalStreams[stream.id];\n      return origRemoveStream.apply(this, arguments);\n    };\n\n    var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack;\n    window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n      var pc = this;\n      this._shimmedLocalStreams = this._shimmedLocalStreams || {};\n      if (sender) {\n        Object.keys(this._shimmedLocalStreams).forEach(function(streamId) {\n          var idx = pc._shimmedLocalStreams[streamId].indexOf(sender);\n          if (idx !== -1) {\n            pc._shimmedLocalStreams[streamId].splice(idx, 1);\n          }\n          if (pc._shimmedLocalStreams[streamId].length === 1) {\n            delete pc._shimmedLocalStreams[streamId];\n          }\n        });\n      }\n      return origRemoveTrack.apply(this, arguments);\n    };\n  },\n\n  shimAddTrackRemoveTrack: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n    // shim addTrack and removeTrack.\n    if (window.RTCPeerConnection.prototype.addTrack &&\n        browserDetails.version >= 65) {\n      return this.shimAddTrackRemoveTrackWithNative(window);\n    }\n\n    // also shim pc.getLocalStreams when addTrack is shimmed\n    // to return the original streams.\n    var origGetLocalStreams = window.RTCPeerConnection.prototype\n        .getLocalStreams;\n    window.RTCPeerConnection.prototype.getLocalStreams = function() {\n      var pc = this;\n      var nativeStreams = origGetLocalStreams.apply(this);\n      pc._reverseStreams = pc._reverseStreams || {};\n      return nativeStreams.map(function(stream) {\n        return pc._reverseStreams[stream.id];\n      });\n    };\n\n    var origAddStream = window.RTCPeerConnection.prototype.addStream;\n    window.RTCPeerConnection.prototype.addStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      stream.getTracks().forEach(function(track) {\n        var alreadyExists = pc.getSenders().find(function(s) {\n          return s.track === track;\n        });\n        if (alreadyExists) {\n          throw new DOMException('Track already exists.',\n              'InvalidAccessError');\n        }\n      });\n      // Add identity mapping for consistency with addTrack.\n      // Unless this is being used with a stream from addTrack.\n      if (!pc._reverseStreams[stream.id]) {\n        var newStream = new window.MediaStream(stream.getTracks());\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        stream = newStream;\n      }\n      origAddStream.apply(pc, [stream]);\n    };\n\n    var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n    window.RTCPeerConnection.prototype.removeStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      origRemoveStream.apply(pc, [(pc._streams[stream.id] || stream)]);\n      delete pc._reverseStreams[(pc._streams[stream.id] ?\n          pc._streams[stream.id].id : stream.id)];\n      delete pc._streams[stream.id];\n    };\n\n    window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      var streams = [].slice.call(arguments, 1);\n      if (streams.length !== 1 ||\n          !streams[0].getTracks().find(function(t) {\n            return t === track;\n          })) {\n        // this is not fully correct but all we can manage without\n        // [[associated MediaStreams]] internal slot.\n        throw new DOMException(\n          'The adapter.js addTrack polyfill only supports a single ' +\n          ' stream which is associated with the specified track.',\n          'NotSupportedError');\n      }\n\n      var alreadyExists = pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n      if (alreadyExists) {\n        throw new DOMException('Track already exists.',\n            'InvalidAccessError');\n      }\n\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n      var oldStream = pc._streams[stream.id];\n      if (oldStream) {\n        // this is using odd Chrome behaviour, use with caution:\n        // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815\n        // Note: we rely on the high-level addTrack/dtmf shim to\n        // create the sender with a dtmf sender.\n        oldStream.addTrack(track);\n\n        // Trigger ONN async.\n        Promise.resolve().then(function() {\n          pc.dispatchEvent(new Event('negotiationneeded'));\n        });\n      } else {\n        var newStream = new window.MediaStream([track]);\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        pc.addStream(newStream);\n      }\n      return pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n    };\n\n    // replace the internal stream id with the external one and\n    // vice versa.\n    function replaceInternalStreamId(pc, description) {\n      var sdp = description.sdp;\n      Object.keys(pc._reverseStreams || []).forEach(function(internalId) {\n        var externalStream = pc._reverseStreams[internalId];\n        var internalStream = pc._streams[externalStream.id];\n        sdp = sdp.replace(new RegExp(internalStream.id, 'g'),\n            externalStream.id);\n      });\n      return new RTCSessionDescription({\n        type: description.type,\n        sdp: sdp\n      });\n    }\n    function replaceExternalStreamId(pc, description) {\n      var sdp = description.sdp;\n      Object.keys(pc._reverseStreams || []).forEach(function(internalId) {\n        var externalStream = pc._reverseStreams[internalId];\n        var internalStream = pc._streams[externalStream.id];\n        sdp = sdp.replace(new RegExp(externalStream.id, 'g'),\n            internalStream.id);\n      });\n      return new RTCSessionDescription({\n        type: description.type,\n        sdp: sdp\n      });\n    }\n    ['createOffer', 'createAnswer'].forEach(function(method) {\n      var nativeMethod = window.RTCPeerConnection.prototype[method];\n      window.RTCPeerConnection.prototype[method] = function() {\n        var pc = this;\n        var args = arguments;\n        var isLegacyCall = arguments.length &&\n            typeof arguments[0] === 'function';\n        if (isLegacyCall) {\n          return nativeMethod.apply(pc, [\n            function(description) {\n              var desc = replaceInternalStreamId(pc, description);\n              args[0].apply(null, [desc]);\n            },\n            function(err) {\n              if (args[1]) {\n                args[1].apply(null, err);\n              }\n            }, arguments[2]\n          ]);\n        }\n        return nativeMethod.apply(pc, arguments)\n        .then(function(description) {\n          return replaceInternalStreamId(pc, description);\n        });\n      };\n    });\n\n    var origSetLocalDescription =\n        window.RTCPeerConnection.prototype.setLocalDescription;\n    window.RTCPeerConnection.prototype.setLocalDescription = function() {\n      var pc = this;\n      if (!arguments.length || !arguments[0].type) {\n        return origSetLocalDescription.apply(pc, arguments);\n      }\n      arguments[0] = replaceExternalStreamId(pc, arguments[0]);\n      return origSetLocalDescription.apply(pc, arguments);\n    };\n\n    // TODO: mangle getStats: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats-streamidentifier\n\n    var origLocalDescription = Object.getOwnPropertyDescriptor(\n        window.RTCPeerConnection.prototype, 'localDescription');\n    Object.defineProperty(window.RTCPeerConnection.prototype,\n        'localDescription', {\n          get: function() {\n            var pc = this;\n            var description = origLocalDescription.get.apply(this);\n            if (description.type === '') {\n              return description;\n            }\n            return replaceInternalStreamId(pc, description);\n          }\n        });\n\n    window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      // We can not yet check for sender instanceof RTCRtpSender\n      // since we shim RTPSender. So we check if sender._pc is set.\n      if (!sender._pc) {\n        throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' +\n            'does not implement interface RTCRtpSender.', 'TypeError');\n      }\n      var isLocal = sender._pc === pc;\n      if (!isLocal) {\n        throw new DOMException('Sender was not created by this websocketsignallingconnection.',\n            'InvalidAccessError');\n      }\n\n      // Search for the native stream the senders track belongs to.\n      pc._streams = pc._streams || {};\n      var stream;\n      Object.keys(pc._streams).forEach(function(streamid) {\n        var hasTrack = pc._streams[streamid].getTracks().find(function(track) {\n          return sender.track === track;\n        });\n        if (hasTrack) {\n          stream = pc._streams[streamid];\n        }\n      });\n\n      if (stream) {\n        if (stream.getTracks().length === 1) {\n          // if this is the last track of the stream, remove the stream. This\n          // takes care of any shimmed _senders.\n          pc.removeStream(pc._reverseStreams[stream.id]);\n        } else {\n          // relying on the same odd chrome behaviour as above.\n          stream.removeTrack(sender.track);\n        }\n        pc.dispatchEvent(new Event('negotiationneeded'));\n      }\n    };\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection && window.webkitRTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        // Translate iceTransportPolicy to iceTransports,\n        // see https://code.google.com/p/webrtc/issues/detail?id=4869\n        // this was fixed in M56 along with unprefixing RTCPeerConnection.\n        logging('PeerConnection');\n        if (pcConfig && pcConfig.iceTransportPolicy) {\n          pcConfig.iceTransports = pcConfig.iceTransportPolicy;\n        }\n\n        return new window.webkitRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.webkitRTCPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      if (window.webkitRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.webkitRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n    } else {\n      // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n      var OrigPeerConnection = window.RTCPeerConnection;\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (pcConfig && pcConfig.iceServers) {\n          var newIceServers = [];\n          for (var i = 0; i < pcConfig.iceServers.length; i++) {\n            var server = pcConfig.iceServers[i];\n            if (!server.hasOwnProperty('urls') &&\n                server.hasOwnProperty('url')) {\n              utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n              server = JSON.parse(JSON.stringify(server));\n              server.urls = server.url;\n              newIceServers.push(server);\n            } else {\n              newIceServers.push(pcConfig.iceServers[i]);\n            }\n          }\n          pcConfig.iceServers = newIceServers;\n        }\n        return new OrigPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n        get: function() {\n          return OrigPeerConnection.generateCertificate;\n        }\n      });\n    }\n\n    var origGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(selector,\n        successCallback, errorCallback) {\n      var pc = this;\n      var args = arguments;\n\n      // If selector is a function then we are in the old style stats so just\n      // pass back the original getStats format to avoid breaking old users.\n      if (arguments.length > 0 && typeof selector === 'function') {\n        return origGetStats.apply(this, arguments);\n      }\n\n      // When spec-style getStats is supported, return those when called with\n      // either no arguments or the selector argument is null.\n      if (origGetStats.length === 0 && (arguments.length === 0 ||\n          typeof arguments[0] !== 'function')) {\n        return origGetStats.apply(this, []);\n      }\n\n      var fixChromeStats_ = function(response) {\n        var standardReport = {};\n        var reports = response.result();\n        reports.forEach(function(report) {\n          var standardStats = {\n            id: report.id,\n            timestamp: report.timestamp,\n            type: {\n              localcandidate: 'local-candidate',\n              remotecandidate: 'remote-candidate'\n            }[report.type] || report.type\n          };\n          report.names().forEach(function(name) {\n            standardStats[name] = report.stat(name);\n          });\n          standardReport[standardStats.id] = standardStats;\n        });\n\n        return standardReport;\n      };\n\n      // shim getStats with maplike support\n      var makeMapStats = function(stats) {\n        return new Map(Object.keys(stats).map(function(key) {\n          return [key, stats[key]];\n        }));\n      };\n\n      if (arguments.length >= 2) {\n        var successCallbackWrapper_ = function(response) {\n          args[1](makeMapStats(fixChromeStats_(response)));\n        };\n\n        return origGetStats.apply(this, [successCallbackWrapper_,\n          arguments[0]]);\n      }\n\n      // promise-support\n      return new Promise(function(resolve, reject) {\n        origGetStats.apply(pc, [\n          function(response) {\n            resolve(makeMapStats(fixChromeStats_(response)));\n          }, reject]);\n      }).then(successCallback, errorCallback);\n    };\n\n    // add promise support -- natively available in Chrome 51\n    if (browserDetails.version < 51) {\n      ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n          .forEach(function(method) {\n            var nativeMethod = window.RTCPeerConnection.prototype[method];\n            window.RTCPeerConnection.prototype[method] = function() {\n              var args = arguments;\n              var pc = this;\n              var promise = new Promise(function(resolve, reject) {\n                nativeMethod.apply(pc, [args[0], resolve, reject]);\n              });\n              if (args.length < 2) {\n                return promise;\n              }\n              return promise.then(function() {\n                args[1].apply(null, []);\n              },\n              function(err) {\n                if (args.length >= 3) {\n                  args[2].apply(null, [err]);\n                }\n              });\n            };\n          });\n    }\n\n    // promise support for createOffer and createAnswer. Available (without\n    // bugs) since M52: crbug/619289\n    if (browserDetails.version < 52) {\n      ['createOffer', 'createAnswer'].forEach(function(method) {\n        var nativeMethod = window.RTCPeerConnection.prototype[method];\n        window.RTCPeerConnection.prototype[method] = function() {\n          var pc = this;\n          if (arguments.length < 1 || (arguments.length === 1 &&\n              typeof arguments[0] === 'object')) {\n            var opts = arguments.length === 1 ? arguments[0] : undefined;\n            return new Promise(function(resolve, reject) {\n              nativeMethod.apply(pc, [resolve, reject, opts]);\n            });\n          }\n          return nativeMethod.apply(this, arguments);\n        };\n      });\n    }\n\n    // shim implicit creation of RTCSessionDescription/RTCIceCandidate\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n  }\n};\n\n},{\"../utils.js\":14,\"./getusermedia\":6}],6:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window && window.navigator;\n\n  var constraintsToChrome_ = function(c) {\n    if (typeof c !== 'object' || c.mandatory || c.optional) {\n      return c;\n    }\n    var cc = {};\n    Object.keys(c).forEach(function(key) {\n      if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n        return;\n      }\n      var r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]};\n      if (r.exact !== undefined && typeof r.exact === 'number') {\n        r.min = r.max = r.exact;\n      }\n      var oldname_ = function(prefix, name) {\n        if (prefix) {\n          return prefix + name.charAt(0).toUpperCase() + name.slice(1);\n        }\n        return (name === 'deviceId') ? 'sourceId' : name;\n      };\n      if (r.ideal !== undefined) {\n        cc.optional = cc.optional || [];\n        var oc = {};\n        if (typeof r.ideal === 'number') {\n          oc[oldname_('min', key)] = r.ideal;\n          cc.optional.push(oc);\n          oc = {};\n          oc[oldname_('max', key)] = r.ideal;\n          cc.optional.push(oc);\n        } else {\n          oc[oldname_('', key)] = r.ideal;\n          cc.optional.push(oc);\n        }\n      }\n      if (r.exact !== undefined && typeof r.exact !== 'number') {\n        cc.mandatory = cc.mandatory || {};\n        cc.mandatory[oldname_('', key)] = r.exact;\n      } else {\n        ['min', 'max'].forEach(function(mix) {\n          if (r[mix] !== undefined) {\n            cc.mandatory = cc.mandatory || {};\n            cc.mandatory[oldname_(mix, key)] = r[mix];\n          }\n        });\n      }\n    });\n    if (c.advanced) {\n      cc.optional = (cc.optional || []).concat(c.advanced);\n    }\n    return cc;\n  };\n\n  var shimConstraints_ = function(constraints, func) {\n    if (browserDetails.version >= 61) {\n      return func(constraints);\n    }\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (constraints && typeof constraints.audio === 'object') {\n      var remap = function(obj, a, b) {\n        if (a in obj && !(b in obj)) {\n          obj[b] = obj[a];\n          delete obj[a];\n        }\n      };\n      constraints = JSON.parse(JSON.stringify(constraints));\n      remap(constraints.audio, 'autoGainControl', 'googAutoGainControl');\n      remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression');\n      constraints.audio = constraintsToChrome_(constraints.audio);\n    }\n    if (constraints && typeof constraints.video === 'object') {\n      // Shim facingMode for mobile & surface pro.\n      var face = constraints.video.facingMode;\n      face = face && ((typeof face === 'object') ? face : {ideal: face});\n      var getSupportedFacingModeLies = browserDetails.version < 66;\n\n      if ((face && (face.exact === 'user' || face.exact === 'environment' ||\n                    face.ideal === 'user' || face.ideal === 'environment')) &&\n          !(navigator.mediaDevices.getSupportedConstraints &&\n            navigator.mediaDevices.getSupportedConstraints().facingMode &&\n            !getSupportedFacingModeLies)) {\n        delete constraints.video.facingMode;\n        var matches;\n        if (face.exact === 'environment' || face.ideal === 'environment') {\n          matches = ['back', 'rear'];\n        } else if (face.exact === 'user' || face.ideal === 'user') {\n          matches = ['front'];\n        }\n        if (matches) {\n          // Look for matches in label, or use last cam for back (typical).\n          return navigator.mediaDevices.enumerateDevices()\n          .then(function(devices) {\n            devices = devices.filter(function(d) {\n              return d.kind === 'videoinput';\n            });\n            var dev = devices.find(function(d) {\n              return matches.some(function(match) {\n                return d.label.toLowerCase().indexOf(match) !== -1;\n              });\n            });\n            if (!dev && devices.length && matches.indexOf('back') !== -1) {\n              dev = devices[devices.length - 1]; // more likely the back cam\n            }\n            if (dev) {\n              constraints.video.deviceId = face.exact ? {exact: dev.deviceId} :\n                                                        {ideal: dev.deviceId};\n            }\n            constraints.video = constraintsToChrome_(constraints.video);\n            logging('chrome: ' + JSON.stringify(constraints));\n            return func(constraints);\n          });\n        }\n      }\n      constraints.video = constraintsToChrome_(constraints.video);\n    }\n    logging('chrome: ' + JSON.stringify(constraints));\n    return func(constraints);\n  };\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        PermissionDeniedError: 'NotAllowedError',\n        PermissionDismissedError: 'NotAllowedError',\n        InvalidStateError: 'NotAllowedError',\n        DevicesNotFoundError: 'NotFoundError',\n        ConstraintNotSatisfiedError: 'OverconstrainedError',\n        TrackStartError: 'NotReadableError',\n        MediaDeviceFailedDueToShutdown: 'NotAllowedError',\n        MediaDeviceKillSwitchOn: 'NotAllowedError',\n        TabCaptureError: 'AbortError',\n        ScreenCaptureError: 'AbortError',\n        DeviceCaptureError: 'AbortError'\n      }[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraintName,\n      toString: function() {\n        return this.name + (this.message && ': ') + this.message;\n      }\n    };\n  };\n\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    shimConstraints_(constraints, function(c) {\n      navigator.webkitGetUserMedia(c, onSuccess, function(e) {\n        if (onError) {\n          onError(shimError_(e));\n        }\n      });\n    });\n  };\n\n  navigator.getUserMedia = getUserMedia_;\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      navigator.getUserMedia(constraints, resolve, reject);\n    });\n  };\n\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {\n      getUserMedia: getUserMediaPromise_,\n      enumerateDevices: function() {\n        return new Promise(function(resolve) {\n          var kinds = {audio: 'audioinput', video: 'videoinput'};\n          return window.MediaStreamTrack.getSources(function(devices) {\n            resolve(devices.map(function(device) {\n              return {label: device.label,\n                kind: kinds[device.kind],\n                deviceId: device.id,\n                groupId: ''};\n            }));\n          });\n        });\n      },\n      getSupportedConstraints: function() {\n        return {\n          deviceId: true, echoCancellation: true, facingMode: true,\n          frameRate: true, height: true, width: true\n        };\n      }\n    };\n  }\n\n  // A shim for getUserMedia method on the mediaDevices object.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (!navigator.mediaDevices.getUserMedia) {\n    navigator.mediaDevices.getUserMedia = function(constraints) {\n      return getUserMediaPromise_(constraints);\n    };\n  } else {\n    // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia\n    // function which returns a Promise, it does not accept spec-style\n    // constraints.\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(cs) {\n      return shimConstraints_(cs, function(c) {\n        return origGetUserMedia(c).then(function(stream) {\n          if (c.audio && !stream.getAudioTracks().length ||\n              c.video && !stream.getVideoTracks().length) {\n            stream.getTracks().forEach(function(track) {\n              track.stop();\n            });\n            throw new DOMException('', 'NotFoundError');\n          }\n          return stream;\n        }, function(e) {\n          return Promise.reject(shimError_(e));\n        });\n      });\n    };\n  }\n\n  // Dummy devicechange event methods.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (typeof navigator.mediaDevices.addEventListener === 'undefined') {\n    navigator.mediaDevices.addEventListener = function() {\n      logging('Dummy mediaDevices.addEventListener called.');\n    };\n  }\n  if (typeof navigator.mediaDevices.removeEventListener === 'undefined') {\n    navigator.mediaDevices.removeEventListener = function() {\n      logging('Dummy mediaDevices.removeEventListener called.');\n    };\n  }\n};\n\n},{\"../utils.js\":14}],7:[function(require,module,exports){\n/*\n *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar SDPUtils = require('sdp');\nvar utils = require('./utils');\n\nmodule.exports = {\n  shimRTCIceCandidate: function(window) {\n    // foundation is arbitrarily chosen as an indicator for full support for\n    // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface\n    if (!window.RTCIceCandidate || (window.RTCIceCandidate && 'foundation' in\n        window.RTCIceCandidate.prototype)) {\n      return;\n    }\n\n    var NativeRTCIceCandidate = window.RTCIceCandidate;\n    window.RTCIceCandidate = function(args) {\n      // Remove the a= which shouldn't be part of the candidate string.\n      if (typeof args === 'object' && args.candidate &&\n          args.candidate.indexOf('a=') === 0) {\n        args = JSON.parse(JSON.stringify(args));\n        args.candidate = args.candidate.substr(2);\n      }\n\n      if (args.candidate && args.candidate.length) {\n        // Augment the native candidate with the parsed fields.\n        var nativeCandidate = new NativeRTCIceCandidate(args);\n        var parsedCandidate = SDPUtils.parseCandidate(args.candidate);\n        var augmentedCandidate = Object.assign(nativeCandidate,\n            parsedCandidate);\n\n        // Add a serializer that does not serialize the extra attributes.\n        augmentedCandidate.toJSON = function() {\n          return {\n            candidate: augmentedCandidate.candidate,\n            sdpMid: augmentedCandidate.sdpMid,\n            sdpMLineIndex: augmentedCandidate.sdpMLineIndex,\n            usernameFragment: augmentedCandidate.usernameFragment,\n          };\n        };\n        return augmentedCandidate;\n      }\n      return new NativeRTCIceCandidate(args);\n    };\n    window.RTCIceCandidate.prototype = NativeRTCIceCandidate.prototype;\n\n    // Hook up the augmented candidate in onicecandidate and\n    // addEventListener('icecandidate', ...)\n    utils.wrapPeerConnectionEvent(window, 'icecandidate', function(e) {\n      if (e.candidate) {\n        Object.defineProperty(e, 'candidate', {\n          value: new window.RTCIceCandidate(e.candidate),\n          writable: 'false'\n        });\n      }\n      return e;\n    });\n  },\n\n  // shimCreateObjectURL must be called before shimSourceObject to avoid loop.\n\n  shimCreateObjectURL: function(window) {\n    var URL = window && window.URL;\n\n    if (!(typeof window === 'object' && window.HTMLMediaElement &&\n          'srcObject' in window.HTMLMediaElement.prototype &&\n        URL.createObjectURL && URL.revokeObjectURL)) {\n      // Only shim CreateObjectURL using srcObject if srcObject exists.\n      return undefined;\n    }\n\n    var nativeCreateObjectURL = URL.createObjectURL.bind(URL);\n    var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL);\n    var streams = new Map(), newId = 0;\n\n    URL.createObjectURL = function(stream) {\n      if ('getTracks' in stream) {\n        var url = 'polyblob:' + (++newId);\n        streams.set(url, stream);\n        utils.deprecated('URL.createObjectURL(stream)',\n            'elem.srcObject = stream');\n        return url;\n      }\n      return nativeCreateObjectURL(stream);\n    };\n    URL.revokeObjectURL = function(url) {\n      nativeRevokeObjectURL(url);\n      streams.delete(url);\n    };\n\n    var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,\n                                              'src');\n    Object.defineProperty(window.HTMLMediaElement.prototype, 'src', {\n      get: function() {\n        return dsc.get.apply(this);\n      },\n      set: function(url) {\n        this.srcObject = streams.get(url) || null;\n        return dsc.set.apply(this, [url]);\n      }\n    });\n\n    var nativeSetAttribute = window.HTMLMediaElement.prototype.setAttribute;\n    window.HTMLMediaElement.prototype.setAttribute = function() {\n      if (arguments.length === 2 &&\n          ('' + arguments[0]).toLowerCase() === 'src') {\n        this.srcObject = streams.get(arguments[1]) || null;\n      }\n      return nativeSetAttribute.apply(this, arguments);\n    };\n  },\n\n  shimMaxMessageSize: function(window) {\n    if (window.RTCSctpTransport || !window.RTCPeerConnection) {\n      return;\n    }\n    var browserDetails = utils.detectBrowser(window);\n\n    if (!('sctp' in window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'sctp', {\n        get: function() {\n          return typeof this._sctp === 'undefined' ? null : this._sctp;\n        }\n      });\n    }\n\n    var sctpInDescription = function(description) {\n      var sections = SDPUtils.splitSections(description.sdp);\n      sections.shift();\n      return sections.some(function(mediaSection) {\n        var mLine = SDPUtils.parseMLine(mediaSection);\n        return mLine && mLine.kind === 'application'\n            && mLine.protocol.indexOf('SCTP') !== -1;\n      });\n    };\n\n    var getRemoteFirefoxVersion = function(description) {\n      // TODO: Is there a better solution for detecting Firefox?\n      var match = description.sdp.match(/mozilla...THIS_IS_SDPARTA-(\\d+)/);\n      if (match === null || match.length < 2) {\n        return -1;\n      }\n      var version = parseInt(match[1], 10);\n      // Test for NaN (yes, this is ugly)\n      return version !== version ? -1 : version;\n    };\n\n    var getCanSendMaxMessageSize = function(remoteIsFirefox) {\n      // Every implementation we know can send at least 64 KiB.\n      // Note: Although Chrome is technically able to send up to 256 KiB, the\n      //       data does not reach the other peer reliably.\n      //       See: https://bugs.chromium.org/p/webrtc/issues/detail?id=8419\n      var canSendMaxMessageSize = 65536;\n      if (browserDetails.browser === 'firefox') {\n        if (browserDetails.version < 57) {\n          if (remoteIsFirefox === -1) {\n            // FF < 57 will send in 16 KiB chunks using the deprecated PPID\n            // fragmentation.\n            canSendMaxMessageSize = 16384;\n          } else {\n            // However, other FF (and RAWRTC) can reassemble PPID-fragmented\n            // messages. Thus, supporting ~2 GiB when sending.\n            canSendMaxMessageSize = 2147483637;\n          }\n        } else if (browserDetails.version < 60) {\n          // Currently, all FF >= 57 will reset the remote maximum message size\n          // to the default value when a data channel is created at a later\n          // stage. :(\n          // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831\n          canSendMaxMessageSize =\n            browserDetails.version === 57 ? 65535 : 65536;\n        } else {\n          // FF >= 60 supports sending ~2 GiB\n          canSendMaxMessageSize = 2147483637;\n        }\n      }\n      return canSendMaxMessageSize;\n    };\n\n    var getMaxMessageSize = function(description, remoteIsFirefox) {\n      // Note: 65536 bytes is the default value from the SDP spec. Also,\n      //       every implementation we know supports receiving 65536 bytes.\n      var maxMessageSize = 65536;\n\n      // FF 57 has a slightly incorrect default remote max message size, so\n      // we need to adjust it here to avoid a failure when sending.\n      // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1425697\n      if (browserDetails.browser === 'firefox'\n           && browserDetails.version === 57) {\n        maxMessageSize = 65535;\n      }\n\n      var match = SDPUtils.matchPrefix(description.sdp, 'a=max-message-size:');\n      if (match.length > 0) {\n        maxMessageSize = parseInt(match[0].substr(19), 10);\n      } else if (browserDetails.browser === 'firefox' &&\n                  remoteIsFirefox !== -1) {\n        // If the maximum message size is not present in the remote SDP and\n        // both local and remote are Firefox, the remote peer can receive\n        // ~2 GiB.\n        maxMessageSize = 2147483637;\n      }\n      return maxMessageSize;\n    };\n\n    var origSetRemoteDescription =\n        window.RTCPeerConnection.prototype.setRemoteDescription;\n    window.RTCPeerConnection.prototype.setRemoteDescription = function() {\n      var pc = this;\n      pc._sctp = null;\n\n      if (sctpInDescription(arguments[0])) {\n        // Check if the remote is FF.\n        var isFirefox = getRemoteFirefoxVersion(arguments[0]);\n\n        // Get the maximum message size the local peer is capable of sending\n        var canSendMMS = getCanSendMaxMessageSize(isFirefox);\n\n        // Get the maximum message size of the remote peer.\n        var remoteMMS = getMaxMessageSize(arguments[0], isFirefox);\n\n        // Determine final maximum message size\n        var maxMessageSize;\n        if (canSendMMS === 0 && remoteMMS === 0) {\n          maxMessageSize = Number.POSITIVE_INFINITY;\n        } else if (canSendMMS === 0 || remoteMMS === 0) {\n          maxMessageSize = Math.max(canSendMMS, remoteMMS);\n        } else {\n          maxMessageSize = Math.min(canSendMMS, remoteMMS);\n        }\n\n        // Create a dummy RTCSctpTransport object and the 'maxMessageSize'\n        // attribute.\n        var sctp = {};\n        Object.defineProperty(sctp, 'maxMessageSize', {\n          get: function() {\n            return maxMessageSize;\n          }\n        });\n        pc._sctp = sctp;\n      }\n\n      return origSetRemoteDescription.apply(pc, arguments);\n    };\n  },\n\n  shimSendThrowTypeError: function(window) {\n    if (!(window.RTCPeerConnection &&\n        'createDataChannel' in window.RTCPeerConnection.prototype)) {\n      return;\n    }\n\n    // Note: Although Firefox >= 57 has a native implementation, the maximum\n    //       message size can be reset for all data channels at a later stage.\n    //       See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831\n\n    function wrapDcSend(dc, pc) {\n      var origDataChannelSend = dc.send;\n      dc.send = function() {\n        var data = arguments[0];\n        var length = data.length || data.size || data.byteLength;\n        if (dc.readyState === 'open' &&\n            pc.sctp && length > pc.sctp.maxMessageSize) {\n          throw new TypeError('Message too large (can send a maximum of ' +\n            pc.sctp.maxMessageSize + ' bytes)');\n        }\n        return origDataChannelSend.apply(dc, arguments);\n      };\n    }\n    var origCreateDataChannel =\n      window.RTCPeerConnection.prototype.createDataChannel;\n    window.RTCPeerConnection.prototype.createDataChannel = function() {\n      var pc = this;\n      var dataChannel = origCreateDataChannel.apply(pc, arguments);\n      wrapDcSend(dataChannel, pc);\n      return dataChannel;\n    };\n    utils.wrapPeerConnectionEvent(window, 'datachannel', function(e) {\n      wrapDcSend(e.channel, e.target);\n      return e;\n    });\n  }\n};\n\n},{\"./utils\":14,\"sdp\":2}],8:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\nvar filterIceServers = require('./filtericeservers');\nvar shimRTCPeerConnection = require('rtcpeerconnection-shim');\n\nmodule.exports = {\n  shimGetUserMedia: require('./getusermedia'),\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (window.RTCIceGatherer) {\n      if (!window.RTCIceCandidate) {\n        window.RTCIceCandidate = function(args) {\n          return args;\n        };\n      }\n      if (!window.RTCSessionDescription) {\n        window.RTCSessionDescription = function(args) {\n          return args;\n        };\n      }\n      // this adds an additional event listener to MediaStrackTrack that signals\n      // when a tracks enabled property was changed. Workaround for a bug in\n      // addStream, see below. No longer required in 15025+\n      if (browserDetails.version < 15025) {\n        var origMSTEnabled = Object.getOwnPropertyDescriptor(\n            window.MediaStreamTrack.prototype, 'enabled');\n        Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', {\n          set: function(value) {\n            origMSTEnabled.set.call(this, value);\n            var ev = new Event('enabled');\n            ev.enabled = value;\n            this.dispatchEvent(ev);\n          }\n        });\n      }\n    }\n\n    // ORTC defines the DTMF sender a bit different.\n    // https://github.com/w3c/ortc/issues/714\n    if (window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) {\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = new window.RTCDtmfSender(this);\n            } else if (this.track.kind === 'video') {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n    // Edge currently only implements the RTCDtmfSender, not the\n    // RTCDTMFSender alias. See http://draft.ortc.org/#rtcdtmfsender2*\n    if (window.RTCDtmfSender && !window.RTCDTMFSender) {\n      window.RTCDTMFSender = window.RTCDtmfSender;\n    }\n\n    var RTCPeerConnectionShim = shimRTCPeerConnection(window,\n        browserDetails.version);\n    window.RTCPeerConnection = function(config) {\n      if (config && config.iceServers) {\n        config.iceServers = filterIceServers(config.iceServers);\n      }\n      return new RTCPeerConnectionShim(config);\n    };\n    window.RTCPeerConnection.prototype = RTCPeerConnectionShim.prototype;\n  },\n  shimReplaceTrack: function(window) {\n    // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614\n    if (window.RTCRtpSender &&\n        !('replaceTrack' in window.RTCRtpSender.prototype)) {\n      window.RTCRtpSender.prototype.replaceTrack =\n          window.RTCRtpSender.prototype.setTrack;\n    }\n  }\n};\n\n},{\"../utils\":14,\"./filtericeservers\":9,\"./getusermedia\":10,\"rtcpeerconnection-shim\":1}],9:[function(require,module,exports){\n/*\n *  Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\n// Edge does not like\n// 1) stun: filtered after 14393 unless ?transport=udp is present\n// 2) turn: that does not have all of turn:host:port?transport=udp\n// 3) turn: with ipv6 addresses\n// 4) turn: occurring muliple times\nmodule.exports = function(iceServers, edgeVersion) {\n  var hasTurn = false;\n  iceServers = JSON.parse(JSON.stringify(iceServers));\n  return iceServers.filter(function(server) {\n    if (server && (server.urls || server.url)) {\n      var urls = server.urls || server.url;\n      if (server.url && !server.urls) {\n        utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n      }\n      var isString = typeof urls === 'string';\n      if (isString) {\n        urls = [urls];\n      }\n      urls = urls.filter(function(url) {\n        var validTurn = url.indexOf('turn:') === 0 &&\n            url.indexOf('transport=udp') !== -1 &&\n            url.indexOf('turn:[') === -1 &&\n            !hasTurn;\n\n        if (validTurn) {\n          hasTurn = true;\n          return true;\n        }\n        return url.indexOf('stun:') === 0 && edgeVersion >= 14393 &&\n            url.indexOf('?transport=udp') === -1;\n      });\n\n      delete server.url;\n      server.urls = isString ? urls[0] : urls;\n      return !!urls.length;\n    }\n  });\n};\n\n},{\"../utils\":14}],10:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var navigator = window && window.navigator;\n\n  var shimError_ = function(e) {\n    return {\n      name: {PermissionDeniedError: 'NotAllowedError'}[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name;\n      }\n    };\n  };\n\n  // getUserMedia error shim.\n  var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n      bind(navigator.mediaDevices);\n  navigator.mediaDevices.getUserMedia = function(c) {\n    return origGetUserMedia(c).catch(function(e) {\n      return Promise.reject(shimError_(e));\n    });\n  };\n};\n\n},{}],11:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = {\n  shimGetUserMedia: require('./getusermedia'),\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n            this.removeEventListener('addstream', this._ontrackpoly);\n          }\n          this.addEventListener('track', this._ontrack = f);\n          this.addEventListener('addstream', this._ontrackpoly = function(e) {\n            e.stream.getTracks().forEach(function(track) {\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = {track: track};\n              event.transceiver = {receiver: event.receiver};\n              event.streams = [e.stream];\n              this.dispatchEvent(event);\n            }.bind(this));\n          }.bind(this));\n        }\n      });\n    }\n    if (typeof window === 'object' && window.RTCTrackEvent &&\n        ('receiver' in window.RTCTrackEvent.prototype) &&\n        !('transceiver' in window.RTCTrackEvent.prototype)) {\n      Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n        get: function() {\n          return {receiver: this.receiver};\n        }\n      });\n    }\n  },\n\n  shimSourceObject: function(window) {\n    // Firefox has supported mozSrcObject since FF22, unprefixed in 42.\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &&\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this.mozSrcObject;\n          },\n          set: function(stream) {\n            this.mozSrcObject = stream;\n          }\n        });\n      }\n    }\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (typeof window !== 'object' || !(window.RTCPeerConnection ||\n        window.mozRTCPeerConnection)) {\n      return; // probably media.peerconnection.enabled=false in about:config\n    }\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (browserDetails.version < 38) {\n          // .urls is not supported in FF < 38.\n          // create RTCIceServers with a single url.\n          if (pcConfig && pcConfig.iceServers) {\n            var newIceServers = [];\n            for (var i = 0; i < pcConfig.iceServers.length; i++) {\n              var server = pcConfig.iceServers[i];\n              if (server.hasOwnProperty('urls')) {\n                for (var j = 0; j < server.urls.length; j++) {\n                  var newServer = {\n                    url: server.urls[j]\n                  };\n                  if (server.urls[j].indexOf('turn') === 0) {\n                    newServer.username = server.username;\n                    newServer.credential = server.credential;\n                  }\n                  newIceServers.push(newServer);\n                }\n              } else {\n                newIceServers.push(pcConfig.iceServers[i]);\n              }\n            }\n            pcConfig.iceServers = newIceServers;\n          }\n        }\n        return new window.mozRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.mozRTCPeerConnection.prototype;\n\n      // wrap static methods. Currently just generateCertificate.\n      if (window.mozRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.mozRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n\n      window.RTCSessionDescription = window.mozRTCSessionDescription;\n      window.RTCIceCandidate = window.mozRTCIceCandidate;\n    }\n\n    // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n\n    // shim getStats with maplike support\n    var makeMapStats = function(stats) {\n      var map = new Map();\n      Object.keys(stats).forEach(function(key) {\n        map.set(key, stats[key]);\n        map[key] = stats[key];\n      });\n      return map;\n    };\n\n    var modernStatsTypes = {\n      inboundrtp: 'inbound-rtp',\n      outboundrtp: 'outbound-rtp',\n      candidatepair: 'candidate-pair',\n      localcandidate: 'local-candidate',\n      remotecandidate: 'remote-candidate'\n    };\n\n    var nativeGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(\n      selector,\n      onSucc,\n      onErr\n    ) {\n      return nativeGetStats.apply(this, [selector || null])\n        .then(function(stats) {\n          if (browserDetails.version < 48) {\n            stats = makeMapStats(stats);\n          }\n          if (browserDetails.version < 53 && !onSucc) {\n            // Shim only promise getStats with spec-hyphens in type names\n            // Leave callback version alone; misc old uses of forEach before Map\n            try {\n              stats.forEach(function(stat) {\n                stat.type = modernStatsTypes[stat.type] || stat.type;\n              });\n            } catch (e) {\n              if (e.name !== 'TypeError') {\n                throw e;\n              }\n              // Avoid TypeError: \"type\" is read-only, in old versions. 34-43ish\n              stats.forEach(function(stat, i) {\n                stats.set(i, Object.assign({}, stat, {\n                  type: modernStatsTypes[stat.type] || stat.type\n                }));\n              });\n            }\n          }\n          return stats;\n        })\n        .then(onSucc, onErr);\n    };\n  },\n\n  shimSenderGetStats: function(window) {\n    if (!(typeof window === 'object' && window.RTCPeerConnection &&\n        window.RTCRtpSender)) {\n      return;\n    }\n    if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) {\n      return;\n    }\n    var origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n    if (origGetSenders) {\n      window.RTCPeerConnection.prototype.getSenders = function() {\n        var pc = this;\n        var senders = origGetSenders.apply(pc, []);\n        senders.forEach(function(sender) {\n          sender._pc = pc;\n        });\n        return senders;\n      };\n    }\n\n    var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n    if (origAddTrack) {\n      window.RTCPeerConnection.prototype.addTrack = function() {\n        var sender = origAddTrack.apply(this, arguments);\n        sender._pc = this;\n        return sender;\n      };\n    }\n    window.RTCRtpSender.prototype.getStats = function() {\n      return this.track ? this._pc.getStats(this.track) :\n          Promise.resolve(new Map());\n    };\n  },\n\n  shimReceiverGetStats: function(window) {\n    if (!(typeof window === 'object' && window.RTCPeerConnection &&\n        window.RTCRtpSender)) {\n      return;\n    }\n    if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) {\n      return;\n    }\n    var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers;\n    if (origGetReceivers) {\n      window.RTCPeerConnection.prototype.getReceivers = function() {\n        var pc = this;\n        var receivers = origGetReceivers.apply(pc, []);\n        receivers.forEach(function(receiver) {\n          receiver._pc = pc;\n        });\n        return receivers;\n      };\n    }\n    utils.wrapPeerConnectionEvent(window, 'track', function(e) {\n      e.receiver._pc = e.srcElement;\n      return e;\n    });\n    window.RTCRtpReceiver.prototype.getStats = function() {\n      return this._pc.getStats(this.track);\n    };\n  },\n\n  shimRemoveStream: function(window) {\n    if (!window.RTCPeerConnection ||\n        'removeStream' in window.RTCPeerConnection.prototype) {\n      return;\n    }\n    window.RTCPeerConnection.prototype.removeStream = function(stream) {\n      var pc = this;\n      utils.deprecated('removeStream', 'removeTrack');\n      this.getSenders().forEach(function(sender) {\n        if (sender.track && stream.getTracks().indexOf(sender.track) !== -1) {\n          pc.removeTrack(sender);\n        }\n      });\n    };\n  },\n\n  shimRTCDataChannel: function(window) {\n    // rename DataChannel to RTCDataChannel (native fix in FF60):\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851\n    if (window.DataChannel && !window.RTCDataChannel) {\n      window.RTCDataChannel = window.DataChannel;\n    }\n  },\n};\n\n},{\"../utils\":14,\"./getusermedia\":12}],12:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window && window.navigator;\n  var MediaStreamTrack = window && window.MediaStreamTrack;\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        InternalError: 'NotReadableError',\n        NotSupportedError: 'TypeError',\n        PermissionDeniedError: 'NotAllowedError',\n        SecurityError: 'NotAllowedError'\n      }[e.name] || e.name,\n      message: {\n        'The operation is insecure.': 'The request is not allowed by the ' +\n        'user agent or the platform in the current context.'\n      }[e.message] || e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name + (this.message && ': ') + this.message;\n      }\n    };\n  };\n\n  // getUserMedia constraints shim.\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    var constraintsToFF37_ = function(c) {\n      if (typeof c !== 'object' || c.require) {\n        return c;\n      }\n      var require = [];\n      Object.keys(c).forEach(function(key) {\n        if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n          return;\n        }\n        var r = c[key] = (typeof c[key] === 'object') ?\n            c[key] : {ideal: c[key]};\n        if (r.min !== undefined ||\n            r.max !== undefined || r.exact !== undefined) {\n          require.push(key);\n        }\n        if (r.exact !== undefined) {\n          if (typeof r.exact === 'number') {\n            r. min = r.max = r.exact;\n          } else {\n            c[key] = r.exact;\n          }\n          delete r.exact;\n        }\n        if (r.ideal !== undefined) {\n          c.advanced = c.advanced || [];\n          var oc = {};\n          if (typeof r.ideal === 'number') {\n            oc[key] = {min: r.ideal, max: r.ideal};\n          } else {\n            oc[key] = r.ideal;\n          }\n          c.advanced.push(oc);\n          delete r.ideal;\n          if (!Object.keys(r).length) {\n            delete c[key];\n          }\n        }\n      });\n      if (require.length) {\n        c.require = require;\n      }\n      return c;\n    };\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (browserDetails.version < 38) {\n      logging('spec: ' + JSON.stringify(constraints));\n      if (constraints.audio) {\n        constraints.audio = constraintsToFF37_(constraints.audio);\n      }\n      if (constraints.video) {\n        constraints.video = constraintsToFF37_(constraints.video);\n      }\n      logging('ff37: ' + JSON.stringify(constraints));\n    }\n    return navigator.mozGetUserMedia(constraints, onSuccess, function(e) {\n      onError(shimError_(e));\n    });\n  };\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      getUserMedia_(constraints, resolve, reject);\n    });\n  };\n\n  // Shim for mediaDevices on older versions.\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {getUserMedia: getUserMediaPromise_,\n      addEventListener: function() { },\n      removeEventListener: function() { }\n    };\n  }\n  navigator.mediaDevices.enumerateDevices =\n      navigator.mediaDevices.enumerateDevices || function() {\n        return new Promise(function(resolve) {\n          var infos = [\n            {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},\n            {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}\n          ];\n          resolve(infos);\n        });\n      };\n\n  if (browserDetails.version < 41) {\n    // Work around http://bugzil.la/1169665\n    var orgEnumerateDevices =\n        navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);\n    navigator.mediaDevices.enumerateDevices = function() {\n      return orgEnumerateDevices().then(undefined, function(e) {\n        if (e.name === 'NotFoundError') {\n          return [];\n        }\n        throw e;\n      });\n    };\n  }\n  if (browserDetails.version < 49) {\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      return origGetUserMedia(c).then(function(stream) {\n        // Work around https://bugzil.la/802326\n        if (c.audio && !stream.getAudioTracks().length ||\n            c.video && !stream.getVideoTracks().length) {\n          stream.getTracks().forEach(function(track) {\n            track.stop();\n          });\n          throw new DOMException('The object can not be found here.',\n                                 'NotFoundError');\n        }\n        return stream;\n      }, function(e) {\n        return Promise.reject(shimError_(e));\n      });\n    };\n  }\n  if (!(browserDetails.version > 55 &&\n      'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) {\n    var remap = function(obj, a, b) {\n      if (a in obj && !(b in obj)) {\n        obj[b] = obj[a];\n        delete obj[a];\n      }\n    };\n\n    var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      if (typeof c === 'object' && typeof c.audio === 'object') {\n        c = JSON.parse(JSON.stringify(c));\n        remap(c.audio, 'autoGainControl', 'mozAutoGainControl');\n        remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression');\n      }\n      return nativeGetUserMedia(c);\n    };\n\n    if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) {\n      var nativeGetSettings = MediaStreamTrack.prototype.getSettings;\n      MediaStreamTrack.prototype.getSettings = function() {\n        var obj = nativeGetSettings.apply(this, arguments);\n        remap(obj, 'mozAutoGainControl', 'autoGainControl');\n        remap(obj, 'mozNoiseSuppression', 'noiseSuppression');\n        return obj;\n      };\n    }\n\n    if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) {\n      var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints;\n      MediaStreamTrack.prototype.applyConstraints = function(c) {\n        if (this.kind === 'audio' && typeof c === 'object') {\n          c = JSON.parse(JSON.stringify(c));\n          remap(c, 'autoGainControl', 'mozAutoGainControl');\n          remap(c, 'noiseSuppression', 'mozNoiseSuppression');\n        }\n        return nativeApplyConstraints.apply(this, [c]);\n      };\n    }\n  }\n  navigator.getUserMedia = function(constraints, onSuccess, onError) {\n    if (browserDetails.version < 44) {\n      return getUserMedia_(constraints, onSuccess, onError);\n    }\n    // Replace Firefox 44+'s deprecation warning with unprefixed version.\n    utils.deprecated('navigator.getUserMedia',\n        'navigator.mediaDevices.getUserMedia');\n    navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);\n  };\n};\n\n},{\"../utils\":14}],13:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n'use strict';\nvar utils = require('../utils');\n\nmodule.exports = {\n  shimLocalStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getLocalStreams = function() {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        return this._localStreams;\n      };\n    }\n    if (!('getStreamById' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getStreamById = function(id) {\n        var result = null;\n        if (this._localStreams) {\n          this._localStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        if (this._remoteStreams) {\n          this._remoteStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        return result;\n      };\n    }\n    if (!('addStream' in window.RTCPeerConnection.prototype)) {\n      var _addTrack = window.RTCPeerConnection.prototype.addTrack;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        if (this._localStreams.indexOf(stream) === -1) {\n          this._localStreams.push(stream);\n        }\n        var pc = this;\n        stream.getTracks().forEach(function(track) {\n          _addTrack.call(pc, track, stream);\n        });\n      };\n\n      window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n        if (stream) {\n          if (!this._localStreams) {\n            this._localStreams = [stream];\n          } else if (this._localStreams.indexOf(stream) === -1) {\n            this._localStreams.push(stream);\n          }\n        }\n        return _addTrack.call(this, track, stream);\n      };\n    }\n    if (!('removeStream' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        var index = this._localStreams.indexOf(stream);\n        if (index === -1) {\n          return;\n        }\n        this._localStreams.splice(index, 1);\n        var pc = this;\n        var tracks = stream.getTracks();\n        this.getSenders().forEach(function(sender) {\n          if (tracks.indexOf(sender.track) !== -1) {\n            pc.removeTrack(sender);\n          }\n        });\n      };\n    }\n  },\n  shimRemoteStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getRemoteStreams = function() {\n        return this._remoteStreams ? this._remoteStreams : [];\n      };\n    }\n    if (!('onaddstream' in window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', {\n        get: function() {\n          return this._onaddstream;\n        },\n        set: function(f) {\n          var pc = this;\n          if (this._onaddstream) {\n            this.removeEventListener('addstream', this._onaddstream);\n            this.removeEventListener('track', this._onaddstreampoly);\n          }\n          this.addEventListener('addstream', this._onaddstream = f);\n          this.addEventListener('track', this._onaddstreampoly = function(e) {\n            e.streams.forEach(function(stream) {\n              if (!pc._remoteStreams) {\n                pc._remoteStreams = [];\n              }\n              if (pc._remoteStreams.indexOf(stream) >= 0) {\n                return;\n              }\n              pc._remoteStreams.push(stream);\n              var event = new Event('addstream');\n              event.stream = stream;\n              pc.dispatchEvent(event);\n            });\n          });\n        }\n      });\n    }\n  },\n  shimCallbacksAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    var prototype = window.RTCPeerConnection.prototype;\n    var createOffer = prototype.createOffer;\n    var createAnswer = prototype.createAnswer;\n    var setLocalDescription = prototype.setLocalDescription;\n    var setRemoteDescription = prototype.setRemoteDescription;\n    var addIceCandidate = prototype.addIceCandidate;\n\n    prototype.createOffer = function(successCallback, failureCallback) {\n      var options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n      var promise = createOffer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    prototype.createAnswer = function(successCallback, failureCallback) {\n      var options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n      var promise = createAnswer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    var withCallback = function(description, successCallback, failureCallback) {\n      var promise = setLocalDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setLocalDescription = withCallback;\n\n    withCallback = function(description, successCallback, failureCallback) {\n      var promise = setRemoteDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setRemoteDescription = withCallback;\n\n    withCallback = function(candidate, successCallback, failureCallback) {\n      var promise = addIceCandidate.apply(this, [candidate]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.addIceCandidate = withCallback;\n  },\n  shimGetUserMedia: function(window) {\n    var navigator = window && window.navigator;\n\n    if (!navigator.getUserMedia) {\n      if (navigator.webkitGetUserMedia) {\n        navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator);\n      } else if (navigator.mediaDevices &&\n          navigator.mediaDevices.getUserMedia) {\n        navigator.getUserMedia = function(constraints, cb, errcb) {\n          navigator.mediaDevices.getUserMedia(constraints)\n          .then(cb, errcb);\n        }.bind(navigator);\n      }\n    }\n  },\n  shimRTCIceServerUrls: function(window) {\n    // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n    var OrigPeerConnection = window.RTCPeerConnection;\n    window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n      if (pcConfig && pcConfig.iceServers) {\n        var newIceServers = [];\n        for (var i = 0; i < pcConfig.iceServers.length; i++) {\n          var server = pcConfig.iceServers[i];\n          if (!server.hasOwnProperty('urls') &&\n              server.hasOwnProperty('url')) {\n            utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n            server = JSON.parse(JSON.stringify(server));\n            server.urls = server.url;\n            delete server.url;\n            newIceServers.push(server);\n          } else {\n            newIceServers.push(pcConfig.iceServers[i]);\n          }\n        }\n        pcConfig.iceServers = newIceServers;\n      }\n      return new OrigPeerConnection(pcConfig, pcConstraints);\n    };\n    window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n    // wrap static methods. Currently just generateCertificate.\n    if ('generateCertificate' in window.RTCPeerConnection) {\n      Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n        get: function() {\n          return OrigPeerConnection.generateCertificate;\n        }\n      });\n    }\n  },\n  shimTrackEventTransceiver: function(window) {\n    // Add event.transceiver member over deprecated event.receiver\n    if (typeof window === 'object' && window.RTCPeerConnection &&\n        ('receiver' in window.RTCTrackEvent.prototype) &&\n        // can't check 'transceiver' in window.RTCTrackEvent.prototype, as it is\n        // defined for some reason even when window.RTCTransceiver is not.\n        !window.RTCTransceiver) {\n      Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n        get: function() {\n          return {receiver: this.receiver};\n        }\n      });\n    }\n  },\n\n  shimCreateOfferLegacy: function(window) {\n    var origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n    window.RTCPeerConnection.prototype.createOffer = function(offerOptions) {\n      var pc = this;\n      if (offerOptions) {\n        if (typeof offerOptions.offerToReceiveAudio !== 'undefined') {\n          // support bit values\n          offerOptions.offerToReceiveAudio = !!offerOptions.offerToReceiveAudio;\n        }\n        var audioTransceiver = pc.getTransceivers().find(function(transceiver) {\n          return transceiver.sender.track &&\n              transceiver.sender.track.kind === 'audio';\n        });\n        if (offerOptions.offerToReceiveAudio === false && audioTransceiver) {\n          if (audioTransceiver.direction === 'sendrecv') {\n            if (audioTransceiver.setDirection) {\n              audioTransceiver.setDirection('sendonly');\n            } else {\n              audioTransceiver.direction = 'sendonly';\n            }\n          } else if (audioTransceiver.direction === 'recvonly') {\n            if (audioTransceiver.setDirection) {\n              audioTransceiver.setDirection('inactive');\n            } else {\n              audioTransceiver.direction = 'inactive';\n            }\n          }\n        } else if (offerOptions.offerToReceiveAudio === true &&\n            !audioTransceiver) {\n          pc.addTransceiver('audio');\n        }\n\n\n        if (typeof offerOptions.offerToReceiveAudio !== 'undefined') {\n          // support bit values\n          offerOptions.offerToReceiveVideo = !!offerOptions.offerToReceiveVideo;\n        }\n        var videoTransceiver = pc.getTransceivers().find(function(transceiver) {\n          return transceiver.sender.track &&\n              transceiver.sender.track.kind === 'video';\n        });\n        if (offerOptions.offerToReceiveVideo === false && videoTransceiver) {\n          if (videoTransceiver.direction === 'sendrecv') {\n            videoTransceiver.setDirection('sendonly');\n          } else if (videoTransceiver.direction === 'recvonly') {\n            videoTransceiver.setDirection('inactive');\n          }\n        } else if (offerOptions.offerToReceiveVideo === true &&\n            !videoTransceiver) {\n          pc.addTransceiver('video');\n        }\n      }\n      return origCreateOffer.apply(pc, arguments);\n    };\n  }\n};\n\n},{\"../utils\":14}],14:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar logDisabled_ = true;\nvar deprecationWarnings_ = true;\n\n/**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\nfunction extractVersion(uastring, expr, pos) {\n  var match = uastring.match(expr);\n  return match && match.length >= pos && parseInt(match[pos], 10);\n}\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object.\nfunction wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n  if (!window.RTCPeerConnection) {\n    return;\n  }\n  var proto = window.RTCPeerConnection.prototype;\n  var nativeAddEventListener = proto.addEventListener;\n  proto.addEventListener = function(nativeEventName, cb) {\n    if (nativeEventName !== eventNameToWrap) {\n      return nativeAddEventListener.apply(this, arguments);\n    }\n    var wrappedCallback = function(e) {\n      cb(wrapper(e));\n    };\n    this._eventMap = this._eventMap || {};\n    this._eventMap[cb] = wrappedCallback;\n    return nativeAddEventListener.apply(this, [nativeEventName,\n      wrappedCallback]);\n  };\n\n  var nativeRemoveEventListener = proto.removeEventListener;\n  proto.removeEventListener = function(nativeEventName, cb) {\n    if (nativeEventName !== eventNameToWrap || !this._eventMap\n        || !this._eventMap[cb]) {\n      return nativeRemoveEventListener.apply(this, arguments);\n    }\n    var unwrappedCb = this._eventMap[cb];\n    delete this._eventMap[cb];\n    return nativeRemoveEventListener.apply(this, [nativeEventName,\n      unwrappedCb]);\n  };\n\n  Object.defineProperty(proto, 'on' + eventNameToWrap, {\n    get: function() {\n      return this['_on' + eventNameToWrap];\n    },\n    set: function(cb) {\n      if (this['_on' + eventNameToWrap]) {\n        this.removeEventListener(eventNameToWrap,\n            this['_on' + eventNameToWrap]);\n        delete this['_on' + eventNameToWrap];\n      }\n      if (cb) {\n        this.addEventListener(eventNameToWrap,\n            this['_on' + eventNameToWrap] = cb);\n      }\n    },\n    enumerable: true,\n    configurable: true\n  });\n}\n\n// Utility methods.\nmodule.exports = {\n  extractVersion: extractVersion,\n  wrapPeerConnectionEvent: wrapPeerConnectionEvent,\n  disableLog: function(bool) {\n    if (typeof bool !== 'boolean') {\n      return new Error('Argument type: ' + typeof bool +\n          '. Please use a boolean.');\n    }\n    logDisabled_ = bool;\n    return (bool) ? 'adapter.js logging disabled' :\n        'adapter.js logging enabled';\n  },\n\n  /**\n   * Disable or enable deprecation warnings\n   * @param {!boolean} bool set to true to disable warnings.\n   */\n  disableWarnings: function(bool) {\n    if (typeof bool !== 'boolean') {\n      return new Error('Argument type: ' + typeof bool +\n          '. Please use a boolean.');\n    }\n    deprecationWarnings_ = !bool;\n    return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled');\n  },\n\n  log: function() {\n    if (typeof window === 'object') {\n      if (logDisabled_) {\n        return;\n      }\n      if (typeof console !== 'undefined' && typeof console.log === 'function') {\n        console.log.apply(console, arguments);\n      }\n    }\n  },\n\n  /**\n   * Shows a deprecation warning suggesting the modern and spec-compatible API.\n   */\n  deprecated: function(oldMethod, newMethod) {\n    if (!deprecationWarnings_) {\n      return;\n    }\n    console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n        ' instead.');\n  },\n\n  /**\n   * Browser detector.\n   *\n   * @return {object} result containing browser and version\n   *     properties.\n   */\n  detectBrowser: function(window) {\n    var navigator = window && window.navigator;\n\n    // Returned result object.\n    var result = {};\n    result.browser = null;\n    result.version = null;\n\n    // Fail early if it's not a browser\n    if (typeof window === 'undefined' || !window.navigator) {\n      result.browser = 'Not a browser.';\n      return result;\n    }\n\n    if (navigator.mozGetUserMedia) { // Firefox.\n      result.browser = 'firefox';\n      result.version = extractVersion(navigator.userAgent,\n          /Firefox\\/(\\d+)\\./, 1);\n    } else if (navigator.webkitGetUserMedia) {\n      // Chrome, Chromium, Webview, Opera.\n      // Version matches Chrome/WebRTC version.\n      result.browser = 'chrome';\n      result.version = extractVersion(navigator.userAgent,\n          /Chrom(e|ium)\\/(\\d+)\\./, 2);\n    } else if (navigator.mediaDevices &&\n        navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) { // Edge.\n      result.browser = 'edge';\n      result.version = extractVersion(navigator.userAgent,\n          /Edge\\/(\\d+).(\\d+)$/, 2);\n    } else if (window.RTCPeerConnection &&\n        navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n      result.browser = 'safari';\n      result.version = extractVersion(navigator.userAgent,\n          /AppleWebKit\\/(\\d+)\\./, 1);\n    } else { // Default fallthrough: not supported.\n      result.browser = 'Not a supported browser.';\n      return result;\n    }\n\n    return result;\n  }\n};\n\n},{}]},{},[3])(3)\n});\n"
  },
  {
    "path": "webroot/html/js/domain.js",
    "content": "\n\nvar Domain = \"www.meetyoucn.com\";\nvar StunString = \"\";\n/*\n可以自定义成如下格式\n            \"[{\" +\n            \" \\\"urls\\\": \\\"stun:www.meetyoucn.com:3478?transport=udp\\\"  \" +\n            \" } \" +\n            \",{\" +\n            \" \\\"urls\\\": \\\"stun:www.meetyoucn.com:3478?transport=tcp\\\"  \" +\n            \" } \" +\n            \",{\" +\n            \" \\\"urls\\\": \\\"turn:www.meetyoucn.com:3478?transport=udp\\\", \" +\n            \" \\\"username\\\": \\\"k1\\\", \" +\n            \" \\\"credential\\\": \\\"1234567\\\" } \" +\n            \",{\" +\n            \" \\\"urls\\\": \\\"turn:www.meetyoucn.com:3478?transport=tcp\\\", \" +\n            \" \\\"username\\\": \\\"k1\\\", \" +\n            \" \\\"credential\\\": \\\"1234567\\\" } \" +\n            \"] \"\n*/\n"
  },
  {
    "path": "webroot/html/js/recorder.js",
    "content": "(function (f) {\n    if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n        module.exports = f()\n    } else if (typeof define === \"function\" && define.amd) {\n        define([], f)\n    } else {\n        var g;\n        if (typeof window !== \"undefined\") {\n            g = window\n        } else if (typeof global !== \"undefined\") {\n            g = global\n        } else if (typeof self !== \"undefined\") {\n            g = self\n        } else {\n            g = this\n        }\n        g.Recorder = f()\n    }\n})(function () {\n    var define, module, exports;\n    return (function e(t, n, r) {\n        function s(o, u) {\n            if (!n[o]) {\n                if (!t[o]) {\n                    var a = typeof require == \"function\" && require;\n                    if (!u && a)return a(o, !0);\n                    if (i)return i(o, !0);\n                    var f = new Error(\"Cannot find module '\" + o + \"'\");\n                    throw f.code = \"MODULE_NOT_FOUND\", f\n                }\n                var l = n[o] = {exports: {}};\n                t[o][0].call(l.exports, function (e) {\n                    var n = t[o][1][e];\n                    return s(n ? n : e)\n                }, l, l.exports, e, t, n, r)\n            }\n            return n[o].exports\n        }\n\n        var i = typeof require == \"function\" && require;\n        for (var o = 0; o < r.length; o++)s(r[o]);\n        return s\n    })({\n        1: [function (require, module, exports) {\n            \"use strict\";\n\n            module.exports = require(\"./recorder\").Recorder;\n\n        }, {\"./recorder\": 2}], 2: [function (require, module, exports) {\n            'use strict';\n\n            var _createClass = (function () {\n                function defineProperties(target, props) {\n                    for (var i = 0; i < props.length; i++) {\n                        var descriptor = props[i];\n                        descriptor.enumerable = descriptor.enumerable || false;\n                        descriptor.configurable = true;\n                        if (\"value\" in descriptor) descriptor.writable = true;\n                        Object.defineProperty(target, descriptor.key, descriptor);\n                    }\n                }\n\n                return function (Constructor, protoProps, staticProps) {\n                    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n                    if (staticProps) defineProperties(Constructor, staticProps);\n                    return Constructor;\n                };\n            })();\n\n            Object.defineProperty(exports, \"__esModule\", {\n                value: true\n            });\n            exports.Recorder = undefined;\n\n            var _inlineWorker = require('inline-worker');\n\n            var _inlineWorker2 = _interopRequireDefault(_inlineWorker);\n\n            function _interopRequireDefault(obj) {\n                return obj && obj.__esModule ? obj : {default: obj};\n            }\n\n            function _classCallCheck(instance, Constructor) {\n                if (!(instance instanceof Constructor)) {\n                    throw new TypeError(\"Cannot call a class as a function\");\n                }\n            }\n\n            var Recorder = exports.Recorder = (function () {\n                function Recorder(source, cfg) {\n                    var _this = this;\n\n                    _classCallCheck(this, Recorder);\n\n                    this.config = {\n                        bufferLen: 4096,\n                        numChannels: 2,\n                        mimeType: 'audio/wav'\n                    };\n                    this.recording = false;\n                    this.callbacks = {\n                        getBuffer: [],\n                        exportWAV: []\n                    };\n\n                    Object.assign(this.config, cfg);\n                    this.context = source.context;\n                    this.node = (this.context.createScriptProcessor || this.context.createJavaScriptNode).call(this.context, this.config.bufferLen, this.config.numChannels, this.config.numChannels);\n\n                    this.node.onaudioprocess = function (e) {\n                        if (!_this.recording) return;\n\n                        var buffer = [];\n                        for (var channel = 0; channel < _this.config.numChannels; channel++) {\n                            buffer.push(e.inputBuffer.getChannelData(channel));\n                        }\n                        _this.worker.postMessage({\n                            command: 'record',\n                            buffer: buffer\n                        });\n                    };\n\n                    source.connect(this.node);\n                    this.node.connect(this.context.destination); //this should not be necessary\n\n                    var self = {};\n                    this.worker = new _inlineWorker2.default(function () {\n                        var recLength = 0,\n                            recBuffers = [],\n                            sampleRate = undefined,\n                            numChannels = undefined;\n\n                        self.onmessage = function (e) {\n                            switch (e.data.command) {\n                                case 'init':\n                                    init(e.data.config);\n                                    break;\n                                case 'record':\n                                    record(e.data.buffer);\n                                    break;\n                                case 'exportWAV':\n                                    exportWAV(e.data.type);\n                                    break;\n                                case 'getBuffer':\n                                    getBuffer();\n                                    break;\n                                case 'clear':\n                                    clear();\n                                    break;\n                            }\n                        };\n\n                        function init(config) {\n                            console.log(\"init(config)\",  config);\n                            sampleRate = config.sampleRate;\n                            numChannels = config.numChannels;\n                            initBuffers();\n                        }\n\n                        function record(inputBuffer) {\n                            console.log(\"record  \"   );\n                            for (var channel = 0; channel < numChannels; channel++) {\n                                recBuffers[channel].push(inputBuffer[channel]);\n                            }\n                            recLength += inputBuffer[0].length;\n                        }\n\n                        function exportWAV(type) {\n                            console.log(\"exportWAV  \"   );\n                            var buffers = [];\n                            for (var channel = 0; channel < numChannels; channel++) {\n                                buffers.push(mergeBuffers(recBuffers[channel], recLength));\n                            }\n                            var interleaved = undefined;\n                            if (numChannels === 2) {\n                                interleaved = interleave(buffers[0], buffers[1]);\n                            } else {\n                                interleaved = buffers[0];\n                            }\n                            console.log(\"exportWAV  length: \" ,interleaved.length  );\n                            var dataview = encodeWAV(interleaved);\n                            var audioBlob = new Blob([dataview], {type: type});\n\n                            self.postMessage({command: 'exportWAV', data: audioBlob});\n                        }\n\n                        function getBuffer() {\n                            var buffers = [];\n                            for (var channel = 0; channel < numChannels; channel++) {\n                                buffers.push(mergeBuffers(recBuffers[channel], recLength));\n                            }\n                            self.postMessage({command: 'getBuffer', data: buffers});\n                        }\n\n                        function clear() {\n                            recLength = 0;\n                            recBuffers = [];\n                            initBuffers();\n                        }\n\n                        function initBuffers() {\n                            for (var channel = 0; channel < numChannels; channel++) {\n                                recBuffers[channel] = [];\n                            }\n                        }\n\n                        function mergeBuffers(recBuffers, recLength) {\n                            var result = new Float32Array(recLength);\n                            var offset = 0;\n                            for (var i = 0; i < recBuffers.length; i++) {\n                                result.set(recBuffers[i], offset);\n                                offset += recBuffers[i].length;\n                            }\n                            return result;\n                        }\n\n                        function interleave(inputL, inputR) {\n                            var length = inputL.length + inputR.length;\n                            var result = new Float32Array(length);\n\n                            var index = 0,\n                                inputIndex = 0;\n\n                            while (index < length) {\n                                result[index++] = inputL[inputIndex];\n                                result[index++] = inputR[inputIndex];\n                                inputIndex++;\n                            }\n                            return result;\n                        }\n                        /*\n\n                        var  littleEndian = true;\n  \n                         function floatTo16BitPCM(output, offset, input, littleEndian) {\n                         for (var i = 0; i < input.length; i++, offset += 2) {\n                         var s = Math.max(-1, Math.min(1, input[i]));\n                         output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, littleEndian);\n                         }\n                         }\n\n                         function writeString(view, offset, string) {\n                         for (var i = 0; i < string.length; i++) {\n                         view.setUint8(offset + i, string.charCodeAt(i));\n                         }\n                         }\n\n                         function encodeWAV(samples) {\n\n                          var  littleEndian = true;\n\n                         var buffer = new ArrayBuffer(44 + samples.length * 2);\n                         var view = new DataView(buffer);\n\n                         // RIFF identifier\n                         writeString(view, 0, 'RIFF');\n                         //RIFF chunk length;\n                         view.setUint32(4, 36 + samples.length * 2, littleEndian);\n                         // RIFF type\n                         writeString(view, 8, 'WAVE');\n                         //format chunk identifier\n                         writeString(view, 12, 'fmt ');\n                         //format chunk length /\n                         view.setUint32(16, 16, littleEndian);\n                         // sample format (raw)\n                         view.setUint16(20, 1, littleEndian);\n                         // channel count\n                         view.setUint16(22, numChannels, littleEndian);\n                         /// sample rate /\n                         view.setUint32(24, sampleRate, littleEndian);\n                         // byte rate (sample rate * block align)\n                         view.setUint32(28, sampleRate * 4, littleEndian);\n                         // block align (channel count * bytes per sample)\n                         view.setUint16(32, numChannels * 2, littleEndian);\n                         // bits per sample\n                         view.setUint16(34, 16, littleEndian);\n                         // data chunk identifier\n                         writeString(view, 36, 'data');\n                         // data chunk length\n                         view.setUint32(40, samples.length * 2, littleEndian);\n\n                         floatTo16BitPCM(view, 44, samples, littleEndian);\n\n                         return view;\n                         }\n                         */\n\n\n\n                   function floatTo16BitPCM(output, offset, input) {\n                        for (var i = 0; i < input.length;   ) {\n                            var s = Math.max(-1, Math.min(1, input[i]));\n\n                            if ( i % 8 == 0 ){\n                                output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);\n                                offset += 2\n                            }\n                            i++\n\n                        }\n                    }\n                        function floatTo8BitPCM(output, offset, input) {\n                            for (var i = 0; i < input.length;   ) {\n                                var s = Math.max(-1, Math.min(1, input[i]));\n\n                                if ( i % 4 === 0 ){\n                                    s = s < 0 ? s * 0x8000 : s * 0x7FFF;\n                                    s = s >>8;\n                                    s = s +128;\n                                    output.setUint8(offset,  s * 0xFF, true);\n                                    offset += 1\n                                }\n                                i++\n\n                            }\n                        }\n\n\n                    function writeString(view, offset, string) {\n                        for (var i = 0; i < string.length; i++) {\n                            view.setUint8(offset + i, string.charCodeAt(i));\n                        }\n                    }\n\n                    function encodeWAV(samples) {\n\n                        console.log(\"encodeWav: \", samples.length);\n\n                        // 原来是 * 2 应该是 单pcm 转 双声道\n                        //  目前转 1 声道\n                        //  8 bit\n                        // s 所以 先 *2 在 转 8 bit  那么 /2\n                        // 最后取样率 /4\n                        var data_length = samples.length*2/2/4;\n                        var outputnumChannels = 2;\n                        var sampleBites = 8;\n                        var outputsampleRate = sampleRate/4;\n                        var blocklength = 8;\n\n                        var buffer = new ArrayBuffer(44 + data_length);\n                        var view = new DataView(buffer);\n\n                        //RIFF identifier /\n                        writeString(view, 0, 'RIFF');\n                        // RIFF chunk length /\n                        view.setUint32(4, 36 + data_length, true);\n                        // RIFF type /\n                        writeString(view, 8, 'WAVE');\n                        // format chunk identifier /\n                        writeString(view, 12, 'fmt ');\n                        // format chunk length /\n                        view.setUint32(16, 16, true);\n                        // sample format (raw) /\n                        view.setUint16(20, 1, true);\n                        //channel count //\n                        view.setUint16(22, outputnumChannels, true);\n                        // sample rate /\n                        view.setUint32(24, outputsampleRate, true);\n                        // byte rate (sample rate * block align) /\n                        view.setUint32(28, outputsampleRate * sampleBites  * outputnumChannels/ 8, true);\n                        // block align (channel count * bytes per sample) /\n                        view.setUint16(32, outputnumChannels *  sampleBites/ 8, true);\n                        // bits per sample /\n                        view.setUint16(34, sampleBites, true);\n                        // data chunk identifier /\n                        writeString(view, 36, 'data');\n                        // data chunk length /\n                        view.setUint32(40, data_length, true);\n\n                        floatTo8BitPCM(view, 44, samples);\n\n                        return view;\n                    }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                          \n                    }, self);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                    this.worker.postMessage({\n                        command: 'init',\n                        config: {\n                            sampleRate: this.context.sampleRate,\n                            numChannels: this.config.numChannels\n                        }\n                    });\n\n                    this.worker.onmessage = function (e) {\n                        var cb = _this.callbacks[e.data.command].pop();\n                        if (typeof cb == 'function') {\n                            cb(e.data.data);\n                        }\n                    };\n                }\n\n                _createClass(Recorder, [{\n                    key: 'record',\n                    value: function record() {\n                        this.recording = true;\n                    }\n                }, {\n                    key: 'stop',\n                    value: function stop() {\n                        this.recording = false;\n                    }\n                }, {\n                    key: 'clear',\n                    value: function clear() {\n                        this.worker.postMessage({command: 'clear'});\n                    }\n                }, {\n                    key: 'getBuffer',\n                    value: function getBuffer(cb) {\n                        cb = cb || this.config.callback;\n                        if (!cb) throw new Error('Callback not set');\n\n                        this.callbacks.getBuffer.push(cb);\n\n                        this.worker.postMessage({command: 'getBuffer'});\n                    }\n                }, {\n                    key: 'exportWAV',\n                    value: function exportWAV(cb, mimeType) {\n                        mimeType = mimeType || this.config.mimeType;\n                        cb = cb || this.config.callback;\n                        if (!cb) throw new Error('Callback not set');\n\n                        this.callbacks.exportWAV.push(cb);\n\n                        this.worker.postMessage({\n                            command: 'exportWAV',\n                            type: mimeType\n                        });\n                    }\n                }], [{\n                    key: 'forceDownload',\n                    value: function forceDownload(blob, filename) {\n                        var url = (window.URL || window.webkitURL).createObjectURL(blob);\n                        var link = window.document.createElement('a');\n                        link.href = url;\n                        link.download = filename || 'output.wav';\n                        var click = document.createEvent(\"Event\");\n                        click.initEvent(\"click\", true, true);\n                        link.dispatchEvent(click);\n                    }\n                }]);\n\n                return Recorder;\n            })();\n\n            exports.default = Recorder;\n\n        }, {\"inline-worker\": 3}], 3: [function (require, module, exports) {\n            \"use strict\";\n\n            module.exports = require(\"./inline-worker\");\n        }, {\"./inline-worker\": 4}], 4: [function (require, module, exports) {\n            (function (global) {\n                \"use strict\";\n\n                var _createClass = (function () {\n                    function defineProperties(target, props) {\n                        for (var key in props) {\n                            var prop = props[key];\n                            prop.configurable = true;\n                            if (prop.value) prop.writable = true;\n                        }\n                        Object.defineProperties(target, props);\n                    }\n\n                    return function (Constructor, protoProps, staticProps) {\n                        if (protoProps) defineProperties(Constructor.prototype, protoProps);\n                        if (staticProps) defineProperties(Constructor, staticProps);\n                        return Constructor;\n                    };\n                })();\n\n                var _classCallCheck = function (instance, Constructor) {\n                    if (!(instance instanceof Constructor)) {\n                        throw new TypeError(\"Cannot call a class as a function\");\n                    }\n                };\n\n                var WORKER_ENABLED = !!(global === global.window && global.URL && global.Blob && global.Worker);\n\n                var InlineWorker = (function () {\n                    function InlineWorker(func, self) {\n                        var _this = this;\n\n                        _classCallCheck(this, InlineWorker);\n\n                        if (WORKER_ENABLED) {\n                            var functionBody = func.toString().trim().match(/^function\\s*\\w*\\s*\\([\\w\\s,]*\\)\\s*{([\\w\\W]*?)}$/)[1];\n                            var url = global.URL.createObjectURL(new global.Blob([functionBody], {type: \"text/javascript\"}));\n\n                            return new global.Worker(url);\n                        }\n\n                        this.self = self;\n                        this.self.postMessage = function (data) {\n                            setTimeout(function () {\n                                _this.onmessage({data: data});\n                            }, 0);\n                        };\n\n                        setTimeout(function () {\n                            func.call(self);\n                        }, 0);\n                    }\n\n                    _createClass(InlineWorker, {\n                        postMessage: {\n                            value: function postMessage(data) {\n                                var _this = this;\n\n                                setTimeout(function () {\n                                    _this.self.onmessage({data: data});\n                                }, 0);\n                            }\n                        }\n                    });\n\n                    return InlineWorker;\n                })();\n\n                module.exports = InlineWorker;\n            }).call(this, typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n        }, {}]\n    }, {}, [1])(1)\n});"
  },
  {
    "path": "webroot/html/json/mine.json",
    "content": "{\n  \"code\": 0,\n  \"msg\": \"\",\n  \"data\": {\n    \"mine\": {\n      \"username\": \"天马流星\",\n      \"id\": \"100000\",\n      \"status\": \"online\",\n      \"sign\": \"天马流星\",\n      \"avatar\": \"/header/00086.jpg\"\n    },\n\n    \"friend\": [{\n      \"groupname\": \"我的好友\"\n    ,\"id\": 1\n    ,\"online\": 0\n    ,\"list\": [  ]\n    }]\n  }\n}"
  },
  {
    "path": "webroot/html/mobile/index.html",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>登录</title>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link href=\"../css/style.css?__inline\" rel='stylesheet' type='text/css' />\n    <script src=\"../../dist/jquery-2.2.4.js\"></script>\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../dist/js/index_mob.js\"></script>\n</head>\n<body style=\" background-repeat:no-repeat ; background-size:100% 100%; background-attachment: fixed; \">\n    <!--SIGN UP-->\n    <h1>登录系统</h1>\n    <div class=\"login-form\">\n        <div class=\"close\"></div>\n        <div class=\"head-info\">\n            <label class=\"lbl-1\"> </label>\n            <label class=\"lbl-2\"> </label>\n            <label class=\"lbl-3\"> </label>\n        </div>\n        <div class=\"clear\"></div>\n        <div class=\"avtar\">\n            <img src=\"../images/avtar.png?__inline\" />\n        </div>\n        <form action=\"check.html\">\n            <input type=\"text\" class=\"text\" value=\"10000\" id=\"username\" placeholder=\"请输入账号 它应该是一个数字 比如1000\"\n                onfocus=\"this.value = '';\" onblur=\"if (this.value == '') {this.value = 'Username';}\">\n            <div class=\"key\">\n                <input type=\"password\" value=\"20000\" id=\"password\" placeholder=\"请输入密码\" onfocus=\"this.value = '';\"\n                    onblur=\"if (this.value == '') {this.value = 'Password';}\">\n            </div>\n        </form>\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a1\" value=\"登录\">\n        </div>\n\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a2\" value=\"注册\">\n        </div>\n    </div>\n    <div class=\"copy-rights\">\n        <p>Copyright &copy; 2018 John All rights reserved.</p>\n    </div>\n    <script>\n    </script>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/mobile/main.html",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n    <title>移动版</title>\n    <link rel=\"stylesheet\" href=\"../../dist/css/layui.mobile.css?__inline\">\n    <link rel=\"stylesheet\" href=\"../css/mobilecss.css?__inline\">\n    <link id=\"layuicss-skinlayim-mobilecss\" rel=\"stylesheet\" href=\"../../dist/css/modules/layim/mobile/layim.css\" media=\"all\">\n</head>\n<body>\n    <script src=\"../../dist/layui.js\"></script>\n    <script src=\"../../dist/jquery-2.2.4.js\"></script>\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../html/js/adapter-latest.js?__inline\"></script>\n    <script src=\"../../html/js/recorder.js?__inline\"></script>\n    <script src=\"../../dist/js/main_mob.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/mobile/new.html",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>注册新用户</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link href=\"../css/style.css?__inline\" rel='stylesheet' type='text/css' />\n    <link rel=\"stylesheet\" href=\"../../dist/css/layui.css\">\n    <script src=\"../../dist/jquery-2.2.4.js\"></script>\n    <script src=\"../../dist/layui.js\"></script>\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../dist/js/new_pc.js\"></script>\n</head>\n\n<body style=\"background-repeat:no-repeat; background-size:100% 100%; background-attachment: fixed;\">\n    <h1>登录系统</h1>\n    <div class=\"login-form\">\n        <div class=\"close\"></div>\n        <div class=\"head-info\">\n            <label class=\"lbl-1\"> </label>\n            <label class=\"lbl-2\"> </label>\n            <label class=\"lbl-3\"> </label>\n        </div>\n        <div class=\"clear\"></div>\n        <div class=\"avtar\">\n            <img id=\"f1\" src=\"../../header/2.png\" style=\" width: 40px;  height: 40px;\" />\n            <img id=\"header\" src=\"../../header/small/00001.jpg\" style=\"width: 180px; height: 180px;\" />\n            <img id=\"f2\" src=\"../../header/1.png\" style=\"width: 40px; height: 40px;\" />\n        </div>\n        <form>\n            <input type=\"text\" class=\"text\" value=\"\" id=\"nickname\" placeholder=\"请输入你的昵称\" onfocus=\"this.value = '';\"\n                onblur=\"if (this.value == '') {this.value = 'Username';}\">\n            <div class=\"key\">\n                <input type=\"text\" value=\"\" id=\"passwd\" placeholder=\"请输入密码\" onfocus=\"this.value = '';\"\n                    onblur=\"if (this.value == '') {this.value = 'Password';}\">\n                <input type=\"text\" value=\"\" id=\"sign\" placeholder=\"用一句话描述一下自己把\" onfocus=\"this.value = '';\"\n                    onblur=\"if (this.value == '') {this.value = 'abc';}\">\n            </div>\n        </form>\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a2\" value=\"注册\">\n        </div>\n    </div>\n    <div class=\"copy-rights\">\n        <p>Copyright &copy; 2018 John All rights reserved.</p>\n    </div>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/mobile/null",
    "content": ""
  },
  {
    "path": "webroot/html/pc/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <title>登录</title>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link href=\"../css/style.css?__inline\" rel='stylesheet' type='text/css' />\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../dist/jquery-2.2.4.js?__inline\"></script>\n    <script src=\"../../dist/layui.all.js\"></script>\n    <script src=\"../../dist/js/index_pc.js\"></script>\n</head>\n\n<body style=\" background-repeat:no-repeat ; background-size:100% 100%; background-attachment: fixed; \">\n    <!--SIGN UP-->\n    <h1>登录系统</h1>\n    <div class=\"login-form\">\n        <div class=\"close\"></div>\n        <div class=\"head-info\">\n            <label class=\"lbl-1\"> </label>\n            <label class=\"lbl-2\"> </label>\n            <label class=\"lbl-3\"> </label>\n        </div>\n        <div class=\"clear\"></div>\n        <div class=\"avtar\">\n            <img src=\"../images/avtar.png?__inline\" />\n        </div>\n        <form action=\"check.html\">\n            <input type=\"text\" class=\"text\" value=\"10000\" id=\"username\" placeholder=\"请输入账号 它应该是一个数字 比如1000\"\n                onfocus=\"this.value = '';\" onblur=\"if (this.value == '') {this.value = 'Username';}\">\n            <div class=\"key\">\n                <input type=\"password\" value=\"20000\" id=\"password\" placeholder=\"请输入密码\" onfocus=\"this.value = '';\"\n                onblur=\"if (this.value == '') {this.value = 'Password';}\">\n            </div>\n        </form>\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a1\" value=\"登录\">\n        </div>\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a2\" value=\"注册\">\n        </div>\n    </div>\n    <div class=\"copy-rights\">\n        <p>Copyright &copy; 2018 John All rights reserved.</p>\n    </div>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/pc/main.html",
    "content": "<!doctype html>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>PC版</title>\n    <link rel=\"stylesheet\" href=\"../../dist/css/layui.css?__inline\">\n    <link rel=\"stylesheet\" href=\"../css/checkbox.min.css?__inline\">\n    <style>\n        video {\n            background: black;\n            border: 1px solid gray;\n        }\n\n        .page {\n            position: relative;\n            display: block;\n            margin: 0 auto;\n            width: 500px;\n            height: 500px;\n        }\n\n        #yours {\n            width: 150px;\n            height: 150px;\n            position: absolute;\n            top: 15px;\n            right: 15px;\n        }\n\n        #theirs {\n            width: 500px;\n            height: 500px;\n        }\n\n        .copy-rights {\n            position: fixed;\n            /*or前面的是absolute就可以用*/\n            bottom: 0px;\n        }\n\n\n        #table-1 thead,\n        #table-1 tr {\n            border-top-width: 1px;\n            border-top-style: solid;\n            border-top-color: rgb(230, 189, 189);\n        }\n\n        #table-1 {\n            border-bottom-width: 1px;\n            border-bottom-style: solid;\n            border-bottom-color: rgb(230, 189, 189);\n        }\n\n        /* Padding and font style */\n        #table-1 td,\n        #table-1 th {\n            padding: 5px 10px;\n            font-size: 12px;\n            font-family: Verdana;\n            color: rgb(177, 106, 104);\n        }\n\n        /* Alternating background colors */\n        #table-1 tr:nth-child(even) {\n            background: rgb(238, 211, 210)\n        }\n\n        #table-1 tr:nth-child(odd) {\n            background: #FFF\n        }\n\n\n        AudioRecording {\n            width: 1000px;\n            height: 1000px;\n            background: #000000;\n            z-index: 30000;\n            visibility: visible;\n            position: absolute;\n            color: #ebebeb;\n            display: table-cell;\n            vertical-align: middle;\n            text-align: center;\n        }\n\n        #micmask {\n\n            color: #ebebeb;\n            display: table-cell;\n            vertical-align: middle;\n            text-align: center;\n        }\n    </style>\n    <script src=\"../../dist/layui.js\" defer></script>\n    <script src=\"../../dist/jquery-2.2.4.js?__inline\" defer></script>\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../html/js/adapter-latest.js?__inline\"></script>\n    <script src=\"../../html/js/recorder.js?__inline\"></script>\n    <script src=\"../../dist/js/main_pc.js?__inline\"></script>\n</head>\n\n<body style=\" background-repeat:no-repeat ; background-size:100% 100%; background-attachment: fixed; \">\n    <div id=\"call-page\" style=\"visibility:hidden\"\n        style=\" background-repeat:no-repeat ; background-size:100% 100%; background-attachment: fixed; \">\n        <div class=\"page\">\n            <video id=\"yours\" autoplay></video>\n            <video id=\"theirs\" autoplay></video>\n            <button id=\"hang-up\">挂机</button>\n            <div id=\"remotemessage\"></div>\n        </div>\n    </div>\n    <div class=\"copy-rights\">\n        <p>Copyright &copy; 2018 John All rights reserved.</p>\n    </div>\n    <script type=\"text/javascript\">\n        /*显示浮动框*/\n        function showCommentDiv(obj) {\n            var top = $(obj).offset().top;\n            var left = $(obj).offset().left + $(obj).width() - 7;\n            $(\"#commentListDiv\").css({ 'top': top + \"px\", 'left': left + \"px\" }).show(\"slow\");\n        }\n\n        function showThis(obj) {\n            $(obj).show();\n        }\n        /*隐藏浮动框*/\n        function hideCommentDiv() {\n            $(\"#editCourseDiv\").hide();\n        }\n        function hideThis(obj) {\n            $(obj).hide();\n        }\n        //获取选中的评语\n        function getValue(obj) {\n            var selectId = obj.value;\n            var selectTitle = obj.title;\n            $(\"#teaMarkContent\").val(selectTitle);\n        }\n    </script>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/pc/new.html",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>登录</title>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link href=\"../css/style.css?__inline\" rel='stylesheet' type='text/css' />\n    <link rel=\"stylesheet\" href=\"../../dist/css/layui.css\">\n    <script src=\"../../dist/jquery-2.2.4.js\"></script>\n    <script src=\"../../dist/layui.js\"></script>\n    <script src=\"../js/domain.js\"></script>\n    <script src=\"../../dist/js/new_pc.js\"></script>\n</head>\n\n<body style=\" background-repeat:no-repeat ; background-size:100% 100%; background-attachment: fixed; \">\n    <h1>登录系统</h1>\n    <div class=\"login-form\">\n        <div class=\"close\"></div>\n        <div class=\"head-info\">\n            <label class=\"lbl-1\"> </label>\n            <label class=\"lbl-2\"> </label>\n            <label class=\"lbl-3\"> </label>\n        </div>\n        <div class=\"clear\"></div>\n        <div class=\"avtar\">\n            <img id=\"f1\" src=\"../../header/2.png\" style=\"width: 40px; height: 40px;\">\n            <img id=\"header\" src=\"../../header/small/00001.jpg\" style=\"width: 180px;   height: 180px;\" />\n            <img id=\"f2\" src=\"../../header/1.png\" style=\"width: 40px; height: 40px;\">\n        </div>\n        <form>\n            <input type=\"text\" class=\"text\" value=\"\" id=\"nickname\" placeholder=\"请输入你的昵称\" onfocus=\"this.value = '';\"\n                onblur=\"if (this.value == '') {this.value = 'Username';}\">\n            <div class=\"key\">\n                <input type=\"text\" value=\"\" id=\"passwd\" placeholder=\"请输入密码\" onfocus=\"this.value = '';\"\n                    onblur=\"if (this.value == '') {this.value = 'Password';}\">\n                <input type=\"text\" value=\"\" id=\"sign\" placeholder=\"用一句话描述一下自己把\" onfocus=\"this.value = '';\"\n                    onblur=\"if (this.value == '') {this.value = 'abc';}\">\n            </div>\n        </form>\n        <div class=\"signin\">\n            <input type=\"submit\" id=\"a2\" value=\"注册\">\n        </div>\n    </div>\n    <div class=\"copy-rights\">\n        <p>Copyright &copy; 2018 John All rights reserved.</p>\n    </div>\n</body>\n</html>"
  },
  {
    "path": "webroot/html/pc/null",
    "content": ""
  },
  {
    "path": "webroot/html80/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n    \n</head>\n<body>\n\n<script>\n\n   var domain = window.location.host;\n   \n        window.location.href = \"https://\" + domain;\n \n</script>\n\n</body>\n</html>"
  },
  {
    "path": "webroot/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n\n</head>\n<body>\n\n<script>\n\n    window.location.href = \"./html/\";\n\n</script>\n\n</body>\n</html>"
  },
  {
    "path": "webroot/upload/index.html",
    "content": ""
  }
]