diff --git a/.gitignore b/.gitignore index 7cc6d9f..a14fa92 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,24 @@ -# WebStorm +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# WebStorm .idea/ \ No newline at end of file diff --git a/README.md b/README.md index 202c646..9064801 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Bilibili Live Lottery +![LICENSE](https://img.shields.io/github/license/kdxcxs/BilibiliLiveLottery) + Bilibili直播弹幕抽奖 ![screenshot](screenshot.png) @@ -21,18 +23,27 @@ Bilibili直播弹幕抽奖 ## :hourglass:安装 -不需要安装~ +- 使用 yarn + +```shell +yarn install +``` + +- 使用 npm + +```shell +npm install +``` -就简单地用 [mdui](https://mdui.org/) 随便写了写,所有依赖都在 [libs](libs/) 文件夹中。 -浏览器打开 [main.html](main.html) 即开即用:+1: ## :bell:使用说明 -1. 输入房间号后点击 `点击开始` 按钮开始记录发送弹幕的用户 uid 和昵称,不会重复记录。 -2. 点击 `停止记录` 按钮后停止记录发送的弹幕。 -3. 点击 `随机抽奖` 按钮在刚才记录过程中所有发送弹幕的用户里面随机抽取一位。 -4. 关闭弹窗后点击中间粉色的中奖用户用户名可跳转到该用户的B站主页方便私信。 +1. 输入房间号后点击 `进入房间` 按钮开始记录发送弹幕的观众 uid 和昵称,不会重复记录。 +2. 点击 `停止记录` 按钮后停止记录弹幕。 +3. 填入需要抽取的人数(小于等于刚才记录的总人数) +4. 点击 `随机抽奖` 按钮在刚才记录过程中所有发送弹幕的观众里面随机抽取指定数量观众。 +5. 点击中奖观众的用户名可跳转到该观众的B站主页,方便私信。 ## :page_with_curl:使用许可 diff --git a/assets/bilibili.png b/assets/bilibili.png deleted file mode 100644 index 574db98..0000000 Binary files a/assets/bilibili.png and /dev/null differ diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/js/dao.js b/js/dao.js deleted file mode 100644 index 66c6516..0000000 --- a/js/dao.js +++ /dev/null @@ -1,18 +0,0 @@ -// cx@kdxcxs.com -// |/ |¯\ \/ |¯ \/ |¯ -// |¯\ |_/ /\ |_ /\ ¯| -// ¯ - -var viewers = []; -var viewerNames = []; -var running = false; -var allViewers = 0 - function appendViewer(vd) { // viewer data - if(running && !viewers.includes(vd[2][0])){ - console.log(vd[2][0]); - viewers.push(vd[2][0]); - viewerNames.push(vd[2][1]); - allViewers ++; - $('#viewers-count')[0].innerText = allViewers; - } - } \ No newline at end of file diff --git a/js/live_apis.js b/js/live_apis.js deleted file mode 100644 index 876513c..0000000 --- a/js/live_apis.js +++ /dev/null @@ -1,93 +0,0 @@ -// cx@kdxcxs.com -// |/ |¯\ \/ |¯ \/ |¯ -// |¯\ |_/ /\ |_ /\ ¯| -// ¯ -// https://github.com/lovelyyoshino/Bilibili-Live-API/blob/master/API.WebSocket.md - -const textEncoder = new TextEncoder('utf-8'); -const textDecoder = new TextDecoder('utf-8'); - -const readInt = function (buffer, start, len) { - let result = 0 - for (let i = len - 1; i >= 0; i--) { - result += Math.pow(256, len - i - 1) * buffer[start + i] - } - return result -} - -const writeInt = function (buffer, start, len, value) { - let i = 0 - while (i < len) { - buffer[start + i] = value / Math.pow(256, len - i - 1) - i++ - } -} - -const encode = function (str, op) { - let data = textEncoder.encode(str); - let packetLen = 16 + data.byteLength; - let header = [0, 0, 0, 0, 0, 16, 0, 1, 0, 0, 0, op, 0, 0, 0, 1] - writeInt(header, 0, 4, packetLen) - return (new Uint8Array(header.concat(...data))).buffer -} -const decode = function (blob) { - return new Promise(function (resolve, reject) { - let reader = new FileReader(); - reader.onload = function (e) { - let buffer = new Uint8Array(e.target.result) - let result = {} - result.packetLen = readInt(buffer, 0, 4) - result.headerLen = readInt(buffer, 4, 2) - result.ver = readInt(buffer, 6, 2) - result.op = readInt(buffer, 8, 4) - result.seq = readInt(buffer, 12, 4) - if (result.op === 5) { - result.body = [] - let offset = 0; - while (offset < buffer.length) { - let packetLen = readInt(buffer, offset + 0, 4) - let headerLen = 16// readInt(buffer,offset + 4,4) - let data = buffer.slice(offset + headerLen, offset + packetLen); - let body = textDecoder.decode(data); - if (body) { - result.body.push(JSON.parse(body)); - } - offset += packetLen; - } - } else if (result.op === 3) { - result.body = { - count: readInt(buffer, 16, 4) - }; - } - resolve(result) - } - reader.readAsArrayBuffer(blob); - }); -} - -function connect(roomid) { - window.ws = new WebSocket('wss://broadcastlv.chat.bilibili.com:2245/sub'); - ws.onopen = function () { - ws.send(encode(JSON.stringify({ - roomid: roomid - }), 7)); - }; - setInterval(function () { - ws.send(encode('', 2)); - }, 30000); - ws.onmessage = async function (msgEvent) { - const packet = await decode(msgEvent.data); - switch (packet.op) { - case 8: - console.log('已加入房间'+roomid.toString()); - break; - case 5: - packet.body.forEach((body) => { - if (body.cmd === 'DANMU_MSG') { - appendViewer(body.info); - } - }) - break; - } - }; -} diff --git a/js/utils.js b/js/utils.js deleted file mode 100644 index 71bf9fd..0000000 --- a/js/utils.js +++ /dev/null @@ -1,71 +0,0 @@ -// cx@kdxcxs.com -// |/ |¯\ \/ |¯ \/ |¯ -// |¯\ |_/ /\ |_ /\ ¯| -// ¯ - -console.log('%ccx@kdxcxs.com\n|/ |¯\\ \\/ |¯ \\/ |¯ \n|¯\\ |_/ /\\ |_ /\\ ¯| \n ¯ ', 'color: blue; font-size: 20px'); - -// https://www.cnblogs.com/starof/p/4988516.html -function randomNum(minNum, maxNum) { - switch (arguments.length) { - case 1: - return parseInt(Math.random() * minNum + 1, 10); - break; - case 2: - return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); - break; - default: - return 0; - break; - } -} - -function enterRoom() { - $('#room-choosing').hide(); - $('#running-container').show(); - $('#control-button')[0].onclick = startCatching; - connect(parseInt($('#roomid-input')[0].value)); - startCatching(); -} - -function startCatching() { - console.clear(); - console.log('%ccx@kdxcxs.com\n|/ |¯\\ \\/ |¯ \\/ |¯ \n|¯\\ |_/ /\\ |_ /\\ ¯| \n ¯ ', 'color: blue; font-size: 20px'); - running = true; - viewers = []; - allViewers = 0; - $('#viewers-count')[0].innerText = 0; - $('#lottery-done').hide(); - $('#running-container').show(); - $('#running-status')[0].innerText = '开始记录!'; - $('#control-button')[0].innerText = '停止记录'; - $('#control-button')[0].onclick = stopCatching; -} - -function stopCatching() { - running = false; - $('#running-status')[0].innerText = '准备抽奖'; - $('#control-button')[0].innerText = '随机抽奖'; - $('#control-button')[0].onclick = lottery; -} - -function lottery() { - $('#running-container').hide(); - $('#lottery-done').show(); - let luckyIndex = randomNum(1, viewers.length) - 1; - $('#control-button')[0].innerText = '再抽一次'; - $('#control-button')[0].onclick = startCatching; - $('#lucky-user')[0].innerText = viewerNames[luckyIndex] + '(' + viewers[luckyIndex].toString() + ')'; - $('#lucky-user')[0].onclick = () => { - window.open('https://space.bilibili.com/' + viewers[luckyIndex].toString()); - }; - mdui.dialog({ - title: '幸运儿出来了!', - content: viewerNames[luckyIndex] + '(' + viewers[luckyIndex].toString() + ')', - buttons: [ - { - text: '确认' - } - ] - }); -} \ No newline at end of file diff --git a/libs/mdui/css/mdui.css b/libs/mdui/css/mdui.css deleted file mode 100644 index 8948f49..0000000 --- a/libs/mdui/css/mdui.css +++ /dev/null @@ -1,12791 +0,0 @@ -/*! - * mdui v0.4.3 (https://mdui.org) - * Copyright 2016-2019 zdhxiong - * Licensed under MIT - */ -/** - * ============================================================================= - * ************ Color 颜色 ************ - * ============================================================================= - */ -/** - * .mdui-theme-primary-[color] .mdui-color-theme - * .mdui-theme-primary-[color] .mdui-color-theme-[degree] - */ -.mdui-theme-primary-amber .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc107 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff8e1 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffecb3 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe082 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd54f !important; -} -.mdui-theme-primary-amber .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffca28 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc107 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffb300 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffa000 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8f00 !important; -} -.mdui-theme-primary-amber .mdui-color-theme-900 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6f00 !important; -} -.mdui-theme-primary-blue .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #2196f3 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e3f2fd !important; -} -.mdui-theme-primary-blue .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bbdefb !important; -} -.mdui-theme-primary-blue .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #90caf9 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64b5f6 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #42a5f5 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #2196f3 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-600 { - color: #fff !important; - background-color: #1e88e5 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-700 { - color: #fff !important; - background-color: #1976d2 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-800 { - color: #fff !important; - background-color: #1565c0 !important; -} -.mdui-theme-primary-blue .mdui-color-theme-900 { - color: #fff !important; - background-color: #0d47a1 !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme { - color: #fff !important; - background-color: #607d8b !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eceff1 !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #cfd8dc !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b0bec5 !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #90a4ae !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-400 { - color: #fff !important; - background-color: #78909c !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-500 { - color: #fff !important; - background-color: #607d8b !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-600 { - color: #fff !important; - background-color: #546e7a !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-700 { - color: #fff !important; - background-color: #455a64 !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-800 { - color: #fff !important; - background-color: #37474f !important; -} -.mdui-theme-primary-blue-grey .mdui-color-theme-900 { - color: #fff !important; - background-color: #263238 !important; -} -.mdui-theme-primary-brown .mdui-color-theme { - color: #fff !important; - background-color: #795548 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #efebe9 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d7ccc8 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bcaaa4 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-300 { - color: #fff !important; - background-color: #a1887f !important; -} -.mdui-theme-primary-brown .mdui-color-theme-400 { - color: #fff !important; - background-color: #8d6e63 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-500 { - color: #fff !important; - background-color: #795548 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-600 { - color: #fff !important; - background-color: #6d4c41 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-700 { - color: #fff !important; - background-color: #5d4037 !important; -} -.mdui-theme-primary-brown .mdui-color-theme-800 { - color: #fff !important; - background-color: #4e342e !important; -} -.mdui-theme-primary-brown .mdui-color-theme-900 { - color: #fff !important; - background-color: #3e2723 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bcd4 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0f7fa !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ebf2 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80deea !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4dd0e1 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #26c6da !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bcd4 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00acc1 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-700 { - color: #fff !important; - background-color: #0097a7 !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-800 { - color: #fff !important; - background-color: #00838f !important; -} -.mdui-theme-primary-cyan .mdui-color-theme-900 { - color: #fff !important; - background-color: #006064 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff5722 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fbe9e7 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffccbc !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab91 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8a65 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff7043 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff5722 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-600 { - color: #fff !important; - background-color: #f4511e !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-700 { - color: #fff !important; - background-color: #e64a19 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-800 { - color: #fff !important; - background-color: #d84315 !important; -} -.mdui-theme-primary-deep-orange .mdui-color-theme-900 { - color: #fff !important; - background-color: #bf360c !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme { - color: #fff !important; - background-color: #673ab7 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ede7f6 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d1c4e9 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b39ddb !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-300 { - color: #fff !important; - background-color: #9575cd !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-400 { - color: #fff !important; - background-color: #7e57c2 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-500 { - color: #fff !important; - background-color: #673ab7 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-600 { - color: #fff !important; - background-color: #5e35b1 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-700 { - color: #fff !important; - background-color: #512da8 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-800 { - color: #fff !important; - background-color: #4527a0 !important; -} -.mdui-theme-primary-deep-purple .mdui-color-theme-900 { - color: #fff !important; - background-color: #311b92 !important; -} -.mdui-theme-primary-green .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #4caf50 !important; -} -.mdui-theme-primary-green .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e8f5e9 !important; -} -.mdui-theme-primary-green .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c8e6c9 !important; -} -.mdui-theme-primary-green .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #a5d6a7 !important; -} -.mdui-theme-primary-green .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #81c784 !important; -} -.mdui-theme-primary-green .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #66bb6a !important; -} -.mdui-theme-primary-green .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4caf50 !important; -} -.mdui-theme-primary-green .mdui-color-theme-600 { - color: #fff !important; - background-color: #43a047 !important; -} -.mdui-theme-primary-green .mdui-color-theme-700 { - color: #fff !important; - background-color: #388e3c !important; -} -.mdui-theme-primary-green .mdui-color-theme-800 { - color: #fff !important; - background-color: #2e7d32 !important; -} -.mdui-theme-primary-green .mdui-color-theme-900 { - color: #fff !important; - background-color: #1b5e20 !important; -} -.mdui-theme-primary-grey .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9e9e !important; -} -.mdui-theme-primary-grey .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fafafa !important; -} -.mdui-theme-primary-grey .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f5f5f5 !important; -} -.mdui-theme-primary-grey .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eee !important; -} -.mdui-theme-primary-grey .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0e0e0 !important; -} -.mdui-theme-primary-grey .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bdbdbd !important; -} -.mdui-theme-primary-grey .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9e9e !important; -} -.mdui-theme-primary-grey .mdui-color-theme-600 { - color: #fff !important; - background-color: #757575 !important; -} -.mdui-theme-primary-grey .mdui-color-theme-700 { - color: #fff !important; - background-color: #616161 !important; -} -.mdui-theme-primary-grey .mdui-color-theme-800 { - color: #fff !important; - background-color: #424242 !important; -} -.mdui-theme-primary-grey .mdui-color-theme-900 { - color: #fff !important; - background-color: #212121 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme { - color: #fff !important; - background-color: #3f51b5 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e8eaf6 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c5cae9 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9fa8da !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-300 { - color: #fff !important; - background-color: #7986cb !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-400 { - color: #fff !important; - background-color: #5c6bc0 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-500 { - color: #fff !important; - background-color: #3f51b5 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-600 { - color: #fff !important; - background-color: #3949ab !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-700 { - color: #fff !important; - background-color: #303f9f !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-800 { - color: #fff !important; - background-color: #283593 !important; -} -.mdui-theme-primary-indigo .mdui-color-theme-900 { - color: #fff !important; - background-color: #1a237e !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #03a9f4 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e1f5fe !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b3e5fc !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #81d4fa !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4fc3f7 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #29b6f6 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #03a9f4 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #039be5 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-700 { - color: #fff !important; - background-color: #0288d1 !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-800 { - color: #fff !important; - background-color: #0277bd !important; -} -.mdui-theme-primary-light-blue .mdui-color-theme-900 { - color: #fff !important; - background-color: #01579b !important; -} -.mdui-theme-primary-light-green .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #8bc34a !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f1f8e9 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #dcedc8 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c5e1a5 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #aed581 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9ccc65 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #8bc34a !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #7cb342 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #689f38 !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-800 { - color: #fff !important; - background-color: #558b2f !important; -} -.mdui-theme-primary-light-green .mdui-color-theme-900 { - color: #fff !important; - background-color: #33691e !important; -} -.mdui-theme-primary-lime .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #cddc39 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f9fbe7 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f0f4c3 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e6ee9c !important; -} -.mdui-theme-primary-lime .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #dce775 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d4e157 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #cddc39 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c0ca33 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #afb42b !important; -} -.mdui-theme-primary-lime .mdui-color-theme-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9d24 !important; -} -.mdui-theme-primary-lime .mdui-color-theme-900 { - color: #fff !important; - background-color: #827717 !important; -} -.mdui-theme-primary-orange .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9800 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff3e0 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe0b2 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffcc80 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffb74d !important; -} -.mdui-theme-primary-orange .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffa726 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9800 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fb8c00 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f57c00 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ef6c00 !important; -} -.mdui-theme-primary-orange .mdui-color-theme-900 { - color: #fff !important; - background-color: #e65100 !important; -} -.mdui-theme-primary-pink .mdui-color-theme { - color: #fff !important; - background-color: #e91e63 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fce4ec !important; -} -.mdui-theme-primary-pink .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f8bbd0 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f48fb1 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f06292 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-400 { - color: #fff !important; - background-color: #ec407a !important; -} -.mdui-theme-primary-pink .mdui-color-theme-500 { - color: #fff !important; - background-color: #e91e63 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-600 { - color: #fff !important; - background-color: #d81b60 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-700 { - color: #fff !important; - background-color: #c2185b !important; -} -.mdui-theme-primary-pink .mdui-color-theme-800 { - color: #fff !important; - background-color: #ad1457 !important; -} -.mdui-theme-primary-pink .mdui-color-theme-900 { - color: #fff !important; - background-color: #880e4f !important; -} -.mdui-theme-primary-purple .mdui-color-theme { - color: #fff !important; - background-color: #9c27b0 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f3e5f5 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e1bee7 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ce93d8 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-300 { - color: #fff !important; - background-color: #ba68c8 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-400 { - color: #fff !important; - background-color: #ab47bc !important; -} -.mdui-theme-primary-purple .mdui-color-theme-500 { - color: #fff !important; - background-color: #9c27b0 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-600 { - color: #fff !important; - background-color: #8e24aa !important; -} -.mdui-theme-primary-purple .mdui-color-theme-700 { - color: #fff !important; - background-color: #7b1fa2 !important; -} -.mdui-theme-primary-purple .mdui-color-theme-800 { - color: #fff !important; - background-color: #6a1b9a !important; -} -.mdui-theme-primary-purple .mdui-color-theme-900 { - color: #fff !important; - background-color: #4a148c !important; -} -.mdui-theme-primary-red .mdui-color-theme { - color: #fff !important; - background-color: #f44336 !important; -} -.mdui-theme-primary-red .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffebee !important; -} -.mdui-theme-primary-red .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffcdd2 !important; -} -.mdui-theme-primary-red .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ef9a9a !important; -} -.mdui-theme-primary-red .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e57373 !important; -} -.mdui-theme-primary-red .mdui-color-theme-400 { - color: #fff !important; - background-color: #ef5350 !important; -} -.mdui-theme-primary-red .mdui-color-theme-500 { - color: #fff !important; - background-color: #f44336 !important; -} -.mdui-theme-primary-red .mdui-color-theme-600 { - color: #fff !important; - background-color: #e53935 !important; -} -.mdui-theme-primary-red .mdui-color-theme-700 { - color: #fff !important; - background-color: #d32f2f !important; -} -.mdui-theme-primary-red .mdui-color-theme-800 { - color: #fff !important; - background-color: #c62828 !important; -} -.mdui-theme-primary-red .mdui-color-theme-900 { - color: #fff !important; - background-color: #b71c1c !important; -} -.mdui-theme-primary-teal .mdui-color-theme { - color: #fff !important; - background-color: #009688 !important; -} -.mdui-theme-primary-teal .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0f2f1 !important; -} -.mdui-theme-primary-teal .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2dfdb !important; -} -.mdui-theme-primary-teal .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80cbc4 !important; -} -.mdui-theme-primary-teal .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4db6ac !important; -} -.mdui-theme-primary-teal .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #26a69a !important; -} -.mdui-theme-primary-teal .mdui-color-theme-500 { - color: #fff !important; - background-color: #009688 !important; -} -.mdui-theme-primary-teal .mdui-color-theme-600 { - color: #fff !important; - background-color: #00897b !important; -} -.mdui-theme-primary-teal .mdui-color-theme-700 { - color: #fff !important; - background-color: #00796b !important; -} -.mdui-theme-primary-teal .mdui-color-theme-800 { - color: #fff !important; - background-color: #00695c !important; -} -.mdui-theme-primary-teal .mdui-color-theme-900 { - color: #fff !important; - background-color: #004d40 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffeb3b !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fffde7 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff9c4 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff59d !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff176 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffee58 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffeb3b !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fdd835 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fbc02d !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f9a825 !important; -} -.mdui-theme-primary-yellow .mdui-color-theme-900 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f57f17 !important; -} -/** - * .mdui-theme-accent-[color] .mdui-color-theme-accent - * .mdui-theme-accent-[color] .mdui-color-theme-[degree] - */ -.mdui-theme-accent-amber .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd740 !important; -} -.mdui-theme-accent-amber .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe57f !important; -} -.mdui-theme-accent-amber .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd740 !important; -} -.mdui-theme-accent-amber .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc400 !important; -} -.mdui-theme-accent-amber .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab00 !important; -} -.mdui-theme-accent-blue .mdui-color-theme-accent { - color: #fff !important; - background-color: #448aff !important; -} -.mdui-theme-accent-blue .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #82b1ff !important; -} -.mdui-theme-accent-blue .mdui-color-theme-a200 { - color: #fff !important; - background-color: #448aff !important; -} -.mdui-theme-accent-blue .mdui-color-theme-a400 { - color: #fff !important; - background-color: #2979ff !important; -} -.mdui-theme-accent-blue .mdui-color-theme-a700 { - color: #fff !important; - background-color: #2962ff !important; -} -.mdui-theme-accent-cyan .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #18ffff !important; -} -.mdui-theme-accent-cyan .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #84ffff !important; -} -.mdui-theme-accent-cyan .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #18ffff !important; -} -.mdui-theme-accent-cyan .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00e5ff !important; -} -.mdui-theme-accent-cyan .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00b8d4 !important; -} -.mdui-theme-accent-deep-orange .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6e40 !important; -} -.mdui-theme-accent-deep-orange .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9e80 !important; -} -.mdui-theme-accent-deep-orange .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6e40 !important; -} -.mdui-theme-accent-deep-orange .mdui-color-theme-a400 { - color: #fff !important; - background-color: #ff3d00 !important; -} -.mdui-theme-accent-deep-orange .mdui-color-theme-a700 { - color: #fff !important; - background-color: #dd2c00 !important; -} -.mdui-theme-accent-deep-purple .mdui-color-theme-accent { - color: #fff !important; - background-color: #7c4dff !important; -} -.mdui-theme-accent-deep-purple .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b388ff !important; -} -.mdui-theme-accent-deep-purple .mdui-color-theme-a200 { - color: #fff !important; - background-color: #7c4dff !important; -} -.mdui-theme-accent-deep-purple .mdui-color-theme-a400 { - color: #fff !important; - background-color: #651fff !important; -} -.mdui-theme-accent-deep-purple .mdui-color-theme-a700 { - color: #fff !important; - background-color: #6200ea !important; -} -.mdui-theme-accent-green .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #69f0ae !important; -} -.mdui-theme-accent-green .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b9f6ca !important; -} -.mdui-theme-accent-green .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #69f0ae !important; -} -.mdui-theme-accent-green .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00e676 !important; -} -.mdui-theme-accent-green .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00c853 !important; -} -.mdui-theme-accent-indigo .mdui-color-theme-accent { - color: #fff !important; - background-color: #536dfe !important; -} -.mdui-theme-accent-indigo .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #8c9eff !important; -} -.mdui-theme-accent-indigo .mdui-color-theme-a200 { - color: #fff !important; - background-color: #536dfe !important; -} -.mdui-theme-accent-indigo .mdui-color-theme-a400 { - color: #fff !important; - background-color: #3d5afe !important; -} -.mdui-theme-accent-indigo .mdui-color-theme-a700 { - color: #fff !important; - background-color: #304ffe !important; -} -.mdui-theme-accent-light-blue .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #40c4ff !important; -} -.mdui-theme-accent-light-blue .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80d8ff !important; -} -.mdui-theme-accent-light-blue .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #40c4ff !important; -} -.mdui-theme-accent-light-blue .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00b0ff !important; -} -.mdui-theme-accent-light-blue .mdui-color-theme-a700 { - color: #fff !important; - background-color: #0091ea !important; -} -.mdui-theme-accent-light-green .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ff59 !important; -} -.mdui-theme-accent-light-green .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ccff90 !important; -} -.mdui-theme-accent-light-green .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ff59 !important; -} -.mdui-theme-accent-light-green .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #76ff03 !important; -} -.mdui-theme-accent-light-green .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64dd17 !important; -} -.mdui-theme-accent-lime .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #eeff41 !important; -} -.mdui-theme-accent-lime .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f4ff81 !important; -} -.mdui-theme-accent-lime .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eeff41 !important; -} -.mdui-theme-accent-lime .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c6ff00 !important; -} -.mdui-theme-accent-lime .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #aeea00 !important; -} -.mdui-theme-accent-orange .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab40 !important; -} -.mdui-theme-accent-orange .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd180 !important; -} -.mdui-theme-accent-orange .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab40 !important; -} -.mdui-theme-accent-orange .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9100 !important; -} -.mdui-theme-accent-orange .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6d00 !important; -} -.mdui-theme-accent-pink .mdui-color-theme-accent { - color: #fff !important; - background-color: #ff4081 !important; -} -.mdui-theme-accent-pink .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff80ab !important; -} -.mdui-theme-accent-pink .mdui-color-theme-a200 { - color: #fff !important; - background-color: #ff4081 !important; -} -.mdui-theme-accent-pink .mdui-color-theme-a400 { - color: #fff !important; - background-color: #f50057 !important; -} -.mdui-theme-accent-pink .mdui-color-theme-a700 { - color: #fff !important; - background-color: #c51162 !important; -} -.mdui-theme-accent-purple .mdui-color-theme-accent { - color: #fff !important; - background-color: #e040fb !important; -} -.mdui-theme-accent-purple .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ea80fc !important; -} -.mdui-theme-accent-purple .mdui-color-theme-a200 { - color: #fff !important; - background-color: #e040fb !important; -} -.mdui-theme-accent-purple .mdui-color-theme-a400 { - color: #fff !important; - background-color: #d500f9 !important; -} -.mdui-theme-accent-purple .mdui-color-theme-a700 { - color: #fff !important; - background-color: #a0f !important; -} -.mdui-theme-accent-red .mdui-color-theme-accent { - color: #fff !important; - background-color: #ff5252 !important; -} -.mdui-theme-accent-red .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8a80 !important; -} -.mdui-theme-accent-red .mdui-color-theme-a200 { - color: #fff !important; - background-color: #ff5252 !important; -} -.mdui-theme-accent-red .mdui-color-theme-a400 { - color: #fff !important; - background-color: #ff1744 !important; -} -.mdui-theme-accent-red .mdui-color-theme-a700 { - color: #fff !important; - background-color: #d50000 !important; -} -.mdui-theme-accent-teal .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #64ffda !important; -} -.mdui-theme-accent-teal .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #a7ffeb !important; -} -.mdui-theme-accent-teal .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64ffda !important; -} -.mdui-theme-accent-teal .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #1de9b6 !important; -} -.mdui-theme-accent-teal .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bfa5 !important; -} -.mdui-theme-accent-yellow .mdui-color-theme-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff0 !important; -} -.mdui-theme-accent-yellow .mdui-color-theme-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffff8d !important; -} -.mdui-theme-accent-yellow .mdui-color-theme-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff0 !important; -} -.mdui-theme-accent-yellow .mdui-color-theme-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffea00 !important; -} -.mdui-theme-accent-yellow .mdui-color-theme-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd600 !important; -} -/** - * .mdui-color-[color] - * .mdui-color-[color]-[degree] - */ -.mdui-color-amber { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc107 !important; -} -.mdui-color-amber-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff8e1 !important; -} -.mdui-color-amber-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffecb3 !important; -} -.mdui-color-amber-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe082 !important; -} -.mdui-color-amber-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd54f !important; -} -.mdui-color-amber-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffca28 !important; -} -.mdui-color-amber-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc107 !important; -} -.mdui-color-amber-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffb300 !important; -} -.mdui-color-amber-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffa000 !important; -} -.mdui-color-amber-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8f00 !important; -} -.mdui-color-amber-900 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6f00 !important; -} -.mdui-color-blue { - color: rgba(0, 0, 0, .87) !important; - background-color: #2196f3 !important; -} -.mdui-color-blue-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e3f2fd !important; -} -.mdui-color-blue-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bbdefb !important; -} -.mdui-color-blue-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #90caf9 !important; -} -.mdui-color-blue-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64b5f6 !important; -} -.mdui-color-blue-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #42a5f5 !important; -} -.mdui-color-blue-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #2196f3 !important; -} -.mdui-color-blue-600 { - color: #fff !important; - background-color: #1e88e5 !important; -} -.mdui-color-blue-700 { - color: #fff !important; - background-color: #1976d2 !important; -} -.mdui-color-blue-800 { - color: #fff !important; - background-color: #1565c0 !important; -} -.mdui-color-blue-900 { - color: #fff !important; - background-color: #0d47a1 !important; -} -.mdui-color-blue-grey { - color: #fff !important; - background-color: #607d8b !important; -} -.mdui-color-blue-grey-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eceff1 !important; -} -.mdui-color-blue-grey-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #cfd8dc !important; -} -.mdui-color-blue-grey-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b0bec5 !important; -} -.mdui-color-blue-grey-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #90a4ae !important; -} -.mdui-color-blue-grey-400 { - color: #fff !important; - background-color: #78909c !important; -} -.mdui-color-blue-grey-500 { - color: #fff !important; - background-color: #607d8b !important; -} -.mdui-color-blue-grey-600 { - color: #fff !important; - background-color: #546e7a !important; -} -.mdui-color-blue-grey-700 { - color: #fff !important; - background-color: #455a64 !important; -} -.mdui-color-blue-grey-800 { - color: #fff !important; - background-color: #37474f !important; -} -.mdui-color-blue-grey-900 { - color: #fff !important; - background-color: #263238 !important; -} -.mdui-color-brown { - color: #fff !important; - background-color: #795548 !important; -} -.mdui-color-brown-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #efebe9 !important; -} -.mdui-color-brown-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d7ccc8 !important; -} -.mdui-color-brown-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bcaaa4 !important; -} -.mdui-color-brown-300 { - color: #fff !important; - background-color: #a1887f !important; -} -.mdui-color-brown-400 { - color: #fff !important; - background-color: #8d6e63 !important; -} -.mdui-color-brown-500 { - color: #fff !important; - background-color: #795548 !important; -} -.mdui-color-brown-600 { - color: #fff !important; - background-color: #6d4c41 !important; -} -.mdui-color-brown-700 { - color: #fff !important; - background-color: #5d4037 !important; -} -.mdui-color-brown-800 { - color: #fff !important; - background-color: #4e342e !important; -} -.mdui-color-brown-900 { - color: #fff !important; - background-color: #3e2723 !important; -} -.mdui-color-cyan { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bcd4 !important; -} -.mdui-color-cyan-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0f7fa !important; -} -.mdui-color-cyan-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ebf2 !important; -} -.mdui-color-cyan-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80deea !important; -} -.mdui-color-cyan-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4dd0e1 !important; -} -.mdui-color-cyan-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #26c6da !important; -} -.mdui-color-cyan-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bcd4 !important; -} -.mdui-color-cyan-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00acc1 !important; -} -.mdui-color-cyan-700 { - color: #fff !important; - background-color: #0097a7 !important; -} -.mdui-color-cyan-800 { - color: #fff !important; - background-color: #00838f !important; -} -.mdui-color-cyan-900 { - color: #fff !important; - background-color: #006064 !important; -} -.mdui-color-deep-orange { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff5722 !important; -} -.mdui-color-deep-orange-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fbe9e7 !important; -} -.mdui-color-deep-orange-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffccbc !important; -} -.mdui-color-deep-orange-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab91 !important; -} -.mdui-color-deep-orange-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8a65 !important; -} -.mdui-color-deep-orange-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff7043 !important; -} -.mdui-color-deep-orange-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff5722 !important; -} -.mdui-color-deep-orange-600 { - color: #fff !important; - background-color: #f4511e !important; -} -.mdui-color-deep-orange-700 { - color: #fff !important; - background-color: #e64a19 !important; -} -.mdui-color-deep-orange-800 { - color: #fff !important; - background-color: #d84315 !important; -} -.mdui-color-deep-orange-900 { - color: #fff !important; - background-color: #bf360c !important; -} -.mdui-color-deep-purple { - color: #fff !important; - background-color: #673ab7 !important; -} -.mdui-color-deep-purple-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ede7f6 !important; -} -.mdui-color-deep-purple-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d1c4e9 !important; -} -.mdui-color-deep-purple-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b39ddb !important; -} -.mdui-color-deep-purple-300 { - color: #fff !important; - background-color: #9575cd !important; -} -.mdui-color-deep-purple-400 { - color: #fff !important; - background-color: #7e57c2 !important; -} -.mdui-color-deep-purple-500 { - color: #fff !important; - background-color: #673ab7 !important; -} -.mdui-color-deep-purple-600 { - color: #fff !important; - background-color: #5e35b1 !important; -} -.mdui-color-deep-purple-700 { - color: #fff !important; - background-color: #512da8 !important; -} -.mdui-color-deep-purple-800 { - color: #fff !important; - background-color: #4527a0 !important; -} -.mdui-color-deep-purple-900 { - color: #fff !important; - background-color: #311b92 !important; -} -.mdui-color-green { - color: rgba(0, 0, 0, .87) !important; - background-color: #4caf50 !important; -} -.mdui-color-green-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e8f5e9 !important; -} -.mdui-color-green-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c8e6c9 !important; -} -.mdui-color-green-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #a5d6a7 !important; -} -.mdui-color-green-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #81c784 !important; -} -.mdui-color-green-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #66bb6a !important; -} -.mdui-color-green-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4caf50 !important; -} -.mdui-color-green-600 { - color: #fff !important; - background-color: #43a047 !important; -} -.mdui-color-green-700 { - color: #fff !important; - background-color: #388e3c !important; -} -.mdui-color-green-800 { - color: #fff !important; - background-color: #2e7d32 !important; -} -.mdui-color-green-900 { - color: #fff !important; - background-color: #1b5e20 !important; -} -.mdui-color-grey { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9e9e !important; -} -.mdui-color-grey-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fafafa !important; -} -.mdui-color-grey-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f5f5f5 !important; -} -.mdui-color-grey-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eee !important; -} -.mdui-color-grey-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0e0e0 !important; -} -.mdui-color-grey-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #bdbdbd !important; -} -.mdui-color-grey-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9e9e !important; -} -.mdui-color-grey-600 { - color: #fff !important; - background-color: #757575 !important; -} -.mdui-color-grey-700 { - color: #fff !important; - background-color: #616161 !important; -} -.mdui-color-grey-800 { - color: #fff !important; - background-color: #424242 !important; -} -.mdui-color-grey-900 { - color: #fff !important; - background-color: #212121 !important; -} -.mdui-color-indigo { - color: #fff !important; - background-color: #3f51b5 !important; -} -.mdui-color-indigo-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e8eaf6 !important; -} -.mdui-color-indigo-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c5cae9 !important; -} -.mdui-color-indigo-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9fa8da !important; -} -.mdui-color-indigo-300 { - color: #fff !important; - background-color: #7986cb !important; -} -.mdui-color-indigo-400 { - color: #fff !important; - background-color: #5c6bc0 !important; -} -.mdui-color-indigo-500 { - color: #fff !important; - background-color: #3f51b5 !important; -} -.mdui-color-indigo-600 { - color: #fff !important; - background-color: #3949ab !important; -} -.mdui-color-indigo-700 { - color: #fff !important; - background-color: #303f9f !important; -} -.mdui-color-indigo-800 { - color: #fff !important; - background-color: #283593 !important; -} -.mdui-color-indigo-900 { - color: #fff !important; - background-color: #1a237e !important; -} -.mdui-color-light-blue { - color: rgba(0, 0, 0, .87) !important; - background-color: #03a9f4 !important; -} -.mdui-color-light-blue-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e1f5fe !important; -} -.mdui-color-light-blue-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b3e5fc !important; -} -.mdui-color-light-blue-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #81d4fa !important; -} -.mdui-color-light-blue-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4fc3f7 !important; -} -.mdui-color-light-blue-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #29b6f6 !important; -} -.mdui-color-light-blue-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #03a9f4 !important; -} -.mdui-color-light-blue-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #039be5 !important; -} -.mdui-color-light-blue-700 { - color: #fff !important; - background-color: #0288d1 !important; -} -.mdui-color-light-blue-800 { - color: #fff !important; - background-color: #0277bd !important; -} -.mdui-color-light-blue-900 { - color: #fff !important; - background-color: #01579b !important; -} -.mdui-color-light-green { - color: rgba(0, 0, 0, .87) !important; - background-color: #8bc34a !important; -} -.mdui-color-light-green-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f1f8e9 !important; -} -.mdui-color-light-green-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #dcedc8 !important; -} -.mdui-color-light-green-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c5e1a5 !important; -} -.mdui-color-light-green-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #aed581 !important; -} -.mdui-color-light-green-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9ccc65 !important; -} -.mdui-color-light-green-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #8bc34a !important; -} -.mdui-color-light-green-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #7cb342 !important; -} -.mdui-color-light-green-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #689f38 !important; -} -.mdui-color-light-green-800 { - color: #fff !important; - background-color: #558b2f !important; -} -.mdui-color-light-green-900 { - color: #fff !important; - background-color: #33691e !important; -} -.mdui-color-lime { - color: rgba(0, 0, 0, .87) !important; - background-color: #cddc39 !important; -} -.mdui-color-lime-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f9fbe7 !important; -} -.mdui-color-lime-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f0f4c3 !important; -} -.mdui-color-lime-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e6ee9c !important; -} -.mdui-color-lime-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #dce775 !important; -} -.mdui-color-lime-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #d4e157 !important; -} -.mdui-color-lime-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #cddc39 !important; -} -.mdui-color-lime-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c0ca33 !important; -} -.mdui-color-lime-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #afb42b !important; -} -.mdui-color-lime-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #9e9d24 !important; -} -.mdui-color-lime-900 { - color: #fff !important; - background-color: #827717 !important; -} -.mdui-color-orange { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9800 !important; -} -.mdui-color-orange-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff3e0 !important; -} -.mdui-color-orange-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe0b2 !important; -} -.mdui-color-orange-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffcc80 !important; -} -.mdui-color-orange-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffb74d !important; -} -.mdui-color-orange-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffa726 !important; -} -.mdui-color-orange-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9800 !important; -} -.mdui-color-orange-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fb8c00 !important; -} -.mdui-color-orange-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f57c00 !important; -} -.mdui-color-orange-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ef6c00 !important; -} -.mdui-color-orange-900 { - color: #fff !important; - background-color: #e65100 !important; -} -.mdui-color-pink { - color: #fff !important; - background-color: #e91e63 !important; -} -.mdui-color-pink-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fce4ec !important; -} -.mdui-color-pink-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f8bbd0 !important; -} -.mdui-color-pink-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f48fb1 !important; -} -.mdui-color-pink-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f06292 !important; -} -.mdui-color-pink-400 { - color: #fff !important; - background-color: #ec407a !important; -} -.mdui-color-pink-500 { - color: #fff !important; - background-color: #e91e63 !important; -} -.mdui-color-pink-600 { - color: #fff !important; - background-color: #d81b60 !important; -} -.mdui-color-pink-700 { - color: #fff !important; - background-color: #c2185b !important; -} -.mdui-color-pink-800 { - color: #fff !important; - background-color: #ad1457 !important; -} -.mdui-color-pink-900 { - color: #fff !important; - background-color: #880e4f !important; -} -.mdui-color-purple { - color: #fff !important; - background-color: #9c27b0 !important; -} -.mdui-color-purple-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f3e5f5 !important; -} -.mdui-color-purple-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e1bee7 !important; -} -.mdui-color-purple-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ce93d8 !important; -} -.mdui-color-purple-300 { - color: #fff !important; - background-color: #ba68c8 !important; -} -.mdui-color-purple-400 { - color: #fff !important; - background-color: #ab47bc !important; -} -.mdui-color-purple-500 { - color: #fff !important; - background-color: #9c27b0 !important; -} -.mdui-color-purple-600 { - color: #fff !important; - background-color: #8e24aa !important; -} -.mdui-color-purple-700 { - color: #fff !important; - background-color: #7b1fa2 !important; -} -.mdui-color-purple-800 { - color: #fff !important; - background-color: #6a1b9a !important; -} -.mdui-color-purple-900 { - color: #fff !important; - background-color: #4a148c !important; -} -.mdui-color-red { - color: #fff !important; - background-color: #f44336 !important; -} -.mdui-color-red-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffebee !important; -} -.mdui-color-red-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffcdd2 !important; -} -.mdui-color-red-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ef9a9a !important; -} -.mdui-color-red-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e57373 !important; -} -.mdui-color-red-400 { - color: #fff !important; - background-color: #ef5350 !important; -} -.mdui-color-red-500 { - color: #fff !important; - background-color: #f44336 !important; -} -.mdui-color-red-600 { - color: #fff !important; - background-color: #e53935 !important; -} -.mdui-color-red-700 { - color: #fff !important; - background-color: #d32f2f !important; -} -.mdui-color-red-800 { - color: #fff !important; - background-color: #c62828 !important; -} -.mdui-color-red-900 { - color: #fff !important; - background-color: #b71c1c !important; -} -.mdui-color-teal { - color: #fff !important; - background-color: #009688 !important; -} -.mdui-color-teal-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #e0f2f1 !important; -} -.mdui-color-teal-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2dfdb !important; -} -.mdui-color-teal-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80cbc4 !important; -} -.mdui-color-teal-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #4db6ac !important; -} -.mdui-color-teal-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #26a69a !important; -} -.mdui-color-teal-500 { - color: #fff !important; - background-color: #009688 !important; -} -.mdui-color-teal-600 { - color: #fff !important; - background-color: #00897b !important; -} -.mdui-color-teal-700 { - color: #fff !important; - background-color: #00796b !important; -} -.mdui-color-teal-800 { - color: #fff !important; - background-color: #00695c !important; -} -.mdui-color-teal-900 { - color: #fff !important; - background-color: #004d40 !important; -} -.mdui-color-yellow { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffeb3b !important; -} -.mdui-color-yellow-50 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fffde7 !important; -} -.mdui-color-yellow-100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff9c4 !important; -} -.mdui-color-yellow-200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff59d !important; -} -.mdui-color-yellow-300 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff176 !important; -} -.mdui-color-yellow-400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffee58 !important; -} -.mdui-color-yellow-500 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffeb3b !important; -} -.mdui-color-yellow-600 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fdd835 !important; -} -.mdui-color-yellow-700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #fbc02d !important; -} -.mdui-color-yellow-800 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f9a825 !important; -} -.mdui-color-yellow-900 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f57f17 !important; -} -/** - * .mdui-color-[color]-accent - * .mdui-color-[color]-[degree] - */ -.mdui-color-amber-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd740 !important; -} -.mdui-color-amber-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffe57f !important; -} -.mdui-color-amber-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd740 !important; -} -.mdui-color-amber-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffc400 !important; -} -.mdui-color-amber-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab00 !important; -} -.mdui-color-blue-accent { - color: #fff !important; - background-color: #448aff !important; -} -.mdui-color-blue-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #82b1ff !important; -} -.mdui-color-blue-a200 { - color: #fff !important; - background-color: #448aff !important; -} -.mdui-color-blue-a400 { - color: #fff !important; - background-color: #2979ff !important; -} -.mdui-color-blue-a700 { - color: #fff !important; - background-color: #2962ff !important; -} -.mdui-color-cyan-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #18ffff !important; -} -.mdui-color-cyan-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #84ffff !important; -} -.mdui-color-cyan-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #18ffff !important; -} -.mdui-color-cyan-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00e5ff !important; -} -.mdui-color-cyan-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00b8d4 !important; -} -.mdui-color-deep-orange-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6e40 !important; -} -.mdui-color-deep-orange-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9e80 !important; -} -.mdui-color-deep-orange-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6e40 !important; -} -.mdui-color-deep-orange-a400 { - color: #fff !important; - background-color: #ff3d00 !important; -} -.mdui-color-deep-orange-a700 { - color: #fff !important; - background-color: #dd2c00 !important; -} -.mdui-color-deep-purple-accent { - color: #fff !important; - background-color: #7c4dff !important; -} -.mdui-color-deep-purple-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b388ff !important; -} -.mdui-color-deep-purple-a200 { - color: #fff !important; - background-color: #7c4dff !important; -} -.mdui-color-deep-purple-a400 { - color: #fff !important; - background-color: #651fff !important; -} -.mdui-color-deep-purple-a700 { - color: #fff !important; - background-color: #6200ea !important; -} -.mdui-color-green-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #69f0ae !important; -} -.mdui-color-green-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b9f6ca !important; -} -.mdui-color-green-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #69f0ae !important; -} -.mdui-color-green-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00e676 !important; -} -.mdui-color-green-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00c853 !important; -} -.mdui-color-indigo-accent { - color: #fff !important; - background-color: #536dfe !important; -} -.mdui-color-indigo-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #8c9eff !important; -} -.mdui-color-indigo-a200 { - color: #fff !important; - background-color: #536dfe !important; -} -.mdui-color-indigo-a400 { - color: #fff !important; - background-color: #3d5afe !important; -} -.mdui-color-indigo-a700 { - color: #fff !important; - background-color: #304ffe !important; -} -.mdui-color-light-blue-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #40c4ff !important; -} -.mdui-color-light-blue-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #80d8ff !important; -} -.mdui-color-light-blue-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #40c4ff !important; -} -.mdui-color-light-blue-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00b0ff !important; -} -.mdui-color-light-blue-a700 { - color: #fff !important; - background-color: #0091ea !important; -} -.mdui-color-light-green-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ff59 !important; -} -.mdui-color-light-green-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ccff90 !important; -} -.mdui-color-light-green-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #b2ff59 !important; -} -.mdui-color-light-green-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #76ff03 !important; -} -.mdui-color-light-green-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64dd17 !important; -} -.mdui-color-lime-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #eeff41 !important; -} -.mdui-color-lime-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #f4ff81 !important; -} -.mdui-color-lime-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #eeff41 !important; -} -.mdui-color-lime-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #c6ff00 !important; -} -.mdui-color-lime-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #aeea00 !important; -} -.mdui-color-orange-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab40 !important; -} -.mdui-color-orange-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd180 !important; -} -.mdui-color-orange-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffab40 !important; -} -.mdui-color-orange-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff9100 !important; -} -.mdui-color-orange-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff6d00 !important; -} -.mdui-color-pink-accent { - color: #fff !important; - background-color: #ff4081 !important; -} -.mdui-color-pink-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff80ab !important; -} -.mdui-color-pink-a200 { - color: #fff !important; - background-color: #ff4081 !important; -} -.mdui-color-pink-a400 { - color: #fff !important; - background-color: #f50057 !important; -} -.mdui-color-pink-a700 { - color: #fff !important; - background-color: #c51162 !important; -} -.mdui-color-purple-accent { - color: #fff !important; - background-color: #e040fb !important; -} -.mdui-color-purple-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ea80fc !important; -} -.mdui-color-purple-a200 { - color: #fff !important; - background-color: #e040fb !important; -} -.mdui-color-purple-a400 { - color: #fff !important; - background-color: #d500f9 !important; -} -.mdui-color-purple-a700 { - color: #fff !important; - background-color: #a0f !important; -} -.mdui-color-red-accent { - color: #fff !important; - background-color: #ff5252 !important; -} -.mdui-color-red-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff8a80 !important; -} -.mdui-color-red-a200 { - color: #fff !important; - background-color: #ff5252 !important; -} -.mdui-color-red-a400 { - color: #fff !important; - background-color: #ff1744 !important; -} -.mdui-color-red-a700 { - color: #fff !important; - background-color: #d50000 !important; -} -.mdui-color-teal-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #64ffda !important; -} -.mdui-color-teal-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #a7ffeb !important; -} -.mdui-color-teal-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #64ffda !important; -} -.mdui-color-teal-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #1de9b6 !important; -} -.mdui-color-teal-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #00bfa5 !important; -} -.mdui-color-yellow-accent { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff0 !important; -} -.mdui-color-yellow-a100 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffff8d !important; -} -.mdui-color-yellow-a200 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ff0 !important; -} -.mdui-color-yellow-a400 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffea00 !important; -} -.mdui-color-yellow-a700 { - color: rgba(0, 0, 0, .87) !important; - background-color: #ffd600 !important; -} -/** - * .mdui-color-black - * .mdui-color-white - * .mdui-color-transparent - */ -.mdui-color-black { - color: #fff !important; - background-color: #000 !important; -} -.mdui-color-white { - color: rgba(0, 0, 0, .87) !important; - background-color: #fff !important; -} -.mdui-color-transparent { - background-color: transparent !important; -} -/** - * .mdui-theme-primary-[color] .mdui-text-color-theme - * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree] - */ -.mdui-theme-primary-amber .mdui-text-color-theme { - color: #ffc107 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-50 { - color: #fff8e1 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-100 { - color: #ffecb3 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-200 { - color: #ffe082 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-300 { - color: #ffd54f !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-400 { - color: #ffca28 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-500 { - color: #ffc107 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-600 { - color: #ffb300 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-700 { - color: #ffa000 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-800 { - color: #ff8f00 !important; -} -.mdui-theme-primary-amber .mdui-text-color-theme-900 { - color: #ff6f00 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme { - color: #2196f3 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-50 { - color: #e3f2fd !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-100 { - color: #bbdefb !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-200 { - color: #90caf9 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-300 { - color: #64b5f6 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-400 { - color: #42a5f5 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-500 { - color: #2196f3 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-600 { - color: #1e88e5 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-700 { - color: #1976d2 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-800 { - color: #1565c0 !important; -} -.mdui-theme-primary-blue .mdui-text-color-theme-900 { - color: #0d47a1 !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme { - color: #607d8b !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 { - color: #eceff1 !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 { - color: #cfd8dc !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 { - color: #b0bec5 !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 { - color: #90a4ae !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 { - color: #78909c !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 { - color: #607d8b !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 { - color: #546e7a !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 { - color: #455a64 !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 { - color: #37474f !important; -} -.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 { - color: #263238 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme { - color: #795548 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-50 { - color: #efebe9 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-100 { - color: #d7ccc8 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-200 { - color: #bcaaa4 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-300 { - color: #a1887f !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-400 { - color: #8d6e63 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-500 { - color: #795548 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-600 { - color: #6d4c41 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-700 { - color: #5d4037 !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-800 { - color: #4e342e !important; -} -.mdui-theme-primary-brown .mdui-text-color-theme-900 { - color: #3e2723 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme { - color: #00bcd4 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-50 { - color: #e0f7fa !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-100 { - color: #b2ebf2 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-200 { - color: #80deea !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-300 { - color: #4dd0e1 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-400 { - color: #26c6da !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-500 { - color: #00bcd4 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-600 { - color: #00acc1 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-700 { - color: #0097a7 !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-800 { - color: #00838f !important; -} -.mdui-theme-primary-cyan .mdui-text-color-theme-900 { - color: #006064 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme { - color: #ff5722 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 { - color: #fbe9e7 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 { - color: #ffccbc !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 { - color: #ffab91 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 { - color: #ff8a65 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 { - color: #ff7043 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 { - color: #ff5722 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 { - color: #f4511e !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 { - color: #e64a19 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 { - color: #d84315 !important; -} -.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 { - color: #bf360c !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme { - color: #673ab7 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 { - color: #ede7f6 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 { - color: #d1c4e9 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 { - color: #b39ddb !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 { - color: #9575cd !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 { - color: #7e57c2 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 { - color: #673ab7 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 { - color: #5e35b1 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 { - color: #512da8 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 { - color: #4527a0 !important; -} -.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 { - color: #311b92 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme { - color: #4caf50 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-50 { - color: #e8f5e9 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-100 { - color: #c8e6c9 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-200 { - color: #a5d6a7 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-300 { - color: #81c784 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-400 { - color: #66bb6a !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-500 { - color: #4caf50 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-600 { - color: #43a047 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-700 { - color: #388e3c !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-800 { - color: #2e7d32 !important; -} -.mdui-theme-primary-green .mdui-text-color-theme-900 { - color: #1b5e20 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme { - color: #9e9e9e !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-50 { - color: #fafafa !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-100 { - color: #f5f5f5 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-200 { - color: #eee !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-300 { - color: #e0e0e0 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-400 { - color: #bdbdbd !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-500 { - color: #9e9e9e !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-600 { - color: #757575 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-700 { - color: #616161 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-800 { - color: #424242 !important; -} -.mdui-theme-primary-grey .mdui-text-color-theme-900 { - color: #212121 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme { - color: #3f51b5 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-50 { - color: #e8eaf6 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-100 { - color: #c5cae9 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-200 { - color: #9fa8da !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-300 { - color: #7986cb !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-400 { - color: #5c6bc0 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-500 { - color: #3f51b5 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-600 { - color: #3949ab !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-700 { - color: #303f9f !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-800 { - color: #283593 !important; -} -.mdui-theme-primary-indigo .mdui-text-color-theme-900 { - color: #1a237e !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme { - color: #03a9f4 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-50 { - color: #e1f5fe !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-100 { - color: #b3e5fc !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-200 { - color: #81d4fa !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-300 { - color: #4fc3f7 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-400 { - color: #29b6f6 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-500 { - color: #03a9f4 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-600 { - color: #039be5 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-700 { - color: #0288d1 !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-800 { - color: #0277bd !important; -} -.mdui-theme-primary-light-blue .mdui-text-color-theme-900 { - color: #01579b !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme { - color: #8bc34a !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-50 { - color: #f1f8e9 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-100 { - color: #dcedc8 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-200 { - color: #c5e1a5 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-300 { - color: #aed581 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-400 { - color: #9ccc65 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-500 { - color: #8bc34a !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-600 { - color: #7cb342 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-700 { - color: #689f38 !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-800 { - color: #558b2f !important; -} -.mdui-theme-primary-light-green .mdui-text-color-theme-900 { - color: #33691e !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme { - color: #cddc39 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-50 { - color: #f9fbe7 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-100 { - color: #f0f4c3 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-200 { - color: #e6ee9c !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-300 { - color: #dce775 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-400 { - color: #d4e157 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-500 { - color: #cddc39 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-600 { - color: #c0ca33 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-700 { - color: #afb42b !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-800 { - color: #9e9d24 !important; -} -.mdui-theme-primary-lime .mdui-text-color-theme-900 { - color: #827717 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme { - color: #ff9800 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-50 { - color: #fff3e0 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-100 { - color: #ffe0b2 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-200 { - color: #ffcc80 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-300 { - color: #ffb74d !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-400 { - color: #ffa726 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-500 { - color: #ff9800 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-600 { - color: #fb8c00 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-700 { - color: #f57c00 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-800 { - color: #ef6c00 !important; -} -.mdui-theme-primary-orange .mdui-text-color-theme-900 { - color: #e65100 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme { - color: #e91e63 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-50 { - color: #fce4ec !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-100 { - color: #f8bbd0 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-200 { - color: #f48fb1 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-300 { - color: #f06292 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-400 { - color: #ec407a !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-500 { - color: #e91e63 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-600 { - color: #d81b60 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-700 { - color: #c2185b !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-800 { - color: #ad1457 !important; -} -.mdui-theme-primary-pink .mdui-text-color-theme-900 { - color: #880e4f !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme { - color: #9c27b0 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-50 { - color: #f3e5f5 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-100 { - color: #e1bee7 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-200 { - color: #ce93d8 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-300 { - color: #ba68c8 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-400 { - color: #ab47bc !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-500 { - color: #9c27b0 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-600 { - color: #8e24aa !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-700 { - color: #7b1fa2 !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-800 { - color: #6a1b9a !important; -} -.mdui-theme-primary-purple .mdui-text-color-theme-900 { - color: #4a148c !important; -} -.mdui-theme-primary-red .mdui-text-color-theme { - color: #f44336 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-50 { - color: #ffebee !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-100 { - color: #ffcdd2 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-200 { - color: #ef9a9a !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-300 { - color: #e57373 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-400 { - color: #ef5350 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-500 { - color: #f44336 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-600 { - color: #e53935 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-700 { - color: #d32f2f !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-800 { - color: #c62828 !important; -} -.mdui-theme-primary-red .mdui-text-color-theme-900 { - color: #b71c1c !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme { - color: #009688 !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-50 { - color: #e0f2f1 !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-100 { - color: #b2dfdb !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-200 { - color: #80cbc4 !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-300 { - color: #4db6ac !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-400 { - color: #26a69a !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-500 { - color: #009688 !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-600 { - color: #00897b !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-700 { - color: #00796b !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-800 { - color: #00695c !important; -} -.mdui-theme-primary-teal .mdui-text-color-theme-900 { - color: #004d40 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme { - color: #ffeb3b !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-50 { - color: #fffde7 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-100 { - color: #fff9c4 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-200 { - color: #fff59d !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-300 { - color: #fff176 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-400 { - color: #ffee58 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-500 { - color: #ffeb3b !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-600 { - color: #fdd835 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-700 { - color: #fbc02d !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-800 { - color: #f9a825 !important; -} -.mdui-theme-primary-yellow .mdui-text-color-theme-900 { - color: #f57f17 !important; -} -/** - * .mdui-theme-accent-[color] .mdui-text-color-theme-accent - * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree] - */ -.mdui-theme-accent-amber .mdui-text-color-theme-accent { - color: #ffd740 !important; -} -.mdui-theme-accent-amber .mdui-text-color-theme-a100 { - color: #ffe57f !important; -} -.mdui-theme-accent-amber .mdui-text-color-theme-a200 { - color: #ffd740 !important; -} -.mdui-theme-accent-amber .mdui-text-color-theme-a400 { - color: #ffc400 !important; -} -.mdui-theme-accent-amber .mdui-text-color-theme-a700 { - color: #ffab00 !important; -} -.mdui-theme-accent-blue .mdui-text-color-theme-accent { - color: #448aff !important; -} -.mdui-theme-accent-blue .mdui-text-color-theme-a100 { - color: #82b1ff !important; -} -.mdui-theme-accent-blue .mdui-text-color-theme-a200 { - color: #448aff !important; -} -.mdui-theme-accent-blue .mdui-text-color-theme-a400 { - color: #2979ff !important; -} -.mdui-theme-accent-blue .mdui-text-color-theme-a700 { - color: #2962ff !important; -} -.mdui-theme-accent-cyan .mdui-text-color-theme-accent { - color: #18ffff !important; -} -.mdui-theme-accent-cyan .mdui-text-color-theme-a100 { - color: #84ffff !important; -} -.mdui-theme-accent-cyan .mdui-text-color-theme-a200 { - color: #18ffff !important; -} -.mdui-theme-accent-cyan .mdui-text-color-theme-a400 { - color: #00e5ff !important; -} -.mdui-theme-accent-cyan .mdui-text-color-theme-a700 { - color: #00b8d4 !important; -} -.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent { - color: #ff6e40 !important; -} -.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 { - color: #ff9e80 !important; -} -.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 { - color: #ff6e40 !important; -} -.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 { - color: #ff3d00 !important; -} -.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 { - color: #dd2c00 !important; -} -.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent { - color: #7c4dff !important; -} -.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 { - color: #b388ff !important; -} -.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 { - color: #7c4dff !important; -} -.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 { - color: #651fff !important; -} -.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 { - color: #6200ea !important; -} -.mdui-theme-accent-green .mdui-text-color-theme-accent { - color: #69f0ae !important; -} -.mdui-theme-accent-green .mdui-text-color-theme-a100 { - color: #b9f6ca !important; -} -.mdui-theme-accent-green .mdui-text-color-theme-a200 { - color: #69f0ae !important; -} -.mdui-theme-accent-green .mdui-text-color-theme-a400 { - color: #00e676 !important; -} -.mdui-theme-accent-green .mdui-text-color-theme-a700 { - color: #00c853 !important; -} -.mdui-theme-accent-indigo .mdui-text-color-theme-accent { - color: #536dfe !important; -} -.mdui-theme-accent-indigo .mdui-text-color-theme-a100 { - color: #8c9eff !important; -} -.mdui-theme-accent-indigo .mdui-text-color-theme-a200 { - color: #536dfe !important; -} -.mdui-theme-accent-indigo .mdui-text-color-theme-a400 { - color: #3d5afe !important; -} -.mdui-theme-accent-indigo .mdui-text-color-theme-a700 { - color: #304ffe !important; -} -.mdui-theme-accent-light-blue .mdui-text-color-theme-accent { - color: #40c4ff !important; -} -.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 { - color: #80d8ff !important; -} -.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 { - color: #40c4ff !important; -} -.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 { - color: #00b0ff !important; -} -.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 { - color: #0091ea !important; -} -.mdui-theme-accent-light-green .mdui-text-color-theme-accent { - color: #b2ff59 !important; -} -.mdui-theme-accent-light-green .mdui-text-color-theme-a100 { - color: #ccff90 !important; -} -.mdui-theme-accent-light-green .mdui-text-color-theme-a200 { - color: #b2ff59 !important; -} -.mdui-theme-accent-light-green .mdui-text-color-theme-a400 { - color: #76ff03 !important; -} -.mdui-theme-accent-light-green .mdui-text-color-theme-a700 { - color: #64dd17 !important; -} -.mdui-theme-accent-lime .mdui-text-color-theme-accent { - color: #eeff41 !important; -} -.mdui-theme-accent-lime .mdui-text-color-theme-a100 { - color: #f4ff81 !important; -} -.mdui-theme-accent-lime .mdui-text-color-theme-a200 { - color: #eeff41 !important; -} -.mdui-theme-accent-lime .mdui-text-color-theme-a400 { - color: #c6ff00 !important; -} -.mdui-theme-accent-lime .mdui-text-color-theme-a700 { - color: #aeea00 !important; -} -.mdui-theme-accent-orange .mdui-text-color-theme-accent { - color: #ffab40 !important; -} -.mdui-theme-accent-orange .mdui-text-color-theme-a100 { - color: #ffd180 !important; -} -.mdui-theme-accent-orange .mdui-text-color-theme-a200 { - color: #ffab40 !important; -} -.mdui-theme-accent-orange .mdui-text-color-theme-a400 { - color: #ff9100 !important; -} -.mdui-theme-accent-orange .mdui-text-color-theme-a700 { - color: #ff6d00 !important; -} -.mdui-theme-accent-pink .mdui-text-color-theme-accent { - color: #ff4081 !important; -} -.mdui-theme-accent-pink .mdui-text-color-theme-a100 { - color: #ff80ab !important; -} -.mdui-theme-accent-pink .mdui-text-color-theme-a200 { - color: #ff4081 !important; -} -.mdui-theme-accent-pink .mdui-text-color-theme-a400 { - color: #f50057 !important; -} -.mdui-theme-accent-pink .mdui-text-color-theme-a700 { - color: #c51162 !important; -} -.mdui-theme-accent-purple .mdui-text-color-theme-accent { - color: #e040fb !important; -} -.mdui-theme-accent-purple .mdui-text-color-theme-a100 { - color: #ea80fc !important; -} -.mdui-theme-accent-purple .mdui-text-color-theme-a200 { - color: #e040fb !important; -} -.mdui-theme-accent-purple .mdui-text-color-theme-a400 { - color: #d500f9 !important; -} -.mdui-theme-accent-purple .mdui-text-color-theme-a700 { - color: #a0f !important; -} -.mdui-theme-accent-red .mdui-text-color-theme-accent { - color: #ff5252 !important; -} -.mdui-theme-accent-red .mdui-text-color-theme-a100 { - color: #ff8a80 !important; -} -.mdui-theme-accent-red .mdui-text-color-theme-a200 { - color: #ff5252 !important; -} -.mdui-theme-accent-red .mdui-text-color-theme-a400 { - color: #ff1744 !important; -} -.mdui-theme-accent-red .mdui-text-color-theme-a700 { - color: #d50000 !important; -} -.mdui-theme-accent-teal .mdui-text-color-theme-accent { - color: #64ffda !important; -} -.mdui-theme-accent-teal .mdui-text-color-theme-a100 { - color: #a7ffeb !important; -} -.mdui-theme-accent-teal .mdui-text-color-theme-a200 { - color: #64ffda !important; -} -.mdui-theme-accent-teal .mdui-text-color-theme-a400 { - color: #1de9b6 !important; -} -.mdui-theme-accent-teal .mdui-text-color-theme-a700 { - color: #00bfa5 !important; -} -.mdui-theme-accent-yellow .mdui-text-color-theme-accent { - color: #ff0 !important; -} -.mdui-theme-accent-yellow .mdui-text-color-theme-a100 { - color: #ffff8d !important; -} -.mdui-theme-accent-yellow .mdui-text-color-theme-a200 { - color: #ff0 !important; -} -.mdui-theme-accent-yellow .mdui-text-color-theme-a400 { - color: #ffea00 !important; -} -.mdui-theme-accent-yellow .mdui-text-color-theme-a700 { - color: #ffd600 !important; -} -/** - * .mdui-text-color-[color] - * .mdui-text-color-[color]-[degree] - */ -.mdui-text-color-amber { - color: #ffc107 !important; -} -.mdui-text-color-amber-50 { - color: #fff8e1 !important; -} -.mdui-text-color-amber-100 { - color: #ffecb3 !important; -} -.mdui-text-color-amber-200 { - color: #ffe082 !important; -} -.mdui-text-color-amber-300 { - color: #ffd54f !important; -} -.mdui-text-color-amber-400 { - color: #ffca28 !important; -} -.mdui-text-color-amber-500 { - color: #ffc107 !important; -} -.mdui-text-color-amber-600 { - color: #ffb300 !important; -} -.mdui-text-color-amber-700 { - color: #ffa000 !important; -} -.mdui-text-color-amber-800 { - color: #ff8f00 !important; -} -.mdui-text-color-amber-900 { - color: #ff6f00 !important; -} -.mdui-text-color-blue { - color: #2196f3 !important; -} -.mdui-text-color-blue-50 { - color: #e3f2fd !important; -} -.mdui-text-color-blue-100 { - color: #bbdefb !important; -} -.mdui-text-color-blue-200 { - color: #90caf9 !important; -} -.mdui-text-color-blue-300 { - color: #64b5f6 !important; -} -.mdui-text-color-blue-400 { - color: #42a5f5 !important; -} -.mdui-text-color-blue-500 { - color: #2196f3 !important; -} -.mdui-text-color-blue-600 { - color: #1e88e5 !important; -} -.mdui-text-color-blue-700 { - color: #1976d2 !important; -} -.mdui-text-color-blue-800 { - color: #1565c0 !important; -} -.mdui-text-color-blue-900 { - color: #0d47a1 !important; -} -.mdui-text-color-blue-grey { - color: #607d8b !important; -} -.mdui-text-color-blue-grey-50 { - color: #eceff1 !important; -} -.mdui-text-color-blue-grey-100 { - color: #cfd8dc !important; -} -.mdui-text-color-blue-grey-200 { - color: #b0bec5 !important; -} -.mdui-text-color-blue-grey-300 { - color: #90a4ae !important; -} -.mdui-text-color-blue-grey-400 { - color: #78909c !important; -} -.mdui-text-color-blue-grey-500 { - color: #607d8b !important; -} -.mdui-text-color-blue-grey-600 { - color: #546e7a !important; -} -.mdui-text-color-blue-grey-700 { - color: #455a64 !important; -} -.mdui-text-color-blue-grey-800 { - color: #37474f !important; -} -.mdui-text-color-blue-grey-900 { - color: #263238 !important; -} -.mdui-text-color-brown { - color: #795548 !important; -} -.mdui-text-color-brown-50 { - color: #efebe9 !important; -} -.mdui-text-color-brown-100 { - color: #d7ccc8 !important; -} -.mdui-text-color-brown-200 { - color: #bcaaa4 !important; -} -.mdui-text-color-brown-300 { - color: #a1887f !important; -} -.mdui-text-color-brown-400 { - color: #8d6e63 !important; -} -.mdui-text-color-brown-500 { - color: #795548 !important; -} -.mdui-text-color-brown-600 { - color: #6d4c41 !important; -} -.mdui-text-color-brown-700 { - color: #5d4037 !important; -} -.mdui-text-color-brown-800 { - color: #4e342e !important; -} -.mdui-text-color-brown-900 { - color: #3e2723 !important; -} -.mdui-text-color-cyan { - color: #00bcd4 !important; -} -.mdui-text-color-cyan-50 { - color: #e0f7fa !important; -} -.mdui-text-color-cyan-100 { - color: #b2ebf2 !important; -} -.mdui-text-color-cyan-200 { - color: #80deea !important; -} -.mdui-text-color-cyan-300 { - color: #4dd0e1 !important; -} -.mdui-text-color-cyan-400 { - color: #26c6da !important; -} -.mdui-text-color-cyan-500 { - color: #00bcd4 !important; -} -.mdui-text-color-cyan-600 { - color: #00acc1 !important; -} -.mdui-text-color-cyan-700 { - color: #0097a7 !important; -} -.mdui-text-color-cyan-800 { - color: #00838f !important; -} -.mdui-text-color-cyan-900 { - color: #006064 !important; -} -.mdui-text-color-deep-orange { - color: #ff5722 !important; -} -.mdui-text-color-deep-orange-50 { - color: #fbe9e7 !important; -} -.mdui-text-color-deep-orange-100 { - color: #ffccbc !important; -} -.mdui-text-color-deep-orange-200 { - color: #ffab91 !important; -} -.mdui-text-color-deep-orange-300 { - color: #ff8a65 !important; -} -.mdui-text-color-deep-orange-400 { - color: #ff7043 !important; -} -.mdui-text-color-deep-orange-500 { - color: #ff5722 !important; -} -.mdui-text-color-deep-orange-600 { - color: #f4511e !important; -} -.mdui-text-color-deep-orange-700 { - color: #e64a19 !important; -} -.mdui-text-color-deep-orange-800 { - color: #d84315 !important; -} -.mdui-text-color-deep-orange-900 { - color: #bf360c !important; -} -.mdui-text-color-deep-purple { - color: #673ab7 !important; -} -.mdui-text-color-deep-purple-50 { - color: #ede7f6 !important; -} -.mdui-text-color-deep-purple-100 { - color: #d1c4e9 !important; -} -.mdui-text-color-deep-purple-200 { - color: #b39ddb !important; -} -.mdui-text-color-deep-purple-300 { - color: #9575cd !important; -} -.mdui-text-color-deep-purple-400 { - color: #7e57c2 !important; -} -.mdui-text-color-deep-purple-500 { - color: #673ab7 !important; -} -.mdui-text-color-deep-purple-600 { - color: #5e35b1 !important; -} -.mdui-text-color-deep-purple-700 { - color: #512da8 !important; -} -.mdui-text-color-deep-purple-800 { - color: #4527a0 !important; -} -.mdui-text-color-deep-purple-900 { - color: #311b92 !important; -} -.mdui-text-color-green { - color: #4caf50 !important; -} -.mdui-text-color-green-50 { - color: #e8f5e9 !important; -} -.mdui-text-color-green-100 { - color: #c8e6c9 !important; -} -.mdui-text-color-green-200 { - color: #a5d6a7 !important; -} -.mdui-text-color-green-300 { - color: #81c784 !important; -} -.mdui-text-color-green-400 { - color: #66bb6a !important; -} -.mdui-text-color-green-500 { - color: #4caf50 !important; -} -.mdui-text-color-green-600 { - color: #43a047 !important; -} -.mdui-text-color-green-700 { - color: #388e3c !important; -} -.mdui-text-color-green-800 { - color: #2e7d32 !important; -} -.mdui-text-color-green-900 { - color: #1b5e20 !important; -} -.mdui-text-color-grey { - color: #9e9e9e !important; -} -.mdui-text-color-grey-50 { - color: #fafafa !important; -} -.mdui-text-color-grey-100 { - color: #f5f5f5 !important; -} -.mdui-text-color-grey-200 { - color: #eee !important; -} -.mdui-text-color-grey-300 { - color: #e0e0e0 !important; -} -.mdui-text-color-grey-400 { - color: #bdbdbd !important; -} -.mdui-text-color-grey-500 { - color: #9e9e9e !important; -} -.mdui-text-color-grey-600 { - color: #757575 !important; -} -.mdui-text-color-grey-700 { - color: #616161 !important; -} -.mdui-text-color-grey-800 { - color: #424242 !important; -} -.mdui-text-color-grey-900 { - color: #212121 !important; -} -.mdui-text-color-indigo { - color: #3f51b5 !important; -} -.mdui-text-color-indigo-50 { - color: #e8eaf6 !important; -} -.mdui-text-color-indigo-100 { - color: #c5cae9 !important; -} -.mdui-text-color-indigo-200 { - color: #9fa8da !important; -} -.mdui-text-color-indigo-300 { - color: #7986cb !important; -} -.mdui-text-color-indigo-400 { - color: #5c6bc0 !important; -} -.mdui-text-color-indigo-500 { - color: #3f51b5 !important; -} -.mdui-text-color-indigo-600 { - color: #3949ab !important; -} -.mdui-text-color-indigo-700 { - color: #303f9f !important; -} -.mdui-text-color-indigo-800 { - color: #283593 !important; -} -.mdui-text-color-indigo-900 { - color: #1a237e !important; -} -.mdui-text-color-light-blue { - color: #03a9f4 !important; -} -.mdui-text-color-light-blue-50 { - color: #e1f5fe !important; -} -.mdui-text-color-light-blue-100 { - color: #b3e5fc !important; -} -.mdui-text-color-light-blue-200 { - color: #81d4fa !important; -} -.mdui-text-color-light-blue-300 { - color: #4fc3f7 !important; -} -.mdui-text-color-light-blue-400 { - color: #29b6f6 !important; -} -.mdui-text-color-light-blue-500 { - color: #03a9f4 !important; -} -.mdui-text-color-light-blue-600 { - color: #039be5 !important; -} -.mdui-text-color-light-blue-700 { - color: #0288d1 !important; -} -.mdui-text-color-light-blue-800 { - color: #0277bd !important; -} -.mdui-text-color-light-blue-900 { - color: #01579b !important; -} -.mdui-text-color-light-green { - color: #8bc34a !important; -} -.mdui-text-color-light-green-50 { - color: #f1f8e9 !important; -} -.mdui-text-color-light-green-100 { - color: #dcedc8 !important; -} -.mdui-text-color-light-green-200 { - color: #c5e1a5 !important; -} -.mdui-text-color-light-green-300 { - color: #aed581 !important; -} -.mdui-text-color-light-green-400 { - color: #9ccc65 !important; -} -.mdui-text-color-light-green-500 { - color: #8bc34a !important; -} -.mdui-text-color-light-green-600 { - color: #7cb342 !important; -} -.mdui-text-color-light-green-700 { - color: #689f38 !important; -} -.mdui-text-color-light-green-800 { - color: #558b2f !important; -} -.mdui-text-color-light-green-900 { - color: #33691e !important; -} -.mdui-text-color-lime { - color: #cddc39 !important; -} -.mdui-text-color-lime-50 { - color: #f9fbe7 !important; -} -.mdui-text-color-lime-100 { - color: #f0f4c3 !important; -} -.mdui-text-color-lime-200 { - color: #e6ee9c !important; -} -.mdui-text-color-lime-300 { - color: #dce775 !important; -} -.mdui-text-color-lime-400 { - color: #d4e157 !important; -} -.mdui-text-color-lime-500 { - color: #cddc39 !important; -} -.mdui-text-color-lime-600 { - color: #c0ca33 !important; -} -.mdui-text-color-lime-700 { - color: #afb42b !important; -} -.mdui-text-color-lime-800 { - color: #9e9d24 !important; -} -.mdui-text-color-lime-900 { - color: #827717 !important; -} -.mdui-text-color-orange { - color: #ff9800 !important; -} -.mdui-text-color-orange-50 { - color: #fff3e0 !important; -} -.mdui-text-color-orange-100 { - color: #ffe0b2 !important; -} -.mdui-text-color-orange-200 { - color: #ffcc80 !important; -} -.mdui-text-color-orange-300 { - color: #ffb74d !important; -} -.mdui-text-color-orange-400 { - color: #ffa726 !important; -} -.mdui-text-color-orange-500 { - color: #ff9800 !important; -} -.mdui-text-color-orange-600 { - color: #fb8c00 !important; -} -.mdui-text-color-orange-700 { - color: #f57c00 !important; -} -.mdui-text-color-orange-800 { - color: #ef6c00 !important; -} -.mdui-text-color-orange-900 { - color: #e65100 !important; -} -.mdui-text-color-pink { - color: #e91e63 !important; -} -.mdui-text-color-pink-50 { - color: #fce4ec !important; -} -.mdui-text-color-pink-100 { - color: #f8bbd0 !important; -} -.mdui-text-color-pink-200 { - color: #f48fb1 !important; -} -.mdui-text-color-pink-300 { - color: #f06292 !important; -} -.mdui-text-color-pink-400 { - color: #ec407a !important; -} -.mdui-text-color-pink-500 { - color: #e91e63 !important; -} -.mdui-text-color-pink-600 { - color: #d81b60 !important; -} -.mdui-text-color-pink-700 { - color: #c2185b !important; -} -.mdui-text-color-pink-800 { - color: #ad1457 !important; -} -.mdui-text-color-pink-900 { - color: #880e4f !important; -} -.mdui-text-color-purple { - color: #9c27b0 !important; -} -.mdui-text-color-purple-50 { - color: #f3e5f5 !important; -} -.mdui-text-color-purple-100 { - color: #e1bee7 !important; -} -.mdui-text-color-purple-200 { - color: #ce93d8 !important; -} -.mdui-text-color-purple-300 { - color: #ba68c8 !important; -} -.mdui-text-color-purple-400 { - color: #ab47bc !important; -} -.mdui-text-color-purple-500 { - color: #9c27b0 !important; -} -.mdui-text-color-purple-600 { - color: #8e24aa !important; -} -.mdui-text-color-purple-700 { - color: #7b1fa2 !important; -} -.mdui-text-color-purple-800 { - color: #6a1b9a !important; -} -.mdui-text-color-purple-900 { - color: #4a148c !important; -} -.mdui-text-color-red { - color: #f44336 !important; -} -.mdui-text-color-red-50 { - color: #ffebee !important; -} -.mdui-text-color-red-100 { - color: #ffcdd2 !important; -} -.mdui-text-color-red-200 { - color: #ef9a9a !important; -} -.mdui-text-color-red-300 { - color: #e57373 !important; -} -.mdui-text-color-red-400 { - color: #ef5350 !important; -} -.mdui-text-color-red-500 { - color: #f44336 !important; -} -.mdui-text-color-red-600 { - color: #e53935 !important; -} -.mdui-text-color-red-700 { - color: #d32f2f !important; -} -.mdui-text-color-red-800 { - color: #c62828 !important; -} -.mdui-text-color-red-900 { - color: #b71c1c !important; -} -.mdui-text-color-teal { - color: #009688 !important; -} -.mdui-text-color-teal-50 { - color: #e0f2f1 !important; -} -.mdui-text-color-teal-100 { - color: #b2dfdb !important; -} -.mdui-text-color-teal-200 { - color: #80cbc4 !important; -} -.mdui-text-color-teal-300 { - color: #4db6ac !important; -} -.mdui-text-color-teal-400 { - color: #26a69a !important; -} -.mdui-text-color-teal-500 { - color: #009688 !important; -} -.mdui-text-color-teal-600 { - color: #00897b !important; -} -.mdui-text-color-teal-700 { - color: #00796b !important; -} -.mdui-text-color-teal-800 { - color: #00695c !important; -} -.mdui-text-color-teal-900 { - color: #004d40 !important; -} -.mdui-text-color-yellow { - color: #ffeb3b !important; -} -.mdui-text-color-yellow-50 { - color: #fffde7 !important; -} -.mdui-text-color-yellow-100 { - color: #fff9c4 !important; -} -.mdui-text-color-yellow-200 { - color: #fff59d !important; -} -.mdui-text-color-yellow-300 { - color: #fff176 !important; -} -.mdui-text-color-yellow-400 { - color: #ffee58 !important; -} -.mdui-text-color-yellow-500 { - color: #ffeb3b !important; -} -.mdui-text-color-yellow-600 { - color: #fdd835 !important; -} -.mdui-text-color-yellow-700 { - color: #fbc02d !important; -} -.mdui-text-color-yellow-800 { - color: #f9a825 !important; -} -.mdui-text-color-yellow-900 { - color: #f57f17 !important; -} -/** - * .mdui-text-color-[color]-accent - * .mdui-text-color-[color]-[degree] - */ -.mdui-text-color-amber-accent { - color: #ffd740 !important; -} -.mdui-text-color-amber-a100 { - color: #ffe57f !important; -} -.mdui-text-color-amber-a200 { - color: #ffd740 !important; -} -.mdui-text-color-amber-a400 { - color: #ffc400 !important; -} -.mdui-text-color-amber-a700 { - color: #ffab00 !important; -} -.mdui-text-color-blue-accent { - color: #448aff !important; -} -.mdui-text-color-blue-a100 { - color: #82b1ff !important; -} -.mdui-text-color-blue-a200 { - color: #448aff !important; -} -.mdui-text-color-blue-a400 { - color: #2979ff !important; -} -.mdui-text-color-blue-a700 { - color: #2962ff !important; -} -.mdui-text-color-cyan-accent { - color: #18ffff !important; -} -.mdui-text-color-cyan-a100 { - color: #84ffff !important; -} -.mdui-text-color-cyan-a200 { - color: #18ffff !important; -} -.mdui-text-color-cyan-a400 { - color: #00e5ff !important; -} -.mdui-text-color-cyan-a700 { - color: #00b8d4 !important; -} -.mdui-text-color-deep-orange-accent { - color: #ff6e40 !important; -} -.mdui-text-color-deep-orange-a100 { - color: #ff9e80 !important; -} -.mdui-text-color-deep-orange-a200 { - color: #ff6e40 !important; -} -.mdui-text-color-deep-orange-a400 { - color: #ff3d00 !important; -} -.mdui-text-color-deep-orange-a700 { - color: #dd2c00 !important; -} -.mdui-text-color-deep-purple-accent { - color: #7c4dff !important; -} -.mdui-text-color-deep-purple-a100 { - color: #b388ff !important; -} -.mdui-text-color-deep-purple-a200 { - color: #7c4dff !important; -} -.mdui-text-color-deep-purple-a400 { - color: #651fff !important; -} -.mdui-text-color-deep-purple-a700 { - color: #6200ea !important; -} -.mdui-text-color-green-accent { - color: #69f0ae !important; -} -.mdui-text-color-green-a100 { - color: #b9f6ca !important; -} -.mdui-text-color-green-a200 { - color: #69f0ae !important; -} -.mdui-text-color-green-a400 { - color: #00e676 !important; -} -.mdui-text-color-green-a700 { - color: #00c853 !important; -} -.mdui-text-color-indigo-accent { - color: #536dfe !important; -} -.mdui-text-color-indigo-a100 { - color: #8c9eff !important; -} -.mdui-text-color-indigo-a200 { - color: #536dfe !important; -} -.mdui-text-color-indigo-a400 { - color: #3d5afe !important; -} -.mdui-text-color-indigo-a700 { - color: #304ffe !important; -} -.mdui-text-color-light-blue-accent { - color: #40c4ff !important; -} -.mdui-text-color-light-blue-a100 { - color: #80d8ff !important; -} -.mdui-text-color-light-blue-a200 { - color: #40c4ff !important; -} -.mdui-text-color-light-blue-a400 { - color: #00b0ff !important; -} -.mdui-text-color-light-blue-a700 { - color: #0091ea !important; -} -.mdui-text-color-light-green-accent { - color: #b2ff59 !important; -} -.mdui-text-color-light-green-a100 { - color: #ccff90 !important; -} -.mdui-text-color-light-green-a200 { - color: #b2ff59 !important; -} -.mdui-text-color-light-green-a400 { - color: #76ff03 !important; -} -.mdui-text-color-light-green-a700 { - color: #64dd17 !important; -} -.mdui-text-color-lime-accent { - color: #eeff41 !important; -} -.mdui-text-color-lime-a100 { - color: #f4ff81 !important; -} -.mdui-text-color-lime-a200 { - color: #eeff41 !important; -} -.mdui-text-color-lime-a400 { - color: #c6ff00 !important; -} -.mdui-text-color-lime-a700 { - color: #aeea00 !important; -} -.mdui-text-color-orange-accent { - color: #ffab40 !important; -} -.mdui-text-color-orange-a100 { - color: #ffd180 !important; -} -.mdui-text-color-orange-a200 { - color: #ffab40 !important; -} -.mdui-text-color-orange-a400 { - color: #ff9100 !important; -} -.mdui-text-color-orange-a700 { - color: #ff6d00 !important; -} -.mdui-text-color-pink-accent { - color: #ff4081 !important; -} -.mdui-text-color-pink-a100 { - color: #ff80ab !important; -} -.mdui-text-color-pink-a200 { - color: #ff4081 !important; -} -.mdui-text-color-pink-a400 { - color: #f50057 !important; -} -.mdui-text-color-pink-a700 { - color: #c51162 !important; -} -.mdui-text-color-purple-accent { - color: #e040fb !important; -} -.mdui-text-color-purple-a100 { - color: #ea80fc !important; -} -.mdui-text-color-purple-a200 { - color: #e040fb !important; -} -.mdui-text-color-purple-a400 { - color: #d500f9 !important; -} -.mdui-text-color-purple-a700 { - color: #a0f !important; -} -.mdui-text-color-red-accent { - color: #ff5252 !important; -} -.mdui-text-color-red-a100 { - color: #ff8a80 !important; -} -.mdui-text-color-red-a200 { - color: #ff5252 !important; -} -.mdui-text-color-red-a400 { - color: #ff1744 !important; -} -.mdui-text-color-red-a700 { - color: #d50000 !important; -} -.mdui-text-color-teal-accent { - color: #64ffda !important; -} -.mdui-text-color-teal-a100 { - color: #a7ffeb !important; -} -.mdui-text-color-teal-a200 { - color: #64ffda !important; -} -.mdui-text-color-teal-a400 { - color: #1de9b6 !important; -} -.mdui-text-color-teal-a700 { - color: #00bfa5 !important; -} -.mdui-text-color-yellow-accent { - color: #ff0 !important; -} -.mdui-text-color-yellow-a100 { - color: #ffff8d !important; -} -.mdui-text-color-yellow-a200 { - color: #ff0 !important; -} -.mdui-text-color-yellow-a400 { - color: #ffea00 !important; -} -.mdui-text-color-yellow-a700 { - color: #ffd600 !important; -} -/** - * .mdui-text-color-black - * .mdui-text-color-black-[] - * .mdui-text-color-theme-[] - */ -.mdui-text-color-black { - color: #000 !important; -} -.mdui-text-color-black-text, -.mdui-text-color-theme-text { - color: rgba(0, 0, 0, .87) !important; -} -.mdui-text-color-black-secondary, -.mdui-text-color-theme-secondary { - color: rgba(0, 0, 0, .54) !important; -} -.mdui-text-color-black-disabled, -.mdui-text-color-theme-disabled { - color: rgba(0, 0, 0, .38) !important; -} -.mdui-text-color-black-divider, -.mdui-text-color-theme-divider { - color: rgba(0, 0, 0, .12) !important; -} -.mdui-text-color-black-icon, -.mdui-text-color-theme-icon { - color: rgba(0, 0, 0, .54) !important; -} -.mdui-text-color-black-icon-disabled, -.mdui-text-color-theme-icon-disabled { - color: rgba(0, 0, 0, .26) !important; -} -/** - * .mdui-text-color-white - * .mdui-text-color-white-[] - */ -.mdui-text-color-white { - color: #fff !important; -} -.mdui-text-color-white-text { - color: #fff !important; -} -.mdui-text-color-white-secondary { - color: rgba(255, 255, 255, .7) !important; -} -.mdui-text-color-white-disabled { - color: rgba(255, 255, 255, .5) !important; -} -.mdui-text-color-white-divider { - color: rgba(255, 255, 255, .12) !important; -} -.mdui-text-color-white-icon { - color: #fff !important; -} -.mdui-text-color-white-icon-disabled { - color: rgba(255, 255, 255, .3) !important; -} -/** - * .mdui-text-color-theme-[] 深色主题 - */ -.mdui-theme-layout-dark .mdui-text-color-theme-text { - color: #fff !important; -} -.mdui-theme-layout-dark .mdui-text-color-theme-secondary { - color: rgba(255, 255, 255, .7) !important; -} -.mdui-theme-layout-dark .mdui-text-color-theme-disabled { - color: rgba(255, 255, 255, .5) !important; -} -.mdui-theme-layout-dark .mdui-text-color-theme-divider { - color: rgba(255, 255, 255, .12) !important; -} -.mdui-theme-layout-dark .mdui-text-color-theme-icon { - color: #fff !important; -} -.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled { - color: rgba(255, 255, 255, .3) !important; -} -/** - * ============================================================================= - * ************ Helper 辅助类 ************ - * ============================================================================= - */ -/** - * =================== 边距 - */ -.mdui-m-a-0 { - margin: 0 !important; -} -.mdui-m-t-0 { - margin-top: 0 !important; -} -.mdui-m-r-0 { - margin-right: 0 !important; -} -.mdui-m-b-0 { - margin-bottom: 0 !important; -} -.mdui-m-l-0 { - margin-left: 0 !important; -} -.mdui-m-x-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} -.mdui-m-y-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} -.mdui-p-a-0 { - padding: 0 !important; -} -.mdui-p-t-0 { - padding-top: 0 !important; -} -.mdui-p-r-0 { - padding-right: 0 !important; -} -.mdui-p-b-0 { - padding-bottom: 0 !important; -} -.mdui-p-l-0 { - padding-left: 0 !important; -} -.mdui-p-x-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} -.mdui-p-y-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} -.mdui-m-a-1 { - margin: 8px !important; -} -.mdui-m-t-1 { - margin-top: 8px !important; -} -.mdui-m-r-1 { - margin-right: 8px !important; -} -.mdui-m-b-1 { - margin-bottom: 8px !important; -} -.mdui-m-l-1 { - margin-left: 8px !important; -} -.mdui-m-x-1 { - margin-right: 8px !important; - margin-left: 8px !important; -} -.mdui-m-y-1 { - margin-top: 8px !important; - margin-bottom: 8px !important; -} -.mdui-p-a-1 { - padding: 8px !important; -} -.mdui-p-t-1 { - padding-top: 8px !important; -} -.mdui-p-r-1 { - padding-right: 8px !important; -} -.mdui-p-b-1 { - padding-bottom: 8px !important; -} -.mdui-p-l-1 { - padding-left: 8px !important; -} -.mdui-p-x-1 { - padding-right: 8px !important; - padding-left: 8px !important; -} -.mdui-p-y-1 { - padding-top: 8px !important; - padding-bottom: 8px !important; -} -.mdui-m-a-2 { - margin: 16px !important; -} -.mdui-m-t-2 { - margin-top: 16px !important; -} -.mdui-m-r-2 { - margin-right: 16px !important; -} -.mdui-m-b-2 { - margin-bottom: 16px !important; -} -.mdui-m-l-2 { - margin-left: 16px !important; -} -.mdui-m-x-2 { - margin-right: 16px !important; - margin-left: 16px !important; -} -.mdui-m-y-2 { - margin-top: 16px !important; - margin-bottom: 16px !important; -} -.mdui-p-a-2 { - padding: 16px !important; -} -.mdui-p-t-2 { - padding-top: 16px !important; -} -.mdui-p-r-2 { - padding-right: 16px !important; -} -.mdui-p-b-2 { - padding-bottom: 16px !important; -} -.mdui-p-l-2 { - padding-left: 16px !important; -} -.mdui-p-x-2 { - padding-right: 16px !important; - padding-left: 16px !important; -} -.mdui-p-y-2 { - padding-top: 16px !important; - padding-bottom: 16px !important; -} -.mdui-m-a-3 { - margin: 24px !important; -} -.mdui-m-t-3 { - margin-top: 24px !important; -} -.mdui-m-r-3 { - margin-right: 24px !important; -} -.mdui-m-b-3 { - margin-bottom: 24px !important; -} -.mdui-m-l-3 { - margin-left: 24px !important; -} -.mdui-m-x-3 { - margin-right: 24px !important; - margin-left: 24px !important; -} -.mdui-m-y-3 { - margin-top: 24px !important; - margin-bottom: 24px !important; -} -.mdui-p-a-3 { - padding: 24px !important; -} -.mdui-p-t-3 { - padding-top: 24px !important; -} -.mdui-p-r-3 { - padding-right: 24px !important; -} -.mdui-p-b-3 { - padding-bottom: 24px !important; -} -.mdui-p-l-3 { - padding-left: 24px !important; -} -.mdui-p-x-3 { - padding-right: 24px !important; - padding-left: 24px !important; -} -.mdui-p-y-3 { - padding-top: 24px !important; - padding-bottom: 24px !important; -} -.mdui-m-a-4 { - margin: 32px !important; -} -.mdui-m-t-4 { - margin-top: 32px !important; -} -.mdui-m-r-4 { - margin-right: 32px !important; -} -.mdui-m-b-4 { - margin-bottom: 32px !important; -} -.mdui-m-l-4 { - margin-left: 32px !important; -} -.mdui-m-x-4 { - margin-right: 32px !important; - margin-left: 32px !important; -} -.mdui-m-y-4 { - margin-top: 32px !important; - margin-bottom: 32px !important; -} -.mdui-p-a-4 { - padding: 32px !important; -} -.mdui-p-t-4 { - padding-top: 32px !important; -} -.mdui-p-r-4 { - padding-right: 32px !important; -} -.mdui-p-b-4 { - padding-bottom: 32px !important; -} -.mdui-p-l-4 { - padding-left: 32px !important; -} -.mdui-p-x-4 { - padding-right: 32px !important; - padding-left: 32px !important; -} -.mdui-p-y-4 { - padding-top: 32px !important; - padding-bottom: 32px !important; -} -.mdui-m-a-5 { - margin: 40px !important; -} -.mdui-m-t-5 { - margin-top: 40px !important; -} -.mdui-m-r-5 { - margin-right: 40px !important; -} -.mdui-m-b-5 { - margin-bottom: 40px !important; -} -.mdui-m-l-5 { - margin-left: 40px !important; -} -.mdui-m-x-5 { - margin-right: 40px !important; - margin-left: 40px !important; -} -.mdui-m-y-5 { - margin-top: 40px !important; - margin-bottom: 40px !important; -} -.mdui-p-a-5 { - padding: 40px !important; -} -.mdui-p-t-5 { - padding-top: 40px !important; -} -.mdui-p-r-5 { - padding-right: 40px !important; -} -.mdui-p-b-5 { - padding-bottom: 40px !important; -} -.mdui-p-l-5 { - padding-left: 40px !important; -} -.mdui-p-x-5 { - padding-right: 40px !important; - padding-left: 40px !important; -} -.mdui-p-y-5 { - padding-top: 40px !important; - padding-bottom: 40px !important; -} -/** - * ======================== 快速浮动 - */ -/* 向左浮动 */ -.mdui-float-left { - float: left !important; -} -/* 向右浮动 */ -.mdui-float-right { - float: right !important; -} -/** - * ========================= 水平居中 - */ -/* 水平居中 */ -.mdui-center { - display: block !important; - margin-right: auto !important; - margin-left: auto !important; -} -/** - * ========================= 垂直居中 - */ -/* 垂直居中 */ -.mdui-valign { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; -} -/** - * ========================= 文本对齐方式 - */ -/* 文本左对齐 */ -.mdui-text-left { - text-align: left !important; -} -/* 文本居中对齐 */ -.mdui-text-center { - text-align: center !important; -} -/* 文本向右对齐 */ -.mdui-text-right { - text-align: right !important; -} -/** - * ========================= 文本大小写转换 - */ -/* 文本转为小写 */ -.mdui-text-lowercase { - text-transform: lowercase !important; -} -/* 文本转为大写 */ -.mdui-text-uppercase { - text-transform: uppercase !important; -} -/* 文本转为单词的首字母大写 */ -.mdui-text-capitalize { - text-transform: capitalize !important; -} -/** - * ======================== 文本截断 - */ -/* 文本截断 */ -.mdui-text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -/** - * ========================= 清除浮动 - */ -/* 清除浮动 */ -.mdui-clearfix:before, -.mdui-clearfix:after { - display: table; - content: " "; -} -.mdui-clearfix:after { - clear: both; -} -/** - * ========================= 隐藏内容 - */ -/* 隐藏元素 */ -.mdui-hidden, -[hidden] { - display: none !important; -} -/* 使元素不可见 */ -.mdui-invisible { - visibility: hidden; -} -/* Responsive utilities 响应式工具 - ========================================================================== */ -/* 在特定屏幕的特备上隐藏 */ -@media (max-width: 599px) { - .mdui-hidden-xs { - display: none !important; - } -} -@media (min-width: 600px) and (max-width: 1023px) { - .mdui-hidden-sm { - display: none !important; - } -} -@media (min-width: 1024px) and (max-width: 1439px) { - .mdui-hidden-md { - display: none !important; - } -} -@media (min-width: 1440px) and (max-width: 1919px) { - .mdui-hidden-lg { - display: none !important; - } -} -@media (min-width: 1920px) { - .mdui-hidden-xl { - display: none !important; - } -} -/* 在比特定屏幕小的设备上隐藏 */ -@media (max-width: 599px) { - .mdui-hidden-xs-down { - display: none !important; - } -} -@media (max-width: 1023px) { - .mdui-hidden-sm-down { - display: none !important; - } -} -@media (max-width: 1439px) { - .mdui-hidden-md-down { - display: none !important; - } -} -@media (max-width: 1919px) { - .mdui-hidden-lg-down { - display: none !important; - } -} -.mdui-hidden-xl-down { - display: none !important; -} -/* 在比特定屏幕大的设备上隐藏 */ -.mdui-hidden-xs-up { - display: none !important; -} -@media (min-width: 600px) { - .mdui-hidden-sm-up { - display: none !important; - } -} -@media (min-width: 1024px) { - .mdui-hidden-md-up { - display: none !important; - } -} -@media (min-width: 1440px) { - .mdui-hidden-lg-up { - display: none !important; - } -} -@media (min-width: 1920px) { - .mdui-hidden-xl-up { - display: none !important; - } -} -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* Document - ========================================================================== */ -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ -html { - line-height: 1.15; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ -} -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers. - */ -body { - margin: 0; -} -/** - * Render the `main` element consistently in IE. - */ -main { - display: block; -} -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - margin: .67em 0; - font-size: 2em; -} -/* Grouping content - ========================================================================== */ -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - /* 1 */ - height: 0; - -webkit-box-sizing: content-box; - box-sizing: content-box; - /* 1 */ - overflow: visible; - /* 2 */ -} -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} -/* Text-level semantics - ========================================================================== */ -/** - * Remove the gray background on active links in IE 10. - */ -a { - background-color: transparent; -} -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - /* 1 */ - text-decoration: underline; - text-decoration: underline dotted; - border-bottom: none; - /* 2 */ - - -webkit-text-decoration: underline dotted; - -moz-text-decoration: underline dotted; - /* 2 */ -} -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; -} -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; -} -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sub { - bottom: -.25em; -} -sup { - top: -.5em; -} -/* Embedded content - ========================================================================== */ -/** - * Remove the border on images inside links in IE 10. - */ -img { - border-style: none; -} -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - /* 1 */ - margin: 0; - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - line-height: 1.15; - /* 2 */ -} -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ -button, -input { - /* 1 */ - overflow: visible; -} -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; -} -/** - * Correct the inability to style clickable types in iOS and Safari. - */ -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} -/** - * Remove the inner border and padding in Firefox. - */ -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} -/** - * Restore the focus styles unset by the previous rule. - */ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} -/** - * Correct the padding in Firefox. - */ -fieldset { - padding: .35em .75em .625em; -} -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - /* 2 */ - display: table; - /* 1 */ - max-width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 1 */ - color: inherit; - /* 3 */ - white-space: normal; - /* 1 */ -} -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - vertical-align: baseline; -} -/** - * Remove the default vertical scrollbar in IE 10+. - */ -textarea { - overflow: auto; -} -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ -[type="checkbox"], -[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ -} -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ -details { - display: block; -} -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; -} -/* Misc - ========================================================================== */ -/** - * Add the correct display in IE 10+. - */ -template { - display: none; -} -/** - * Add the correct display in IE 10. - */ -[hidden] { - display: none; -} -/** - * ============================================================================= - * ************ 公共样式 ************ - * ============================================================================= - */ -body { - font-family: Roboto, Noto, Helvetica, Arial, sans-serif; - font-size: 14px; - color: rgba(0, 0, 0, .87); - background-color: #fff; -} -@media (min-width: 600px) { - body { - font-size: 14.5px; - } -} -@media (min-width: 1024px) { - body { - font-size: 15px; - } -} -body *::-webkit-scrollbar { - width: 5px; - height: 5px; - background: transparent; -} -@media (min-width: 1024px) { - body *::-webkit-scrollbar { - width: 8px; - height: 8px; - } -} -body *::-webkit-scrollbar-thumb { - background: rgba(0, 0, 0, .2); -} -body.mdui-theme-layout-dark *::-webkit-scrollbar { - width: 5px; - height: 5px; - background: transparent; -} -@media (min-width: 1024px) { - body.mdui-theme-layout-dark *::-webkit-scrollbar { - width: 8px; - height: 8px; - } -} -body.mdui-theme-layout-dark *::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, .3); -} -* { - -webkit-tap-highlight-color: transparent; -} -/* 锁定屏幕 */ -body.mdui-locked { - overflow: hidden; -} -/* 遮罩层 */ -.mdui-overlay { - position: fixed; - top: -5000px; - right: -5000px; - bottom: -5000px; - left: -5000px; - z-index: 2000; - visibility: hidden; - background: rgba(0, 0, 0, .4); - opacity: 0; - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-property: opacity, visibility; - transition-property: opacity, visibility; - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - will-change: opacity; -} -/* 显示遮罩层 */ -.mdui-overlay-show { - visibility: visible; - opacity: 1; -} -/* 取消 transition 过渡效果 */ -.mdui-no-transition { - -webkit-transition-property: none !important; - transition-property: none !important; -} -/** - * ============================================================================= - * ************ Global dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark { - color: #fff; - background-color: #303030; -} -/** - * ============================================================================= - * ************ Icon 图标 ************ - * ============================================================================= - */ -.mdui-icon, -.mdui-icon::before { - font-size: 24px; - font-style: normal; - font-weight: normal; - line-height: 1; - color: inherit; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - /* Preferred icon size */ - vertical-align: middle; - - direction: ltr; -} -.mdui-icon { - display: inline-block; - text-align: center; -} -.mdui-icon::before { - display: block !important; - width: 24px; - height: 24px; -} -/** - * ============================================================================= - * ************ Material Icons ************ - * ============================================================================= - * - * https://github.com/google/material-design-icons/ - * v3.0.1 - */ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - - src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff'); -} -.material-icons { - font-family: 'Material Icons'; - /* Support for all WebKit browsers. */ - - -webkit-font-smoothing: antialiased; - /* Support for Safari and Chrome. */ - text-rendering: optimizeLegibility; - /* Support for Firefox. */ - -moz-osx-font-smoothing: grayscale; - /* Support for IE. */ - -webkit-font-feature-settings: 'liga'; - -moz-font-feature-settings: 'liga'; - font-feature-settings: 'liga'; -} -/** - * ============================================================================= - * ************ Roboto 字体 ************ - * ============================================================================= - */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - - src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 100; - - src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - - src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 300; - - src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - - src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 400; - - src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - - src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 500; - - src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - - src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 700; - - src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - - src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff'); -} -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 900; - - src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff'); -} -/** - * ============================================================================= - * ************ Typography 排版 ************ - * ============================================================================= - */ -/* .mdui-typo-display-4 */ -.mdui-typo-display-4, -.mdui-typo-display-4-opacity { - font-size: 112px; - font-weight: 300; - letter-spacing: -.04em; -} -.mdui-typo-display-4-opacity { - opacity: .54; -} -/* .mdui-typo-display-3 */ -.mdui-typo-display-3, -.mdui-typo-display-3-opacity { - font-size: 56px; - font-weight: 400; - letter-spacing: -.02em; -} -.mdui-typo-display-3-opacity { - opacity: .54; -} -/* .mdui-typo-display-2 */ -.mdui-typo-display-2, -.mdui-typo-display-2-opacity { - font-size: 45px; - font-weight: 400; - letter-spacing: 0; -} -.mdui-typo-display-2-opacity { - opacity: .54; -} -/* .mdui-typo-display-1 */ -.mdui-typo-display-1, -.mdui-typo-display-1-opacity { - font-size: 34px; - font-weight: 400; - letter-spacing: 0; -} -.mdui-typo-display-1-opacity { - opacity: .54; -} -/* .mdui-typo-headline */ -.mdui-typo-headline, -.mdui-typo-headline-opacity { - font-size: 24px; - font-weight: 400; - - -moz-osx-font-smoothing: grayscale; -} -.mdui-typo-headline-opacity { - opacity: .87; -} -/* .mdui-typo-title */ -.mdui-typo-title, -.mdui-typo-title-opacity { - font-size: 20px; - font-weight: 500; - letter-spacing: .02em; -} -.mdui-typo-title-opacity { - opacity: .87; -} -.mdui-typo-subheading, -.mdui-typo-subheading-opacity { - font-size: 16px; - font-weight: 400; - letter-spacing: .04em; -} -.mdui-typo-subheading-opacity { - opacity: .87; -} -.mdui-typo-body-2, -.mdui-typo-body-2-opacity { - font-size: 14px; - font-weight: 500; - letter-spacing: .04em; -} -.mdui-typo-body-2-opacity { - opacity: .87; -} -.mdui-typo-body-1, -.mdui-typo-body-1-opacity { - font-size: 14px; - font-weight: 400; - letter-spacing: .04em; -} -.mdui-typo-body-1-opacity { - opacity: .87; -} -.mdui-typo-caption, -.mdui-typo-caption-opacity { - font-size: 12px; - font-weight: 400; - letter-spacing: .08em; -} -.mdui-typo-caption-opacity { - opacity: .54; -} -.mdui-typo { - line-height: 1.8; - word-wrap: break-word; - /* a */ - /* small */ - /* blockquote */ - /* mark */ - /* h1 - h6 */ - /* code */ - /* pre code */ - /* abbr */ - /* ins */ - /* u */ - /* del */ - /* hr */ - /* pre */ - /* kbd */ - /* ul / ol */ - /* img */ -} -.mdui-typo address, -.mdui-typo caption, -.mdui-typo cite, -.mdui-typo code, -.mdui-typo dfn, -.mdui-typo th { - font-style: normal; - font-weight: 400; -} -.mdui-typo caption, -.mdui-typo th { - text-align: left; -} -.mdui-typo q:before, -.mdui-typo q:after { - content: ''; -} -.mdui-typo pre, -.mdui-typo code, -.mdui-typo kbd, -.mdui-typo samp, -.mdui-typo pre tt { - font-family: Consolas, Courier, 'Courier New', monospace; -} -.mdui-typo figcaption { - font-size: 80%; - color: rgba(0, 0, 0, .54); -} -.mdui-typo [draggable], -.mdui-typo [draggable="true"] { - cursor: move; -} -.mdui-typo [draggable="false"] { - cursor: inherit; -} -.mdui-typo p, -.mdui-typo pre, -.mdui-typo ul, -.mdui-typo ol, -.mdui-typo dl, -.mdui-typo form, -.mdui-typo hr, -.mdui-typo figure, -.mdui-typo table, -.mdui-typo .mdui-table, -.mdui-typo .mdui-table-fluid { - margin: 0 0 1.2em 0; -} -.mdui-typo a { - position: relative; - display: inline-block; - overflow: hidden; - color: #ff4081; - text-decoration: none; - vertical-align: top; - outline: none; -} -.mdui-typo a:before { - position: absolute; - top: auto; - bottom: 1px; - left: 0; - width: 100%; - height: 1px; - content: ' '; - background-color: #ff4081; - -webkit-transition: all .2s; - transition: all .2s; - -webkit-transform: scaleX(0); - transform: scaleX(0); - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -.mdui-typo a:hover:before, -.mdui-typo a:focus:before { - -webkit-transform: scaleX(1); - transform: scaleX(1); -} -.mdui-typo small { - font-size: 80%; -} -.mdui-typo blockquote { - padding-left: 1em; - margin: 1em 3em 1em 2em; - font-weight: 400; - border-left: 4px solid rgba(0, 0, 0, .12); -} -@media only screen and (max-width: 599px) { - .mdui-typo blockquote { - margin: 1em 0; - } -} -.mdui-typo blockquote footer { - font-size: 86%; - color: rgba(0, 0, 0, .54); -} -.mdui-typo mark { - padding: 2px; - margin: 0 5px; - background: #fffdd1; - border-bottom: 1px solid #ffedce; -} -.mdui-typo h1, -.mdui-typo h2, -.mdui-typo h3, -.mdui-typo h4, -.mdui-typo h5, -.mdui-typo h6 { - margin-top: 1.2em; - margin-bottom: .6em; - font-family: inherit; - font-weight: 400; - line-height: 1.35; - color: inherit; -} -.mdui-typo h1 small, -.mdui-typo h2 small, -.mdui-typo h3 small, -.mdui-typo h4 small, -.mdui-typo h5 small, -.mdui-typo h6 small { - font-size: 65%; - font-weight: 400; - line-height: 1; - color: rgba(0, 0, 0, .54); -} -.mdui-typo h1 { - font-size: 2em; -} -.mdui-typo h2 { - font-size: 1.8em; -} -.mdui-typo h3 { - font-size: 1.6em; -} -.mdui-typo h4 { - font-size: 1.4em; -} -.mdui-typo h5 { - font-size: 1.2em; -} -.mdui-typo h6 { - font-size: 1.1em; -} -.mdui-typo code { - padding: 2px 6px; - color: #c7254e; - background-color: #f7f7f9; - border-radius: 2px; -} -.mdui-typo pre code { - padding: 0; - font-size: inherit; - line-height: 1.7; - color: inherit; - background-color: transparent; - border-radius: 0; -} -.mdui-typo abbr[title] { - text-decoration: none; - cursor: help; - border-bottom: 1px dotted; -} -.mdui-typo ins { - text-decoration: none; - border-bottom: 1px solid ; -} -.mdui-typo u { - text-decoration: none; - border-bottom: 1px solid; -} -.mdui-typo del { - text-decoration: line-through; -} -.mdui-typo hr { - height: 10px; - margin-bottom: .8em; - border: none; - border-bottom: 1px solid rgba(0, 0, 0, .12); -} -.mdui-typo pre { - padding: 12px 16px; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - border: 1px solid rgba(0, 0, 0, .12); - border-radius: 2px; -} -.mdui-typo kbd { - padding: 2px 6px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 2px; -} -.mdui-typo ul { - padding-left: 2em; - list-style: disc; -} -.mdui-typo ol { - padding-left: 2em; - list-style: decimal; -} -.mdui-typo li ul, -.mdui-typo li ol { - margin: .8em 0; -} -.mdui-typo li ul { - list-style: circle; -} -.mdui-typo img { - max-width: 100%; -} -/** - * ============================================================================= - * ************ Typo 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-typo a { - color: #ffd740; -} -.mdui-theme-accent-amber .mdui-typo a:before { - background-color: #ffd740; -} -.mdui-theme-accent-blue .mdui-typo a { - color: #448aff; -} -.mdui-theme-accent-blue .mdui-typo a:before { - background-color: #448aff; -} -.mdui-theme-accent-cyan .mdui-typo a { - color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-typo a:before { - background-color: #18ffff; -} -.mdui-theme-accent-deep-orange .mdui-typo a { - color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-typo a:before { - background-color: #ff6e40; -} -.mdui-theme-accent-deep-purple .mdui-typo a { - color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-typo a:before { - background-color: #7c4dff; -} -.mdui-theme-accent-green .mdui-typo a { - color: #69f0ae; -} -.mdui-theme-accent-green .mdui-typo a:before { - background-color: #69f0ae; -} -.mdui-theme-accent-indigo .mdui-typo a { - color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-typo a:before { - background-color: #536dfe; -} -.mdui-theme-accent-light-blue .mdui-typo a { - color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-typo a:before { - background-color: #40c4ff; -} -.mdui-theme-accent-light-green .mdui-typo a { - color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-typo a:before { - background-color: #b2ff59; -} -.mdui-theme-accent-lime .mdui-typo a { - color: #eeff41; -} -.mdui-theme-accent-lime .mdui-typo a:before { - background-color: #eeff41; -} -.mdui-theme-accent-orange .mdui-typo a { - color: #ffab40; -} -.mdui-theme-accent-orange .mdui-typo a:before { - background-color: #ffab40; -} -.mdui-theme-accent-pink .mdui-typo a { - color: #ff4081; -} -.mdui-theme-accent-pink .mdui-typo a:before { - background-color: #ff4081; -} -.mdui-theme-accent-purple .mdui-typo a { - color: #e040fb; -} -.mdui-theme-accent-purple .mdui-typo a:before { - background-color: #e040fb; -} -.mdui-theme-accent-red .mdui-typo a { - color: #ff5252; -} -.mdui-theme-accent-red .mdui-typo a:before { - background-color: #ff5252; -} -.mdui-theme-accent-teal .mdui-typo a { - color: #64ffda; -} -.mdui-theme-accent-teal .mdui-typo a:before { - background-color: #64ffda; -} -.mdui-theme-accent-yellow .mdui-typo a { - color: #ff0; -} -.mdui-theme-accent-yellow .mdui-typo a:before { - background-color: #ff0; -} -/** - * ============================================================================= - * ************ Typo dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-typo blockquote { - border-left-color: rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-typo blockquote footer { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-typo figcaption { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-typo mark { - background: #aaa; - border-bottom-color: #bbb; -} -.mdui-theme-layout-dark .mdui-typo h1 small, -.mdui-theme-layout-dark .mdui-typo h2 small, -.mdui-theme-layout-dark .mdui-typo h3 small, -.mdui-theme-layout-dark .mdui-typo h4 small, -.mdui-theme-layout-dark .mdui-typo h5 small, -.mdui-theme-layout-dark .mdui-typo h6 small { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-typo code { - color: #ffcdd2; - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-typo pre { - background: #424242; - border-color: rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-typo kbd { - background: #424242; -} -.mdui-theme-layout-dark .mdui-typo hr { - border-color: rgba(255, 255, 255, .12); -} -/** - * ============================================================================= - * ************ Headroom ************ - * ============================================================================= - */ -.mdui-headroom { - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1) !important; - transition: all .3s cubic-bezier(.4, 0, .2, 1) !important; -} -/* 固定在顶部时 */ -.mdui-headroom-pinned-top { - -webkit-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} -/* 在顶部隐藏时 */ -.mdui-headroom-unpinned-top { - -webkit-box-shadow: none !important; - box-shadow: none !important; - -webkit-transform: translate3d(0, -100%, 0) !important; - transform: translate3d(0, -100%, 0) !important; -} -/* 固定在底部时 */ -.mdui-headroom-pinned-down { - -webkit-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} -/* 在底部隐藏时 */ -.mdui-headroom-unpinned-down { - -webkit-box-shadow: none !important; - box-shadow: none !important; - -webkit-transform: translate3d(0, 100%, 0) !important; - transform: translate3d(0, 100%, 0) !important; -} -/* 固定应用栏中的工具栏 */ -.mdui-headroom-pinned-toolbar { - -webkit-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} -/* 隐藏应用栏中的工具栏 */ -.mdui-headroom-unpinned-toolbar { - -webkit-transform: translate3d(0, -56px, 0) !important; - transform: translate3d(0, -56px, 0) !important; -} -@media (min-width: 600px) { - .mdui-headroom-unpinned-toolbar { - -webkit-transform: translate3d(0, -64px, 0) !important; - transform: translate3d(0, -64px, 0) !important; - } -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-headroom-unpinned-toolbar { - -webkit-transform: translate3d(0, -48px, 0) !important; - transform: translate3d(0, -48px, 0) !important; - } -} -/** - * ============================================================================= - * ************ Collapse 折叠插件 ************ - * ============================================================================= - */ -.mdui-collapse-item-header .mdui-collapse-item-arrow, -.mdui-collapse-item-header.mdui-collapse-item-arrow { - -webkit-transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); - transition: transform .3s cubic-bezier(.4, 0, .2, 1); - transition: transform .3s cubic-bezier(.4, 0, .2, 1), -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: rotate(0); - transform: rotate(0); - - will-change: transform; -} -.mdui-collapse-item-body { - height: 0; - padding-top: 0; - padding-bottom: 0; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); - - will-change: height; -} -.mdui-collapse-item-body .mdui-list-item { - padding-left: 72px; -} -.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow, -.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} -.mdui-collapse-item-open > .mdui-collapse-item-body { - height: auto; -} -/** - * ============================================================================= - * ************ Table 表格 ************ - * ============================================================================= - */ -.mdui-table { - position: relative; - width: 100%; - border-spacing: 0; - border-collapse: separate; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, .12); - border-bottom: none; - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-table tbody tr { - position: relative; - -webkit-transition: background-color .28s cubic-bezier(.4, 0, .2, 1); - transition: background-color .28s cubic-bezier(.4, 0, .2, 1); -} -.mdui-table th, -.mdui-table td { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 12px 28px; - text-align: left; - vertical-align: middle; - border-bottom: 1px solid rgba(0, 0, 0, .12); -} -.mdui-table th:last-child, -.mdui-table td:last-child { - padding-right: 24px; -} -.mdui-table th:first-child, -.mdui-table td:first-child { - padding-right: 0; - padding-left: 24px; -} -.mdui-table th:nth-child(2), -.mdui-table td:nth-child(2) { - padding-left: 24px; -} -.mdui-table th { - overflow: hidden; - font-size: 13px; - font-weight: 700; - line-height: 32px; - color: rgba(0, 0, 0, .54); - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-table td { - font-size: 14px; - line-height: 24px; - color: rgba(0, 0, 0, .87); -} -/* 每一行前面的复选框 */ -.mdui-table-cell-checkbox { - padding-top: 0 !important; - padding-bottom: 0!important; - padding-left: 24px !important; -} -.mdui-table-cell-checkbox .mdui-checkbox { - margin-top: 7px; -} -.mdui-table-cell-checkbox + td, -.mdui-table-cell-checkbox + th { - padding-left: 6px !important; -} -th.mdui-table-cell-checkbox .mdui-checkbox { - margin-top: 11px; -} -/* 鼠标悬浮时行背景加深 */ -.mdui-table-hoverable tbody tr:hover { - background-color: #eee; -} -/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */ -.mdui-table-fluid { - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - border: 1px solid rgba(0, 0, 0, .12); - border-bottom: none; - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-table-fluid .mdui-table { - margin: 0; - border: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* 数字列,右对齐 */ -.mdui-table-col-numeric { - text-align: right !important; -} -/* 行处于选中状态 */ -.mdui-table-row-selected { - background-color: #f5f5f5; -} -/** - * ============================================================================= - * ************ Table dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-table { - background-color: #303030; - border: 1px solid rgba(255, 255, 255, .12); - border-bottom: none; -} -.mdui-theme-layout-dark .mdui-table th, -.mdui-theme-layout-dark .mdui-table td { - border-bottom: 1px solid rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-table th { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-table td { - color: #fff; -} -.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover { - background-color: #616161; -} -.mdui-theme-layout-dark .mdui-table-fluid { - border: 1px solid rgba(255, 255, 255, .12); - border-bottom: none; -} -.mdui-theme-layout-dark .mdui-table-fluid .mdui-table { - border: none; - -webkit-box-shadow: none; - box-shadow: none; -} -.mdui-theme-layout-dark .mdui-table-row-selected { - background-color: #424242; -} -/** - * ============================================================================= - * ************ Divider 分割线 ************ - * ============================================================================= - */ -.mdui-divider, -.mdui-divider-light, -.mdui-divider-dark, -.mdui-divider-inset, -.mdui-divider-inset-light, -.mdui-divider-inset-dark { - height: 1px; - margin: -1px 0 0 0; - border: none; -} -.mdui-divider-inset, -.mdui-divider-inset-light, -.mdui-divider-inset-dark { - margin-left: 72px; -} -.mdui-divider, -.mdui-divider-inset { - background-color: rgba(0, 0, 0, .12); -} -.mdui-theme-layout-dark .mdui-divider, -.mdui-theme-layout-dark .mdui-divider-inset { - background-color: rgba(255, 255, 255, .12); -} -.mdui-divider-light, -.mdui-divider-inset-light { - background-color: rgba(255, 255, 255, .12); -} -.mdui-divider-dark, -.mdui-divider-inset-dark { - background-color: rgba(0, 0, 0, .12); -} -/** - * ============================================================================= - * ************ Media 媒体工具 ************ - * ============================================================================= - */ -/* 响应式图片和视频 */ -.mdui-img-fluid, -.mdui-video-fluid { - display: block; - max-width: 100%; - height: auto; -} -/* 圆角图片 */ -.mdui-img-rounded { - border-radius: 2px; -} -/* 圆形图片 */ -.mdui-img-circle { - border-radius: 50%; -} -.mdui-video-container { - position: relative; - height: 0; - padding-bottom: 56.25%; - overflow: hidden; -} -.mdui-video-container iframe, -.mdui-video-container object, -.mdui-video-container embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -/** - * ============================================================================= - * ************ 涟漪动画 ************ - * ============================================================================= - */ -.mdui-ripple { - position: relative; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -/* Ripple */ -.mdui-ripple-wave { - position: absolute !important; - top: 0; - left: 0; - z-index: 1; - padding: 0; - margin: 0; - font-size: 0; - pointer-events: none; - background-color: rgba(0, 0, 0, .1); - border-radius: 50%; - -webkit-transition-duration: 1400ms; - transition-duration: 1400ms; - -webkit-transform: translate3d(0px, 0px, 0) scale(0); - transform: translate3d(0px, 0px, 0) scale(0); -} -/* 有背景色的默认使用白色涟漪 */ -.mdui-ripple[class*="mdui-color-"] .mdui-ripple-wave { - background-color: rgba(255, 255, 255, .3); -} -/* 白色涟漪 */ -.mdui-ripple-white .mdui-ripple-wave { - background-color: rgba(255, 255, 255, .3) !important; -} -/* 黑色涟漪 */ -.mdui-ripple-black .mdui-ripple-wave { - background-color: rgba(0, 0, 0, .1) !important; -} -.mdui-ripple-wave-fill { - opacity: .35; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.mdui-ripple-wave-out { - opacity: 0; - -webkit-transition-duration: 600ms; - transition-duration: 600ms; -} -/** - * ============================================================================= - * ************ Ripple 颜色 ************ - * ============================================================================= - */ -.mdui-ripple-amber .mdui-ripple-wave { - background-color: rgba(255, 193, 7, .3) !important; -} -.mdui-ripple-blue .mdui-ripple-wave { - background-color: rgba(33, 150, 243, .3) !important; -} -.mdui-ripple-blue-grey .mdui-ripple-wave { - background-color: rgba(96, 125, 139, .3) !important; -} -.mdui-ripple-brown .mdui-ripple-wave { - background-color: rgba(121, 85, 72, .3) !important; -} -.mdui-ripple-cyan .mdui-ripple-wave { - background-color: rgba(0, 188, 212, .3) !important; -} -.mdui-ripple-deep-orange .mdui-ripple-wave { - background-color: rgba(255, 87, 34, .3) !important; -} -.mdui-ripple-deep-purple .mdui-ripple-wave { - background-color: rgba(103, 58, 183, .3) !important; -} -.mdui-ripple-green .mdui-ripple-wave { - background-color: rgba(76, 175, 80, .3) !important; -} -.mdui-ripple-grey .mdui-ripple-wave { - background-color: rgba(158, 158, 158, .3) !important; -} -.mdui-ripple-indigo .mdui-ripple-wave { - background-color: rgba(63, 81, 181, .3) !important; -} -.mdui-ripple-light-blue .mdui-ripple-wave { - background-color: rgba(3, 169, 244, .3) !important; -} -.mdui-ripple-light-green .mdui-ripple-wave { - background-color: rgba(139, 195, 74, .3) !important; -} -.mdui-ripple-lime .mdui-ripple-wave { - background-color: rgba(205, 220, 57, .3) !important; -} -.mdui-ripple-orange .mdui-ripple-wave { - background-color: rgba(255, 152, 0, .3) !important; -} -.mdui-ripple-pink .mdui-ripple-wave { - background-color: rgba(233, 30, 99, .3) !important; -} -.mdui-ripple-purple .mdui-ripple-wave { - background-color: rgba(156, 39, 176, .3) !important; -} -.mdui-ripple-red .mdui-ripple-wave { - background-color: rgba(244, 67, 54, .3) !important; -} -.mdui-ripple-teal .mdui-ripple-wave { - background-color: rgba(0, 150, 136, .3) !important; -} -.mdui-ripple-yellow .mdui-ripple-wave { - background-color: rgba(255, 235, 59, .3) !important; -} -/** - * ============================================================================= - * ************ Ripple dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-ripple-wave { - background-color: rgba(255, 255, 255, .3); -} -/** - * ============================================================================= - * ************ Text Field 文本框 ************ - * ============================================================================= - */ -/* 文本框外层 */ -.mdui-textfield { - position: relative; - padding-top: 16px; - padding-bottom: 8px; - overflow: hidden; -} -.mdui-textfield-has-bottom { - padding-bottom: 28px; -} -/* 输入框 */ -.mdui-textfield-input { - display: block; - width: 100%; - height: 36px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - padding: 8px 0; - margin: 0; - overflow: hidden; - font-family: inherit; - font-size: 16px; - line-height: 20px; - color: rgba(0, 0, 0, .87); - resize: none; - background: none; - border: none; - border-bottom: 1px solid rgba(0, 0, 0, .42); - border-radius: 0; - outline: none; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); - transition-timing-function: cubic-bezier(.4, 0, .2, 1); - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-property: border-bottom-color, padding-right, -webkit-box-shadow; - transition-property: border-bottom-color, padding-right, -webkit-box-shadow; - transition-property: border-bottom-color, padding-right, box-shadow; - transition-property: border-bottom-color, padding-right, box-shadow, -webkit-box-shadow; - - -moz-appearance: none; - appearance: none; -} -.mdui-textfield-input::-webkit-input-placeholder { - color: inherit; - opacity: .42; -} -.mdui-textfield-input:not([disabled]):hover { - cursor: pointer; - border-bottom: 1px solid rgba(0, 0, 0, .87); - -webkit-box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87); - box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87); -} -.mdui-textfield-input[rows] { - height: auto !important; - overflow: auto; - -webkit-overflow-scrolling: touch; -} -/* 文本框 label */ -.mdui-textfield-label { - display: block; - width: 100%; - font-size: 16px; - color: rgba(0, 0, 0, .54); - pointer-events: none; - -webkit-transition: all .2s; - transition: all .2s; - -webkit-transform: scale(.75) translateY(0); - transform: scale(.75) translateY(0); - -webkit-transform-origin: left; - transform-origin: left; -} -/* 表单验证错误提示、帮助文本提示 */ -.mdui-textfield-error, -.mdui-textfield-helper { - position: absolute; - bottom: 8px; - height: 12px; - overflow: hidden; - font-size: 12px; - line-height: 12px; - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-textfield-error { - color: rgba(255, 23, 68, .87); - visibility: hidden; -} -.mdui-textfield-helper { - color: rgba(0, 0, 0, .54); -} -/* 表单中的图标 - ========== */ -.mdui-textfield .mdui-icon { - position: absolute; - bottom: 8px; - padding: 6px; - color: rgba(0, 0, 0, .54); -} -.mdui-textfield .mdui-icon ~ .mdui-textfield-label, -.mdui-textfield .mdui-icon ~ .mdui-textfield-input, -.mdui-textfield .mdui-icon ~ .mdui-textfield-error, -.mdui-textfield .mdui-icon ~ .mdui-textfield-helper, -.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap { - width: calc(100% - 56px); - margin-left: 56px; -} -.mdui-textfield-has-bottom .mdui-icon { - bottom: 28px; -} -/* 聚焦状态的文本框 - ============= */ -.mdui-textfield-focus .mdui-textfield-input, -.mdui-textfield-focus .mdui-textfield-input:hover { - border-bottom-color: #c51162; - -webkit-box-shadow: 0 1px 0 0 #c51162; - box-shadow: 0 1px 0 0 #c51162; -} -.mdui-textfield-focus .mdui-textfield-label, -.mdui-textfield-focus .mdui-icon { - color: rgba(197, 17, 98, .87); -} -/* 含有浮动标签的文本框 - ================ */ -.mdui-textfield-floating-label .mdui-textfield-label { - color: rgba(0, 0, 0, .35); - -webkit-transform: scale(1) translateY(27px); - transform: scale(1) translateY(27px); -} -.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { - color: rgba(0, 0, 0, .65); - -webkit-transform: scale(.75) translateY(0); - transform: scale(.75) translateY(0); -} -.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label { - color: #e91e63; -} -/* 可展开文本框,默认向右展开 - ========== */ -.mdui-textfield-expandable { - width: 36px; - min-height: 36px; - padding: 1px 0; - -webkit-transition: width .3s cubic-bezier(.4, 0, .2, 1); - transition: width .3s cubic-bezier(.4, 0, .2, 1); -} -.mdui-textfield-expandable .mdui-icon { - bottom: 0; - padding: 0; -} -.mdui-textfield-expandable .mdui-textfield-input { - width: calc(100% - 36px); - padding-right: 0; - margin-left: 36px; -} -.mdui-textfield-expandable .mdui-textfield-icon { - position: absolute; - top: 0; - left: 0; -} -.mdui-textfield-expandable .mdui-textfield-close { - position: absolute; - top: 0; - right: 0; - -webkit-transform: scale(0); - transform: scale(0); -} -.mdui-textfield-expandable.mdui-textfield-expanded { - width: 100%; -} -.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input { - padding-right: 36px; -} -.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close { - -webkit-transform: scale(1); - transform: scale(1); -} -/* 表单验证不通过 - =========== */ -.mdui-textfield-invalid .mdui-textfield-input, -.mdui-textfield-invalid-html5 .mdui-textfield-input, -.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input, -.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff1744 !important; - -webkit-box-shadow: 0 1px 0 0 #ff1744 !important; - box-shadow: 0 1px 0 0 #ff1744 !important; -} -.mdui-textfield-invalid .mdui-textfield-label, -.mdui-textfield-invalid-html5 .mdui-textfield-label { - color: #ff1744 !important; -} -.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label, -.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label { - color: rgba(255, 23, 68, .35) !important; -} -.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label, -.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { - color: #ff1744 !important; -} -.mdui-textfield-invalid .mdui-textfield-error, -.mdui-textfield-invalid-html5 .mdui-textfield-error { - visibility: visible; -} -.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper, -.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper { - visibility: hidden; -} -/* 禁用表单 - ====== */ -.mdui-textfield-disabled .mdui-textfield-label, -.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { - color: rgba(0, 0, 0, .38); -} -.mdui-textfield-disabled .mdui-textfield-input { - color: rgba(0, 0, 0, .42); - cursor: default; -} -.mdui-textfield-disabled .mdui-textfield-input { - border-bottom: 1px dashed rgba(0, 0, 0, .42); -} -/* 字数统计 - ====== */ -.mdui-textfield-counter { - position: absolute; - right: 8px; - bottom: 8px; - height: 12px; - font-size: 12px; - line-height: 12px; - color: rgba(0, 0, 0, .54); -} -/** - * ============================================================================= - * ************ Textfield dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-textfield-input { - color: #fff; - border-bottom-color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5); -} -.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover { - border-bottom-color: #fff; - -webkit-box-shadow: 0 1px 0 0 #fff; - box-shadow: 0 1px 0 0 #fff; -} -.mdui-theme-layout-dark .mdui-textfield .mdui-icon { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-textfield-label { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label { - color: rgba(255, 255, 255, .35); -} -.mdui-theme-layout-dark .mdui-textfield-error { - color: #ff1744; -} -.mdui-theme-layout-dark .mdui-textfield-helper { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-textfield-counter { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input, -.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover { - border-bottom-color: #ff4081; - -webkit-box-shadow: 0 1px 0 0 #ff4081; - box-shadow: 0 1px 0 0 #ff4081; -} -.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label { - color: #ff4081; -} -.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label, -.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5); -} -.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { - color: rgba(255, 255, 255, .5); -} -.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { - border-bottom-color: rgba(255, 255, 255, .7); -} -/** - * ============================================================================= - * ************ Textfield 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ffab00; - -webkit-box-shadow: 0 1px 0 0 #ffab00; - box-shadow: 0 1px 0 0 #ffab00; -} -.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon { - color: rgba(255, 171, 0, .87); -} -.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ffd740; - -webkit-box-shadow: 0 1px 0 0 #ffd740; - box-shadow: 0 1px 0 0 #ffd740; -} -.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ffd740; -} -.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #2962ff; - -webkit-box-shadow: 0 1px 0 0 #2962ff; - box-shadow: 0 1px 0 0 #2962ff; -} -.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon { - color: rgba(41, 98, 255, .87); -} -.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #448aff; - -webkit-box-shadow: 0 1px 0 0 #448aff; - box-shadow: 0 1px 0 0 #448aff; -} -.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #448aff; -} -.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #00b8d4; - -webkit-box-shadow: 0 1px 0 0 #00b8d4; - box-shadow: 0 1px 0 0 #00b8d4; -} -.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon { - color: rgba(0, 184, 212, .87); -} -.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #18ffff; - -webkit-box-shadow: 0 1px 0 0 #18ffff; - box-shadow: 0 1px 0 0 #18ffff; -} -.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #18ffff; -} -.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #dd2c00; - -webkit-box-shadow: 0 1px 0 0 #dd2c00; - box-shadow: 0 1px 0 0 #dd2c00; -} -.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon { - color: rgba(221, 44, 0, .87); -} -.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff6e40; - -webkit-box-shadow: 0 1px 0 0 #ff6e40; - box-shadow: 0 1px 0 0 #ff6e40; -} -.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ff6e40; -} -.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #6200ea; - -webkit-box-shadow: 0 1px 0 0 #6200ea; - box-shadow: 0 1px 0 0 #6200ea; -} -.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon { - color: rgba(98, 0, 234, .87); -} -.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #7c4dff; - -webkit-box-shadow: 0 1px 0 0 #7c4dff; - box-shadow: 0 1px 0 0 #7c4dff; -} -.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #7c4dff; -} -.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #00c853; - -webkit-box-shadow: 0 1px 0 0 #00c853; - box-shadow: 0 1px 0 0 #00c853; -} -.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon { - color: rgba(0, 200, 83, .87); -} -.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #69f0ae; - -webkit-box-shadow: 0 1px 0 0 #69f0ae; - box-shadow: 0 1px 0 0 #69f0ae; -} -.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #69f0ae; -} -.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #304ffe; - -webkit-box-shadow: 0 1px 0 0 #304ffe; - box-shadow: 0 1px 0 0 #304ffe; -} -.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon { - color: rgba(48, 79, 254, .87); -} -.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #536dfe; - -webkit-box-shadow: 0 1px 0 0 #536dfe; - box-shadow: 0 1px 0 0 #536dfe; -} -.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #536dfe; -} -.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #0091ea; - -webkit-box-shadow: 0 1px 0 0 #0091ea; - box-shadow: 0 1px 0 0 #0091ea; -} -.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon { - color: rgba(0, 145, 234, .87); -} -.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #40c4ff; - -webkit-box-shadow: 0 1px 0 0 #40c4ff; - box-shadow: 0 1px 0 0 #40c4ff; -} -.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #40c4ff; -} -.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #64dd17; - -webkit-box-shadow: 0 1px 0 0 #64dd17; - box-shadow: 0 1px 0 0 #64dd17; -} -.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon { - color: rgba(100, 221, 23, .87); -} -.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #b2ff59; - -webkit-box-shadow: 0 1px 0 0 #b2ff59; - box-shadow: 0 1px 0 0 #b2ff59; -} -.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #b2ff59; -} -.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #aeea00; - -webkit-box-shadow: 0 1px 0 0 #aeea00; - box-shadow: 0 1px 0 0 #aeea00; -} -.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon { - color: rgba(174, 234, 0, .87); -} -.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #eeff41; - -webkit-box-shadow: 0 1px 0 0 #eeff41; - box-shadow: 0 1px 0 0 #eeff41; -} -.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #eeff41; -} -.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff6d00; - -webkit-box-shadow: 0 1px 0 0 #ff6d00; - box-shadow: 0 1px 0 0 #ff6d00; -} -.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon { - color: rgba(255, 109, 0, .87); -} -.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ffab40; - -webkit-box-shadow: 0 1px 0 0 #ffab40; - box-shadow: 0 1px 0 0 #ffab40; -} -.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ffab40; -} -.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #c51162; - -webkit-box-shadow: 0 1px 0 0 #c51162; - box-shadow: 0 1px 0 0 #c51162; -} -.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon { - color: rgba(197, 17, 98, .87); -} -.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff4081; - -webkit-box-shadow: 0 1px 0 0 #ff4081; - box-shadow: 0 1px 0 0 #ff4081; -} -.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ff4081; -} -.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #a0f; - -webkit-box-shadow: 0 1px 0 0 #a0f; - box-shadow: 0 1px 0 0 #a0f; -} -.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon { - color: rgba(170, 0, 255, .87); -} -.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #e040fb; - -webkit-box-shadow: 0 1px 0 0 #e040fb; - box-shadow: 0 1px 0 0 #e040fb; -} -.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #e040fb; -} -.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #d50000; - -webkit-box-shadow: 0 1px 0 0 #d50000; - box-shadow: 0 1px 0 0 #d50000; -} -.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon { - color: rgba(213, 0, 0, .87); -} -.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff5252; - -webkit-box-shadow: 0 1px 0 0 #ff5252; - box-shadow: 0 1px 0 0 #ff5252; -} -.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ff5252; -} -.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #00bfa5; - -webkit-box-shadow: 0 1px 0 0 #00bfa5; - box-shadow: 0 1px 0 0 #00bfa5; -} -.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon { - color: rgba(0, 191, 165, .87); -} -.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #64ffda; - -webkit-box-shadow: 0 1px 0 0 #64ffda; - box-shadow: 0 1px 0 0 #64ffda; -} -.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #64ffda; -} -.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ffd600; - -webkit-box-shadow: 0 1px 0 0 #ffd600; - box-shadow: 0 1px 0 0 #ffd600; -} -.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon { - color: rgba(255, 214, 0, .87); -} -.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { - border-bottom-color: #ff0; - -webkit-box-shadow: 0 1px 0 0 #ff0; - box-shadow: 0 1px 0 0 #ff0; -} -.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, -.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { - color: #ff0; -} -/** - * ============================================================================= - * ************ Checkbox 复选框 ************ - * ============================================================================= - */ -.mdui-checkbox { - position: relative; - display: inline-block; - height: 36px; - padding-left: 36px; - line-height: 36px; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mdui-checkbox input[type="checkbox"] { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; -} -/* 透明的圆形,用于生成圆形阴影 */ -.mdui-checkbox-icon { - position: absolute; - top: 9px; - left: 0; - display: inline-block; - width: 18px; - height: 18px; - vertical-align: middle; - background-color: transparent; - border: none; - border-radius: 18px; - -webkit-transition: -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); -} -.mdui-checkbox-icon:after { - position: absolute; - top: 0; - left: 0; - z-index: 0; - width: 18px; - height: 18px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - content: ' '; - border: 2px solid rgba(0, 0, 0, .54); - border-radius: 2px; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); -} -.mdui-checkbox-icon:before { - position: absolute; - top: 2px; - left: 0; - z-index: 1; - width: 8px; - height: 13px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - content: ' '; - border-right: 2px solid #fff; - border-bottom: 2px solid #fff; - opacity: 0; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: rotateZ(37deg) scale(0); - transform: rotateZ(37deg) scale(0); - -webkit-transform-origin: 100% 100%; - transform-origin: 100% 100%; -} -/* 各种状态的图标 */ -.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after { - background-color: #ff4081; - border-color: #ff4081; -} -.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:before { - opacity: 1; - -webkit-transform: rotateZ(37deg) scale(1); - transform: rotateZ(37deg) scale(1); -} -.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ff4081; - border-color: #ff4081; -} -.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:before { - top: 8px; - left: 3px; - width: 12px; - height: 0; - border-right: none; - border-bottom: 2px solid #fff; - border-radius: 1px; - opacity: 1; - -webkit-transform: rotateZ(0) scale(1); - transform: rotateZ(0) scale(1); -} -.mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon:after { - border-color: rgba(0, 0, 0, .26); -} -.mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon:after, -.mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon:after { - background-color: rgba(0, 0, 0, .26) !important; - border-color: transparent !important; -} -/* 阴影 */ -.mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, -.mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); - box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); -} -.mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); -} -/** - * ============================================================================= - * ************ Checkbox 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ffd740; - border-color: #ffd740; -} -.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); -} -.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #448aff; - border-color: #448aff; -} -.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); - box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); -} -.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #18ffff; - border-color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); - box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); -} -.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ff6e40; - border-color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); -} -.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #7c4dff; - border-color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); - box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); -} -.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #69f0ae; - border-color: #69f0ae; -} -.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); - box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); -} -.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #536dfe; - border-color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); - box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); -} -.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #40c4ff; - border-color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); - box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); -} -.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #b2ff59; - border-color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); - box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); -} -.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #eeff41; - border-color: #eeff41; -} -.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); - box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); -} -.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ffab40; - border-color: #ffab40; -} -.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); -} -.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ff4081; - border-color: #ff4081; -} -.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); -} -.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #e040fb; - border-color: #e040fb; -} -.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); - box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); -} -.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ff5252; - border-color: #ff5252; -} -.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); - box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); -} -.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #64ffda; - border-color: #64ffda; -} -.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); - box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); -} -.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, -.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { - background-color: #ff0; - border-color: #ff0; -} -.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, -.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, -.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); - box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); -} -/** - * ============================================================================= - * ************ Checkbox dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-checkbox-icon:after { - border-color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-checkbox-icon:before { - border-right-color: #303030 !important; - border-bottom-color: #303030 !important; -} -.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon:after { - border-color: rgba(255, 255, 255, .3); -} -.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon:after, -.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon:after { - background-color: rgba(255, 255, 255, .3) !important; - border-color: transparent !important; -} -.mdui-theme-layout-dark .mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, -.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); - box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); -} -/** - * ============================================================================= - * ************ Radio 单选框 ************ - * ============================================================================= - */ -.mdui-radio { - position: relative; - display: inline-block; - height: 36px; - padding-left: 36px; - line-height: 36px; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mdui-radio input { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; -} -/* 图标外圈 */ -.mdui-radio-icon { - position: absolute; - top: 9px; - left: 0; - display: inline-block; - width: 18px; - height: 18px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - vertical-align: middle; - border: 2px solid rgba(0, 0, 0, .54); - border-radius: 18px; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1), box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1), box-shadow .14s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); -} -.mdui-radio-icon:before { - position: absolute; - top: 0; - left: 0; - width: 14px; - height: 14px; - content: ' '; - background-color: #ff4081; - border-radius: 14px; - opacity: 0; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: scale(0); - transform: scale(0); -} -/* 选中状态的图标 */ -.mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ff4081; -} -.mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - opacity: 1; - -webkit-transform: scale(.68); - transform: scale(.68); -} -/* 禁用状态的图标 */ -.mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { - border-color: rgba(0, 0, 0, .26) !important; -} -/* 禁用且选中状态的图标 */ -.mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon:before { - background-color: rgba(0, 0, 0, .26) !important; -} -/* 未选中、禁用时 按下的阴影 */ -.mdui-radio:active input[type="radio"] + .mdui-radio-icon, -.mdui-radio input[type="radio"]:focus + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); - box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); -} -/* 已选中时按下的阴影 */ -.mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); -} -/** - * ============================================================================= - * ************ Radio 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ffd740; -} -.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ffd740; -} -.mdui-theme-accent-amber .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-amber .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); -} -.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #448aff; -} -.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #448aff; -} -.mdui-theme-accent-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); - box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); -} -.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); - box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); -} -.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); -} -.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); - box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); -} -.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #69f0ae; -} -.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #69f0ae; -} -.mdui-theme-accent-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); - box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); -} -.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); - box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); -} -.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); - box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); -} -.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); - box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); -} -.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #eeff41; -} -.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #eeff41; -} -.mdui-theme-accent-lime .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-lime .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); - box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); -} -.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ffab40; -} -.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ffab40; -} -.mdui-theme-accent-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); - box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); -} -.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ff4081; -} -.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ff4081; -} -.mdui-theme-accent-pink .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-pink .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); -} -.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #e040fb; -} -.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #e040fb; -} -.mdui-theme-accent-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); - box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); -} -.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ff5252; -} -.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ff5252; -} -.mdui-theme-accent-red .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-red .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); - box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); -} -.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #64ffda; -} -.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #64ffda; -} -.mdui-theme-accent-teal .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-teal .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); - box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); -} -.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { - border-color: #ff0; -} -.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { - background-color: #ff0; -} -.mdui-theme-accent-yellow .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, -.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); - box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); -} -/** - * ============================================================================= - * ************ Radio dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-radio-icon { - border-color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { - border-color: rgba(255, 255, 255, .3) !important; -} -.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon:before { - background-color: rgba(255, 255, 255, .3) !important; -} -.mdui-theme-layout-dark .mdui-radio:active input[type="radio"] + .mdui-radio-icon, -.mdui-theme-layout-dark .mdui-radio input[type="radio"]:focus + .mdui-radio-icon { - -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); - box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); -} -/** - * ============================================================================= - * ************ Switch 单选框 ************ - * ============================================================================= - */ -.mdui-switch { - display: inline-block; - height: 36px; - line-height: 36px; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mdui-switch input { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; -} -/* 图标轨道 */ -.mdui-switch-icon { - position: relative; - display: inline-block; - width: 36px; - height: 14px; - vertical-align: middle; - background-color: rgba(0, 0, 0, .38); - border-radius: 14px; - -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); - transition: background-color .3s cubic-bezier(.4, 0, .2, 1); -} -.mdui-switch-icon:before { - position: absolute; - top: -3px; - left: -3px; - display: inline-block; - width: 20px; - height: 20px; - content: ' '; - background-color: #fafafa; - border-radius: 20px; - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); - -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); -} -/* 选中状态的图标 */ -.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 64, 129, .5); -} -.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - left: 20px; - background-color: #ff4081; -} -/* 未选中时或禁用时 按下的阴影 */ -.mdui-switch:active input[type="checkbox"] + .mdui-switch-icon:before, -.mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(0, 0, 0, .1); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(0, 0, 0, .1); -} -/* 已选中时按下的阴影 */ -.mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); -} -/* 禁用状态 */ -.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { - background-color: rgba(0, 0, 0, .12) !important; -} -.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon:before { - background-color: #bdbdbd !important; -} -/** - * ============================================================================= - * ************ Switch 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 215, 64, .5); -} -.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ffd740; -} -.mdui-theme-accent-amber .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 215, 64, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 215, 64, .16); -} -.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(68, 138, 255, .5); -} -.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #448aff; -} -.mdui-theme-accent-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(68, 138, 255, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(68, 138, 255, .16); -} -.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(24, 255, 255, .5); -} -.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(24, 255, 255, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(24, 255, 255, .16); -} -.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 110, 64, .5); -} -.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 110, 64, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 110, 64, .16); -} -.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(124, 77, 255, .5); -} -.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(124, 77, 255, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(124, 77, 255, .16); -} -.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(105, 240, 174, .5); -} -.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #69f0ae; -} -.mdui-theme-accent-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(105, 240, 174, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(105, 240, 174, .16); -} -.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(83, 109, 254, .5); -} -.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(83, 109, 254, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(83, 109, 254, .16); -} -.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(64, 196, 255, .5); -} -.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(64, 196, 255, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(64, 196, 255, .16); -} -.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(178, 255, 89, .5); -} -.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(178, 255, 89, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(178, 255, 89, .16); -} -.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(238, 255, 65, .5); -} -.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #eeff41; -} -.mdui-theme-accent-lime .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(238, 255, 65, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(238, 255, 65, .16); -} -.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 171, 64, .5); -} -.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ffab40; -} -.mdui-theme-accent-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 171, 64, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 171, 64, .16); -} -.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 64, 129, .5); -} -.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff4081; -} -.mdui-theme-accent-pink .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); -} -.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(224, 64, 251, .5); -} -.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #e040fb; -} -.mdui-theme-accent-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(224, 64, 251, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(224, 64, 251, .16); -} -.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 82, 82, .5); -} -.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff5252; -} -.mdui-theme-accent-red .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 82, 82, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 82, 82, .16); -} -.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(100, 255, 218, .5); -} -.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #64ffda; -} -.mdui-theme-accent-teal .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(100, 255, 218, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(100, 255, 218, .16); -} -.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 255, 0, .5); -} -.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff0; -} -.mdui-theme-accent-yellow .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, -.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 0, .16); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 0, .16); -} -/** - * ============================================================================= - * ************ Radio dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-switch-icon { - background-color: rgba(255, 255, 255, .3); -} -.mdui-theme-layout-dark .mdui-switch-icon:before { - background-color: #bdbdbd; -} -.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 229, 127, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ffe57f; -} -.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(130, 177, 255, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #82b1ff; -} -.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(132, 255, 255, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #84ffff; -} -.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 158, 128, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff9e80; -} -.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(179, 136, 255, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #b388ff; -} -.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(185, 246, 202, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #b9f6ca; -} -.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(140, 158, 255, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #8c9eff; -} -.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(128, 216, 255, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #80d8ff; -} -.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(204, 255, 144, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ccff90; -} -.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(244, 255, 129, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #f4ff81; -} -.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 209, 128, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ffd180; -} -.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 128, 171, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff80ab; -} -.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(234, 128, 252, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ea80fc; -} -.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 138, 128, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ff8a80; -} -.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(167, 255, 235, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #a7ffeb; -} -.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { - background-color: rgba(255, 255, 141, .5); -} -.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { - background-color: #ffff8d; -} -.mdui-theme-layout-dark .mdui-switch:active input[type="checkbox"] + .mdui-switch-icon:before, -.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon:before { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 255, .1); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 255, .1); -} -.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { - background-color: rgba(255, 255, 255, .1) !important; -} -.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon:before { - background-color: #424242 !important; -} -/** - * ============================================================================= - * ************ Slider 滑块 ************ - * ============================================================================= - */ -.mdui-slider { - position: relative; - display: block; - width: 100%; - height: 36px; -} -.mdui-slider input[type="range"] { - position: absolute; - top: 50%; - z-index: 2; - width: 100%; - height: 20px; - -webkit-appearance: none; - margin-top: -10px; - cursor: pointer; - opacity: 0; - - -moz-appearance: none; - appearance: none; -} -.mdui-slider-track, -.mdui-slider-fill { - position: absolute; - top: 50%; - height: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin-top: -1px; -} -.mdui-slider-track:before, -.mdui-slider-fill:before { - display: block; - width: 100%; - height: 100%; - content: ' '; -} -/* 轨道 */ -.mdui-slider-track { - right: 0; -} -.mdui-slider-track:before { - background-color: #bdbdbd; - -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); - transition: background-color .3s cubic-bezier(.4, 0, .2, 1); -} -/* 已滑动部分 */ -.mdui-slider-fill { - left: 0; -} -.mdui-slider-fill:before { - background-color: #ff4081; -} -/* 滑块 */ -.mdui-slider-thumb { - position: absolute; - top: 50%; - width: 12px; - height: 12px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin-top: -6px; - background-color: #ff4081; - border: 2px solid #ff4081; - border-radius: 50%; - -webkit-transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1); - transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: translate(-50%); - transform: translate(-50%); - - will-change: background, border-color, transform, border-radius; -} -/** - * ============================================================================= - * ************ Slider 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-slider-fill:before { - background-color: #ffd740; -} -.mdui-theme-accent-amber .mdui-slider-thumb { - background-color: #ffd740; - border: 2px solid #ffd740; -} -.mdui-theme-accent-blue .mdui-slider-fill:before { - background-color: #448aff; -} -.mdui-theme-accent-blue .mdui-slider-thumb { - background-color: #448aff; - border: 2px solid #448aff; -} -.mdui-theme-accent-cyan .mdui-slider-fill:before { - background-color: #18ffff; -} -.mdui-theme-accent-cyan .mdui-slider-thumb { - background-color: #18ffff; - border: 2px solid #18ffff; -} -.mdui-theme-accent-deep-orange .mdui-slider-fill:before { - background-color: #ff6e40; -} -.mdui-theme-accent-deep-orange .mdui-slider-thumb { - background-color: #ff6e40; - border: 2px solid #ff6e40; -} -.mdui-theme-accent-deep-purple .mdui-slider-fill:before { - background-color: #7c4dff; -} -.mdui-theme-accent-deep-purple .mdui-slider-thumb { - background-color: #7c4dff; - border: 2px solid #7c4dff; -} -.mdui-theme-accent-green .mdui-slider-fill:before { - background-color: #69f0ae; -} -.mdui-theme-accent-green .mdui-slider-thumb { - background-color: #69f0ae; - border: 2px solid #69f0ae; -} -.mdui-theme-accent-indigo .mdui-slider-fill:before { - background-color: #536dfe; -} -.mdui-theme-accent-indigo .mdui-slider-thumb { - background-color: #536dfe; - border: 2px solid #536dfe; -} -.mdui-theme-accent-light-blue .mdui-slider-fill:before { - background-color: #40c4ff; -} -.mdui-theme-accent-light-blue .mdui-slider-thumb { - background-color: #40c4ff; - border: 2px solid #40c4ff; -} -.mdui-theme-accent-light-green .mdui-slider-fill:before { - background-color: #b2ff59; -} -.mdui-theme-accent-light-green .mdui-slider-thumb { - background-color: #b2ff59; - border: 2px solid #b2ff59; -} -.mdui-theme-accent-lime .mdui-slider-fill:before { - background-color: #eeff41; -} -.mdui-theme-accent-lime .mdui-slider-thumb { - background-color: #eeff41; - border: 2px solid #eeff41; -} -.mdui-theme-accent-orange .mdui-slider-fill:before { - background-color: #ffab40; -} -.mdui-theme-accent-orange .mdui-slider-thumb { - background-color: #ffab40; - border: 2px solid #ffab40; -} -.mdui-theme-accent-pink .mdui-slider-fill:before { - background-color: #ff4081; -} -.mdui-theme-accent-pink .mdui-slider-thumb { - background-color: #ff4081; - border: 2px solid #ff4081; -} -.mdui-theme-accent-purple .mdui-slider-fill:before { - background-color: #e040fb; -} -.mdui-theme-accent-purple .mdui-slider-thumb { - background-color: #e040fb; - border: 2px solid #e040fb; -} -.mdui-theme-accent-red .mdui-slider-fill:before { - background-color: #ff5252; -} -.mdui-theme-accent-red .mdui-slider-thumb { - background-color: #ff5252; - border: 2px solid #ff5252; -} -.mdui-theme-accent-teal .mdui-slider-fill:before { - background-color: #64ffda; -} -.mdui-theme-accent-teal .mdui-slider-thumb { - background-color: #64ffda; - border: 2px solid #64ffda; -} -.mdui-theme-accent-yellow .mdui-slider-fill:before { - background-color: #ff0; -} -.mdui-theme-accent-yellow .mdui-slider-thumb { - background-color: #ff0; - border: 2px solid #ff0; -} -/** - * ============================================================================= - * ============ Slider 的不同状态 ============ - * ============================================================================= - */ -/* 鼠标按下状态 */ -.mdui-slider-focus .mdui-slider-track:before { - background-color: #9e9e9e; -} -.mdui-slider-focus .mdui-slider-thumb { - -webkit-transform: translate(-50%) scale(1.6); - transform: translate(-50%) scale(1.6); -} -/* 滑块值为 0 */ -.mdui-slider-zero .mdui-slider-thumb { - background-color: #fff; - border-color: #bdbdbd; -} -/* 滑块值为 0,且鼠标按下 */ -.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { - border-color: #9e9e9e; -} -/* 禁用状态 */ -.mdui-slider-disabled input[type="range"] { - cursor: default; -} -.mdui-slider-disabled .mdui-slider-track:before { - background-color: #bdbdbd; -} -.mdui-slider-disabled .mdui-slider-fill:before { - background-color: #bdbdbd; -} -.mdui-slider-disabled .mdui-slider-thumb { - background-color: #bdbdbd; - border-color: transparent !important; - -webkit-transform: translate(-50%) scale(.72); - transform: translate(-50%) scale(.72); -} -/** - * ============================================================================= - * ============ 间续型滑块 ============ - * ============================================================================= - */ -.mdui-slider-discrete .mdui-slider-thumb { - width: 30px; - height: 30px; - margin-top: -15px; - margin-left: -15px; - border: none; - -webkit-transform: rotate(-45deg) scale(.4); - transform: rotate(-45deg) scale(.4); -} -.mdui-slider-discrete .mdui-slider-thumb span { - position: absolute; - top: 9px; - left: -1px; - width: 100%; - font-size: 12px; - color: #fff; - text-align: center; - opacity: 0; - -webkit-transition: opacity .25s cubic-bezier(.4, 0, .2, 1); - transition: opacity .25s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb { - border-radius: 15px 15px 15px 0; - -webkit-transform: rotate(-45deg) scale(1) translate(22px, -22px); - transform: rotate(-45deg) scale(1) translate(22px, -22px); -} -.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span { - opacity: 1; -} -.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { - background-color: #323232; -} -.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { - background-color: #bdbdbd; -} -.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb { - -webkit-transform: rotate(-45deg) scale(.288); - transform: rotate(-45deg) scale(.288); -} -.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { - background-color: #bdbdbd; -} -/** - * ============================================================================= - * ************ Slider dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-slider-track:before { - background-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before { - background-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb { - background-color: #303030; - border-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { - border-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before { - background-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before { - background-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb { - background-color: #4c4c4c; -} -.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { - background-color: #fefefe; -} -.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { - background-color: #5c5c5c; -} -.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { - background-color: #4c4c4c; -} -/** - * ============================================================================= - * ************ Button 按钮 ************ - * ============================================================================= - */ -/* 默认为 Flat 扁平按钮 */ -.mdui-btn, -.mdui-fab { - position: relative; - display: inline-block; - min-width: 88px; - height: 36px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0 16px; - margin: 0; - overflow: hidden; - font-size: 14px; - font-weight: 500; - line-height: 36px; - color: inherit; - text-align: center; - text-decoration: none; - text-transform: uppercase; - letter-spacing: .04em; - white-space: nowrap; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - zoom: 1; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: transparent; - border: none; - border-radius: 2px; - outline: none; - -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); - - will-change: box-shadow; - -webkit-user-drag: none; -} -.mdui-btn:hover, -.mdui-fab:hover { - background-color: rgba(0, 0, 0, .1); -} -.mdui-btn:not(.mdui-ripple):active, -.mdui-fab:not(.mdui-ripple):active { - background-color: rgba(0, 0, 0, .165); -} -.mdui-btn[class*="mdui-color-"]:hover, -.mdui-fab[class*="mdui-color-"]:hover { - opacity: .87; -} -.mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, -.mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { - opacity: .76; -} -/* 按钮内的图标 */ -.mdui-btn .mdui-icon-left, -.mdui-btn .mdui-icon-right, -.mdui-btn .mdui-icon-left::before, -.mdui-btn .mdui-icon-right::before { - height: inherit; - font-size: 1.3em; - line-height: inherit; -} -.mdui-btn .mdui-icon-left { - float: left; - margin-right: .4em; -} -.mdui-btn .mdui-icon-right { - float: right; - margin-left: .4em; -} -input.mdui-btn[type="submit"] { - -webkit-appearance: none; - - -moz-appearance: none; - appearance: none; -} -/* Raised button 浮动按钮 */ -.mdui-btn-raised { - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-btn-raised:hover { - -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); -} -.mdui-btn-raised:active { - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); -} -/* 禁用按钮 */ -.mdui-btn[disabled], -.mdui-fab[disabled], -.mdui-btn[disabled]:hover, -.mdui-fab[disabled]:hover, -.mdui-btn[disabled]:active, -.mdui-fab[disabled]:active, -.mdui-btn[disabled]:focus, -.mdui-fab[disabled]:focus { - color: rgba(0, 0, 0, .26) !important; - cursor: default !important; - background-color: transparent !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - opacity: 1 !important; -} -.mdui-btn[disabled] .mdui-icon, -.mdui-fab[disabled] .mdui-icon, -.mdui-btn[disabled]:hover .mdui-icon, -.mdui-fab[disabled]:hover .mdui-icon, -.mdui-btn[disabled]:active .mdui-icon, -.mdui-fab[disabled]:active .mdui-icon, -.mdui-btn[disabled]:focus .mdui-icon, -.mdui-fab[disabled]:focus .mdui-icon { - color: rgba(0, 0, 0, .26) !important; -} -/* 禁用状态浮动按钮和浮动操作按钮 */ -.mdui-btn-raised[disabled], -.mdui-fab[disabled], -.mdui-btn-raised[disabled]:hover, -.mdui-fab[disabled]:hover, -.mdui-btn-raised[disabled]:active, -.mdui-fab[disabled]:active, -.mdui-btn-raised[disabled]:focus, -.mdui-fab[disabled]:focus { - background-color: rgba(0, 0, 0, .12) !important; - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12) !important; - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12) !important; -} -/* 加粗按钮文本 */ -.mdui-btn-bold { - font-weight: bold; -} -/* 图标按钮 */ -.mdui-btn-icon { - width: 36px; - min-width: 36px; - height: 36px; - padding: 0; - margin-right: 0; - margin-left: 0; - overflow: hidden; - font-size: 24px; - line-height: normal; - border-radius: 50%; -} -.mdui-btn-icon .mdui-icon { - position: absolute; - top: 50%; - left: 50%; - width: 24px; - line-height: 24px; - -webkit-transform: translate(-12px, -12px); - transform: translate(-12px, -12px); -} -.mdui-btn-icon.mdui-ripple { - -webkit-transform: translateZ(0); - transform: translateZ(0); -} -/* 按钮 100% 宽度 */ -.mdui-btn-block { - display: block; - width: 100%; -} -/* 密集型按钮 */ -.mdui-btn-dense { - height: 32px; - font-size: 13px; - line-height: 32px; -} -.mdui-btn-dense.mdui-btn-icon { - width: 32px; - min-width: 32px; -} -/* 按钮组 */ -.mdui-btn-group { - position: relative; - display: inline-block; - vertical-align: middle; -} -.mdui-btn-group .mdui-btn { - float: left; - min-width: inherit; - padding: 0 12px; - color: rgba(0, 0, 0, .54); - border-radius: 0; -} -.mdui-btn-group .mdui-btn:before { - position: absolute; - top: 0; - bottom: 0; - left: 0; - content: ' '; - border-left: 1px solid transparent; -} -.mdui-btn-group .mdui-btn:first-child { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.mdui-btn-group .mdui-btn:first-child:before { - border-left: none; -} -.mdui-btn-group .mdui-btn:last-child { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.mdui-btn-group .mdui-btn.mdui-btn-active { - color: rgba(0, 0, 0, .87); - background-color: rgba(0, 0, 0, .215); -} -.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active:before { - border-left: 1px solid rgba(0, 0, 0, .145); -} -/** - * ============================================================================= - * ************ Button dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-btn:hover, -.mdui-theme-layout-dark .mdui-fab:hover { - background-color: rgba(255, 255, 255, .1); -} -.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active, -.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active { - background-color: rgba(255, 255, 255, .165); -} -.mdui-theme-layout-dark .mdui-btn[class*="mdui-color-"]:hover, -.mdui-theme-layout-dark .mdui-fab[class*="mdui-color-"]:hover { - opacity: .87; -} -.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, -.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { - opacity: .76; -} -.mdui-theme-layout-dark .mdui-btn[disabled], -.mdui-theme-layout-dark .mdui-fab[disabled], -.mdui-theme-layout-dark .mdui-btn[disabled]:hover, -.mdui-theme-layout-dark .mdui-fab[disabled]:hover, -.mdui-theme-layout-dark .mdui-btn[disabled]:active, -.mdui-theme-layout-dark .mdui-fab[disabled]:active, -.mdui-theme-layout-dark .mdui-btn[disabled]:focus, -.mdui-theme-layout-dark .mdui-fab[disabled]:focus { - color: rgba(255, 255, 255, .3) !important; - background-color: transparent !important; -} -.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon, -.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon, -.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon, -.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon, -.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon, -.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon, -.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon, -.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon { - color: rgba(255, 255, 255, .3) !important; -} -.mdui-theme-layout-dark .mdui-btn-raised[disabled], -.mdui-theme-layout-dark .mdui-fab[disabled], -.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover, -.mdui-theme-layout-dark .mdui-fab[disabled]:hover, -.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active, -.mdui-theme-layout-dark .mdui-fab[disabled]:active, -.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus, -.mdui-theme-layout-dark .mdui-fab[disabled]:focus { - background-color: rgba(255, 255, 255, .12) !important; -} -/** - * ============================================================================= - * ************ Fab 浮动操作按钮 ************ - * ============================================================================= - */ -/* 浮动操作按钮 */ -.mdui-fab { - width: 56px; - min-width: 56px; - height: 56px; - padding: 0 !important; - margin: auto; - overflow: hidden; - font-size: 24px; - line-height: normal !important; - border-radius: 50%; - -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); -} -.mdui-fab:hover { - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); -} -.mdui-fab:active { - -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); -} -.mdui-fab .mdui-icon { - position: absolute; - top: 0; - left: 0; - width: 24px; - margin-top: 16px; - margin-left: 16px; - line-height: 24px; -} -/* mini 型浮动操作按钮 */ -.mdui-fab-mini { - width: 40px; - min-width: 40px; - height: 40px; -} -.mdui-fab-mini .mdui-icon { - margin-top: 8px; - margin-left: 8px; -} -/* 固定到右下角的 FAB 按钮 */ -.mdui-fab-fixed, -.mdui-fab-wrapper { - position: fixed !important; - /* 手机平板上距离屏幕右下角 16px */ - right: 16px; - bottom: 16px; -} -@media (min-width: 1024px) { - .mdui-fab-fixed, - .mdui-fab-wrapper { - /* 电脑上距离屏幕右下角 24px */ - right: 24px; - bottom: 24px; - } -} -/* 含菜单的浮动操作按钮 */ -.mdui-fab-wrapper { - position: relative; - z-index: 4000; - width: 56px; - height: 56px; - padding-top: 8px; - text-align: center; -} -.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) { - opacity: 1; - -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1); - - will-change: opacity, transform; -} -.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened { - opacity: 0; - -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: rotate(225deg); - transform: rotate(225deg); - - will-change: opacity, transform; -} -.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) { - opacity: 0; - -webkit-transform: rotate(225deg); - transform: rotate(225deg); -} -.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened { - opacity: 1; - -webkit-transform: rotate(360deg); - transform: rotate(360deg); -} -.mdui-fab-wrapper > .mdui-fab-mini { - margin-top: 8px; -} -.mdui-fab-wrapper .mdui-fab-dial { - position: absolute; - right: 0; - bottom: 64px; - left: 0; - height: 0; - text-align: center; - visibility: visible; -} -.mdui-fab-wrapper .mdui-fab-dial .mdui-fab { - margin: 8px 0; - opacity: 0; - -webkit-transition: color .2s cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); - transition: color .2s cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), color .2s cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), color .2s cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); - -webkit-transform: scale(0); - transform: scale(0); -} -.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); -} -/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */ -.mdui-fab, -.mdui-fab-mini, -.mdui-fab-wrapper { - -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; - transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; - transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), transform .2s; - transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), transform .2s, -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; - -webkit-transform: scale(1) translateZ(0); - transform: scale(1) translateZ(0); - - will-change: transform; -} -.mdui-fab.mdui-fab-hide, -.mdui-fab-mini.mdui-fab-hide, -.mdui-fab-wrapper.mdui-fab-hide { - -webkit-transform: scale(0) translateZ(0); - transform: scale(0) translateZ(0); -} -/** - * ============================================================================= - * ************ Select 下拉选择 ************ - * ============================================================================= - */ -.mdui-select { - position: relative; - display: inline-block; - max-width: 100%; - height: 36px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - padding-right: 24px; - padding-left: 0; - font-family: Roboto, Noto, Helvetica, Arial, sans-serif; - font-size: 16px; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A"); - background-repeat: no-repeat; - background-position: right center; - border: none; - border-bottom: 1px solid rgba(0, 0, 0, .12); - outline: none; - -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); - transition-timing-function: cubic-bezier(.4, 0, .2, 1); - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-property: background-color, background-position-x, -webkit-box-shadow; - transition-property: background-color, background-position-x, -webkit-box-shadow; - transition-property: background-color, box-shadow, background-position-x; - transition-property: background-color, box-shadow, background-position-x, -webkit-box-shadow; - - -moz-appearance: none; - appearance: none; - will-change: background-color, box-shadow, background-position-x; -} -.mdui-select.mdui-select-open { - border-bottom: none; -} -.mdui-select-position-top { - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A"); -} -/* 底部和顶部菜单的样式 */ -.mdui-select-open.mdui-select-position-top, -.mdui-select-open.mdui-select-position-bottom { - z-index: 99999; - background-color: #fff; - background-position-x: calc(100% - 12px); - border-radius: 2px; -} -.mdui-select-open.mdui-select-position-top { - border-top: 1px solid rgba(0, 0, 0, .12); - border-bottom: 2px solid transparent; - border-top-left-radius: 0; - border-top-right-radius: 0; - -webkit-box-shadow: 0 10px 10px -3px rgba(0, 0, 0, .2), 0 0 14px 1px rgba(0, 0, 0, .14), 0 -7px 24px 2px rgba(0, 0, 0, .12); - box-shadow: 0 10px 10px -3px rgba(0, 0, 0, .2), 0 0 14px 1px rgba(0, 0, 0, .14), 0 -7px 24px 2px rgba(0, 0, 0, .12); -} -.mdui-select-open.mdui-select-position-top .mdui-select-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - -webkit-box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, .06), 8px 0 8px -4px rgba(0, 0, 0, .12), -8px 0 8px -4px rgba(0, 0, 0, .12); - box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, .06), 8px 0 8px -4px rgba(0, 0, 0, .12), -8px 0 8px -4px rgba(0, 0, 0, .12); -} -.mdui-select-open.mdui-select-position-bottom { - border-bottom: 1px solid rgba(0, 0, 0, .12); - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); -} -.mdui-select-open.mdui-select-position-bottom .mdui-select-menu { - border-top-left-radius: 0; - border-top-right-radius: 0; - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 9px 9px 1px rgba(0, 0, 0, .14), 0 8px 8px 2px rgba(0, 0, 0, .06); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 9px 9px 1px rgba(0, 0, 0, .14), 0 8px 8px 2px rgba(0, 0, 0, .06); -} -/* 当前选中项文本 */ -.mdui-select-selected { - position: absolute; - top: 50%; - right: 24px; - left: 0; - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - -webkit-transition: left .2s cubic-bezier(0, 0, .2, 1); - transition: left .2s cubic-bezier(0, 0, .2, 1); - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -.mdui-select-open .mdui-select-selected { - right: 32px; - left: 16px; -} -.mdui-select-open.mdui-select-position-auto .mdui-select-selected { - visibility: hidden; -} -/* 菜单 */ -.mdui-select-menu { - position: relative; - z-index: 99999; - height: 36px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0 -24px 0 0; - overflow-y: scroll; - -webkit-overflow-scrolling: touch; - color: rgba(0, 0, 0, .87); - cursor: default; - visibility: hidden; - background-color: #fff; - border-radius: 2px; - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - opacity: 0; - -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); - transition-timing-function: cubic-bezier(0, 0, .2, 1); - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-property: opacity, visibility, -webkit-transform; - transition-property: opacity, visibility, -webkit-transform; - transition-property: transform, opacity, visibility; - transition-property: transform, opacity, visibility, -webkit-transform; - -webkit-transform: scale(1, 0); - transform: scale(1, 0); - - will-change: transform, opacity, visibility; -} -.mdui-select-open .mdui-select-menu { - overflow-y: hidden; - visibility: visible; - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); -} -.mdui-select-closing .mdui-select-menu { - overflow-y: hidden; - visibility: visible; - -webkit-box-shadow: none; - box-shadow: none; - opacity: 0; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); -} -/* 菜单项 */ -.mdui-select-menu-item { - height: 48px; - padding: 0 16px; - overflow: hidden; - line-height: 48px; - text-overflow: ellipsis; - white-space: nowrap; - cursor: pointer; -} -.mdui-select-menu-item:hover { - background-color: #eee; -} -.mdui-select-menu-item:first-child { - margin-top: 8px; -} -.mdui-select-menu-item:last-child { - margin-bottom: 8px; -} -.mdui-select-menu-item[disabled] { - color: rgba(0, 0, 0, .38) !important; - cursor: default; -} -.mdui-select-menu-item[disabled]:hover { - background-color: inherit !important; -} -.mdui-select-menu-item[selected] { - color: #ff4081; -} -/* 原生 select 组件 */ -select.mdui-select { - background-color: transparent; -} -select.mdui-select option { - color: rgba(0, 0, 0, .87); -} -select.mdui-select::-ms-expand { - display: none; -} -/* 原生多选 select 组件 */ -select.mdui-select[multiple] { - height: auto; - padding: 0; - font-size: 15px; - cursor: default; - background-color: #fff; - background-image: none; - border: 1px solid rgba(0, 0, 0, .38); -} -select.mdui-select[multiple] optgroup { - padding: 0 0 0 16px; - margin: 8px 0 0 0; - color: rgba(0, 0, 0, .38); -} -select.mdui-select[multiple] optgroup:last-child { - margin-bottom: 8px; -} -select.mdui-select[multiple] optgroup:not(:first-child) { - padding-top: 8px; - border-top: 1px solid rgba(0, 0, 0, .12); -} -select.mdui-select[multiple] option { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 32px; - padding: 0 16px; - margin: 0 0 0 -16px; - color: rgba(0, 0, 0, .87); - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -select.mdui-select[multiple] option:first-child { - margin-top: 8px; -} -select.mdui-select[multiple] option:last-child { - margin-bottom: 8px; -} -/** - * ============================================================================= - * ************ Select 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-select-menu-item[selected] { - color: #ffc107; -} -.mdui-theme-accent-blue .mdui-select-menu-item[selected] { - color: #2196f3; -} -.mdui-theme-accent-cyan .mdui-select-menu-item[selected] { - color: #00bcd4; -} -.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] { - color: #ff5722; -} -.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] { - color: #673ab7; -} -.mdui-theme-accent-green .mdui-select-menu-item[selected] { - color: #4caf50; -} -.mdui-theme-accent-indigo .mdui-select-menu-item[selected] { - color: #3f51b5; -} -.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] { - color: #03a9f4; -} -.mdui-theme-accent-light-green .mdui-select-menu-item[selected] { - color: #8bc34a; -} -.mdui-theme-accent-lime .mdui-select-menu-item[selected] { - color: #cddc39; -} -.mdui-theme-accent-orange .mdui-select-menu-item[selected] { - color: #ff9800; -} -.mdui-theme-accent-pink .mdui-select-menu-item[selected] { - color: #e91e63; -} -.mdui-theme-accent-purple .mdui-select-menu-item[selected] { - color: #9c27b0; -} -.mdui-theme-accent-red .mdui-select-menu-item[selected] { - color: #f44336; -} -.mdui-theme-accent-teal .mdui-select-menu-item[selected] { - color: #009688; -} -.mdui-theme-accent-yellow .mdui-select-menu-item[selected] { - color: #ffeb3b; -} -/** - * ============================================================================= - * ************ Select dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-select { - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A"); - border-bottom: 1px solid rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-select-position-top { - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A"); -} -.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top, -.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top { - border-top: 1px solid rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { - border-bottom: 1px solid rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-select-menu { - color: #fff; - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-select-menu-item:hover { - background-color: #616161; -} -.mdui-theme-layout-dark .mdui-select-menu-item[disabled] { - color: rgba(255, 255, 255, .5) !important; -} -.mdui-theme-layout-dark select.mdui-select { - color: #fff; - background-color: #303030; -} -.mdui-theme-layout-dark select.mdui-select option { - color: #fff; - background-color: #303030; -} -.mdui-theme-layout-dark select.mdui-select[multiple] { - border: 1px solid rgba(255, 255, 255, .5); -} -.mdui-theme-layout-dark select.mdui-select[multiple] optgroup { - color: rgba(255, 255, 255, .5); -} -.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) { - border-top: 1px solid rgba(255, 255, 255, .12); -} -/** - * ============================================================================= - * ************ Grid 网格系统 ************ - * ============================================================================= - */ -.mdui-container, -.mdui-container-fluid { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 8px; - padding-left: 8px; - margin-right: auto; - margin-left: auto; -} -.mdui-container:after, -.mdui-container-fluid:after { - display: table; - clear: both; - content: ''; -} -.mdui-container { - width: 96%; - max-width: 1280px; -} -@media (min-width: 600px) { - .mdui-container { - width: 94%; - } -} -@media (min-width: 1024px) { - .mdui-container { - width: 92%; - } -} -.mdui-row, -[class*="mdui-row-"] { - margin-right: -8px; - margin-left: -8px; -} -.mdui-row:after, -[class*="mdui-row-"]:after { - display: table; - clear: both; - content: ''; -} -[class*="mdui-col-xs-"], -[class*="mdui-col-sm-"], -[class*="mdui-col-md-"], -[class*="mdui-col-lg-"], -[class*="mdui-col-xl-"], -.mdui-col { - position: relative; - min-height: 1px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 8px; - padding-left: 8px; -} -/* 取消列间距 */ -.mdui-row-gapless .mdui-col, -.mdui-row-gapless [class*="mdui-col-xs-"], -.mdui-row-gapless [class*="mdui-col-sm-"], -.mdui-row-gapless [class*="mdui-col-md-"], -.mdui-row-gapless [class*="mdui-col-lg-"], -.mdui-row-gapless [class*="mdui-col-xl-"] { - padding-right: 0; - padding-left: 0; -} -.mdui-row-gapless .mdui-row, -.mdui-row-gapless [class*="mdui-row-"] { - margin-right: 0; - margin-left: 0; -} -.mdui-col-xs-1 { - float: left; - width: 8.333333%; -} -.mdui-col-offset-xs-1 { - margin-left: 8.333333%; -} -.mdui-row-xs-1 .mdui-col { - float: left; - width: 100%; -} -.mdui-col-xs-2 { - float: left; - width: 16.666667%; -} -.mdui-col-offset-xs-2 { - margin-left: 16.666667%; -} -.mdui-row-xs-2 .mdui-col { - float: left; - width: 50%; -} -.mdui-col-xs-3 { - float: left; - width: 25%; -} -.mdui-col-offset-xs-3 { - margin-left: 25%; -} -.mdui-row-xs-3 .mdui-col { - float: left; - width: 33.333333%; -} -.mdui-col-xs-4 { - float: left; - width: 33.333333%; -} -.mdui-col-offset-xs-4 { - margin-left: 33.333333%; -} -.mdui-row-xs-4 .mdui-col { - float: left; - width: 25%; -} -.mdui-col-xs-5 { - float: left; - width: 41.666667%; -} -.mdui-col-offset-xs-5 { - margin-left: 41.666667%; -} -.mdui-row-xs-5 .mdui-col { - float: left; - width: 20%; -} -.mdui-col-xs-6 { - float: left; - width: 50%; -} -.mdui-col-offset-xs-6 { - margin-left: 50%; -} -.mdui-row-xs-6 .mdui-col { - float: left; - width: 16.666667%; -} -.mdui-col-xs-7 { - float: left; - width: 58.333333%; -} -.mdui-col-offset-xs-7 { - margin-left: 58.333333%; -} -.mdui-row-xs-7 .mdui-col { - float: left; - width: 14.285714%; -} -.mdui-col-xs-8 { - float: left; - width: 66.666667%; -} -.mdui-col-offset-xs-8 { - margin-left: 66.666667%; -} -.mdui-row-xs-8 .mdui-col { - float: left; - width: 12.5%; -} -.mdui-col-xs-9 { - float: left; - width: 75%; -} -.mdui-col-offset-xs-9 { - margin-left: 75%; -} -.mdui-row-xs-9 .mdui-col { - float: left; - width: 11.111111%; -} -.mdui-col-xs-10 { - float: left; - width: 83.333333%; -} -.mdui-col-offset-xs-10 { - margin-left: 83.333333%; -} -.mdui-row-xs-10 .mdui-col { - float: left; - width: 10%; -} -.mdui-col-xs-11 { - float: left; - width: 91.666667%; -} -.mdui-col-offset-xs-11 { - margin-left: 91.666667%; -} -.mdui-row-xs-11 .mdui-col { - float: left; - width: 9.090909%; -} -.mdui-col-xs-12 { - float: left; - width: 100%; -} -.mdui-col-offset-xs-12 { - margin-left: 100%; -} -.mdui-row-xs-12 .mdui-col { - float: left; - width: 8.333333%; -} -@media (min-width: 600px) { - .mdui-col-sm-1 { - float: left; - width: 8.333333%; - } - .mdui-col-offset-sm-1 { - margin-left: 8.333333%; - } - .mdui-row-sm-1 .mdui-col { - float: left; - width: 100%; - } - .mdui-col-sm-2 { - float: left; - width: 16.666667%; - } - .mdui-col-offset-sm-2 { - margin-left: 16.666667%; - } - .mdui-row-sm-2 .mdui-col { - float: left; - width: 50%; - } - .mdui-col-sm-3 { - float: left; - width: 25%; - } - .mdui-col-offset-sm-3 { - margin-left: 25%; - } - .mdui-row-sm-3 .mdui-col { - float: left; - width: 33.333333%; - } - .mdui-col-sm-4 { - float: left; - width: 33.333333%; - } - .mdui-col-offset-sm-4 { - margin-left: 33.333333%; - } - .mdui-row-sm-4 .mdui-col { - float: left; - width: 25%; - } - .mdui-col-sm-5 { - float: left; - width: 41.666667%; - } - .mdui-col-offset-sm-5 { - margin-left: 41.666667%; - } - .mdui-row-sm-5 .mdui-col { - float: left; - width: 20%; - } - .mdui-col-sm-6 { - float: left; - width: 50%; - } - .mdui-col-offset-sm-6 { - margin-left: 50%; - } - .mdui-row-sm-6 .mdui-col { - float: left; - width: 16.666667%; - } - .mdui-col-sm-7 { - float: left; - width: 58.333333%; - } - .mdui-col-offset-sm-7 { - margin-left: 58.333333%; - } - .mdui-row-sm-7 .mdui-col { - float: left; - width: 14.285714%; - } - .mdui-col-sm-8 { - float: left; - width: 66.666667%; - } - .mdui-col-offset-sm-8 { - margin-left: 66.666667%; - } - .mdui-row-sm-8 .mdui-col { - float: left; - width: 12.5%; - } - .mdui-col-sm-9 { - float: left; - width: 75%; - } - .mdui-col-offset-sm-9 { - margin-left: 75%; - } - .mdui-row-sm-9 .mdui-col { - float: left; - width: 11.111111%; - } - .mdui-col-sm-10 { - float: left; - width: 83.333333%; - } - .mdui-col-offset-sm-10 { - margin-left: 83.333333%; - } - .mdui-row-sm-10 .mdui-col { - float: left; - width: 10%; - } - .mdui-col-sm-11 { - float: left; - width: 91.666667%; - } - .mdui-col-offset-sm-11 { - margin-left: 91.666667%; - } - .mdui-row-sm-11 .mdui-col { - float: left; - width: 9.090909%; - } - .mdui-col-sm-12 { - float: left; - width: 100%; - } - .mdui-col-offset-sm-12 { - margin-left: 100%; - } - .mdui-row-sm-12 .mdui-col { - float: left; - width: 8.333333%; - } -} -@media (min-width: 1024px) { - .mdui-col-md-1 { - float: left; - width: 8.333333%; - } - .mdui-col-offset-md-1 { - margin-left: 8.333333%; - } - .mdui-row-md-1 .mdui-col { - float: left; - width: 100%; - } - .mdui-col-md-2 { - float: left; - width: 16.666667%; - } - .mdui-col-offset-md-2 { - margin-left: 16.666667%; - } - .mdui-row-md-2 .mdui-col { - float: left; - width: 50%; - } - .mdui-col-md-3 { - float: left; - width: 25%; - } - .mdui-col-offset-md-3 { - margin-left: 25%; - } - .mdui-row-md-3 .mdui-col { - float: left; - width: 33.333333%; - } - .mdui-col-md-4 { - float: left; - width: 33.333333%; - } - .mdui-col-offset-md-4 { - margin-left: 33.333333%; - } - .mdui-row-md-4 .mdui-col { - float: left; - width: 25%; - } - .mdui-col-md-5 { - float: left; - width: 41.666667%; - } - .mdui-col-offset-md-5 { - margin-left: 41.666667%; - } - .mdui-row-md-5 .mdui-col { - float: left; - width: 20%; - } - .mdui-col-md-6 { - float: left; - width: 50%; - } - .mdui-col-offset-md-6 { - margin-left: 50%; - } - .mdui-row-md-6 .mdui-col { - float: left; - width: 16.666667%; - } - .mdui-col-md-7 { - float: left; - width: 58.333333%; - } - .mdui-col-offset-md-7 { - margin-left: 58.333333%; - } - .mdui-row-md-7 .mdui-col { - float: left; - width: 14.285714%; - } - .mdui-col-md-8 { - float: left; - width: 66.666667%; - } - .mdui-col-offset-md-8 { - margin-left: 66.666667%; - } - .mdui-row-md-8 .mdui-col { - float: left; - width: 12.5%; - } - .mdui-col-md-9 { - float: left; - width: 75%; - } - .mdui-col-offset-md-9 { - margin-left: 75%; - } - .mdui-row-md-9 .mdui-col { - float: left; - width: 11.111111%; - } - .mdui-col-md-10 { - float: left; - width: 83.333333%; - } - .mdui-col-offset-md-10 { - margin-left: 83.333333%; - } - .mdui-row-md-10 .mdui-col { - float: left; - width: 10%; - } - .mdui-col-md-11 { - float: left; - width: 91.666667%; - } - .mdui-col-offset-md-11 { - margin-left: 91.666667%; - } - .mdui-row-md-11 .mdui-col { - float: left; - width: 9.090909%; - } - .mdui-col-md-12 { - float: left; - width: 100%; - } - .mdui-col-offset-md-12 { - margin-left: 100%; - } - .mdui-row-md-12 .mdui-col { - float: left; - width: 8.333333%; - } -} -@media (min-width: 1440px) { - .mdui-col-lg-1 { - float: left; - width: 8.333333%; - } - .mdui-col-offset-lg-1 { - margin-left: 8.333333%; - } - .mdui-row-lg-1 .mdui-col { - float: left; - width: 100%; - } - .mdui-col-lg-2 { - float: left; - width: 16.666667%; - } - .mdui-col-offset-lg-2 { - margin-left: 16.666667%; - } - .mdui-row-lg-2 .mdui-col { - float: left; - width: 50%; - } - .mdui-col-lg-3 { - float: left; - width: 25%; - } - .mdui-col-offset-lg-3 { - margin-left: 25%; - } - .mdui-row-lg-3 .mdui-col { - float: left; - width: 33.333333%; - } - .mdui-col-lg-4 { - float: left; - width: 33.333333%; - } - .mdui-col-offset-lg-4 { - margin-left: 33.333333%; - } - .mdui-row-lg-4 .mdui-col { - float: left; - width: 25%; - } - .mdui-col-lg-5 { - float: left; - width: 41.666667%; - } - .mdui-col-offset-lg-5 { - margin-left: 41.666667%; - } - .mdui-row-lg-5 .mdui-col { - float: left; - width: 20%; - } - .mdui-col-lg-6 { - float: left; - width: 50%; - } - .mdui-col-offset-lg-6 { - margin-left: 50%; - } - .mdui-row-lg-6 .mdui-col { - float: left; - width: 16.666667%; - } - .mdui-col-lg-7 { - float: left; - width: 58.333333%; - } - .mdui-col-offset-lg-7 { - margin-left: 58.333333%; - } - .mdui-row-lg-7 .mdui-col { - float: left; - width: 14.285714%; - } - .mdui-col-lg-8 { - float: left; - width: 66.666667%; - } - .mdui-col-offset-lg-8 { - margin-left: 66.666667%; - } - .mdui-row-lg-8 .mdui-col { - float: left; - width: 12.5%; - } - .mdui-col-lg-9 { - float: left; - width: 75%; - } - .mdui-col-offset-lg-9 { - margin-left: 75%; - } - .mdui-row-lg-9 .mdui-col { - float: left; - width: 11.111111%; - } - .mdui-col-lg-10 { - float: left; - width: 83.333333%; - } - .mdui-col-offset-lg-10 { - margin-left: 83.333333%; - } - .mdui-row-lg-10 .mdui-col { - float: left; - width: 10%; - } - .mdui-col-lg-11 { - float: left; - width: 91.666667%; - } - .mdui-col-offset-lg-11 { - margin-left: 91.666667%; - } - .mdui-row-lg-11 .mdui-col { - float: left; - width: 9.090909%; - } - .mdui-col-lg-12 { - float: left; - width: 100%; - } - .mdui-col-offset-lg-12 { - margin-left: 100%; - } - .mdui-row-lg-12 .mdui-col { - float: left; - width: 8.333333%; - } -} -@media (min-width: 1920px) { - .mdui-col-xl-1 { - float: left; - width: 8.333333%; - } - .mdui-col-offset-xl-1 { - margin-left: 8.333333%; - } - .mdui-row-xl-1 .mdui-col { - float: left; - width: 100%; - } - .mdui-col-xl-2 { - float: left; - width: 16.666667%; - } - .mdui-col-offset-xl-2 { - margin-left: 16.666667%; - } - .mdui-row-xl-2 .mdui-col { - float: left; - width: 50%; - } - .mdui-col-xl-3 { - float: left; - width: 25%; - } - .mdui-col-offset-xl-3 { - margin-left: 25%; - } - .mdui-row-xl-3 .mdui-col { - float: left; - width: 33.333333%; - } - .mdui-col-xl-4 { - float: left; - width: 33.333333%; - } - .mdui-col-offset-xl-4 { - margin-left: 33.333333%; - } - .mdui-row-xl-4 .mdui-col { - float: left; - width: 25%; - } - .mdui-col-xl-5 { - float: left; - width: 41.666667%; - } - .mdui-col-offset-xl-5 { - margin-left: 41.666667%; - } - .mdui-row-xl-5 .mdui-col { - float: left; - width: 20%; - } - .mdui-col-xl-6 { - float: left; - width: 50%; - } - .mdui-col-offset-xl-6 { - margin-left: 50%; - } - .mdui-row-xl-6 .mdui-col { - float: left; - width: 16.666667%; - } - .mdui-col-xl-7 { - float: left; - width: 58.333333%; - } - .mdui-col-offset-xl-7 { - margin-left: 58.333333%; - } - .mdui-row-xl-7 .mdui-col { - float: left; - width: 14.285714%; - } - .mdui-col-xl-8 { - float: left; - width: 66.666667%; - } - .mdui-col-offset-xl-8 { - margin-left: 66.666667%; - } - .mdui-row-xl-8 .mdui-col { - float: left; - width: 12.5%; - } - .mdui-col-xl-9 { - float: left; - width: 75%; - } - .mdui-col-offset-xl-9 { - margin-left: 75%; - } - .mdui-row-xl-9 .mdui-col { - float: left; - width: 11.111111%; - } - .mdui-col-xl-10 { - float: left; - width: 83.333333%; - } - .mdui-col-offset-xl-10 { - margin-left: 83.333333%; - } - .mdui-row-xl-10 .mdui-col { - float: left; - width: 10%; - } - .mdui-col-xl-11 { - float: left; - width: 91.666667%; - } - .mdui-col-offset-xl-11 { - margin-left: 91.666667%; - } - .mdui-row-xl-11 .mdui-col { - float: left; - width: 9.090909%; - } - .mdui-col-xl-12 { - float: left; - width: 100%; - } - .mdui-col-offset-xl-12 { - margin-left: 100%; - } - .mdui-row-xl-12 .mdui-col { - float: left; - width: 8.333333%; - } -} -/** - * ============================================================================= - * ************ Toolbar 工具栏 ************ - * ============================================================================= - */ -.mdui-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.mdui-toolbar > * { - margin: 0 16px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:hover { - background-color: rgba(255, 255, 255, .1); -} -.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:active { - background-color: rgba(255, 255, 255, .165); -} -.mdui-toolbar > a { - color: inherit; - text-decoration: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mdui-toolbar > .mdui-btn-icon { - width: 48px; - min-width: 48px; - height: 48px; -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-toolbar > .mdui-btn-icon { - width: 40px; - min-width: 40px; - height: 40px; - } -} -.mdui-toolbar > .mdui-btn-icon .mdui-icon { - height: 24px; - line-height: 24px; -} -.mdui-toolbar .mdui-icon { - color: inherit; -} -.mdui-toolbar-spacer { - margin: 0; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -/* 手机 */ -.mdui-toolbar { - height: 56px; - line-height: 56px; -} -.mdui-toolbar > .mdui-btn { - margin: 0 4px; -} -.mdui-toolbar > .mdui-btn + .mdui-btn { - margin-left: 0; -} -@media (min-width: 600px) { - .mdui-appbar .mdui-toolbar { - height: 64px; - line-height: 64px; - } - .mdui-appbar .mdui-toolbar > .mdui-btn { - margin: 0 8px; - } - .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { - margin-left: 0; - } -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-appbar .mdui-toolbar { - height: 48px; - line-height: 48px; - } - .mdui-appbar .mdui-toolbar > .mdui-btn { - margin: 0 4px; - } - .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { - margin-left: 0; - } -} -/** - * ============================================================================= - * ************ Appbar 应用栏 ************ - * ============================================================================= - */ -.mdui-appbar { - z-index: 1000; - -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); -} -/* appbar 固定在顶部 */ -.mdui-appbar-fixed { - position: fixed; - top: 0; - right: 0; - left: 0; - -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); - transition-timing-function: cubic-bezier(0, 0, .2, 1); - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-property: left, right; - transition-property: left, right; - - will-change: left, right; -} -/* 左侧留出抽屉栏的距离 */ -@media (min-width: 1024px) { - .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed { - left: 240px; - } -} -@media (min-width: 1024px) { - .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed { - right: 240px; - } -} -/* 含工具栏 */ -.mdui-appbar-with-toolbar { - padding-top: 56px; -} -@media (min-width: 600px) { - .mdui-appbar-with-toolbar { - padding-top: 64px; - } -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-appbar-with-toolbar { - padding-top: 48px; - } -} -/* 含 Tab */ -.mdui-appbar-with-tab { - padding-top: 48px; -} -/* 含大 Tab */ -.mdui-appbar-with-tab-larger { - padding-top: 72px; -} -/* 含工具栏和 Tab */ -.mdui-appbar-with-toolbar.mdui-appbar-with-tab { - padding-top: 104px; -} -@media (min-width: 600px) { - .mdui-appbar-with-toolbar.mdui-appbar-with-tab { - padding-top: 112px; - } -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-appbar-with-toolbar.mdui-appbar-with-tab { - padding-top: 96px; - } -} -/* 含工具栏和大 Tab */ -.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { - padding-top: 128px; -} -@media (min-width: 600px) { - .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { - padding-top: 136px; - } -} -@media (orientation: landscape) and (max-width: 959px) { - .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { - padding-top: 120px; - } -} -/** - * ============================================================================= - * ************ Appbar dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-appbar > [class*="mdui-color-"]:not(.mdui-color-transparent) { - color: #fff !important; - background-color: #212121 !important; -} -/** - * ============================================================================= - * ************ Card 卡片 ************ - * ============================================================================= - */ -/* 卡片 */ -.mdui-card { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - color: #000; - background-color: #fff; - border-radius: 2px; - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -/** - * ===================== 头部,包含头像、标题、副标题 - */ -.mdui-card-header { - position: relative; - height: 72px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 16px; -} -/* 卡片头部头像 */ -.mdui-card-header-avatar { - float: left; - width: 40px; - height: 40px; - border-radius: 50%; -} -/* 卡片头部标题 */ -.mdui-card-header-title { - display: block; - margin-left: 52px; - overflow: hidden; - font-size: 16px; - font-weight: 500; - line-height: 20px; - text-overflow: ellipsis; - white-space: nowrap; - opacity: .87; -} -/* 卡片头部副标题 */ -.mdui-card-header-subtitle { - display: block; - margin-left: 52px; - overflow: hidden; - font-size: 14px; - font-weight: 400; - line-height: 20px; - text-overflow: ellipsis; - white-space: nowrap; - opacity: .54; -} -/** - * =========================== 主标题区域 - */ -.mdui-card-primary { - position: relative; - padding: 24px 16px 16px 16px; -} -/* 主标题区域标题 */ -.mdui-card-primary-title { - display: block; - font-size: 24px; - line-height: 36px; - opacity: .87; -} -/* 主标题区域副标题 */ -.mdui-card-primary-subtitle { - display: block; - font-size: 14px; - line-height: 24px; - opacity: .54; -} -/** - * ============================ 内容区域 - */ -.mdui-card-content { - position: relative; - padding: 16px; - font-size: 14px; - line-height: 24px; -} -/** - * ============================ 卡片菜单 - */ -.mdui-card-menu { - position: absolute; - top: 16px; - right: 16px; - z-index: 1; -} -.mdui-card-menu .mdui-btn { - margin-left: 8px; -} -/** - * =========================== 按钮区域 - */ -.mdui-card-actions { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px; -} -.mdui-card-actions:before, -.mdui-card-actions:after { - display: table; - content: " "; -} -.mdui-card-actions:after { - clear: both; -} -.mdui-card-actions:before, -.mdui-card-actions:after { - display: table; - content: " "; -} -.mdui-card-actions:after { - clear: both; -} -.mdui-card-actions .mdui-btn { - max-width: 100%; - margin: 0 8px 0 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-card-actions .mdui-btn-icon { - width: 36px; - height: 36px; - margin: 0 8px; -} -/* 使按钮竖向排列 */ -.mdui-card-actions-stacked .mdui-btn { - display: block; - margin: 0 0 4px 0; -} -.mdui-card-actions-stacked .mdui-btn:last-child { - margin: 0; -} -/** - * ============================= 媒体元素区域 - */ -.mdui-card-media { - position: relative; -} -.mdui-card-media img, -.mdui-card-media video { - display: block; - width: 100%; -} -/* 覆盖在媒体元素上的内容 */ -.mdui-card-media-covered { - position: absolute; - right: 0; - bottom: 0; - left: 0; - color: #fff; - background: rgba(0, 0, 0, .2); - /* 覆盖在媒体元素上的标题 */ -} -.mdui-card-media-covered .mdui-card-primary-title { - opacity: 1; -} -.mdui-card-media-covered .mdui-card-primary-subtitle { - opacity: .7; -} -/* 覆盖在媒体元素顶部 */ -.mdui-card-media-covered-top { - top: 0; - bottom: auto; -} -/* 覆盖层透明 */ -.mdui-card-media-covered-transparent { - background: transparent; -} -/* 覆盖层渐变 */ -.mdui-card-media-covered-gradient { - background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to top, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); -} -.mdui-card-media-covered-gradient.mdui-card-media-covered-top { - background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to bottom, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); -} -/** - * ============================================================================= - * ************ Card dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-card { - color: #fff; - background-color: #424242; -} -/** - * ============================================================================= - * ************ Tab ************ - * ============================================================================= - * - * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分 - */ -/* 选项卡,默认的选项卡为全宽 */ -.mdui-tab { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-height: 48px; - max-height: 72px; - padding: 0; - margin: 0 auto; - overflow-x: auto; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - white-space: nowrap; -} -.mdui-tab a { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-width: 72px; - min-height: 48px; - max-height: 72px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 12px; - overflow: hidden; - font-size: 14px; - color: inherit; - text-align: center; - text-decoration: none; - text-overflow: ellipsis; - text-transform: uppercase; - cursor: pointer; - flex-direction: column; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - outline: none; - opacity: .7; - - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.mdui-tab a .mdui-icon { - opacity: .7; -} -@media (min-width: 600px) { - .mdui-tab a { - min-width: 99px; - max-width: 264px; - padding: 12px 24px; - - -webkit-box-flex: 0; - -webkit-flex: none; - -ms-flex: none; - flex: none; - } -} -@media (min-width: 1024px) { - .mdui-tab a { - min-width: 112px; - } -} -@media (min-width: 1440px) { - .mdui-tab a { - min-width: 136px; - } -} -@media (min-width: 1920px) { - .mdui-tab a { - min-width: 160px; - } -} -.mdui-tab a label { - display: block; - width: 100%; - cursor: pointer; -} -.mdui-tab a .mdui-icon + label { - margin-top: 8px; -} -.mdui-tab a[disabled] { - cursor: default; - opacity: .38; -} -.mdui-tab a[disabled] label { - cursor: default; -} -.mdui-tab .mdui-tab-active { - color: #3f51b5; - opacity: 1; -} -.mdui-tab .mdui-tab-active .mdui-icon { - opacity: 1; -} -/* 选项卡居中 */ -@media (min-width: 600px) { - .mdui-tab-centered:before { - content: ' '; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - .mdui-tab-centered:after { - content: ' '; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - .mdui-tab-centered a { - -webkit-box-flex: 0; - -webkit-flex: none; - -ms-flex: none; - flex: none; - } -} -/* 选项卡始终全宽等分 */ -.mdui-tab-full-width a { - max-width: none; - - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} -/* 可横向滚动的选项卡 */ -.mdui-tab-scrollable { - padding-left: 56px; -} -.mdui-tab-scrollable a { - -webkit-box-flex: 0; - -webkit-flex: none; - -ms-flex: none; - flex: none; -} -@media (max-width: 599px) { - .mdui-tab-scrollable { - padding-left: 60px; - } -} -/* 下划线指示器 */ -.mdui-tab-indicator { - position: absolute; - bottom: 0; - height: 2px; - background-color: #3f51b5; - -webkit-transition: all .35s cubic-bezier(.4, 0, .2, 1); - transition: all .35s cubic-bezier(.4, 0, .2, 1); - - will-change: left, width; -} -/** - * ============================================================================= - * ************ Tab 主色 ************ - * ============================================================================= - */ -.mdui-theme-primary-amber .mdui-tab .mdui-tab-active { - color: #ffc107; -} -.mdui-theme-primary-amber .mdui-tab-indicator { - background-color: #ffc107; -} -.mdui-theme-primary-blue .mdui-tab .mdui-tab-active { - color: #2196f3; -} -.mdui-theme-primary-blue .mdui-tab-indicator { - background-color: #2196f3; -} -.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active { - color: #607d8b; -} -.mdui-theme-primary-blue-grey .mdui-tab-indicator { - background-color: #607d8b; -} -.mdui-theme-primary-brown .mdui-tab .mdui-tab-active { - color: #795548; -} -.mdui-theme-primary-brown .mdui-tab-indicator { - background-color: #795548; -} -.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active { - color: #00bcd4; -} -.mdui-theme-primary-cyan .mdui-tab-indicator { - background-color: #00bcd4; -} -.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active { - color: #ff5722; -} -.mdui-theme-primary-deep-orange .mdui-tab-indicator { - background-color: #ff5722; -} -.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active { - color: #673ab7; -} -.mdui-theme-primary-deep-purple .mdui-tab-indicator { - background-color: #673ab7; -} -.mdui-theme-primary-green .mdui-tab .mdui-tab-active { - color: #4caf50; -} -.mdui-theme-primary-green .mdui-tab-indicator { - background-color: #4caf50; -} -.mdui-theme-primary-grey .mdui-tab .mdui-tab-active { - color: #9e9e9e; -} -.mdui-theme-primary-grey .mdui-tab-indicator { - background-color: #9e9e9e; -} -.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active { - color: #3f51b5; -} -.mdui-theme-primary-indigo .mdui-tab-indicator { - background-color: #3f51b5; -} -.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active { - color: #03a9f4; -} -.mdui-theme-primary-light-blue .mdui-tab-indicator { - background-color: #03a9f4; -} -.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active { - color: #8bc34a; -} -.mdui-theme-primary-light-green .mdui-tab-indicator { - background-color: #8bc34a; -} -.mdui-theme-primary-lime .mdui-tab .mdui-tab-active { - color: #cddc39; -} -.mdui-theme-primary-lime .mdui-tab-indicator { - background-color: #cddc39; -} -.mdui-theme-primary-orange .mdui-tab .mdui-tab-active { - color: #ff9800; -} -.mdui-theme-primary-orange .mdui-tab-indicator { - background-color: #ff9800; -} -.mdui-theme-primary-pink .mdui-tab .mdui-tab-active { - color: #e91e63; -} -.mdui-theme-primary-pink .mdui-tab-indicator { - background-color: #e91e63; -} -.mdui-theme-primary-purple .mdui-tab .mdui-tab-active { - color: #9c27b0; -} -.mdui-theme-primary-purple .mdui-tab-indicator { - background-color: #9c27b0; -} -.mdui-theme-primary-red .mdui-tab .mdui-tab-active { - color: #f44336; -} -.mdui-theme-primary-red .mdui-tab-indicator { - background-color: #f44336; -} -.mdui-theme-primary-teal .mdui-tab .mdui-tab-active { - color: #009688; -} -.mdui-theme-primary-teal .mdui-tab-indicator { - background-color: #009688; -} -.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active { - color: #ffeb3b; -} -.mdui-theme-primary-yellow .mdui-tab-indicator { - background-color: #ffeb3b; -} -/* 带背景色的选项卡 */ -.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-active { - color: inherit; -} -.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-indicator { - background-color: #fff; -} -.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { - width: 5px; - height: 5px; - background: transparent; -} -@media (min-width: 1024px) { - .mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { - width: 8px; - height: 8px; - } -} -.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, .3); -} -/** - * ============================================================================= - * ************ Subheader 副标题 ************ - * ============================================================================= - * - * 用于 List 和 Grid list 组件 - */ -.mdui-subheader, -.mdui-subheader-inset { - position: relative; - height: 48px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 16px; - padding-left: 16px; - overflow: hidden; - font-size: 14px; - font-weight: 500; - line-height: 48px; - color: rgba(0, 0, 0, .54); - text-overflow: ellipsis; - white-space: nowrap; - cursor: default; -} -.mdui-subheader-inset { - padding-left: 72px; -} -/** - * ============================================================================= - * ************ Subheader dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-subheader, -.mdui-theme-layout-dark .mdui-subheader-inset { - color: rgba(255, 255, 255, .7); -} -/** - * ============================================================================= - * ************ Grid List 网格列表 ************ - * ============================================================================= - */ -/* 调整网格边距 */ -.mdui-grid-list { - margin: 0 -2px; -} -.mdui-grid-list .mdui-col, -.mdui-grid-list [class*="mdui-col-xs-"], -.mdui-grid-list [class*="mdui-col-sm-"], -.mdui-grid-list [class*="mdui-col-md-"], -.mdui-grid-list [class*="mdui-col-lg-"], -.mdui-grid-list [class*="mdui-col-xl-"] { - padding-right: 2px; - padding-left: 2px; -} -/* 单元格 */ -.mdui-grid-tile { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 4px; - overflow: hidden; -} -.mdui-grid-tile img { - display: block; - width: 100%; -} -/* 操作栏 */ -.mdui-grid-tile-actions { - position: absolute; - right: 0; - bottom: 0; - left: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-height: 48px; - max-height: 68px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 16px; - color: #fff; - background: rgba(0, 0, 0, .2); - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.mdui-grid-tile-actions .mdui-icon { - color: #fff; -} -/* 操作栏内的文本 */ -.mdui-grid-tile-text { - overflow: hidden; - - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} -/* 标题 */ -.mdui-grid-tile-title { - height: 16px; - overflow: hidden; - font-size: 16px; - line-height: 16px; - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-grid-tile-title .mdui-icon { - margin-right: 8px; -} -/* 副标题 */ -.mdui-grid-tile-subtitle { - height: 18px; - margin-top: 4px; - overflow: hidden; - font-size: 12px; - line-height: 18px; - text-overflow: ellipsis; - white-space: nowrap; -} -.mdui-grid-tile-subtitle .mdui-icon { - margin-right: 8px; - font-size: 18px; -} -/* 操作栏内的按钮 */ -.mdui-grid-tile-buttons { - margin: -8px; - white-space: nowrap; - - -webkit-box-flex: 0; - -webkit-flex: none; - -ms-flex: none; - flex: none; -} -.mdui-grid-tile-buttons .mdui-btn { - margin-left: 8px; -} -.mdui-grid-tile-buttons .mdui-btn:first-child { - margin-left: 0; -} -.mdui-grid-tile-text + .mdui-grid-tile-buttons { - margin-left: 8px; -} -.mdui-grid-tile-buttons + .mdui-grid-tile-text { - margin-left: 16px; -} -/* 操作栏位于顶部 */ -.mdui-grid-tile-actions-top { - top: 0; - bottom: auto; -} -/* 操作栏背景透明 */ -.mdui-grid-tile-actions-transparent { - background: transparent; -} -/* 操作栏背景渐变 */ -.mdui-grid-tile-actions-gradient { - background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to top, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); -} -.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top { - background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to bottom, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); -} -/** - * ============================================================================= - * ************ List 列表 ************ - * ============================================================================= - */ -/* 列表 */ -.mdui-list { - padding: 8px 0; - margin: 0; - list-style: none; - background-color: transparent; -} -.mdui-list .mdui-list { - padding: 0; -} -.mdui-list > .mdui-divider, -.mdui-list > .mdui-divider-light, -.mdui-list > .mdui-divider-dark, -.mdui-list > .mdui-divider-inset, -.mdui-list > .mdui-divider-inset-light, -.mdui-list > .mdui-divider-inset-dark { - margin-top: 8px; - margin-bottom: 8px; -} -.mdui-list a { - color: inherit; - text-decoration: none; -} -.mdui-list .mdui-subheader, -.mdui-list .mdui-subheader-inset { - margin-top: 8px; -} -.mdui-list .mdui-subheader:before, -.mdui-list .mdui-subheader-inset:before { - position: absolute; - right: 0; - left: 0; - display: block; - height: 1px; - content: ' '; - background-color: rgba(0, 0, 0, .12); -} -.mdui-list .mdui-subheader:first-child, -.mdui-list .mdui-subheader-inset:first-child { - margin-top: -8px; -} -.mdui-list .mdui-subheader:first-child:before, -.mdui-list .mdui-subheader-inset:first-child:before { - background-color: transparent; -} -.mdui-list .mdui-subheader-inset:before { - left: 72px; -} -/* 列表项 */ -.mdui-list-item { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-height: 48px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0 16px; - text-decoration: none; - cursor: pointer; - -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); - transition: background-color .3s cubic-bezier(.4, 0, .2, 1); - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.mdui-list-item:hover { - background-color: rgba(0, 0, 0, .08); -} -.mdui-list-item:after { - height: 48px; - visibility: hidden; - content: ' '; -} -/* 列表项图标 */ -.mdui-list-item-icon { - width: 24px; - min-width: 24px; - height: 24px; - color: rgba(0, 0, 0, .54); -} -/* 列表项头像 */ -.mdui-list-item-avatar { - min-width: 40px; - max-width: 40px; - height: 40px; - margin-top: 8px; - margin-bottom: 8px; - line-height: 40px; - color: #fff; - text-align: center; - background-color: #bdbdbd; - border-radius: 50%; -} -.mdui-list-item-avatar img { - width: 100%; - height: 100%; - border-radius: 50%; -} -/* 列表项内容 */ -.mdui-list-item-content { - padding-top: 14px; - padding-bottom: 14px; - font-size: 16px; - font-weight: 400; - line-height: 20px; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -/* 列表项内容的副内容 */ -.mdui-list-item-text { - font-size: 14px; - opacity: .54; -} -.mdui-list-item-title ~ .mdui-list-item-text { - margin-top: 4px; -} -/* 激活状态的列表项 */ -.mdui-list-item-active { - font-weight: 700; - background-color: rgba(0, 0, 0, .08); -} -.mdui-list-item-active .mdui-list-item-content { - font-weight: 700; -} -.mdui-list-item-active .mdui-list-item-text { - font-weight: 400; -} -/* 限制文本高度 */ -.mdui-list-item-one-line, -.mdui-list-item-two-line, -.mdui-list-item-three-line { - display: -webkit-box; - overflow: hidden; - text-overflow: ellipsis; - - -webkit-box-orient: vertical; -} -.mdui-list-item-one-line { - height: 20px; - - -webkit-line-clamp: 1; -} -.mdui-list-item-two-line { - height: 40px; - - -webkit-line-clamp: 2; -} -.mdui-list-item-three-line { - height: 60px; - - -webkit-line-clamp: 3; -} -/* 列表项内的元素间添加间距 */ -.mdui-list-item-icon ~ .mdui-list-item-content { - margin-left: 32px; -} -.mdui-checkbox ~ .mdui-list-item-content, -.mdui-radio ~ .mdui-list-item-content, -.mdui-switch ~ .mdui-list-item-content { - margin-left: 20px; -} -.mdui-list-item-avatar ~ .mdui-list-item-content { - margin-left: 16px; -} -.mdui-list-item-content ~ .mdui-list-item-icon, -.mdui-list-item-content ~ .mdui-list-item-avatar, -.mdui-list-item-content ~ .mdui-checkbox, -.mdui-list-item-content ~ .mdui-radio, -.mdui-list-item-content ~ .mdui-switch { - margin-left: 16px; -} -.mdui-list-item-content ~ .mdui-checkbox, -.mdui-list-item-content ~ .mdui-radio { - padding-left: 24px; -} -/* 密集型列表 */ -.mdui-list-dense { - padding: 4px 0; - font-size: 13px; -} -.mdui-list-dense > .mdui-divider, -.mdui-list-dense > .mdui-divider-light, -.mdui-list-dense > .mdui-divider-dark, -.mdui-list-dense > .mdui-divider-inset, -.mdui-list-dense > .mdui-divider-inset-light, -.mdui-list-dense > .mdui-divider-inset-dark { - margin-top: 4px; - margin-bottom: 4px; -} -.mdui-list-dense .mdui-subheader, -.mdui-list-dense .mdui-subheader-inset { - height: 40px; - margin-top: 4px; - font-size: 12px; - line-height: 40px; -} -.mdui-list-dense .mdui-subheader:first-child, -.mdui-list-dense .mdui-subheader-inset:first-child { - margin-top: -4px; -} -.mdui-list-dense .mdui-list-item { - min-height: 40px; -} -.mdui-list-dense .mdui-list-item:after { - height: 40px; -} -.mdui-list-dense .mdui-list-item-icon { - width: 20px; - height: 20px; - font-size: 20px; -} -.mdui-list-dense .mdui-list-item-avatar { - width: 36px; - min-width: 36px; - height: 36px; - min-height: 36px; -} -.mdui-list-dense .mdui-list-item-content { - padding-top: 11px; - padding-bottom: 11px; - font-size: 13px; - line-height: 18px; -} -.mdui-list-dense .mdui-list-item-text { - font-size: 13px; -} -.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text { - margin-top: 2px; -} -.mdui-list-dense .mdui-list-item-one-line { - height: 18px; -} -.mdui-list-dense .mdui-list-item-two-line { - height: 36px; -} -.mdui-list-dense .mdui-list-item-three-line { - height: 54px; -} -/** - * ============================================================================= - * ************ List dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-list .mdui-subheader:before, -.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before { - background-color: rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before, -.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before { - background-color: transparent; -} -.mdui-theme-layout-dark .mdui-list-item { - color: #fff; -} -.mdui-theme-layout-dark .mdui-list-item:hover { - background-color: rgba(255, 255, 255, .08); -} -.mdui-theme-layout-dark .mdui-list-item-icon { - color: #fff; -} -.mdui-theme-layout-dark .mdui-list-item-text { - opacity: .7; -} -.mdui-theme-layout-dark .mdui-list-item-active { - background-color: rgba(255, 255, 255, .08); -} -/** - * ============================================================================== - * ************ List inner theme ************ - * ============================================================================== - */ -[class*="mdui-color-"] .mdui-list-item { - color: inherit; -} -[class*="mdui-color-"] .mdui-list-item-icon { - color: inherit; -} -/** - * ============================================================================= - * ************ Drawer 抽屉栏导航 ************ - * ============================================================================= - */ -/* DOM 加载完后再添加 transition */ -body.mdui-loaded { - -webkit-transition: padding .3s cubic-bezier(0, 0, .2, 1); - transition: padding .3s cubic-bezier(0, 0, .2, 1); -} -body.mdui-loaded .mdui-drawer { - -webkit-transition: all .3s cubic-bezier(0, 0, .2, 1); - transition: all .3s cubic-bezier(0, 0, .2, 1); -} -/* 抽屉栏外层,默认出现在左侧且隐藏 */ -.mdui-drawer { - position: fixed; - top: 0; - bottom: 0; - left: 0; - z-index: 5000; - width: calc(100% - 56px); - max-width: 280px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - overflow-x: hidden; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - white-space: nowrap; - - will-change: transform; -} -@media (max-width: 1023px) { - .mdui-drawer:not(.mdui-drawer-open) { - -webkit-box-shadow: none !important; - box-shadow: none !important; - } -} -@media (min-width: 600px) { - .mdui-drawer { - width: calc(100% - 64px); - max-width: 320px; - } -} -@media (min-width: 1024px) { - .mdui-drawer { - width: 240px; - max-width: none; - } - .mdui-drawer.mdui-drawer-close { - -webkit-box-shadow: none !important; - box-shadow: none !important; - } -} -/* 出现在右侧的抽屉栏 */ -.mdui-drawer-right { - right: 0; - left: auto; -} -/* 平板上的样式 */ -@media (max-width: 1023px) { - .mdui-drawer { - /* 始终有背景和阴影 */ - background-color: #fff; - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); - /* 默认隐藏 */ - -webkit-transform: translateX(-330px); - transform: translateX(-330px); - } - .mdui-drawer-right { - /* 右侧 drawer 也默认隐藏 */ - -webkit-transform: translateX(330px); - transform: translateX(330px); - } -} -/* 手机上的样式 */ -@media (max-width: 599px) { - .mdui-drawer { - -webkit-transform: translateX(-290px); - transform: translateX(-290px); - } - .mdui-drawer-right { - -webkit-transform: translateX(290px); - transform: translateX(290px); - } -} -/* 强制隐藏抽屉栏 */ -.mdui-drawer-close { - -webkit-transform: translateX(-290px); - transform: translateX(-290px); -} -.mdui-drawer-close.mdui-drawer-right { - -webkit-transform: translateX(290px); - transform: translateX(290px); -} -@media (min-width: 600px) { - .mdui-drawer-close { - -webkit-transform: translateX(-330px); - transform: translateX(-330px); - } - .mdui-drawer-close.mdui-drawer-right { - -webkit-transform: translateX(330px); - transform: translateX(330px); - } -} -@media (min-width: 1024px) { - .mdui-drawer-close { - -webkit-transform: translateX(-250px); - transform: translateX(-250px); - } - .mdui-drawer-close.mdui-drawer-right { - -webkit-transform: translateX(250px); - transform: translateX(250px); - } -} -/* 强制显示抽屉栏 */ -.mdui-drawer-open { - -webkit-transform: translateX(0) !important; - transform: translateX(0) !important; -} -/* PC 上的样式 */ -@media (min-width: 1024px) { - /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */ - .mdui-drawer-body-left { - padding-left: 240px; - } - .mdui-drawer-body-right { - padding-right: 240px; - } - /* PC 上默认有上边距 */ - .mdui-appbar-with-toolbar .mdui-drawer { - top: 64px; - } - .mdui-appbar-with-tab .mdui-drawer { - top: 48px; - } - .mdui-appbar-with-tab-larger .mdui-drawer { - top: 72px; - } - .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer { - top: 112px; - } - .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer { - top: 136px; - } -} -/* 抽屉栏不是透明时添加阴影 */ -.mdui-drawer[class*="mdui-color-"]:not(.mdui-color-transparent) { - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); -} -/* 抽屉栏 100% 高度,覆盖在导航栏上面 */ -.mdui-drawer-full-height { - top: 0 !important; -} -/** - * ============================================================================= - * ************ Drawer dark ************ - * ============================================================================= - */ -@media (max-width: 1023px) { - .mdui-theme-layout-dark .mdui-drawer { - background-color: #424242; - } -} -/** - * ============================================================================= - * ************ Dialog 提示框 ************ - * ============================================================================= - */ -.mdui-dialog { - position: fixed; - right: 0; - left: 0; - z-index: 6000; - display: none; - width: 92%; - min-width: 180px; - max-width: 728px; - max-height: 90%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: auto; - overflow: hidden; - color: #000; - background-color: #fff; - border-radius: 2px; - -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); - opacity: 0; - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-property: opacity, visibility, -webkit-transform; - transition-property: opacity, visibility, -webkit-transform; - transition-property: transform, opacity, visibility; - transition-property: transform, opacity, visibility, -webkit-transform; - -webkit-transform: scale(.95); - transform: scale(.95); - - will-change: top, opacity, transform; -} -@media (min-width: 600px) { - .mdui-dialog { - width: 85%; - max-height: 85%; - } -} -@media (min-width: 1024px) { - .mdui-dialog { - width: 80%; - max-height: 80%; - } -} -/* 打开提示框 */ -.mdui-dialog-open { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); -} -/* 提示框标题 */ -.mdui-dialog-title { - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-size: 20px; - font-weight: 500; - line-height: 24px; - text-align: left; -} -/* 标题固定在顶部 */ -.mdui-dialog > .mdui-dialog-title { - padding: 24px 24px 20px 24px; -} -/* 提示框内容 */ -.mdui-dialog-content { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 24px; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - font-size: 15px; - line-height: 1.5; - color: rgba(0, 0, 0, .7); -} -/* 标题随内容滚动 */ -.mdui-dialog-content > .mdui-dialog-title { - padding-bottom: 20px; -} -.mdui-dialog-title + .mdui-dialog-content { - padding-top: 0; -} -/* 提示框底部按钮 */ -.mdui-dialog-actions { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px; - text-align: right; -} -.mdui-dialog-actions .mdui-btn { - min-width: 64px; - margin-left: 8px; - color: #e91e63; -} -.mdui-dialog-actions .mdui-btn:first-child { - margin-left: 0; -} -/* 底部按钮滚随内容动 */ -.mdui-dialog-content > .mdui-dialog-actions { - padding-top: 32px; - margin: 0 -24px -24px -24px; -} -/* 使提示框底部按钮竖排 */ -.mdui-dialog-actions-stacked { - padding: 8px 0 8px 0; -} -.mdui-dialog-actions-stacked .mdui-btn { - width: 100%; - height: 48px; - margin: 0; - line-height: 48px !important; - text-align: right; - border-radius: 0; -} -/** - * ============================================================================= - * ************ Dialog 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn { - color: #ffc107; -} -.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn { - color: #2196f3; -} -.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn { - color: #00bcd4; -} -.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn { - color: #ff5722; -} -.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn { - color: #673ab7; -} -.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn { - color: #4caf50; -} -.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn { - color: #3f51b5; -} -.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn { - color: #03a9f4; -} -.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn { - color: #8bc34a; -} -.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn { - color: #cddc39; -} -.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn { - color: #ff9800; -} -.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn { - color: #e91e63; -} -.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn { - color: #9c27b0; -} -.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn { - color: #f44336; -} -.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn { - color: #009688; -} -.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn { - color: #ffeb3b; -} -/** - * ============================================================================= - * ************ Dialog dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-dialog { - color: #fff; - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-dialog-content { - color: rgba(255, 255, 255, .7); -} -/** - * ============================================================================= - * ************ Dialog alert ************ - * ============================================================================= - */ -.mdui-dialog-alert { - max-width: 448px; -} -/** - * ============================================================================= - * ************ Dialog confirm ************ - * ============================================================================= - */ -.mdui-dialog-confirm { - max-width: 448px; -} -/** - * ============================================================================= - * ************ Dialog prompt ************ - * ============================================================================= - */ -.mdui-dialog-prompt { - max-width: 448px; -} -.mdui-dialog-prompt .mdui-textfield { - padding-top: 0; -} -/** - * ============================================================================= - * ************ Shadow 阴影 ************ - * ============================================================================= - */ -.mdui-shadow-0 { - -webkit-box-shadow: none; - box-shadow: none; -} -.mdui-shadow-1 { - -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-2 { - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-3 { - -webkit-box-shadow: 0 3px 3px -2px rgba(0, 0, 0, .2), 0 3px 4px 0 rgba(0, 0, 0, .14), 0 1px 8px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 3px -2px rgba(0, 0, 0, .2), 0 3px 4px 0 rgba(0, 0, 0, .14), 0 1px 8px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-4 { - -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-5 { - -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 5px 8px 0 rgba(0, 0, 0, .14), 0 1px 14px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 5px 8px 0 rgba(0, 0, 0, .14), 0 1px 14px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-6 { - -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); -} -.mdui-shadow-7 { - -webkit-box-shadow: 0 4px 5px -2px rgba(0, 0, 0, .2), 0 7px 10px 1px rgba(0, 0, 0, .14), 0 2px 16px 1px rgba(0, 0, 0, .12); - box-shadow: 0 4px 5px -2px rgba(0, 0, 0, .2), 0 7px 10px 1px rgba(0, 0, 0, .14), 0 2px 16px 1px rgba(0, 0, 0, .12); -} -.mdui-shadow-8 { - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); -} -.mdui-shadow-9 { - -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); -} -.mdui-shadow-10 { - -webkit-box-shadow: 0 6px 6px -3px rgba(0, 0, 0, .2), 0 10px 14px 1px rgba(0, 0, 0, .14), 0 4px 18px 3px rgba(0, 0, 0, .12); - box-shadow: 0 6px 6px -3px rgba(0, 0, 0, .2), 0 10px 14px 1px rgba(0, 0, 0, .14), 0 4px 18px 3px rgba(0, 0, 0, .12); -} -.mdui-shadow-11 { - -webkit-box-shadow: 0 6px 7px -4px rgba(0, 0, 0, .2), 0 11px 15px 1px rgba(0, 0, 0, .14), 0 4px 20px 3px rgba(0, 0, 0, .12); - box-shadow: 0 6px 7px -4px rgba(0, 0, 0, .2), 0 11px 15px 1px rgba(0, 0, 0, .14), 0 4px 20px 3px rgba(0, 0, 0, .12); -} -.mdui-shadow-12 { - -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); -} -.mdui-shadow-13 { - -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12); - box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12); -} -.mdui-shadow-14 { - -webkit-box-shadow: 0 7px 9px -4px rgba(0, 0, 0, .2), 0 14px 21px 2px rgba(0, 0, 0, .14), 0 5px 26px 4px rgba(0, 0, 0, .12); - box-shadow: 0 7px 9px -4px rgba(0, 0, 0, .2), 0 14px 21px 2px rgba(0, 0, 0, .14), 0 5px 26px 4px rgba(0, 0, 0, .12); -} -.mdui-shadow-15 { - -webkit-box-shadow: 0 8px 9px -5px rgba(0, 0, 0, .2), 0 15px 22px 2px rgba(0, 0, 0, .14), 0 6px 28px 5px rgba(0, 0, 0, .12); - box-shadow: 0 8px 9px -5px rgba(0, 0, 0, .2), 0 15px 22px 2px rgba(0, 0, 0, .14), 0 6px 28px 5px rgba(0, 0, 0, .12); -} -.mdui-shadow-16 { - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); -} -.mdui-shadow-17 { - -webkit-box-shadow: 0 8px 11px -5px rgba(0, 0, 0, .2), 0 17px 26px 2px rgba(0, 0, 0, .14), 0 6px 32px 5px rgba(0, 0, 0, .12); - box-shadow: 0 8px 11px -5px rgba(0, 0, 0, .2), 0 17px 26px 2px rgba(0, 0, 0, .14), 0 6px 32px 5px rgba(0, 0, 0, .12); -} -.mdui-shadow-18 { - -webkit-box-shadow: 0 9px 11px -5px rgba(0, 0, 0, .2), 0 18px 28px 2px rgba(0, 0, 0, .14), 0 7px 34px 6px rgba(0, 0, 0, .12); - box-shadow: 0 9px 11px -5px rgba(0, 0, 0, .2), 0 18px 28px 2px rgba(0, 0, 0, .14), 0 7px 34px 6px rgba(0, 0, 0, .12); -} -.mdui-shadow-19 { - -webkit-box-shadow: 0 9px 12px -6px rgba(0, 0, 0, .2), 0 19px 29px 2px rgba(0, 0, 0, .14), 0 7px 36px 6px rgba(0, 0, 0, .12); - box-shadow: 0 9px 12px -6px rgba(0, 0, 0, .2), 0 19px 29px 2px rgba(0, 0, 0, .14), 0 7px 36px 6px rgba(0, 0, 0, .12); -} -.mdui-shadow-20 { - -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12); - box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12); -} -.mdui-shadow-21 { - -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 21px 33px 3px rgba(0, 0, 0, .14), 0 8px 40px 7px rgba(0, 0, 0, .12); - box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 21px 33px 3px rgba(0, 0, 0, .14), 0 8px 40px 7px rgba(0, 0, 0, .12); -} -.mdui-shadow-22 { - -webkit-box-shadow: 0 10px 14px -6px rgba(0, 0, 0, .2), 0 22px 35px 3px rgba(0, 0, 0, .14), 0 8px 42px 7px rgba(0, 0, 0, .12); - box-shadow: 0 10px 14px -6px rgba(0, 0, 0, .2), 0 22px 35px 3px rgba(0, 0, 0, .14), 0 8px 42px 7px rgba(0, 0, 0, .12); -} -.mdui-shadow-23 { - -webkit-box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .2), 0 23px 36px 3px rgba(0, 0, 0, .14), 0 9px 44px 8px rgba(0, 0, 0, .12); - box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .2), 0 23px 36px 3px rgba(0, 0, 0, .14), 0 9px 44px 8px rgba(0, 0, 0, .12); -} -.mdui-shadow-24 { - -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); -} -/* 鼠标悬浮时加深阴影 */ -.mdui-hoverable { - -webkit-transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - - will-change: box-shadow; -} -.mdui-hoverable:hover, -.mdui-hoverable:focus { - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); -} -/** - * ============================================================================= - * ************ Tooltip 工具提示 ************ - * ============================================================================= - */ -.mdui-tooltip { - position: absolute; - z-index: 9000; - display: inline-block; - max-width: 180px; - min-height: 32px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px 16px; - font-size: 14px; - font-weight: 500; - line-height: 22px; - color: #fff; - text-align: left; - background-color: rgba(97, 97, 97, .9); - border-radius: 2px; - opacity: 0; - -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); - transition-timing-function: cubic-bezier(.4, 0, .2, 1); - -webkit-transition-duration: .15s; - transition-duration: .15s; - -webkit-transition-property: opacity, -webkit-transform; - transition-property: opacity, -webkit-transform; - transition-property: opacity, transform; - transition-property: opacity, transform, -webkit-transform; - -webkit-transform: scale(0); - transform: scale(0); - - will-change: opacity, transform; -} -@media (min-width: 1024px) { - .mdui-tooltip { - max-width: 200px; - min-height: 24px; - padding: 4px 8px; - font-size: 12px; - line-height: 18px; - } -} -/* 显示工具提示 */ -.mdui-tooltip-open { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); -} -/** - * ============================================================================= - * ************ Snackbar ************ - * ============================================================================= - */ -.mdui-snackbar { - position: fixed; - z-index: 7000; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - min-height: 48px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0 24px 0 24px; - font-size: 14px; - line-height: 20px; - color: #fff; - background-color: #323232; - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - will-change: transform; -} -@media (min-width: 600px) { - .mdui-snackbar { - width: auto; - min-width: 288px; - max-width: 568px; - border-radius: 2px; - } -} -.mdui-snackbar-bottom, -.mdui-snackbar-top, -.mdui-snackbar-left-top, -.mdui-snackbar-left-bottom, -.mdui-snackbar-right-top, -.mdui-snackbar-right-bottom { - -webkit-transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); - transition: transform .3s cubic-bezier(.4, 0, .2, 1); - transition: transform .3s cubic-bezier(.4, 0, .2, 1), -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); -} -/* 位置 */ -.mdui-snackbar-bottom, -.mdui-snackbar-left-bottom, -.mdui-snackbar-right-bottom { - bottom: 0; -} -.mdui-snackbar-top, -.mdui-snackbar-left-top, -.mdui-snackbar-right-top { - top: 0; -} -.mdui-snackbar-top, -.mdui-snackbar-bottom { - left: 50%; -} -@media (min-width: 600px) { - .mdui-snackbar-left-top { - top: 24px; - left: 24px; - } - .mdui-snackbar-left-bottom { - bottom: 24px; - left: 24px; - } - .mdui-snackbar-right-top { - top: 24px; - right: 24px; - } - .mdui-snackbar-right-bottom { - right: 24px; - bottom: 24px; - } -} -/* 文本 */ -.mdui-snackbar-text { - position: relative; - max-width: 100%; - padding: 14px 0 14px 0; - overflow: hidden; - text-overflow: ellipsis; -} -/* 按钮 */ -.mdui-snackbar-action { - margin-right: -16px; - color: #ff80ab; - white-space: nowrap; -} -/** - * ============================================================================= - * ************ Snackbar 强调色 ************ - * ============================================================================= - */ -.mdui-theme-accent-amber .mdui-snackbar-action { - color: #ffe57f; -} -.mdui-theme-accent-blue .mdui-snackbar-action { - color: #82b1ff; -} -.mdui-theme-accent-cyan .mdui-snackbar-action { - color: #84ffff; -} -.mdui-theme-accent-deep-orange .mdui-snackbar-action { - color: #ff9e80; -} -.mdui-theme-accent-deep-purple .mdui-snackbar-action { - color: #b388ff; -} -.mdui-theme-accent-green .mdui-snackbar-action { - color: #b9f6ca; -} -.mdui-theme-accent-indigo .mdui-snackbar-action { - color: #8c9eff; -} -.mdui-theme-accent-light-blue .mdui-snackbar-action { - color: #80d8ff; -} -.mdui-theme-accent-light-green .mdui-snackbar-action { - color: #ccff90; -} -.mdui-theme-accent-lime .mdui-snackbar-action { - color: #f4ff81; -} -.mdui-theme-accent-orange .mdui-snackbar-action { - color: #ffd180; -} -.mdui-theme-accent-pink .mdui-snackbar-action { - color: #ff80ab; -} -.mdui-theme-accent-purple .mdui-snackbar-action { - color: #ea80fc; -} -.mdui-theme-accent-red .mdui-snackbar-action { - color: #ff8a80; -} -.mdui-theme-accent-teal .mdui-snackbar-action { - color: #a7ffeb; -} -.mdui-theme-accent-yellow .mdui-snackbar-action { - color: #ffff8d; -} -/** - * ============================================================================= - * ************ Snackbar dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-snackbar { - background-color: #5d5d5d; -} -/** - * ============================================================================= - * ************ Chip 纸片 ************ - * ============================================================================= - */ -.mdui-chip { - display: inline-block; - height: 32px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 2px 0; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #e0e0e0; - border-radius: 16px; - -webkit-transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1); - transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); - - will-change: box-shadow; -} -.mdui-chip:hover, -.mdui-chip:focus { - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-chip:active { - background-color: #d6d6d6; -} -/* 左侧的图标 */ -.mdui-chip-icon { - position: relative; - display: inline-block; - width: 32px; - height: 32px; - margin-right: -4px; - overflow: hidden; - font-size: 18px; - line-height: 32px; - color: #fff; - text-align: center; - vertical-align: middle; - background-color: #989898; - border-radius: 50%; -} -.mdui-chip-icon .mdui-icon { - position: absolute; - top: 4px; - left: 4px; - color: #fff; -} -/* 文本 */ -.mdui-chip-title { - display: inline-block; - height: 32px; - padding-right: 12px; - padding-left: 12px; - font-size: 14px; - line-height: 32px; - vertical-align: middle; -} -/* 删除按钮 */ -.mdui-chip-delete { - display: inline-block; - width: 24px; - height: 24px; - margin-right: 4px; - margin-left: -8px; - overflow: hidden; - text-align: center; - text-decoration: none; - vertical-align: middle; - cursor: pointer; - border-radius: 50%; - opacity: .54; - -webkit-transition: opacity .25s cubic-bezier(.4, 0, .2, 1); - transition: opacity .25s cubic-bezier(.4, 0, .2, 1); - - will-change: opacity; -} -.mdui-chip-delete:hover, -.mdui-chip-delete:focus { - opacity: .87; -} -/** - * ============================================================================= - * ************ Chip dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-chip { - background-color: #484848; -} -.mdui-theme-layout-dark .mdui-chip:active { - background-color: #5d5d5d; -} -/** - * ============================================================================= - * ************ Bottom navigation 底部导航栏 ************ - * ============================================================================= - */ -.mdui-bottom-nav { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 56px; - padding: 0; - margin: 0 auto; - overflow: hidden; - white-space: nowrap; -} -@media (min-width: 600px) { - .mdui-bottom-nav:before { - content: ' '; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - .mdui-bottom-nav:after { - content: ' '; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } -} -.mdui-bottom-nav a { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - min-width: 32px; - max-width: none; - padding: 8px 12px 10px 12px; - overflow: hidden; - font-size: 12px; - color: inherit; - text-align: center; - text-decoration: none; - text-overflow: ellipsis; - cursor: pointer; - flex-direction: column; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - opacity: .7; - -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); - transition: all .2s cubic-bezier(.4, 0, .2, 1); - - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - will-change: padding; -} -@media (min-width: 600px) { - .mdui-bottom-nav a { - max-width: 144px; - } -} -.mdui-bottom-nav a .mdui-icon { - opacity: .7; -} -.mdui-bottom-nav a label { - display: block; - width: 100%; - cursor: pointer; - -webkit-transition: -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - transition: -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - transition: transform .2s cubic-bezier(.4, 0, .2, 1); - transition: transform .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); - - will-change: font-size; -} -.mdui-bottom-nav a .mdui-icon + label { - margin-top: 6px; -} -.mdui-bottom-nav a.mdui-bottom-nav-active { - font-size: 14px; - color: #3f51b5; - opacity: 1; -} -.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon { - opacity: 1; -} -/* 只在激活时显示文本 */ -.mdui-bottom-nav-text-auto a { - min-width: 32px; - padding-right: 0; - padding-left: 0; -} -@media (min-width: 600px) { - .mdui-bottom-nav-text-auto a { - max-width: 156px; - } -} -.mdui-bottom-nav-text-auto a .mdui-icon { - padding-top: 16px; - -webkit-transition: padding-top .2s cubic-bezier(.4, 0, .2, 1); - transition: padding-top .2s cubic-bezier(.4, 0, .2, 1); - - will-change: padding-top; -} -.mdui-bottom-nav-text-auto a label { - -webkit-transform: scale(0); - transform: scale(0); -} -.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active { - padding-right: 18px; - padding-left: 18px; -} -.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon { - padding-top: 0; -} -.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label { - -webkit-transform: scale(1); - transform: scale(1); -} -/* 固定到页面底部 */ -.mdui-bottom-nav-fixed { - padding-bottom: 56px; -} -.mdui-bottom-nav-fixed .mdui-bottom-nav { - position: fixed; - right: 0; - bottom: 0; - left: 0; -} -/** - * ============================================================================= - * ************ Bottom Nav 主色 ************ - * ============================================================================= - */ -.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #ffc107; -} -.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #2196f3; -} -.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #607d8b; -} -.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #795548; -} -.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #00bcd4; -} -.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #ff5722; -} -.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #673ab7; -} -.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #4caf50; -} -.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #9e9e9e; -} -.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #3f51b5; -} -.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #03a9f4; -} -.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #8bc34a; -} -.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #cddc39; -} -.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #ff9800; -} -.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #e91e63; -} -.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #9c27b0; -} -.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #f44336; -} -.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #009688; -} -.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active { - color: #ffeb3b; -} -/* 带背景色的底部导航栏 */ -.mdui-bottom-nav[class*="mdui-color-"] .mdui-bottom-nav-active { - color: inherit !important; -} -/** - * ============================================================================= - * ************ Progress Linear 线性进度条 ************ - * ============================================================================= - */ -/* 线性进度条 */ -.mdui-progress { - position: relative; - display: block; - width: 100%; - height: 4px; - overflow: hidden; - background-color: rgba(63, 81, 181, .2); - border-radius: 2px; -} -/* 确定进度的线性进度条 */ -.mdui-progress-determinate { - position: absolute; - top: 0; - bottom: 0; - left: 0; - background-color: #3f51b5; - -webkit-transition: width .3s linear; - transition: width .3s linear; -} -/* 不确定进度的线性进度条 */ -.mdui-progress-indeterminate { - background-color: #3f51b5; -} -.mdui-progress-indeterminate:before { - position: absolute; - top: 0; - bottom: 0; - left: 0; - content: ' '; - background-color: inherit; - -webkit-animation: mdui-progress-indeterminate 2s linear infinite; - animation: mdui-progress-indeterminate 2s linear infinite; - - will-change: left, width; -} -.mdui-progress-indeterminate:after { - position: absolute; - top: 0; - bottom: 0; - left: 0; - content: ' '; - background-color: inherit; - -webkit-animation: mdui-progress-indeterminate-short 2s linear infinite; - animation: mdui-progress-indeterminate-short 2s linear infinite; - - will-change: left, width; -} -@-webkit-keyframes mdui-progress-indeterminate { - 0% { - left: 0; - width: 0; - } - 50% { - left: 30%; - width: 70%; - } - 75% { - left: 100%; - width: 0; - } -} -@keyframes mdui-progress-indeterminate { - 0% { - left: 0; - width: 0; - } - 50% { - left: 30%; - width: 70%; - } - 75% { - left: 100%; - width: 0; - } -} -@-webkit-keyframes mdui-progress-indeterminate-short { - 0% { - left: 0; - width: 0; - } - 50% { - left: 0; - width: 0; - } - 75% { - left: 0; - width: 25%; - } - 100% { - left: 100%; - width: 0; - } -} -@keyframes mdui-progress-indeterminate-short { - 0% { - left: 0; - width: 0; - } - 50% { - left: 0; - width: 0; - } - 75% { - left: 0; - width: 25%; - } - 100% { - left: 100%; - width: 0; - } -} -/** - * ============================================================================= - * ************ Progress linear 主色 ************ - * ============================================================================= - */ -.mdui-theme-primary-amber .mdui-progress { - background-color: rgba(255, 193, 7, .2); -} -.mdui-theme-primary-amber .mdui-progress-determinate, -.mdui-theme-primary-amber .mdui-progress-indeterminate { - background-color: #ffc107; -} -.mdui-theme-primary-blue .mdui-progress { - background-color: rgba(33, 150, 243, .2); -} -.mdui-theme-primary-blue .mdui-progress-determinate, -.mdui-theme-primary-blue .mdui-progress-indeterminate { - background-color: #2196f3; -} -.mdui-theme-primary-blue-grey .mdui-progress { - background-color: rgba(96, 125, 139, .2); -} -.mdui-theme-primary-blue-grey .mdui-progress-determinate, -.mdui-theme-primary-blue-grey .mdui-progress-indeterminate { - background-color: #607d8b; -} -.mdui-theme-primary-brown .mdui-progress { - background-color: rgba(121, 85, 72, .2); -} -.mdui-theme-primary-brown .mdui-progress-determinate, -.mdui-theme-primary-brown .mdui-progress-indeterminate { - background-color: #795548; -} -.mdui-theme-primary-cyan .mdui-progress { - background-color: rgba(0, 188, 212, .2); -} -.mdui-theme-primary-cyan .mdui-progress-determinate, -.mdui-theme-primary-cyan .mdui-progress-indeterminate { - background-color: #00bcd4; -} -.mdui-theme-primary-deep-orange .mdui-progress { - background-color: rgba(255, 87, 34, .2); -} -.mdui-theme-primary-deep-orange .mdui-progress-determinate, -.mdui-theme-primary-deep-orange .mdui-progress-indeterminate { - background-color: #ff5722; -} -.mdui-theme-primary-deep-purple .mdui-progress { - background-color: rgba(103, 58, 183, .2); -} -.mdui-theme-primary-deep-purple .mdui-progress-determinate, -.mdui-theme-primary-deep-purple .mdui-progress-indeterminate { - background-color: #673ab7; -} -.mdui-theme-primary-green .mdui-progress { - background-color: rgba(76, 175, 80, .2); -} -.mdui-theme-primary-green .mdui-progress-determinate, -.mdui-theme-primary-green .mdui-progress-indeterminate { - background-color: #4caf50; -} -.mdui-theme-primary-grey .mdui-progress { - background-color: rgba(158, 158, 158, .2); -} -.mdui-theme-primary-grey .mdui-progress-determinate, -.mdui-theme-primary-grey .mdui-progress-indeterminate { - background-color: #9e9e9e; -} -.mdui-theme-primary-indigo .mdui-progress { - background-color: rgba(63, 81, 181, .2); -} -.mdui-theme-primary-indigo .mdui-progress-determinate, -.mdui-theme-primary-indigo .mdui-progress-indeterminate { - background-color: #3f51b5; -} -.mdui-theme-primary-light-blue .mdui-progress { - background-color: rgba(3, 169, 244, .2); -} -.mdui-theme-primary-light-blue .mdui-progress-determinate, -.mdui-theme-primary-light-blue .mdui-progress-indeterminate { - background-color: #03a9f4; -} -.mdui-theme-primary-light-green .mdui-progress { - background-color: rgba(139, 195, 74, .2); -} -.mdui-theme-primary-light-green .mdui-progress-determinate, -.mdui-theme-primary-light-green .mdui-progress-indeterminate { - background-color: #8bc34a; -} -.mdui-theme-primary-lime .mdui-progress { - background-color: rgba(205, 220, 57, .2); -} -.mdui-theme-primary-lime .mdui-progress-determinate, -.mdui-theme-primary-lime .mdui-progress-indeterminate { - background-color: #cddc39; -} -.mdui-theme-primary-orange .mdui-progress { - background-color: rgba(255, 152, 0, .2); -} -.mdui-theme-primary-orange .mdui-progress-determinate, -.mdui-theme-primary-orange .mdui-progress-indeterminate { - background-color: #ff9800; -} -.mdui-theme-primary-pink .mdui-progress { - background-color: rgba(233, 30, 99, .2); -} -.mdui-theme-primary-pink .mdui-progress-determinate, -.mdui-theme-primary-pink .mdui-progress-indeterminate { - background-color: #e91e63; -} -.mdui-theme-primary-purple .mdui-progress { - background-color: rgba(156, 39, 176, .2); -} -.mdui-theme-primary-purple .mdui-progress-determinate, -.mdui-theme-primary-purple .mdui-progress-indeterminate { - background-color: #9c27b0; -} -.mdui-theme-primary-red .mdui-progress { - background-color: rgba(244, 67, 54, .2); -} -.mdui-theme-primary-red .mdui-progress-determinate, -.mdui-theme-primary-red .mdui-progress-indeterminate { - background-color: #f44336; -} -.mdui-theme-primary-teal .mdui-progress { - background-color: rgba(0, 150, 136, .2); -} -.mdui-theme-primary-teal .mdui-progress-determinate, -.mdui-theme-primary-teal .mdui-progress-indeterminate { - background-color: #009688; -} -.mdui-theme-primary-yellow .mdui-progress { - background-color: rgba(255, 235, 59, .2); -} -.mdui-theme-primary-yellow .mdui-progress-determinate, -.mdui-theme-primary-yellow .mdui-progress-indeterminate { - background-color: #ffeb3b; -} -/** - * ============================================================================= - * ************ Progress Circular 圆形进度条 ************ - * ============================================================================= - */ -.mdui-spinner { - position: relative; - display: inline-block; - width: 28px; - height: 28px; - -webkit-animation: mdui-spinner 1568ms linear infinite; - animation: mdui-spinner 1568ms linear infinite; -} -@-webkit-keyframes mdui-spinner { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes mdui-spinner { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.mdui-spinner-layer { - position: absolute; - width: 100%; - height: 100%; - border-color: #3f51b5; - opacity: 0; - opacity: 1; - -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -.mdui-spinner-layer-1 { - border-color: #42a5f5 !important; - -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -.mdui-spinner-layer-2 { - border-color: #f44336 !important; - -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -.mdui-spinner-layer-3 { - border-color: #fdd835 !important; - -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -.mdui-spinner-layer-4 { - border-color: #4caf50 !important; - -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - transform: rotate(945deg); - } - to { - -webkit-transform: rotate(1080deg); - transform: rotate(1080deg); - } -} -@keyframes mdui-spinner-layer-fill-unfill-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - transform: rotate(945deg); - } - to { - -webkit-transform: rotate(1080deg); - transform: rotate(1080deg); - } -} -@-webkit-keyframes mdui-spinner-layer-1-fade-in-out { - from { - opacity: 1; - } - 25% { - opacity: 1; - } - 26% { - opacity: 0; - } - 89% { - opacity: 0; - } - 90% { - opacity: 1; - } - 100% { - opacity: 1; - } -} -@keyframes mdui-spinner-layer-1-fade-in-out { - from { - opacity: 1; - } - 25% { - opacity: 1; - } - 26% { - opacity: 0; - } - 89% { - opacity: 0; - } - 90% { - opacity: 1; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes mdui-spinner-layer-2-fade-in-out { - from { - opacity: 0; - } - 15% { - opacity: 0; - } - 25% { - opacity: 1; - } - 50% { - opacity: 1; - } - 51% { - opacity: 0; - } -} -@keyframes mdui-spinner-layer-2-fade-in-out { - from { - opacity: 0; - } - 15% { - opacity: 0; - } - 25% { - opacity: 1; - } - 50% { - opacity: 1; - } - 51% { - opacity: 0; - } -} -@-webkit-keyframes mdui-spinner-layer-3-fade-in-out { - from { - opacity: 0; - } - 40% { - opacity: 0; - } - 50% { - opacity: 1; - } - 75% { - opacity: 1; - } - 76% { - opacity: 0; - } -} -@keyframes mdui-spinner-layer-3-fade-in-out { - from { - opacity: 0; - } - 40% { - opacity: 0; - } - 50% { - opacity: 1; - } - 75% { - opacity: 1; - } - 76% { - opacity: 0; - } -} -@-webkit-keyframes mdui-spinner-layer-4-fade-in-out { - from { - opacity: 0; - } - 65% { - opacity: 0; - } - 75% { - opacity: 1; - } - 90% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@keyframes mdui-spinner-layer-4-fade-in-out { - from { - opacity: 0; - } - 65% { - opacity: 0; - } - 75% { - opacity: 1; - } - 90% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -.mdui-spinner-gap-patch { - position: absolute; - top: 0; - left: 45%; - width: 10%; - height: 100%; - overflow: hidden; - border-color: inherit; -} -.mdui-spinner-gap-patch .mdui-spinner-circle { - left: -450%; - width: 1000%; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.mdui-spinner-circle-clipper { - position: relative; - display: inline-block; - width: 50%; - height: 100%; - overflow: hidden; - border-color: inherit; -} -.mdui-spinner-circle-clipper .mdui-spinner-circle { - position: absolute; - top: 0; - right: 0; - bottom: 0; - width: 200%; - height: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-color: inherit; - border-style: solid; - border-width: 3px; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation: none; - animation: none; -} -.mdui-spinner-circle-clipper.mdui-spinner-left { - float: left; -} -.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle { - left: 0; - border-right-color: transparent !important; - -webkit-transform: rotate(129deg); - transform: rotate(129deg); - -webkit-animation: mdui-spinner-left-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-left-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -.mdui-spinner-circle-clipper.mdui-spinner-right { - float: right; -} -.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle { - left: -100%; - border-left-color: transparent !important; - -webkit-transform: rotate(-129deg); - transform: rotate(-129deg); - -webkit-animation: mdui-spinner-right-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; - animation: mdui-spinner-right-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; -} -@-webkit-keyframes mdui-spinner-left-spin { - from { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - transform: rotate(-5deg); - } - to { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } -} -@keyframes mdui-spinner-left-spin { - from { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - transform: rotate(-5deg); - } - to { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } -} -@-webkit-keyframes mdui-spinner-right-spin { - from { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - transform: rotate(5deg); - } - to { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } -} -@keyframes mdui-spinner-right-spin { - from { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - transform: rotate(5deg); - } - to { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } -} -/** - * ============================================================================= - * ************ Spinner linear 主色 ************ - * ============================================================================= - */ -.mdui-theme-primary-amber .mdui-spinner-layer { - border-color: #ffc107; -} -.mdui-theme-primary-blue .mdui-spinner-layer { - border-color: #2196f3; -} -.mdui-theme-primary-blue-grey .mdui-spinner-layer { - border-color: #607d8b; -} -.mdui-theme-primary-brown .mdui-spinner-layer { - border-color: #795548; -} -.mdui-theme-primary-cyan .mdui-spinner-layer { - border-color: #00bcd4; -} -.mdui-theme-primary-deep-orange .mdui-spinner-layer { - border-color: #ff5722; -} -.mdui-theme-primary-deep-purple .mdui-spinner-layer { - border-color: #673ab7; -} -.mdui-theme-primary-green .mdui-spinner-layer { - border-color: #4caf50; -} -.mdui-theme-primary-grey .mdui-spinner-layer { - border-color: #9e9e9e; -} -.mdui-theme-primary-indigo .mdui-spinner-layer { - border-color: #3f51b5; -} -.mdui-theme-primary-light-blue .mdui-spinner-layer { - border-color: #03a9f4; -} -.mdui-theme-primary-light-green .mdui-spinner-layer { - border-color: #8bc34a; -} -.mdui-theme-primary-lime .mdui-spinner-layer { - border-color: #cddc39; -} -.mdui-theme-primary-orange .mdui-spinner-layer { - border-color: #ff9800; -} -.mdui-theme-primary-pink .mdui-spinner-layer { - border-color: #e91e63; -} -.mdui-theme-primary-purple .mdui-spinner-layer { - border-color: #9c27b0; -} -.mdui-theme-primary-red .mdui-spinner-layer { - border-color: #f44336; -} -.mdui-theme-primary-teal .mdui-spinner-layer { - border-color: #009688; -} -.mdui-theme-primary-yellow .mdui-spinner-layer { - border-color: #ffeb3b; -} -/** - * ============================================================================= - * ************ Expansion panel 可扩展面板 ************ - * ============================================================================= - */ -/* 可扩展面板 */ -.mdui-panel { - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -/* 面板项 */ -.mdui-panel-item { - color: rgba(0, 0, 0, .87); - background-color: #fff; - border-bottom: 1px solid rgba(0, 0, 0, .12); - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - -webkit-transition: margin .3s cubic-bezier(.4, 0, .2, 1); - transition: margin .3s cubic-bezier(.4, 0, .2, 1); - - will-change: margin; -} -.mdui-panel-item:last-child { - border-bottom: none; -} -/* 面板头部 */ -.mdui-panel-item-header { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - height: 48px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0 24px; - overflow: hidden; - font-size: 15px; - text-overflow: ellipsis; - white-space: nowrap; - cursor: pointer; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); - - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - will-change: height, background-color; -} -.mdui-panel-item-header:active { - background-color: #eee; -} -/* 面板项标题 */ -.mdui-panel-item-title { - width: 36%; - min-width: 36%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 16px; - overflow: hidden; - font-weight: 500; - text-overflow: ellipsis; - white-space: nowrap; -} -/* 面板项内容 */ -.mdui-panel-item-summary { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 16px; - overflow: hidden; - color: rgba(0, 0, 0, .54); - text-overflow: ellipsis; - white-space: nowrap; - - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -/* 展开收起的图标 */ -.mdui-panel-item-arrow { - position: absolute; - top: 12px; - right: 24px; - color: rgba(0, 0, 0, .54); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); - transition: all .3s cubic-bezier(.4, 0, .2, 1); - -webkit-transform: rotate(0); - transform: rotate(0); - - will-change: transform, top; -} -.mdui-panel-item-summary + .mdui-panel-item-arrow { - position: relative; - top: 0 !important; - right: 0; -} -/* 面板项内容 */ -.mdui-panel-item-body { - height: 0; - padding: 0 24px; - overflow: hidden; - -webkit-transition: height .3s cubic-bezier(.4, 0, .2, 1); - transition: height .3s cubic-bezier(.4, 0, .2, 1); - - will-change: height; -} -.mdui-panel-item-body:before, -.mdui-panel-item-body:after { - display: table; - content: " "; -} -.mdui-panel-item-body:after { - clear: both; -} -.mdui-panel-item-body:before, -.mdui-panel-item-body:after { - display: table; - content: " "; -} -.mdui-panel-item-body:after { - clear: both; -} -.mdui-panel-item-body:after { - height: 16px; -} -/* 面板项操作栏 */ -.mdui-panel-item-actions { - display: block; - width: 100%; - padding: 16px 24px 0 24px; - margin: 16px -24px 0 -24px; - text-align: right; - border-top: 1px solid rgba(0, 0, 0, .12); -} -.mdui-panel-item-actions .mdui-btn { - margin-left: 8px; -} -.mdui-panel-item-actions .mdui-btn:first-child { - margin-left: 0; -} -/* 使打开项上下没有边距 */ -.mdui-panel-gapless { - -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); -} -.mdui-panel-gapless .mdui-panel-item { - -webkit-box-shadow: none; - box-shadow: none; -} -.mdui-panel-gapless .mdui-panel-item-open { - margin-top: 0; - margin-bottom: 0; -} -/* 弹出面板 */ -.mdui-panel-popout .mdui-panel-item-open { - margin-right: -16px; - margin-left: -16px; -} -/* 打开状态的面板项 */ -.mdui-panel-item-open { - height: auto; - margin-top: 16px; - margin-bottom: 16px; -} -.mdui-panel-item-open > .mdui-panel-item-header { - height: 64px; -} -.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow { - top: 20px; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} -.mdui-panel-item-open > .mdui-panel-item-body { - height: auto; -} -/** - * ============================================================================= - * ************ Expansion panel dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-panel-item { - color: #fff; - background-color: #303030; - border-bottom: 1px solid rgba(255, 255, 255, .12); -} -.mdui-theme-layout-dark .mdui-panel-item:last-child { - border-bottom: none; -} -.mdui-theme-layout-dark .mdui-panel-item-header:active { - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-panel-item-summary { - color: rgba(255, 255, 255, .7); -} -.mdui-theme-layout-dark .mdui-panel-item-arrow { - color: #fff; -} -.mdui-theme-layout-dark .mdui-panel-item-actions { - border-top: 1px solid rgba(255, 255, 255, .12); -} -/** - * ============================================================================= - * ************ Menu 菜单 ************ - * ============================================================================= - */ -/* 菜单 */ -.mdui-menu { - position: fixed; - z-index: 99999; - display: block; - width: 168px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px 0; - margin: 0; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - font-size: 16px; - color: rgba(0, 0, 0, .87); - list-style: none; - visibility: hidden; - background-color: #fff; - border-radius: 2px; - -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); - opacity: 0; - -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); - transition-timing-function: cubic-bezier(0, 0, .2, 1); - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-property: opacity, visibility, -webkit-transform; - transition-property: opacity, visibility, -webkit-transform; - transition-property: transform, opacity, visibility; - transition-property: transform, opacity, visibility, -webkit-transform; - -webkit-transform: scale(0); - transform: scale(0); - - will-change: transform, opacity, visibility; -} -.mdui-menu .mdui-divider { - margin-top: 8px; - margin-bottom: 8px; -} -/* 打开状态的菜单 */ -.mdui-menu-open { - visibility: visible; - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); -} -/* 关闭中的菜单 */ -.mdui-menu-closing { - visibility: visible; - opacity: 0; - -webkit-transform: scale(1); - transform: scale(1); -} -/* 菜单项 */ -.mdui-menu-item { - position: relative; -} -.mdui-menu-item > a { - position: relative; - display: block; - height: 48px; - padding: 0 16px; - overflow: hidden; - line-height: 48px; - color: inherit; - text-decoration: none; - text-overflow: ellipsis; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mdui-menu-item > a:hover { - background-color: #eee; -} -.mdui-menu-item > .mdui-menu { - position: absolute; - -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); - box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); -} -.mdui-menu-item[disabled] > a { - color: rgba(0, 0, 0, .38) !important; - cursor: default; -} -.mdui-menu-item[disabled] > a:hover { - background-color: inherit !important; -} -.mdui-menu-item[disabled] > a .mdui-icon { - color: rgba(0, 0, 0, .26); -} -/* 激活状态的菜单项 */ -.mdui-menu-item-active { - background-color: #eee; -} -/* 菜单中的图标 */ -.mdui-menu-item-icon { - display: inline-block; - width: 40px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-right: 16px; - color: rgba(0, 0, 0, .54); -} -/* 菜单中的辅助文本或图标 */ -.mdui-menu-item-helper { - float: right; -} -/* 有子菜单的条目的图标 */ -.mdui-menu-item-more { - float: right; - width: 24px; - height: 24px; - margin: 4px 0; - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A"); -} -/* 级联菜单 */ -.mdui-menu-cascade { - width: 320px; - padding: 16px 0; - overflow-y: visible; - font-size: 15px; -} -.mdui-menu-cascade > .mdui-menu-item > a { - height: 32px; - padding: 0 24px; - line-height: 32px; -} -/** - * ============================================================================= - * ************ Menu dark ************ - * ============================================================================= - */ -.mdui-theme-layout-dark .mdui-menu { - color: #fff; - background-color: #424242; -} -.mdui-theme-layout-dark .mdui-menu-item > a:hover { - background-color: #616161; -} -.mdui-theme-layout-dark .mdui-menu-item[disabled] > a { - color: rgba(255, 255, 255, .5) !important; -} -.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon { - color: rgba(255, 255, 255, .3); -} -.mdui-theme-layout-dark .mdui-menu-item-active { - background-color: #616161; -} -.mdui-theme-layout-dark .mdui-menu-item-icon { - color: #fff; -} -.mdui-theme-layout-dark .mdui-menu-item-more { - background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A"); -} diff --git a/libs/mdui/css/mdui.min.css b/libs/mdui/css/mdui.min.css deleted file mode 100644 index 88d0ba9..0000000 --- a/libs/mdui/css/mdui.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * mdui v0.4.3 (https://mdui.org) - * Copyright 2016-2019 zdhxiong - * Licensed under MIT - */.mdui-theme-primary-amber .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-theme-primary-amber .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fff8e1!important}.mdui-theme-primary-amber .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffecb3!important}.mdui-theme-primary-amber .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffe082!important}.mdui-theme-primary-amber .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ffd54f!important}.mdui-theme-primary-amber .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffca28!important}.mdui-theme-primary-amber .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-theme-primary-amber .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#ffb300!important}.mdui-theme-primary-amber .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#ffa000!important}.mdui-theme-primary-amber .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#ff8f00!important}.mdui-theme-primary-amber .mdui-color-theme-900{color:rgba(0,0,0,.87)!important;background-color:#ff6f00!important}.mdui-theme-primary-blue .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-theme-primary-blue .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e3f2fd!important}.mdui-theme-primary-blue .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#bbdefb!important}.mdui-theme-primary-blue .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#90caf9!important}.mdui-theme-primary-blue .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#64b5f6!important}.mdui-theme-primary-blue .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#42a5f5!important}.mdui-theme-primary-blue .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-theme-primary-blue .mdui-color-theme-600{color:#fff!important;background-color:#1e88e5!important}.mdui-theme-primary-blue .mdui-color-theme-700{color:#fff!important;background-color:#1976d2!important}.mdui-theme-primary-blue .mdui-color-theme-800{color:#fff!important;background-color:#1565c0!important}.mdui-theme-primary-blue .mdui-color-theme-900{color:#fff!important;background-color:#0d47a1!important}.mdui-theme-primary-blue-grey .mdui-color-theme{color:#fff!important;background-color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#eceff1!important}.mdui-theme-primary-blue-grey .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#cfd8dc!important}.mdui-theme-primary-blue-grey .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#b0bec5!important}.mdui-theme-primary-blue-grey .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#90a4ae!important}.mdui-theme-primary-blue-grey .mdui-color-theme-400{color:#fff!important;background-color:#78909c!important}.mdui-theme-primary-blue-grey .mdui-color-theme-500{color:#fff!important;background-color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-color-theme-600{color:#fff!important;background-color:#546e7a!important}.mdui-theme-primary-blue-grey .mdui-color-theme-700{color:#fff!important;background-color:#455a64!important}.mdui-theme-primary-blue-grey .mdui-color-theme-800{color:#fff!important;background-color:#37474f!important}.mdui-theme-primary-blue-grey .mdui-color-theme-900{color:#fff!important;background-color:#263238!important}.mdui-theme-primary-brown .mdui-color-theme{color:#fff!important;background-color:#795548!important}.mdui-theme-primary-brown .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#efebe9!important}.mdui-theme-primary-brown .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#d7ccc8!important}.mdui-theme-primary-brown .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#bcaaa4!important}.mdui-theme-primary-brown .mdui-color-theme-300{color:#fff!important;background-color:#a1887f!important}.mdui-theme-primary-brown .mdui-color-theme-400{color:#fff!important;background-color:#8d6e63!important}.mdui-theme-primary-brown .mdui-color-theme-500{color:#fff!important;background-color:#795548!important}.mdui-theme-primary-brown .mdui-color-theme-600{color:#fff!important;background-color:#6d4c41!important}.mdui-theme-primary-brown .mdui-color-theme-700{color:#fff!important;background-color:#5d4037!important}.mdui-theme-primary-brown .mdui-color-theme-800{color:#fff!important;background-color:#4e342e!important}.mdui-theme-primary-brown .mdui-color-theme-900{color:#fff!important;background-color:#3e2723!important}.mdui-theme-primary-cyan .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e0f7fa!important}.mdui-theme-primary-cyan .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b2ebf2!important}.mdui-theme-primary-cyan .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#80deea!important}.mdui-theme-primary-cyan .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4dd0e1!important}.mdui-theme-primary-cyan .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#26c6da!important}.mdui-theme-primary-cyan .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#00acc1!important}.mdui-theme-primary-cyan .mdui-color-theme-700{color:#fff!important;background-color:#0097a7!important}.mdui-theme-primary-cyan .mdui-color-theme-800{color:#fff!important;background-color:#00838f!important}.mdui-theme-primary-cyan .mdui-color-theme-900{color:#fff!important;background-color:#006064!important}.mdui-theme-primary-deep-orange .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fbe9e7!important}.mdui-theme-primary-deep-orange .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffccbc!important}.mdui-theme-primary-deep-orange .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffab91!important}.mdui-theme-primary-deep-orange .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ff8a65!important}.mdui-theme-primary-deep-orange .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ff7043!important}.mdui-theme-primary-deep-orange .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-color-theme-600{color:#fff!important;background-color:#f4511e!important}.mdui-theme-primary-deep-orange .mdui-color-theme-700{color:#fff!important;background-color:#e64a19!important}.mdui-theme-primary-deep-orange .mdui-color-theme-800{color:#fff!important;background-color:#d84315!important}.mdui-theme-primary-deep-orange .mdui-color-theme-900{color:#fff!important;background-color:#bf360c!important}.mdui-theme-primary-deep-purple .mdui-color-theme{color:#fff!important;background-color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#ede7f6!important}.mdui-theme-primary-deep-purple .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#d1c4e9!important}.mdui-theme-primary-deep-purple .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#b39ddb!important}.mdui-theme-primary-deep-purple .mdui-color-theme-300{color:#fff!important;background-color:#9575cd!important}.mdui-theme-primary-deep-purple .mdui-color-theme-400{color:#fff!important;background-color:#7e57c2!important}.mdui-theme-primary-deep-purple .mdui-color-theme-500{color:#fff!important;background-color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-color-theme-600{color:#fff!important;background-color:#5e35b1!important}.mdui-theme-primary-deep-purple .mdui-color-theme-700{color:#fff!important;background-color:#512da8!important}.mdui-theme-primary-deep-purple .mdui-color-theme-800{color:#fff!important;background-color:#4527a0!important}.mdui-theme-primary-deep-purple .mdui-color-theme-900{color:#fff!important;background-color:#311b92!important}.mdui-theme-primary-green .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-theme-primary-green .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e8f5e9!important}.mdui-theme-primary-green .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#c8e6c9!important}.mdui-theme-primary-green .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#a5d6a7!important}.mdui-theme-primary-green .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#81c784!important}.mdui-theme-primary-green .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#66bb6a!important}.mdui-theme-primary-green .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-theme-primary-green .mdui-color-theme-600{color:#fff!important;background-color:#43a047!important}.mdui-theme-primary-green .mdui-color-theme-700{color:#fff!important;background-color:#388e3c!important}.mdui-theme-primary-green .mdui-color-theme-800{color:#fff!important;background-color:#2e7d32!important}.mdui-theme-primary-green .mdui-color-theme-900{color:#fff!important;background-color:#1b5e20!important}.mdui-theme-primary-grey .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fafafa!important}.mdui-theme-primary-grey .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f5f5f5!important}.mdui-theme-primary-grey .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#eee!important}.mdui-theme-primary-grey .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#e0e0e0!important}.mdui-theme-primary-grey .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#bdbdbd!important}.mdui-theme-primary-grey .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-color-theme-600{color:#fff!important;background-color:#757575!important}.mdui-theme-primary-grey .mdui-color-theme-700{color:#fff!important;background-color:#616161!important}.mdui-theme-primary-grey .mdui-color-theme-800{color:#fff!important;background-color:#424242!important}.mdui-theme-primary-grey .mdui-color-theme-900{color:#fff!important;background-color:#212121!important}.mdui-theme-primary-indigo .mdui-color-theme{color:#fff!important;background-color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e8eaf6!important}.mdui-theme-primary-indigo .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#c5cae9!important}.mdui-theme-primary-indigo .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#9fa8da!important}.mdui-theme-primary-indigo .mdui-color-theme-300{color:#fff!important;background-color:#7986cb!important}.mdui-theme-primary-indigo .mdui-color-theme-400{color:#fff!important;background-color:#5c6bc0!important}.mdui-theme-primary-indigo .mdui-color-theme-500{color:#fff!important;background-color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-color-theme-600{color:#fff!important;background-color:#3949ab!important}.mdui-theme-primary-indigo .mdui-color-theme-700{color:#fff!important;background-color:#303f9f!important}.mdui-theme-primary-indigo .mdui-color-theme-800{color:#fff!important;background-color:#283593!important}.mdui-theme-primary-indigo .mdui-color-theme-900{color:#fff!important;background-color:#1a237e!important}.mdui-theme-primary-light-blue .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e1f5fe!important}.mdui-theme-primary-light-blue .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b3e5fc!important}.mdui-theme-primary-light-blue .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#81d4fa!important}.mdui-theme-primary-light-blue .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4fc3f7!important}.mdui-theme-primary-light-blue .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#29b6f6!important}.mdui-theme-primary-light-blue .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#039be5!important}.mdui-theme-primary-light-blue .mdui-color-theme-700{color:#fff!important;background-color:#0288d1!important}.mdui-theme-primary-light-blue .mdui-color-theme-800{color:#fff!important;background-color:#0277bd!important}.mdui-theme-primary-light-blue .mdui-color-theme-900{color:#fff!important;background-color:#01579b!important}.mdui-theme-primary-light-green .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f1f8e9!important}.mdui-theme-primary-light-green .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#dcedc8!important}.mdui-theme-primary-light-green .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#c5e1a5!important}.mdui-theme-primary-light-green .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#aed581!important}.mdui-theme-primary-light-green .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#9ccc65!important}.mdui-theme-primary-light-green .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#7cb342!important}.mdui-theme-primary-light-green .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#689f38!important}.mdui-theme-primary-light-green .mdui-color-theme-800{color:#fff!important;background-color:#558b2f!important}.mdui-theme-primary-light-green .mdui-color-theme-900{color:#fff!important;background-color:#33691e!important}.mdui-theme-primary-lime .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-theme-primary-lime .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f9fbe7!important}.mdui-theme-primary-lime .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f0f4c3!important}.mdui-theme-primary-lime .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#e6ee9c!important}.mdui-theme-primary-lime .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#dce775!important}.mdui-theme-primary-lime .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#d4e157!important}.mdui-theme-primary-lime .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-theme-primary-lime .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#c0ca33!important}.mdui-theme-primary-lime .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#afb42b!important}.mdui-theme-primary-lime .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#9e9d24!important}.mdui-theme-primary-lime .mdui-color-theme-900{color:#fff!important;background-color:#827717!important}.mdui-theme-primary-orange .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-theme-primary-orange .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fff3e0!important}.mdui-theme-primary-orange .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffe0b2!important}.mdui-theme-primary-orange .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffcc80!important}.mdui-theme-primary-orange .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ffb74d!important}.mdui-theme-primary-orange .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffa726!important}.mdui-theme-primary-orange .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-theme-primary-orange .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#fb8c00!important}.mdui-theme-primary-orange .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#f57c00!important}.mdui-theme-primary-orange .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#ef6c00!important}.mdui-theme-primary-orange .mdui-color-theme-900{color:#fff!important;background-color:#e65100!important}.mdui-theme-primary-pink .mdui-color-theme{color:#fff!important;background-color:#e91e63!important}.mdui-theme-primary-pink .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fce4ec!important}.mdui-theme-primary-pink .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f8bbd0!important}.mdui-theme-primary-pink .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#f48fb1!important}.mdui-theme-primary-pink .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#f06292!important}.mdui-theme-primary-pink .mdui-color-theme-400{color:#fff!important;background-color:#ec407a!important}.mdui-theme-primary-pink .mdui-color-theme-500{color:#fff!important;background-color:#e91e63!important}.mdui-theme-primary-pink .mdui-color-theme-600{color:#fff!important;background-color:#d81b60!important}.mdui-theme-primary-pink .mdui-color-theme-700{color:#fff!important;background-color:#c2185b!important}.mdui-theme-primary-pink .mdui-color-theme-800{color:#fff!important;background-color:#ad1457!important}.mdui-theme-primary-pink .mdui-color-theme-900{color:#fff!important;background-color:#880e4f!important}.mdui-theme-primary-purple .mdui-color-theme{color:#fff!important;background-color:#9c27b0!important}.mdui-theme-primary-purple .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f3e5f5!important}.mdui-theme-primary-purple .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#e1bee7!important}.mdui-theme-primary-purple .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ce93d8!important}.mdui-theme-primary-purple .mdui-color-theme-300{color:#fff!important;background-color:#ba68c8!important}.mdui-theme-primary-purple .mdui-color-theme-400{color:#fff!important;background-color:#ab47bc!important}.mdui-theme-primary-purple .mdui-color-theme-500{color:#fff!important;background-color:#9c27b0!important}.mdui-theme-primary-purple .mdui-color-theme-600{color:#fff!important;background-color:#8e24aa!important}.mdui-theme-primary-purple .mdui-color-theme-700{color:#fff!important;background-color:#7b1fa2!important}.mdui-theme-primary-purple .mdui-color-theme-800{color:#fff!important;background-color:#6a1b9a!important}.mdui-theme-primary-purple .mdui-color-theme-900{color:#fff!important;background-color:#4a148c!important}.mdui-theme-primary-red .mdui-color-theme{color:#fff!important;background-color:#f44336!important}.mdui-theme-primary-red .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#ffebee!important}.mdui-theme-primary-red .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffcdd2!important}.mdui-theme-primary-red .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ef9a9a!important}.mdui-theme-primary-red .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#e57373!important}.mdui-theme-primary-red .mdui-color-theme-400{color:#fff!important;background-color:#ef5350!important}.mdui-theme-primary-red .mdui-color-theme-500{color:#fff!important;background-color:#f44336!important}.mdui-theme-primary-red .mdui-color-theme-600{color:#fff!important;background-color:#e53935!important}.mdui-theme-primary-red .mdui-color-theme-700{color:#fff!important;background-color:#d32f2f!important}.mdui-theme-primary-red .mdui-color-theme-800{color:#fff!important;background-color:#c62828!important}.mdui-theme-primary-red .mdui-color-theme-900{color:#fff!important;background-color:#b71c1c!important}.mdui-theme-primary-teal .mdui-color-theme{color:#fff!important;background-color:#009688!important}.mdui-theme-primary-teal .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e0f2f1!important}.mdui-theme-primary-teal .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b2dfdb!important}.mdui-theme-primary-teal .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#80cbc4!important}.mdui-theme-primary-teal .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4db6ac!important}.mdui-theme-primary-teal .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#26a69a!important}.mdui-theme-primary-teal .mdui-color-theme-500{color:#fff!important;background-color:#009688!important}.mdui-theme-primary-teal .mdui-color-theme-600{color:#fff!important;background-color:#00897b!important}.mdui-theme-primary-teal .mdui-color-theme-700{color:#fff!important;background-color:#00796b!important}.mdui-theme-primary-teal .mdui-color-theme-800{color:#fff!important;background-color:#00695c!important}.mdui-theme-primary-teal .mdui-color-theme-900{color:#fff!important;background-color:#004d40!important}.mdui-theme-primary-yellow .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fffde7!important}.mdui-theme-primary-yellow .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#fff9c4!important}.mdui-theme-primary-yellow .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#fff59d!important}.mdui-theme-primary-yellow .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#fff176!important}.mdui-theme-primary-yellow .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffee58!important}.mdui-theme-primary-yellow .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#fdd835!important}.mdui-theme-primary-yellow .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#fbc02d!important}.mdui-theme-primary-yellow .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#f9a825!important}.mdui-theme-primary-yellow .mdui-color-theme-900{color:rgba(0,0,0,.87)!important;background-color:#f57f17!important}.mdui-theme-accent-amber .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-theme-accent-amber .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffe57f!important}.mdui-theme-accent-amber .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-theme-accent-amber .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ffc400!important}.mdui-theme-accent-amber .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ffab00!important}.mdui-theme-accent-blue .mdui-color-theme-accent{color:#fff!important;background-color:#448aff!important}.mdui-theme-accent-blue .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#82b1ff!important}.mdui-theme-accent-blue .mdui-color-theme-a200{color:#fff!important;background-color:#448aff!important}.mdui-theme-accent-blue .mdui-color-theme-a400{color:#fff!important;background-color:#2979ff!important}.mdui-theme-accent-blue .mdui-color-theme-a700{color:#fff!important;background-color:#2962ff!important}.mdui-theme-accent-cyan .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#84ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00e5ff!important}.mdui-theme-accent-cyan .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00b8d4!important}.mdui-theme-accent-deep-orange .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff9e80!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a400{color:#fff!important;background-color:#ff3d00!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a700{color:#fff!important;background-color:#dd2c00!important}.mdui-theme-accent-deep-purple .mdui-color-theme-accent{color:#fff!important;background-color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#b388ff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a200{color:#fff!important;background-color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a400{color:#fff!important;background-color:#651fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a700{color:#fff!important;background-color:#6200ea!important}.mdui-theme-accent-green .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-theme-accent-green .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#b9f6ca!important}.mdui-theme-accent-green .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-theme-accent-green .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00e676!important}.mdui-theme-accent-green .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00c853!important}.mdui-theme-accent-indigo .mdui-color-theme-accent{color:#fff!important;background-color:#536dfe!important}.mdui-theme-accent-indigo .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#8c9eff!important}.mdui-theme-accent-indigo .mdui-color-theme-a200{color:#fff!important;background-color:#536dfe!important}.mdui-theme-accent-indigo .mdui-color-theme-a400{color:#fff!important;background-color:#3d5afe!important}.mdui-theme-accent-indigo .mdui-color-theme-a700{color:#fff!important;background-color:#304ffe!important}.mdui-theme-accent-light-blue .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#80d8ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00b0ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a700{color:#fff!important;background-color:#0091ea!important}.mdui-theme-accent-light-green .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ccff90!important}.mdui-theme-accent-light-green .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#76ff03!important}.mdui-theme-accent-light-green .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#64dd17!important}.mdui-theme-accent-lime .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-theme-accent-lime .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#f4ff81!important}.mdui-theme-accent-lime .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-theme-accent-lime .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#c6ff00!important}.mdui-theme-accent-lime .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#aeea00!important}.mdui-theme-accent-orange .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-theme-accent-orange .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffd180!important}.mdui-theme-accent-orange .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-theme-accent-orange .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ff9100!important}.mdui-theme-accent-orange .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ff6d00!important}.mdui-theme-accent-pink .mdui-color-theme-accent{color:#fff!important;background-color:#ff4081!important}.mdui-theme-accent-pink .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff80ab!important}.mdui-theme-accent-pink .mdui-color-theme-a200{color:#fff!important;background-color:#ff4081!important}.mdui-theme-accent-pink .mdui-color-theme-a400{color:#fff!important;background-color:#f50057!important}.mdui-theme-accent-pink .mdui-color-theme-a700{color:#fff!important;background-color:#c51162!important}.mdui-theme-accent-purple .mdui-color-theme-accent{color:#fff!important;background-color:#e040fb!important}.mdui-theme-accent-purple .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ea80fc!important}.mdui-theme-accent-purple .mdui-color-theme-a200{color:#fff!important;background-color:#e040fb!important}.mdui-theme-accent-purple .mdui-color-theme-a400{color:#fff!important;background-color:#d500f9!important}.mdui-theme-accent-purple .mdui-color-theme-a700{color:#fff!important;background-color:#a0f!important}.mdui-theme-accent-red .mdui-color-theme-accent{color:#fff!important;background-color:#ff5252!important}.mdui-theme-accent-red .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff8a80!important}.mdui-theme-accent-red .mdui-color-theme-a200{color:#fff!important;background-color:#ff5252!important}.mdui-theme-accent-red .mdui-color-theme-a400{color:#fff!important;background-color:#ff1744!important}.mdui-theme-accent-red .mdui-color-theme-a700{color:#fff!important;background-color:#d50000!important}.mdui-theme-accent-teal .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-theme-accent-teal .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#a7ffeb!important}.mdui-theme-accent-teal .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-theme-accent-teal .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#1de9b6!important}.mdui-theme-accent-teal .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00bfa5!important}.mdui-theme-accent-yellow .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-theme-accent-yellow .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffff8d!important}.mdui-theme-accent-yellow .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-theme-accent-yellow .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ffea00!important}.mdui-theme-accent-yellow .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ffd600!important}.mdui-color-amber{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-color-amber-50{color:rgba(0,0,0,.87)!important;background-color:#fff8e1!important}.mdui-color-amber-100{color:rgba(0,0,0,.87)!important;background-color:#ffecb3!important}.mdui-color-amber-200{color:rgba(0,0,0,.87)!important;background-color:#ffe082!important}.mdui-color-amber-300{color:rgba(0,0,0,.87)!important;background-color:#ffd54f!important}.mdui-color-amber-400{color:rgba(0,0,0,.87)!important;background-color:#ffca28!important}.mdui-color-amber-500{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-color-amber-600{color:rgba(0,0,0,.87)!important;background-color:#ffb300!important}.mdui-color-amber-700{color:rgba(0,0,0,.87)!important;background-color:#ffa000!important}.mdui-color-amber-800{color:rgba(0,0,0,.87)!important;background-color:#ff8f00!important}.mdui-color-amber-900{color:rgba(0,0,0,.87)!important;background-color:#ff6f00!important}.mdui-color-blue{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-color-blue-50{color:rgba(0,0,0,.87)!important;background-color:#e3f2fd!important}.mdui-color-blue-100{color:rgba(0,0,0,.87)!important;background-color:#bbdefb!important}.mdui-color-blue-200{color:rgba(0,0,0,.87)!important;background-color:#90caf9!important}.mdui-color-blue-300{color:rgba(0,0,0,.87)!important;background-color:#64b5f6!important}.mdui-color-blue-400{color:rgba(0,0,0,.87)!important;background-color:#42a5f5!important}.mdui-color-blue-500{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-color-blue-600{color:#fff!important;background-color:#1e88e5!important}.mdui-color-blue-700{color:#fff!important;background-color:#1976d2!important}.mdui-color-blue-800{color:#fff!important;background-color:#1565c0!important}.mdui-color-blue-900{color:#fff!important;background-color:#0d47a1!important}.mdui-color-blue-grey{color:#fff!important;background-color:#607d8b!important}.mdui-color-blue-grey-50{color:rgba(0,0,0,.87)!important;background-color:#eceff1!important}.mdui-color-blue-grey-100{color:rgba(0,0,0,.87)!important;background-color:#cfd8dc!important}.mdui-color-blue-grey-200{color:rgba(0,0,0,.87)!important;background-color:#b0bec5!important}.mdui-color-blue-grey-300{color:rgba(0,0,0,.87)!important;background-color:#90a4ae!important}.mdui-color-blue-grey-400{color:#fff!important;background-color:#78909c!important}.mdui-color-blue-grey-500{color:#fff!important;background-color:#607d8b!important}.mdui-color-blue-grey-600{color:#fff!important;background-color:#546e7a!important}.mdui-color-blue-grey-700{color:#fff!important;background-color:#455a64!important}.mdui-color-blue-grey-800{color:#fff!important;background-color:#37474f!important}.mdui-color-blue-grey-900{color:#fff!important;background-color:#263238!important}.mdui-color-brown{color:#fff!important;background-color:#795548!important}.mdui-color-brown-50{color:rgba(0,0,0,.87)!important;background-color:#efebe9!important}.mdui-color-brown-100{color:rgba(0,0,0,.87)!important;background-color:#d7ccc8!important}.mdui-color-brown-200{color:rgba(0,0,0,.87)!important;background-color:#bcaaa4!important}.mdui-color-brown-300{color:#fff!important;background-color:#a1887f!important}.mdui-color-brown-400{color:#fff!important;background-color:#8d6e63!important}.mdui-color-brown-500{color:#fff!important;background-color:#795548!important}.mdui-color-brown-600{color:#fff!important;background-color:#6d4c41!important}.mdui-color-brown-700{color:#fff!important;background-color:#5d4037!important}.mdui-color-brown-800{color:#fff!important;background-color:#4e342e!important}.mdui-color-brown-900{color:#fff!important;background-color:#3e2723!important}.mdui-color-cyan{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-color-cyan-50{color:rgba(0,0,0,.87)!important;background-color:#e0f7fa!important}.mdui-color-cyan-100{color:rgba(0,0,0,.87)!important;background-color:#b2ebf2!important}.mdui-color-cyan-200{color:rgba(0,0,0,.87)!important;background-color:#80deea!important}.mdui-color-cyan-300{color:rgba(0,0,0,.87)!important;background-color:#4dd0e1!important}.mdui-color-cyan-400{color:rgba(0,0,0,.87)!important;background-color:#26c6da!important}.mdui-color-cyan-500{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-color-cyan-600{color:rgba(0,0,0,.87)!important;background-color:#00acc1!important}.mdui-color-cyan-700{color:#fff!important;background-color:#0097a7!important}.mdui-color-cyan-800{color:#fff!important;background-color:#00838f!important}.mdui-color-cyan-900{color:#fff!important;background-color:#006064!important}.mdui-color-deep-orange{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-color-deep-orange-50{color:rgba(0,0,0,.87)!important;background-color:#fbe9e7!important}.mdui-color-deep-orange-100{color:rgba(0,0,0,.87)!important;background-color:#ffccbc!important}.mdui-color-deep-orange-200{color:rgba(0,0,0,.87)!important;background-color:#ffab91!important}.mdui-color-deep-orange-300{color:rgba(0,0,0,.87)!important;background-color:#ff8a65!important}.mdui-color-deep-orange-400{color:rgba(0,0,0,.87)!important;background-color:#ff7043!important}.mdui-color-deep-orange-500{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-color-deep-orange-600{color:#fff!important;background-color:#f4511e!important}.mdui-color-deep-orange-700{color:#fff!important;background-color:#e64a19!important}.mdui-color-deep-orange-800{color:#fff!important;background-color:#d84315!important}.mdui-color-deep-orange-900{color:#fff!important;background-color:#bf360c!important}.mdui-color-deep-purple{color:#fff!important;background-color:#673ab7!important}.mdui-color-deep-purple-50{color:rgba(0,0,0,.87)!important;background-color:#ede7f6!important}.mdui-color-deep-purple-100{color:rgba(0,0,0,.87)!important;background-color:#d1c4e9!important}.mdui-color-deep-purple-200{color:rgba(0,0,0,.87)!important;background-color:#b39ddb!important}.mdui-color-deep-purple-300{color:#fff!important;background-color:#9575cd!important}.mdui-color-deep-purple-400{color:#fff!important;background-color:#7e57c2!important}.mdui-color-deep-purple-500{color:#fff!important;background-color:#673ab7!important}.mdui-color-deep-purple-600{color:#fff!important;background-color:#5e35b1!important}.mdui-color-deep-purple-700{color:#fff!important;background-color:#512da8!important}.mdui-color-deep-purple-800{color:#fff!important;background-color:#4527a0!important}.mdui-color-deep-purple-900{color:#fff!important;background-color:#311b92!important}.mdui-color-green{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-color-green-50{color:rgba(0,0,0,.87)!important;background-color:#e8f5e9!important}.mdui-color-green-100{color:rgba(0,0,0,.87)!important;background-color:#c8e6c9!important}.mdui-color-green-200{color:rgba(0,0,0,.87)!important;background-color:#a5d6a7!important}.mdui-color-green-300{color:rgba(0,0,0,.87)!important;background-color:#81c784!important}.mdui-color-green-400{color:rgba(0,0,0,.87)!important;background-color:#66bb6a!important}.mdui-color-green-500{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-color-green-600{color:#fff!important;background-color:#43a047!important}.mdui-color-green-700{color:#fff!important;background-color:#388e3c!important}.mdui-color-green-800{color:#fff!important;background-color:#2e7d32!important}.mdui-color-green-900{color:#fff!important;background-color:#1b5e20!important}.mdui-color-grey{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-color-grey-50{color:rgba(0,0,0,.87)!important;background-color:#fafafa!important}.mdui-color-grey-100{color:rgba(0,0,0,.87)!important;background-color:#f5f5f5!important}.mdui-color-grey-200{color:rgba(0,0,0,.87)!important;background-color:#eee!important}.mdui-color-grey-300{color:rgba(0,0,0,.87)!important;background-color:#e0e0e0!important}.mdui-color-grey-400{color:rgba(0,0,0,.87)!important;background-color:#bdbdbd!important}.mdui-color-grey-500{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-color-grey-600{color:#fff!important;background-color:#757575!important}.mdui-color-grey-700{color:#fff!important;background-color:#616161!important}.mdui-color-grey-800{color:#fff!important;background-color:#424242!important}.mdui-color-grey-900{color:#fff!important;background-color:#212121!important}.mdui-color-indigo{color:#fff!important;background-color:#3f51b5!important}.mdui-color-indigo-50{color:rgba(0,0,0,.87)!important;background-color:#e8eaf6!important}.mdui-color-indigo-100{color:rgba(0,0,0,.87)!important;background-color:#c5cae9!important}.mdui-color-indigo-200{color:rgba(0,0,0,.87)!important;background-color:#9fa8da!important}.mdui-color-indigo-300{color:#fff!important;background-color:#7986cb!important}.mdui-color-indigo-400{color:#fff!important;background-color:#5c6bc0!important}.mdui-color-indigo-500{color:#fff!important;background-color:#3f51b5!important}.mdui-color-indigo-600{color:#fff!important;background-color:#3949ab!important}.mdui-color-indigo-700{color:#fff!important;background-color:#303f9f!important}.mdui-color-indigo-800{color:#fff!important;background-color:#283593!important}.mdui-color-indigo-900{color:#fff!important;background-color:#1a237e!important}.mdui-color-light-blue{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-color-light-blue-50{color:rgba(0,0,0,.87)!important;background-color:#e1f5fe!important}.mdui-color-light-blue-100{color:rgba(0,0,0,.87)!important;background-color:#b3e5fc!important}.mdui-color-light-blue-200{color:rgba(0,0,0,.87)!important;background-color:#81d4fa!important}.mdui-color-light-blue-300{color:rgba(0,0,0,.87)!important;background-color:#4fc3f7!important}.mdui-color-light-blue-400{color:rgba(0,0,0,.87)!important;background-color:#29b6f6!important}.mdui-color-light-blue-500{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-color-light-blue-600{color:rgba(0,0,0,.87)!important;background-color:#039be5!important}.mdui-color-light-blue-700{color:#fff!important;background-color:#0288d1!important}.mdui-color-light-blue-800{color:#fff!important;background-color:#0277bd!important}.mdui-color-light-blue-900{color:#fff!important;background-color:#01579b!important}.mdui-color-light-green{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-color-light-green-50{color:rgba(0,0,0,.87)!important;background-color:#f1f8e9!important}.mdui-color-light-green-100{color:rgba(0,0,0,.87)!important;background-color:#dcedc8!important}.mdui-color-light-green-200{color:rgba(0,0,0,.87)!important;background-color:#c5e1a5!important}.mdui-color-light-green-300{color:rgba(0,0,0,.87)!important;background-color:#aed581!important}.mdui-color-light-green-400{color:rgba(0,0,0,.87)!important;background-color:#9ccc65!important}.mdui-color-light-green-500{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-color-light-green-600{color:rgba(0,0,0,.87)!important;background-color:#7cb342!important}.mdui-color-light-green-700{color:rgba(0,0,0,.87)!important;background-color:#689f38!important}.mdui-color-light-green-800{color:#fff!important;background-color:#558b2f!important}.mdui-color-light-green-900{color:#fff!important;background-color:#33691e!important}.mdui-color-lime{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-color-lime-50{color:rgba(0,0,0,.87)!important;background-color:#f9fbe7!important}.mdui-color-lime-100{color:rgba(0,0,0,.87)!important;background-color:#f0f4c3!important}.mdui-color-lime-200{color:rgba(0,0,0,.87)!important;background-color:#e6ee9c!important}.mdui-color-lime-300{color:rgba(0,0,0,.87)!important;background-color:#dce775!important}.mdui-color-lime-400{color:rgba(0,0,0,.87)!important;background-color:#d4e157!important}.mdui-color-lime-500{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-color-lime-600{color:rgba(0,0,0,.87)!important;background-color:#c0ca33!important}.mdui-color-lime-700{color:rgba(0,0,0,.87)!important;background-color:#afb42b!important}.mdui-color-lime-800{color:rgba(0,0,0,.87)!important;background-color:#9e9d24!important}.mdui-color-lime-900{color:#fff!important;background-color:#827717!important}.mdui-color-orange{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-color-orange-50{color:rgba(0,0,0,.87)!important;background-color:#fff3e0!important}.mdui-color-orange-100{color:rgba(0,0,0,.87)!important;background-color:#ffe0b2!important}.mdui-color-orange-200{color:rgba(0,0,0,.87)!important;background-color:#ffcc80!important}.mdui-color-orange-300{color:rgba(0,0,0,.87)!important;background-color:#ffb74d!important}.mdui-color-orange-400{color:rgba(0,0,0,.87)!important;background-color:#ffa726!important}.mdui-color-orange-500{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-color-orange-600{color:rgba(0,0,0,.87)!important;background-color:#fb8c00!important}.mdui-color-orange-700{color:rgba(0,0,0,.87)!important;background-color:#f57c00!important}.mdui-color-orange-800{color:rgba(0,0,0,.87)!important;background-color:#ef6c00!important}.mdui-color-orange-900{color:#fff!important;background-color:#e65100!important}.mdui-color-pink{color:#fff!important;background-color:#e91e63!important}.mdui-color-pink-50{color:rgba(0,0,0,.87)!important;background-color:#fce4ec!important}.mdui-color-pink-100{color:rgba(0,0,0,.87)!important;background-color:#f8bbd0!important}.mdui-color-pink-200{color:rgba(0,0,0,.87)!important;background-color:#f48fb1!important}.mdui-color-pink-300{color:rgba(0,0,0,.87)!important;background-color:#f06292!important}.mdui-color-pink-400{color:#fff!important;background-color:#ec407a!important}.mdui-color-pink-500{color:#fff!important;background-color:#e91e63!important}.mdui-color-pink-600{color:#fff!important;background-color:#d81b60!important}.mdui-color-pink-700{color:#fff!important;background-color:#c2185b!important}.mdui-color-pink-800{color:#fff!important;background-color:#ad1457!important}.mdui-color-pink-900{color:#fff!important;background-color:#880e4f!important}.mdui-color-purple{color:#fff!important;background-color:#9c27b0!important}.mdui-color-purple-50{color:rgba(0,0,0,.87)!important;background-color:#f3e5f5!important}.mdui-color-purple-100{color:rgba(0,0,0,.87)!important;background-color:#e1bee7!important}.mdui-color-purple-200{color:rgba(0,0,0,.87)!important;background-color:#ce93d8!important}.mdui-color-purple-300{color:#fff!important;background-color:#ba68c8!important}.mdui-color-purple-400{color:#fff!important;background-color:#ab47bc!important}.mdui-color-purple-500{color:#fff!important;background-color:#9c27b0!important}.mdui-color-purple-600{color:#fff!important;background-color:#8e24aa!important}.mdui-color-purple-700{color:#fff!important;background-color:#7b1fa2!important}.mdui-color-purple-800{color:#fff!important;background-color:#6a1b9a!important}.mdui-color-purple-900{color:#fff!important;background-color:#4a148c!important}.mdui-color-red{color:#fff!important;background-color:#f44336!important}.mdui-color-red-50{color:rgba(0,0,0,.87)!important;background-color:#ffebee!important}.mdui-color-red-100{color:rgba(0,0,0,.87)!important;background-color:#ffcdd2!important}.mdui-color-red-200{color:rgba(0,0,0,.87)!important;background-color:#ef9a9a!important}.mdui-color-red-300{color:rgba(0,0,0,.87)!important;background-color:#e57373!important}.mdui-color-red-400{color:#fff!important;background-color:#ef5350!important}.mdui-color-red-500{color:#fff!important;background-color:#f44336!important}.mdui-color-red-600{color:#fff!important;background-color:#e53935!important}.mdui-color-red-700{color:#fff!important;background-color:#d32f2f!important}.mdui-color-red-800{color:#fff!important;background-color:#c62828!important}.mdui-color-red-900{color:#fff!important;background-color:#b71c1c!important}.mdui-color-teal{color:#fff!important;background-color:#009688!important}.mdui-color-teal-50{color:rgba(0,0,0,.87)!important;background-color:#e0f2f1!important}.mdui-color-teal-100{color:rgba(0,0,0,.87)!important;background-color:#b2dfdb!important}.mdui-color-teal-200{color:rgba(0,0,0,.87)!important;background-color:#80cbc4!important}.mdui-color-teal-300{color:rgba(0,0,0,.87)!important;background-color:#4db6ac!important}.mdui-color-teal-400{color:rgba(0,0,0,.87)!important;background-color:#26a69a!important}.mdui-color-teal-500{color:#fff!important;background-color:#009688!important}.mdui-color-teal-600{color:#fff!important;background-color:#00897b!important}.mdui-color-teal-700{color:#fff!important;background-color:#00796b!important}.mdui-color-teal-800{color:#fff!important;background-color:#00695c!important}.mdui-color-teal-900{color:#fff!important;background-color:#004d40!important}.mdui-color-yellow{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-color-yellow-50{color:rgba(0,0,0,.87)!important;background-color:#fffde7!important}.mdui-color-yellow-100{color:rgba(0,0,0,.87)!important;background-color:#fff9c4!important}.mdui-color-yellow-200{color:rgba(0,0,0,.87)!important;background-color:#fff59d!important}.mdui-color-yellow-300{color:rgba(0,0,0,.87)!important;background-color:#fff176!important}.mdui-color-yellow-400{color:rgba(0,0,0,.87)!important;background-color:#ffee58!important}.mdui-color-yellow-500{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-color-yellow-600{color:rgba(0,0,0,.87)!important;background-color:#fdd835!important}.mdui-color-yellow-700{color:rgba(0,0,0,.87)!important;background-color:#fbc02d!important}.mdui-color-yellow-800{color:rgba(0,0,0,.87)!important;background-color:#f9a825!important}.mdui-color-yellow-900{color:rgba(0,0,0,.87)!important;background-color:#f57f17!important}.mdui-color-amber-accent{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-color-amber-a100{color:rgba(0,0,0,.87)!important;background-color:#ffe57f!important}.mdui-color-amber-a200{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-color-amber-a400{color:rgba(0,0,0,.87)!important;background-color:#ffc400!important}.mdui-color-amber-a700{color:rgba(0,0,0,.87)!important;background-color:#ffab00!important}.mdui-color-blue-accent{color:#fff!important;background-color:#448aff!important}.mdui-color-blue-a100{color:rgba(0,0,0,.87)!important;background-color:#82b1ff!important}.mdui-color-blue-a200{color:#fff!important;background-color:#448aff!important}.mdui-color-blue-a400{color:#fff!important;background-color:#2979ff!important}.mdui-color-blue-a700{color:#fff!important;background-color:#2962ff!important}.mdui-color-cyan-accent{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-color-cyan-a100{color:rgba(0,0,0,.87)!important;background-color:#84ffff!important}.mdui-color-cyan-a200{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-color-cyan-a400{color:rgba(0,0,0,.87)!important;background-color:#00e5ff!important}.mdui-color-cyan-a700{color:rgba(0,0,0,.87)!important;background-color:#00b8d4!important}.mdui-color-deep-orange-accent{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-color-deep-orange-a100{color:rgba(0,0,0,.87)!important;background-color:#ff9e80!important}.mdui-color-deep-orange-a200{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-color-deep-orange-a400{color:#fff!important;background-color:#ff3d00!important}.mdui-color-deep-orange-a700{color:#fff!important;background-color:#dd2c00!important}.mdui-color-deep-purple-accent{color:#fff!important;background-color:#7c4dff!important}.mdui-color-deep-purple-a100{color:rgba(0,0,0,.87)!important;background-color:#b388ff!important}.mdui-color-deep-purple-a200{color:#fff!important;background-color:#7c4dff!important}.mdui-color-deep-purple-a400{color:#fff!important;background-color:#651fff!important}.mdui-color-deep-purple-a700{color:#fff!important;background-color:#6200ea!important}.mdui-color-green-accent{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-color-green-a100{color:rgba(0,0,0,.87)!important;background-color:#b9f6ca!important}.mdui-color-green-a200{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-color-green-a400{color:rgba(0,0,0,.87)!important;background-color:#00e676!important}.mdui-color-green-a700{color:rgba(0,0,0,.87)!important;background-color:#00c853!important}.mdui-color-indigo-accent{color:#fff!important;background-color:#536dfe!important}.mdui-color-indigo-a100{color:rgba(0,0,0,.87)!important;background-color:#8c9eff!important}.mdui-color-indigo-a200{color:#fff!important;background-color:#536dfe!important}.mdui-color-indigo-a400{color:#fff!important;background-color:#3d5afe!important}.mdui-color-indigo-a700{color:#fff!important;background-color:#304ffe!important}.mdui-color-light-blue-accent{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-color-light-blue-a100{color:rgba(0,0,0,.87)!important;background-color:#80d8ff!important}.mdui-color-light-blue-a200{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-color-light-blue-a400{color:rgba(0,0,0,.87)!important;background-color:#00b0ff!important}.mdui-color-light-blue-a700{color:#fff!important;background-color:#0091ea!important}.mdui-color-light-green-accent{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-color-light-green-a100{color:rgba(0,0,0,.87)!important;background-color:#ccff90!important}.mdui-color-light-green-a200{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-color-light-green-a400{color:rgba(0,0,0,.87)!important;background-color:#76ff03!important}.mdui-color-light-green-a700{color:rgba(0,0,0,.87)!important;background-color:#64dd17!important}.mdui-color-lime-accent{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-color-lime-a100{color:rgba(0,0,0,.87)!important;background-color:#f4ff81!important}.mdui-color-lime-a200{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-color-lime-a400{color:rgba(0,0,0,.87)!important;background-color:#c6ff00!important}.mdui-color-lime-a700{color:rgba(0,0,0,.87)!important;background-color:#aeea00!important}.mdui-color-orange-accent{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-color-orange-a100{color:rgba(0,0,0,.87)!important;background-color:#ffd180!important}.mdui-color-orange-a200{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-color-orange-a400{color:rgba(0,0,0,.87)!important;background-color:#ff9100!important}.mdui-color-orange-a700{color:rgba(0,0,0,.87)!important;background-color:#ff6d00!important}.mdui-color-pink-accent{color:#fff!important;background-color:#ff4081!important}.mdui-color-pink-a100{color:rgba(0,0,0,.87)!important;background-color:#ff80ab!important}.mdui-color-pink-a200{color:#fff!important;background-color:#ff4081!important}.mdui-color-pink-a400{color:#fff!important;background-color:#f50057!important}.mdui-color-pink-a700{color:#fff!important;background-color:#c51162!important}.mdui-color-purple-accent{color:#fff!important;background-color:#e040fb!important}.mdui-color-purple-a100{color:rgba(0,0,0,.87)!important;background-color:#ea80fc!important}.mdui-color-purple-a200{color:#fff!important;background-color:#e040fb!important}.mdui-color-purple-a400{color:#fff!important;background-color:#d500f9!important}.mdui-color-purple-a700{color:#fff!important;background-color:#a0f!important}.mdui-color-red-accent{color:#fff!important;background-color:#ff5252!important}.mdui-color-red-a100{color:rgba(0,0,0,.87)!important;background-color:#ff8a80!important}.mdui-color-red-a200{color:#fff!important;background-color:#ff5252!important}.mdui-color-red-a400{color:#fff!important;background-color:#ff1744!important}.mdui-color-red-a700{color:#fff!important;background-color:#d50000!important}.mdui-color-teal-accent{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-color-teal-a100{color:rgba(0,0,0,.87)!important;background-color:#a7ffeb!important}.mdui-color-teal-a200{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-color-teal-a400{color:rgba(0,0,0,.87)!important;background-color:#1de9b6!important}.mdui-color-teal-a700{color:rgba(0,0,0,.87)!important;background-color:#00bfa5!important}.mdui-color-yellow-accent{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-color-yellow-a100{color:rgba(0,0,0,.87)!important;background-color:#ffff8d!important}.mdui-color-yellow-a200{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-color-yellow-a400{color:rgba(0,0,0,.87)!important;background-color:#ffea00!important}.mdui-color-yellow-a700{color:rgba(0,0,0,.87)!important;background-color:#ffd600!important}.mdui-color-black{color:#fff!important;background-color:#000!important}.mdui-color-white{color:rgba(0,0,0,.87)!important;background-color:#fff!important}.mdui-color-transparent{background-color:transparent!important}.mdui-theme-primary-amber .mdui-text-color-theme{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-50{color:#fff8e1!important}.mdui-theme-primary-amber .mdui-text-color-theme-100{color:#ffecb3!important}.mdui-theme-primary-amber .mdui-text-color-theme-200{color:#ffe082!important}.mdui-theme-primary-amber .mdui-text-color-theme-300{color:#ffd54f!important}.mdui-theme-primary-amber .mdui-text-color-theme-400{color:#ffca28!important}.mdui-theme-primary-amber .mdui-text-color-theme-500{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-600{color:#ffb300!important}.mdui-theme-primary-amber .mdui-text-color-theme-700{color:#ffa000!important}.mdui-theme-primary-amber .mdui-text-color-theme-800{color:#ff8f00!important}.mdui-theme-primary-amber .mdui-text-color-theme-900{color:#ff6f00!important}.mdui-theme-primary-blue .mdui-text-color-theme{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-50{color:#e3f2fd!important}.mdui-theme-primary-blue .mdui-text-color-theme-100{color:#bbdefb!important}.mdui-theme-primary-blue .mdui-text-color-theme-200{color:#90caf9!important}.mdui-theme-primary-blue .mdui-text-color-theme-300{color:#64b5f6!important}.mdui-theme-primary-blue .mdui-text-color-theme-400{color:#42a5f5!important}.mdui-theme-primary-blue .mdui-text-color-theme-500{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-600{color:#1e88e5!important}.mdui-theme-primary-blue .mdui-text-color-theme-700{color:#1976d2!important}.mdui-theme-primary-blue .mdui-text-color-theme-800{color:#1565c0!important}.mdui-theme-primary-blue .mdui-text-color-theme-900{color:#0d47a1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-50{color:#eceff1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-100{color:#cfd8dc!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-200{color:#b0bec5!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-300{color:#90a4ae!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-400{color:#78909c!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-500{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-600{color:#546e7a!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-700{color:#455a64!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-800{color:#37474f!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-900{color:#263238!important}.mdui-theme-primary-brown .mdui-text-color-theme{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-50{color:#efebe9!important}.mdui-theme-primary-brown .mdui-text-color-theme-100{color:#d7ccc8!important}.mdui-theme-primary-brown .mdui-text-color-theme-200{color:#bcaaa4!important}.mdui-theme-primary-brown .mdui-text-color-theme-300{color:#a1887f!important}.mdui-theme-primary-brown .mdui-text-color-theme-400{color:#8d6e63!important}.mdui-theme-primary-brown .mdui-text-color-theme-500{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-600{color:#6d4c41!important}.mdui-theme-primary-brown .mdui-text-color-theme-700{color:#5d4037!important}.mdui-theme-primary-brown .mdui-text-color-theme-800{color:#4e342e!important}.mdui-theme-primary-brown .mdui-text-color-theme-900{color:#3e2723!important}.mdui-theme-primary-cyan .mdui-text-color-theme{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-50{color:#e0f7fa!important}.mdui-theme-primary-cyan .mdui-text-color-theme-100{color:#b2ebf2!important}.mdui-theme-primary-cyan .mdui-text-color-theme-200{color:#80deea!important}.mdui-theme-primary-cyan .mdui-text-color-theme-300{color:#4dd0e1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-400{color:#26c6da!important}.mdui-theme-primary-cyan .mdui-text-color-theme-500{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-600{color:#00acc1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-700{color:#0097a7!important}.mdui-theme-primary-cyan .mdui-text-color-theme-800{color:#00838f!important}.mdui-theme-primary-cyan .mdui-text-color-theme-900{color:#006064!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-50{color:#fbe9e7!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-100{color:#ffccbc!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-200{color:#ffab91!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-300{color:#ff8a65!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-400{color:#ff7043!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-500{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-600{color:#f4511e!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-700{color:#e64a19!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-800{color:#d84315!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-900{color:#bf360c!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-50{color:#ede7f6!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-100{color:#d1c4e9!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-200{color:#b39ddb!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-300{color:#9575cd!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-400{color:#7e57c2!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-500{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-600{color:#5e35b1!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-700{color:#512da8!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-800{color:#4527a0!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-900{color:#311b92!important}.mdui-theme-primary-green .mdui-text-color-theme{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-50{color:#e8f5e9!important}.mdui-theme-primary-green .mdui-text-color-theme-100{color:#c8e6c9!important}.mdui-theme-primary-green .mdui-text-color-theme-200{color:#a5d6a7!important}.mdui-theme-primary-green .mdui-text-color-theme-300{color:#81c784!important}.mdui-theme-primary-green .mdui-text-color-theme-400{color:#66bb6a!important}.mdui-theme-primary-green .mdui-text-color-theme-500{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-600{color:#43a047!important}.mdui-theme-primary-green .mdui-text-color-theme-700{color:#388e3c!important}.mdui-theme-primary-green .mdui-text-color-theme-800{color:#2e7d32!important}.mdui-theme-primary-green .mdui-text-color-theme-900{color:#1b5e20!important}.mdui-theme-primary-grey .mdui-text-color-theme{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-50{color:#fafafa!important}.mdui-theme-primary-grey .mdui-text-color-theme-100{color:#f5f5f5!important}.mdui-theme-primary-grey .mdui-text-color-theme-200{color:#eee!important}.mdui-theme-primary-grey .mdui-text-color-theme-300{color:#e0e0e0!important}.mdui-theme-primary-grey .mdui-text-color-theme-400{color:#bdbdbd!important}.mdui-theme-primary-grey .mdui-text-color-theme-500{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-600{color:#757575!important}.mdui-theme-primary-grey .mdui-text-color-theme-700{color:#616161!important}.mdui-theme-primary-grey .mdui-text-color-theme-800{color:#424242!important}.mdui-theme-primary-grey .mdui-text-color-theme-900{color:#212121!important}.mdui-theme-primary-indigo .mdui-text-color-theme{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-50{color:#e8eaf6!important}.mdui-theme-primary-indigo .mdui-text-color-theme-100{color:#c5cae9!important}.mdui-theme-primary-indigo .mdui-text-color-theme-200{color:#9fa8da!important}.mdui-theme-primary-indigo .mdui-text-color-theme-300{color:#7986cb!important}.mdui-theme-primary-indigo .mdui-text-color-theme-400{color:#5c6bc0!important}.mdui-theme-primary-indigo .mdui-text-color-theme-500{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-600{color:#3949ab!important}.mdui-theme-primary-indigo .mdui-text-color-theme-700{color:#303f9f!important}.mdui-theme-primary-indigo .mdui-text-color-theme-800{color:#283593!important}.mdui-theme-primary-indigo .mdui-text-color-theme-900{color:#1a237e!important}.mdui-theme-primary-light-blue .mdui-text-color-theme{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-50{color:#e1f5fe!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-100{color:#b3e5fc!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-200{color:#81d4fa!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-300{color:#4fc3f7!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-400{color:#29b6f6!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-500{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-600{color:#039be5!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-700{color:#0288d1!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-800{color:#0277bd!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-900{color:#01579b!important}.mdui-theme-primary-light-green .mdui-text-color-theme{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-50{color:#f1f8e9!important}.mdui-theme-primary-light-green .mdui-text-color-theme-100{color:#dcedc8!important}.mdui-theme-primary-light-green .mdui-text-color-theme-200{color:#c5e1a5!important}.mdui-theme-primary-light-green .mdui-text-color-theme-300{color:#aed581!important}.mdui-theme-primary-light-green .mdui-text-color-theme-400{color:#9ccc65!important}.mdui-theme-primary-light-green .mdui-text-color-theme-500{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-600{color:#7cb342!important}.mdui-theme-primary-light-green .mdui-text-color-theme-700{color:#689f38!important}.mdui-theme-primary-light-green .mdui-text-color-theme-800{color:#558b2f!important}.mdui-theme-primary-light-green .mdui-text-color-theme-900{color:#33691e!important}.mdui-theme-primary-lime .mdui-text-color-theme{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-50{color:#f9fbe7!important}.mdui-theme-primary-lime .mdui-text-color-theme-100{color:#f0f4c3!important}.mdui-theme-primary-lime .mdui-text-color-theme-200{color:#e6ee9c!important}.mdui-theme-primary-lime .mdui-text-color-theme-300{color:#dce775!important}.mdui-theme-primary-lime .mdui-text-color-theme-400{color:#d4e157!important}.mdui-theme-primary-lime .mdui-text-color-theme-500{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-600{color:#c0ca33!important}.mdui-theme-primary-lime .mdui-text-color-theme-700{color:#afb42b!important}.mdui-theme-primary-lime .mdui-text-color-theme-800{color:#9e9d24!important}.mdui-theme-primary-lime .mdui-text-color-theme-900{color:#827717!important}.mdui-theme-primary-orange .mdui-text-color-theme{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-50{color:#fff3e0!important}.mdui-theme-primary-orange .mdui-text-color-theme-100{color:#ffe0b2!important}.mdui-theme-primary-orange .mdui-text-color-theme-200{color:#ffcc80!important}.mdui-theme-primary-orange .mdui-text-color-theme-300{color:#ffb74d!important}.mdui-theme-primary-orange .mdui-text-color-theme-400{color:#ffa726!important}.mdui-theme-primary-orange .mdui-text-color-theme-500{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-600{color:#fb8c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-700{color:#f57c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-800{color:#ef6c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-900{color:#e65100!important}.mdui-theme-primary-pink .mdui-text-color-theme{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-50{color:#fce4ec!important}.mdui-theme-primary-pink .mdui-text-color-theme-100{color:#f8bbd0!important}.mdui-theme-primary-pink .mdui-text-color-theme-200{color:#f48fb1!important}.mdui-theme-primary-pink .mdui-text-color-theme-300{color:#f06292!important}.mdui-theme-primary-pink .mdui-text-color-theme-400{color:#ec407a!important}.mdui-theme-primary-pink .mdui-text-color-theme-500{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-600{color:#d81b60!important}.mdui-theme-primary-pink .mdui-text-color-theme-700{color:#c2185b!important}.mdui-theme-primary-pink .mdui-text-color-theme-800{color:#ad1457!important}.mdui-theme-primary-pink .mdui-text-color-theme-900{color:#880e4f!important}.mdui-theme-primary-purple .mdui-text-color-theme{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-50{color:#f3e5f5!important}.mdui-theme-primary-purple .mdui-text-color-theme-100{color:#e1bee7!important}.mdui-theme-primary-purple .mdui-text-color-theme-200{color:#ce93d8!important}.mdui-theme-primary-purple .mdui-text-color-theme-300{color:#ba68c8!important}.mdui-theme-primary-purple .mdui-text-color-theme-400{color:#ab47bc!important}.mdui-theme-primary-purple .mdui-text-color-theme-500{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-600{color:#8e24aa!important}.mdui-theme-primary-purple .mdui-text-color-theme-700{color:#7b1fa2!important}.mdui-theme-primary-purple .mdui-text-color-theme-800{color:#6a1b9a!important}.mdui-theme-primary-purple .mdui-text-color-theme-900{color:#4a148c!important}.mdui-theme-primary-red .mdui-text-color-theme{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-50{color:#ffebee!important}.mdui-theme-primary-red .mdui-text-color-theme-100{color:#ffcdd2!important}.mdui-theme-primary-red .mdui-text-color-theme-200{color:#ef9a9a!important}.mdui-theme-primary-red .mdui-text-color-theme-300{color:#e57373!important}.mdui-theme-primary-red .mdui-text-color-theme-400{color:#ef5350!important}.mdui-theme-primary-red .mdui-text-color-theme-500{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-600{color:#e53935!important}.mdui-theme-primary-red .mdui-text-color-theme-700{color:#d32f2f!important}.mdui-theme-primary-red .mdui-text-color-theme-800{color:#c62828!important}.mdui-theme-primary-red .mdui-text-color-theme-900{color:#b71c1c!important}.mdui-theme-primary-teal .mdui-text-color-theme{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-50{color:#e0f2f1!important}.mdui-theme-primary-teal .mdui-text-color-theme-100{color:#b2dfdb!important}.mdui-theme-primary-teal .mdui-text-color-theme-200{color:#80cbc4!important}.mdui-theme-primary-teal .mdui-text-color-theme-300{color:#4db6ac!important}.mdui-theme-primary-teal .mdui-text-color-theme-400{color:#26a69a!important}.mdui-theme-primary-teal .mdui-text-color-theme-500{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-600{color:#00897b!important}.mdui-theme-primary-teal .mdui-text-color-theme-700{color:#00796b!important}.mdui-theme-primary-teal .mdui-text-color-theme-800{color:#00695c!important}.mdui-theme-primary-teal .mdui-text-color-theme-900{color:#004d40!important}.mdui-theme-primary-yellow .mdui-text-color-theme{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-50{color:#fffde7!important}.mdui-theme-primary-yellow .mdui-text-color-theme-100{color:#fff9c4!important}.mdui-theme-primary-yellow .mdui-text-color-theme-200{color:#fff59d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-300{color:#fff176!important}.mdui-theme-primary-yellow .mdui-text-color-theme-400{color:#ffee58!important}.mdui-theme-primary-yellow .mdui-text-color-theme-500{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-600{color:#fdd835!important}.mdui-theme-primary-yellow .mdui-text-color-theme-700{color:#fbc02d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-800{color:#f9a825!important}.mdui-theme-primary-yellow .mdui-text-color-theme-900{color:#f57f17!important}.mdui-theme-accent-amber .mdui-text-color-theme-accent{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a100{color:#ffe57f!important}.mdui-theme-accent-amber .mdui-text-color-theme-a200{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a400{color:#ffc400!important}.mdui-theme-accent-amber .mdui-text-color-theme-a700{color:#ffab00!important}.mdui-theme-accent-blue .mdui-text-color-theme-accent{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a100{color:#82b1ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a200{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a400{color:#2979ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a700{color:#2962ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-accent{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a100{color:#84ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a200{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a400{color:#00e5ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a700{color:#00b8d4!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100{color:#ff9e80!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400{color:#ff3d00!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700{color:#dd2c00!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100{color:#b388ff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400{color:#651fff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700{color:#6200ea!important}.mdui-theme-accent-green .mdui-text-color-theme-accent{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a100{color:#b9f6ca!important}.mdui-theme-accent-green .mdui-text-color-theme-a200{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a400{color:#00e676!important}.mdui-theme-accent-green .mdui-text-color-theme-a700{color:#00c853!important}.mdui-theme-accent-indigo .mdui-text-color-theme-accent{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a100{color:#8c9eff!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a200{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a400{color:#3d5afe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a700{color:#304ffe!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-accent{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a100{color:#80d8ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a200{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a400{color:#00b0ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a700{color:#0091ea!important}.mdui-theme-accent-light-green .mdui-text-color-theme-accent{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a100{color:#ccff90!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a200{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a400{color:#76ff03!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a700{color:#64dd17!important}.mdui-theme-accent-lime .mdui-text-color-theme-accent{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a100{color:#f4ff81!important}.mdui-theme-accent-lime .mdui-text-color-theme-a200{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a400{color:#c6ff00!important}.mdui-theme-accent-lime .mdui-text-color-theme-a700{color:#aeea00!important}.mdui-theme-accent-orange .mdui-text-color-theme-accent{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a100{color:#ffd180!important}.mdui-theme-accent-orange .mdui-text-color-theme-a200{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a400{color:#ff9100!important}.mdui-theme-accent-orange .mdui-text-color-theme-a700{color:#ff6d00!important}.mdui-theme-accent-pink .mdui-text-color-theme-accent{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a100{color:#ff80ab!important}.mdui-theme-accent-pink .mdui-text-color-theme-a200{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a400{color:#f50057!important}.mdui-theme-accent-pink .mdui-text-color-theme-a700{color:#c51162!important}.mdui-theme-accent-purple .mdui-text-color-theme-accent{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a100{color:#ea80fc!important}.mdui-theme-accent-purple .mdui-text-color-theme-a200{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a400{color:#d500f9!important}.mdui-theme-accent-purple .mdui-text-color-theme-a700{color:#a0f!important}.mdui-theme-accent-red .mdui-text-color-theme-accent{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a100{color:#ff8a80!important}.mdui-theme-accent-red .mdui-text-color-theme-a200{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a400{color:#ff1744!important}.mdui-theme-accent-red .mdui-text-color-theme-a700{color:#d50000!important}.mdui-theme-accent-teal .mdui-text-color-theme-accent{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a100{color:#a7ffeb!important}.mdui-theme-accent-teal .mdui-text-color-theme-a200{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a400{color:#1de9b6!important}.mdui-theme-accent-teal .mdui-text-color-theme-a700{color:#00bfa5!important}.mdui-theme-accent-yellow .mdui-text-color-theme-accent{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a100{color:#ffff8d!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a200{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a400{color:#ffea00!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a700{color:#ffd600!important}.mdui-text-color-amber{color:#ffc107!important}.mdui-text-color-amber-50{color:#fff8e1!important}.mdui-text-color-amber-100{color:#ffecb3!important}.mdui-text-color-amber-200{color:#ffe082!important}.mdui-text-color-amber-300{color:#ffd54f!important}.mdui-text-color-amber-400{color:#ffca28!important}.mdui-text-color-amber-500{color:#ffc107!important}.mdui-text-color-amber-600{color:#ffb300!important}.mdui-text-color-amber-700{color:#ffa000!important}.mdui-text-color-amber-800{color:#ff8f00!important}.mdui-text-color-amber-900{color:#ff6f00!important}.mdui-text-color-blue{color:#2196f3!important}.mdui-text-color-blue-50{color:#e3f2fd!important}.mdui-text-color-blue-100{color:#bbdefb!important}.mdui-text-color-blue-200{color:#90caf9!important}.mdui-text-color-blue-300{color:#64b5f6!important}.mdui-text-color-blue-400{color:#42a5f5!important}.mdui-text-color-blue-500{color:#2196f3!important}.mdui-text-color-blue-600{color:#1e88e5!important}.mdui-text-color-blue-700{color:#1976d2!important}.mdui-text-color-blue-800{color:#1565c0!important}.mdui-text-color-blue-900{color:#0d47a1!important}.mdui-text-color-blue-grey{color:#607d8b!important}.mdui-text-color-blue-grey-50{color:#eceff1!important}.mdui-text-color-blue-grey-100{color:#cfd8dc!important}.mdui-text-color-blue-grey-200{color:#b0bec5!important}.mdui-text-color-blue-grey-300{color:#90a4ae!important}.mdui-text-color-blue-grey-400{color:#78909c!important}.mdui-text-color-blue-grey-500{color:#607d8b!important}.mdui-text-color-blue-grey-600{color:#546e7a!important}.mdui-text-color-blue-grey-700{color:#455a64!important}.mdui-text-color-blue-grey-800{color:#37474f!important}.mdui-text-color-blue-grey-900{color:#263238!important}.mdui-text-color-brown{color:#795548!important}.mdui-text-color-brown-50{color:#efebe9!important}.mdui-text-color-brown-100{color:#d7ccc8!important}.mdui-text-color-brown-200{color:#bcaaa4!important}.mdui-text-color-brown-300{color:#a1887f!important}.mdui-text-color-brown-400{color:#8d6e63!important}.mdui-text-color-brown-500{color:#795548!important}.mdui-text-color-brown-600{color:#6d4c41!important}.mdui-text-color-brown-700{color:#5d4037!important}.mdui-text-color-brown-800{color:#4e342e!important}.mdui-text-color-brown-900{color:#3e2723!important}.mdui-text-color-cyan{color:#00bcd4!important}.mdui-text-color-cyan-50{color:#e0f7fa!important}.mdui-text-color-cyan-100{color:#b2ebf2!important}.mdui-text-color-cyan-200{color:#80deea!important}.mdui-text-color-cyan-300{color:#4dd0e1!important}.mdui-text-color-cyan-400{color:#26c6da!important}.mdui-text-color-cyan-500{color:#00bcd4!important}.mdui-text-color-cyan-600{color:#00acc1!important}.mdui-text-color-cyan-700{color:#0097a7!important}.mdui-text-color-cyan-800{color:#00838f!important}.mdui-text-color-cyan-900{color:#006064!important}.mdui-text-color-deep-orange{color:#ff5722!important}.mdui-text-color-deep-orange-50{color:#fbe9e7!important}.mdui-text-color-deep-orange-100{color:#ffccbc!important}.mdui-text-color-deep-orange-200{color:#ffab91!important}.mdui-text-color-deep-orange-300{color:#ff8a65!important}.mdui-text-color-deep-orange-400{color:#ff7043!important}.mdui-text-color-deep-orange-500{color:#ff5722!important}.mdui-text-color-deep-orange-600{color:#f4511e!important}.mdui-text-color-deep-orange-700{color:#e64a19!important}.mdui-text-color-deep-orange-800{color:#d84315!important}.mdui-text-color-deep-orange-900{color:#bf360c!important}.mdui-text-color-deep-purple{color:#673ab7!important}.mdui-text-color-deep-purple-50{color:#ede7f6!important}.mdui-text-color-deep-purple-100{color:#d1c4e9!important}.mdui-text-color-deep-purple-200{color:#b39ddb!important}.mdui-text-color-deep-purple-300{color:#9575cd!important}.mdui-text-color-deep-purple-400{color:#7e57c2!important}.mdui-text-color-deep-purple-500{color:#673ab7!important}.mdui-text-color-deep-purple-600{color:#5e35b1!important}.mdui-text-color-deep-purple-700{color:#512da8!important}.mdui-text-color-deep-purple-800{color:#4527a0!important}.mdui-text-color-deep-purple-900{color:#311b92!important}.mdui-text-color-green{color:#4caf50!important}.mdui-text-color-green-50{color:#e8f5e9!important}.mdui-text-color-green-100{color:#c8e6c9!important}.mdui-text-color-green-200{color:#a5d6a7!important}.mdui-text-color-green-300{color:#81c784!important}.mdui-text-color-green-400{color:#66bb6a!important}.mdui-text-color-green-500{color:#4caf50!important}.mdui-text-color-green-600{color:#43a047!important}.mdui-text-color-green-700{color:#388e3c!important}.mdui-text-color-green-800{color:#2e7d32!important}.mdui-text-color-green-900{color:#1b5e20!important}.mdui-text-color-grey{color:#9e9e9e!important}.mdui-text-color-grey-50{color:#fafafa!important}.mdui-text-color-grey-100{color:#f5f5f5!important}.mdui-text-color-grey-200{color:#eee!important}.mdui-text-color-grey-300{color:#e0e0e0!important}.mdui-text-color-grey-400{color:#bdbdbd!important}.mdui-text-color-grey-500{color:#9e9e9e!important}.mdui-text-color-grey-600{color:#757575!important}.mdui-text-color-grey-700{color:#616161!important}.mdui-text-color-grey-800{color:#424242!important}.mdui-text-color-grey-900{color:#212121!important}.mdui-text-color-indigo{color:#3f51b5!important}.mdui-text-color-indigo-50{color:#e8eaf6!important}.mdui-text-color-indigo-100{color:#c5cae9!important}.mdui-text-color-indigo-200{color:#9fa8da!important}.mdui-text-color-indigo-300{color:#7986cb!important}.mdui-text-color-indigo-400{color:#5c6bc0!important}.mdui-text-color-indigo-500{color:#3f51b5!important}.mdui-text-color-indigo-600{color:#3949ab!important}.mdui-text-color-indigo-700{color:#303f9f!important}.mdui-text-color-indigo-800{color:#283593!important}.mdui-text-color-indigo-900{color:#1a237e!important}.mdui-text-color-light-blue{color:#03a9f4!important}.mdui-text-color-light-blue-50{color:#e1f5fe!important}.mdui-text-color-light-blue-100{color:#b3e5fc!important}.mdui-text-color-light-blue-200{color:#81d4fa!important}.mdui-text-color-light-blue-300{color:#4fc3f7!important}.mdui-text-color-light-blue-400{color:#29b6f6!important}.mdui-text-color-light-blue-500{color:#03a9f4!important}.mdui-text-color-light-blue-600{color:#039be5!important}.mdui-text-color-light-blue-700{color:#0288d1!important}.mdui-text-color-light-blue-800{color:#0277bd!important}.mdui-text-color-light-blue-900{color:#01579b!important}.mdui-text-color-light-green{color:#8bc34a!important}.mdui-text-color-light-green-50{color:#f1f8e9!important}.mdui-text-color-light-green-100{color:#dcedc8!important}.mdui-text-color-light-green-200{color:#c5e1a5!important}.mdui-text-color-light-green-300{color:#aed581!important}.mdui-text-color-light-green-400{color:#9ccc65!important}.mdui-text-color-light-green-500{color:#8bc34a!important}.mdui-text-color-light-green-600{color:#7cb342!important}.mdui-text-color-light-green-700{color:#689f38!important}.mdui-text-color-light-green-800{color:#558b2f!important}.mdui-text-color-light-green-900{color:#33691e!important}.mdui-text-color-lime{color:#cddc39!important}.mdui-text-color-lime-50{color:#f9fbe7!important}.mdui-text-color-lime-100{color:#f0f4c3!important}.mdui-text-color-lime-200{color:#e6ee9c!important}.mdui-text-color-lime-300{color:#dce775!important}.mdui-text-color-lime-400{color:#d4e157!important}.mdui-text-color-lime-500{color:#cddc39!important}.mdui-text-color-lime-600{color:#c0ca33!important}.mdui-text-color-lime-700{color:#afb42b!important}.mdui-text-color-lime-800{color:#9e9d24!important}.mdui-text-color-lime-900{color:#827717!important}.mdui-text-color-orange{color:#ff9800!important}.mdui-text-color-orange-50{color:#fff3e0!important}.mdui-text-color-orange-100{color:#ffe0b2!important}.mdui-text-color-orange-200{color:#ffcc80!important}.mdui-text-color-orange-300{color:#ffb74d!important}.mdui-text-color-orange-400{color:#ffa726!important}.mdui-text-color-orange-500{color:#ff9800!important}.mdui-text-color-orange-600{color:#fb8c00!important}.mdui-text-color-orange-700{color:#f57c00!important}.mdui-text-color-orange-800{color:#ef6c00!important}.mdui-text-color-orange-900{color:#e65100!important}.mdui-text-color-pink{color:#e91e63!important}.mdui-text-color-pink-50{color:#fce4ec!important}.mdui-text-color-pink-100{color:#f8bbd0!important}.mdui-text-color-pink-200{color:#f48fb1!important}.mdui-text-color-pink-300{color:#f06292!important}.mdui-text-color-pink-400{color:#ec407a!important}.mdui-text-color-pink-500{color:#e91e63!important}.mdui-text-color-pink-600{color:#d81b60!important}.mdui-text-color-pink-700{color:#c2185b!important}.mdui-text-color-pink-800{color:#ad1457!important}.mdui-text-color-pink-900{color:#880e4f!important}.mdui-text-color-purple{color:#9c27b0!important}.mdui-text-color-purple-50{color:#f3e5f5!important}.mdui-text-color-purple-100{color:#e1bee7!important}.mdui-text-color-purple-200{color:#ce93d8!important}.mdui-text-color-purple-300{color:#ba68c8!important}.mdui-text-color-purple-400{color:#ab47bc!important}.mdui-text-color-purple-500{color:#9c27b0!important}.mdui-text-color-purple-600{color:#8e24aa!important}.mdui-text-color-purple-700{color:#7b1fa2!important}.mdui-text-color-purple-800{color:#6a1b9a!important}.mdui-text-color-purple-900{color:#4a148c!important}.mdui-text-color-red{color:#f44336!important}.mdui-text-color-red-50{color:#ffebee!important}.mdui-text-color-red-100{color:#ffcdd2!important}.mdui-text-color-red-200{color:#ef9a9a!important}.mdui-text-color-red-300{color:#e57373!important}.mdui-text-color-red-400{color:#ef5350!important}.mdui-text-color-red-500{color:#f44336!important}.mdui-text-color-red-600{color:#e53935!important}.mdui-text-color-red-700{color:#d32f2f!important}.mdui-text-color-red-800{color:#c62828!important}.mdui-text-color-red-900{color:#b71c1c!important}.mdui-text-color-teal{color:#009688!important}.mdui-text-color-teal-50{color:#e0f2f1!important}.mdui-text-color-teal-100{color:#b2dfdb!important}.mdui-text-color-teal-200{color:#80cbc4!important}.mdui-text-color-teal-300{color:#4db6ac!important}.mdui-text-color-teal-400{color:#26a69a!important}.mdui-text-color-teal-500{color:#009688!important}.mdui-text-color-teal-600{color:#00897b!important}.mdui-text-color-teal-700{color:#00796b!important}.mdui-text-color-teal-800{color:#00695c!important}.mdui-text-color-teal-900{color:#004d40!important}.mdui-text-color-yellow{color:#ffeb3b!important}.mdui-text-color-yellow-50{color:#fffde7!important}.mdui-text-color-yellow-100{color:#fff9c4!important}.mdui-text-color-yellow-200{color:#fff59d!important}.mdui-text-color-yellow-300{color:#fff176!important}.mdui-text-color-yellow-400{color:#ffee58!important}.mdui-text-color-yellow-500{color:#ffeb3b!important}.mdui-text-color-yellow-600{color:#fdd835!important}.mdui-text-color-yellow-700{color:#fbc02d!important}.mdui-text-color-yellow-800{color:#f9a825!important}.mdui-text-color-yellow-900{color:#f57f17!important}.mdui-text-color-amber-accent{color:#ffd740!important}.mdui-text-color-amber-a100{color:#ffe57f!important}.mdui-text-color-amber-a200{color:#ffd740!important}.mdui-text-color-amber-a400{color:#ffc400!important}.mdui-text-color-amber-a700{color:#ffab00!important}.mdui-text-color-blue-accent{color:#448aff!important}.mdui-text-color-blue-a100{color:#82b1ff!important}.mdui-text-color-blue-a200{color:#448aff!important}.mdui-text-color-blue-a400{color:#2979ff!important}.mdui-text-color-blue-a700{color:#2962ff!important}.mdui-text-color-cyan-accent{color:#18ffff!important}.mdui-text-color-cyan-a100{color:#84ffff!important}.mdui-text-color-cyan-a200{color:#18ffff!important}.mdui-text-color-cyan-a400{color:#00e5ff!important}.mdui-text-color-cyan-a700{color:#00b8d4!important}.mdui-text-color-deep-orange-accent{color:#ff6e40!important}.mdui-text-color-deep-orange-a100{color:#ff9e80!important}.mdui-text-color-deep-orange-a200{color:#ff6e40!important}.mdui-text-color-deep-orange-a400{color:#ff3d00!important}.mdui-text-color-deep-orange-a700{color:#dd2c00!important}.mdui-text-color-deep-purple-accent{color:#7c4dff!important}.mdui-text-color-deep-purple-a100{color:#b388ff!important}.mdui-text-color-deep-purple-a200{color:#7c4dff!important}.mdui-text-color-deep-purple-a400{color:#651fff!important}.mdui-text-color-deep-purple-a700{color:#6200ea!important}.mdui-text-color-green-accent{color:#69f0ae!important}.mdui-text-color-green-a100{color:#b9f6ca!important}.mdui-text-color-green-a200{color:#69f0ae!important}.mdui-text-color-green-a400{color:#00e676!important}.mdui-text-color-green-a700{color:#00c853!important}.mdui-text-color-indigo-accent{color:#536dfe!important}.mdui-text-color-indigo-a100{color:#8c9eff!important}.mdui-text-color-indigo-a200{color:#536dfe!important}.mdui-text-color-indigo-a400{color:#3d5afe!important}.mdui-text-color-indigo-a700{color:#304ffe!important}.mdui-text-color-light-blue-accent{color:#40c4ff!important}.mdui-text-color-light-blue-a100{color:#80d8ff!important}.mdui-text-color-light-blue-a200{color:#40c4ff!important}.mdui-text-color-light-blue-a400{color:#00b0ff!important}.mdui-text-color-light-blue-a700{color:#0091ea!important}.mdui-text-color-light-green-accent{color:#b2ff59!important}.mdui-text-color-light-green-a100{color:#ccff90!important}.mdui-text-color-light-green-a200{color:#b2ff59!important}.mdui-text-color-light-green-a400{color:#76ff03!important}.mdui-text-color-light-green-a700{color:#64dd17!important}.mdui-text-color-lime-accent{color:#eeff41!important}.mdui-text-color-lime-a100{color:#f4ff81!important}.mdui-text-color-lime-a200{color:#eeff41!important}.mdui-text-color-lime-a400{color:#c6ff00!important}.mdui-text-color-lime-a700{color:#aeea00!important}.mdui-text-color-orange-accent{color:#ffab40!important}.mdui-text-color-orange-a100{color:#ffd180!important}.mdui-text-color-orange-a200{color:#ffab40!important}.mdui-text-color-orange-a400{color:#ff9100!important}.mdui-text-color-orange-a700{color:#ff6d00!important}.mdui-text-color-pink-accent{color:#ff4081!important}.mdui-text-color-pink-a100{color:#ff80ab!important}.mdui-text-color-pink-a200{color:#ff4081!important}.mdui-text-color-pink-a400{color:#f50057!important}.mdui-text-color-pink-a700{color:#c51162!important}.mdui-text-color-purple-accent{color:#e040fb!important}.mdui-text-color-purple-a100{color:#ea80fc!important}.mdui-text-color-purple-a200{color:#e040fb!important}.mdui-text-color-purple-a400{color:#d500f9!important}.mdui-text-color-purple-a700{color:#a0f!important}.mdui-text-color-red-accent{color:#ff5252!important}.mdui-text-color-red-a100{color:#ff8a80!important}.mdui-text-color-red-a200{color:#ff5252!important}.mdui-text-color-red-a400{color:#ff1744!important}.mdui-text-color-red-a700{color:#d50000!important}.mdui-text-color-teal-accent{color:#64ffda!important}.mdui-text-color-teal-a100{color:#a7ffeb!important}.mdui-text-color-teal-a200{color:#64ffda!important}.mdui-text-color-teal-a400{color:#1de9b6!important}.mdui-text-color-teal-a700{color:#00bfa5!important}.mdui-text-color-yellow-accent{color:#ff0!important}.mdui-text-color-yellow-a100{color:#ffff8d!important}.mdui-text-color-yellow-a200{color:#ff0!important}.mdui-text-color-yellow-a400{color:#ffea00!important}.mdui-text-color-yellow-a700{color:#ffd600!important}.mdui-text-color-black{color:#000!important}.mdui-text-color-black-text,.mdui-text-color-theme-text{color:rgba(0,0,0,.87)!important}.mdui-text-color-black-secondary,.mdui-text-color-theme-secondary{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-disabled,.mdui-text-color-theme-disabled{color:rgba(0,0,0,.38)!important}.mdui-text-color-black-divider,.mdui-text-color-theme-divider{color:rgba(0,0,0,.12)!important}.mdui-text-color-black-icon,.mdui-text-color-theme-icon{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-icon-disabled,.mdui-text-color-theme-icon-disabled{color:rgba(0,0,0,.26)!important}.mdui-text-color-white{color:#fff!important}.mdui-text-color-white-text{color:#fff!important}.mdui-text-color-white-secondary{color:rgba(255,255,255,.7)!important}.mdui-text-color-white-disabled{color:rgba(255,255,255,.5)!important}.mdui-text-color-white-divider{color:rgba(255,255,255,.12)!important}.mdui-text-color-white-icon{color:#fff!important}.mdui-text-color-white-icon-disabled{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-text-color-theme-text{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-secondary{color:rgba(255,255,255,.7)!important}.mdui-theme-layout-dark .mdui-text-color-theme-disabled{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-text-color-theme-divider{color:rgba(255,255,255,.12)!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled{color:rgba(255,255,255,.3)!important}.mdui-m-a-0{margin:0!important}.mdui-m-t-0{margin-top:0!important}.mdui-m-r-0{margin-right:0!important}.mdui-m-b-0{margin-bottom:0!important}.mdui-m-l-0{margin-left:0!important}.mdui-m-x-0{margin-right:0!important;margin-left:0!important}.mdui-m-y-0{margin-top:0!important;margin-bottom:0!important}.mdui-p-a-0{padding:0!important}.mdui-p-t-0{padding-top:0!important}.mdui-p-r-0{padding-right:0!important}.mdui-p-b-0{padding-bottom:0!important}.mdui-p-l-0{padding-left:0!important}.mdui-p-x-0{padding-right:0!important;padding-left:0!important}.mdui-p-y-0{padding-top:0!important;padding-bottom:0!important}.mdui-m-a-1{margin:8px!important}.mdui-m-t-1{margin-top:8px!important}.mdui-m-r-1{margin-right:8px!important}.mdui-m-b-1{margin-bottom:8px!important}.mdui-m-l-1{margin-left:8px!important}.mdui-m-x-1{margin-right:8px!important;margin-left:8px!important}.mdui-m-y-1{margin-top:8px!important;margin-bottom:8px!important}.mdui-p-a-1{padding:8px!important}.mdui-p-t-1{padding-top:8px!important}.mdui-p-r-1{padding-right:8px!important}.mdui-p-b-1{padding-bottom:8px!important}.mdui-p-l-1{padding-left:8px!important}.mdui-p-x-1{padding-right:8px!important;padding-left:8px!important}.mdui-p-y-1{padding-top:8px!important;padding-bottom:8px!important}.mdui-m-a-2{margin:16px!important}.mdui-m-t-2{margin-top:16px!important}.mdui-m-r-2{margin-right:16px!important}.mdui-m-b-2{margin-bottom:16px!important}.mdui-m-l-2{margin-left:16px!important}.mdui-m-x-2{margin-right:16px!important;margin-left:16px!important}.mdui-m-y-2{margin-top:16px!important;margin-bottom:16px!important}.mdui-p-a-2{padding:16px!important}.mdui-p-t-2{padding-top:16px!important}.mdui-p-r-2{padding-right:16px!important}.mdui-p-b-2{padding-bottom:16px!important}.mdui-p-l-2{padding-left:16px!important}.mdui-p-x-2{padding-right:16px!important;padding-left:16px!important}.mdui-p-y-2{padding-top:16px!important;padding-bottom:16px!important}.mdui-m-a-3{margin:24px!important}.mdui-m-t-3{margin-top:24px!important}.mdui-m-r-3{margin-right:24px!important}.mdui-m-b-3{margin-bottom:24px!important}.mdui-m-l-3{margin-left:24px!important}.mdui-m-x-3{margin-right:24px!important;margin-left:24px!important}.mdui-m-y-3{margin-top:24px!important;margin-bottom:24px!important}.mdui-p-a-3{padding:24px!important}.mdui-p-t-3{padding-top:24px!important}.mdui-p-r-3{padding-right:24px!important}.mdui-p-b-3{padding-bottom:24px!important}.mdui-p-l-3{padding-left:24px!important}.mdui-p-x-3{padding-right:24px!important;padding-left:24px!important}.mdui-p-y-3{padding-top:24px!important;padding-bottom:24px!important}.mdui-m-a-4{margin:32px!important}.mdui-m-t-4{margin-top:32px!important}.mdui-m-r-4{margin-right:32px!important}.mdui-m-b-4{margin-bottom:32px!important}.mdui-m-l-4{margin-left:32px!important}.mdui-m-x-4{margin-right:32px!important;margin-left:32px!important}.mdui-m-y-4{margin-top:32px!important;margin-bottom:32px!important}.mdui-p-a-4{padding:32px!important}.mdui-p-t-4{padding-top:32px!important}.mdui-p-r-4{padding-right:32px!important}.mdui-p-b-4{padding-bottom:32px!important}.mdui-p-l-4{padding-left:32px!important}.mdui-p-x-4{padding-right:32px!important;padding-left:32px!important}.mdui-p-y-4{padding-top:32px!important;padding-bottom:32px!important}.mdui-m-a-5{margin:40px!important}.mdui-m-t-5{margin-top:40px!important}.mdui-m-r-5{margin-right:40px!important}.mdui-m-b-5{margin-bottom:40px!important}.mdui-m-l-5{margin-left:40px!important}.mdui-m-x-5{margin-right:40px!important;margin-left:40px!important}.mdui-m-y-5{margin-top:40px!important;margin-bottom:40px!important}.mdui-p-a-5{padding:40px!important}.mdui-p-t-5{padding-top:40px!important}.mdui-p-r-5{padding-right:40px!important}.mdui-p-b-5{padding-bottom:40px!important}.mdui-p-l-5{padding-left:40px!important}.mdui-p-x-5{padding-right:40px!important;padding-left:40px!important}.mdui-p-y-5{padding-top:40px!important;padding-bottom:40px!important}.mdui-float-left{float:left!important}.mdui-float-right{float:right!important}.mdui-center{display:block!important;margin-right:auto!important;margin-left:auto!important}.mdui-valign{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.mdui-text-left{text-align:left!important}.mdui-text-center{text-align:center!important}.mdui-text-right{text-align:right!important}.mdui-text-lowercase{text-transform:lowercase!important}.mdui-text-uppercase{text-transform:uppercase!important}.mdui-text-capitalize{text-transform:capitalize!important}.mdui-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-clearfix:after,.mdui-clearfix:before{display:table;content:" "}.mdui-clearfix:after{clear:both}.mdui-hidden,[hidden]{display:none!important}.mdui-invisible{visibility:hidden}@media (max-width:599px){.mdui-hidden-xs{display:none!important}}@media (min-width:600px) and (max-width:1023px){.mdui-hidden-sm{display:none!important}}@media (min-width:1024px) and (max-width:1439px){.mdui-hidden-md{display:none!important}}@media (min-width:1440px) and (max-width:1919px){.mdui-hidden-lg{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl{display:none!important}}@media (max-width:599px){.mdui-hidden-xs-down{display:none!important}}@media (max-width:1023px){.mdui-hidden-sm-down{display:none!important}}@media (max-width:1439px){.mdui-hidden-md-down{display:none!important}}@media (max-width:1919px){.mdui-hidden-lg-down{display:none!important}}.mdui-hidden-xl-down{display:none!important}.mdui-hidden-xs-up{display:none!important}@media (min-width:600px){.mdui-hidden-sm-up{display:none!important}}@media (min-width:1024px){.mdui-hidden-md-up{display:none!important}}@media (min-width:1440px){.mdui-hidden-lg-up{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl-up{display:none!important}}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{height:0;-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;color:inherit;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body{font-family:Roboto,Noto,Helvetica,Arial,sans-serif;font-size:14px;color:rgba(0,0,0,.87);background-color:#fff}@media (min-width:600px){body{font-size:14.5px}}@media (min-width:1024px){body{font-size:15px}}body ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){body ::-webkit-scrollbar{width:8px;height:8px}}body ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}body.mdui-theme-layout-dark ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){body.mdui-theme-layout-dark ::-webkit-scrollbar{width:8px;height:8px}}body.mdui-theme-layout-dark ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}*{-webkit-tap-highlight-color:transparent}body.mdui-locked{overflow:hidden}.mdui-overlay{position:fixed;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;z-index:2000;visibility:hidden;background:rgba(0,0,0,.4);opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity}.mdui-overlay-show{visibility:visible;opacity:1}.mdui-no-transition{-webkit-transition-property:none!important;transition-property:none!important}.mdui-theme-layout-dark{color:#fff;background-color:#303030}.mdui-icon,.mdui-icon::before{font-size:24px;font-style:normal;font-weight:400;line-height:1;color:inherit;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;vertical-align:middle;direction:ltr}.mdui-icon{display:inline-block;text-align:center}.mdui-icon::before{display:block!important;width:24px;height:24px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:local('Material Icons'),local('MaterialIcons-Regular'),url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff')}.material-icons{font-family:'Material Icons';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(../fonts/roboto/Roboto-Thin.woff2) format('woff2'),url(../fonts/roboto/Roboto-Thin.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto ThinItalic'),local('Roboto-ThinItalic'),url(../fonts/roboto/Roboto-ThinItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-ThinItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(../fonts/roboto/Roboto-Light.woff2) format('woff2'),url(../fonts/roboto/Roboto-Light.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto LightItalic'),local('Roboto-LightItalic'),url(../fonts/roboto/Roboto-LightItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-LightItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(../fonts/roboto/Roboto-Regular.woff2) format('woff2'),url(../fonts/roboto/Roboto-Regular.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto RegularItalic'),local('Roboto-RegularItalic'),url(../fonts/roboto/Roboto-RegularItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-RegularItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(../fonts/roboto/Roboto-Medium.woff2) format('woff2'),url(../fonts/roboto/Roboto-Medium.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto MediumItalic'),local('Roboto-MediumItalic'),url(../fonts/roboto/Roboto-MediumItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-MediumItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(../fonts/roboto/Roboto-Bold.woff2) format('woff2'),url(../fonts/roboto/Roboto-Bold.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto BoldItalic'),local('Roboto-BoldItalic'),url(../fonts/roboto/Roboto-BoldItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BoldItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(../fonts/roboto/Roboto-Black.woff2) format('woff2'),url(../fonts/roboto/Roboto-Black.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto BlackItalic'),local('Roboto-BlackItalic'),url(../fonts/roboto/Roboto-BlackItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BlackItalic.woff) format('woff')}.mdui-typo-display-4,.mdui-typo-display-4-opacity{font-size:112px;font-weight:300;letter-spacing:-.04em}.mdui-typo-display-4-opacity{opacity:.54}.mdui-typo-display-3,.mdui-typo-display-3-opacity{font-size:56px;font-weight:400;letter-spacing:-.02em}.mdui-typo-display-3-opacity{opacity:.54}.mdui-typo-display-2,.mdui-typo-display-2-opacity{font-size:45px;font-weight:400;letter-spacing:0}.mdui-typo-display-2-opacity{opacity:.54}.mdui-typo-display-1,.mdui-typo-display-1-opacity{font-size:34px;font-weight:400;letter-spacing:0}.mdui-typo-display-1-opacity{opacity:.54}.mdui-typo-headline,.mdui-typo-headline-opacity{font-size:24px;font-weight:400;-moz-osx-font-smoothing:grayscale}.mdui-typo-headline-opacity{opacity:.87}.mdui-typo-title,.mdui-typo-title-opacity{font-size:20px;font-weight:500;letter-spacing:.02em}.mdui-typo-title-opacity{opacity:.87}.mdui-typo-subheading,.mdui-typo-subheading-opacity{font-size:16px;font-weight:400;letter-spacing:.04em}.mdui-typo-subheading-opacity{opacity:.87}.mdui-typo-body-2,.mdui-typo-body-2-opacity{font-size:14px;font-weight:500;letter-spacing:.04em}.mdui-typo-body-2-opacity{opacity:.87}.mdui-typo-body-1,.mdui-typo-body-1-opacity{font-size:14px;font-weight:400;letter-spacing:.04em}.mdui-typo-body-1-opacity{opacity:.87}.mdui-typo-caption,.mdui-typo-caption-opacity{font-size:12px;font-weight:400;letter-spacing:.08em}.mdui-typo-caption-opacity{opacity:.54}.mdui-typo{line-height:1.8;word-wrap:break-word}.mdui-typo address,.mdui-typo caption,.mdui-typo cite,.mdui-typo code,.mdui-typo dfn,.mdui-typo th{font-style:normal;font-weight:400}.mdui-typo caption,.mdui-typo th{text-align:left}.mdui-typo q:after,.mdui-typo q:before{content:''}.mdui-typo code,.mdui-typo kbd,.mdui-typo pre,.mdui-typo pre tt,.mdui-typo samp{font-family:Consolas,Courier,'Courier New',monospace}.mdui-typo figcaption{font-size:80%;color:rgba(0,0,0,.54)}.mdui-typo [draggable=true],.mdui-typo [draggable]{cursor:move}.mdui-typo [draggable=false]{cursor:inherit}.mdui-typo .mdui-table,.mdui-typo .mdui-table-fluid,.mdui-typo dl,.mdui-typo figure,.mdui-typo form,.mdui-typo hr,.mdui-typo ol,.mdui-typo p,.mdui-typo pre,.mdui-typo table,.mdui-typo ul{margin:0 0 1.2em 0}.mdui-typo a{position:relative;display:inline-block;overflow:hidden;color:#ff4081;text-decoration:none;vertical-align:top;outline:0}.mdui-typo a:before{position:absolute;top:auto;bottom:1px;left:0;width:100%;height:1px;content:' ';background-color:#ff4081;-webkit-transition:all .2s;transition:all .2s;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mdui-typo a:focus:before,.mdui-typo a:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.mdui-typo small{font-size:80%}.mdui-typo blockquote{padding-left:1em;margin:1em 3em 1em 2em;font-weight:400;border-left:4px solid rgba(0,0,0,.12)}@media only screen and (max-width:599px){.mdui-typo blockquote{margin:1em 0}}.mdui-typo blockquote footer{font-size:86%;color:rgba(0,0,0,.54)}.mdui-typo mark{padding:2px;margin:0 5px;background:#fffdd1;border-bottom:1px solid #ffedce}.mdui-typo h1,.mdui-typo h2,.mdui-typo h3,.mdui-typo h4,.mdui-typo h5,.mdui-typo h6{margin-top:1.2em;margin-bottom:.6em;font-family:inherit;font-weight:400;line-height:1.35;color:inherit}.mdui-typo h1 small,.mdui-typo h2 small,.mdui-typo h3 small,.mdui-typo h4 small,.mdui-typo h5 small,.mdui-typo h6 small{font-size:65%;font-weight:400;line-height:1;color:rgba(0,0,0,.54)}.mdui-typo h1{font-size:2em}.mdui-typo h2{font-size:1.8em}.mdui-typo h3{font-size:1.6em}.mdui-typo h4{font-size:1.4em}.mdui-typo h5{font-size:1.2em}.mdui-typo h6{font-size:1.1em}.mdui-typo code{padding:2px 6px;color:#c7254e;background-color:#f7f7f9;border-radius:2px}.mdui-typo pre code{padding:0;font-size:inherit;line-height:1.7;color:inherit;background-color:transparent;border-radius:0}.mdui-typo abbr[title]{text-decoration:none;cursor:help;border-bottom:1px dotted}.mdui-typo ins{text-decoration:none;border-bottom:1px solid}.mdui-typo u{text-decoration:none;border-bottom:1px solid}.mdui-typo del{text-decoration:line-through}.mdui-typo hr{height:10px;margin-bottom:.8em;border:none;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-typo pre{padding:12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(0,0,0,.12);border-radius:2px}.mdui-typo kbd{padding:2px 6px;font-size:90%;color:#fff;background-color:#333;border-radius:2px}.mdui-typo ul{padding-left:2em;list-style:disc}.mdui-typo ol{padding-left:2em;list-style:decimal}.mdui-typo li ol,.mdui-typo li ul{margin:.8em 0}.mdui-typo li ul{list-style:circle}.mdui-typo img{max-width:100%}.mdui-theme-accent-amber .mdui-typo a{color:#ffd740}.mdui-theme-accent-amber .mdui-typo a:before{background-color:#ffd740}.mdui-theme-accent-blue .mdui-typo a{color:#448aff}.mdui-theme-accent-blue .mdui-typo a:before{background-color:#448aff}.mdui-theme-accent-cyan .mdui-typo a{color:#18ffff}.mdui-theme-accent-cyan .mdui-typo a:before{background-color:#18ffff}.mdui-theme-accent-deep-orange .mdui-typo a{color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-typo a:before{background-color:#ff6e40}.mdui-theme-accent-deep-purple .mdui-typo a{color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-typo a:before{background-color:#7c4dff}.mdui-theme-accent-green .mdui-typo a{color:#69f0ae}.mdui-theme-accent-green .mdui-typo a:before{background-color:#69f0ae}.mdui-theme-accent-indigo .mdui-typo a{color:#536dfe}.mdui-theme-accent-indigo .mdui-typo a:before{background-color:#536dfe}.mdui-theme-accent-light-blue .mdui-typo a{color:#40c4ff}.mdui-theme-accent-light-blue .mdui-typo a:before{background-color:#40c4ff}.mdui-theme-accent-light-green .mdui-typo a{color:#b2ff59}.mdui-theme-accent-light-green .mdui-typo a:before{background-color:#b2ff59}.mdui-theme-accent-lime .mdui-typo a{color:#eeff41}.mdui-theme-accent-lime .mdui-typo a:before{background-color:#eeff41}.mdui-theme-accent-orange .mdui-typo a{color:#ffab40}.mdui-theme-accent-orange .mdui-typo a:before{background-color:#ffab40}.mdui-theme-accent-pink .mdui-typo a{color:#ff4081}.mdui-theme-accent-pink .mdui-typo a:before{background-color:#ff4081}.mdui-theme-accent-purple .mdui-typo a{color:#e040fb}.mdui-theme-accent-purple .mdui-typo a:before{background-color:#e040fb}.mdui-theme-accent-red .mdui-typo a{color:#ff5252}.mdui-theme-accent-red .mdui-typo a:before{background-color:#ff5252}.mdui-theme-accent-teal .mdui-typo a{color:#64ffda}.mdui-theme-accent-teal .mdui-typo a:before{background-color:#64ffda}.mdui-theme-accent-yellow .mdui-typo a{color:#ff0}.mdui-theme-accent-yellow .mdui-typo a:before{background-color:#ff0}.mdui-theme-layout-dark .mdui-typo blockquote{border-left-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo blockquote footer{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo figcaption{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo mark{background:#aaa;border-bottom-color:#bbb}.mdui-theme-layout-dark .mdui-typo h1 small,.mdui-theme-layout-dark .mdui-typo h2 small,.mdui-theme-layout-dark .mdui-typo h3 small,.mdui-theme-layout-dark .mdui-typo h4 small,.mdui-theme-layout-dark .mdui-typo h5 small,.mdui-theme-layout-dark .mdui-typo h6 small{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo code{color:#ffcdd2;background-color:#424242}.mdui-theme-layout-dark .mdui-typo pre{background:#424242;border-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo kbd{background:#424242}.mdui-theme-layout-dark .mdui-typo hr{border-color:rgba(255,255,255,.12)}.mdui-headroom{-webkit-transition:all .3s cubic-bezier(.4,0,.2,1)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.mdui-headroom-pinned-top{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-top{-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:translate3d(0,-100%,0)!important;transform:translate3d(0,-100%,0)!important}.mdui-headroom-pinned-down{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-down{-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important}.mdui-headroom-pinned-toolbar{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-56px,0)!important;transform:translate3d(0,-56px,0)!important}@media (min-width:600px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-64px,0)!important;transform:translate3d(0,-64px,0)!important}}@media (orientation:landscape) and (max-width:959px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-48px,0)!important;transform:translate3d(0,-48px,0)!important}}.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(0);transform:rotate(0);will-change:transform}.mdui-collapse-item-body{height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-collapse-item-body .mdui-list-item{padding-left:72px}.mdui-collapse-item-open>.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-open>.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-collapse-item-open>.mdui-collapse-item-body{height:auto}.mdui-table{position:relative;width:100%;border-spacing:0;border-collapse:separate;background-color:#fff;border:1px solid rgba(0,0,0,.12);border-bottom:none;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table tbody tr{position:relative;-webkit-transition:background-color .28s cubic-bezier(.4,0,.2,1);transition:background-color .28s cubic-bezier(.4,0,.2,1)}.mdui-table td,.mdui-table th{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px 28px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-table td:last-child,.mdui-table th:last-child{padding-right:24px}.mdui-table td:first-child,.mdui-table th:first-child{padding-right:0;padding-left:24px}.mdui-table td:nth-child(2),.mdui-table th:nth-child(2){padding-left:24px}.mdui-table th{overflow:hidden;font-size:13px;font-weight:700;line-height:32px;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap}.mdui-table td{font-size:14px;line-height:24px;color:rgba(0,0,0,.87)}.mdui-table-cell-checkbox{padding-top:0!important;padding-bottom:0!important;padding-left:24px!important}.mdui-table-cell-checkbox .mdui-checkbox{margin-top:7px}.mdui-table-cell-checkbox+td,.mdui-table-cell-checkbox+th{padding-left:6px!important}th.mdui-table-cell-checkbox .mdui-checkbox{margin-top:11px}.mdui-table-hoverable tbody tr:hover{background-color:#eee}.mdui-table-fluid{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(0,0,0,.12);border-bottom:none;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table-fluid .mdui-table{margin:0;border:none;-webkit-box-shadow:none;box-shadow:none}.mdui-table-col-numeric{text-align:right!important}.mdui-table-row-selected{background-color:#f5f5f5}.mdui-theme-layout-dark .mdui-table{background-color:#303030;border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table td,.mdui-theme-layout-dark .mdui-table th{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-table th{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-table td{color:#fff}.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-table-fluid{border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table-fluid .mdui-table{border:none;-webkit-box-shadow:none;box-shadow:none}.mdui-theme-layout-dark .mdui-table-row-selected{background-color:#424242}.mdui-divider,.mdui-divider-dark,.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light,.mdui-divider-light{height:1px;margin:-1px 0 0 0;border:none}.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light{margin-left:72px}.mdui-divider,.mdui-divider-inset{background-color:rgba(0,0,0,.12)}.mdui-theme-layout-dark .mdui-divider,.mdui-theme-layout-dark .mdui-divider-inset{background-color:rgba(255,255,255,.12)}.mdui-divider-inset-light,.mdui-divider-light{background-color:rgba(255,255,255,.12)}.mdui-divider-dark,.mdui-divider-inset-dark{background-color:rgba(0,0,0,.12)}.mdui-img-fluid,.mdui-video-fluid{display:block;max-width:100%;height:auto}.mdui-img-rounded{border-radius:2px}.mdui-img-circle{border-radius:50%}.mdui-video-container{position:relative;height:0;padding-bottom:56.25%;overflow:hidden}.mdui-video-container embed,.mdui-video-container iframe,.mdui-video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.mdui-ripple{position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-ripple-wave{position:absolute!important;top:0;left:0;z-index:1;padding:0;margin:0;font-size:0;pointer-events:none;background-color:rgba(0,0,0,.1);border-radius:50%;-webkit-transition-duration:1.4s;transition-duration:1.4s;-webkit-transform:translate3d(0,0,0) scale(0);transform:translate3d(0,0,0) scale(0)}.mdui-ripple[class*=mdui-color-] .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}.mdui-ripple-white .mdui-ripple-wave{background-color:rgba(255,255,255,.3)!important}.mdui-ripple-black .mdui-ripple-wave{background-color:rgba(0,0,0,.1)!important}.mdui-ripple-wave-fill{opacity:.35;-webkit-transition-duration:.3s;transition-duration:.3s}.mdui-ripple-wave-out{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s}.mdui-ripple-amber .mdui-ripple-wave{background-color:rgba(255,193,7,.3)!important}.mdui-ripple-blue .mdui-ripple-wave{background-color:rgba(33,150,243,.3)!important}.mdui-ripple-blue-grey .mdui-ripple-wave{background-color:rgba(96,125,139,.3)!important}.mdui-ripple-brown .mdui-ripple-wave{background-color:rgba(121,85,72,.3)!important}.mdui-ripple-cyan .mdui-ripple-wave{background-color:rgba(0,188,212,.3)!important}.mdui-ripple-deep-orange .mdui-ripple-wave{background-color:rgba(255,87,34,.3)!important}.mdui-ripple-deep-purple .mdui-ripple-wave{background-color:rgba(103,58,183,.3)!important}.mdui-ripple-green .mdui-ripple-wave{background-color:rgba(76,175,80,.3)!important}.mdui-ripple-grey .mdui-ripple-wave{background-color:rgba(158,158,158,.3)!important}.mdui-ripple-indigo .mdui-ripple-wave{background-color:rgba(63,81,181,.3)!important}.mdui-ripple-light-blue .mdui-ripple-wave{background-color:rgba(3,169,244,.3)!important}.mdui-ripple-light-green .mdui-ripple-wave{background-color:rgba(139,195,74,.3)!important}.mdui-ripple-lime .mdui-ripple-wave{background-color:rgba(205,220,57,.3)!important}.mdui-ripple-orange .mdui-ripple-wave{background-color:rgba(255,152,0,.3)!important}.mdui-ripple-pink .mdui-ripple-wave{background-color:rgba(233,30,99,.3)!important}.mdui-ripple-purple .mdui-ripple-wave{background-color:rgba(156,39,176,.3)!important}.mdui-ripple-red .mdui-ripple-wave{background-color:rgba(244,67,54,.3)!important}.mdui-ripple-teal .mdui-ripple-wave{background-color:rgba(0,150,136,.3)!important}.mdui-ripple-yellow .mdui-ripple-wave{background-color:rgba(255,235,59,.3)!important}.mdui-theme-layout-dark .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}.mdui-textfield{position:relative;padding-top:16px;padding-bottom:8px;overflow:hidden}.mdui-textfield-has-bottom{padding-bottom:28px}.mdui-textfield-input{display:block;width:100%;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;padding:8px 0;margin:0;overflow:hidden;font-family:inherit;font-size:16px;line-height:20px;color:rgba(0,0,0,.87);resize:none;background:0 0;border:none;border-bottom:1px solid rgba(0,0,0,.42);border-radius:0;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,box-shadow;transition-property:border-bottom-color,padding-right,box-shadow,-webkit-box-shadow;-moz-appearance:none;appearance:none}.mdui-textfield-input::-webkit-input-placeholder{color:inherit;opacity:.42}.mdui-textfield-input:not([disabled]):hover{cursor:pointer;border-bottom:1px solid rgba(0,0,0,.87);-webkit-box-shadow:0 1px 0 0 rgba(0,0,0,.87);box-shadow:0 1px 0 0 rgba(0,0,0,.87)}.mdui-textfield-input[rows]{height:auto!important;overflow:auto;-webkit-overflow-scrolling:touch}.mdui-textfield-label{display:block;width:100%;font-size:16px;color:rgba(0,0,0,.54);pointer-events:none;-webkit-transition:all .2s;transition:all .2s;-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0);-webkit-transform-origin:left;transform-origin:left}.mdui-textfield-error,.mdui-textfield-helper{position:absolute;bottom:8px;height:12px;overflow:hidden;font-size:12px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.mdui-textfield-error{color:rgba(255,23,68,.87);visibility:hidden}.mdui-textfield-helper{color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon{position:absolute;bottom:8px;padding:6px;color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon~.mdui-textfield-error,.mdui-textfield .mdui-icon~.mdui-textfield-flex-wrap,.mdui-textfield .mdui-icon~.mdui-textfield-helper,.mdui-textfield .mdui-icon~.mdui-textfield-input,.mdui-textfield .mdui-icon~.mdui-textfield-label{width:calc(100% - 56px);margin-left:56px}.mdui-textfield-has-bottom .mdui-icon{bottom:28px}.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-textfield-focus .mdui-icon,.mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(0,0,0,.35);-webkit-transform:scale(1) translateY(27px);transform:scale(1) translateY(27px)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:rgba(0,0,0,.65);-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label{color:#e91e63}.mdui-textfield-expandable{width:36px;min-height:36px;padding:1px 0;-webkit-transition:width .3s cubic-bezier(.4,0,.2,1);transition:width .3s cubic-bezier(.4,0,.2,1)}.mdui-textfield-expandable .mdui-icon{bottom:0;padding:0}.mdui-textfield-expandable .mdui-textfield-input{width:calc(100% - 36px);padding-right:0;margin-left:36px}.mdui-textfield-expandable .mdui-textfield-icon{position:absolute;top:0;left:0}.mdui-textfield-expandable .mdui-textfield-close{position:absolute;top:0;right:0;-webkit-transform:scale(0);transform:scale(0)}.mdui-textfield-expandable.mdui-textfield-expanded{width:100%}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input{padding-right:36px}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close{-webkit-transform:scale(1);transform:scale(1)}.mdui-textfield-invalid .mdui-textfield-input,.mdui-textfield-invalid-html5 .mdui-textfield-input,.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff1744!important;-webkit-box-shadow:0 1px 0 0 #ff1744!important;box-shadow:0 1px 0 0 #ff1744!important}.mdui-textfield-invalid .mdui-textfield-label,.mdui-textfield-invalid-html5 .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,23,68,.35)!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid .mdui-textfield-error,.mdui-textfield-invalid-html5 .mdui-textfield-error{visibility:visible}.mdui-textfield-invalid .mdui-textfield-error+.mdui-textfield-helper,.mdui-textfield-invalid-html5 .mdui-textfield-error+.mdui-textfield-helper{visibility:hidden}.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-textfield-disabled .mdui-textfield-label{color:rgba(0,0,0,.38)}.mdui-textfield-disabled .mdui-textfield-input{color:rgba(0,0,0,.42);cursor:default}.mdui-textfield-disabled .mdui-textfield-input{border-bottom:1px dashed rgba(0,0,0,.42)}.mdui-textfield-counter{position:absolute;right:8px;bottom:8px;height:12px;font-size:12px;line-height:12px;color:rgba(0,0,0,.54)}.mdui-theme-layout-dark .mdui-textfield-input{color:#fff;border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 0 #fff;box-shadow:0 1px 0 0 #fff}.mdui-theme-layout-dark .mdui-textfield .mdui-icon{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-label{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,255,255,.35)}.mdui-theme-layout-dark .mdui-textfield-error{color:#ff1744}.mdui-theme-layout-dark .mdui-textfield-helper{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-counter{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab00;-webkit-box-shadow:0 1px 0 0 #ffab00;box-shadow:0 1px 0 0 #ffab00}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,171,0,.87)}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd740;-webkit-box-shadow:0 1px 0 0 #ffd740;box-shadow:0 1px 0 0 #ffd740}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffd740}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#2962ff;-webkit-box-shadow:0 1px 0 0 #2962ff;box-shadow:0 1px 0 0 #2962ff}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(41,98,255,.87)}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#448aff;-webkit-box-shadow:0 1px 0 0 #448aff;box-shadow:0 1px 0 0 #448aff}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#448aff}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00b8d4;-webkit-box-shadow:0 1px 0 0 #00b8d4;box-shadow:0 1px 0 0 #00b8d4}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,184,212,.87)}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#18ffff;-webkit-box-shadow:0 1px 0 0 #18ffff;box-shadow:0 1px 0 0 #18ffff}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#18ffff}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#dd2c00;-webkit-box-shadow:0 1px 0 0 #dd2c00;box-shadow:0 1px 0 0 #dd2c00}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(221,44,0,.87)}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6e40;-webkit-box-shadow:0 1px 0 0 #ff6e40;box-shadow:0 1px 0 0 #ff6e40}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff6e40}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#6200ea;-webkit-box-shadow:0 1px 0 0 #6200ea;box-shadow:0 1px 0 0 #6200ea}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(98,0,234,.87)}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#7c4dff;-webkit-box-shadow:0 1px 0 0 #7c4dff;box-shadow:0 1px 0 0 #7c4dff}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#7c4dff}.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00c853;-webkit-box-shadow:0 1px 0 0 #00c853;box-shadow:0 1px 0 0 #00c853}.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,200,83,.87)}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#69f0ae;-webkit-box-shadow:0 1px 0 0 #69f0ae;box-shadow:0 1px 0 0 #69f0ae}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#69f0ae}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#304ffe;-webkit-box-shadow:0 1px 0 0 #304ffe;box-shadow:0 1px 0 0 #304ffe}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label{color:rgba(48,79,254,.87)}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#536dfe;-webkit-box-shadow:0 1px 0 0 #536dfe;box-shadow:0 1px 0 0 #536dfe}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#536dfe}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#0091ea;-webkit-box-shadow:0 1px 0 0 #0091ea;box-shadow:0 1px 0 0 #0091ea}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,145,234,.87)}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#40c4ff;-webkit-box-shadow:0 1px 0 0 #40c4ff;box-shadow:0 1px 0 0 #40c4ff}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#40c4ff}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64dd17;-webkit-box-shadow:0 1px 0 0 #64dd17;box-shadow:0 1px 0 0 #64dd17}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(100,221,23,.87)}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#b2ff59;-webkit-box-shadow:0 1px 0 0 #b2ff59;box-shadow:0 1px 0 0 #b2ff59}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#b2ff59}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#aeea00;-webkit-box-shadow:0 1px 0 0 #aeea00;box-shadow:0 1px 0 0 #aeea00}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label{color:rgba(174,234,0,.87)}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#eeff41;-webkit-box-shadow:0 1px 0 0 #eeff41;box-shadow:0 1px 0 0 #eeff41}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#eeff41}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6d00;-webkit-box-shadow:0 1px 0 0 #ff6d00;box-shadow:0 1px 0 0 #ff6d00}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,109,0,.87)}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab40;-webkit-box-shadow:0 1px 0 0 #ffab40;box-shadow:0 1px 0 0 #ffab40}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffab40}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#a0f;-webkit-box-shadow:0 1px 0 0 #a0f;box-shadow:0 1px 0 0 #a0f}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(170,0,255,.87)}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#e040fb;-webkit-box-shadow:0 1px 0 0 #e040fb;box-shadow:0 1px 0 0 #e040fb}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#e040fb}.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#d50000;-webkit-box-shadow:0 1px 0 0 #d50000;box-shadow:0 1px 0 0 #d50000}.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label{color:rgba(213,0,0,.87)}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff5252;-webkit-box-shadow:0 1px 0 0 #ff5252;box-shadow:0 1px 0 0 #ff5252}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff5252}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00bfa5;-webkit-box-shadow:0 1px 0 0 #00bfa5;box-shadow:0 1px 0 0 #00bfa5}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,191,165,.87)}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64ffda;-webkit-box-shadow:0 1px 0 0 #64ffda;box-shadow:0 1px 0 0 #64ffda}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#64ffda}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd600;-webkit-box-shadow:0 1px 0 0 #ffd600;box-shadow:0 1px 0 0 #ffd600}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,214,0,.87)}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff0;-webkit-box-shadow:0 1px 0 0 #ff0;box-shadow:0 1px 0 0 #ff0}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff0}.mdui-checkbox{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-checkbox input[type=checkbox]{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-checkbox-icon{position:absolute;top:9px;left:0;display:inline-block;width:18px;height:18px;vertical-align:middle;background-color:transparent;border:none;border-radius:18px;-webkit-transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-checkbox-icon:after{position:absolute;top:0;left:0;z-index:0;width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;content:' ';border:2px solid rgba(0,0,0,.54);border-radius:2px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}.mdui-checkbox-icon:before{position:absolute;top:2px;left:0;z-index:1;width:8px;height:13px;-webkit-box-sizing:border-box;box-sizing:border-box;content:' ';border-right:2px solid #fff;border-bottom:2px solid #fff;opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotateZ(37deg) scale(0);transform:rotateZ(37deg) scale(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:before{opacity:1;-webkit-transform:rotateZ(37deg) scale(1);transform:rotateZ(37deg) scale(1)}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:before{top:8px;left:3px;width:12px;height:0;border-right:none;border-bottom:2px solid #fff;border-radius:1px;opacity:1;-webkit-transform:rotateZ(0) scale(1);transform:rotateZ(0) scale(1)}.mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon:after{border-color:rgba(0,0,0,.26)}.mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon:after,.mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon:after{background-color:rgba(0,0,0,.26)!important;border-color:transparent!important}.mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ffd740;border-color:#ffd740}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#448aff;border-color:#448aff}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#18ffff;border-color:#18ffff}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff6e40;border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#7c4dff;border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#69f0ae;border-color:#69f0ae}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#536dfe;border-color:#536dfe}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#40c4ff;border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#b2ff59;border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#eeff41;border-color:#eeff41}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ffab40;border-color:#ffab40}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#e040fb;border-color:#e040fb}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff5252;border-color:#ff5252}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#64ffda;border-color:#64ffda}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff0;border-color:#ff0}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-checkbox-icon:after{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-checkbox-icon:before{border-right-color:#303030!important;border-bottom-color:#303030!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon:after{border-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon:after,.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon:after{background-color:rgba(255,255,255,.3)!important;border-color:transparent!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-theme-layout-dark .mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}.mdui-radio{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-radio input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-radio-icon{position:absolute;top:9px;left:0;display:inline-block;width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:middle;border:2px solid rgba(0,0,0,.54);border-radius:18px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-radio-icon:before{position:absolute;top:0;left:0;width:14px;height:14px;content:' ';background-color:#ff4081;border-radius:14px;opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}.mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{opacity:1;-webkit-transform:scale(.68);transform:scale(.68)}.mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon:before{background-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-amber .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-cyan .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-indigo .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-lime .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-pink .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-red .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-teal .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-yellow .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-radio-icon{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon:before{background-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-theme-layout-dark .mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}.mdui-switch{display:inline-block;height:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-switch input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-switch-icon{position:relative;display:inline-block;width:36px;height:14px;vertical-align:middle;background-color:rgba(0,0,0,.38);border-radius:14px;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-switch-icon:before{position:absolute;top:-3px;left:-3px;display:inline-block;width:20px;height:20px;content:' ';background-color:#fafafa;border-radius:20px;-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{left:20px;background-color:#ff4081}.mdui-switch input[type=checkbox]:focus+.mdui-switch-icon:before,.mdui-switch:active input[type=checkbox]+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1)}.mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(0,0,0,.12)!important}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon:before{background-color:#bdbdbd!important}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,215,64,.5)}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-amber .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(68,138,255,.5)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(24,255,255,.5)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-cyan .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,110,64,.5)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-deep-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(124,77,255,.5)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-deep-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(105,240,174,.5)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(83,109,254,.5)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-indigo .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(64,196,255,.5)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-light-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(178,255,89,.5)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-light-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(238,255,65,.5)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-lime .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,171,64,.5)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-pink .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(224,64,251,.5)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,82,82,.5)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-red .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(100,255,218,.5)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-teal .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,0,.5)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-yellow .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-switch-icon{background-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-switch-icon:before{background-color:#bdbdbd}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,229,127,.5)}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffe57f}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(130,177,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#82b1ff}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(132,255,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#84ffff}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,158,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff9e80}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(179,136,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b388ff}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(185,246,202,.5)}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b9f6ca}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(140,158,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#8c9eff}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(128,216,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#80d8ff}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(204,255,144,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ccff90}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(244,255,129,.5)}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#f4ff81}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,209,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffd180}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,128,171,.5)}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff80ab}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(234,128,252,.5)}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ea80fc}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,138,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff8a80}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(167,255,235,.5)}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#a7ffeb}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,141,.5)}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffff8d}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:focus+.mdui-switch-icon:before,.mdui-theme-layout-dark .mdui-switch:active input[type=checkbox]+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(255,255,255,.1)!important}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon:before{background-color:#424242!important}.mdui-slider{position:relative;display:block;width:100%;height:36px}.mdui-slider input[type=range]{position:absolute;top:50%;z-index:2;width:100%;height:20px;-webkit-appearance:none;margin-top:-10px;cursor:pointer;opacity:0;-moz-appearance:none;appearance:none}.mdui-slider-fill,.mdui-slider-track{position:absolute;top:50%;height:2px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-1px}.mdui-slider-fill:before,.mdui-slider-track:before{display:block;width:100%;height:100%;content:' '}.mdui-slider-track{right:0}.mdui-slider-track:before{background-color:#bdbdbd;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-slider-fill{left:0}.mdui-slider-fill:before{background-color:#ff4081}.mdui-slider-thumb{position:absolute;top:50%;width:12px;height:12px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-6px;background-color:#ff4081;border:2px solid #ff4081;border-radius:50%;-webkit-transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);-webkit-transform:translate(-50%);transform:translate(-50%);will-change:background,border-color,transform,border-radius}.mdui-theme-accent-amber .mdui-slider-fill:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-slider-thumb{background-color:#ffd740;border:2px solid #ffd740}.mdui-theme-accent-blue .mdui-slider-fill:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-slider-thumb{background-color:#448aff;border:2px solid #448aff}.mdui-theme-accent-cyan .mdui-slider-fill:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-slider-thumb{background-color:#18ffff;border:2px solid #18ffff}.mdui-theme-accent-deep-orange .mdui-slider-fill:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-slider-thumb{background-color:#ff6e40;border:2px solid #ff6e40}.mdui-theme-accent-deep-purple .mdui-slider-fill:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-slider-thumb{background-color:#7c4dff;border:2px solid #7c4dff}.mdui-theme-accent-green .mdui-slider-fill:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-slider-thumb{background-color:#69f0ae;border:2px solid #69f0ae}.mdui-theme-accent-indigo .mdui-slider-fill:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-slider-thumb{background-color:#536dfe;border:2px solid #536dfe}.mdui-theme-accent-light-blue .mdui-slider-fill:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-slider-thumb{background-color:#40c4ff;border:2px solid #40c4ff}.mdui-theme-accent-light-green .mdui-slider-fill:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-slider-thumb{background-color:#b2ff59;border:2px solid #b2ff59}.mdui-theme-accent-lime .mdui-slider-fill:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-slider-thumb{background-color:#eeff41;border:2px solid #eeff41}.mdui-theme-accent-orange .mdui-slider-fill:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-slider-thumb{background-color:#ffab40;border:2px solid #ffab40}.mdui-theme-accent-pink .mdui-slider-fill:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-slider-thumb{background-color:#ff4081;border:2px solid #ff4081}.mdui-theme-accent-purple .mdui-slider-fill:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-slider-thumb{background-color:#e040fb;border:2px solid #e040fb}.mdui-theme-accent-red .mdui-slider-fill:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-slider-thumb{background-color:#ff5252;border:2px solid #ff5252}.mdui-theme-accent-teal .mdui-slider-fill:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-slider-thumb{background-color:#64ffda;border:2px solid #64ffda}.mdui-theme-accent-yellow .mdui-slider-fill:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-slider-thumb{background-color:#ff0;border:2px solid #ff0}.mdui-slider-focus .mdui-slider-track:before{background-color:#9e9e9e}.mdui-slider-focus .mdui-slider-thumb{-webkit-transform:translate(-50%) scale(1.6);transform:translate(-50%) scale(1.6)}.mdui-slider-zero .mdui-slider-thumb{background-color:#fff;border-color:#bdbdbd}.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#9e9e9e}.mdui-slider-disabled input[type=range]{cursor:default}.mdui-slider-disabled .mdui-slider-track:before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-fill:before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd;border-color:transparent!important;-webkit-transform:translate(-50%) scale(.72);transform:translate(-50%) scale(.72)}.mdui-slider-discrete .mdui-slider-thumb{width:30px;height:30px;margin-top:-15px;margin-left:-15px;border:none;-webkit-transform:rotate(-45deg) scale(.4);transform:rotate(-45deg) scale(.4)}.mdui-slider-discrete .mdui-slider-thumb span{position:absolute;top:9px;left:-1px;width:100%;font-size:12px;color:#fff;text-align:center;opacity:0;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb{border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg) scale(1) translate(22px,-22px);transform:rotate(-45deg) scale(1) translate(22px,-22px)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span{opacity:1}.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#323232}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#bdbdbd}.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb{-webkit-transform:rotate(-45deg) scale(.288);transform:rotate(-45deg) scale(.288)}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd}.mdui-theme-layout-dark .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb{background-color:#303030;border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#fefefe}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#5c5c5c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-btn,.mdui-fab{position:relative;display:inline-block;min-width:88px;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 16px;margin:0;overflow:hidden;font-size:14px;font-weight:500;line-height:36px;color:inherit;text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;zoom:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;border:none;border-radius:2px;outline:0;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);will-change:box-shadow;-webkit-user-drag:none}.mdui-btn:hover,.mdui-fab:hover{background-color:rgba(0,0,0,.1)}.mdui-btn:not(.mdui-ripple):active,.mdui-fab:not(.mdui-ripple):active{background-color:rgba(0,0,0,.165)}.mdui-btn[class*=mdui-color-]:hover,.mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-btn .mdui-icon-left,.mdui-btn .mdui-icon-left::before,.mdui-btn .mdui-icon-right,.mdui-btn .mdui-icon-right::before{height:inherit;font-size:1.3em;line-height:inherit}.mdui-btn .mdui-icon-left{float:left;margin-right:.4em}.mdui-btn .mdui-icon-right{float:right;margin-left:.4em}input.mdui-btn[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mdui-btn-raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-btn-raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-btn-raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-btn[disabled],.mdui-btn[disabled]:active,.mdui-btn[disabled]:focus,.mdui-btn[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{color:rgba(0,0,0,.26)!important;cursor:default!important;background-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;opacity:1!important}.mdui-btn[disabled] .mdui-icon,.mdui-btn[disabled]:active .mdui-icon,.mdui-btn[disabled]:focus .mdui-icon,.mdui-btn[disabled]:hover .mdui-icon,.mdui-fab[disabled] .mdui-icon,.mdui-fab[disabled]:active .mdui-icon,.mdui-fab[disabled]:focus .mdui-icon,.mdui-fab[disabled]:hover .mdui-icon{color:rgba(0,0,0,.26)!important}.mdui-btn-raised[disabled],.mdui-btn-raised[disabled]:active,.mdui-btn-raised[disabled]:focus,.mdui-btn-raised[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{background-color:rgba(0,0,0,.12)!important;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important}.mdui-btn-bold{font-weight:700}.mdui-btn-icon{width:36px;min-width:36px;height:36px;padding:0;margin-right:0;margin-left:0;overflow:hidden;font-size:24px;line-height:normal;border-radius:50%}.mdui-btn-icon .mdui-icon{position:absolute;top:50%;left:50%;width:24px;line-height:24px;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px)}.mdui-btn-icon.mdui-ripple{-webkit-transform:translateZ(0);transform:translateZ(0)}.mdui-btn-block{display:block;width:100%}.mdui-btn-dense{height:32px;font-size:13px;line-height:32px}.mdui-btn-dense.mdui-btn-icon{width:32px;min-width:32px}.mdui-btn-group{position:relative;display:inline-block;vertical-align:middle}.mdui-btn-group .mdui-btn{float:left;min-width:inherit;padding:0 12px;color:rgba(0,0,0,.54);border-radius:0}.mdui-btn-group .mdui-btn:before{position:absolute;top:0;bottom:0;left:0;content:' ';border-left:1px solid transparent}.mdui-btn-group .mdui-btn:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.mdui-btn-group .mdui-btn:first-child:before{border-left:none}.mdui-btn-group .mdui-btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.mdui-btn-group .mdui-btn.mdui-btn-active{color:rgba(0,0,0,.87);background-color:rgba(0,0,0,.215)}.mdui-btn-group .mdui-btn.mdui-btn-active+.mdui-btn-active:before{border-left:1px solid rgba(0,0,0,.145)}.mdui-theme-layout-dark .mdui-btn:hover,.mdui-theme-layout-dark .mdui-fab:hover{background-color:rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active{background-color:rgba(255,255,255,.165)}.mdui-theme-layout-dark .mdui-btn[class*=mdui-color-]:hover,.mdui-theme-layout-dark .mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-theme-layout-dark .mdui-btn[disabled],.mdui-theme-layout-dark .mdui-btn[disabled]:active,.mdui-theme-layout-dark .mdui-btn[disabled]:focus,.mdui-theme-layout-dark .mdui-btn[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{color:rgba(255,255,255,.3)!important;background-color:transparent!important}.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-btn-raised[disabled],.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{background-color:rgba(255,255,255,.12)!important}.mdui-fab{width:56px;min-width:56px;height:56px;padding:0!important;margin:auto;overflow:hidden;font-size:24px;line-height:normal!important;border-radius:50%;-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mdui-fab:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-fab:active{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mdui-fab .mdui-icon{position:absolute;top:0;left:0;width:24px;margin-top:16px;margin-left:16px;line-height:24px}.mdui-fab-mini{width:40px;min-width:40px;height:40px}.mdui-fab-mini .mdui-icon{margin-top:8px;margin-left:8px}.mdui-fab-fixed,.mdui-fab-wrapper{position:fixed!important;right:16px;bottom:16px}@media (min-width:1024px){.mdui-fab-fixed,.mdui-fab-wrapper{right:24px;bottom:24px}}.mdui-fab-wrapper{position:relative;z-index:4000;width:56px;height:56px;padding-top:8px;text-align:center}.mdui-fab-wrapper>.mdui-fab .mdui-icon:not(.mdui-fab-opened){opacity:1;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab .mdui-icon.mdui-fab-opened{opacity:0;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(225deg);transform:rotate(225deg);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened){opacity:0;-webkit-transform:rotate(225deg);transform:rotate(225deg)}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened{opacity:1;-webkit-transform:rotate(360deg);transform:rotate(360deg)}.mdui-fab-wrapper>.mdui-fab-mini{margin-top:8px}.mdui-fab-wrapper .mdui-fab-dial{position:absolute;right:0;bottom:64px;left:0;height:0;text-align:center;visibility:visible}.mdui-fab-wrapper .mdui-fab-dial .mdui-fab{margin:8px 0;opacity:0;-webkit-transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-fab,.mdui-fab-mini,.mdui-fab-wrapper{-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s,-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);will-change:transform}.mdui-fab-mini.mdui-fab-hide,.mdui-fab-wrapper.mdui-fab-hide,.mdui-fab.mdui-fab-hide{-webkit-transform:scale(0) translateZ(0);transform:scale(0) translateZ(0)}.mdui-select{position:relative;display:inline-block;max-width:100%;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;padding-right:24px;padding-left:0;font-family:Roboto,Noto,Helvetica,Arial,sans-serif;font-size:16px;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A);background-repeat:no-repeat;background-position:right center;border:none;border-bottom:1px solid rgba(0,0,0,.12);outline:0;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,box-shadow,background-position-x;transition-property:background-color,box-shadow,background-position-x,-webkit-box-shadow;-moz-appearance:none;appearance:none;will-change:background-color,box-shadow,background-position-x}.mdui-select.mdui-select-open{border-bottom:none}.mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-select-open.mdui-select-position-bottom,.mdui-select-open.mdui-select-position-top{z-index:99999;background-color:#fff;background-position-x:calc(100% - 12px);border-radius:2px}.mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(0,0,0,.12);border-bottom:2px solid transparent;border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12);box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-top .mdui-select-menu{border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12);box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(0,0,0,.12);border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom .mdui-select-menu{border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06)}.mdui-select-selected{position:absolute;top:50%;right:24px;left:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:left .2s cubic-bezier(0,0,.2,1);transition:left .2s cubic-bezier(0,0,.2,1);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mdui-select-open .mdui-select-selected{right:32px;left:16px}.mdui-select-open.mdui-select-position-auto .mdui-select-selected{visibility:hidden}.mdui-select-menu{position:relative;z-index:99999;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 -24px 0 0;overflow-y:scroll;-webkit-overflow-scrolling:touch;color:rgba(0,0,0,.87);cursor:default;visibility:hidden;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(1,0);transform:scale(1,0);will-change:transform,opacity,visibility}.mdui-select-open .mdui-select-menu{overflow-y:hidden;visibility:visible;opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}.mdui-select-closing .mdui-select-menu{overflow-y:hidden;visibility:visible;-webkit-box-shadow:none;box-shadow:none;opacity:0;-webkit-transform:scale(1,1);transform:scale(1,1)}.mdui-select-menu-item{height:48px;padding:0 16px;overflow:hidden;line-height:48px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.mdui-select-menu-item:hover{background-color:#eee}.mdui-select-menu-item:first-child{margin-top:8px}.mdui-select-menu-item:last-child{margin-bottom:8px}.mdui-select-menu-item[disabled]{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-select-menu-item[disabled]:hover{background-color:inherit!important}.mdui-select-menu-item[selected]{color:#ff4081}select.mdui-select{background-color:transparent}select.mdui-select option{color:rgba(0,0,0,.87)}select.mdui-select::-ms-expand{display:none}select.mdui-select[multiple]{height:auto;padding:0;font-size:15px;cursor:default;background-color:#fff;background-image:none;border:1px solid rgba(0,0,0,.38)}select.mdui-select[multiple] optgroup{padding:0 0 0 16px;margin:8px 0 0 0;color:rgba(0,0,0,.38)}select.mdui-select[multiple] optgroup:last-child{margin-bottom:8px}select.mdui-select[multiple] optgroup:not(:first-child){padding-top:8px;border-top:1px solid rgba(0,0,0,.12)}select.mdui-select[multiple] option{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:32px;padding:0 16px;margin:0 0 0 -16px;color:rgba(0,0,0,.87);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}select.mdui-select[multiple] option:first-child{margin-top:8px}select.mdui-select[multiple] option:last-child{margin-bottom:8px}.mdui-theme-accent-amber .mdui-select-menu-item[selected]{color:#ffc107}.mdui-theme-accent-blue .mdui-select-menu-item[selected]{color:#2196f3}.mdui-theme-accent-cyan .mdui-select-menu-item[selected]{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected]{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected]{color:#673ab7}.mdui-theme-accent-green .mdui-select-menu-item[selected]{color:#4caf50}.mdui-theme-accent-indigo .mdui-select-menu-item[selected]{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-select-menu-item[selected]{color:#03a9f4}.mdui-theme-accent-light-green .mdui-select-menu-item[selected]{color:#8bc34a}.mdui-theme-accent-lime .mdui-select-menu-item[selected]{color:#cddc39}.mdui-theme-accent-orange .mdui-select-menu-item[selected]{color:#ff9800}.mdui-theme-accent-pink .mdui-select-menu-item[selected]{color:#e91e63}.mdui-theme-accent-purple .mdui-select-menu-item[selected]{color:#9c27b0}.mdui-theme-accent-red .mdui-select-menu-item[selected]{color:#f44336}.mdui-theme-accent-teal .mdui-select-menu-item[selected]{color:#009688}.mdui-theme-accent-yellow .mdui-select-menu-item[selected]{color:#ffeb3b}.mdui-theme-layout-dark .mdui-select{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A);border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom,.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{background-color:#424242}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-select-menu-item:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-select-menu-item[disabled]{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark select.mdui-select{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select option{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select[multiple]{border:1px solid rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child){border-top:1px solid rgba(255,255,255,.12)}.mdui-container,.mdui-container-fluid{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}.mdui-container-fluid:after,.mdui-container:after{display:table;clear:both;content:''}.mdui-container{width:96%;max-width:1280px}@media (min-width:600px){.mdui-container{width:94%}}@media (min-width:1024px){.mdui-container{width:92%}}.mdui-row,[class*=mdui-row-]{margin-right:-8px;margin-left:-8px}.mdui-row:after,[class*=mdui-row-]:after{display:table;clear:both;content:''}.mdui-col,[class*=mdui-col-lg-],[class*=mdui-col-md-],[class*=mdui-col-sm-],[class*=mdui-col-xl-],[class*=mdui-col-xs-]{position:relative;min-height:1px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:8px;padding-left:8px}.mdui-row-gapless .mdui-col,.mdui-row-gapless [class*=mdui-col-lg-],.mdui-row-gapless [class*=mdui-col-md-],.mdui-row-gapless [class*=mdui-col-sm-],.mdui-row-gapless [class*=mdui-col-xl-],.mdui-row-gapless [class*=mdui-col-xs-]{padding-right:0;padding-left:0}.mdui-row-gapless .mdui-row,.mdui-row-gapless [class*=mdui-row-]{margin-right:0;margin-left:0}.mdui-col-xs-1{float:left;width:8.333333%}.mdui-col-offset-xs-1{margin-left:8.333333%}.mdui-row-xs-1 .mdui-col{float:left;width:100%}.mdui-col-xs-2{float:left;width:16.666667%}.mdui-col-offset-xs-2{margin-left:16.666667%}.mdui-row-xs-2 .mdui-col{float:left;width:50%}.mdui-col-xs-3{float:left;width:25%}.mdui-col-offset-xs-3{margin-left:25%}.mdui-row-xs-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xs-4{float:left;width:33.333333%}.mdui-col-offset-xs-4{margin-left:33.333333%}.mdui-row-xs-4 .mdui-col{float:left;width:25%}.mdui-col-xs-5{float:left;width:41.666667%}.mdui-col-offset-xs-5{margin-left:41.666667%}.mdui-row-xs-5 .mdui-col{float:left;width:20%}.mdui-col-xs-6{float:left;width:50%}.mdui-col-offset-xs-6{margin-left:50%}.mdui-row-xs-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xs-7{float:left;width:58.333333%}.mdui-col-offset-xs-7{margin-left:58.333333%}.mdui-row-xs-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xs-8{float:left;width:66.666667%}.mdui-col-offset-xs-8{margin-left:66.666667%}.mdui-row-xs-8 .mdui-col{float:left;width:12.5%}.mdui-col-xs-9{float:left;width:75%}.mdui-col-offset-xs-9{margin-left:75%}.mdui-row-xs-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xs-10{float:left;width:83.333333%}.mdui-col-offset-xs-10{margin-left:83.333333%}.mdui-row-xs-10 .mdui-col{float:left;width:10%}.mdui-col-xs-11{float:left;width:91.666667%}.mdui-col-offset-xs-11{margin-left:91.666667%}.mdui-row-xs-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xs-12{float:left;width:100%}.mdui-col-offset-xs-12{margin-left:100%}.mdui-row-xs-12 .mdui-col{float:left;width:8.333333%}@media (min-width:600px){.mdui-col-sm-1{float:left;width:8.333333%}.mdui-col-offset-sm-1{margin-left:8.333333%}.mdui-row-sm-1 .mdui-col{float:left;width:100%}.mdui-col-sm-2{float:left;width:16.666667%}.mdui-col-offset-sm-2{margin-left:16.666667%}.mdui-row-sm-2 .mdui-col{float:left;width:50%}.mdui-col-sm-3{float:left;width:25%}.mdui-col-offset-sm-3{margin-left:25%}.mdui-row-sm-3 .mdui-col{float:left;width:33.333333%}.mdui-col-sm-4{float:left;width:33.333333%}.mdui-col-offset-sm-4{margin-left:33.333333%}.mdui-row-sm-4 .mdui-col{float:left;width:25%}.mdui-col-sm-5{float:left;width:41.666667%}.mdui-col-offset-sm-5{margin-left:41.666667%}.mdui-row-sm-5 .mdui-col{float:left;width:20%}.mdui-col-sm-6{float:left;width:50%}.mdui-col-offset-sm-6{margin-left:50%}.mdui-row-sm-6 .mdui-col{float:left;width:16.666667%}.mdui-col-sm-7{float:left;width:58.333333%}.mdui-col-offset-sm-7{margin-left:58.333333%}.mdui-row-sm-7 .mdui-col{float:left;width:14.285714%}.mdui-col-sm-8{float:left;width:66.666667%}.mdui-col-offset-sm-8{margin-left:66.666667%}.mdui-row-sm-8 .mdui-col{float:left;width:12.5%}.mdui-col-sm-9{float:left;width:75%}.mdui-col-offset-sm-9{margin-left:75%}.mdui-row-sm-9 .mdui-col{float:left;width:11.111111%}.mdui-col-sm-10{float:left;width:83.333333%}.mdui-col-offset-sm-10{margin-left:83.333333%}.mdui-row-sm-10 .mdui-col{float:left;width:10%}.mdui-col-sm-11{float:left;width:91.666667%}.mdui-col-offset-sm-11{margin-left:91.666667%}.mdui-row-sm-11 .mdui-col{float:left;width:9.090909%}.mdui-col-sm-12{float:left;width:100%}.mdui-col-offset-sm-12{margin-left:100%}.mdui-row-sm-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1024px){.mdui-col-md-1{float:left;width:8.333333%}.mdui-col-offset-md-1{margin-left:8.333333%}.mdui-row-md-1 .mdui-col{float:left;width:100%}.mdui-col-md-2{float:left;width:16.666667%}.mdui-col-offset-md-2{margin-left:16.666667%}.mdui-row-md-2 .mdui-col{float:left;width:50%}.mdui-col-md-3{float:left;width:25%}.mdui-col-offset-md-3{margin-left:25%}.mdui-row-md-3 .mdui-col{float:left;width:33.333333%}.mdui-col-md-4{float:left;width:33.333333%}.mdui-col-offset-md-4{margin-left:33.333333%}.mdui-row-md-4 .mdui-col{float:left;width:25%}.mdui-col-md-5{float:left;width:41.666667%}.mdui-col-offset-md-5{margin-left:41.666667%}.mdui-row-md-5 .mdui-col{float:left;width:20%}.mdui-col-md-6{float:left;width:50%}.mdui-col-offset-md-6{margin-left:50%}.mdui-row-md-6 .mdui-col{float:left;width:16.666667%}.mdui-col-md-7{float:left;width:58.333333%}.mdui-col-offset-md-7{margin-left:58.333333%}.mdui-row-md-7 .mdui-col{float:left;width:14.285714%}.mdui-col-md-8{float:left;width:66.666667%}.mdui-col-offset-md-8{margin-left:66.666667%}.mdui-row-md-8 .mdui-col{float:left;width:12.5%}.mdui-col-md-9{float:left;width:75%}.mdui-col-offset-md-9{margin-left:75%}.mdui-row-md-9 .mdui-col{float:left;width:11.111111%}.mdui-col-md-10{float:left;width:83.333333%}.mdui-col-offset-md-10{margin-left:83.333333%}.mdui-row-md-10 .mdui-col{float:left;width:10%}.mdui-col-md-11{float:left;width:91.666667%}.mdui-col-offset-md-11{margin-left:91.666667%}.mdui-row-md-11 .mdui-col{float:left;width:9.090909%}.mdui-col-md-12{float:left;width:100%}.mdui-col-offset-md-12{margin-left:100%}.mdui-row-md-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1440px){.mdui-col-lg-1{float:left;width:8.333333%}.mdui-col-offset-lg-1{margin-left:8.333333%}.mdui-row-lg-1 .mdui-col{float:left;width:100%}.mdui-col-lg-2{float:left;width:16.666667%}.mdui-col-offset-lg-2{margin-left:16.666667%}.mdui-row-lg-2 .mdui-col{float:left;width:50%}.mdui-col-lg-3{float:left;width:25%}.mdui-col-offset-lg-3{margin-left:25%}.mdui-row-lg-3 .mdui-col{float:left;width:33.333333%}.mdui-col-lg-4{float:left;width:33.333333%}.mdui-col-offset-lg-4{margin-left:33.333333%}.mdui-row-lg-4 .mdui-col{float:left;width:25%}.mdui-col-lg-5{float:left;width:41.666667%}.mdui-col-offset-lg-5{margin-left:41.666667%}.mdui-row-lg-5 .mdui-col{float:left;width:20%}.mdui-col-lg-6{float:left;width:50%}.mdui-col-offset-lg-6{margin-left:50%}.mdui-row-lg-6 .mdui-col{float:left;width:16.666667%}.mdui-col-lg-7{float:left;width:58.333333%}.mdui-col-offset-lg-7{margin-left:58.333333%}.mdui-row-lg-7 .mdui-col{float:left;width:14.285714%}.mdui-col-lg-8{float:left;width:66.666667%}.mdui-col-offset-lg-8{margin-left:66.666667%}.mdui-row-lg-8 .mdui-col{float:left;width:12.5%}.mdui-col-lg-9{float:left;width:75%}.mdui-col-offset-lg-9{margin-left:75%}.mdui-row-lg-9 .mdui-col{float:left;width:11.111111%}.mdui-col-lg-10{float:left;width:83.333333%}.mdui-col-offset-lg-10{margin-left:83.333333%}.mdui-row-lg-10 .mdui-col{float:left;width:10%}.mdui-col-lg-11{float:left;width:91.666667%}.mdui-col-offset-lg-11{margin-left:91.666667%}.mdui-row-lg-11 .mdui-col{float:left;width:9.090909%}.mdui-col-lg-12{float:left;width:100%}.mdui-col-offset-lg-12{margin-left:100%}.mdui-row-lg-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1920px){.mdui-col-xl-1{float:left;width:8.333333%}.mdui-col-offset-xl-1{margin-left:8.333333%}.mdui-row-xl-1 .mdui-col{float:left;width:100%}.mdui-col-xl-2{float:left;width:16.666667%}.mdui-col-offset-xl-2{margin-left:16.666667%}.mdui-row-xl-2 .mdui-col{float:left;width:50%}.mdui-col-xl-3{float:left;width:25%}.mdui-col-offset-xl-3{margin-left:25%}.mdui-row-xl-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xl-4{float:left;width:33.333333%}.mdui-col-offset-xl-4{margin-left:33.333333%}.mdui-row-xl-4 .mdui-col{float:left;width:25%}.mdui-col-xl-5{float:left;width:41.666667%}.mdui-col-offset-xl-5{margin-left:41.666667%}.mdui-row-xl-5 .mdui-col{float:left;width:20%}.mdui-col-xl-6{float:left;width:50%}.mdui-col-offset-xl-6{margin-left:50%}.mdui-row-xl-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xl-7{float:left;width:58.333333%}.mdui-col-offset-xl-7{margin-left:58.333333%}.mdui-row-xl-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xl-8{float:left;width:66.666667%}.mdui-col-offset-xl-8{margin-left:66.666667%}.mdui-row-xl-8 .mdui-col{float:left;width:12.5%}.mdui-col-xl-9{float:left;width:75%}.mdui-col-offset-xl-9{margin-left:75%}.mdui-row-xl-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xl-10{float:left;width:83.333333%}.mdui-col-offset-xl-10{margin-left:83.333333%}.mdui-row-xl-10 .mdui-col{float:left;width:10%}.mdui-col-xl-11{float:left;width:91.666667%}.mdui-col-offset-xl-11{margin-left:91.666667%}.mdui-row-xl-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xl-12{float:left;width:100%}.mdui-col-offset-xl-12{margin-left:100%}.mdui-row-xl-12 .mdui-col{float:left;width:8.333333%}}.mdui-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-toolbar>*{margin:0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:hover{background-color:rgba(255,255,255,.1)}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:active{background-color:rgba(255,255,255,.165)}.mdui-toolbar>a{color:inherit;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-toolbar>.mdui-btn-icon{width:48px;min-width:48px;height:48px}@media (orientation:landscape) and (max-width:959px){.mdui-toolbar>.mdui-btn-icon{width:40px;min-width:40px;height:40px}}.mdui-toolbar>.mdui-btn-icon .mdui-icon{height:24px;line-height:24px}.mdui-toolbar .mdui-icon{color:inherit}.mdui-toolbar-spacer{margin:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-toolbar{height:56px;line-height:56px}.mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}@media (min-width:600px){.mdui-appbar .mdui-toolbar{height:64px;line-height:64px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 8px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar .mdui-toolbar{height:48px;line-height:48px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}.mdui-appbar{z-index:1000;-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-appbar-fixed{position:fixed;top:0;right:0;left:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:left,right;transition-property:left,right;will-change:left,right}@media (min-width:1024px){.mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed{left:240px}}@media (min-width:1024px){.mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed{right:240px}}.mdui-appbar-with-toolbar{padding-top:56px}@media (min-width:600px){.mdui-appbar-with-toolbar{padding-top:64px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar{padding-top:48px}}.mdui-appbar-with-tab{padding-top:48px}.mdui-appbar-with-tab-larger{padding-top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:104px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:112px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:96px}}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:128px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:136px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:120px}}.mdui-theme-layout-dark .mdui-appbar>[class*=mdui-color-]:not(.mdui-color-transparent){color:#fff!important;background-color:#212121!important}.mdui-card{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-card-header{position:relative;height:72px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px}.mdui-card-header-avatar{float:left;width:40px;height:40px;border-radius:50%}.mdui-card-header-title{display:block;margin-left:52px;overflow:hidden;font-size:16px;font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap;opacity:.87}.mdui-card-header-subtitle{display:block;margin-left:52px;overflow:hidden;font-size:14px;font-weight:400;line-height:20px;text-overflow:ellipsis;white-space:nowrap;opacity:.54}.mdui-card-primary{position:relative;padding:24px 16px 16px 16px}.mdui-card-primary-title{display:block;font-size:24px;line-height:36px;opacity:.87}.mdui-card-primary-subtitle{display:block;font-size:14px;line-height:24px;opacity:.54}.mdui-card-content{position:relative;padding:16px;font-size:14px;line-height:24px}.mdui-card-menu{position:absolute;top:16px;right:16px;z-index:1}.mdui-card-menu .mdui-btn{margin-left:8px}.mdui-card-actions{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px}.mdui-card-actions:after,.mdui-card-actions:before{display:table;content:" "}.mdui-card-actions:after{clear:both}.mdui-card-actions:after,.mdui-card-actions:before{display:table;content:" "}.mdui-card-actions:after{clear:both}.mdui-card-actions .mdui-btn{max-width:100%;margin:0 8px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-card-actions .mdui-btn-icon{width:36px;height:36px;margin:0 8px}.mdui-card-actions-stacked .mdui-btn{display:block;margin:0 0 4px 0}.mdui-card-actions-stacked .mdui-btn:last-child{margin:0}.mdui-card-media{position:relative}.mdui-card-media img,.mdui-card-media video{display:block;width:100%}.mdui-card-media-covered{position:absolute;right:0;bottom:0;left:0;color:#fff;background:rgba(0,0,0,.2)}.mdui-card-media-covered .mdui-card-primary-title{opacity:1}.mdui-card-media-covered .mdui-card-primary-subtitle{opacity:.7}.mdui-card-media-covered-top{top:0;bottom:auto}.mdui-card-media-covered-transparent{background:0 0}.mdui-card-media-covered-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-card-media-covered-gradient.mdui-card-media-covered-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-theme-layout-dark .mdui-card{color:#fff;background-color:#424242}.mdui-tab{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;max-height:72px;padding:0;margin:0 auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}.mdui-tab a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:72px;min-height:48px;max-height:72px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px;overflow:hidden;font-size:14px;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;cursor:pointer;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;opacity:.7;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-tab a .mdui-icon{opacity:.7}@media (min-width:600px){.mdui-tab a{min-width:99px;max-width:264px;padding:12px 24px;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}}@media (min-width:1024px){.mdui-tab a{min-width:112px}}@media (min-width:1440px){.mdui-tab a{min-width:136px}}@media (min-width:1920px){.mdui-tab a{min-width:160px}}.mdui-tab a label{display:block;width:100%;cursor:pointer}.mdui-tab a .mdui-icon+label{margin-top:8px}.mdui-tab a[disabled]{cursor:default;opacity:.38}.mdui-tab a[disabled] label{cursor:default}.mdui-tab .mdui-tab-active{color:#3f51b5;opacity:1}.mdui-tab .mdui-tab-active .mdui-icon{opacity:1}@media (min-width:600px){.mdui-tab-centered:before{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-tab-centered:after{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-tab-centered a{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}}.mdui-tab-full-width a{max-width:none;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.mdui-tab-scrollable{padding-left:56px}.mdui-tab-scrollable a{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}@media (max-width:599px){.mdui-tab-scrollable{padding-left:60px}}.mdui-tab-indicator{position:absolute;bottom:0;height:2px;background-color:#3f51b5;-webkit-transition:all .35s cubic-bezier(.4,0,.2,1);transition:all .35s cubic-bezier(.4,0,.2,1);will-change:left,width}.mdui-theme-primary-amber .mdui-tab .mdui-tab-active{color:#ffc107}.mdui-theme-primary-amber .mdui-tab-indicator{background-color:#ffc107}.mdui-theme-primary-blue .mdui-tab .mdui-tab-active{color:#2196f3}.mdui-theme-primary-blue .mdui-tab-indicator{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active{color:#607d8b}.mdui-theme-primary-blue-grey .mdui-tab-indicator{background-color:#607d8b}.mdui-theme-primary-brown .mdui-tab .mdui-tab-active{color:#795548}.mdui-theme-primary-brown .mdui-tab-indicator{background-color:#795548}.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active{color:#00bcd4}.mdui-theme-primary-cyan .mdui-tab-indicator{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active{color:#ff5722}.mdui-theme-primary-deep-orange .mdui-tab-indicator{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active{color:#673ab7}.mdui-theme-primary-deep-purple .mdui-tab-indicator{background-color:#673ab7}.mdui-theme-primary-green .mdui-tab .mdui-tab-active{color:#4caf50}.mdui-theme-primary-green .mdui-tab-indicator{background-color:#4caf50}.mdui-theme-primary-grey .mdui-tab .mdui-tab-active{color:#9e9e9e}.mdui-theme-primary-grey .mdui-tab-indicator{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active{color:#3f51b5}.mdui-theme-primary-indigo .mdui-tab-indicator{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active{color:#03a9f4}.mdui-theme-primary-light-blue .mdui-tab-indicator{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active{color:#8bc34a}.mdui-theme-primary-light-green .mdui-tab-indicator{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-tab .mdui-tab-active{color:#cddc39}.mdui-theme-primary-lime .mdui-tab-indicator{background-color:#cddc39}.mdui-theme-primary-orange .mdui-tab .mdui-tab-active{color:#ff9800}.mdui-theme-primary-orange .mdui-tab-indicator{background-color:#ff9800}.mdui-theme-primary-pink .mdui-tab .mdui-tab-active{color:#e91e63}.mdui-theme-primary-pink .mdui-tab-indicator{background-color:#e91e63}.mdui-theme-primary-purple .mdui-tab .mdui-tab-active{color:#9c27b0}.mdui-theme-primary-purple .mdui-tab-indicator{background-color:#9c27b0}.mdui-theme-primary-red .mdui-tab .mdui-tab-active{color:#f44336}.mdui-theme-primary-red .mdui-tab-indicator{background-color:#f44336}.mdui-theme-primary-teal .mdui-tab .mdui-tab-active{color:#009688}.mdui-theme-primary-teal .mdui-tab-indicator{background-color:#009688}.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active{color:#ffeb3b}.mdui-theme-primary-yellow .mdui-tab-indicator{background-color:#ffeb3b}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-active{color:inherit}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-indicator{background-color:#fff}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:8px;height:8px}}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}.mdui-subheader,.mdui-subheader-inset{position:relative;height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;padding-left:16px;overflow:hidden;font-size:14px;font-weight:500;line-height:48px;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap;cursor:default}.mdui-subheader-inset{padding-left:72px}.mdui-theme-layout-dark .mdui-subheader,.mdui-theme-layout-dark .mdui-subheader-inset{color:rgba(255,255,255,.7)}.mdui-grid-list{margin:0 -2px}.mdui-grid-list .mdui-col,.mdui-grid-list [class*=mdui-col-lg-],.mdui-grid-list [class*=mdui-col-md-],.mdui-grid-list [class*=mdui-col-sm-],.mdui-grid-list [class*=mdui-col-xl-],.mdui-grid-list [class*=mdui-col-xs-]{padding-right:2px;padding-left:2px}.mdui-grid-tile{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:4px;overflow:hidden}.mdui-grid-tile img{display:block;width:100%}.mdui-grid-tile-actions{position:absolute;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;max-height:68px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px;color:#fff;background:rgba(0,0,0,.2);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-grid-tile-actions .mdui-icon{color:#fff}.mdui-grid-tile-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.mdui-grid-tile-title{height:16px;overflow:hidden;font-size:16px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.mdui-grid-tile-title .mdui-icon{margin-right:8px}.mdui-grid-tile-subtitle{height:18px;margin-top:4px;overflow:hidden;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.mdui-grid-tile-subtitle .mdui-icon{margin-right:8px;font-size:18px}.mdui-grid-tile-buttons{margin:-8px;white-space:nowrap;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}.mdui-grid-tile-buttons .mdui-btn{margin-left:8px}.mdui-grid-tile-buttons .mdui-btn:first-child{margin-left:0}.mdui-grid-tile-text+.mdui-grid-tile-buttons{margin-left:8px}.mdui-grid-tile-buttons+.mdui-grid-tile-text{margin-left:16px}.mdui-grid-tile-actions-top{top:0;bottom:auto}.mdui-grid-tile-actions-transparent{background:0 0}.mdui-grid-tile-actions-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-list{padding:8px 0;margin:0;list-style:none;background-color:transparent}.mdui-list .mdui-list{padding:0}.mdui-list>.mdui-divider,.mdui-list>.mdui-divider-dark,.mdui-list>.mdui-divider-inset,.mdui-list>.mdui-divider-inset-dark,.mdui-list>.mdui-divider-inset-light,.mdui-list>.mdui-divider-light{margin-top:8px;margin-bottom:8px}.mdui-list a{color:inherit;text-decoration:none}.mdui-list .mdui-subheader,.mdui-list .mdui-subheader-inset{margin-top:8px}.mdui-list .mdui-subheader-inset:before,.mdui-list .mdui-subheader:before{position:absolute;right:0;left:0;display:block;height:1px;content:' ';background-color:rgba(0,0,0,.12)}.mdui-list .mdui-subheader-inset:first-child,.mdui-list .mdui-subheader:first-child{margin-top:-8px}.mdui-list .mdui-subheader-inset:first-child:before,.mdui-list .mdui-subheader:first-child:before{background-color:transparent}.mdui-list .mdui-subheader-inset:before{left:72px}.mdui-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 16px;text-decoration:none;cursor:pointer;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-list-item:hover{background-color:rgba(0,0,0,.08)}.mdui-list-item:after{height:48px;visibility:hidden;content:' '}.mdui-list-item-icon{width:24px;min-width:24px;height:24px;color:rgba(0,0,0,.54)}.mdui-list-item-avatar{min-width:40px;max-width:40px;height:40px;margin-top:8px;margin-bottom:8px;line-height:40px;color:#fff;text-align:center;background-color:#bdbdbd;border-radius:50%}.mdui-list-item-avatar img{width:100%;height:100%;border-radius:50%}.mdui-list-item-content{padding-top:14px;padding-bottom:14px;font-size:16px;font-weight:400;line-height:20px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-list-item-text{font-size:14px;opacity:.54}.mdui-list-item-title~.mdui-list-item-text{margin-top:4px}.mdui-list-item-active{font-weight:700;background-color:rgba(0,0,0,.08)}.mdui-list-item-active .mdui-list-item-content{font-weight:700}.mdui-list-item-active .mdui-list-item-text{font-weight:400}.mdui-list-item-one-line,.mdui-list-item-three-line,.mdui-list-item-two-line{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.mdui-list-item-one-line{height:20px;-webkit-line-clamp:1}.mdui-list-item-two-line{height:40px;-webkit-line-clamp:2}.mdui-list-item-three-line{height:60px;-webkit-line-clamp:3}.mdui-list-item-icon~.mdui-list-item-content{margin-left:32px}.mdui-checkbox~.mdui-list-item-content,.mdui-radio~.mdui-list-item-content,.mdui-switch~.mdui-list-item-content{margin-left:20px}.mdui-list-item-avatar~.mdui-list-item-content{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-list-item-avatar,.mdui-list-item-content~.mdui-list-item-icon,.mdui-list-item-content~.mdui-radio,.mdui-list-item-content~.mdui-switch{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-radio{padding-left:24px}.mdui-list-dense{padding:4px 0;font-size:13px}.mdui-list-dense>.mdui-divider,.mdui-list-dense>.mdui-divider-dark,.mdui-list-dense>.mdui-divider-inset,.mdui-list-dense>.mdui-divider-inset-dark,.mdui-list-dense>.mdui-divider-inset-light,.mdui-list-dense>.mdui-divider-light{margin-top:4px;margin-bottom:4px}.mdui-list-dense .mdui-subheader,.mdui-list-dense .mdui-subheader-inset{height:40px;margin-top:4px;font-size:12px;line-height:40px}.mdui-list-dense .mdui-subheader-inset:first-child,.mdui-list-dense .mdui-subheader:first-child{margin-top:-4px}.mdui-list-dense .mdui-list-item{min-height:40px}.mdui-list-dense .mdui-list-item:after{height:40px}.mdui-list-dense .mdui-list-item-icon{width:20px;height:20px;font-size:20px}.mdui-list-dense .mdui-list-item-avatar{width:36px;min-width:36px;height:36px;min-height:36px}.mdui-list-dense .mdui-list-item-content{padding-top:11px;padding-bottom:11px;font-size:13px;line-height:18px}.mdui-list-dense .mdui-list-item-text{font-size:13px}.mdui-list-dense .mdui-list-item-title~.mdui-list-item-text{margin-top:2px}.mdui-list-dense .mdui-list-item-one-line{height:18px}.mdui-list-dense .mdui-list-item-two-line{height:36px}.mdui-list-dense .mdui-list-item-three-line{height:54px}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before,.mdui-theme-layout-dark .mdui-list .mdui-subheader:before{background-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before,.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before{background-color:transparent}.mdui-theme-layout-dark .mdui-list-item{color:#fff}.mdui-theme-layout-dark .mdui-list-item:hover{background-color:rgba(255,255,255,.08)}.mdui-theme-layout-dark .mdui-list-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-list-item-text{opacity:.7}.mdui-theme-layout-dark .mdui-list-item-active{background-color:rgba(255,255,255,.08)}[class*=mdui-color-] .mdui-list-item{color:inherit}[class*=mdui-color-] .mdui-list-item-icon{color:inherit}body.mdui-loaded{-webkit-transition:padding .3s cubic-bezier(0,0,.2,1);transition:padding .3s cubic-bezier(0,0,.2,1)}body.mdui-loaded .mdui-drawer{-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.mdui-drawer{position:fixed;top:0;bottom:0;left:0;z-index:5000;width:calc(100% - 56px);max-width:280px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;will-change:transform}@media (max-width:1023px){.mdui-drawer:not(.mdui-drawer-open){-webkit-box-shadow:none!important;box-shadow:none!important}}@media (min-width:600px){.mdui-drawer{width:calc(100% - 64px);max-width:320px}}@media (min-width:1024px){.mdui-drawer{width:240px;max-width:none}.mdui-drawer.mdui-drawer-close{-webkit-box-shadow:none!important;box-shadow:none!important}}.mdui-drawer-right{right:0;left:auto}@media (max-width:1023px){.mdui-drawer{background-color:#fff;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);-webkit-transform:translateX(-330px);transform:translateX(-330px)}.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (max-width:599px){.mdui-drawer{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}}.mdui-drawer-close{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}@media (min-width:600px){.mdui-drawer-close{-webkit-transform:translateX(-330px);transform:translateX(-330px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (min-width:1024px){.mdui-drawer-close{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(250px);transform:translateX(250px)}}.mdui-drawer-open{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}@media (min-width:1024px){.mdui-drawer-body-left{padding-left:240px}.mdui-drawer-body-right{padding-right:240px}.mdui-appbar-with-toolbar .mdui-drawer{top:64px}.mdui-appbar-with-tab .mdui-drawer{top:48px}.mdui-appbar-with-tab-larger .mdui-drawer{top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer{top:112px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer{top:136px}}.mdui-drawer[class*=mdui-color-]:not(.mdui-color-transparent){-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-drawer-full-height{top:0!important}@media (max-width:1023px){.mdui-theme-layout-dark .mdui-drawer{background-color:#424242}}.mdui-dialog{position:fixed;right:0;left:0;z-index:6000;display:none;width:92%;min-width:180px;max-width:728px;max-height:90%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:auto;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(.95);transform:scale(.95);will-change:top,opacity,transform}@media (min-width:600px){.mdui-dialog{width:85%;max-height:85%}}@media (min-width:1024px){.mdui-dialog{width:80%;max-height:80%}}.mdui-dialog-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-dialog-title{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:20px;font-weight:500;line-height:24px;text-align:left}.mdui-dialog>.mdui-dialog-title{padding:24px 24px 20px 24px}.mdui-dialog-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:15px;line-height:1.5;color:rgba(0,0,0,.7)}.mdui-dialog-content>.mdui-dialog-title{padding-bottom:20px}.mdui-dialog-title+.mdui-dialog-content{padding-top:0}.mdui-dialog-actions{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;text-align:right}.mdui-dialog-actions .mdui-btn{min-width:64px;margin-left:8px;color:#e91e63}.mdui-dialog-actions .mdui-btn:first-child{margin-left:0}.mdui-dialog-content>.mdui-dialog-actions{padding-top:32px;margin:0 -24px -24px -24px}.mdui-dialog-actions-stacked{padding:8px 0 8px 0}.mdui-dialog-actions-stacked .mdui-btn{width:100%;height:48px;margin:0;line-height:48px!important;text-align:right;border-radius:0}.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn{color:#ffc107}.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn{color:#2196f3}.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn{color:#673ab7}.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn{color:#4caf50}.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn{color:#03a9f4}.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn{color:#8bc34a}.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn{color:#cddc39}.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn{color:#ff9800}.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn{color:#e91e63}.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn{color:#9c27b0}.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn{color:#f44336}.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn{color:#009688}.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn{color:#ffeb3b}.mdui-theme-layout-dark .mdui-dialog{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-dialog-content{color:rgba(255,255,255,.7)}.mdui-dialog-alert{max-width:448px}.mdui-dialog-confirm{max-width:448px}.mdui-dialog-prompt{max-width:448px}.mdui-dialog-prompt .mdui-textfield{padding-top:0}.mdui-shadow-0{-webkit-box-shadow:none;box-shadow:none}.mdui-shadow-1{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mdui-shadow-2{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-shadow-3{-webkit-box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mdui-shadow-4{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-shadow-5{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mdui-shadow-6{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mdui-shadow-7{-webkit-box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12);box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mdui-shadow-8{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-shadow-9{-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mdui-shadow-10{-webkit-box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12);box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mdui-shadow-11{-webkit-box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12);box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mdui-shadow-12{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mdui-shadow-13{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mdui-shadow-14{-webkit-box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12);box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mdui-shadow-15{-webkit-box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12);box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mdui-shadow-16{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-shadow-17{-webkit-box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12);box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mdui-shadow-18{-webkit-box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12);box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mdui-shadow-19{-webkit-box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12);box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mdui-shadow-20{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mdui-shadow-21{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mdui-shadow-22{-webkit-box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12);box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mdui-shadow-23{-webkit-box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12);box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mdui-shadow-24{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mdui-hoverable{-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-hoverable:focus,.mdui-hoverable:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-tooltip{position:absolute;z-index:9000;display:inline-block;max-width:180px;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;color:#fff;text-align:left;background-color:rgba(97,97,97,.9);border-radius:2px;opacity:0;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);will-change:opacity,transform}@media (min-width:1024px){.mdui-tooltip{max-width:200px;min-height:24px;padding:4px 8px;font-size:12px;line-height:18px}}.mdui-tooltip-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-snackbar{position:fixed;z-index:7000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 24px 0 24px;font-size:14px;line-height:20px;color:#fff;background-color:#323232;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;will-change:transform}@media (min-width:600px){.mdui-snackbar{width:auto;min-width:288px;max-width:568px;border-radius:2px}}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-left-top,.mdui-snackbar-right-bottom,.mdui-snackbar-right-top,.mdui-snackbar-top{-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1)}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-right-bottom{bottom:0}.mdui-snackbar-left-top,.mdui-snackbar-right-top,.mdui-snackbar-top{top:0}.mdui-snackbar-bottom,.mdui-snackbar-top{left:50%}@media (min-width:600px){.mdui-snackbar-left-top{top:24px;left:24px}.mdui-snackbar-left-bottom{bottom:24px;left:24px}.mdui-snackbar-right-top{top:24px;right:24px}.mdui-snackbar-right-bottom{right:24px;bottom:24px}}.mdui-snackbar-text{position:relative;max-width:100%;padding:14px 0 14px 0;overflow:hidden;text-overflow:ellipsis}.mdui-snackbar-action{margin-right:-16px;color:#ff80ab;white-space:nowrap}.mdui-theme-accent-amber .mdui-snackbar-action{color:#ffe57f}.mdui-theme-accent-blue .mdui-snackbar-action{color:#82b1ff}.mdui-theme-accent-cyan .mdui-snackbar-action{color:#84ffff}.mdui-theme-accent-deep-orange .mdui-snackbar-action{color:#ff9e80}.mdui-theme-accent-deep-purple .mdui-snackbar-action{color:#b388ff}.mdui-theme-accent-green .mdui-snackbar-action{color:#b9f6ca}.mdui-theme-accent-indigo .mdui-snackbar-action{color:#8c9eff}.mdui-theme-accent-light-blue .mdui-snackbar-action{color:#80d8ff}.mdui-theme-accent-light-green .mdui-snackbar-action{color:#ccff90}.mdui-theme-accent-lime .mdui-snackbar-action{color:#f4ff81}.mdui-theme-accent-orange .mdui-snackbar-action{color:#ffd180}.mdui-theme-accent-pink .mdui-snackbar-action{color:#ff80ab}.mdui-theme-accent-purple .mdui-snackbar-action{color:#ea80fc}.mdui-theme-accent-red .mdui-snackbar-action{color:#ff8a80}.mdui-theme-accent-teal .mdui-snackbar-action{color:#a7ffeb}.mdui-theme-accent-yellow .mdui-snackbar-action{color:#ffff8d}.mdui-theme-layout-dark .mdui-snackbar{background-color:#5d5d5d}.mdui-chip{display:inline-block;height:32px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e0e0e0;border-radius:16px;-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-chip:focus,.mdui-chip:hover{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-chip:active{background-color:#d6d6d6}.mdui-chip-icon{position:relative;display:inline-block;width:32px;height:32px;margin-right:-4px;overflow:hidden;font-size:18px;line-height:32px;color:#fff;text-align:center;vertical-align:middle;background-color:#989898;border-radius:50%}.mdui-chip-icon .mdui-icon{position:absolute;top:4px;left:4px;color:#fff}.mdui-chip-title{display:inline-block;height:32px;padding-right:12px;padding-left:12px;font-size:14px;line-height:32px;vertical-align:middle}.mdui-chip-delete{display:inline-block;width:24px;height:24px;margin-right:4px;margin-left:-8px;overflow:hidden;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;border-radius:50%;opacity:.54;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1);will-change:opacity}.mdui-chip-delete:focus,.mdui-chip-delete:hover{opacity:.87}.mdui-theme-layout-dark .mdui-chip{background-color:#484848}.mdui-theme-layout-dark .mdui-chip:active{background-color:#5d5d5d}.mdui-bottom-nav{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:56px;padding:0;margin:0 auto;overflow:hidden;white-space:nowrap}@media (min-width:600px){.mdui-bottom-nav:before{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-bottom-nav:after{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}}.mdui-bottom-nav a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:32px;max-width:none;padding:8px 12px 10px 12px;overflow:hidden;font-size:12px;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;cursor:pointer;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.7;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;will-change:padding}@media (min-width:600px){.mdui-bottom-nav a{max-width:144px}}.mdui-bottom-nav a .mdui-icon{opacity:.7}.mdui-bottom-nav a label{display:block;width:100%;cursor:pointer;-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);will-change:font-size}.mdui-bottom-nav a .mdui-icon+label{margin-top:6px}.mdui-bottom-nav a.mdui-bottom-nav-active{font-size:14px;color:#3f51b5;opacity:1}.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon{opacity:1}.mdui-bottom-nav-text-auto a{min-width:32px;padding-right:0;padding-left:0}@media (min-width:600px){.mdui-bottom-nav-text-auto a{max-width:156px}}.mdui-bottom-nav-text-auto a .mdui-icon{padding-top:16px;-webkit-transition:padding-top .2s cubic-bezier(.4,0,.2,1);transition:padding-top .2s cubic-bezier(.4,0,.2,1);will-change:padding-top}.mdui-bottom-nav-text-auto a label{-webkit-transform:scale(0);transform:scale(0)}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active{padding-right:18px;padding-left:18px}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon{padding-top:0}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label{-webkit-transform:scale(1);transform:scale(1)}.mdui-bottom-nav-fixed{padding-bottom:56px}.mdui-bottom-nav-fixed .mdui-bottom-nav{position:fixed;right:0;bottom:0;left:0}.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffc107}.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#2196f3}.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#607d8b}.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active{color:#795548}.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active{color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff5722}.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#673ab7}.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#4caf50}.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9e9e9e}.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active{color:#3f51b5}.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#03a9f4}.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#8bc34a}.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active{color:#cddc39}.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff9800}.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active{color:#e91e63}.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9c27b0}.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active{color:#f44336}.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active{color:#009688}.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffeb3b}.mdui-bottom-nav[class*=mdui-color-] .mdui-bottom-nav-active{color:inherit!important}.mdui-progress{position:relative;display:block;width:100%;height:4px;overflow:hidden;background-color:rgba(63,81,181,.2);border-radius:2px}.mdui-progress-determinate{position:absolute;top:0;bottom:0;left:0;background-color:#3f51b5;-webkit-transition:width .3s linear;transition:width .3s linear}.mdui-progress-indeterminate{background-color:#3f51b5}.mdui-progress-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:' ';background-color:inherit;-webkit-animation:mdui-progress-indeterminate 2s linear infinite;animation:mdui-progress-indeterminate 2s linear infinite;will-change:left,width}.mdui-progress-indeterminate:after{position:absolute;top:0;bottom:0;left:0;content:' ';background-color:inherit;-webkit-animation:mdui-progress-indeterminate-short 2s linear infinite;animation:mdui-progress-indeterminate-short 2s linear infinite;will-change:left,width}@-webkit-keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@-webkit-keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}@keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}.mdui-theme-primary-amber .mdui-progress{background-color:rgba(255,193,7,.2)}.mdui-theme-primary-amber .mdui-progress-determinate,.mdui-theme-primary-amber .mdui-progress-indeterminate{background-color:#ffc107}.mdui-theme-primary-blue .mdui-progress{background-color:rgba(33,150,243,.2)}.mdui-theme-primary-blue .mdui-progress-determinate,.mdui-theme-primary-blue .mdui-progress-indeterminate{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-progress{background-color:rgba(96,125,139,.2)}.mdui-theme-primary-blue-grey .mdui-progress-determinate,.mdui-theme-primary-blue-grey .mdui-progress-indeterminate{background-color:#607d8b}.mdui-theme-primary-brown .mdui-progress{background-color:rgba(121,85,72,.2)}.mdui-theme-primary-brown .mdui-progress-determinate,.mdui-theme-primary-brown .mdui-progress-indeterminate{background-color:#795548}.mdui-theme-primary-cyan .mdui-progress{background-color:rgba(0,188,212,.2)}.mdui-theme-primary-cyan .mdui-progress-determinate,.mdui-theme-primary-cyan .mdui-progress-indeterminate{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-progress{background-color:rgba(255,87,34,.2)}.mdui-theme-primary-deep-orange .mdui-progress-determinate,.mdui-theme-primary-deep-orange .mdui-progress-indeterminate{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-progress{background-color:rgba(103,58,183,.2)}.mdui-theme-primary-deep-purple .mdui-progress-determinate,.mdui-theme-primary-deep-purple .mdui-progress-indeterminate{background-color:#673ab7}.mdui-theme-primary-green .mdui-progress{background-color:rgba(76,175,80,.2)}.mdui-theme-primary-green .mdui-progress-determinate,.mdui-theme-primary-green .mdui-progress-indeterminate{background-color:#4caf50}.mdui-theme-primary-grey .mdui-progress{background-color:rgba(158,158,158,.2)}.mdui-theme-primary-grey .mdui-progress-determinate,.mdui-theme-primary-grey .mdui-progress-indeterminate{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-progress{background-color:rgba(63,81,181,.2)}.mdui-theme-primary-indigo .mdui-progress-determinate,.mdui-theme-primary-indigo .mdui-progress-indeterminate{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-progress{background-color:rgba(3,169,244,.2)}.mdui-theme-primary-light-blue .mdui-progress-determinate,.mdui-theme-primary-light-blue .mdui-progress-indeterminate{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-progress{background-color:rgba(139,195,74,.2)}.mdui-theme-primary-light-green .mdui-progress-determinate,.mdui-theme-primary-light-green .mdui-progress-indeterminate{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-progress{background-color:rgba(205,220,57,.2)}.mdui-theme-primary-lime .mdui-progress-determinate,.mdui-theme-primary-lime .mdui-progress-indeterminate{background-color:#cddc39}.mdui-theme-primary-orange .mdui-progress{background-color:rgba(255,152,0,.2)}.mdui-theme-primary-orange .mdui-progress-determinate,.mdui-theme-primary-orange .mdui-progress-indeterminate{background-color:#ff9800}.mdui-theme-primary-pink .mdui-progress{background-color:rgba(233,30,99,.2)}.mdui-theme-primary-pink .mdui-progress-determinate,.mdui-theme-primary-pink .mdui-progress-indeterminate{background-color:#e91e63}.mdui-theme-primary-purple .mdui-progress{background-color:rgba(156,39,176,.2)}.mdui-theme-primary-purple .mdui-progress-determinate,.mdui-theme-primary-purple .mdui-progress-indeterminate{background-color:#9c27b0}.mdui-theme-primary-red .mdui-progress{background-color:rgba(244,67,54,.2)}.mdui-theme-primary-red .mdui-progress-determinate,.mdui-theme-primary-red .mdui-progress-indeterminate{background-color:#f44336}.mdui-theme-primary-teal .mdui-progress{background-color:rgba(0,150,136,.2)}.mdui-theme-primary-teal .mdui-progress-determinate,.mdui-theme-primary-teal .mdui-progress-indeterminate{background-color:#009688}.mdui-theme-primary-yellow .mdui-progress{background-color:rgba(255,235,59,.2)}.mdui-theme-primary-yellow .mdui-progress-determinate,.mdui-theme-primary-yellow .mdui-progress-indeterminate{background-color:#ffeb3b}.mdui-spinner{position:relative;display:inline-block;width:28px;height:28px;-webkit-animation:mdui-spinner 1568ms linear infinite;animation:mdui-spinner 1568ms linear infinite}@-webkit-keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdui-spinner-layer{position:absolute;width:100%;height:100%;border-color:#3f51b5;opacity:0;opacity:1;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-1{border-color:#42a5f5!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-2{border-color:#f44336!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-3{border-color:#fdd835!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-4{border-color:#4caf50!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.mdui-spinner-gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-gap-patch .mdui-spinner-circle{left:-450%;width:1000%;-webkit-box-sizing:border-box;box-sizing:border-box}.mdui-spinner-circle-clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-circle-clipper .mdui-spinner-circle{position:absolute;top:0;right:0;bottom:0;width:200%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:inherit;border-style:solid;border-width:3px;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none}.mdui-spinner-circle-clipper.mdui-spinner-left{float:left}.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg);-webkit-animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-circle-clipper.mdui-spinner-right{float:right}.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg);-webkit-animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdui-theme-primary-amber .mdui-spinner-layer{border-color:#ffc107}.mdui-theme-primary-blue .mdui-spinner-layer{border-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-spinner-layer{border-color:#607d8b}.mdui-theme-primary-brown .mdui-spinner-layer{border-color:#795548}.mdui-theme-primary-cyan .mdui-spinner-layer{border-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-spinner-layer{border-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-spinner-layer{border-color:#673ab7}.mdui-theme-primary-green .mdui-spinner-layer{border-color:#4caf50}.mdui-theme-primary-grey .mdui-spinner-layer{border-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-spinner-layer{border-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-spinner-layer{border-color:#03a9f4}.mdui-theme-primary-light-green .mdui-spinner-layer{border-color:#8bc34a}.mdui-theme-primary-lime .mdui-spinner-layer{border-color:#cddc39}.mdui-theme-primary-orange .mdui-spinner-layer{border-color:#ff9800}.mdui-theme-primary-pink .mdui-spinner-layer{border-color:#e91e63}.mdui-theme-primary-purple .mdui-spinner-layer{border-color:#9c27b0}.mdui-theme-primary-red .mdui-spinner-layer{border-color:#f44336}.mdui-theme-primary-teal .mdui-spinner-layer{border-color:#009688}.mdui-theme-primary-yellow .mdui-spinner-layer{border-color:#ffeb3b}.mdui-panel{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.mdui-panel-item{color:rgba(0,0,0,.87);background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:margin .3s cubic-bezier(.4,0,.2,1);transition:margin .3s cubic-bezier(.4,0,.2,1);will-change:margin}.mdui-panel-item:last-child{border-bottom:none}.mdui-panel-item-header{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 24px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;will-change:height,background-color}.mdui-panel-item-header:active{background-color:#eee}.mdui-panel-item-title{width:36%;min-width:36%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.mdui-panel-item-summary{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;overflow:hidden;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-panel-item-arrow{position:absolute;top:12px;right:24px;color:rgba(0,0,0,.54);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(0);transform:rotate(0);will-change:transform,top}.mdui-panel-item-summary+.mdui-panel-item-arrow{position:relative;top:0!important;right:0}.mdui-panel-item-body{height:0;padding:0 24px;overflow:hidden;-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);transition:height .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-panel-item-body:after,.mdui-panel-item-body:before{display:table;content:" "}.mdui-panel-item-body:after{clear:both}.mdui-panel-item-body:after,.mdui-panel-item-body:before{display:table;content:" "}.mdui-panel-item-body:after{clear:both}.mdui-panel-item-body:after{height:16px}.mdui-panel-item-actions{display:block;width:100%;padding:16px 24px 0 24px;margin:16px -24px 0 -24px;text-align:right;border-top:1px solid rgba(0,0,0,.12)}.mdui-panel-item-actions .mdui-btn{margin-left:8px}.mdui-panel-item-actions .mdui-btn:first-child{margin-left:0}.mdui-panel-gapless{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-panel-gapless .mdui-panel-item{-webkit-box-shadow:none;box-shadow:none}.mdui-panel-gapless .mdui-panel-item-open{margin-top:0;margin-bottom:0}.mdui-panel-popout .mdui-panel-item-open{margin-right:-16px;margin-left:-16px}.mdui-panel-item-open{height:auto;margin-top:16px;margin-bottom:16px}.mdui-panel-item-open>.mdui-panel-item-header{height:64px}.mdui-panel-item-open>.mdui-panel-item-header .mdui-panel-item-arrow{top:20px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-panel-item-open>.mdui-panel-item-body{height:auto}.mdui-theme-layout-dark .mdui-panel-item{color:#fff;background-color:#303030;border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-panel-item:last-child{border-bottom:none}.mdui-theme-layout-dark .mdui-panel-item-header:active{background-color:#424242}.mdui-theme-layout-dark .mdui-panel-item-summary{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-panel-item-arrow{color:#fff}.mdui-theme-layout-dark .mdui-panel-item-actions{border-top:1px solid rgba(255,255,255,.12)}.mdui-menu{position:fixed;z-index:99999;display:block;width:168px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px 0;margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:16px;color:rgba(0,0,0,.87);list-style:none;visibility:hidden;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);will-change:transform,opacity,visibility}.mdui-menu .mdui-divider{margin-top:8px;margin-bottom:8px}.mdui-menu-open{visibility:visible;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-menu-closing{visibility:visible;opacity:0;-webkit-transform:scale(1);transform:scale(1)}.mdui-menu-item{position:relative}.mdui-menu-item>a{position:relative;display:block;height:48px;padding:0 16px;overflow:hidden;line-height:48px;color:inherit;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-menu-item>a:hover{background-color:#eee}.mdui-menu-item>.mdui-menu{position:absolute;-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mdui-menu-item[disabled]>a{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-menu-item[disabled]>a:hover{background-color:inherit!important}.mdui-menu-item[disabled]>a .mdui-icon{color:rgba(0,0,0,.26)}.mdui-menu-item-active{background-color:#eee}.mdui-menu-item-icon{display:inline-block;width:40px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;color:rgba(0,0,0,.54)}.mdui-menu-item-helper{float:right}.mdui-menu-item-more{float:right;width:24px;height:24px;margin:4px 0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-menu-cascade{width:320px;padding:16px 0;overflow-y:visible;font-size:15px}.mdui-menu-cascade>.mdui-menu-item>a{height:32px;padding:0 24px;line-height:32px}.mdui-theme-layout-dark .mdui-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-menu-item>a:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a .mdui-icon{color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-menu-item-active{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-menu-item-more{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A")} -/*# sourceMappingURL=mdui.min.css.map */ diff --git a/libs/mdui/css/mdui.min.css.map b/libs/mdui/css/mdui.min.css.map deleted file mode 100644 index 2d2156e..0000000 --- a/libs/mdui/css/mdui.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["mdui.css","textfield/less/textfield.less","mixin/less/color.less","color/less/color.less","mixin/less/helper.less","helper/less/helper.less","global/less/normalize.less","global/less/base.less","icon/less/icon.less","icon/less/material-icons.less","font/less/roboto.less","typo/less/typo.less","mixin/less/typo.less","headroom/less/headroom.less","mixin/less/shadow.less","collapse/less/collapse.less","table/less/table.less","mixin/less/divider.less","divider/less/divider.less","media/less/media.less","mixin/less/media.less","ripple/less/ripple.less","selection_control/less/checkbox.less","selection_control/less/radio.less","selection_control/less/switch.less","slider/less/slider.less","button/less/button.less","fab/less/fab.less","select/less/select.less","grid/less/grid.less","toolbar/less/toolbar.less","appbar/less/appbar.less","card/less/card.less","tab/less/tab.less","subheader/less/subheader.less","grid_list/less/grid_list.less","list/less/list.less","drawer/less/drawer.less","dialog/less/dialog.less","dialog/less/alert.less","dialog/less/prompt.less","shadow/less/shadow.less","tooltip/less/tooltip.less","snackbar/less/snackbar.less","chip/less/chip.less","bottom_nav/less/bottom_nav.less","progress/less/progress.less","progress/less/spinner.less","panel/less/panel.less","menu/less/menu.less"],"names":[],"mappings":"AAAA;;;;ACAC,4CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,mDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,4CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,4CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,eDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,0CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,wDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,uDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,wDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,mDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,eDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,0BAjCE,iBAAA,eDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,eDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,kBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,kBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,kBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,eDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,gBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,+BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,8BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,+BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,eDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,eDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,eDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBCsJJ,kBACE,MAAA,eACA,iBAAA,eAGF,kBACE,MAAA,0BACA,iBAAA,eAGF,wBACE,iBAAA,sBFvKD,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,eDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,+CCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,4DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,eDvDH,qDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,eDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,eDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,eDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,qBCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,mCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,eDvDH,4BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,eDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,eDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBCoQJ,uBACE,MAAA,eAEF,4BHmtHA,4BGjtHE,MAAA,0BAEF,iCHmtHA,iCGjtHE,MAAA,0BAEF,gCHmtHA,gCGjtHE,MAAA,0BAEF,+BHmtHA,+BGjtHE,MAAA,0BAEF,4BHmtHA,4BGjtHE,MAAA,0BAEF,qCHmtHA,qCGjtHE,MAAA,0BAOF,uBACE,MAAA,eAEF,4BACE,MAAA,eAEF,iCACE,MAAA,+BAEF,gCACE,MAAA,+BAEF,+BACE,MAAA,gCAEF,4BACE,MAAA,eAEF,qCACE,MAAA,+BAMF,oDAEI,MAAA,eAFJ,yDAKI,MAAA,+BALJ,wDAQI,MAAA,+BARJ,uDAWI,MAAA,gCAXJ,oDAcI,MAAA,eAdJ,6DAiBI,MAAA,+BFrYH,YGEC,OAAA,YHFD,YGKC,WAAA,YHLD,YGQC,aAAA,YHRD,YGWC,cAAA,YHXD,YGcC,YAAA,YHdD,YGiBC,aAAA,YACA,YAAA,YHlBD,YGqBC,WAAA,YACA,cAAA,YHtBD,YG0BC,QAAA,YH1BD,YG6BC,YAAA,YH7BD,YGgCC,cAAA,YHhCD,YGmCC,eAAA,YHnCD,YGsCC,aAAA,YHtCD,YGyCC,cAAA,YACA,aAAA,YH1CD,YG6CC,YAAA,YACA,eAAA,YH9CD,YGEC,OAAA,cHFD,YGKC,WAAA,cHLD,YGQC,aAAA,cHRD,YGWC,cAAA,cHXD,YGcC,YAAA,cHdD,YGiBC,aAAA,cACA,YAAA,cHlBD,YGqBC,WAAA,cACA,cAAA,cHtBD,YG0BC,QAAA,cH1BD,YG6BC,YAAA,cH7BD,YGgCC,cAAA,cHhCD,YGmCC,eAAA,cHnCD,YGsCC,aAAA,cHtCD,YGyCC,cAAA,cACA,aAAA,cH1CD,YG6CC,YAAA,cACA,eAAA,cH9CD,YGEC,OAAA,eHFD,YGKC,WAAA,eHLD,YGQC,aAAA,eHRD,YGWC,cAAA,eHXD,YGcC,YAAA,eHdD,YGiBC,aAAA,eACA,YAAA,eHlBD,YGqBC,WAAA,eACA,cAAA,eHtBD,YG0BC,QAAA,eH1BD,YG6BC,YAAA,eH7BD,YGgCC,cAAA,eHhCD,YGmCC,eAAA,eHnCD,YGsCC,aAAA,eHtCD,YGyCC,cAAA,eACA,aAAA,eH1CD,YG6CC,YAAA,eACA,eAAA,eH9CD,YGEC,OAAA,eHFD,YGKC,WAAA,eHLD,YGQC,aAAA,eHRD,YGWC,cAAA,eHXD,YGcC,YAAA,eHdD,YGiBC,aAAA,eACA,YAAA,eHlBD,YGqBC,WAAA,eACA,cAAA,eHtBD,YG0BC,QAAA,eH1BD,YG6BC,YAAA,eH7BD,YGgCC,cAAA,eHhCD,YGmCC,eAAA,eHnCD,YGsCC,aAAA,eHtCD,YGyCC,cAAA,eACA,aAAA,eH1CD,YG6CC,YAAA,eACA,eAAA,eH9CD,YGEC,OAAA,eHFD,YGKC,WAAA,eHLD,YGQC,aAAA,eHRD,YGWC,cAAA,eHXD,YGcC,YAAA,eHdD,YGiBC,aAAA,eACA,YAAA,eHlBD,YGqBC,WAAA,eACA,cAAA,eHtBD,YG0BC,QAAA,eH1BD,YG6BC,YAAA,eH7BD,YGgCC,cAAA,eHhCD,YGmCC,eAAA,eHnCD,YGsCC,aAAA,eHtCD,YGyCC,cAAA,eACA,aAAA,eH1CD,YG6CC,YAAA,eACA,eAAA,eH9CD,YGEC,OAAA,eHFD,YGKC,WAAA,eHLD,YGQC,aAAA,eHRD,YGWC,cAAA,eHXD,YGcC,YAAA,eHdD,YGiBC,aAAA,eACA,YAAA,eHlBD,YGqBC,WAAA,eACA,cAAA,eHtBD,YG0BC,QAAA,eH1BD,YG6BC,YAAA,eH7BD,YGgCC,cAAA,eHhCD,YGmCC,eAAA,eHnCD,YGsCC,aAAA,eHtCD,YGyCC,cAAA,eACA,aAAA,eH1CD,YG6CC,YAAA,eACA,eAAA,eCmBF,iBACE,MAAA,eAIF,kBACE,MAAA,gBAOF,aDKE,QAAA,gBACA,aAAA,eACA,YAAA,eCCF,aDTE,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eACA,kBAAA,iBJm0IA,oBIn0IA,iBJo0IA,eIp0IA,iBJ+zID,YAAA,iBAYD,gBALC,WAAA,eASD,kBALC,WAAA,iBASD,iBALC,WAAA,gBAYD,qBALC,eAAA,oBASD,qBALC,eAAA,oBASD,sBALC,eAAA,qBAYD,oBIt3IE,SAAA,OACA,cAAA,SJk3ID,YAAA,OAaD,qBADA,sBIz4II,QAAA,MJs4IH,QAAA,IAQD,qBALC,MAAA,KAYD,aACA,SALC,QAAA,eASD,gBALC,WAAA,OAWD,yBACE,gBALC,QAAA,gBASH,gDACE,gBALC,QAAA,gBASH,iDACE,gBALC,QAAA,gBASH,iDACE,gBALC,QAAA,gBASH,0BACE,gBALC,QAAA,gBAUH,yBACE,qBALC,QAAA,gBASH,0BACE,qBALC,QAAA,gBASH,0BACE,qBALC,QAAA,gBASH,0BACE,qBALC,QAAA,gBASH,qBALC,QAAA,eASD,mBALC,QAAA,eAQD,yBACE,mBALC,QAAA,gBASH,0BACE,mBALC,QAAA,gBASH,0BACE,mBALC,QAAA,gBASH,0BACE,mBALC,QAAA,gBAGH,4EAaA,KALE,YAAO,KAEP,yBAAO,KAcT,KALC,OAAA,EAWD,KALC,QAAA,MAYD,GMthJE,OAAA,MAAA,ENkhJD,UAAA,IAcD,GALE,OAAO,EM9gJP,mBAAA,YNghJO,WAAA,YAEP,SAAO,QAcT,IANE,YAAO,SAAA,CAAA,UAEP,UAAO,IAeT,EANC,iBAAA,YAaD,YMlhJE,gBAAA,UN8gJO,gBAAA,UAAA,OM7gJP,cAAA,KN+gJA,wBAAO,UAAA,OACR,qBAAA,UAAA,OAeD,EACA,OARA,YAAA,OAeA,KACA,IACA,KMphJE,YAAA,SAAA,CAAA,UN8gJD,UAAA,IAeD,MARA,UAAA,IAeA,IACA,IMjhJE,SAAA,SACA,UAAA,IN0gJD,YAAA,EMvgJD,eAAA,SNmhJA,IM/gJA,OAAA,ONkhJA,IARA,IAAA,MAgBA,IARA,aAAA,KAiBA,OACA,MACA,SACA,OACA,SAPE,OAAO,EMlgJP,YAAA,QACA,UAAA,KNsgJD,YAAA,KAgBD,OACA,MAPA,SAAA,QAeA,OACA,OAPA,eAAA,KAeA,cACA,aACA,cAHA,OALA,mBAAA,OAeA,gCACA,+BACA,gCAHA,yBALC,QAAA,EACD,aAAA,KAeA,6BACA,4BACA,6BAHA,sBALA,QAAA,IAAA,OAAA,WAcA,SARA,QAAA,MAAA,MAAA,OAiBA,OMlgJE,QAAA,MACA,UAAA,KN4/IA,mBAAO,WM3/IP,WAAA,WACA,QAAA,EACA,MAAA,QNggJD,YAAA,OAgBD,SATA,eAAA,SAeA,SATA,SAAA,KAgBA,gBACA,aAVE,mBAAO,WMz/IP,WAAA,WN4/ID,QAAA,EAiBD,yCACA,yCAVA,OAAA,KAiBA,cMlgJE,mBAAA,UN0/ID,eAAA,KAiBD,yCAVA,mBAAA,KAiBA,6BMhgJE,mBAAA,ONw/ID,KAAA,QAmBD,QAVA,QAAA,MAgBA,QAVA,QAAA,UAkBA,SAVA,QAAA,KAgBA,SAVA,QAAA,KAkBA,KOn1JE,YAAA,MAAA,CAAA,IAAA,CAAA,SAAA,CAAA,KAAA,CAAA,WACA,UAAA,KP00JD,MAAA,gBOz0JC,iBAAA,KPu1JF,yBACE,KAVD,UAAA,QAcD,0BACE,KAVD,UAAA,MAcD,yBI7wJM,MAAA,IJowJL,OAAA,IIlwJK,WAAA,IJgxJN,0BACE,yBAVC,MAAA,IACF,OAAA,KAcD,+BIzwJI,WAAA,eJ4wJJ,gDIzwJM,MAAA,IJgwJL,OAAA,II9vJK,WAAA,IJ4wJN,0BACE,gDAVC,MAAA,IACF,OAAA,KAcD,sDOt2JA,WAAA,qBPy2JA,EAVA,4BAAU,YAcV,iBAVA,SAAS,OAcT,cOp2JE,SAAA,MACA,IAAA,QACA,MAAA,QACA,OAAA,QACA,KAAA,QPs2JA,QOt2JA,KACA,WAAA,OACA,WAAA,eACA,QAAA,EACA,4BAAA,IACA,oBAAA,IAAA,4BAAA,OAAA,CAAA,WACA,oBAAA,OAAA,CAAA,WP21JD,4BAAA,OACD,oBAAW,OOz1JX,YAAA,QP22JA,mBAbA,WAAA,QOx1JA,QAAA,EP02JA,oBAdA,4BAAA,eAgBU,oBAAqB,eAO/B,wBAdA,MAAA,KAgBE,iBAAkB,QAOpB,WACA,mBAdE,UAAA,KQn6JA,WAAA,OACA,YAAA,IACA,YAAA,EACA,MAAA,QACA,eAAA,KACA,eAAA,OACA,UAAA,OACA,YAAA,OAGF,eAAA,OAEE,UAAA,IAGF,WACE,QAAA,aACA,WAAA,ORm7JF,mBAdA,QAAA,gBAgBE,MAAO,KACP,OAAQ,KAUV,WAdC,YAAA,iBS17JD,WAAA,OACE,YAAA,IAGA,IAAA,uBAAA,CAAA,8BAAA,CAAA,yDAAA,eAAA,CAAA,wDAAA,eT28JF,gBAdE,YAAA,iBSr7JA,uBAAA,YTy8JA,eSz8JA,mBT07JF,wBAAA,UAmBE,8BAA+B,OAC5B,2BAA4B,OAhB9B,sBAAA,OU/8JH,WACE,YAAA,OACA,WAAA,OAGA,YAAA,IVs9JD,IAAA,oBAAA,CAAA,oBAAA,CAAA,uCAAA,eAAA,CAAA,sCAAA,eAmBD,WUn+JE,YAAA,OAGA,WAAA,OACA,YAAA,IAGF,IAAA,0BAAA,CAAA,0BAAA,CAAA,6CAAA,eAAA,CAAA,4CAAA,eVm+JA,WU99JE,YAAA,OACA,WAAA,OV+8JD,YAAA,IU38JC,IAAA,qBAAA,CAAA,qBAAA,CAAA,wCAAA,eAAA,CAAA,uCAAA,eVg+JF,WU39JE,YAAA,OV48JD,WAAA,OUz8JD,YAAA,IAEE,IAAA,2BAAA,CAAA,2BAAA,CAAA,8CAAA,eAAA,CAAA,6CAAA,eV69JF,WAhBC,YAAA,OUt8JD,WAAA,OACE,YAAA,IAIA,IAAA,uBAAA,CAAA,uBAAA,CAAA,0CAAA,eAAA,CAAA,yCAAA,eVw9JF,WUp9JA,YAAA,OACE,WAAA,OACA,YAAA,IAIA,IAAA,6BAAA,CAAA,6BAAA,CAAA,gDAAA,eAAA,CAAA,+CAAA,eAGF,WACE,YAAA,OACA,WAAA,OAGA,YAAA,IVi8JD,IAAA,sBAAA,CAAA,sBAAA,CAAA,yCAAA,eAAA,CAAA,wCAAA,eAmBD,WU98JE,YAAA,OAGA,WAAA,OACA,YAAA,IAGF,IAAA,4BAAA,CAAA,4BAAA,CAAA,+CAAA,eAAA,CAAA,8CAAA,eV88JA,WUz8JE,YAAA,OACA,WAAA,OV07JD,YAAA,IUt7JC,IAAA,oBAAA,CAAA,oBAAA,CAAA,uCAAA,eAAA,CAAA,sCAAA,eV28JF,WUt8JE,YAAA,OVu7JD,WAAA,OACD,YAAA,IAmBE,IAAK,0BAA0B,CAAE,0BAA0B,CAAE,6CAA+C,eAAe,CAAE,4CAA8C,eAE7K,WAhBA,YAAA,OWriKA,WAAA,OXwjKE,YAAa,IY1jKb,IAAA,qBAAA,CAAA,qBAAA,CAAA,wCAAA,eAAA,CAAA,uCAAA,eZ8jKF,WWxjKA,YAAA,OCVE,WAAA,OZojKD,YAAA,IWriKD,IAAA,2BAAA,CAAA,2BAAA,CAAA,8CAAA,eAAA,CAAA,6CAAA,eXgkKA,qBAhBA,6BWviKA,UAAA,MX0jKE,YAAa,IYjjKb,eAAA,OZojKF,6BAhBC,QAAA,IAoBD,qBAhBA,6BWxiKA,UAAA,KX2jKE,YAAa,IY5iKb,eAAA,OZ+iKF,6BAhBC,QAAA,IAoBD,qBAhBA,6BWziKA,UAAA,KX4jKE,YAAa,IYviKb,eAAA,EZ0iKF,6BAhBC,QAAA,IAoBD,qBAhBA,6BW1iKA,UAAA,KX6jKE,YAAa,IYliKb,eAAA,EZqiKF,6BAhBC,QAAA,IAoBD,oBW5jKA,4BX8jKE,UAAW,KY5hKX,YAAA,IAEA,wBAAA,UDhCF,4BC2BE,QAAA,IZwiKF,iBACA,yBYthKE,UAAA,KACA,YAAA,IZugKD,eAAA,MAmBD,yBAhBC,QAAA,IAmBD,sBACA,8BYhhKE,UAAA,KACA,YAAA,IZigKD,eAAA,MAmBD,8BAhBC,QAAA,IAmBD,kBACA,0BY1gKE,UAAA,KACA,YAAA,IZ2/JD,eAAA,MAmBD,0BAhBC,QAAA,IAmBD,kBACA,0BAhBE,UAAO,KACP,YAAW,IACX,eAAgB,MAmBlB,0BAhBE,QAAA,IAmBF,mBACA,2BAhBE,UAAO,KACP,YAAS,IACT,eAAQ,MAmBV,2BAhBE,QAAA,IAmBF,WWplKA,YAAA,IXslKE,UAAW,WAkBb,mBACA,mBACA,gBACA,gBACA,eW5mKA,cAsBI,WAAA,OACA,YAAA,IAvBJ,mBXknKA,cWtlKI,WAAA,KX0lKJ,mBWtnKA,oBXsmKC,QAAA,GAoBD,gBACA,eAFA,eAIA,kBADA,gBAEE,YAAa,QAAQ,CAAE,OAAO,CAAE,aAAa,CAAE,UAEjD,sBACE,UAAW,IACX,MAAO,gBWloKT,4BXooKA,uBEzqKI,OAAA,KF6qKJ,6BW5lKI,OAAA,QXwmKJ,uBACA,6BANA,cAGA,kBAFA,gBACA,cWhmKI,cX0lKJ,aACA,eAOA,iBANA,cWplKM,OAAA,EAAA,EAAA,MAAA,EX+lKN,aW7lKM,SAAA,SX+lKJ,QW/lKI,aACA,SAAA,OXgmKJ,MAAO,QAnBR,gBAAA,KW1kKG,eAAA,IXgmKF,QAAS,EAEX,oBApBC,SAAA,SW7oKD,IAAA,KAuEI,OAAA,IXykKH,KAAA,EWhpKD,MAAA,KA4EI,OAAA,IACA,QAAA,IACA,iBAAA,QACA,mBAAA,IAAA,IXukKH,WAAA,IAAA,IWtkKG,kBAAA,UAAA,UAAA,UX+lKF,4BArBC,OACF,oBAAA,OAwBD,0BADA,0BAnBC,kBAAA,UW/pKD,UAAA,UXurKA,iBWzlKI,UAAA,IX4lKJ,sBW1rKA,aAAA,IX4rKE,OAAQ,IAAI,IAAI,IAAI,IACpB,YAAa,IACb,YAAa,IAAI,MAAM,gBAEzB,yCW5lKI,sBACA,OAAA,IAAA,GXgmKJ,6BW5lKI,UAAA,IXykKH,MAAA,gBAuBD,gBACE,QAAS,IACT,OAAQ,EAAE,IACV,WAAY,QACZ,cAAe,IAAI,MAAM,QAE3B,cACA,cACA,cACA,cWltKA,cXotKA,cApBC,WAAA,MWhsKD,cAAA,KAsHI,YAAA,QX6kKH,YAAA,IWnsKD,YAAA,KAyHI,MAAA,QAzHJ,oBX6tKA,oBACA,oBW9tKA,oBXguKA,oBACA,oBWjuKA,UAAA,IAkII,YAAA,IX6kKH,YAAA,EW/sKD,MAAA,gBXuuKA,cW9lKI,UAAA,IXimKJ,cW1uKA,UAAA,MX6uKA,cW5lKI,UAAA,MX+lKJ,cW5lKI,UAAA,MApJJ,cAyJI,UAAA,MX6lKJ,cApBC,UAAA,MAuBD,gBWxlKI,QAAA,IAAA,IXqkKH,MAAA,QWtuKD,iBAAA,QAsKI,cAAA,IXylKJ,oBW/vKA,QAAA,EA4KI,UAAA,QXikKH,YAAA,IW7uKD,MAAA,QAiLI,iBAAA,YACA,cAAA,EXqlKJ,uBApBC,gBAAA,KWnvKD,OAAA,KAyLI,cAAA,IAAA,OXmlKJ,eWhlKI,gBAAA,KACA,cAAA,IAAA,MA7LJ,aAkMI,gBAAA,KACA,cAAA,IAAA,MXilKJ,eW9kKI,gBAAA,aAtMJ,cA2MI,OAAA,KACA,cAAA,KXyjKH,OAAA,KWrwKD,cAAA,IAAA,MAAA,gBX6xKA,eApBC,QAAA,KAAA,KWzwKD,WAAA,KXgyKE,2BAA4B,MW5kK1B,OAAA,IAAA,MAAA,gBXyjKH,cAAA,IAuBD,eApBC,QAAA,IAAA,IWhxKD,UAAA,IA4NI,MAAA,KXujKH,iBAAA,KACD,cAAA,IAuBA,cACE,aAAc,IACd,WArBC,KAuBH,cApBC,aAAA,IW3iKS,WAAA,QV5UT,iBD+4KD,iBEx1KI,OAAA,KAAA,ESqRM,iBTrSR,WAAA,ODvCD,eCuDG,UAAA,KFu2KJ,sCWllKU,MAAA,QXqlKV,6CCj6KC,iBAAA,QDo6KD,qCWxlKU,MAAA,QX2lKV,4CCv6KC,iBAAA,QD06KD,qCW9lKU,MAAA,QXimKV,4CC76KC,iBAAA,QDg7KD,4CWpmKU,MAAA,QXumKV,mDCn7KC,iBAAA,QDs7KD,4CW1mKU,MAAA,QX6mKV,mDCz7KC,iBAAA,QD47KD,sCWhnKU,MAAA,QXmnKV,6CC/7KC,iBAAA,QDk8KD,uCWtnKU,MAAA,QXynKV,8CCr8KC,iBAAA,QDw8KD,2CW5nKU,MAAA,QX+nKV,kDC38KC,iBAAA,QD88KD,4CWloKU,MAAA,QXqoKV,mDCj9KC,iBAAA,QDo9KD,qCWxoKU,MAAA,QX2oKV,4CCv9KC,iBAAA,QD09KD,uCW9oKU,MAAA,QXipKV,8CC79KC,iBAAA,QDg+KD,qCWppKU,MAAA,QXupKV,4CCn+KC,iBAAA,QDs+KD,uCW1pKU,MAAA,QX6pKV,8CApBA,iBAAA,QAuBA,oCACE,MAAO,QWhpKT,2CAIM,iBAAA,QAJN,qCAOQ,MAAA,QAPR,4CAYM,iBAAA,QAZN,uCAgBM,MAAA,KX8oKN,8CW9pKA,iBAAA,KXsqKA,8CWtqKA,kBAAA,sBXyqKA,qDApBC,MAAA,qBAuBD,8CW3oKM,MAAA,qBAjCN,wCAqCM,WAAA,KXunKL,oBAAA,KAuBD,4CACA,4CApBA,4CAsBA,4CACA,4CACA,4CACE,MArBC,qBAuBH,wCajhLE,MAAA,Qb6/KD,iBAAA,Qaz/KD,uCACE,WAAA,QbkhLA,aalhLA,sBb6/KF,uCaz/KA,WAAA,QbmhLA,sCchiLE,aAAA,sBdwiLF,eAzBA,mBAAY,IAAA,IAAA,kCav/KZ,WAAA,IAAA,IAAA,kCbqhLA,0BACE,kBc9iLA,6BdmhLD,UAAA,6BA+BD,4BACE,mBanhLA,ebu/KD,WAAA,eACD,kBAAgB,iCap/KhB,UAAA,iCbqhLA,2BajhLE,kBAAA,6BAAA,UAAA,6BbshLF,6BA9BC,mBAAA,ean/KC,WAAA,eAAA,kBAAA,gCACE,UAAA,gCbuhLJ,8BA/BA,kBAAA,6BAiCU,UAAW,6BAGrB,gCevkLA,kBAAA,iCfykLU,UAAW,iCAErB,yBACE,gCetkLE,kBAAA,iCAAA,UAAA,kCf2kLJ,qDevkLA,gCACE,kBAAA,iCACA,UAAA,kCfglLF,qDellLA,oDAYI,mBAAA,kBAAA,IAAA,wBfoiLH,WAAA,kBAAA,IAAA,wBe/hLC,WAAA,UAAA,IAAA,wBfskLQ,WAAoB,UAAU,IAAI,uBAA0B,CAAE,kBAAkB,IAAI,wBenkLxF,kBAAA,UAAA,UAAA,UAIJ,YAAA,UfqkLF,yBArCA,OAAA,EAuCE,YAAa,EACb,eAAgB,EAChB,WAAY,EACZ,cAtCC,EgBtkLH,SAAA,OACE,mBAAA,IAAA,IAAA,wBACA,WAAA,IAAA,IAAA,wBAEA,YAAA,OhB+mLF,yCgB5mLE,aAAA,KhB+mLF,8EACA,6EgBvnLA,kBAAA,eAYM,UAAA,ehB+mLN,kDAvCC,OAAA,KA+CD,YACE,SgB9mLE,SCNF,MAAA,KjB6kLD,eAAA,EgBpkLG,gBAAA,ShB+mLF,iBAAkB,KgB9mLd,OAAA,IAAA,MAAA,gBhBukLL,cAAA,KgBrkLG,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBhBgnLM,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,IAAI,EAAE,gBAEpG,qBAxCC,SAAA,SgBtkLG,mBAAA,iBAAA,KAAA,wBhBinLM,WAAY,iBAAiB,KAAK,wBgBjpL5C,ehBmpLA,egB7mLI,SAAA,SACA,mBAAA,WACA,WAAA,WZkBF,QAAA,KAAA,KACA,WAAA,KACA,eAAA,OYlBE,cAAA,IAAA,MAAA,gBhBonLJ,0BgB9pLA,0BA+CI,cAAA,KhB0kLJ,2BAwCA,2BgB5mLA,cAAA,EACE,aAAA,KhBinLF,4BADA,4BgBjnLA,aAAA,KhBqnLA,egB5mLE,SAAA,OhB8mLA,UAAW,KgB5mLT,YAAA,IhBqkLH,YAAA,KgBlkLD,MAAA,gBAEI,cAAA,ShBmkLH,YAAA,OgB5jLG,eACE,UAAA,KhB+jLL,YAAA,KACD,MAAA,gBA4CA,0BgBnmLE,YAAA,YACA,eAAA,YACA,aAAA,ehBsmLF,yCAzCC,WAAA,IA4CD,6BACA,6BgBrmLI,aAAA,chBwmLJ,2CA1CA,WAAa,KA8Cb,qCA1CA,iBAAa,KA8Cb,kBA1CA,MAAA,KA4CE,WAAY,KACZ,2BAA4B,MAC5B,OAAQ,IAAI,MAAM,gBAClB,cA3CC,KgBrjLH,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAEI,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBhBkmLJ,8BA1CC,OAAA,EgB1jLD,OAAA,KhBumLE,mBAAoB,KiBvtLpB,WAAA,KjB2tLF,wBA1CC,WAAA,gBA8CD,yBgB1lLM,iBAAA,QArBN,oCFrHE,iBAAA,Qd8uLA,Oc9uLA,IAAA,MAAA,sBEsJI,cAAA,KhB4lLN,uCgB7nLA,uChBklLC,cAAA,IAAA,MAAA,sBA8CD,uCACE,MAAO,qBAET,uCkBrvLA,MAAA,KlBwvLA,6DACE,iBAAkB,QAEpB,0CkBrvLE,OAAA,IAAA,MAAA,sBACA,cAAA,KlBwvLF,sDkBpvLA,OAAA,KlBsvLE,mBAAoB,KACZ,WAAY,KAEtB,iDkBnvLA,iBAAA,QlB2vLA,cAEA,mBACA,oBkBhvLA,yBlBivLA,0BkBtvLA,oBlBwvLE,OAAQ,IkBjvLR,OAAA,KAAA,EAAA,EAAA,ElBusLD,OAAA,KA8CD,oBAEA,yBADA,0BAEE,YA5CC,KmB5uLH,cnB2xLA,oBoBjyLE,iBAAA,gBpBoyLF,sCACA,4CA3CA,iBAAU,sBA+CV,0BADA,oBA1CA,iBAAU,sBA8CV,mBACA,yBmBvxLA,iBAAA,gBnBgyLA,gBACA,kBmBvxLI,QAAA,MACA,UAAA,KACA,OAAA,KnB+uLJ,kBA6CE,cAAe,IAGjB,iBqB5zLA,cAAA,IrB+zLA,sBqB5zLE,SAAA,SrB8zLA,OqB9zLA,ErB+zLA,eqB/zLA,OrBg0LA,SqBh0LA,OAKF,4BrB6zLA,6BA9CA,6BqB9wLE,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KrBs0LF,aqB/zLE,SAAA,SrBi0LA,SqBj0LA,OrBixLD,OAAA,QACD,oBAAmB,KqB9wLnB,iBAAA,KAEI,gBAAA,KrB+wLH,YAAA,KAoDD,kBAhDC,SAAA,mBACD,IAAA,EqB1wLA,KAAA,EACE,QAAA,ErB4wLD,QAAA,EqBzwLD,OAAA,EACE,UAAA,ErB4zLA,eqB5zLA,KACA,iBAAA,erB2wLD,cAAA,IqBxwLD,4BAAA,KACE,oBAAA,KrB4zLA,kBqB5zLA,mBAAA,SACA,UAAA,mBAAA,SrB+zLF,mDACE,iBAAkB,qBCr3LnB,qCoBuEO,iBAAA,+BrBqzLR,qCAlDC,iBAAA,yBAqDD,uBAlDC,QAAA,IC70LA,4BAAA,IoBuEO,oBAAA,IpBvEP,sBoBuEO,QAAA,ErB4wLP,4BAAA,ICn1LA,oBAAA,ID84LD,qCAlDC,iBAAA,6BAqDD,oCAlDC,iBAAA,8BAqDD,yCAlDC,iBAAA,8BAqDD,qCAlDC,iBAAA,6BAqDD,oCAlDC,iBAAA,6BAqDD,2CAlDC,iBAAA,6BAqDD,2CAlDC,iBAAA,8BAqDD,qCAlDC,iBAAA,6BAqDD,oCAlDC,iBAAA,+BAqDD,sCAlDC,iBAAA,6BAqDD,0CAlDC,iBAAA,6BAqDD,2CAlDC,iBAAA,8BAqDD,oCACE,iBAAkB,8BAEpB,sCqBh2LA,iBAAA,6BrBm2LA,oCAlDA,iBAAA,6BAqDA,sCACE,iBAAkB,8BAjDpB,mCCp4LA,iBAAA,6BD07LA,oCCv7LE,iBAAA,6BD07LF,sCCt7LA,iBAAA,8BD87LA,0CCr7LE,iBAAA,qBD87LF,gBCx7LE,SAAA,SD07LA,YC17LA,KACA,eAAA,IACA,SAAA,OD47LF,2BCz7LE,eAAA,KD67LF,sBCz7LE,QAAA,MAAA,MAAA,KAAA,OAAA,KAAA,mBAAA,WACA,WAAA,WD87LA,mBC97LA,KACA,QAAA,IAAA,ED+7LA,OC/7LA,EACA,SAAA,ODo4LD,YAAA,QCl4LC,UAAA,KACE,YAAA,KACA,MAAA,gBDo4LH,OAAA,KCj4LC,WAAA,IACE,OAAA,KACA,cAAA,IAAA,MAAA,gBD+7LF,cC/7LE,EACA,QAAA,EDm4LH,mBAAA,KCh4LC,WAAA,KACE,mCAAA,wBACA,2BAAA,wBACA,4BAAA,IDk4LH,oBAAA,IACD,4BAAe,mBAAA,CAAA,aAAA,CAAA,mBC93Lf,oBAAA,mBAAA,CAAA,aAAA,CAAA,mBACE,oBAAA,mBAAA,CAAA,aAAA,CAAA,WACA,oBAAA,mBAAA,CAAA,aAAA,CAAA,UAAA,CAAA,mBAEA,gBAAA,KACA,WAAA,KD87LF,iDC57LE,MAAA,QAAA,QAAA,IDg8LF,4CA/DC,OAAA,QACD,cAAA,IAAqB,MAAA,gBC73LrB,mBAAA,EAAA,IAAA,EAAA,EAAA,gBD+7LU,WAAY,EAAE,IAAI,EAAE,EAAE,gBAEhC,4BC77LE,OAAA,eGdA,SAAA,KACA,2BAAA,MJg9LF,sBA/DC,QAAA,MC93LD,MAAA,KACE,UAAA,KACA,MAAA,gBDg4LD,eAAA,KC73LD,mBAAA,IAAA,IACE,WAAA,IAAA,ID+3LD,kBAAA,WAAA,cACD,UAAA,WAAA,cAiEE,yBAhEc,KC33LhB,iBAAA,KD+7LA,sBACA,uBA/DC,SAAA,SCj4LD,OAAA,IDm8LE,OAAQ,KACR,SAAU,OACV,UAAW,KACX,YAAa,KC17LT,cAAA,SACA,YAAA,OAKN,sBAEI,MAAA,oBDw3LH,WAAA,OAkED,uBCp7LA,MAAA,gBDy7LA,2BAhEC,SAAA,SCz3LD,OAAA,ID47LE,QAAS,ICl7LP,MAAA,gBAMJ,iDDm7LA,qDADA,kDAFA,iDAlEA,iDC12LI,MAAA,kBD+2LH,YAAA,KAoED,sCC76LM,OAAA,KAIJ,4CD+6LF,kDAlEC,oBAAA,QACD,mBAAA,EAAA,IAAA,EAAA,EAAA,QAoEU,WAnEM,EAAA,IAAA,EAAA,EAAA,QAsEhB,iCADA,4CCx6LE,MAAA,oBAHF,qDAOI,MAAA,gBACA,kBAAA,SAAA,iBDw2LH,UAAA,SAAA,iBAsED,0EACA,8ECz6LI,MAAA,gBDu2LH,kBAAA,WAAA,cCr3LD,UAAA,WAAA,cD47LA,0ECx6LI,MAAA,QD66LJ,2BCv6LI,MAAA,KACA,WAAA,KDy6LF,QCz6LE,IAAA,EDq2LH,mBAAA,MAAA,IAAA,wBCl2LC,WAAA,MAAA,IAAA,wBD06LF,sCC16LE,OAAA,EAII,QAAA,EAJJ,iDAQI,MAAA,kBDw6LJ,cCx6LI,EDm2LL,YAAA,KAwED,gDCp6LA,SAAA,SDs6LE,IAAK,EACL,KAAM,EAER,iDCn6LI,SAAA,SDq6LF,IAAK,EAtEN,MAAA,ECr2LD,kBAAA,SD86LU,UAAW,SAErB,mDCn6LE,MAAA,KDs6LF,yEAtEC,cAAA,KAyED,yEACE,kBAAmB,SACX,UAAW,SAIrB,8CACA,oDCh6LI,yEDi6LJ,mEAEE,oBAAqB,kBCl6LjB,mBAAA,EAAA,IAAA,EAAA,EAAA,kBD61LL,WAAA,EAAA,IAAA,EAAA,EAAA,kBAyED,8CC/5LA,oDDi6LE,MAAO,kBCj6LT,kFDm6LA,4EC55LI,MAAA,8BAPJ,uGD06LA,2GAHA,iGAEA,qGArEA,MAAA,kBCl1LA,8CD45LA,oDC15LE,WAAA,QD65LF,qEACA,2EC15LE,WAAA,ODg6LF,0EADA,+CAEE,MAAO,gBCv5LT,+CAII,MAAA,gBACA,OAAA,QAEA,+CACE,cAAA,IAAA,OAAA,gBD05LN,wBACE,SCt5LI,SD+0LL,MAAA,IC51LD,OAAA,IAoBM,OAAA,KD20LL,UAAA,KC/1LD,YAAA,KA0BI,MAAA,gBDs5LJ,8CCh7LA,MAAA,KA0CI,oBAAA,qBA1CJ,yEA+CI,MAAA,qBA/CJ,oEDw7LE,oBAAqB,KCj4LjB,mBAAA,EAAA,IAAA,EAAA,EAAA,KACA,WAAA,EAAA,IAAA,EAAA,EAAA,KDo4LN,mDC57LA,MAAA,qBD+7LA,8CC/7LA,MAAA,qBDk8LA,6EAxEC,MAAA,sBA2ED,8CAxEC,MAAA,QA2ED,+CAxEC,MAAA,qBA2ED,gDACE,MAAO,qBAET,oECnuMC,0EAyXS,oBAAA,QACA,mBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,WAAA,EAAA,IAAA,EAAA,EAAA,QA1XT,oED0uMC,MAAO,QAGT,kGADA,uECv2LM,MAAA,qBD22LN,uEACE,MAAO,qBC52LH,uED+2LJ,oBAAqB,qBAOvB,qEA3EC,oBAAA,QChrMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD8vMS,WAAY,EAAE,IAAI,EAAE,EAAE,QCz3L1B,0DD43LN,yHADA,qECv3LY,MAAA,oBD43LZ,4FA5EC,oBAAA,QCpzLK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDm4LI,WAAY,EAAE,IAAI,EAAE,EAAE,QCxwM/B,iFD2wMD,gJADA,4FCj5LU,MAAA,QDs5LV,oEA7EC,oBAAA,QClsMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDkxMS,WAAY,EAAE,IAAI,EAAE,EAAE,QC74L1B,yDDg5LN,wHADA,oEC34LY,MAAA,oBDg5LZ,2FA9EC,oBAAA,QCt0LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDu5LI,WAAY,EAAE,IAAI,EAAE,EAAE,QC5xM/B,gFD+xMD,+IADA,2FCr6LU,MAAA,QD06LV,oEA/EC,oBAAA,QCptMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDsyMS,WAAY,EAAE,IAAI,EAAE,EAAE,QCj6L1B,yDDo6LN,wHADA,oEC/5LY,MAAA,oBDo6LZ,2FAhFC,oBAAA,QCx1LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD26LI,WAAY,EAAE,IAAI,EAAE,EAAE,QChzM/B,gFDmzMD,+IADA,2FCz7LU,MAAA,QD87LV,2EAjFC,oBAAA,QCtuMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD0zMS,WAAY,EAAE,IAAI,EAAE,EAAE,QCr7L1B,gEDw7LN,+HADA,2ECn7LY,MAAA,mBDw7LZ,kGAlFC,oBAAA,QC12LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD+7LI,WAAY,EAAE,IAAI,EAAE,EAAE,QCp0M/B,uFDu0MD,sJADA,kGC78LU,MAAA,QDk9LV,2EAnFC,oBAAA,QCxvMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD80MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCz8L1B,gED48LN,+HADA,2ECv8LY,MAAA,mBD48LZ,kGApFC,oBAAA,QC53LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDm9LI,WAAY,EAAE,IAAI,EAAE,EAAE,QCx1M/B,uFD21MD,sJADA,kGCj+LU,MAAA,QDs+LV,qEArFC,oBAAA,QC1wMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDk2MS,WAAY,EAAE,IAAI,EAAE,EAAE,QC79L1B,0DDg+LN,yHADA,qEC39LY,MAAA,mBDg+LZ,4FAtFC,oBAAA,QC94LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDu+LI,WAAY,EAAE,IAAI,EAAE,EAAE,QC52M/B,iFD+2MD,gJADA,4FCr/LU,MAAA,QD0/LV,sEAvFC,oBAAA,QC5xMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDs3MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCj/L1B,2DDo/LN,0HADA,sEC/+LY,MAAA,oBDo/LZ,6FAxFC,oBAAA,QCh6LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD2/LI,WAAY,EAAE,IAAI,EAAE,EAAE,QCh4M/B,kFDm4MD,iJADA,6FCzgMU,MAAA,QD8gMV,0EAzFC,oBAAA,QC9yMA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD04MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCrgM1B,+DDwgMN,8HADA,0ECngMY,MAAA,oBDwgMZ,iGA1FC,oBAAA,QCl7LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD+gMI,WAAY,EAAE,IAAI,EAAE,EAAE,QCp5M/B,sFDu5MD,qJADA,iGC7hMU,MAAA,QDkiMV,2EA3FC,oBAAA,QCh0MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD85MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCzhM1B,gED4hMN,+HADA,2ECvhMY,MAAA,qBD4hMZ,kGA5FC,oBAAA,QCp8LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDmiMI,WAAY,EAAE,IAAI,EAAE,EAAE,QCx6M/B,uFD26MD,sJADA,kGCjjMU,MAAA,QDsjMV,oEA7FC,oBAAA,QCl1MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDk7MS,WAAY,EAAE,IAAI,EAAE,EAAE,QC7iM1B,yDDgjMN,wHADA,oEC3iMY,MAAA,oBDgjMZ,2FA9FC,oBAAA,QCt9LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDujMI,WAAY,EAAE,IAAI,EAAE,EAAE,QC57M/B,gFD+7MD,+IADA,2FCrkMU,MAAA,QD0kMV,sEA/FC,oBAAA,QCp2MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDs8MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCjkM1B,2DDokMN,0HADA,sEC/jMY,MAAA,oBDokMZ,6FAhGC,oBAAA,QCx+LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD2kMI,WAAY,EAAE,IAAI,EAAE,EAAE,QCh9M/B,kFDm9MD,iJADA,6FCzlMU,MAAA,QD8lMV,oEAjGC,oBAAA,QCt3MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QD09MS,WAAY,EAAE,IAAI,EAAE,EAAE,QCrlM1B,yDDwlMN,wHADA,oECnlMY,MAAA,oBDwlMZ,2FAlGC,oBAAA,QC1/LK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD+lMI,WAAY,EAAE,IAAI,EAAE,EAAE,QCp+M/B,gFDu+MD,+IADA,2FC7mMU,MAAA,QDknMV,sEAnGC,oBAAA,KCx4MA,mBAAA,EAAA,IAAA,EAAA,EAAA,KD8+MS,WAAY,EAAE,IAAI,EAAE,EAAE,KCzmM1B,2DD4mMN,0HADA,sECvmMY,MAAA,oBD4mMZ,6FApGC,oBAAA,QC5gMK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDmnMI,WAAY,EAAE,IAAI,EAAE,EAAE,QCx/M/B,kFD2/MD,iJADA,6FCjoMU,MAAA,QDsoMV,mEArGC,oBAAA,QC15MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDkgNS,WAAY,EAAE,IAAI,EAAE,EAAE,QC7nM1B,wDDgoMN,uHADA,mEC3nMY,MAAA,kBDgoMZ,0FAtGC,oBAAA,QC9hMK,mBAAA,EAAA,IAAA,EAAA,EAAA,QDuoMI,WAAY,EAAE,IAAI,EAAE,EAAE,QC5gN/B,+ED+gND,8IADA,0FCrpMU,MAAA,QD0pMV,oEAvGC,oBAAA,QC56MA,mBAAA,EAAA,IAAA,EAAA,EAAA,QDshNS,WAAY,EAAE,IAAI,EAAE,EAAE,QCjpM1B,yDDopMN,wHADA,oEC/oMY,MAAA,oBDopMZ,2FAxGC,oBAAA,QChjMK,mBAAA,EAAA,IAAA,EAAA,EAAA,QD2pMI,WAAY,EAAE,IAAI,EAAE,EAAE,QArGhC,gFAwGA,+IADA,2FAGE,MAAO,QAET,sEACE,oBAzGC,QsBz7MH,mBAAA,EAAA,IAAA,EAAA,EAAA,QACE,WAAA,EAAA,IAAA,EAAA,EAAA,QtBuiNF,2DADA,0HADA,sEsBhiNE,MAAA,oBtBqiNF,6FACE,oBsBriNA,KtBsiNA,mBsBtiNA,EAAA,IAAA,EAAA,EAAA,KtB27MD,WAAA,EAAA,IAAA,EAAA,EAAA,KAgHD,kFADA,iJADA,6FsBliNI,MAAA,KtB4iNJ,esBliNE,SAAA,SACA,QAAA,aACA,OAAA,KACA,aAAA,KACA,YAAA,KACA,OAAA,QACA,oBAAA,KACA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KtBuiNF,oCsBpiNE,SAAA,SACE,MAAA,EACA,OAAA,EtBsiNF,SsBtiNE,OACA,QAAA,EtByiNJ,oBsBriNI,SAAA,SACA,IAAA,IACA,KAAA,EACA,QAAA,aAAA,MAAA,KACA,OAAA,KtBu7MH,eAAA,OsBn7MC,iBAAA,YACE,OAAA,KACA,cAAA,KtBsiNF,mBsBtiNE,mBAAA,KAAA,wBACA,WAAA,mBAAA,KAAA,wBACA,WAAA,WAAA,KAAA,wBACA,WAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBtBwiNJ,0BsBriNI,SAAA,StBuiNF,IAAK,EsBtiNH,KAAA,EtBwiNF,QsBxiNE,EACA,MAAA,KACA,OAAA,KACA,mBAAA,WAAA,WAAA,WACA,QAAA,IACA,OAAA,IAAA,MAAA,gBtBq7MH,cAAA,IACD,mBAAa,IAAA,IAAA,wBsB76MT,WAAA,IAAA,IAAA,wBtBqiNJ,2BApHC,SAAA,SsB56MG,IAAA,IACE,KAAA,EtBmiNJ,QsBniNI,EACA,MAAA,ItB86ML,OAAA,KsBx6MG,mBAAA,WACE,WAAA,WACA,QAAA,ItB06ML,aAAA,IAAA,MAAA,KsBv6MG,cAAA,IAAA,MAAA,KACE,QAAA,EACA,mBAAA,IAAA,IAAA,wBACA,WAAA,IAAA,IAAA,wBACA,kBAAA,eAAA,SACA,UAAA,eAAA,SACA,yBAAA,KAAA,KAAA,iBAAA,KAAA,KtBkiNN,sEAtHC,iBAAA,QsBn6MG,aAAA,QtB6hNJ,uEsBrhNI,QAAA,EtBuhNF,kBAAmB,eAAe,SsBthN9B,UAAA,eAAA,StByhNN,4EAtHA,iBAAQ,QsBz5MN,aAAA,QtBmhNF,6EACE,IAAK,IAvHN,KAAA,IsBt5MG,MAAA,KtBghNF,OAAQ,EACR,aAAc,KACd,cAAe,IAAI,MAAM,KsBjhNrB,cAAA,ItBmhNJ,QsBnhNI,EtB25ML,kBAAA,WAAA,SACD,UAAA,WAAA,SA2HA,uEACE,aAAc,gBsBhgNR,+EtBmgNR,qFsBlgNU,iBAAA,0BACA,aAAA,sBtBugNV,8DADA,+DAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,esB//MvB,WAAA,EAAA,EAAA,EAAA,KAAA,eAXF,qFtBghNR,2FAHA,sFAEA,4FsB7gNU,mBAAA,EAAA,EAAA,EAAA,KAAA,qBtBs5MT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAiID,+FsBzhNQ,qGtB2hNN,iBAAkB,QsB1hNV,aAAA,QAQF,8GtBwhNR,oHAHA,+GAEA,qHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBvhNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB0hNV,8FsBriNQ,oGtBuiNN,iBAAkB,QsBtiNV,aAAA,QAQF,6GtBoiNR,mHAHA,8GAEA,oHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBniNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtBsiNV,8FsBjjNQ,oGtBmjNN,iBAAkB,QsBljNV,aAAA,QAQF,6GtBgjNR,mHAHA,8GAEA,oHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB/iNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtBkjNV,qGsB7jNQ,2GtB+jNN,iBAAkB,QsB9jNV,aAAA,QAQF,oHtB4jNR,0HAHA,qHAEA,2HAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB3jNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB8jNV,qGsBzkNQ,2GtB2kNN,iBAAkB,QsB1kNV,aAAA,QAQF,oHtBwkNR,0HAHA,qHAEA,2HAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBvkNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB0kNV,+FsBrlNQ,qGtBulNN,iBAAkB,QsBtlNV,aAAA,QAQF,8GtBolNR,oHAHA,+GAEA,qHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,sBsBnlNvB,WAAA,EAAA,EAAA,EAAA,KAAA,sBtBslNV,gGsBjmNQ,sGtBmmNN,iBAAkB,QsBlmNV,aAAA,QAQF,+GtBgmNR,qHAHA,gHAEA,sHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB/lNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtBkmNV,oGsB7mNQ,0GtB+mNN,iBAAkB,QsB9mNV,aAAA,QAQF,mHtB4mNR,yHAHA,oHAEA,0HAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB3mNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB8mNV,qGsBznNQ,2GtB2nNN,iBAAkB,QsB1nNV,aAAA,QAQF,oHtBwnNR,0HAHA,qHAEA,2HAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBvnNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB0nNV,8FsBroNQ,oGtBuoNN,iBAAkB,QsBtoNV,aAAA,QAQF,6GtBooNR,mHAHA,8GAEA,oHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBnoNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtBsoNV,gGsBjpNQ,sGtBmpNN,iBAAkB,QsBlpNV,aAAA,QAQF,+GtBgpNR,qHAHA,gHAEA,sHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB/oNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtBkpNV,8FsB7pNQ,oGtB+pNN,iBAAkB,QsB9pNV,aAAA,QAQF,6GtB4pNR,mHAHA,8GAEA,oHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsB3pNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB8pNV,gGsBzqNQ,sGtB2qNN,iBAAkB,QsB1qNV,aAAA,QAQF,+GtBwqNR,qHAHA,gHAEA,sHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,qBsBvqNvB,WAAA,EAAA,EAAA,EAAA,KAAA,qBtB0qNV,6FsBrrNQ,mGtBurNN,iBAAkB,QsBtrNV,aAAA,QAQF,4GtBorNR,kHAHA,6GAEA,mHAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,oBsBnrNvB,WAAA,EAAA,EAAA,EAAA,KAAA,oBtBsrNV,8FAxIA,oGA0IE,iBAAkB,QAClB,aAAc,QsBtqNZ,6GtB2qNJ,mHAHA,8GAEA,oHsBtqNI,mBAAA,EAAA,EAAA,EAAA,KAAA,sBACE,WAAA,EAAA,EAAA,EAAA,KAAA,sBtB0qNN,gGsBnqNI,sGACE,iBAAA,KtB4hNL,aAAA,KA4ID,+GAEA,qHAHA,gHAEA,sHsBvpNI,mBAAA,EAAA,EAAA,EAAA,KAAA,oBtB0pNM,WAAY,EAAE,EAAE,EAAE,KAAK,oBAOjC,kDACE,aA1IC,qBA4IH,mDuB33NE,mBAAA,kBACA,oBAAA,kBvB83NF,+FuB33NE,aAAA,qBvB83NF,uGACA,6GACE,iBuB/3NA,+BvBmvND,aAAA,sBAgJD,sFADA,uFuB53NI,mBAAA,EAAA,EAAA,EAAA,KAAA,qBACA,WAAA,EAAA,EAAA,EAAA,KAAA,qBvBq4NJ,YuB33NE,SAAA,SvB63NA,QuB73NA,aACA,OAAA,KACA,aAAA,KACA,YAAA,KACA,OAAA,QACA,oBAAA,KACA,iBAAA,KACA,gBAAA,KAAA,YAAA,KvBg4NF,kBAhJC,SAAA,SuB5uNC,MAAA,EACE,OAAA,EACA,SAAA,OACA,QAAA,EvBi4NJ,iBuB73NI,SAAA,SACA,IAAA,IAAA,KAAA,EACA,QAAA,aACA,MAAA,KvBg4NF,OuBh4NE,KACA,mBAAA,WvB8uNH,WAAA,WACD,eAAa,OuB1uNb,OAAA,IAAA,MAAA,gBACE,cAAA,KvB4uND,mBAAA,IAAA,IAAA,uBAAA,CAAA,mBAAA,KAAA,wBuB1uNC,WAAA,IAAA,IAAA,uBAAA,CAAA,mBAAA,KAAA,wBACE,WAAA,IAAA,IAAA,uBAAA,CAAA,WAAA,KAAA,wBAAA,WAAA,IAAA,IAAA,uBAAA,CAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBvBi4NJ,wBAnJA,SAAA,SuBxuNA,IAAA,EACE,KAAA,EvB0uND,MAAA,KACD,OAAA,KuBtuNE,QAAA,IACE,iBAAA,QvBwuNH,cAAA,KACD,QAAA,EuBluNE,mBAAA,IAAA,IAAA,wBvBw3NQ,WAAY,IAAI,IAAI,wBuBv3N1B,kBAAA,SAAA,UAAA,SAOF,uDvBs3NA,aAAc,QAEhB,8DArJC,QAAA,EACD,kBAAA,WAuJU,UAAW,WAGrB,wDCv9NC,aAAA,0BsBiHO,uEACE,iBAAA,0BvB82NV,qDADA,sDAEE,mBuBv2NQ,EAAA,EAAA,EAAA,KAAA,evBitNT,WAAA,EAAA,EAAA,EAAA,KAAA,euB1tNO,4EvBo3NR,6EuBn3NU,mBAAA,EAAA,EAAA,EAAA,KAAA,qBvB+tNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA8JD,gFAvJC,aAAA,QA0JD,uFAvJC,iBAAA,QA2JD,qGADA,sGAEE,mBuB73NQ,EAAA,EAAA,EAAA,KAAA,qBvBquNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA2JD,+EAxJC,aAAA,QA2JD,sFAxJC,iBAAA,QA4JD,oGADA,qGAEE,mBuBx4NQ,EAAA,EAAA,EAAA,KAAA,qBvB+uNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA4JD,+EAzJC,aAAA,QA4JD,sFAzJC,iBAAA,QA6JD,oGADA,qGAEE,mBuBn5NQ,EAAA,EAAA,EAAA,KAAA,qBvByvNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA6JD,sFA1JC,aAAA,QA6JD,6FA1JC,iBAAA,QA8JD,2GADA,4GAEE,mBuB95NQ,EAAA,EAAA,EAAA,KAAA,qBvBmwNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA8JD,sFA3JC,aAAA,QA8JD,6FA3JC,iBAAA,QA+JD,2GADA,4GAEE,mBuBz6NQ,EAAA,EAAA,EAAA,KAAA,qBvB6wNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBA+JD,gFA5JC,aAAA,QA+JD,uFA5JC,iBAAA,QAgKD,qGADA,sGAEE,mBuBp7NQ,EAAA,EAAA,EAAA,KAAA,sBvBuxNT,WAAA,EAAA,EAAA,EAAA,KAAA,sBAgKD,iFA7JC,aAAA,QAgKD,wFA7JC,iBAAA,QAiKD,sGADA,uGAEE,mBuB/7NQ,EAAA,EAAA,EAAA,KAAA,qBvBiyNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAiKD,qFA9JC,aAAA,QAiKD,4FA9JC,iBAAA,QAkKD,0GADA,2GAEE,mBuB18NQ,EAAA,EAAA,EAAA,KAAA,qBvB2yNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAkKD,sFA/JC,aAAA,QAkKD,6FA/JC,iBAAA,QAmKD,2GADA,4GAEE,mBuBr9NQ,EAAA,EAAA,EAAA,KAAA,qBvBqzNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAmKD,+EAhKC,aAAA,QAmKD,sFAhKC,iBAAA,QAoKD,oGADA,qGAEE,mBuBh+NQ,EAAA,EAAA,EAAA,KAAA,qBvB+zNT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAoKD,iFAjKC,aAAA,QAoKD,wFAjKC,iBAAA,QAqKD,sGADA,uGAEE,mBuB3+NQ,EAAA,EAAA,EAAA,KAAA,qBvBy0NT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAqKD,+EAlKC,aAAA,QAqKD,sFAlKC,iBAAA,QAsKD,oGADA,qGAEE,mBuBt/NQ,EAAA,EAAA,EAAA,KAAA,qBvBm1NT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAsKD,iFAnKC,aAAA,QAsKD,wFAnKC,iBAAA,QAuKD,sGADA,uGAEE,mBuBjgOQ,EAAA,EAAA,EAAA,KAAA,qBvB61NT,WAAA,EAAA,EAAA,EAAA,KAAA,qBAuKD,8EApKC,aAAA,QAuKD,qFApKC,iBAAA,QAwKD,mGADA,oGAEE,mBuB5gOQ,EAAA,EAAA,EAAA,KAAA,oBvBu2NT,WAAA,EAAA,EAAA,EAAA,KAAA,oBAwKD,+EACE,aAAc,QAEhB,sFuBlgOA,iBAAA,QAAA,oGvBqgOA,qGuB5/NI,mBAAA,EAAA,EAAA,EAAA,KAAA,sBvBy1NH,WAAA,EAAA,EAAA,EAAA,KAAA,sBAwKD,iFArKC,aAAA,KAwKD,wFuBt/NM,iBAAA,KvBm1NN,sGAsKA,uGAEE,mBAAoB,EAAE,EAAE,EAAE,KAAK,oBACvB,WAAY,EAAE,EAAE,EAAE,KAAK,oBAOjC,yCwBzpOE,aAAA,qBxB4pOF,gFACE,awB7pOA,+BALF,+FASI,iBAAA,+BxB+pOJ,6EADA,8EwB1pOI,mBAAA,EAAA,EAAA,EAAA,KAAA,qBxBm/NH,WAAA,EAAA,EAAA,EAAA,KAAA,qBAiLD,awBzpOE,QAAA,aACA,OAAA,KACA,YAAA,KAAA,OAAA,QxBi/ND,oBAAA,KwB9+NC,iBAAA,KACE,gBAAA,KACA,YAAA,KxB4pOJ,mBwBzpOI,SAAA,SACA,MAAA,EACA,OAAA,EACA,SAAA,OACA,QAAA,ExB6pOJ,kBwB3pOI,SAAA,SAAA,QAAA,aAAA,MAAA,KxBg/NH,OAAA,KACD,eAAa,OwB1+Nb,iBAAA,gBACE,cAAA,KxB4+ND,mBAAA,iBAAA,IAAA,wBwB1+NC,WAAA,iBAAA,IAAA,wBxB4pOF,yBA9KC,SAAA,SACD,IAAA,KwBt+NE,KAAA,KxBupOA,QAAS,awBtpOP,MAAA,KxBwpOF,OwBxpOE,KxBy+NH,QAAA,IACD,iBAAe,QwB59Nb,cAAA,KxB8oOA,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,IAAI,EAAE,gBwB7oOhG,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBxB+oOF,mBwB/oOE,iBAAA,IAAA,uBAAA,CAAA,KAAA,IAAA,uBAAA,CAAA,mBAAA,KAAA,wBxB+9NH,WAAA,iBAAA,IAAA,uBAAA,CAAA,KAAA,IAAA,uBAAA,CAAA,mBAAA,KAAA,wBACS,WAAA,WAAA,KAAA,uBAAA,CAAA,iBAAA,IAAA,uBAAA,CAAA,KAAA,IAAA,wBwBp9NV,WAAA,WAAA,KAAA,uBAAA,CAAA,iBAAA,IAAA,uBAAA,CAAA,KAAA,IAAA,uBAAA,CAAA,mBAAA,KAAA,wBAGE,4DACE,iBAAA,oBxBu9NJ,mEAkLE,KAAM,KACN,iBAAkB,QAIpB,iEC/uOC,kED+jOA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,ewBt8NO,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,exB4nOR,wFwBpnOQ,yFACE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBwnOV,6DAjLC,iBAAA,0BAoLD,oEAjLC,iBAAA,kBAyLD,qFAlLC,iBAAA,oBAqLD,4FAlLC,iBAAA,QAsLD,iHADA,kHAEE,mBwB3oOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBw9NT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAsLD,oFAnLC,iBAAA,oBAsLD,2FAnLC,iBAAA,QAuLD,gHADA,iHAEE,mBwBtpOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBk+NT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAuLD,oFApLC,iBAAA,oBAuLD,2FApLC,iBAAA,QAwLD,gHADA,iHAEE,mBwBjqOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxB4+NT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAwLD,2FArLC,iBAAA,oBAwLD,kGArLC,iBAAA,QAyLD,uHADA,wHAEE,mBwB5qOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBs/NT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAyLD,2FAtLC,iBAAA,oBAyLD,kGAtLC,iBAAA,QA0LD,uHADA,wHAEE,mBwBvrOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBggOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBA0LD,qFAvLC,iBAAA,qBA0LD,4FAvLC,iBAAA,QA2LD,iHADA,kHAEE,mBwBlsOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,sBxB0gOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,sBA2LD,sFAxLC,iBAAA,oBA2LD,6FAxLC,iBAAA,QA4LD,kHADA,mHAEE,mBwB7sOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBohOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBA4LD,0FAzLC,iBAAA,oBA4LD,iGAzLC,iBAAA,QA6LD,sHADA,uHAEE,mBwBxtOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxB8hOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBA6LD,2FA1LC,iBAAA,oBA6LD,kGA1LC,iBAAA,QA8LD,uHADA,wHAEE,mBwBnuOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBwiOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBA8LD,oFA3LC,iBAAA,oBA8LD,2FA3LC,iBAAA,QA+LD,gHADA,iHAEE,mBwB9uOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBkjOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBA+LD,sFA5LC,iBAAA,oBA+LD,6FA5LC,iBAAA,QAgMD,kHADA,mHAEE,mBwBzvOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxB4jOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAgMD,oFA7LC,iBAAA,oBAgMD,2FA7LC,iBAAA,QAiMD,gHADA,iHAEE,mBwBpwOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBskOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAiMD,sFA9LC,iBAAA,oBAiMD,6FA9LC,iBAAA,QAkMD,kHADA,mHAEE,mBwB/wOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBxBglOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBAkMD,mFA/LC,iBAAA,mBAkMD,0FA/LC,iBAAA,QAmMD,+GADA,gHAEE,mBwB1xOQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,oBxB0lOT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,oBAmMD,oFACE,iBAAkB,qBAEpB,2FwBzwOA,iBAAA,QAMI,gHxBswOJ,iHwBrwOM,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,sBxBukOL,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,sBAmMD,sFAhMC,iBAAA,mBAmMD,6FAhMC,iBAAA,KAoMD,kHADA,mHwB9vOU,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,oBACE,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,oBxBuwOZ,0CC17OC,iBAAA,qBD67OD,iDwB3wOU,iBAAA,QxB8wOV,4GCh8OC,iBAAA,qBDm8OD,mHwBjxOU,iBAAA,QxBoxOV,2GCt8OC,iBAAA,qBDy8OD,kHwBvxOU,iBAAA,QxB0xOV,2GC58OC,iBAAA,qBD+8OD,kHwB7xOU,iBAAA,QxBgyOV,kHCl9OC,iBAAA,qBDq9OD,yHwBnyOU,iBAAA,QxBsyOV,kHCx9OC,iBAAA,qBD29OD,yHwBzyOU,iBAAA,QxB4yOV,4GC99OC,iBAAA,qBDi+OD,mHwB/yOU,iBAAA,QxBkzOV,6GCp+OC,iBAAA,qBDu+OD,oHwBrzOU,iBAAA,QxBwzOV,iHC1+OC,iBAAA,qBD6+OD,wHwB3zOU,iBAAA,QxB8zOV,kHCh/OC,iBAAA,qBDm/OD,yHwBj0OU,iBAAA,QxBo0OV,2GCt/OC,iBAAA,qBDy/OD,kHwBv0OU,iBAAA,QxB00OV,6GC5/OC,iBAAA,qBD+/OD,oHwB70OU,iBAAA,QxBg1OV,2GClgPC,iBAAA,qBDqgPD,kHwBn1OU,iBAAA,QxBs1OV,6GwBz0OI,iBAAA,qBxB40OJ,oHACE,iBwB50OI,QAvCN,0GAoDI,iBAAA,qBAEA,iHACE,iBAAA,QxBkoON,2GAmME,iBAAkB,qBAEpB,kHACE,iBAlMC,QAoMH,6GyB1gPE,iBAAA,qBzB6gPF,oHAjMC,iBAAA,QAqMD,yFADA,0FyBzgPI,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,KAAA,qBzB6gPJ,qFACE,iByB5gPE,+BzB8gPJ,4FyB5gPI,iBAAA,kBzBohPJ,ayB3gPE,SAAA,SACA,QAAA,MACA,MAAA,KzBw0OD,OAAA,KAuMD,+ByB5gPI,SAAA,SACA,IAAA,IACA,QAAA,EACA,MAAA,KzBy0OH,OAAA,KACD,mBAAQ,KyBr0OR,WAAA,MACE,OAAA,QzBu0OD,QAAA,EyBp0OG,gBAAA,KACA,WAAA,KzBw0OJ,kBAqMA,mByBxgPA,SAAA,SACE,IAAA,IzBq0OD,OAAA,IyBn0OC,mBAAA,WACE,WAAA,WzBq0OH,WAAA,KAyMD,yByBzgPA,0BzB0gPE,QyBzgPA,MACA,MAAA,KACA,OAAA,KACA,QAAA,IzB4gPF,mByBxgPE,MAAA,EzB2gPF,0BACE,iByB1gPA,QACA,mBAAA,iBAAA,IAAA,wBACA,WAAA,iBAAA,IAAA,wBzB6gPF,kBA1MC,KAAA,EA6MD,yBACE,iBAAkB,QyBx/OZ,mBACE,SAAA,SzBizOT,IAAA,IC55OA,MAAA,KwBgHO,OAAA,KACA,mBAAA,WzB+yOP,WAAA,WyBtzOO,WAAA,KACE,iBAAA,QzBwzOT,OAAA,IAAA,MAAA,QCn6OA,cAAA,IwBgHO,mBAAA,WAAA,KAAA,uBAAA,CAAA,aAAA,KAAA,uBAAA,CAAA,cAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBACA,WAAA,WAAA,KAAA,uBAAA,CAAA,aAAA,KAAA,uBAAA,CAAA,cAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBzBszOP,WAAA,WAAA,KAAA,uBAAA,CAAA,aAAA,KAAA,uBAAA,CAAA,UAAA,IAAA,uBAAA,CAAA,cAAA,IAAA,wByB7zOO,WAAA,WAAA,KAAA,uBAAA,CAAA,aAAA,KAAA,uBAAA,CAAA,UAAA,IAAA,uBAAA,CAAA,cAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBACE,kBAAA,gBzB+zOT,UAAA,gByB1zOO,YAAA,UAAA,CAAA,YAAA,CAAA,SAAA,CAAA,czB8gPR,kDyB7gPQ,iBAAA,QAPA,4CACE,iBAAA,QzB60OT,OAAA,IAAA,MAAA,QA6MD,iDyBphPQ,iBAAA,QAPA,2CACE,iBAAA,QzBo1OT,OAAA,IAAA,MAAA,QA6MD,iDyB3hPQ,iBAAA,QAPA,2CACE,iBAAA,QzB21OT,OAAA,IAAA,MAAA,QA6MD,wDyBliPQ,iBAAA,QAPA,kDACE,iBAAA,QzBk2OT,OAAA,IAAA,MAAA,QA6MD,wDyBziPQ,iBAAA,QAPA,kDACE,iBAAA,QzBy2OT,OAAA,IAAA,MAAA,QA6MD,kDyBhjPQ,iBAAA,QAPA,4CACE,iBAAA,QzBg3OT,OAAA,IAAA,MAAA,QA6MD,mDyBvjPQ,iBAAA,QAPA,6CACE,iBAAA,QzBu3OT,OAAA,IAAA,MAAA,QA6MD,uDyB9jPQ,iBAAA,QAPA,iDACE,iBAAA,QzB83OT,OAAA,IAAA,MAAA,QA6MD,wDyBrkPQ,iBAAA,QAPA,kDACE,iBAAA,QzBq4OT,OAAA,IAAA,MAAA,QA6MD,iDyB5kPQ,iBAAA,QAPA,2CACE,iBAAA,QzB44OT,OAAA,IAAA,MAAA,QA6MD,mDyBnlPQ,iBAAA,QAPA,6CACE,iBAAA,QzBm5OT,OAAA,IAAA,MAAA,QA6MD,iDyB1lPQ,iBAAA,QAPA,2CACE,iBAAA,QzB05OT,OAAA,IAAA,MAAA,QA6MD,mDyBjmPQ,iBAAA,QzBy5OR,6CA4ME,iBAAkB,QAClB,OAAQ,IAAI,MAAM,QAEpB,gDA1MA,iBAAY,QA6MZ,0CA1MC,iBAAA,QyBn5OD,OAAA,IAAA,MAAA,QzBimPA,iDA3MC,iBAAA,QyBx4OD,2CAEI,iBAAA,QACA,OAAA,IAAA,MAAA,QzB24OJ,mDyBt4OA,iBAAA,KzBqlPA,6CA3MA,iBAAU,KyBn4OV,OAAA,IAAA,MAAA,KzBwlPA,6CyBxlPA,iBAAA,QzB2lPA,sCyBrkPI,kBAAA,gBAAA,WAAA,UAAA,gBAAA,WzB0kPJ,qCACE,iBAAkB,KAClB,aAAc,QAGhB,uDyBlkPI,aAAA,QzBskPJ,wCyBlkPI,OAAA,QzBqkPJ,gDyB7kPA,iBAAA,QzBglPA,+CyBlkPM,iBAAA,QzBqkPN,yCACE,iByBpkPI,QACA,aAAA,sBACA,kBAAA,gBAAA,WACA,UAAA,gBAAA,WzB2kPN,yCACE,MAAO,KAhNR,OAAA,KyBr3OC,WAAA,MAMM,YAAA,MzBk3OP,OAAA,KyB52OC,kBAAA,eAAA,UAEI,UAAA,eAAA,UAKJ,8CAEI,SAAA,SzBy2OL,IAAA,IyBp2OC,KAAA,KAEI,MAAA,KzBsjPJ,UyBtjPI,KzBq2OL,MAAA,KyBh2OC,WAAA,OAEI,QAAA,EzBi2OL,mBAAA,QAAA,KAAA,wBACD,WAAA,QAAA,KAAA,wBAmNE,kBAAmB,cACX,UAAW,cAErB,2DyBxiPI,cAAA,KAAA,KAAA,KAAA,EACE,kBAAA,eAAA,SAAA,sBzBw1OL,UAAA,eAAA,SAAA,sBAoND,gEAjNC,QAAA,EAoND,0DyB7hPM,iBAAA,QAxBN,4EA+BM,iBAAA,QAQA,8DACE,kBAAA,eAAA,YzBm0OP,UAAA,eAAA,YAoND,+EAjNC,iBAAA,QyB3yOG,kDAEI,iBAAA,QAKJ,qEAEI,iBAAA,QzB+yOR,6DAmNE,iBAAkB,QAClB,aAAc,QAEhB,+EAjNA,aAAA,QAoNA,wE0B90PE,iBAAA,Q1Bi1PF,uE0B90PE,iBAAA,Q1Bi1PF,iE0B70PE,iBAAA,Q1Bg1PF,kF0B70PE,iBAAA,Q1Bg1PF,oG0B70PE,iBAAA,Q1Bg1PF,uG0Bh1PE,iBAAA,Q1By1PF,UACA,U0B/0PE,SAAA,SAEA,QAAA,aACA,UAAA,KACA,OAAA,KACA,mBAAA,WACA,WAAA,WACA,QAAA,EAAA,KACA,OAAA,EACA,SAAA,O1Bg1PA,U0Bh1PA,KAGA,YAAA,I1B+0PA,Y0B/0PA,K1BynPD,MAAA,Q0BtnPC,WAAA,O1B+0PA,gBAAiB,K0B90Pf,eAAA,U1BynPH,eAAA,M0BvnPC,YAAA,O1Bg1PA,eAAgB,O0B/0Pd,iBAAA,a1B0nPH,aAAA,a0BtnPC,OAAA,Q1B+0PA,KAAM,E0B90PJ,oBAAA,K1BynPH,iBAAA,K0BvnPC,gBAAA,K1Bg1PQ,YAAa,K0B/0PnB,WAAA,I1B0nPH,OAAA,KACD,cAAY,I0BnnPR,QAAA,E1B40PF,mBAAoB,IAAI,IAAI,uBAA0B,CAAE,mBAAmB,IAAI,uBACvE,WAAY,IAAI,IAAI,uBAA0B,CAAE,mBAAmB,IAAI,uBACvE,WAAY,IAAI,IAAI,uBAA0B,CAAE,WAAW,IAAI,uB0B50PnE,WAAA,IAAA,IAAA,uBAAA,CAAA,WAAA,IAAA,sBAAA,CAAA,mBAAA,IAAA,uBAEA,YAAA,W1BunPL,kBAAA,KAyND,gBACA,gBAtNC,iBAAA,eAyND,mCACA,mCAtNC,iBAAA,iBAyND,oCACA,oCACE,Q0B50PA,I1BqnPF,uD0BjnPA,uDZvFE,QAAA,IY0FA,0B1B80PF,kCADA,2BAEA,mC0B30PE,OAAA,QZ9FA,UAAA,Md46PA,Yc56PA,QdktPF,0B0B3mPI,MAAA,K1By0PF,aAAc,KAEhB,2BACE,MAAO,MACP,YAAa,KAEf,4B0B30PM,mBAAA,KZ3GJ,gBAAA,KAAA,WAAA,Kd67PF,iB0Bt1PI,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gB1Bw1PM,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,IAAI,EAAE,gBAEpG,uBACE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,KAAK,EAAE,gBAC3F,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,KAAK,EAAE,gBAErG,wB0Bp1PQ,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1BynPP,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAgOD,oBAIA,2BAEA,0BAJA,0BADA,oBAIA,2BAEA,0BAJA,0Bc78PE,MAAA,0Bdm9PA,Ocn9PA,kBdsvPD,iBAAA,sBACD,mBAAY,e0BjnPZ,WAAA,eACE,QAAA,Y1BonPF,+BAkOA,sCAEA,qCAJA,qC0Bh1PA,+B1Bm1PA,sCAEA,qCAJA,qC0B10PE,MAAA,0B1Bk1PF,2BAIA,kCAEA,iC0B/1PA,iC1B01PA,oBAIA,2BAEA,0BAJA,0B0B30PI,iBAAA,0BACA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0B1BknPH,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BAkOD,eA/NC,YAAA,IAmOD,e0B70PE,MAAA,K1B+mPD,UAAA,KACD,OAAA,K0B5mPA,QAAA,EACE,aAAA,EACA,YAAA,EACA,SAAA,O1B8mPD,UAAA,K0B5mPC,YAAA,OACE,cAAA,I1B+0PJ,0BA/NA,SAAS,S0B1mPT,IAAA,IACE,KAAA,IACA,MAAA,KACA,YAAA,K1B4mPD,kBAAA,uB0B/mPD,UAAA,uB1Bk1PA,2B0B10PI,kBAAA,cACA,UAAA,cAGA,gBACE,QAAA,MACA,MAAA,K1B80PN,gB0B10PM,OAAA,K1B4mPL,UAAA,K0BzmPG,YAAA,K1B40PJ,8BA/NC,MAAA,K0BzmPK,UAAA,KAKF,gBACE,SAAA,SACA,QAAA,a1BymPL,eAAA,OAkOD,0B0Br0PM,MAAA,K1BumPL,UAAA,Q0BpmPO,QAAA,EAAA,KACE,MAAA,gB1BsmPT,cAAA,EAkOD,iCACE,SAAU,SACV,IAAK,EACL,OAhOC,E0BxlPC,KAAA,E1B0zPF,QAAS,I0BzzPL,YAAA,IAAA,MAAA,YAEF,sC1B2zPF,uBAAwB,I0B1zPpB,0BAAA,IAIF,6C1B0zPF,YAAa,KAEf,qC0BzzPI,wBAAA,I1B2zPF,2BAA4B,IAE9B,0C0BpzPM,MAAA,gB1BszPJ,iBAAkB,iBAEpB,kEACE,YAAa,IAAI,MAAM,iB0BzzPnB,wC1Bi0PN,wCACE,iBAAkB,qBAEpB,2DACA,2DACE,iBAAkB,uBAEpB,4DACA,4D0BxzPM,QAAA,I1B2zPN,+EACA,+EACE,QAAS,IAEX,4CA5NA,mDAkOA,kDAJA,kDADA,4CAIA,mDAEA,kDAJA,kDAKE,MAhOC,+BACH,iBAAY,sBAkOZ,uDAIA,8DAEA,6DAJA,6DADA,uDAIA,8DAEA,6DAJA,6D2BvlQE,MAAA,+B3B8lQF,mDAIA,0D2B1lQE,yDAJA,yD3B2lQF,4CAIA,mDAEA,kDAJA,kDAKE,iBctnQA,gCd8nQF,U2B1lQI,MAAA,K3By3PH,UAAA,KACD,OAAA,K2Br3PA,QAAA,YACE,OAAA,KACA,SAAA,OACA,UAAA,K3Bu3PD,YAAA,iB2B13PD,cAAA,IAOI,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gB3Bu3PJ,gB2Bl3PA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB3BulQU,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAE1G,iB2BplQE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAEA,qBAAA,SAAA,S3BulQA,IAAK,EACL,KAnOE,EAoOF,M2BvlQE,K3BwlQF,W2BvlQE,K3BwlQF,YAnOC,KACF,YAAA,KAsOD,e2BrlQE,MAAA,KACA,UAAA,KACA,OAAA,K3BwlQF,0BAlOC,WAAA,I2Bj3PC,YAAA,I3BwlQF,gBACA,kBAnOC,SAAA,gB2B/2PK,MAAA,KACA,OAAA,K3BulQN,0B2BrlQM,gB3BulQJ,kB2BllQA,MAAA,KAEI,OAAA,MAFJ,kBAMI,SAAA,SACA,QAAA,K3BqlQJ,MAAO,KAvOR,OAAA,K2Bz2PC,YAAA,IACE,WAAA,OArCJ,6DAyCI,QAAA,EACA,mBAAA,IAAA,IAAA,wBACA,WAAA,IAAA,IAAA,wBAEA,YAAA,OAAA,CAAA,U3BmlQJ,uDAvOC,QAAA,E2Bz5PD,mBAAA,IAAA,IAAA,wBAkDM,WAAA,IAAA,IAAA,wBACA,kBAAA,eAAA,UAAA,eAAA,YAAA,OAAA,CAAA,U3BslQN,6E2BhlQM,QAAA,E3Bs2PL,kBAAA,e2Bn2PG,UAAA,e3BklQJ,uE2B/kQQ,QAAA,E3Bo2PP,kBAAA,eACD,UAAA,eA+OA,iCACE,WAAY,IAEd,iC2B5kQE,SAAA,SAAA,MAAA,EAAA,OAAA,KAIA,KAAA,E3B6kQA,O2B7kQA,E3B61PD,WAAA,O2B31PC,WAAA,Q3B+kQF,2C2B9kQI,OAAA,IAAA,E3BglQF,Q2BhlQE,E3B+1PH,mBAAA,MAAA,IAAA,uBAAA,CAAA,QAAA,MAAA,uBAAA,CAAA,mBAAA,IAAA,sBAAA,CAAA,kBAAA,MAAA,wBACD,WAAA,MAAA,IAAA,uBAAA,CAAA,QAAA,MAAA,uBAAA,CAAA,mBAAA,IAAA,sBAAA,CAAA,kBAAA,MAAA,wBAmPU,WAAY,WAAW,IAAI,sBAAyB,CAAE,MAAM,IAAI,uBAA0B,CAAE,UAAU,MAAM,uBAA0B,CAAE,QAAQ,MAAM,wBACtJ,WAAY,WAAW,IAAI,sBAAyB,CAAE,MAAM,IAAI,uBAA0B,CAAE,UAAU,MAAM,uBAA0B,CAAE,QAAQ,MAAM,uBAA0B,CAAE,mBAAmB,IAAI,sBAAyB,CAAE,kBAAkB,MAAM,wBACpQ,kBAAmB,SAjPlB,UAAA,SAoPH,8D4B1uQE,QAAA,EACA,kBAAA,SAAA,UAAA,S5B+uQF,UACA,eACA,kBACE,mB4B7uQA,IAAA,IAAA,uBAAA,CAAA,mBAAA,IAAA,sBAAA,CAAA,kBAAA,IAAA,WAAA,IAAA,IAAA,uBAAA,CAAA,mBAAA,IAAA,sBAAA,CAAA,kBAAA,IACA,WAAA,IAAA,IAAA,uBAAA,CAAA,WAAA,IAAA,sBAAA,CAAA,UAAA,IACA,WAAA,IAAA,IAAA,uBAAA,CAAA,WAAA,IAAA,sBAAA,CAAA,UAAA,GAAA,CAAA,mBAAA,IAAA,sBAAA,CAAA,kBAAA,IACA,kBAAA,SAAA,cACA,UAAA,SAAA,cAEA,YAAA,U5BivQF,6BACA,gCAFA,wB4B7uQE,kBAAA,SAAA,cACA,UAAA,SAAA,c5BuvQF,a4BnvQE,SAAA,SAOA,QAAA,aACA,UAAA,KACA,OAAA,K5Bk/PD,mBAAA,W4Bz/PC,WAAA,WACE,mBAAA,K5B2/PH,cAAA,K4Bl/PD,aAAA,EACE,YAAA,MAAA,CAAA,IAAA,CAAA,SAAA,CAAA,KAAA,CAAA,W5Bo/PD,UAAA,KACD,eAAgB,O4Bh/Pd,OAAA,Q5B+uQA,oBAAqB,K4B7uQnB,iBAAA,KACA,gBAAA,KACA,YAAA,KACA,iBAAA,8R5Bk/PH,kBAAA,U4B/+PC,oBAAA,MAAA,OACE,OAAA,KACA,cAAA,IAAA,MAAA,gBACA,QAAA,EACA,mCAAA,wBACA,2BAAA,wB5B8uQF,4B4B9uQE,I5Bi/PH,oBAAA,I4Bt/PC,4BAAA,gBAAA,CAAA,qBAAA,CAAA,mBAQI,oBAAA,gBAAA,CAAA,qBAAA,CAAA,mBACA,oBAAA,gBAAA,CAAA,UAAA,CAAA,sBAGA,oBAAA,gBAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,mB5B++PL,gBAAA,K4B3+PC,WAAA,KACE,YAAA,gBAAA,CAAA,UAAA,CAAA,sB5B6uQJ,8BcjzQE,cAAA,KdozQF,0B4BjvQE,iBAAA,yU5BsvQF,8CADA,2CA/PC,QAAA,MACD,iBAAa,K4Bt+Pb,sBAAA,kBACE,cAAA,I5B0uQF,2C4BvuQE,WAAA,IAAA,MAAA,gB5ByuQA,c4BzuQA,IAAA,MAAA,YACA,uBAAA,EACA,wBAAA,ExB7BA,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,EAAA,KAAA,IAAA,eAAA,CAAA,EAAA,KAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,EAAA,KAAA,IAAA,eAAA,CAAA,EAAA,KAAA,KAAA,IAAA,gBJywQF,6D4B1uQE,2BAAA,E5By+PD,0BAAA,E4Bv+PC,mBAAA,EAAA,KAAA,IAAA,KAAA,eAAA,CAAA,IAAA,EAAA,IAAA,KAAA,eAAA,CAAA,KAAA,EAAA,IAAA,KAAA,gBACE,WAAA,EAAA,KAAA,IAAA,KAAA,eAAA,CAAA,IAAA,EAAA,IAAA,KAAA,eAAA,CAAA,KAAA,EAAA,IAAA,KAAA,gB5B6uQJ,8C4BzuQE,cAAA,IAAA,MAAA,gBACE,2BAAA,E5Bw+PH,0BAAA,EACD,mBAAQ,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB4Bp+PR,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB5B0uQA,gEACE,uB4BzuQA,EACA,wBAAA,EACA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,IAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,IAAA,gB5B4uQF,sB4BxuQE,SAAA,SdnHA,IAAA,Id81QA,MAAO,K4BzuQP,KAAA,EACA,QAAA,MACA,SAAA,O5B2uQA,c4B3uQA,SAGA,YAAA,OACA,mBAAA,KAAA,IAAA,uBAEA,WAAA,KAAA,IAAA,uBACA,kBAAA,iBAAA,UAAA,iB5B2uQF,wC4B1uQE,MAAA,K5B4uQA,KAAM,KAER,kEA1QC,WAAA,OA8QD,kBACE,S4B7uQE,SACA,QAAA,MACA,OAAA,K5Bk+PH,mBAAA,W4B99PC,WAAA,WACE,OAAA,EAAA,MAAA,EAAA,EACA,WAAA,OACA,2BAAA,M5B4uQF,MAAO,gB4B3uQL,OAAA,QACA,WAAA,O5B6uQF,iB4B7uQE,K5Bg+PH,cAAA,IACD,mBAAS,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB4B59PT,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACE,QAAA,EACA,mCAAA,uBACA,2BAAA,uBACA,4BAAA,IxB5FA,oBAAA,IACA,4BAAA,OAAA,CAAA,UAAA,CAAA,kBACA,oBAAA,OAAA,CAAA,UAAA,CAAA,kBJ2jQD,oBAAA,SAAA,CAAA,OAAA,CAAA,W4B99PC,oBAAA,SAAA,CAAA,OAAA,CAAA,UAAA,CAAA,kBACE,kBAAA,W5Bg+PH,UAAA,W4B59PG,YAAA,SAAA,CAAA,OAAA,CAAA,WAGF,oCACE,WAAA,O5B89PH,WAAA,Q4B19PC,QAAA,EACE,kBAAA,WACA,UAAA,WAEA,uCACE,WAAA,O5B49PL,WAAA,Q4Bv9PC,mBAAA,KACE,WAAA,K5By9PH,QAAA,EACD,kBAAkB,W4Bp9PlB,UAAA,WAAA,uBAII,OAAA,K5Bs9PH,QAAA,EAAA,K4Bl9PC,SAAA,OACE,YAAA,K5Bo9PH,cAAA,SACD,YAAA,O4Bh9PA,OAAA,Q5BiuQA,6B4B9tQE,iBAAA,K5BiuQF,mC4B9tQE,WAAA,I5BiuQF,kC4BvuQA,cAAA,I5B0uQA,iC4B9tQI,MAAA,0B5Bk9PH,OAAA,QAgRD,uCA7QC,iBAAA,kBAgRD,iC4B7tQM,MAAA,Q5BiuQN,mB4B3tQI,iBAAA,Y5B8tQJ,0B4B5tQI,MAAA,gB5B+tQJ,+B4B9tQI,QAAA,K5BkuQJ,6B4BjuQI,OAAA,K5B+8PH,QAAA,E4B78PG,UAAA,KACE,OAAA,Q5B+8PL,iBAAA,K4B58PG,iBAAA,KACE,OAAA,IAAA,MAAA,gB5B+8PN,sCAqRE,QAAS,EAAE,EAAE,EAAE,KACf,OAAQ,IAAI,EAAE,EAAE,EAChB,MAAO,gB4BltQD,iD1B7MJ,cAAA,I0B6MI,wD1B7MJ,YAAA,IFkpQH,WAAA,IAAA,MAAA,gBAsRD,oCAnRC,QAAA,Y4Bx8PO,QAAA,a1B7MJ,QAAA,YFwpQH,QAAA,K4B38PO,OAAA,K1B7MJ,QAAA,EAAA,KF2pQH,OAAA,EAAA,EAAA,EAAA,M4B98PO,MAAA,gB5Bi9PP,kBAAA,O4Bj9PO,oBAAA,O1B7MJ,eAAA,OFiqQH,YAAA,OAsRD,gDAnRC,WAAA,IAsRD,+CAnRC,cAAA,I4B19PO,0D1B7MJ,MAAA,Q0B6MI,yD1B7MJ,MAAA,Q0B6MI,yD1B7MJ,MAAA,Q0B6MI,gE1B7MJ,MAAA,Q0B6MI,gE1B7MJ,MAAA,QF6rQJ,0DAqRE,MAAO,QAET,2DACE,MApRC,QAsRH,+D4BvvQI,MAAA,QAHJ,gEAOI,MAAA,QAIA,yD5BsvQF,MAAO,QAET,2D4BnvQI,MAAA,Q5BsvQJ,yD4BlvQI,MAAA,Q5BqvQJ,2D4BzwQA,MAAA,Q5B4wQA,wDAnRC,MAAA,QAsRD,yDAnRC,MAAA,QAsRD,2DAnRC,MAAA,QA2RD,qCAnRC,iBAAA,uQ4BvgQD,cAAA,IAAA,MAAA,sB5B8xQA,kD4B9xQA,iBAAA,kTA0DM,sE5BuuQN,mE4BtuQQ,iBAAA,Q5Bs9PR,mEAqRE,WAAY,IAAI,MAAM,sBAExB,sEACE,cApRC,IAAA,MAAA,sBAsRH,0C6B7/QE,MAAA,K7B+/QA,iB6B//QA,Q7BigRF,qD6B9/QE,iBAAA,Q7BigRF,yD6B//QE,MAAA,+B7BkgRF,2C6BhgRI,MAAA,KACA,iBAAA,QAIJ,kDACE,MAAA,KACA,iBAAA,QACA,qDAAA,OAAA,IAAA,MAAA,qB7BmgRF,8DApRC,MAAA,qBAuRD,gFACE,W6BngRE,IAAA,MAAA,sB7B0gRJ,gB6BlgRE,sB7BogRA,mBAAoB,W6BngRlB,WAAA,WACA,cAAA,IACA,aAAA,I7BgvQH,aAAA,K6B5uQD,YAAA,K7BqgRA,4BADA,sBAEE,QAAS,MACT,MAAO,K6BjgRP,QAAA,G7BogRF,gB6BlgRE,MAAA,IACA,UAAA,O7BqgRF,yBArRA,gB6B3uQA,MAAA,K7BqgRA,0BACE,gBACE,MAAO,KAGX,U6B1gRA,mB7B4gRE,aAAc,K6B9/QZ,YAAA,K7BigRJ,gBCjoRC,yB4B+CG,QAAA,MACA,MAAA,K7B+zQH,QAAA,GA6RD,UAFA,sBC1oRC,sBDwoRD,sBAGA,sBAJA,sBCvoRC,SAAA,S4B+CG,WAAA,IACA,mBAAA,W7B00QH,WAAA,WC13QA,cAAA,I4BqDG,aAAA,I7BgmRJ,4BAIA,wCCzpRC,wCDupRD,wCAGA,wCAJA,wCAjRC,cAAA,ECr4QA,aAAA,ED8pRD,4BC9pRC,qC4B2DG,aAAA,EACA,YAAA,E5B5DH,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,WA2EJ,gB5BvIC,MAAA,KDwwRC,M6BztRE,W7B2tRJ,uBC1wRC,YAAA,WD6wRD,0BC7wRC,MAAA,KD+wRC,M6BptRE,I7BstRJ,gBCjxRC,MAAA,KDmxRC,M6BpuRE,W7BsuRJ,uBCrxRC,YAAA,WDwxRD,0BCxxRC,MAAA,KD0xRC,M6B/tRE,U7BiuRJ,gBC5xRC,MAAA,KD8xRC,M6B/uRE,K7BivRJ,uBChyRC,YAAA,KDmyRD,0BCnyRC,MAAA,KDqyRC,M6B1uRE,U7B4uRJ,yBCvyRC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7ByjRH,gB6B1+QD,MAAA,K5B3IC,MAAA,WD+4RC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KC7nRF,MAAA,IDs5RC,gBArRC,MAAA,KCjoRF,MAAA,WD05RC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCxoRF,MAAA,UDi6RC,gBArRC,MAAA,KC5oRF,MAAA,KDq6RC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KCnpRF,MAAA,WD66RD,0BC76RC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7B+rRH,gB6B5mRD,MAAA,K5B/IC,MAAA,WDqhSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCnwRF,MAAA,ID4hSC,gBArRC,MAAA,KCvwRF,MAAA,WDgiSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KC9wRF,MAAA,UDuiSC,gBArRC,MAAA,KClxRF,MAAA,KD2iSC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KCzxRF,MAAA,WDmjSD,0BCnjSC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7Bq0RH,gB6B9uRD,MAAA,K5BnJC,MAAA,WD2pSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCz4RF,MAAA,IDkqSC,gBArRC,MAAA,KC74RF,MAAA,WDsqSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCp5RF,MAAA,UD6qSC,gBArRC,MAAA,KCx5RF,MAAA,KDirSC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KC/5RF,MAAA,WDyrSD,0BCzrSC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7B28RH,gBACD,MAAA,KAuRI,MAAO,WAET,uBArRC,YAAA,W8BrgSD,0B9B8xSE,M8B9xSF,KACA,MAAA,IAAA,gBAAA,MAAA,KACA,MAAA,W9BmySA,uBACE,Y8BpySF,W9BygSD,0B8BvgSC,MAAA,KACE,MAAA,U1BqDF,gBACA,MAAA,KJs9RD,MAAA,K8BpgSO,uB9BugSP,YAAA,K8BpgSO,0B9BugSP,MAAA,K8BlgSC,MAAA,WAMA,cACE,QAAA,YACA,QAAA,aACA,QAAA,Y9BmgSH,QAAA,K8BhgSG,MAAA,KAAA,mBAAA,WACE,WAAA,W9BoySJ,kB8BlySI,O9BmySJ,oBAhSC,OACF,eAAA,O8B7gSC,YAAA,O9BgzSF,gBA/RC,OAAA,EAAA,K8B7iSD,SAAA,OA+CI,cAAA,S9BigSH,YAAA,OAkSD,+E8B9xSE,iBAAA,qB9BiySF,gF8BhySE,iBAAA,uB9BggSF,gB8B3/RE,MAAA,QACE,gBAAA,KACA,oBAAA,K9B6/RH,iBAAA,K8B3/RG,gBAAA,KACE,YAAA,KAEA,6BACE,MAAA,K9B6/RP,UAAA,K8Bl/RC,OAAA,K9BwxSF,qDACE,6BAlSC,MAAA,K8BtgSC,UAAA,KACE,OAAA,M9B6ySN,wCACE,OAnSC,KACF,YAAA,KAqSD,yBACE,M8BtzSE,Q9BwzSJ,qB8BrzSI,OAAA,E9BwzSF,iBAnSC,E8BlhSG,kBAAA,E9BuzSJ,kB8BtzSM,E9BohSL,UAAA,EAsSH,cACE,OAAQ,KACR,YAAa,K+B93Sf,wBACE,OAAA,EAAA,I/Bk4SF,kCAnSC,YAAA,E+B1lSD,yBACE,2BACA,OAAA,KACA,YAAA,KAEA,qCACA,OAAA,EAAA,IACA,+C/Bk4SE,Y+Bl4SF,G/Bq4SF,qDAtSA,2B+BxlSI,OAAA,KAAA,YAAA,K/Bm4SF,qCAtSD,OAAA,EAAA,I+BvlSG,+CACE,YAAA,G/Bw4SN,aACE,Q+B93SE,K/B+3SF,mBAvSC,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBACF,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBA0SD,mBACE,SAvSC,MACF,IAAA,EACD,MAAA,E+BrlSA,KAAA,EACE,mCAAA,uB/BulSD,2BAAA,uBACD,4BAAa,I+BplSb,oBAAA,IACE,4BAAA,IAAA,CAAA,M/BslSD,oBAAA,IAAA,CAAA,M+BllSD,YAAA,IAAA,CAAA,MAIE,0BAAA,4DACE,KAAA,OAIF,0BAAA,6DACE,MAAA,OAKJ,0BACE,YAAA,KAGA,yBAAA,0BACE,YAAA,MAIF,qDAAA,0BACE,YAAA,M/B83SJ,sBACE,YAAa,K+Bn3SX,6BACE,YAAA,K/BklSN,+CAwSE,YAAa,MAEf,yBACE,+CAtSF,YAAQ,OA0SR,qDgC99SE,+CACA,YAAA,MhCm+SF,sDACE,Yc3+SA,MdosSF,yBA0SE,sDAxSC,YAAA,OA4SH,qDgC/9SE,sDACA,YAAA,OhCw+SF,uFAzSC,MAAA,eACD,iBAAY,kBAkTZ,WIv8SE,SAAA,S4BvBA,mBAAA,WhCurSD,WAAA,WACD,SAAA,OgCprSA,MAAA,KACE,iBAAA,KACA,cAAA,IACA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBhCo+SF,kBAzSC,SAAA,SACD,OAAA,KA2SE,mBAAoB,WAzSnB,WAAA,WgCrrSH,QAAA,KhCm+SA,yBAzSA,MAAA,KgCprSA,MAAA,KACE,OAAA,KACA,cAAA,IhCk+SF,wBAzSA,QAAA,MgCnrSA,YAAA,KACE,SAAA,OACA,UAAA,KACA,YAAA,IACA,YAAA,KhCqrSD,cAAA,SACD,YAAA,OA2SE,QAAS,IAGX,2BgC59SE,QAAA,MACA,YAAA,KACA,SAAA,OhCorSD,UAAA,KACD,YAAA,IA2SE,YAAa,KACb,cA1SC,SgCjrSH,YAAA,OACE,QAAA,IADF,mBAOI,SAAA,ShCmrSH,QAAA,KAAA,KAAA,KAAA,KA6SD,yBgCz9SA,QAAA,MAEE,UAAA,KACA,YAAA,KhC09SA,QgC19SA,I5B3DA,4BJyhTA,QAAS,MIvhTP,UAAA,KACA,YAAA,KJ8uSH,QAAA,IAgTD,mBI/hTI,SAAA,SACA,QAAA,KJsvSH,UAAA,KIpvSC,YAAA,KJqiTF,gBI9hTE,SAAA,SACA,IAAA,KACA,MAAA,KJqvSD,QAAA,EA6SD,0BgC1+SI,YAAA,IhCg/SJ,mBgCv+SI,SAAA,ShC8rSH,mBAAA,WgC7rSG,WAAA,WACE,QAAA,IhC4+SN,yBA5SA,0BA6SE,QA3SC,MgC1rSH,QAAA,IhCw+SA,yBgCx+SA,MAAA,KhC4+SA,yBADA,0BAzSC,QAAA,MACD,QAAA,IA6SA,yBgCr+SE,MAAA,KhCw+SF,6BgCr+SE,UAAA,KACA,OAAA,EAAA,IAAA,EAAA,EhC4rSA,SAAA,OACD,cAAA,SgCnsSD,YAAA,OhCi/SA,kCgCj/SA,MAAA,KAaI,OAAA,KhC4rSH,OAAA,EAAA,IA8SD,qCgCn+SE,QAAA,MhC0rSD,OAAA,EAAA,EAAA,IAAA,EgCtrSD,gDACE,OAAA,EhCw+SF,iBA3SC,SAAA,SA8SD,qBACA,uBA5SC,QAAA,MACD,MAAA,KAgTA,yBACE,SA7SC,SgCnrSH,MAAA,EAEI,OAAA,EACA,KAAA,EhCorSH,MAAA,KACD,WAAA,eAgTA,kDACE,QAAS,EAEX,qDA5SA,QAAA,GAgTA,6BiCtqTE,IAAA,EAAA,OAAA,KjC2qTF,qCiCvqTE,WAAA,IjC2qTF,kCiCvqTE,WAAA,sFACA,WAAA,sDAVF,8DAaI,WAAA,sFAAA,WAAA,yDjCgrTJ,mCiC1qTI,MAAA,KACA,iBAAA,QjCqrTJ,UiC7qTI,SAAA,SACA,QAAA,YACA,QAAA,aAEA,QAAA,YAAA,QAAA,KjC+qTF,WiC/qTE,KjCgrTF,WiChrTE,KAGA,QAAA,EAAA,OAAA,EAAA,KAAA,WAAA,KjCirTF,WiCjrTE,OjCkrTF,2BiClrTE,MACA,YAAA,OjCorTJ,YACE,QiCrrTE,YACA,QAAA,aAAA,QAAA,YjCurTF,QiCvrTE,KjCwrTF,UiCxrTE,KjCq3SH,WAAA,KiC15SD,WAAA,KAwCM,mBAAA,WjCq3SL,WAAA,WiCj3SG,QAAA,KAAA,SAAA,OjCwrTF,UiCvrTI,KjCwrTJ,MiCvrTI,QjCwrTJ,WiCrrTI,OjCsrTJ,gBiCnrTI,KjCorTJ,ciCprTI,SjCqrTJ,eiCrrTI,UjCsrTJ,OAAQ,QAtUP,eAAA,OACF,oBAAA,KiC92SG,iBAAA,KAAA,gBAAA,KACE,YAAA,KjCwrTJ,QAvUC,EACF,QAAA,GiC/2SG,iBAAA,EjCyrTF,aiCxrTI,EjCk3SH,SAAA,EACF,KAAA,EiCh3SG,mBAAA,SAAA,sBAAA,OjC0rTF,uBiCzrTI,OjCm3SH,mBAAA,OACF,iBAAA,OiCp7SD,wBAAA,OAoEM,cAAA,OACA,gBAAA,OACA,kBAAA,OjCm3SL,oBAAA,OiCz7SD,eAAA,OA0EM,YAAA,OAGF,uBACE,QAAA,GjCyrTN,yBiC1rTI,YAKI,UAAA,KjCi3SP,UAAA,MiCn8SD,QAAA,KAAA,KA0FI,iBAAA,EjC62SH,aAAA,KiCv8SD,SAAA,KA4FM,KAAA,MAOJ,0BACE,YACE,UAAA,OjCmrTN,0BACE,YAzUC,UAAA,OA6UH,0BACE,YACE,UiCrrTE,OjCwrTN,kBACE,QiCtrTI,MjCurTJ,MiCvrTI,KjCwrTJ,OiCxrTI,QjC0rTN,6BA/UC,WAAA,IiCr2SD,sBAEI,OAAA,QACA,QAAA,IjCwrTJ,4BACE,OiCzrTE,QjCw2SJ,2BiCl2SA,MAAA,QACE,QAAA,EADF,sCAII,QAAA,EjCyrTJ,yBArVC,0BiCj2SC,QAAA,IACE,iBAAA,EjCo2SD,kBAAA,EACF,kBAAA,EACW,UAAA,EiC/1SV,yBACA,QAAA,IAEA,iBAAA,EACA,kBAAA,EACA,kBAAA,EAAA,UAAA,EjCm2SF,qBAwVI,iBAAkB,EAClB,aAAc,KACV,SAAU,KAtVf,KAAA,MChgTF,uBgC8KO,UAAA,KhC9KP,iBAAA,EgC0KO,aAAA,EjC+1SP,SAAA,ECzgTA,KAAA,EAAA,qBgC0KO,aAAA,KhC1KP,uBgC8KO,iBAAA,EjCo2SP,aAAA,KClhTA,SAAA,KgC0KO,KAAA,KhC1KP,yBgC8KO,qBjC02SP,aAAA,MCxhTA,oBgC8KO,SAAA,SjCg3SP,OAAA,EC9hTA,OAAA,IgC0KO,iBAAA,QjCu3SP,mBAAA,IAAA,KAAA,wBCjiTA,WAAA,IAAA,KAAA,wBDoiTA,YAAA,IAAA,CAAA,MCpiTA,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,yDgC0KO,MAAA,QhC1KP,kDgC8KO,iBAAA,QhC9KP,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QhC9KP,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,sDgC0KO,MAAA,QhC1KP,+CgC8KO,iBAAA,QhC9KP,0DgC0KO,MAAA,QhC1KP,mDgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QjCq8SR,oDiC57SA,MAAA,QjCsxTA,6CiCtxTA,iBAAA,QjCyxTA,sDIl2TI,MAAA,QJq2TJ,+CIl2TM,iBAAA,QAEA,oDAAA,MAAA,QJs2TN,6CACE,iBAvVC,QI1gTC,sDACE,MAAA,QJ8gTN,+CAwVE,iBAAkB,QAEpB,mDACE,MAAO,QAET,4CkC79TA,iBAAA,QlCg+TA,oDkC79TE,MAAA,QlCg+TF,6CkC99TE,iBAAA,QlCi+TF,sDkC99TE,MAAA,QlCi+TF,+CkC99TE,iBAAA,QlCk+TF,sEAvVC,MAAA,QA0VD,yEAvVC,iBAAA,KA0VD,wEACE,MAAO,IACP,OAAQ,IACR,WAxVC,IA0VH,0BkC59TI,wElCsoTH,MAAA,IACD,OAAA,KA2VA,8EACE,WAxVC,qBAiWH,gBACA,sBmCjgUI,SAAA,SACA,OAAA,KnC2qTH,mBAAA,WACQ,WAAA,WmCvqTT,cAAA,KACE,aAAA,KnCigUA,SmCjgUA,OACA,UAAA,KACA,YAAA,IACA,YAAA,KnCyqTD,MAAA,gBmC7qTD,cAAA,SAOI,YAAA,OACA,OAAA,QnC0qTJ,sBmCrqTA,aAAA,KnCsgUA,wCACA,8CmCngUE,MAAA,qBnC4gUF,gBmCpgUE,OAAA,EAAA,KnCugUF,0BA5VA,sCA+VA,sCADA,sCmChgUA,sCArBA,sCAsBE,cAAA,IACA,aAAA,InCsgUF,gBAlWC,SAAA,SACD,mBAAQ,WmCjqTR,WAAA,WACE,cAAA,IACA,SAAA,OnCugUF,oBItgUE,QAAA,MACA,MAAA,KJ0gUF,wBAlWC,SAAA,SACD,MAAS,EmCjqTT,OAAA,EACE,KAAA,EACA,QAAA,YACA,QAAA,aACA,QAAA,Y/BdA,QAAA,KACA,WAAA,KACA,WAAA,KJkrTD,mBAAA,WmC1qTD,WAAA,WAQI,QAAA,KACA,MAAA,KnCqqTH,WAAA,emChqTD,kBAAA,OACE,oBAAA,OACA,eAAA,OACA,YAAA,OnCugUF,mCACE,MAAO,KAGT,qBArWC,SAAA,OmCjqTK,iBAAA,EnCoqTL,aAAA,EmC/pTD,SAAA,EACE,KAAA,EnCygUF,sBArWC,OAAA,KACD,SAAA,OmC9pTA,UAAA,KACE,YAAA,KACA,cAAA,SnCgqTD,YAAA,OmC5pTD,iCACE,aAAA,IAIF,yBACE,OAAA,KAAA,WAAA,InC8pTD,SAAA,OmC5pTC,UAAA,KACE,YAAA,KAAA,cAAA,SnC8pTH,YAAA,OA0WD,oCACE,aAAc,IACd,UAAW,KoC/nUb,wBACE,OAAA,KACA,YAAA,OAEA,iBAAA,EpC2xTD,aAAA,KoC/xTD,SAAA,KAQI,KAAA,KAIF,kCpCgoUA,YAAa,IAEf,8CACE,YAAa,EAEf,6CoC9nUI,YAAA,IAnBJ,6CAuBI,YAAA,KAvBJ,4BpCypUE,IAAK,EoClnUH,OAAA,KpCsnUJ,oCoC9nUM,WAAA,IpCkoUN,iCoC9nUM,WAAA,sFACA,WAAA,sDpCioUN,4DoC5nUI,WAAA,sFpC8nUF,WAAY,yDAQd,WAvWC,QAAA,IAAA,EACD,OAAS,EoC/wTT,WAAA,KACE,iBAAA,YpC0nUF,sBoC1nUE,QAAA,EpC6nUF,yBAEA,8BACA,+BAEA,oCADA,qCAHA,+BoC1nUE,WAAA,IACA,cAAA,IpCioUF,aoC/nUE,MAAA,QpCixTD,gBAAA,KAkXD,2BACA,iCoC7nUE,WAAA,IpCioUF,wCADA,kCA9WC,SAAA,SACD,MAAA,EoC3wTA,KAAA,EACE,QAAA,MACA,OAAA,IACA,QAAA,IACA,iBAAA,gBAIF,6CpC0wTA,uCoCzwTE,WAAA,KpC8nUF,oDADA,8CoCznUE,iBAAA,YpC6nUF,wCoC1nUE,KAAA,KpC8nUF,gBoCtoUA,QAAA,YAYI,QAAA,aACA,QAAA,YACA,QAAA,KpC6wTH,WAAA,KACD,mBAAW,WoCzwTX,WAAA,WACE,QAAA,EAAA,KAAA,gBAAA,KpC4nUA,OoC5nUA,QpC6nUA,mBoC7nUA,iBAAA,IAAA,wBACA,WAAA,iBAAA,IAAA,wBAEA,kBAAA,OACA,oBAAA,OACA,eAAA,OpC2wTD,YAAA,OoCvwTD,sBACE,iBAAA,gBpC8nUF,sBoC3nUA,OAAA,KAEI,WAAA,OpCywTH,QAAA,IAsXD,qBoCxnUE,MAAA,KpCuwTD,UAAA,KoCzwTD,OAAA,KAKI,MAAA,gBpC4nUJ,uBAlXC,UAAA,KACD,UAAY,KoCnwTZ,OAAA,KpCwnUE,WAAY,IACZ,cAAe,IoCtnUf,YAAA,KACA,MAAA,KACA,WAAA,OACA,iBAAA,QpCqwTD,cAAA,IAqXD,2BoCtnUE,MAAA,KpCqwTD,OAAA,KoCnwTD,cAAA,IpC0nUA,wBoCtnUA,YAAA,KACE,eAAA,KACA,UAAA,KpCqwTD,YAAA,IACD,YAAA,KoChwTI,iBAAA,EpCmwTH,kBAAA,EoChwTD,kBAAA,EpCqnUU,UAAW,EAGrB,qBoC/mUA,UAAA,KAEI,QAAA,IAGJ,2CpC+mUE,WAAY,IAGd,uBoC5mUI,YAAA,IpC2vTH,iBAAA,gBAqXD,+CoC3mUI,YAAA,IpC2vTJ,4CoCtvTA,YAAA,IpC6mUA,yBAEA,2BoC3mUE,yBpC4mUA,QAAS,YACT,SAAU,OACV,cAAe,SoCxmUb,mBAAA,SpC4mUJ,yBoCtnUA,OAAA,KAiBI,mBAAA,EpC0mUJ,yBoCvmUI,OAAA,KAEA,mBAAA,EpC0mUJ,2BAlXC,OAAA,KoCjvTG,mBAAA,EpCymUJ,6CAlXC,YAAA,KAqXD,uCACA,oCACA,qCAlXC,YAAA,KAqXD,+CoChmUI,YAAA,KA9CJ,uCpCkpUA,+CADA,6CAGA,oCACA,qCoC9lUI,YAAA,KpCimUJ,uCoCxpUA,oCA2DI,aAAA,KpCkmUJ,iBAlXC,QAAA,IAAA,EoC3yTD,UAAA,KpCiqUA,+BAEA,oCACA,qCAEA,0CoCtqUA,2CAAA,qCpCozTC,WAAA,IACD,cAAA,IAqXA,iCACA,uCACE,OAnXC,KoC9tTG,WAAA,IpCmlUJ,UAAW,KoCllUL,YAAA,KpCslUR,mDoCllUQ,6CACE,WAAA,KAXV,iCAmBI,WAAA,KAEA,uCACE,OAAA,KAtBN,sCA4BI,MAAA,KpCwtTH,OAAA,KoCpvTD,UAAA,KpC0mUA,wCoC1mUA,MAAA,KAsCI,UAAA,KpCotTH,OAAA,KACD,WAAA,KAqXA,yCACE,YAAa,KACb,eAnXC,KoChtTH,UAAA,KAEI,YAAA,KAFJ,sCAKI,UAAA,KpCktTJ,4DAoXE,WAAY,IAEd,0CACE,OAnXC,KqCviUH,0CACE,OAAA,KrC85UF,4CqC55UA,OAAA,KrCq6UA,gEADA,0DqC55UE,iBAAA,sBrCi6UF,4EADA,sEqC55UE,iBAAA,YrCg6UF,wCqC75UE,MAAA,KrCg6UF,8CqC35UE,iBAAA,sBrC85UF,6CqC15UE,MAAA,KrC65UF,6CACE,QAAS,GAEX,+CqCz5UE,iBAAA,sBrCi6UF,qCACE,MqC35UE,QrC65UJ,0CqCz5UI,MAAA,QrCk6UJ,iBAvXC,mBAAA,QAAA,IAAA,uBACD,WAAY,QAAA,IAAA,uBA0XZ,8BACE,mBAxXY,IAAA,IAAA,uBqC/hUV,WAAA,IAAA,IAAA,uBrC25UJ,aACE,Sc79UA,Md89UA,IAAK,EACL,OA1XC,EqC7hUD,KAAA,ErCy5UA,QA1XE,KA2XF,MqCx5UE,kBrCy5UF,UqCz5UE,MrC05UF,mBA3XC,WACF,WAAA,WACD,OAAA,EqC5hUA,WAAA,OACE,WAAA,KrCy5UA,2BqCx5UE,MrCy5UF,YqCz5UE,OAGF,YAAA,UrC05UF,0BACE,oCA5XD,mBAAA,eACD,WAAa,gBAgYb,yBA7XC,aqC1hUG,MAAA,kBACE,UAAA,OAON,0BAVE,aACE,MAAA,MrCi6UA,UqCj6UA,KACA,+BACE,mBAAA,eAAA,WAAA,gBrCu6UN,mBACE,MqC16UE,ErC26UF,KAAM,KAGR,0BACE,aAjYD,iBAAA,KACD,mBAAa,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBqC7hUb,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBrCm6UI,kBqCl6UF,mBrC+hUD,UAAA,mBqC3hUD,mBAEE,kBAAA,kBACE,UAAA,mBrCq6UJ,yBAnYE,aqC1hUE,kBAAA,mBACE,UAAA,mBAGF,mBACE,kBAAA,kBrC2hUH,UAAA,mBAwYH,mBACE,kBqC55UI,mBrCyhUH,UAAA,mBAsYH,qCACE,kBApYC,kBACF,UAAA,kBqCnhUD,yBvBrJE,mBdgjVE,kBchjVF,mBd4qUD,UAAA,mBqClhUD,qCACE,kBAAA,kBrCqhUD,UAAA,mBAwYD,0BACE,mBApYC,kBAAA,mBqC9gUD,UAAA,mBrCs5UA,qCApYC,kBAAA,kBACF,UAAA,mBAyYD,kBACE,kBArYC,wBsC5rUH,UAAA,wBtCqkVA,0BsCjkVE,uBACA,aAAA,MAEA,wBACA,cAAA,MAGA,uCACA,IAAA,KAEA,mCACA,IAAA,KAEA,0CACA,IAAA,KAEA,4DAAA,IAAA,MAAA,mEACA,IAAA,OtC0kVF,8DsCxkVE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBtC6kVF,yBA3YC,IAAA,YAOD,0BsC5rUA,qCACE,iBAAA,StCilVF,asCzkVE,SAAA,MACA,MAAA,EACA,KAAA,EtC6rUD,QAAA,KACD,QAAA,KsC3rUA,MAAA,IACE,UAAA,MtC6rUD,UAAA,MACD,WAAW,IsC1rUX,mBAAA,WACE,WAAA,WtC0kVA,OsC1kVA,KACA,SAAA,OACA,MAAA,KACA,iBAAA,KACA,cAAA,IACA,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBtC4rUD,QAAA,EACD,4BAAa,IsC1rUb,oBAAA,IACE,4BAAA,OAAA,CAAA,UAAA,CAAA,kBtC4rUD,oBAAA,OAAA,CAAA,UAAA,CAAA,kBsCzrUD,oBAAA,SAAA,CAAA,OAAA,CAAA,WACE,oBAAA,SAAA,CAAA,OAAA,CAAA,UAAA,CAAA,kBtC2rUD,kBAAA,WACD,UAAa,WsCvrUX,YAAA,GAAA,CAAA,OAAA,CAAA,UtC0kVF,yBsCxkVE,atC0rUD,MAAA,IsC7rUD,WAAA,KtCilVA,0BA/YC,asC1rUG,MAAA,IACE,WAAA,KtC+kVN,kBsCxkVE,QAAA,EtC0rUD,kBAAA,SACD,UAAgB,SAmZhB,mBsC1kVA,mBAAA,WAGI,WAAA,WACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,WAAA,KtC4rUJ,gCAiZE,QAAS,KAAK,KAAK,KAAK,KAG1B,qBC3rVC,mBAAA,WCuDG,WAAA,WFuvUH,QAAA,KC9yUA,WAAA,KCuDG,2BAAA,MF0vUH,UAAA,KCjzUA,YAAA,ICuDG,MAAA,eF+oVJ,wCA/YC,eAAA,KAkZD,wCA/YC,YAAA,EAmZD,qBC7sVC,mBAAA,WCuDG,WAAA,WFywUH,QAAA,ICh0UA,WAAA,MDmtVD,+BCntVC,UAAA,KCuDG,YAAA,IF+wUH,MAAA,QAkZD,2CA/YC,YAAA,EAmZD,0CC5tVC,YAAA,KCuDG,OAAA,EAAA,MAAA,MAAA,MF0qVJ,6BA/YC,QAAA,IAAA,EAAA,IAAA,EAkZD,uCA/YC,MAAA,KCr1UA,OAAA,KCuDG,OAAA,EFiyUH,YAAA,eCx1UA,WAAA,MCuDG,cAAA,EoCsFJ,wDAEI,MAAA,QtCqmVJ,uDsCvmVA,MAAA,QtC0mVA,uDA/YA,MAAA,QAkZA,8DACE,MAAO,QuCrvVT,8DACE,MAAA,QvCy2UF,wDAiZE,MAAO,QAET,yDACE,MAhZC,QAkZH,6DA/YC,MAAA,QAkZD,8DACE,MAAO,QAET,uDwCtwVA,MAAA,QxCywVA,yDwCzwVA,MAAA,QxC4wVA,uDA/YA,MAAA,QAkZA,yDACE,MAAO,QCtxVR,sDaGC,MAAA,QdwxVF,uDC3xVC,MAAA,QD8xVD,yDAjZC,MAAA,QAyZD,qCAnZC,MAAA,KCn5UA,iBAAA,QD0yVD,6CApZC,MAAA,qBA4ZD,mBAtZC,UAAA,MA8ZD,qBAxZC,UAAA,MAgaD,oBA1ZC,UAAA,MA6ZD,oCACE,Ycn0VA,Ed00VF,eACE,mBc30VA,Kd86UD,WAAA,KAgaD,eACE,mBc/0VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdi7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAiaD,eACE,mBcn1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdo7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAkaD,eACE,mBcv1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdu7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAmaD,eACE,mBc31VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBd07UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAoaD,eACE,mBc/1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBd67UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAqaD,eACE,mBcn2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBdg8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAsaD,eACE,mBcv2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdm8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAuaD,eACE,mBc32VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBds8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAwaD,eACE,mBc/2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdy8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAyaD,gBACE,mBcn3VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd48UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA0aD,gBACE,mBcv3VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd+8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gByCj8UD,gB3BTE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdw3VF,gBcx3VE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd88UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA8aD,gBcl4VE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdy9UF,gBA8aE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,KAAK,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBACjG,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,KAAK,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAE3G,gB0Cv4VA,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACE,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C04VF,gB0Cv4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C24VF,gB0Cx4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C24VF,gB0Cx4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C44VF,gB0C34VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C+4VF,gB0C74VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1Ci5VF,gB0C34VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C84VF,gBAnbC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB0Ct9UC,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C64VF,gBACE,mB0C54VE,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C+4VJ,gBAnbC,mBAAA,mBAAA,KAAA,wBACD,WAAY,mBAAA,KAAA,wB0Ct9UZ,WAAA,WAAA,KAAA,wBACE,WAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBACA,YAAA,W1C+4VF,sBAtbA,sBAubE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAChG,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAO1G,c2C57VE,SAAA,SACA,QAAA,KAAA,QAAA,a3C+7VA,U2C/7VA,M3Cg8VA,W2Ch8VA,KACA,mBAAA,WAAA,WAAA,W3Ck8VA,Q2Cl8VA,IAAA,K3Cm8VA,U2Cn8VA,KACA,YAAA,IACA,YAAA,KACA,MAAA,KACA,WAAA,KACA,iBAAA,kBACA,cAAA,IACA,QAAA,EACA,mCAAA,wBACA,2BAAA,wBAGA,4BAAA,K3CmgVD,oBAAA,K2ChgVC,4BAAA,OAAA,CAAA,kBAAA,oBAAA,OAAA,CAAA,kBACE,oBAAA,OAAA,CAAA,UACA,oBAAA,OAAA,CAAA,SAAA,CAAA,kB3Ck8VF,kB2Cj8VE,SACA,UAAA,S3CogVH,YAAA,OAAA,CAAA,UAicD,0BACE,cACE,UAAW,MACX,WAAY,KACZ,QAAS,IAAI,I2C/7Vf,UAAA,KAAA,YAAA,M3CmgVF,mB2C//UA,QAAA,E3Cm8VE,kBAAmB,SACX,UAAW,SAOrB,e2C/7VA,SAAA,M3Ci8VE,QAAS,K2C/7VT,QAAA,Y3C+/UD,QAAA,a2C3/UD,QAAA,YACE,QAAA,K3C+7VA,M2C97VE,K3C+7VF,W2C97VE,K3C+7VF,mBAlcC,W2C1/UD,WAAA,W3C87VA,Q2C77VE,EAAA,KAAA,EAAA,K3C87VF,U2C77VE,K3C87VF,YAlcC,K2Cz/UD,MAAA,K3C67VA,iB2C57VE,Q3C87VF,kBAlcC,O2Cx/UD,oBAAA,O3C47VA,e2C37VE,OACA,YAAA,O3C47VF,iBAlcC,QACF,wBAAA,cACD,cAAQ,Q2Cv/UR,gBAAA,cACE,YAAA,U3C47VF,yB2Cz7VE,eACA,MAAA,K3Cy/UD,UAAA,MACD,UAAQ,M2Ct/UR,cAAA,K3C47VA,sBAGA,2BAncA,wBAqcA,4BADA,yBAHA,mBAKE,mBAlcC,kBAAA,IAAA,wBC7lVF,WAAA,kBAAA,IAAA,wBCuDG,WAAA,UAAA,IAAA,wBFyiVH,WAAA,UAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBAqcD,sBCriWC,2BDuiWD,4BAjcC,OAAA,EAqcD,wBC3iWC,yBD0iWD,mBEn/VI,IAAA,EFy/VJ,sBChjWC,mBD+mVA,KAAA,IAocD,yBAjcC,wBClnVA,IAAA,KCuDG,KAAA,KDvDH,2BCuDG,OAAA,KFikVH,KAAA,KEjkVG,yBFokVH,IAAA,KC3nVA,MAAA,KD8nVA,4BC9nVA,MAAA,KCuDG,OAAA,MF+gWJ,oBCtkWC,SAAA,SCuDG,UAAA,KFglVH,QAAA,KAAA,EAAA,KAAA,ECvoVA,SAAA,OCuDG,cAAA,SFuhWJ,sBAjcC,aAAA,MACD,MAAA,QAmcE,YAAa,OA3bf,+CAmcE,MAAO,QAET,8CACE,MAlcC,QAocH,8CACE,MAAO,QAET,qD4CrlWE,MAAA,Q5CwlWF,qD4CrlWE,MAAA,Q5CwlWF,+CACE,M4CxlWA,Q5C0lWF,gDclmWE,MAAA,QdqmWF,oDcpmWE,MAAA,QdumWF,qDcrmWE,MAAA,QdwmWF,8CACE,MAAO,Q4ChmWP,gDACE,MAAA,Q5C0pVJ,8C4CrpVA,MAAA,Q5CkmWA,gD4C/lWE,MAAA,Q5CkmWF,6C4C/lWE,MAAA,Q5CkmWF,8C4C/lWE,MAAA,Q5CkmWF,gD4C/lWE,MAAA,Q5CumWF,uCAzcC,iBAAA,QAidD,W4C7lWE,QAAA,aACA,OAAA,K5CqpVD,mBAAA,WACS,WAAA,W4ClpVV,OAAA,IAAA,EACE,YAAA,OACA,OAAA,QACA,oBAAA,KACA,iBAAA,KACA,gBAAA,KACA,YAAA,KACA,iBAAA,QACA,cAAA,KACA,mBAAA,mBAAA,KAAA,wBACA,WAAA,mBAAA,KAAA,wBACA,WAAA,WAAA,KAAA,wBACA,WAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBAEA,YAAA,WACA,iB5C8lWF,iBAEE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,IAAI,EAAE,gB4C9lWhG,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gB5CspVJ,kBA4cE,iBAAkB,QAGpB,gB4C3lWA,SAAA,SAEI,QAAA,a5CipVH,MAAA,K4ChpVG,OAAA,KACE,aAAA,K5CkpVL,SAAA,OACD,UAAA,KA4cE,YAAa,KACb,MAAO,KACP,WAAY,OACZ,eA3cC,O6C7uVH,iBAAA,QACE,cAAA,I7C2rWF,2B6C3rWE,SAAA,SACA,IAAA,IACA,KAAA,IACA,MAAA,K7C+rWF,iBA7cC,QAAA,a6C7uVC,OAAA,KACE,cAAA,K7C6rWF,a6C5rWI,K7C6rWJ,U6C5rWI,K7C6rWJ,Y6C7rWI,K7C8rWJ,e6C9rWI,O7CisWN,kBACE,Q6C/rWI,a7CgsWJ,M6C/rWI,K7CgsWJ,O6ChsWI,K7CisWJ,a6CjsWI,I7CksWJ,Y6ClsWI,K7CmsWJ,SApdC,OACF,WAAA,O6ChwVD,gBAAA,KAqBI,eAAA,OAAA,OAAA,QAAA,cAAA,IAAA,QAAA,IACA,mBAAA,QAAA,KAAA,wBACA,WAAA,QAAA,KAAA,wBAGA,YAAA,Q7CssWJ,wBADA,wB6CjsWI,QAAA,I7C0sWJ,mC6CrsWI,iBAAA,Q7CwsWJ,0CACE,iB6CzsWE,Q7CgtWJ,iBACE,S6C7sWE,S7C8sWF,Q6C9sWE,YACA,QAAA,aAAA,QAAA,Y7CgtWF,Q6ChtWE,K7CitWF,O6CjtWE,KACA,QAAA,EACA,OAAA,EAAA,KAAA,SAAA,O7C2uVH,YAAA,OA0eD,yBACE,wBAveC,QAAA,I6CzxVH,iBAAA,EAiDM,kBAAA,E7C4uVL,kBAAA,E6C7xVD,UAAA,EAsDM,uBACA,QAAA,IAEA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,G7CwtWN,mBA1eC,QAAA,Y6CtuVG,QAAA,aACE,QAAA,YACA,QAAA,KACA,UAAA,K7CwuVL,UAAA,K6C3uVG,QAAA,IAAA,KAAA,KAAA,KAMI,SAAA,O7CwuVP,UAAA,KACD,MAAA,Q6CluVC,WAAA,OAEG,gBAAA,KACA,cAAA,SACA,OAAA,Q7CmuVH,eAAA,O6CluVG,oBAAA,KAAA,iBAAA,KACE,gBAAA,K7CquVH,YAAA,KACF,QAAA,G6C5uVA,mBAAA,IAAA,IAAA,wBASK,WAAA,IAAA,IAAA,wBAEA,iBAAA,EAAA,aAAA,E7CsuVL,SAAA,E6CjvVA,KAAA,EAcK,mBAAA,S7CktWJ,sB6CltWI,O7CsuVL,uBAAA,O6CnuVG,mBAAA,OACE,iBAAA,OACA,wBAAA,O7CquVL,cAAA,O6CvuVG,gBAAA,OAII,kBAAA,O7CsuVP,oBAAA,O6C1uVG,eAAA,OAOI,YAAA,O7CmtWN,Y6CntWM,Q7CuuVR,yB6ChuVA,mBAQE,UAAA,O7C2sWF,8B6ChtWI,QAAA,G7CmtWJ,yBA7eC,QAAA,MACD,MAAA,KA+eE,OAAQ,QACR,mBAAoB,kBAAkB,IAAI,wBAClC,WAAY,kBAAkB,IAAI,wBA7ezC,WAAA,UAAA,IAAA,wBCj2VF,WAAA,UAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBDo2VA,YAAA,UAgfD,oCA7eC,WAAA,IAgfD,0CA7eC,UAAA,KC12VA,MAAA,Q4C4IO,QAAA,E5C5IP,qD4C4IO,QAAA,E7CotWR,6BA7eC,UAAA,KCn3VA,cAAA,E4C4IO,aAAA,E5C5IP,yB4C4IO,6B7C6uVP,UAAA,OAifD,wCC12WC,YAAA,K4C4IO,mBAAA,YAAA,IAAA,wB7CmvVP,WAAA,YAAA,IAAA,wB6CnvVO,YAAA,Y5C5IP,mC4C4IO,kBAAA,S7CyvVP,UAAA,SAgfD,oDA7eC,cAAA,KCx4VA,aAAA,KDy3WD,+DCz3WC,YAAA,ED43WD,0DC53WC,kBAAA,S4C4IO,UAAA,S7CqvWR,uBA7eC,eAAA,KAgfD,wCA7eC,SAAA,MCv5VA,MAAA,E4C4IO,OAAA,E7C8wVP,KAAA,EAqfD,oEACE,MAAO,QA5eT,mE8C75VA,MAAA,Q9C84WA,wE8C34WE,MAAA,Q9C84WF,oE8C34WE,MAAA,Q9C84WF,mEA7eA,MAAA,QAgfA,0E8C14WE,MAAA,Q9C64WF,0E8C14WE,MAAA,Q9C64WF,oEA9eC,MAAA,Q8C15VD,mEACE,MAAA,QAEA,qEACE,MAAA,Q9C64WJ,yE8C14WI,MAAA,Q9C64WJ,0E8C14WI,MAAA,Q9C64WJ,mEA/eC,MAAA,QAkfD,qE8C14WI,MAAA,Q9C64WJ,mE8C14WI,MAAA,Q9C64WJ,qE8C14WI,MAAA,Q9C64WJ,kE8Cz4WA,MAAA,Q9C44WA,mEACE,M8C14WE,Q9C44WJ,qEACE,M8C14WE,Q9C64WJ,6DACE,M8C14WE,kB9Ck5WJ,e8Cv5WE,SAAA,S9Cy5WA,Q8Cx5WE,M9Cy5WF,M8Cx5WE,K9Cy5WF,OA/fC,I8Cx5VD,SAAA,O9Cy5WA,iB8Cx5WE,mB9Cy5WF,c8Cx5WE,IAIJ,2BACE,SAAA,S9Cw5WA,I8Cv5WE,E9Cw5WF,O8Cv5WE,E9Cw5WF,KA/fC,E8Cv5VD,iBAAA,Q9Cw5WA,mB8Cv5WE,MAAA,IAAA,OACA,WAAA,MAAA,IAAA,O9C05WJ,6BACE,iB8Cv5WE,Q9Cy5WJ,oCACE,S8Cv5WE,S9Cw5WF,I8Cv5WE,E9Cw5WF,OA/fC,EACF,KAAA,E8Cz6VD,QAAA,IACE,iBAAA,Q9C06WA,kB8Cz6WE,4BAAA,GAAA,OAAA,SACA,UAAA,4BAAA,GAAA,OAAA,SAEF,YAAA,IAAA,CAAA,M9C26WF,mCACE,SAjhBC,S8Cv5VD,IAAA,E9C06WA,O8Cz6WE,E9C06WF,K8Cz6WE,E9C06WF,QAjhBC,I8Cv5VD,iBAAA,Q9C06WA,kB8Cz6WE,kCAAA,GAAA,OAAA,SACA,UAAA,kCAAA,GAAA,OAAA,S9C05VH,YAAA,IAAA,CAAA,MAmhBD,+CACE,GACE,KAAM,EAhhBP,MAAA,E8C74VK,I9Cg5VP,KAAA,ICt/VA,MAAA,ICuCC,IFm9VD,KAAA,KC1/VA,MAAA,GAAA,uCDghXC,GEz+WA,KAAA,EF09VD,MAAA,E8C35VO,I9C85VP,KAAA,ICpgWA,MAAA,ICuCC,IFi+VD,KAAA,KCxgWA,MAAA,GAAA,qDD8hXC,GEv/WA,KAAA,EFw+VD,MAAA,E8Cz6VO,I9C46VP,KAAA,EClhWA,MAAA,ECuCC,IF++VD,KAAA,ECthWA,MAAA,IDyhWA,KCzhWA,KAAA,KD4iXG,MAAO,GC5iXV,6C6CsGO,G9C07VP,KAAA,EChiWA,MAAA,ECuCC,IF6/VD,KAAA,ECpiWA,MAAA,EDuiWA,ICviWA,KAAA,ED0jXG,MAAO,IA/gBV,KC3iWA,KAAA,K6CsGO,MAAA,G9Cg+WR,yCCtkXC,iBAAA,mBDykXD,qDACA,uDC1kXC,iBAAA,QD6kXD,wCC7kXC,iBAAA,oBDglXD,oDACA,sDCjlXC,iBAAA,QDolXD,6CCplXC,iBAAA,oBDulXD,yDACA,2DCxlXC,iBAAA,QD2lXD,yCC3lXC,iBAAA,mBD8lXD,qDACA,uDC/lXC,iBAAA,QDkmXD,wCClmXC,iBAAA,mBDqmXD,oDACA,sDCtmXC,iBAAA,QDymXD,+CCzmXC,iBAAA,mBD4mXD,2DACA,6DC7mXC,iBAAA,QDgnXD,+CChnXC,iBAAA,oBDmnXD,2DACA,6DCpnXC,iBAAA,QDunXD,yCCvnXC,iBAAA,mBD0nXD,qDACA,uDC3nXC,iBAAA,QD8nXD,wCC9nXC,iBAAA,qBDioXD,oDACA,sDCloXC,iBAAA,QDqoXD,0CCroXC,iBAAA,mBDwoXD,sDACA,wDAhhBA,iBAAA,QAmhBA,8CACE,iBAAkB,mB+CvoXpB,0D/C0oXA,4D+CxoXE,iBAAA,Q/C2oXF,+C+CxoXE,iBAAA,oB/C2oXF,2D+CxoXA,6DACE,iBAAA,Q/C2oXF,wCACE,iBAnhBC,oB+C1nWH,oD/CgpXA,sDACE,iB+C/oXE,Q/CipXJ,0CAxhBC,iBAAA,mBA2hBD,sDACA,wD+C9oXE,iBAAA,Q/CipXF,wC+C9oXE,iBAAA,mB/CipXF,oDACA,sD+C9oXA,iBAAA,Q/CipXA,0CACE,iB+ChpXA,oBAKF,sD/C8oXA,wD+C5oXE,iBAAA,Q/C+oXF,uC+C1oXA,iBAAA,mB/C6oXA,mDACA,qDA5hBC,iBAAA,QA+hBD,wC+CxoXE,iBAAA,mB/C2oXF,oD+CtoXA,sDACE,iBAAA,Q/CyoXF,0CACE,iBA/hBC,oBAiiBH,sDACA,wDACE,iBAhiBC,QAuiBH,cACE,SAliBC,S+ChnWD,QAAA,a/CopXA,M+CppXQ,K/CqpXR,OAAQ,KACR,kBAniBC,aAAA,OAAA,OAAA,S+ClnWD,UAAA,aAAA,OAAA,OAAA,S/CwpXF,gCACE,G+CxpXA,kBAAA,eAAQ,UAAA,gB/C6pXV,wBACE,GACE,kB+C9pXM,e/CynWP,UAAA,gBAyiBH,oBACE,S+C1qXQ,S/C2qXR,MAAO,KACP,OAjkBC,K+C1mWD,aAAA,Q/C6qXA,Q+C7qXQ,E/C8qXR,QAAS,EACT,kBAlkBC,sCAAA,OAAA,wBAAA,SAAA,K+C5mWD,UAAA,sCAAA,OAAA,wBAAA,SAAA,K/CirXF,sBACE,aAnkBC,kB+C9mWD,kBAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,KAAQ,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CqrXV,sB+CprXE,aAAA,kB/CsrXA,kB+CtrXQ,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CurXA,U+CvrXA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CyrXV,sBACE,a+CzrXQ,kB/C0rXR,kB+C1rXQ,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CqnWP,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,KAwkBH,sBACE,a+C7rXQ,kB/C8rXR,kBAvkBC,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K+CtnWD,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CgsXF,yDACE,MAvkBD,kBAAA,e+CvnWD,UAAA,e/CksXE,IAvkBC,kBAAA,e+CznWD,UAAA,e/CosXA,M+CnsXA,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CgoWN,UAAA,eA0kBD,MAvkBC,kBAAA,e+CjoWD,UAAA,e/C4sXA,IAvkBD,kBAAA,e+C3oWD,UAAA,e/CstXE,MA3lBC,kBAAA,e+CznWD,UAAA,e/CwtXA,G+CvtXA,kBAAA,gBAAO,UAAA,iB/C4tXT,iDACE,M+C3tXA,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CooWN,UAAA,e+CjoWH,MACE,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CuoWN,UAAA,eA8lBD,MA3lBC,kBAAA,e+CxoWD,UAAA,e/CuuXA,I+CtuXA,kBAAA,eAAO,UAAA,e/C8oWR,M+CnpWD,kBAAA,eACE,UAAA,e/CkvXA,G+CjvXA,kBAAA,gBAAO,UAAA,iB/CsvXT,oDACE,K+CrvXA,QAAA,E/CwvXA,I+CvvXA,QAAA,E/C0vXA,IA5mBD,QAAA,E+C1oWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,KAAO,QAAA,G/CiwXT,4CACE,K+ChwXA,QAAA,E/CmwXA,IA5mBD,QAAA,E+C3pWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,KAAO,QAAA,G/CoxXT,oDACE,KA7nBD,QAAA,E+CnpWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,G/C6xXT,4CACE,KA7nBD,QAAA,E+CpqWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,G/C8yXT,oDACE,KA9oBD,QAAA,E+C5pWC,IACA,QAAA,EAEA,IACA,QAAA,EAEA,I/C+pWD,QAAA,E+C5pWG,IACA,QAAA,G/CgzXJ,4C+C3yXA,KACE,QAAA,EAEA,IACA,QAAA,EAEA,I/C6pWD,QAAA,E+C1pWG,IACA,QAAA,EAEA,IACA,QAAA,G/C+yXJ,oDACE,K+C5yXE,QAAA,EAEA,IACA,QAAA,E/C+yXF,IAjpBD,QAAA,E+CzpWG,I/C4pWH,QAAA,E+CzpWK,KACA,QAAA,G/CgzXN,4CACE,KAnpBD,QAAA,E+CvpWG,I/C0pWH,QAAA,E+CvpWK,IACA,QAAA,E/C+yXJ,I+C7yXI,QAAA,E/C0pWL,K+CrpWD,QAAA,G/C+yXA,wBACE,SAvpBC,S+CvpWD,IAAA,E/CgzXA,K+ChzXO,I/CizXP,MAAO,IACP,OAxpBC,K+CzpWD,SAAA,O/CmzXA,a+CnzXO,Q/CqzXT,6CAxpBC,KAAA,M+ChqWD,MAAA,MACE,mBAAA,WAAO,WAAA,W/C6zXT,6B+C5zXE,SAAA,S/C8zXA,Q+C9zXO,a/C+zXP,MAAO,IACP,OAtqBC,K+CzpWD,SAAA,O/Ci0XA,a+Cj0XO,Q/Cm0XT,kDAtqBC,SAAA,S+C1pWD,IAAA,EACE,MAAA,E/Cm0XA,O+Cn0XO,E/Co0XP,MAAO,KACP,OAxqBC,K+C5pWD,mBAAA,WAAO,WAAA,W/Cu0XP,a+Cv0XO,Q/Cw0XP,aAzqBC,M+C9pWD,aAAA,I/Cy0XA,oB+Cz0XO,sB/C00XP,c+C10XO,I/C20XP,kBA1qBC,KACF,UAAA,KA4qBD,+CACE,M+Cj1XO,K/Cm1XT,oE+Cl1XE,KAAA,E/Co1XA,mB+Cp1XO,sB/Cq1XP,kB+Cr1XO,e/C+pWN,UAAA,e+C9pWD,kBAAA,uBAAA,OAAA,wBAAA,SAAA,KAAO,UAAA,uBAAA,OAAA,wBAAA,SAAA,K/Cy1XT,gDAvrBC,MAAA,MA0rBD,qEACE,KAAM,MACN,kBAAmB,sBACnB,kBAxrBC,gBCr1WF,UAAA,gB8C+LO,kBAAA,wBAAA,OAAA,wBAAA,SAAA,K/CypWP,UAAA,wBAAA,OAAA,wBAAA,SAAA,KA0rBD,0CAvrBC,KC31WA,kBAAA,e8C+LO,UAAA,e9C/LP,I8C+LO,kBAAA,c/CkqWP,UAAA,c+ClqWO,G/CqqWP,kBAAA,eCp2WA,UAAA,gBAAA,kC8C+LO,K/C2qWP,kBAAA,eC12WA,UAAA,eD62WA,IC72WA,kBAAA,c8C+LO,UAAA,c9C/LP,G8C+LO,kBAAA,e/CorWP,UAAA,gBA2rBD,2CC9iYC,K8C+LO,kBAAA,gB/C0rWP,UAAA,gB+C1rWO,I/C6rWP,kBAAA,aC53WA,UAAA,aD+3WA,GC/3WA,kBAAA,gB8C+LO,UAAA,iB/C63XR,mCAvrBC,KCr4WA,kBAAA,gB8C+LO,UAAA,gB9C/LP,I8C+LO,kBAAA,a/C4sWP,UAAA,a+C5sWO,G/C+sWP,kBAAA,gBACD,UAAA,iBAgsBA,8CgDtkYE,aAAA,QhDg5WF,6CgD54WA,aAAA,QhDwkYA,kDiB/jYE,aAAA,QjBkkYF,8CgDtkYE,aAAA,QhDykYF,6CA1rBC,aAAA,QA6rBD,oDA1rBC,aAAA,QgDz4WD,oDACE,aAAA,QhDwkYF,8CgDxkYE,aAAA,QhD2kYF,6CACE,agD3kYA,QhD6kYF,+CACE,agD7kYA,QhD+kYF,mDgD5kYE,aAAA,QhD+kYF,oDgD5kYE,aAAA,QhD+kYF,6CgD7kYE,aAAA,QhDglYF,+CIpjYE,aAAA,Q4CzBA,6CACE,aAAA,QhD+4WJ,+CgD14WA,aAAA,QhDglYA,4CgD9kYE,aAAA,QhDilYF,6CgD9kYE,aAAA,QhDilYF,+CInkYE,aAAA,QJ4kYF,YACE,MAAO,KgDnlYP,mBAAA,WACA,WAAA,WhDulYF,iBAvsBC,MAAA,gBACD,iBAAa,KgD54Wb,cAAA,IAAA,MAAA,gBACE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,mBAAA,OAAA,IAAA,wBACA,WAAA,OAAA,IAAA,wBhDulYA,YgDtlYA,OhDwlYF,4BgDvlYE,cAAA,KhD2lYF,wBgDzlYE,SAAA,ShD84WD,QAAA,YgD34WD,QAAA,aACE,QAAA,YACA,QAAA,KACA,MAAA,KhD64WD,OAAA,KACD,mBAAW,WgD14WX,WAAA,WACE,QAAA,EAAA,KACA,SAAA,OACA,UAAA,KAEA,cAAA,SACA,YAAA,OAAA,OAAA,QhD24WD,mBAAA,IAAA,IAAA,wBIj7WC,WAAA,IAAA,IAAA,wBAEE,kBAAA,OACA,oBAAA,OJm7WH,eAAA,OIj7WC,YAAA,OACE,YAAA,MAAA,CAAA,iBANF,+BJyoYA,iBAAkB,KAGpB,uBIvoYE,MAAA,IACE,UAAA,IJ27WH,mBAAA,WgDz5WC,WAAA,WACE,cAAA,KhD25WH,SAAA,OACD,YAAY,IgDv5WZ,cAAA,SACE,YAAA,OhDymYF,yBgDrmYE,mBAAA,W/BpFA,WAAA,WjB8+WD,cAAA,KgD/5WD,SAAA,OASI,MAAA,gBhDy5WH,cAAA,SgDv5WG,YAAA,OhD05WH,iBAAA,EACD,kBAAgB,EgDp5WhB,kBAAA,ElCjHE,UAAA,EkCiHF,uBlCjHE,SAAA,Sd0tYA,IAAK,KA/sBN,MAAA,KgD15WD,MAAA,gBAQI,oBAAA,KACA,iBAAA,KhDq5WH,gBAAA,KACS,YAAA,KgDj5WV,mBAAA,IAAA,IAAA,wBAEI,WAAA,IAAA,IAAA,wBACA,kBAAA,UhDk5WH,UAAA,UgD74WD,YAAA,SAAA,CAAA,IhDimYA,gDgD9lYE,SAAA,ShDg5WD,IAAA,YgD74WC,MAAA,EAAA,sBAII,OAAA,EhD+lYJ,QgD/lYI,EAAA,KACA,SAAA,OhD+4WL,mBAAA,OAAA,IAAA,wBgD34WC,WAAA,OAAA,IAAA,wBhD84WD,YAAA,OAotBD,4BADA,6BAEE,QAAS,MACT,QAjtBC,IAmtBH,4BgDxlYI,MAAA,KAGA,4BhDwlYJ,6BgDvlYM,QAAA,MhDy4WL,QAAA,IAmtBD,4BAhtBC,MAAA,KAmtBD,4BAhtBC,OAAA,KAotBD,yBgD1mYA,QAAA,M/B/JE,MAAA,KjB2jXD,QAAA,KAAA,KAAA,EAAA,KACD,OAAA,KAAA,MAAA,EAAA,MAktBE,WAAY,MACZ,WAAY,IAAI,MAAM,gBAExB,mCAhtBA,YAAQ,IAmtBR,+CACE,YiD5wYA,EjD+wYF,oBc1xYE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBd8xYF,qCiD5wYE,mBAAA,KACA,WAAA,KjD+wYF,0CiD5wYE,WAAA,EACA,cAAA,EjDgxYF,yCiD9wYE,aAAA,MAAA,YAAA,MjDmxYF,sBACE,OiDlxYA,KAEA,WAAA,KACA,cAAA,KjDmxYF,8CiD/wYE,OAAA,KjDkxYF,qEiD1yYA,IAAA,KA6BI,kBAAA,eACA,UAAA,ejDwjXJ,4CiDnjXA,OAAA,KAOA,yCACE,MAAA,KACA,iBAAA,QjD8wYA,ciD9wYA,IAAA,MAAA,sBjDgxYF,oDA1tBA,cAAS,KA6tBT,uDA1tBC,iBAAA,QA6tBD,iDiD5wYI,MAAA,qBjD+wYJ,+CiD5wYI,MAAA,KjD+wYJ,iDiD5wYI,WAAA,IAAA,MAAA,sBAGA,WACE,SAAA,MjDqjXL,QAAA,MiDhjXC,QAAA,MACE,MAAA,MnChFF,mBAAA,WAAA,WAAA,WdmoXD,QAAA,IAAA,EiD7iXG,OAAA,EACE,WAAA,KACA,2BAAA,MjD+iXL,UAAA,KiD7iXK,MAAA,gBACE,WAAA,KjD+iXP,WAAA,OiDpjXG,iBAAA,KASI,cAAA,IjD8iXP,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACD,WAAc,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBiDxiXd,QAAA,EACE,mCAAA,uBjD0iXD,2BAAA,uBACD,4BAAY,IiDviXZ,oBAAA,IACE,4BAAA,OAAA,CAAA,UAAA,CAAA,kBACA,oBAAA,OAAA,CAAA,UAAA,CAAA,kBACA,oBAAA,SAAA,CAAA,OAAA,CAAA,WACA,oBAAA,SAAA,CAAA,OAAA,CAAA,UAAA,CAAA,kBjDwwYA,kBiDxwYA,SACA,UAAA,SjD0iXF,YAAA,SAAiB,CAAA,OAAA,CAAA,WAkuBjB,yBA/tBC,WAAA,IACD,cAAgB,IAmuBhB,gBiDrwYE,WAAA,QACA,QAAA,EACA,kBAAA,SjDuiXD,UAAA,SAmuBD,mBiDnwYE,WAAA,QACA,QAAA,EAGA,kBAAA,SjDmiXD,UAAA,SAmuBD,gBiDhwYM,SAAA,SjDmiXN,kBAiuBE,SAAU,SACV,QAAS,MACT,OAAQ,KACR,QAhuBC,EAAA,KiD5hXH,SAAA,OAEI,YAAA,KACA,MAAA,QjD6hXH,gBAAA,KiDxhXK,cAAA,SACE,YAAA,OjD0hXP,oBAAA,KiDrhXK,iBAAA,KACE,gBAAA,KjDuhXP,YAAA,KAkuBD,wBA/tBC,iBAAA,KAkuBD,2BA/tBC,SAAA,SiD5iXD,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA6BI,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA7BJ,4BAiCI,MAAA,0BjDihXH,OAAA,QAkuBD,kCACE,iBAAkB,kBAEpB,uCACE,MAAO,gBAGT,uBACE,iBAAkB,KAGpB,qBACE,QAAS,aACT,MAAO,KACP,mBAAoB,WACZ,WAAY,WACpB,cAAe,KACf,MAAO,gBAGT,uBACE,MAAO,MAGT,qBACE,MAAO,MACP,MAAO,KACP,OAAQ,KACR,OAAQ,IAAI,EACZ,iBAAkB,2TAGpB,mBACE,MAAO,MACP,QAAS,KAAK,EACd,WAAY,QACZ,UAAW,KAEb,qCACE,OAAQ,KACR,QAAS,EAAE,KACX,YAAa,KAOf,mCACE,MAAO,KACP,iBAAkB,QAEpB,gDACE,iBAAkB,QAEpB,oDACE,MAAO,+BAET,+DACE,MAAO,qBAET,+CACE,iBAAkB,QAEpB,6CACE,MAAO,KAET,6CACE,iBAAkB","file":"mdui.min.css","sourcesContent":["/*!\n * mdui v0.4.3 (https://mdui.org)\n * Copyright 2016-2019 zdhxiong\n * Licensed under MIT\n */\n/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-color-theme {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-color-theme-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-color-green {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-color-green-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-color-lime {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-color-orange {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-color-purple {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-color-red {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-color-red-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-color-yellow {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-color-green-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-color-red-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n.mdui-color-black {\n background-color: #000000 !important;\n color: #ffffff !important;\n}\n.mdui-color-white {\n background-color: #FFFFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-transparent {\n background-color: transparent !important;\n}\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-text-color-theme {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-50 {\n color: #FFF8E1 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-100 {\n color: #FFECB3 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-200 {\n color: #FFE082 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-300 {\n color: #FFD54F !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-400 {\n color: #FFCA28 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-500 {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-600 {\n color: #FFB300 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-700 {\n color: #FFA000 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-800 {\n color: #FF8F00 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-900 {\n color: #FF6F00 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-50 {\n color: #E3F2FD !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-100 {\n color: #BBDEFB !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-200 {\n color: #90CAF9 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-300 {\n color: #64B5F6 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-400 {\n color: #42A5F5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-500 {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-600 {\n color: #1E88E5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-700 {\n color: #1976D2 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-800 {\n color: #1565C0 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-900 {\n color: #0D47A1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 {\n color: #ECEFF1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 {\n color: #CFD8DC !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 {\n color: #B0BEC5 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 {\n color: #90A4AE !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 {\n color: #78909C !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 {\n color: #546E7A !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 {\n color: #455A64 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 {\n color: #37474F !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 {\n color: #263238 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-50 {\n color: #EFEBE9 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-100 {\n color: #D7CCC8 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-200 {\n color: #BCAAA4 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-300 {\n color: #A1887F !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-400 {\n color: #8D6E63 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-500 {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-600 {\n color: #6D4C41 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-700 {\n color: #5D4037 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-800 {\n color: #4E342E !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-900 {\n color: #3E2723 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-50 {\n color: #E0F7FA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-100 {\n color: #B2EBF2 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-200 {\n color: #80DEEA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-300 {\n color: #4DD0E1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-400 {\n color: #26C6DA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-500 {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-600 {\n color: #00ACC1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-700 {\n color: #0097A7 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-800 {\n color: #00838F !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-900 {\n color: #006064 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 {\n color: #FBE9E7 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 {\n color: #FFCCBC !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 {\n color: #FFAB91 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 {\n color: #FF8A65 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 {\n color: #FF7043 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 {\n color: #F4511E !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 {\n color: #E64A19 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 {\n color: #D84315 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 {\n color: #BF360C !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 {\n color: #EDE7F6 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 {\n color: #D1C4E9 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 {\n color: #B39DDB !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 {\n color: #9575CD !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 {\n color: #7E57C2 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 {\n color: #5E35B1 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 {\n color: #512DA8 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 {\n color: #4527A0 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 {\n color: #311B92 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-50 {\n color: #E8F5E9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-100 {\n color: #C8E6C9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-200 {\n color: #A5D6A7 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-300 {\n color: #81C784 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-400 {\n color: #66BB6A !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-500 {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-600 {\n color: #43A047 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-700 {\n color: #388E3C !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-800 {\n color: #2E7D32 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-900 {\n color: #1B5E20 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-50 {\n color: #FAFAFA !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-100 {\n color: #F5F5F5 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-200 {\n color: #EEEEEE !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-300 {\n color: #E0E0E0 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-400 {\n color: #BDBDBD !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-500 {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-600 {\n color: #757575 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-700 {\n color: #616161 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-800 {\n color: #424242 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-900 {\n color: #212121 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-50 {\n color: #E8EAF6 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-100 {\n color: #C5CAE9 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-200 {\n color: #9FA8DA !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-300 {\n color: #7986CB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-400 {\n color: #5C6BC0 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-500 {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-600 {\n color: #3949AB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-700 {\n color: #303F9F !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-800 {\n color: #283593 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-900 {\n color: #1A237E !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-50 {\n color: #E1F5FE !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-100 {\n color: #B3E5FC !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-200 {\n color: #81D4FA !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-300 {\n color: #4FC3F7 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-400 {\n color: #29B6F6 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-500 {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-600 {\n color: #039BE5 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-700 {\n color: #0288D1 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-800 {\n color: #0277BD !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-900 {\n color: #01579B !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-50 {\n color: #F1F8E9 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-100 {\n color: #DCEDC8 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-200 {\n color: #C5E1A5 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-300 {\n color: #AED581 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-400 {\n color: #9CCC65 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-500 {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-600 {\n color: #7CB342 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-700 {\n color: #689F38 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-800 {\n color: #558B2F !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-900 {\n color: #33691E !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-50 {\n color: #F9FBE7 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-100 {\n color: #F0F4C3 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-200 {\n color: #E6EE9C !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-300 {\n color: #DCE775 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-400 {\n color: #D4E157 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-500 {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-600 {\n color: #C0CA33 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-700 {\n color: #AFB42B !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-800 {\n color: #9E9D24 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-900 {\n color: #827717 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-50 {\n color: #FFF3E0 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-100 {\n color: #FFE0B2 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-200 {\n color: #FFCC80 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-300 {\n color: #FFB74D !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-400 {\n color: #FFA726 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-500 {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-600 {\n color: #FB8C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-700 {\n color: #F57C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-800 {\n color: #EF6C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-900 {\n color: #E65100 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-50 {\n color: #FCE4EC !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-100 {\n color: #F8BBD0 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-200 {\n color: #F48FB1 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-300 {\n color: #F06292 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-400 {\n color: #EC407A !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-500 {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-600 {\n color: #D81B60 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-700 {\n color: #C2185B !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-800 {\n color: #AD1457 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-900 {\n color: #880E4F !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-50 {\n color: #F3E5F5 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-100 {\n color: #E1BEE7 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-200 {\n color: #CE93D8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-300 {\n color: #BA68C8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-400 {\n color: #AB47BC !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-500 {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-600 {\n color: #8E24AA !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-700 {\n color: #7B1FA2 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-800 {\n color: #6A1B9A !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-900 {\n color: #4A148C !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-50 {\n color: #FFEBEE !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-100 {\n color: #FFCDD2 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-200 {\n color: #EF9A9A !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-300 {\n color: #E57373 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-400 {\n color: #EF5350 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-500 {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-600 {\n color: #E53935 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-700 {\n color: #D32F2F !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-800 {\n color: #C62828 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-900 {\n color: #B71C1C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-50 {\n color: #E0F2F1 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-100 {\n color: #B2DFDB !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-200 {\n color: #80CBC4 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-300 {\n color: #4DB6AC !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-400 {\n color: #26A69A !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-500 {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-600 {\n color: #00897B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-700 {\n color: #00796B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-800 {\n color: #00695C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-900 {\n color: #004D40 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-50 {\n color: #FFFDE7 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-100 {\n color: #FFF9C4 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-200 {\n color: #FFF59D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-300 {\n color: #FFF176 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-400 {\n color: #FFEE58 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-500 {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-600 {\n color: #FDD835 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-700 {\n color: #FBC02D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-800 {\n color: #F9A825 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-text-color-theme-accent {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a100 {\n color: #FFE57F !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a200 {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a400 {\n color: #FFC400 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a700 {\n color: #FFAB00 !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-accent {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a100 {\n color: #82B1FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a200 {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a400 {\n color: #2979FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a700 {\n color: #2962FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-accent {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a100 {\n color: #84FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a200 {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a400 {\n color: #00E5FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a700 {\n color: #00B8D4 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 {\n color: #FF9E80 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 {\n color: #FF3D00 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 {\n color: #DD2C00 !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 {\n color: #B388FF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 {\n color: #651FFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 {\n color: #6200EA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-accent {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a100 {\n color: #B9F6CA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a200 {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a400 {\n color: #00E676 !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a700 {\n color: #00C853 !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-accent {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a100 {\n color: #8C9EFF !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a200 {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a400 {\n color: #3D5AFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a700 {\n color: #304FFE !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-accent {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 {\n color: #80D8FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 {\n color: #00B0FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 {\n color: #0091EA !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-accent {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a100 {\n color: #CCFF90 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a200 {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a400 {\n color: #76FF03 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a700 {\n color: #64DD17 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-accent {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a100 {\n color: #F4FF81 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a200 {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a400 {\n color: #C6FF00 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a700 {\n color: #AEEA00 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-accent {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a100 {\n color: #FFD180 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a200 {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a400 {\n color: #FF9100 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a700 {\n color: #FF6D00 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-accent {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a100 {\n color: #FF80AB !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a200 {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a400 {\n color: #F50057 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a700 {\n color: #C51162 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-accent {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a100 {\n color: #EA80FC !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a200 {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a400 {\n color: #D500F9 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a700 {\n color: #AA00FF !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-accent {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a100 {\n color: #FF8A80 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a200 {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a400 {\n color: #FF1744 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a700 {\n color: #D50000 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-accent {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a100 {\n color: #A7FFEB !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a200 {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a700 {\n color: #00BFA5 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-accent {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a100 {\n color: #FFFF8D !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a200 {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a400 {\n color: #FFEA00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-50 {\n color: #FFF8E1 !important;\n}\n.mdui-text-color-amber-100 {\n color: #FFECB3 !important;\n}\n.mdui-text-color-amber-200 {\n color: #FFE082 !important;\n}\n.mdui-text-color-amber-300 {\n color: #FFD54F !important;\n}\n.mdui-text-color-amber-400 {\n color: #FFCA28 !important;\n}\n.mdui-text-color-amber-500 {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-600 {\n color: #FFB300 !important;\n}\n.mdui-text-color-amber-700 {\n color: #FFA000 !important;\n}\n.mdui-text-color-amber-800 {\n color: #FF8F00 !important;\n}\n.mdui-text-color-amber-900 {\n color: #FF6F00 !important;\n}\n.mdui-text-color-blue {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-50 {\n color: #E3F2FD !important;\n}\n.mdui-text-color-blue-100 {\n color: #BBDEFB !important;\n}\n.mdui-text-color-blue-200 {\n color: #90CAF9 !important;\n}\n.mdui-text-color-blue-300 {\n color: #64B5F6 !important;\n}\n.mdui-text-color-blue-400 {\n color: #42A5F5 !important;\n}\n.mdui-text-color-blue-500 {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-600 {\n color: #1E88E5 !important;\n}\n.mdui-text-color-blue-700 {\n color: #1976D2 !important;\n}\n.mdui-text-color-blue-800 {\n color: #1565C0 !important;\n}\n.mdui-text-color-blue-900 {\n color: #0D47A1 !important;\n}\n.mdui-text-color-blue-grey {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-50 {\n color: #ECEFF1 !important;\n}\n.mdui-text-color-blue-grey-100 {\n color: #CFD8DC !important;\n}\n.mdui-text-color-blue-grey-200 {\n color: #B0BEC5 !important;\n}\n.mdui-text-color-blue-grey-300 {\n color: #90A4AE !important;\n}\n.mdui-text-color-blue-grey-400 {\n color: #78909C !important;\n}\n.mdui-text-color-blue-grey-500 {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-600 {\n color: #546E7A !important;\n}\n.mdui-text-color-blue-grey-700 {\n color: #455A64 !important;\n}\n.mdui-text-color-blue-grey-800 {\n color: #37474F !important;\n}\n.mdui-text-color-blue-grey-900 {\n color: #263238 !important;\n}\n.mdui-text-color-brown {\n color: #795548 !important;\n}\n.mdui-text-color-brown-50 {\n color: #EFEBE9 !important;\n}\n.mdui-text-color-brown-100 {\n color: #D7CCC8 !important;\n}\n.mdui-text-color-brown-200 {\n color: #BCAAA4 !important;\n}\n.mdui-text-color-brown-300 {\n color: #A1887F !important;\n}\n.mdui-text-color-brown-400 {\n color: #8D6E63 !important;\n}\n.mdui-text-color-brown-500 {\n color: #795548 !important;\n}\n.mdui-text-color-brown-600 {\n color: #6D4C41 !important;\n}\n.mdui-text-color-brown-700 {\n color: #5D4037 !important;\n}\n.mdui-text-color-brown-800 {\n color: #4E342E !important;\n}\n.mdui-text-color-brown-900 {\n color: #3E2723 !important;\n}\n.mdui-text-color-cyan {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-50 {\n color: #E0F7FA !important;\n}\n.mdui-text-color-cyan-100 {\n color: #B2EBF2 !important;\n}\n.mdui-text-color-cyan-200 {\n color: #80DEEA !important;\n}\n.mdui-text-color-cyan-300 {\n color: #4DD0E1 !important;\n}\n.mdui-text-color-cyan-400 {\n color: #26C6DA !important;\n}\n.mdui-text-color-cyan-500 {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-600 {\n color: #00ACC1 !important;\n}\n.mdui-text-color-cyan-700 {\n color: #0097A7 !important;\n}\n.mdui-text-color-cyan-800 {\n color: #00838F !important;\n}\n.mdui-text-color-cyan-900 {\n color: #006064 !important;\n}\n.mdui-text-color-deep-orange {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-50 {\n color: #FBE9E7 !important;\n}\n.mdui-text-color-deep-orange-100 {\n color: #FFCCBC !important;\n}\n.mdui-text-color-deep-orange-200 {\n color: #FFAB91 !important;\n}\n.mdui-text-color-deep-orange-300 {\n color: #FF8A65 !important;\n}\n.mdui-text-color-deep-orange-400 {\n color: #FF7043 !important;\n}\n.mdui-text-color-deep-orange-500 {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-600 {\n color: #F4511E !important;\n}\n.mdui-text-color-deep-orange-700 {\n color: #E64A19 !important;\n}\n.mdui-text-color-deep-orange-800 {\n color: #D84315 !important;\n}\n.mdui-text-color-deep-orange-900 {\n color: #BF360C !important;\n}\n.mdui-text-color-deep-purple {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-50 {\n color: #EDE7F6 !important;\n}\n.mdui-text-color-deep-purple-100 {\n color: #D1C4E9 !important;\n}\n.mdui-text-color-deep-purple-200 {\n color: #B39DDB !important;\n}\n.mdui-text-color-deep-purple-300 {\n color: #9575CD !important;\n}\n.mdui-text-color-deep-purple-400 {\n color: #7E57C2 !important;\n}\n.mdui-text-color-deep-purple-500 {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-600 {\n color: #5E35B1 !important;\n}\n.mdui-text-color-deep-purple-700 {\n color: #512DA8 !important;\n}\n.mdui-text-color-deep-purple-800 {\n color: #4527A0 !important;\n}\n.mdui-text-color-deep-purple-900 {\n color: #311B92 !important;\n}\n.mdui-text-color-green {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-50 {\n color: #E8F5E9 !important;\n}\n.mdui-text-color-green-100 {\n color: #C8E6C9 !important;\n}\n.mdui-text-color-green-200 {\n color: #A5D6A7 !important;\n}\n.mdui-text-color-green-300 {\n color: #81C784 !important;\n}\n.mdui-text-color-green-400 {\n color: #66BB6A !important;\n}\n.mdui-text-color-green-500 {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-600 {\n color: #43A047 !important;\n}\n.mdui-text-color-green-700 {\n color: #388E3C !important;\n}\n.mdui-text-color-green-800 {\n color: #2E7D32 !important;\n}\n.mdui-text-color-green-900 {\n color: #1B5E20 !important;\n}\n.mdui-text-color-grey {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-50 {\n color: #FAFAFA !important;\n}\n.mdui-text-color-grey-100 {\n color: #F5F5F5 !important;\n}\n.mdui-text-color-grey-200 {\n color: #EEEEEE !important;\n}\n.mdui-text-color-grey-300 {\n color: #E0E0E0 !important;\n}\n.mdui-text-color-grey-400 {\n color: #BDBDBD !important;\n}\n.mdui-text-color-grey-500 {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-600 {\n color: #757575 !important;\n}\n.mdui-text-color-grey-700 {\n color: #616161 !important;\n}\n.mdui-text-color-grey-800 {\n color: #424242 !important;\n}\n.mdui-text-color-grey-900 {\n color: #212121 !important;\n}\n.mdui-text-color-indigo {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-50 {\n color: #E8EAF6 !important;\n}\n.mdui-text-color-indigo-100 {\n color: #C5CAE9 !important;\n}\n.mdui-text-color-indigo-200 {\n color: #9FA8DA !important;\n}\n.mdui-text-color-indigo-300 {\n color: #7986CB !important;\n}\n.mdui-text-color-indigo-400 {\n color: #5C6BC0 !important;\n}\n.mdui-text-color-indigo-500 {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-600 {\n color: #3949AB !important;\n}\n.mdui-text-color-indigo-700 {\n color: #303F9F !important;\n}\n.mdui-text-color-indigo-800 {\n color: #283593 !important;\n}\n.mdui-text-color-indigo-900 {\n color: #1A237E !important;\n}\n.mdui-text-color-light-blue {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-50 {\n color: #E1F5FE !important;\n}\n.mdui-text-color-light-blue-100 {\n color: #B3E5FC !important;\n}\n.mdui-text-color-light-blue-200 {\n color: #81D4FA !important;\n}\n.mdui-text-color-light-blue-300 {\n color: #4FC3F7 !important;\n}\n.mdui-text-color-light-blue-400 {\n color: #29B6F6 !important;\n}\n.mdui-text-color-light-blue-500 {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-600 {\n color: #039BE5 !important;\n}\n.mdui-text-color-light-blue-700 {\n color: #0288D1 !important;\n}\n.mdui-text-color-light-blue-800 {\n color: #0277BD !important;\n}\n.mdui-text-color-light-blue-900 {\n color: #01579B !important;\n}\n.mdui-text-color-light-green {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-50 {\n color: #F1F8E9 !important;\n}\n.mdui-text-color-light-green-100 {\n color: #DCEDC8 !important;\n}\n.mdui-text-color-light-green-200 {\n color: #C5E1A5 !important;\n}\n.mdui-text-color-light-green-300 {\n color: #AED581 !important;\n}\n.mdui-text-color-light-green-400 {\n color: #9CCC65 !important;\n}\n.mdui-text-color-light-green-500 {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-600 {\n color: #7CB342 !important;\n}\n.mdui-text-color-light-green-700 {\n color: #689F38 !important;\n}\n.mdui-text-color-light-green-800 {\n color: #558B2F !important;\n}\n.mdui-text-color-light-green-900 {\n color: #33691E !important;\n}\n.mdui-text-color-lime {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-50 {\n color: #F9FBE7 !important;\n}\n.mdui-text-color-lime-100 {\n color: #F0F4C3 !important;\n}\n.mdui-text-color-lime-200 {\n color: #E6EE9C !important;\n}\n.mdui-text-color-lime-300 {\n color: #DCE775 !important;\n}\n.mdui-text-color-lime-400 {\n color: #D4E157 !important;\n}\n.mdui-text-color-lime-500 {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-600 {\n color: #C0CA33 !important;\n}\n.mdui-text-color-lime-700 {\n color: #AFB42B !important;\n}\n.mdui-text-color-lime-800 {\n color: #9E9D24 !important;\n}\n.mdui-text-color-lime-900 {\n color: #827717 !important;\n}\n.mdui-text-color-orange {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-50 {\n color: #FFF3E0 !important;\n}\n.mdui-text-color-orange-100 {\n color: #FFE0B2 !important;\n}\n.mdui-text-color-orange-200 {\n color: #FFCC80 !important;\n}\n.mdui-text-color-orange-300 {\n color: #FFB74D !important;\n}\n.mdui-text-color-orange-400 {\n color: #FFA726 !important;\n}\n.mdui-text-color-orange-500 {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-600 {\n color: #FB8C00 !important;\n}\n.mdui-text-color-orange-700 {\n color: #F57C00 !important;\n}\n.mdui-text-color-orange-800 {\n color: #EF6C00 !important;\n}\n.mdui-text-color-orange-900 {\n color: #E65100 !important;\n}\n.mdui-text-color-pink {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-50 {\n color: #FCE4EC !important;\n}\n.mdui-text-color-pink-100 {\n color: #F8BBD0 !important;\n}\n.mdui-text-color-pink-200 {\n color: #F48FB1 !important;\n}\n.mdui-text-color-pink-300 {\n color: #F06292 !important;\n}\n.mdui-text-color-pink-400 {\n color: #EC407A !important;\n}\n.mdui-text-color-pink-500 {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-600 {\n color: #D81B60 !important;\n}\n.mdui-text-color-pink-700 {\n color: #C2185B !important;\n}\n.mdui-text-color-pink-800 {\n color: #AD1457 !important;\n}\n.mdui-text-color-pink-900 {\n color: #880E4F !important;\n}\n.mdui-text-color-purple {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-50 {\n color: #F3E5F5 !important;\n}\n.mdui-text-color-purple-100 {\n color: #E1BEE7 !important;\n}\n.mdui-text-color-purple-200 {\n color: #CE93D8 !important;\n}\n.mdui-text-color-purple-300 {\n color: #BA68C8 !important;\n}\n.mdui-text-color-purple-400 {\n color: #AB47BC !important;\n}\n.mdui-text-color-purple-500 {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-600 {\n color: #8E24AA !important;\n}\n.mdui-text-color-purple-700 {\n color: #7B1FA2 !important;\n}\n.mdui-text-color-purple-800 {\n color: #6A1B9A !important;\n}\n.mdui-text-color-purple-900 {\n color: #4A148C !important;\n}\n.mdui-text-color-red {\n color: #F44336 !important;\n}\n.mdui-text-color-red-50 {\n color: #FFEBEE !important;\n}\n.mdui-text-color-red-100 {\n color: #FFCDD2 !important;\n}\n.mdui-text-color-red-200 {\n color: #EF9A9A !important;\n}\n.mdui-text-color-red-300 {\n color: #E57373 !important;\n}\n.mdui-text-color-red-400 {\n color: #EF5350 !important;\n}\n.mdui-text-color-red-500 {\n color: #F44336 !important;\n}\n.mdui-text-color-red-600 {\n color: #E53935 !important;\n}\n.mdui-text-color-red-700 {\n color: #D32F2F !important;\n}\n.mdui-text-color-red-800 {\n color: #C62828 !important;\n}\n.mdui-text-color-red-900 {\n color: #B71C1C !important;\n}\n.mdui-text-color-teal {\n color: #009688 !important;\n}\n.mdui-text-color-teal-50 {\n color: #E0F2F1 !important;\n}\n.mdui-text-color-teal-100 {\n color: #B2DFDB !important;\n}\n.mdui-text-color-teal-200 {\n color: #80CBC4 !important;\n}\n.mdui-text-color-teal-300 {\n color: #4DB6AC !important;\n}\n.mdui-text-color-teal-400 {\n color: #26A69A !important;\n}\n.mdui-text-color-teal-500 {\n color: #009688 !important;\n}\n.mdui-text-color-teal-600 {\n color: #00897B !important;\n}\n.mdui-text-color-teal-700 {\n color: #00796B !important;\n}\n.mdui-text-color-teal-800 {\n color: #00695C !important;\n}\n.mdui-text-color-teal-900 {\n color: #004D40 !important;\n}\n.mdui-text-color-yellow {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-50 {\n color: #FFFDE7 !important;\n}\n.mdui-text-color-yellow-100 {\n color: #FFF9C4 !important;\n}\n.mdui-text-color-yellow-200 {\n color: #FFF59D !important;\n}\n.mdui-text-color-yellow-300 {\n color: #FFF176 !important;\n}\n.mdui-text-color-yellow-400 {\n color: #FFEE58 !important;\n}\n.mdui-text-color-yellow-500 {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-600 {\n color: #FDD835 !important;\n}\n.mdui-text-color-yellow-700 {\n color: #FBC02D !important;\n}\n.mdui-text-color-yellow-800 {\n color: #F9A825 !important;\n}\n.mdui-text-color-yellow-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber-accent {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a100 {\n color: #FFE57F !important;\n}\n.mdui-text-color-amber-a200 {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a400 {\n color: #FFC400 !important;\n}\n.mdui-text-color-amber-a700 {\n color: #FFAB00 !important;\n}\n.mdui-text-color-blue-accent {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a100 {\n color: #82B1FF !important;\n}\n.mdui-text-color-blue-a200 {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a400 {\n color: #2979FF !important;\n}\n.mdui-text-color-blue-a700 {\n color: #2962FF !important;\n}\n.mdui-text-color-cyan-accent {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a100 {\n color: #84FFFF !important;\n}\n.mdui-text-color-cyan-a200 {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a400 {\n color: #00E5FF !important;\n}\n.mdui-text-color-cyan-a700 {\n color: #00B8D4 !important;\n}\n.mdui-text-color-deep-orange-accent {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a100 {\n color: #FF9E80 !important;\n}\n.mdui-text-color-deep-orange-a200 {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a400 {\n color: #FF3D00 !important;\n}\n.mdui-text-color-deep-orange-a700 {\n color: #DD2C00 !important;\n}\n.mdui-text-color-deep-purple-accent {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a100 {\n color: #B388FF !important;\n}\n.mdui-text-color-deep-purple-a200 {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a400 {\n color: #651FFF !important;\n}\n.mdui-text-color-deep-purple-a700 {\n color: #6200EA !important;\n}\n.mdui-text-color-green-accent {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a100 {\n color: #B9F6CA !important;\n}\n.mdui-text-color-green-a200 {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a400 {\n color: #00E676 !important;\n}\n.mdui-text-color-green-a700 {\n color: #00C853 !important;\n}\n.mdui-text-color-indigo-accent {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a100 {\n color: #8C9EFF !important;\n}\n.mdui-text-color-indigo-a200 {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a400 {\n color: #3D5AFE !important;\n}\n.mdui-text-color-indigo-a700 {\n color: #304FFE !important;\n}\n.mdui-text-color-light-blue-accent {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a100 {\n color: #80D8FF !important;\n}\n.mdui-text-color-light-blue-a200 {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a400 {\n color: #00B0FF !important;\n}\n.mdui-text-color-light-blue-a700 {\n color: #0091EA !important;\n}\n.mdui-text-color-light-green-accent {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a100 {\n color: #CCFF90 !important;\n}\n.mdui-text-color-light-green-a200 {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a400 {\n color: #76FF03 !important;\n}\n.mdui-text-color-light-green-a700 {\n color: #64DD17 !important;\n}\n.mdui-text-color-lime-accent {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a100 {\n color: #F4FF81 !important;\n}\n.mdui-text-color-lime-a200 {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a400 {\n color: #C6FF00 !important;\n}\n.mdui-text-color-lime-a700 {\n color: #AEEA00 !important;\n}\n.mdui-text-color-orange-accent {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a100 {\n color: #FFD180 !important;\n}\n.mdui-text-color-orange-a200 {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a400 {\n color: #FF9100 !important;\n}\n.mdui-text-color-orange-a700 {\n color: #FF6D00 !important;\n}\n.mdui-text-color-pink-accent {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a100 {\n color: #FF80AB !important;\n}\n.mdui-text-color-pink-a200 {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a400 {\n color: #F50057 !important;\n}\n.mdui-text-color-pink-a700 {\n color: #C51162 !important;\n}\n.mdui-text-color-purple-accent {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a100 {\n color: #EA80FC !important;\n}\n.mdui-text-color-purple-a200 {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a400 {\n color: #D500F9 !important;\n}\n.mdui-text-color-purple-a700 {\n color: #AA00FF !important;\n}\n.mdui-text-color-red-accent {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a100 {\n color: #FF8A80 !important;\n}\n.mdui-text-color-red-a200 {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a400 {\n color: #FF1744 !important;\n}\n.mdui-text-color-red-a700 {\n color: #D50000 !important;\n}\n.mdui-text-color-teal-accent {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a100 {\n color: #A7FFEB !important;\n}\n.mdui-text-color-teal-a200 {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-text-color-teal-a700 {\n color: #00BFA5 !important;\n}\n.mdui-text-color-yellow-accent {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a100 {\n color: #FFFF8D !important;\n}\n.mdui-text-color-yellow-a200 {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a400 {\n color: #FFEA00 !important;\n}\n.mdui-text-color-yellow-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n.mdui-text-color-black {\n color: #000000 !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: #FFFFFF !important;\n}\n.mdui-text-color-white-text {\n color: #ffffff !important;\n}\n.mdui-text-color-white-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-text-color-white-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-text-color-white-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-text-color-white-icon {\n color: #ffffff !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark .mdui-text-color-theme-text {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n/**\n * =================== 边距\n */\n.mdui-m-a-0 {\n margin: 0px !important;\n}\n.mdui-m-t-0 {\n margin-top: 0px !important;\n}\n.mdui-m-r-0 {\n margin-right: 0px !important;\n}\n.mdui-m-b-0 {\n margin-bottom: 0px !important;\n}\n.mdui-m-l-0 {\n margin-left: 0px !important;\n}\n.mdui-m-x-0 {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n.mdui-m-y-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.mdui-p-a-0 {\n padding: 0px !important;\n}\n.mdui-p-t-0 {\n padding-top: 0px !important;\n}\n.mdui-p-r-0 {\n padding-right: 0px !important;\n}\n.mdui-p-b-0 {\n padding-bottom: 0px !important;\n}\n.mdui-p-l-0 {\n padding-left: 0px !important;\n}\n.mdui-p-x-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.mdui-p-y-0 {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n.mdui-m-a-1 {\n margin: 8px !important;\n}\n.mdui-m-t-1 {\n margin-top: 8px !important;\n}\n.mdui-m-r-1 {\n margin-right: 8px !important;\n}\n.mdui-m-b-1 {\n margin-bottom: 8px !important;\n}\n.mdui-m-l-1 {\n margin-left: 8px !important;\n}\n.mdui-m-x-1 {\n margin-left: 8px !important;\n margin-right: 8px !important;\n}\n.mdui-m-y-1 {\n margin-top: 8px !important;\n margin-bottom: 8px !important;\n}\n.mdui-p-a-1 {\n padding: 8px !important;\n}\n.mdui-p-t-1 {\n padding-top: 8px !important;\n}\n.mdui-p-r-1 {\n padding-right: 8px !important;\n}\n.mdui-p-b-1 {\n padding-bottom: 8px !important;\n}\n.mdui-p-l-1 {\n padding-left: 8px !important;\n}\n.mdui-p-x-1 {\n padding-left: 8px !important;\n padding-right: 8px !important;\n}\n.mdui-p-y-1 {\n padding-top: 8px !important;\n padding-bottom: 8px !important;\n}\n.mdui-m-a-2 {\n margin: 16px !important;\n}\n.mdui-m-t-2 {\n margin-top: 16px !important;\n}\n.mdui-m-r-2 {\n margin-right: 16px !important;\n}\n.mdui-m-b-2 {\n margin-bottom: 16px !important;\n}\n.mdui-m-l-2 {\n margin-left: 16px !important;\n}\n.mdui-m-x-2 {\n margin-left: 16px !important;\n margin-right: 16px !important;\n}\n.mdui-m-y-2 {\n margin-top: 16px !important;\n margin-bottom: 16px !important;\n}\n.mdui-p-a-2 {\n padding: 16px !important;\n}\n.mdui-p-t-2 {\n padding-top: 16px !important;\n}\n.mdui-p-r-2 {\n padding-right: 16px !important;\n}\n.mdui-p-b-2 {\n padding-bottom: 16px !important;\n}\n.mdui-p-l-2 {\n padding-left: 16px !important;\n}\n.mdui-p-x-2 {\n padding-left: 16px !important;\n padding-right: 16px !important;\n}\n.mdui-p-y-2 {\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n.mdui-m-a-3 {\n margin: 24px !important;\n}\n.mdui-m-t-3 {\n margin-top: 24px !important;\n}\n.mdui-m-r-3 {\n margin-right: 24px !important;\n}\n.mdui-m-b-3 {\n margin-bottom: 24px !important;\n}\n.mdui-m-l-3 {\n margin-left: 24px !important;\n}\n.mdui-m-x-3 {\n margin-left: 24px !important;\n margin-right: 24px !important;\n}\n.mdui-m-y-3 {\n margin-top: 24px !important;\n margin-bottom: 24px !important;\n}\n.mdui-p-a-3 {\n padding: 24px !important;\n}\n.mdui-p-t-3 {\n padding-top: 24px !important;\n}\n.mdui-p-r-3 {\n padding-right: 24px !important;\n}\n.mdui-p-b-3 {\n padding-bottom: 24px !important;\n}\n.mdui-p-l-3 {\n padding-left: 24px !important;\n}\n.mdui-p-x-3 {\n padding-left: 24px !important;\n padding-right: 24px !important;\n}\n.mdui-p-y-3 {\n padding-top: 24px !important;\n padding-bottom: 24px !important;\n}\n.mdui-m-a-4 {\n margin: 32px !important;\n}\n.mdui-m-t-4 {\n margin-top: 32px !important;\n}\n.mdui-m-r-4 {\n margin-right: 32px !important;\n}\n.mdui-m-b-4 {\n margin-bottom: 32px !important;\n}\n.mdui-m-l-4 {\n margin-left: 32px !important;\n}\n.mdui-m-x-4 {\n margin-left: 32px !important;\n margin-right: 32px !important;\n}\n.mdui-m-y-4 {\n margin-top: 32px !important;\n margin-bottom: 32px !important;\n}\n.mdui-p-a-4 {\n padding: 32px !important;\n}\n.mdui-p-t-4 {\n padding-top: 32px !important;\n}\n.mdui-p-r-4 {\n padding-right: 32px !important;\n}\n.mdui-p-b-4 {\n padding-bottom: 32px !important;\n}\n.mdui-p-l-4 {\n padding-left: 32px !important;\n}\n.mdui-p-x-4 {\n padding-left: 32px !important;\n padding-right: 32px !important;\n}\n.mdui-p-y-4 {\n padding-top: 32px !important;\n padding-bottom: 32px !important;\n}\n.mdui-m-a-5 {\n margin: 40px !important;\n}\n.mdui-m-t-5 {\n margin-top: 40px !important;\n}\n.mdui-m-r-5 {\n margin-right: 40px !important;\n}\n.mdui-m-b-5 {\n margin-bottom: 40px !important;\n}\n.mdui-m-l-5 {\n margin-left: 40px !important;\n}\n.mdui-m-x-5 {\n margin-left: 40px !important;\n margin-right: 40px !important;\n}\n.mdui-m-y-5 {\n margin-top: 40px !important;\n margin-bottom: 40px !important;\n}\n.mdui-p-a-5 {\n padding: 40px !important;\n}\n.mdui-p-t-5 {\n padding-top: 40px !important;\n}\n.mdui-p-r-5 {\n padding-right: 40px !important;\n}\n.mdui-p-b-5 {\n padding-bottom: 40px !important;\n}\n.mdui-p-l-5 {\n padding-left: 40px !important;\n}\n.mdui-p-x-5 {\n padding-left: 40px !important;\n padding-right: 40px !important;\n}\n.mdui-p-y-5 {\n padding-top: 40px !important;\n padding-bottom: 40px !important;\n}\n/**\n * ======================== 快速浮动\n */\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n display: block !important;\n margin-left: auto !important;\n margin-right: auto !important;\n}\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n display: flex !important;\n align-items: center !important;\n}\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix:before,\n.mdui-clearfix:after {\n content: \" \";\n display: table;\n}\n.mdui-clearfix:after {\n clear: both;\n}\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n/* Responsive utilities 响应式工具\n ========================================================================== */\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: 599px) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 600px) and (max-width: 1023px) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 1024px) and (max-width: 1439px) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1440px) and (max-width: 1919px) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: 599px) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: 1023px) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: 1439px) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: 1919px) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: 600px) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: 1024px) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: 1440px) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -0.25em;\n}\nsup {\n top: -0.5em;\n}\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\n}\n/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\nbody {\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n font-size: 14px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n}\n@media (min-width: 600px) {\n body {\n font-size: 14.5px;\n }\n}\n@media (min-width: 1024px) {\n body {\n font-size: 15px;\n }\n}\nbody *::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n body *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody *::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n}\nbody.mdui-theme-layout-dark *::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n body.mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody.mdui-theme-layout-dark *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n* {\n -webkit-tap-highlight-color: transparent;\n}\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n z-index: 2000;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n backface-visibility: hidden;\n background: rgba(0, 0, 0, 0.4);\n will-change: opacity;\n opacity: 0;\n visibility: hidden;\n transition-property: opacity, visibility;\n transition-duration: 0.3s;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n opacity: 1;\n visibility: visible;\n}\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n background-color: #303030;\n color: #fff;\n}\n/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n.mdui-icon,\n.mdui-icon::before {\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n /* Preferred icon size */\n vertical-align: middle;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n color: inherit;\n}\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n.material-icons {\n font-family: 'Material Icons';\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n font-weight: 100;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n font-weight: 100;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n font-weight: 300;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n font-weight: 500;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n font-weight: 700;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff');\n font-weight: 900;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n font-weight: 900;\n font-style: italic;\n}\n/**\n * =============================================================================\n * ************ Typography 排版 ************\n * =============================================================================\n */\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n font-size: 112px;\n font-weight: 300;\n letter-spacing: -0.04em;\n}\n.mdui-typo-display-4-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n font-size: 56px;\n font-weight: 400;\n letter-spacing: -0.02em;\n}\n.mdui-typo-display-3-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n font-size: 45px;\n font-weight: 400;\n letter-spacing: 0;\n}\n.mdui-typo-display-2-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n font-size: 34px;\n font-weight: 400;\n letter-spacing: 0;\n}\n.mdui-typo-display-1-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n font-size: 24px;\n font-weight: 400;\n -moz-osx-font-smoothing: grayscale;\n}\n.mdui-typo-headline-opacity {\n opacity: 0.87;\n}\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n font-size: 20px;\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n.mdui-typo-title-opacity {\n opacity: 0.87;\n}\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n font-size: 16px;\n font-weight: 400;\n letter-spacing: 0.04em;\n}\n.mdui-typo-subheading-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-2-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-1-opacity {\n opacity: 0.87;\n}\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n font-size: 12px;\n font-weight: 400;\n letter-spacing: 0.08em;\n}\n.mdui-typo-caption-opacity {\n opacity: 0.54;\n}\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n /* a */\n /* small */\n /* blockquote */\n /* mark */\n /* h1 - h6 */\n /* code */\n /* pre code */\n /* abbr */\n /* ins */\n /* u */\n /* del */\n /* hr */\n /* pre */\n /* kbd */\n /* ul / ol */\n /* img */\n}\n.mdui-typo address,\n.mdui-typo caption,\n.mdui-typo cite,\n.mdui-typo code,\n.mdui-typo dfn,\n.mdui-typo th {\n font-style: normal;\n font-weight: 400;\n}\n.mdui-typo caption,\n.mdui-typo th {\n text-align: left;\n}\n.mdui-typo q:before,\n.mdui-typo q:after {\n content: '';\n}\n.mdui-typo pre,\n.mdui-typo code,\n.mdui-typo kbd,\n.mdui-typo samp,\n.mdui-typo pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n}\n.mdui-typo figcaption {\n font-size: 80%;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-typo [draggable],\n.mdui-typo [draggable=\"true\"] {\n cursor: move;\n}\n.mdui-typo [draggable=\"false\"] {\n cursor: inherit;\n}\n.mdui-typo p,\n.mdui-typo pre,\n.mdui-typo ul,\n.mdui-typo ol,\n.mdui-typo dl,\n.mdui-typo form,\n.mdui-typo hr,\n.mdui-typo figure,\n.mdui-typo table,\n.mdui-typo .mdui-table,\n.mdui-typo .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n}\n.mdui-typo a {\n color: #FF4081;\n display: inline-block;\n vertical-align: top;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n outline: none;\n}\n.mdui-typo a:before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: #FF4081;\n content: ' ';\n transition: all 0.2s;\n backface-visibility: hidden;\n transform: scaleX(0);\n}\n.mdui-typo a:hover:before,\n.mdui-typo a:focus:before {\n transform: scaleX(1);\n}\n.mdui-typo small {\n font-size: 80%;\n}\n.mdui-typo blockquote {\n font-weight: 400;\n border-left: 4px solid rgba(0, 0, 0, 0.12);\n padding-left: 1em;\n margin: 1em 3em 1em 2em;\n}\n@media only screen and (max-width: 599px) {\n .mdui-typo blockquote {\n margin: 1em 0;\n }\n}\n.mdui-typo blockquote footer {\n color: rgba(0, 0, 0, 0.54);\n font-size: 86%;\n}\n.mdui-typo mark {\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n padding: 2px;\n margin: 0 5px;\n}\n.mdui-typo h1,\n.mdui-typo h2,\n.mdui-typo h3,\n.mdui-typo h4,\n.mdui-typo h5,\n.mdui-typo h6 {\n font-weight: 400;\n color: inherit;\n font-family: inherit;\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n line-height: 1.35;\n}\n.mdui-typo h1 small,\n.mdui-typo h2 small,\n.mdui-typo h3 small,\n.mdui-typo h4 small,\n.mdui-typo h5 small,\n.mdui-typo h6 small {\n font-size: 65%;\n line-height: 1;\n font-weight: 400;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-typo h1 {\n font-size: 2em;\n}\n.mdui-typo h2 {\n font-size: 1.8em;\n}\n.mdui-typo h3 {\n font-size: 1.6em;\n}\n.mdui-typo h4 {\n font-size: 1.4em;\n}\n.mdui-typo h5 {\n font-size: 1.2em;\n}\n.mdui-typo h6 {\n font-size: 1.1em;\n}\n.mdui-typo code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n}\n.mdui-typo pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n line-height: 1.7;\n}\n.mdui-typo abbr[title] {\n cursor: help;\n text-decoration: none;\n border-bottom: 1px dotted;\n}\n.mdui-typo ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n}\n.mdui-typo u {\n text-decoration: none;\n border-bottom: 1px solid;\n}\n.mdui-typo del {\n text-decoration: line-through;\n}\n.mdui-typo hr {\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n margin-bottom: 0.8em;\n height: 10px;\n}\n.mdui-typo pre {\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n padding: 12px 16px;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n}\n.mdui-typo kbd {\n padding: 2px 6px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n}\n.mdui-typo ul {\n padding-left: 2em;\n list-style: disc;\n}\n.mdui-typo ol {\n list-style: decimal;\n padding-left: 2em;\n}\n.mdui-typo li ul,\n.mdui-typo li ol {\n margin: 0.8em 0;\n}\n.mdui-typo li ul {\n list-style: circle;\n}\n.mdui-typo img {\n max-width: 100%;\n}\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-typo a {\n color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-typo a:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-typo a {\n color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-typo a:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a {\n color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a {\n color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-typo a {\n color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-typo a:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-typo a {\n color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-typo a:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-typo a {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-typo a:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-typo a {\n color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-typo a:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-typo a {\n color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-typo a:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-typo a {\n color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-typo a:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-typo a {\n color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-typo a:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-typo a {\n color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-typo a:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-typo a {\n color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-typo a:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-typo a {\n color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-typo a:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-typo a {\n color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-typo a:before {\n background-color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n}\n.mdui-theme-layout-dark .mdui-typo h1 small,\n.mdui-theme-layout-dark .mdui-typo h2 small,\n.mdui-theme-layout-dark .mdui-typo h3 small,\n.mdui-theme-layout-dark .mdui-typo h4 small,\n.mdui-theme-layout-dark .mdui-typo h5 small,\n.mdui-theme-layout-dark .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo code {\n background-color: #424242;\n color: #FFCDD2;\n}\n.mdui-theme-layout-dark .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo kbd {\n background: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n.mdui-headroom {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -56px, 0) !important;\n}\n@media (min-width: 600px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -64px, 0) !important;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -48px, 0) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n.mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-header.mdui-collapse-item-arrow {\n will-change: transform;\n transform: rotate(0);\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-collapse-item-body {\n height: 0;\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n overflow: hidden;\n will-change: height;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-collapse-item-body .mdui-list-item {\n padding-left: 72px;\n}\n.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n}\n.mdui-collapse-item-open > .mdui-collapse-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n.mdui-table {\n position: relative;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table tbody tr {\n position: relative;\n transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-table th,\n.mdui-table td {\n position: relative;\n vertical-align: middle;\n text-align: left;\n padding: 12px 28px;\n box-sizing: border-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-table th:last-child,\n.mdui-table td:last-child {\n padding-right: 24px;\n}\n.mdui-table th:first-child,\n.mdui-table td:first-child {\n padding-left: 24px;\n padding-right: 0;\n}\n.mdui-table th:nth-child(2),\n.mdui-table td:nth-child(2) {\n padding-left: 24px;\n}\n.mdui-table th {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.54);\n font-weight: 700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 32px;\n}\n.mdui-table td {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n line-height: 24px;\n}\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-left: 24px !important;\n padding-top: 0 !important;\n padding-bottom: 0!important;\n}\n.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 7px;\n}\n.mdui-table-cell-checkbox + td,\n.mdui-table-cell-checkbox + th {\n padding-left: 6px !important;\n}\nth.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 11px;\n}\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable tbody tr:hover {\n background-color: #EEEEEE;\n}\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n margin: 0;\n}\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: #F5F5F5;\n}\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table th,\n.mdui-theme-layout-dark .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-table td {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n}\n.mdui-theme-layout-dark .mdui-table-row-selected {\n background-color: #424242;\n}\n/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin: -1px 0 0 0;\n height: 1px;\n border: none;\n}\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n.mdui-divider,\n.mdui-divider-inset {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mdui-theme-layout-dark .mdui-divider,\n.mdui-theme-layout-dark .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n max-width: 100%;\n height: auto;\n display: block;\n}\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n.mdui-video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n}\n.mdui-video-container iframe,\n.mdui-video-container object,\n.mdui-video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n.mdui-ripple {\n position: relative;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n}\n/* Ripple */\n.mdui-ripple-wave {\n left: 0;\n top: 0;\n position: absolute !important;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n background-color: rgba(0, 0, 0, 0.1);\n padding: 0;\n margin: 0;\n font-size: 0;\n transform: translate3d(0px, 0px, 0) scale(0);\n transition-duration: 1400ms;\n}\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.mdui-ripple-wave-fill {\n transition-duration: 300ms;\n opacity: 0.35;\n}\n.mdui-ripple-wave-out {\n transition-duration: 600ms;\n opacity: 0;\n}\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n.mdui-ripple-amber .mdui-ripple-wave {\n background-color: rgba(255, 193, 7, 0.3) !important;\n}\n.mdui-ripple-blue .mdui-ripple-wave {\n background-color: rgba(33, 150, 243, 0.3) !important;\n}\n.mdui-ripple-blue-grey .mdui-ripple-wave {\n background-color: rgba(96, 125, 139, 0.3) !important;\n}\n.mdui-ripple-brown .mdui-ripple-wave {\n background-color: rgba(121, 85, 72, 0.3) !important;\n}\n.mdui-ripple-cyan .mdui-ripple-wave {\n background-color: rgba(0, 188, 212, 0.3) !important;\n}\n.mdui-ripple-deep-orange .mdui-ripple-wave {\n background-color: rgba(255, 87, 34, 0.3) !important;\n}\n.mdui-ripple-deep-purple .mdui-ripple-wave {\n background-color: rgba(103, 58, 183, 0.3) !important;\n}\n.mdui-ripple-green .mdui-ripple-wave {\n background-color: rgba(76, 175, 80, 0.3) !important;\n}\n.mdui-ripple-grey .mdui-ripple-wave {\n background-color: rgba(158, 158, 158, 0.3) !important;\n}\n.mdui-ripple-indigo .mdui-ripple-wave {\n background-color: rgba(63, 81, 181, 0.3) !important;\n}\n.mdui-ripple-light-blue .mdui-ripple-wave {\n background-color: rgba(3, 169, 244, 0.3) !important;\n}\n.mdui-ripple-light-green .mdui-ripple-wave {\n background-color: rgba(139, 195, 74, 0.3) !important;\n}\n.mdui-ripple-lime .mdui-ripple-wave {\n background-color: rgba(205, 220, 57, 0.3) !important;\n}\n.mdui-ripple-orange .mdui-ripple-wave {\n background-color: rgba(255, 152, 0, 0.3) !important;\n}\n.mdui-ripple-pink .mdui-ripple-wave {\n background-color: rgba(233, 30, 99, 0.3) !important;\n}\n.mdui-ripple-purple .mdui-ripple-wave {\n background-color: rgba(156, 39, 176, 0.3) !important;\n}\n.mdui-ripple-red .mdui-ripple-wave {\n background-color: rgba(244, 67, 54, 0.3) !important;\n}\n.mdui-ripple-teal .mdui-ripple-wave {\n background-color: rgba(0, 150, 136, 0.3) !important;\n}\n.mdui-ripple-yellow .mdui-ripple-wave {\n background-color: rgba(255, 235, 59, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n/* 输入框 */\n.mdui-textfield-input {\n width: 100%;\n overflow: hidden;\n padding: 8px 0;\n appearance: none;\n box-sizing: border-box;\n border: none;\n background: none;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n box-shadow: none;\n display: block;\n margin: 0;\n height: 36px;\n line-height: 20px;\n font-size: 16px;\n font-family: inherit;\n outline: none;\n resize: none;\n transition-property: border-bottom-color, padding-right, box-shadow;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.42);\n}\n.mdui-textfield-input::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n}\n.mdui-textfield-input:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87);\n cursor: pointer;\n}\n.mdui-textfield-input[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 文本框 label */\n.mdui-textfield-label {\n pointer-events: none;\n display: block;\n font-size: 16px;\n width: 100%;\n transform-origin: left;\n color: rgba(0, 0, 0, 0.54);\n transition: all 0.2s;\n transform: scale(0.75) translateY(0);\n}\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n font-size: 12px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n height: 12px;\n line-height: 12px;\n}\n.mdui-textfield-error {\n color: rgba(255, 23, 68, 0.87);\n visibility: hidden;\n}\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n/* 表单中的图标\n ========== */\n.mdui-textfield .mdui-icon {\n position: absolute;\n bottom: 8px;\n color: rgba(0, 0, 0, 0.54);\n padding: 6px;\n}\n.mdui-textfield .mdui-icon ~ .mdui-textfield-label,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-input,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-error,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-helper,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap {\n margin-left: 56px;\n width: calc(100% - 56px);\n}\n.mdui-textfield-has-bottom .mdui-icon {\n bottom: 28px;\n}\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label .mdui-textfield-label {\n transform: scale(1) translateY(27px);\n color: rgba(0, 0, 0, 0.35);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n transform: scale(0.75) translateY(0);\n color: rgba(0, 0, 0, 0.65);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label {\n color: #E91E63;\n}\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n padding: 1px 0;\n min-height: 36px;\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-textfield-expandable .mdui-icon {\n bottom: 0;\n padding: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-input {\n margin-left: 36px;\n width: calc(100% - 36px);\n padding-right: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-icon {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-close {\n position: absolute;\n right: 0;\n top: 0;\n transform: scale(0);\n}\n.mdui-textfield-expandable.mdui-textfield-expanded {\n width: 100%;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input {\n padding-right: 36px;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close {\n transform: scale(1);\n}\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid .mdui-textfield-input,\n.mdui-textfield-invalid-html5 .mdui-textfield-input,\n.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF1744 !important;\n box-shadow: 0 1px 0 0 #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-label,\n.mdui-textfield-invalid-html5 .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 23, 68, 0.35) !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-error,\n.mdui-textfield-invalid-html5 .mdui-textfield-error {\n visibility: visible;\n}\n.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper,\n.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper {\n visibility: hidden;\n}\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled .mdui-textfield-label,\n.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(0, 0, 0, 0.42);\n cursor: default;\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, 0.42);\n}\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n font-size: 12px;\n bottom: 8px;\n color: rgba(0, 0, 0, 0.54);\n height: 12px;\n line-height: 12px;\n}\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n}\n.mdui-theme-layout-dark .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n}\n.mdui-theme-layout-dark .mdui-textfield-error {\n color: #FF1744;\n}\n.mdui-theme-layout-dark .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label,\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB00;\n box-shadow: 0 1px 0 0 #FFAB00;\n}\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 171, 0, 0.87);\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #2962FF;\n box-shadow: 0 1px 0 0 #2962FF;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(41, 98, 255, 0.87);\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00B8D4;\n box-shadow: 0 1px 0 0 #00B8D4;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 184, 212, 0.87);\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #DD2C00;\n box-shadow: 0 1px 0 0 #DD2C00;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(221, 44, 0, 0.87);\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #6200EA;\n box-shadow: 0 1px 0 0 #6200EA;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(98, 0, 234, 0.87);\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00C853;\n box-shadow: 0 1px 0 0 #00C853;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 200, 83, 0.87);\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #304FFE;\n box-shadow: 0 1px 0 0 #304FFE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon {\n color: rgba(48, 79, 254, 0.87);\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #0091EA;\n box-shadow: 0 1px 0 0 #0091EA;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 145, 234, 0.87);\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64DD17;\n box-shadow: 0 1px 0 0 #64DD17;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon {\n color: rgba(100, 221, 23, 0.87);\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AEEA00;\n box-shadow: 0 1px 0 0 #AEEA00;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon {\n color: rgba(174, 234, 0, 0.87);\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6D00;\n box-shadow: 0 1px 0 0 #FF6D00;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 109, 0, 0.87);\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AA00FF;\n box-shadow: 0 1px 0 0 #AA00FF;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(170, 0, 255, 0.87);\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #D50000;\n box-shadow: 0 1px 0 0 #D50000;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon {\n color: rgba(213, 0, 0, 0.87);\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00BFA5;\n box-shadow: 0 1px 0 0 #00BFA5;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 191, 165, 0.87);\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD600;\n box-shadow: 0 1px 0 0 #FFD600;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 214, 0, 0.87);\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n.mdui-checkbox {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-checkbox input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n left: 0;\n top: 9px;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n background-color: transparent;\n border: none;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-checkbox-icon:after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 2px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 0;\n}\n.mdui-checkbox-icon:before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 2px;\n left: 0;\n width: 8px;\n height: 13px;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n z-index: 1;\n}\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n border-right: none;\n border-bottom: 2px solid #fff;\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon:after {\n border-color: rgba(0, 0, 0, 0.26);\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon:after,\n.mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon:after {\n background-color: rgba(0, 0, 0, 0.26) !important;\n border-color: transparent !important;\n}\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFD740;\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #448AFF;\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #18FFFF;\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF6E40;\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #7C4DFF;\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #69F0AE;\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #536DFE;\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #40C4FF;\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #B2FF59;\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #EEFF41;\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFAB40;\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #E040FB;\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF5252;\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #64FFDA;\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFFF00;\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-checkbox-icon:after {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-checkbox-icon:before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon:after {\n border-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon:after,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon:after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n.mdui-radio {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-radio input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n left: 0;\n top: 9px;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-radio-icon:before {\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n border-radius: 14px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n background-color: #FF4081;\n transform: scale(0);\n opacity: 0;\n}\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n transform: scale(0.68);\n opacity: 1;\n}\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon:before {\n background-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon:before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-switch input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 36px;\n height: 14px;\n border-radius: 14px;\n background-color: rgba(0, 0, 0, 0.38);\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-switch-icon:before {\n position: absolute;\n display: inline-block;\n content: ' ';\n width: 20px;\n height: 20px;\n top: -3px;\n left: -3px;\n border-radius: 20px;\n background-color: #FAFAFA;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n left: 20px;\n background-color: #FF4081;\n}\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon:before,\n.mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon:before {\n background-color: #BDBDBD !important;\n}\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 215, 64, 0.5);\n}\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(68, 138, 255, 0.5);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(24, 255, 255, 0.5);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 110, 64, 0.5);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(124, 77, 255, 0.5);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(105, 240, 174, 0.5);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(83, 109, 254, 0.5);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(64, 196, 255, 0.5);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(178, 255, 89, 0.5);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(238, 255, 65, 0.5);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 171, 64, 0.5);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(224, 64, 251, 0.5);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 82, 82, 0.5);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(100, 255, 218, 0.5);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 0, 0.5);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-switch-icon:before {\n background-color: #BDBDBD;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFE57F;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #82B1FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #84FFFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF9E80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B388FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B9F6CA;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #8C9EFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #80D8FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #CCFF90;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #F4FF81;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFD180;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF80AB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #EA80FC;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF8A80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #A7FFEB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFFF8D;\n}\n.mdui-theme-layout-dark .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon:before,\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon:before {\n background-color: #424242 !important;\n}\n/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n.mdui-slider {\n position: relative;\n width: 100%;\n height: 36px;\n display: block;\n}\n.mdui-slider input[type=\"range\"] {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n height: 20px;\n width: 100%;\n appearance: none;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n}\n.mdui-slider-track,\n.mdui-slider-fill {\n box-sizing: border-box;\n position: absolute;\n height: 2px;\n top: 50%;\n margin-top: -1px;\n}\n.mdui-slider-track:before,\n.mdui-slider-fill:before {\n content: ' ';\n width: 100%;\n height: 100%;\n display: block;\n}\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n}\n.mdui-slider-track:before {\n background-color: #bdbdbd;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n}\n.mdui-slider-fill:before {\n background-color: #FF4081;\n}\n/* 滑块 */\n.mdui-slider-thumb {\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n width: 12px;\n height: 12px;\n background-color: #FF4081;\n border-radius: 50%;\n border: 2px solid #FF4081;\n transform: translate(-50%);\n will-change: background, border-color, transform, border-radius;\n transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-slider-fill:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-slider-thumb {\n background-color: #FFD740;\n border: 2px solid #FFD740;\n}\n.mdui-theme-accent-blue .mdui-slider-fill:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-slider-thumb {\n background-color: #448AFF;\n border: 2px solid #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-fill:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-thumb {\n background-color: #18FFFF;\n border: 2px solid #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-fill:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-thumb {\n background-color: #FF6E40;\n border: 2px solid #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-fill:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-thumb {\n background-color: #7C4DFF;\n border: 2px solid #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-slider-fill:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-slider-thumb {\n background-color: #69F0AE;\n border: 2px solid #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-slider-fill:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-slider-thumb {\n background-color: #536DFE;\n border: 2px solid #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-slider-fill:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-slider-thumb {\n background-color: #40C4FF;\n border: 2px solid #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-slider-fill:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-slider-thumb {\n background-color: #B2FF59;\n border: 2px solid #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-slider-fill:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-slider-thumb {\n background-color: #EEFF41;\n border: 2px solid #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-slider-fill:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-slider-thumb {\n background-color: #FFAB40;\n border: 2px solid #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-slider-fill:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-slider-thumb {\n background-color: #FF4081;\n border: 2px solid #FF4081;\n}\n.mdui-theme-accent-purple .mdui-slider-fill:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-slider-thumb {\n background-color: #E040FB;\n border: 2px solid #E040FB;\n}\n.mdui-theme-accent-red .mdui-slider-fill:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-slider-thumb {\n background-color: #FF5252;\n border: 2px solid #FF5252;\n}\n.mdui-theme-accent-teal .mdui-slider-fill:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-slider-thumb {\n background-color: #64FFDA;\n border: 2px solid #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-slider-fill:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-slider-thumb {\n background-color: #FFFF00;\n border: 2px solid #FFFF00;\n}\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus .mdui-slider-track:before {\n background-color: #9e9e9e;\n}\n.mdui-slider-focus .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n}\n/* 滑块值为 0 */\n.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fff;\n border-color: #bdbdbd;\n}\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #9e9e9e;\n}\n/* 禁用状态 */\n.mdui-slider-disabled input[type=\"range\"] {\n cursor: default;\n}\n.mdui-slider-disabled .mdui-slider-track:before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-fill:before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n border-color: transparent !important;\n transform: translate(-50%) scale(0.72);\n}\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete .mdui-slider-thumb {\n height: 30px;\n width: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(0.4);\n}\n.mdui-slider-discrete .mdui-slider-thumb span {\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 12px;\n transform: rotate(45deg);\n opacity: 0;\n position: absolute;\n top: 9px;\n left: -1px;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span {\n opacity: 1;\n}\n.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #323232;\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb {\n transform: rotate(-45deg) scale(0.288);\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 2px;\n position: relative;\n height: 36px;\n margin: 0;\n min-width: 88px;\n padding: 0 16px;\n display: inline-block;\n overflow: hidden;\n will-change: box-shadow;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: 36px;\n vertical-align: middle;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n zoom: 1;\n white-space: nowrap;\n -webkit-user-drag: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n box-sizing: border-box;\n touch-action: manipulation;\n}\n.mdui-btn:hover,\n.mdui-fab:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.mdui-btn:not(.mdui-ripple):active,\n.mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n}\n.mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n/* 按钮内的图标 */\n.mdui-btn .mdui-icon-left,\n.mdui-btn .mdui-icon-right,\n.mdui-btn .mdui-icon-left::before,\n.mdui-btn .mdui-icon-right::before {\n height: inherit;\n line-height: inherit;\n font-size: 1.3em;\n}\n.mdui-btn .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n}\n.mdui-btn .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n}\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:hover {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:active {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/* 禁用按钮 */\n.mdui-btn[disabled],\n.mdui-fab[disabled],\n.mdui-btn[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.26) !important;\n box-shadow: none !important;\n cursor: default !important;\n opacity: 1 !important;\n}\n.mdui-btn[disabled] .mdui-icon,\n.mdui-fab[disabled] .mdui-icon,\n.mdui-btn[disabled]:hover .mdui-icon,\n.mdui-fab[disabled]:hover .mdui-icon,\n.mdui-btn[disabled]:active .mdui-icon,\n.mdui-fab[disabled]:active .mdui-icon,\n.mdui-btn[disabled]:focus .mdui-icon,\n.mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised[disabled],\n.mdui-fab[disabled],\n.mdui-btn-raised[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn-raised[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn-raised[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: rgba(0, 0, 0, 0.12) !important;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n/* 图标按钮 */\n.mdui-btn-icon {\n border-radius: 50%;\n font-size: 24px;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n overflow: hidden;\n line-height: normal;\n height: 36px;\n width: 36px;\n min-width: 36px;\n}\n.mdui-btn-icon .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px;\n}\n.mdui-btn-icon.mdui-ripple {\n transform: translateZ(0);\n}\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n line-height: 32px;\n font-size: 13px;\n}\n.mdui-btn-dense.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n}\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.mdui-btn-group .mdui-btn {\n float: left;\n min-width: inherit;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n padding: 0 12px;\n}\n.mdui-btn-group .mdui-btn:before {\n content: ' ';\n border-left: 1px solid transparent;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n}\n.mdui-btn-group .mdui-btn:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.mdui-btn-group .mdui-btn:first-child:before {\n border-left: none;\n}\n.mdui-btn-group .mdui-btn:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active:before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n}\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-btn:hover,\n.mdui-theme-layout-dark .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-theme-layout-dark .mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-theme-layout-dark .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: transparent !important;\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn-raised[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n}\n/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n/* 浮动操作按钮 */\n.mdui-fab {\n border-radius: 50%;\n font-size: 24px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n line-height: normal !important;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n height: 56px;\n width: 56px;\n min-width: 56px;\n}\n.mdui-fab:hover {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:active {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n line-height: 24px;\n width: 24px;\n margin-left: 16px;\n margin-top: 16px;\n}\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n height: 40px;\n width: 40px;\n min-width: 40px;\n}\n.mdui-fab-mini .mdui-icon {\n margin-left: 8px;\n margin-top: 8px;\n}\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n}\n@media (min-width: 1024px) {\n .mdui-fab-fixed,\n .mdui-fab-wrapper {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n width: 56px;\n height: 56px;\n padding-top: 8px;\n z-index: 4000;\n text-align: center;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) {\n will-change: opacity, transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 1;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened {\n will-change: opacity, transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n transform: rotate(225deg);\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) {\n opacity: 0;\n transform: rotate(225deg);\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened {\n opacity: 1;\n transform: rotate(360deg);\n}\n.mdui-fab-wrapper > .mdui-fab-mini {\n margin-top: 8px;\n}\n.mdui-fab-wrapper .mdui-fab-dial {\n visibility: visible;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 64px;\n text-align: center;\n height: 0;\n}\n.mdui-fab-wrapper .mdui-fab-dial .mdui-fab {\n margin: 8px 0;\n transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transform: scale(0);\n opacity: 0;\n}\n.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab {\n transform: scale(1);\n opacity: 1;\n}\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n will-change: transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s;\n transform: scale(1) translateZ(0);\n}\n.mdui-fab.mdui-fab-hide,\n.mdui-fab-mini.mdui-fab-hide,\n.mdui-fab-wrapper.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n}\n/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n.mdui-select {\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n display: inline-block;\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n padding-left: 0;\n padding-right: 24px;\n appearance: none;\n height: 36px;\n max-width: 100%;\n border: none;\n cursor: pointer;\n outline: none;\n font-size: 16px;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n transition-property: background-color, box-shadow, background-position-x;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n background-repeat: no-repeat;\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-select.mdui-select-open {\n border-bottom: none;\n}\n.mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n/* 底部和顶部菜单的样式 */\n.mdui-select-open.mdui-select-position-top,\n.mdui-select-open.mdui-select-position-bottom {\n border-radius: 2px;\n background-color: #fff;\n background-position-x: calc(100% - 12px);\n z-index: 99999;\n}\n.mdui-select-open.mdui-select-position-top {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0px 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-top .mdui-select-menu {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n box-shadow: 0px -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0px 8px 8px 2px rgba(0, 0, 0, 0.06);\n}\n/* 当前选中项文本 */\n.mdui-select-selected {\n display: block;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n right: 24px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: left 0.2s cubic-bezier(0, 0, 0.2, 1);\n}\n.mdui-select-open .mdui-select-selected {\n left: 16px;\n right: 32px;\n}\n.mdui-select-open.mdui-select-position-auto .mdui-select-selected {\n visibility: hidden;\n}\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n box-sizing: border-box;\n margin: 0 -24px 0 0;\n border-radius: 2px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n z-index: 99999;\n height: 36px;\n visibility: hidden;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n opacity: 0;\n cursor: default;\n transform: scale(1, 0);\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.mdui-select-open .mdui-select-menu {\n opacity: 1;\n transform: scale(1, 1);\n visibility: visible;\n overflow-y: hidden;\n}\n.mdui-select-closing .mdui-select-menu {\n visibility: visible;\n overflow-y: hidden;\n transform: scale(1, 1);\n opacity: 0;\n box-shadow: none;\n}\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-select-menu-item:hover {\n background-color: #EEEEEE;\n}\n.mdui-select-menu-item:first-child {\n margin-top: 8px;\n}\n.mdui-select-menu-item:last-child {\n margin-bottom: 8px;\n}\n.mdui-select-menu-item[disabled] {\n cursor: default;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-select-menu-item[disabled]:hover {\n background-color: inherit !important;\n}\n.mdui-select-menu-item[selected] {\n color: #FF4081;\n}\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n}\nselect.mdui-select option {\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select::-ms-expand {\n display: none;\n}\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n border: 1px solid rgba(0, 0, 0, 0.38);\n padding: 0;\n height: auto;\n cursor: default;\n font-size: 15px;\n background-color: #FFFFFF;\n background-image: none;\n}\nselect.mdui-select[multiple] optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n}\nselect.mdui-select[multiple] optgroup:last-child {\n margin-bottom: 8px;\n}\nselect.mdui-select[multiple] optgroup:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\nselect.mdui-select[multiple] option {\n margin: 0 0 0 -16px;\n padding: 0 16px;\n height: 32px;\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select[multiple] option:first-child {\n margin-top: 8px;\n}\nselect.mdui-select[multiple] option:last-child {\n margin-bottom: 8px;\n}\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-select-menu-item[selected] {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-select-menu-item[selected] {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-select-menu-item[selected] {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-select-menu-item[selected] {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-select-menu-item[selected] {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-select-menu-item[selected] {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-select-menu-item[selected] {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-select-menu-item[selected] {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-select-menu-item[selected] {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-select-menu-item[selected] {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-select-menu-item[selected] {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-select-menu-item[selected] {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-select-menu-item[selected] {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-select {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-theme-layout-dark .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top,\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-menu {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark select.mdui-select {\n background-color: #303030;\n color: #FFFFFF;\n}\n.mdui-theme-layout-dark select.mdui-select option {\n background-color: #303030;\n color: #FFFFFF;\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n padding-left: 8px;\n padding-right: 8px;\n}\n.mdui-container:after,\n.mdui-container-fluid:after {\n content: '';\n display: table;\n clear: both;\n}\n.mdui-container {\n max-width: 1280px;\n width: 96%;\n}\n@media (min-width: 600px) {\n .mdui-container {\n width: 94%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-container {\n width: 92%;\n }\n}\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-left: -8px;\n margin-right: -8px;\n}\n.mdui-row:after,\n[class*=\"mdui-row-\"]:after {\n content: '';\n display: table;\n clear: both;\n}\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n box-sizing: border-box;\n position: relative;\n min-height: 1px;\n padding-left: 8px;\n padding-right: 8px;\n}\n/* 取消列间距 */\n.mdui-row-gapless .mdui-col,\n.mdui-row-gapless [class*=\"mdui-col-xs-\"],\n.mdui-row-gapless [class*=\"mdui-col-sm-\"],\n.mdui-row-gapless [class*=\"mdui-col-md-\"],\n.mdui-row-gapless [class*=\"mdui-col-lg-\"],\n.mdui-row-gapless [class*=\"mdui-col-xl-\"] {\n padding-left: 0;\n padding-right: 0;\n}\n.mdui-row-gapless .mdui-row,\n.mdui-row-gapless [class*=\"mdui-row-\"] {\n margin-left: 0;\n margin-right: 0;\n}\n.mdui-col-xs-1 {\n float: left;\n width: 8.333333%;\n}\n.mdui-col-offset-xs-1 {\n margin-left: 8.333333%;\n}\n.mdui-row-xs-1 .mdui-col {\n float: left;\n width: 100%;\n}\n.mdui-col-xs-2 {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-offset-xs-2 {\n margin-left: 16.666667%;\n}\n.mdui-row-xs-2 .mdui-col {\n float: left;\n width: 50%;\n}\n.mdui-col-xs-3 {\n float: left;\n width: 25%;\n}\n.mdui-col-offset-xs-3 {\n margin-left: 25%;\n}\n.mdui-row-xs-3 .mdui-col {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-xs-4 {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-offset-xs-4 {\n margin-left: 33.333333%;\n}\n.mdui-row-xs-4 .mdui-col {\n float: left;\n width: 25%;\n}\n.mdui-col-xs-5 {\n float: left;\n width: 41.666667%;\n}\n.mdui-col-offset-xs-5 {\n margin-left: 41.666667%;\n}\n.mdui-row-xs-5 .mdui-col {\n float: left;\n width: 20%;\n}\n.mdui-col-xs-6 {\n float: left;\n width: 50%;\n}\n.mdui-col-offset-xs-6 {\n margin-left: 50%;\n}\n.mdui-row-xs-6 .mdui-col {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-xs-7 {\n float: left;\n width: 58.333333%;\n}\n.mdui-col-offset-xs-7 {\n margin-left: 58.333333%;\n}\n.mdui-row-xs-7 .mdui-col {\n float: left;\n width: 14.285714%;\n}\n.mdui-col-xs-8 {\n float: left;\n width: 66.666667%;\n}\n.mdui-col-offset-xs-8 {\n margin-left: 66.666667%;\n}\n.mdui-row-xs-8 .mdui-col {\n float: left;\n width: 12.5%;\n}\n.mdui-col-xs-9 {\n float: left;\n width: 75%;\n}\n.mdui-col-offset-xs-9 {\n margin-left: 75%;\n}\n.mdui-row-xs-9 .mdui-col {\n float: left;\n width: 11.111111%;\n}\n.mdui-col-xs-10 {\n float: left;\n width: 83.333333%;\n}\n.mdui-col-offset-xs-10 {\n margin-left: 83.333333%;\n}\n.mdui-row-xs-10 .mdui-col {\n float: left;\n width: 10%;\n}\n.mdui-col-xs-11 {\n float: left;\n width: 91.666667%;\n}\n.mdui-col-offset-xs-11 {\n margin-left: 91.666667%;\n}\n.mdui-row-xs-11 .mdui-col {\n float: left;\n width: 9.090909%;\n}\n.mdui-col-xs-12 {\n float: left;\n width: 100%;\n}\n.mdui-col-offset-xs-12 {\n margin-left: 100%;\n}\n.mdui-row-xs-12 .mdui-col {\n float: left;\n width: 8.333333%;\n}\n@media (min-width: 600px) {\n .mdui-col-sm-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-sm-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-sm-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-sm-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-sm-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-sm-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-sm-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-sm-3 {\n margin-left: 25%;\n }\n .mdui-row-sm-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-sm-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-sm-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-sm-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-sm-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-sm-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-sm-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-sm-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-sm-6 {\n margin-left: 50%;\n }\n .mdui-row-sm-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-sm-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-sm-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-sm-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-sm-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-sm-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-sm-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-sm-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-sm-9 {\n margin-left: 75%;\n }\n .mdui-row-sm-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-sm-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-sm-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-sm-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-sm-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-sm-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-sm-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-sm-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-sm-12 {\n margin-left: 100%;\n }\n .mdui-row-sm-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-col-md-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-md-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-md-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-md-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-md-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-md-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-md-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-md-3 {\n margin-left: 25%;\n }\n .mdui-row-md-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-md-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-md-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-md-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-md-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-md-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-md-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-md-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-md-6 {\n margin-left: 50%;\n }\n .mdui-row-md-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-md-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-md-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-md-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-md-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-md-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-md-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-md-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-md-9 {\n margin-left: 75%;\n }\n .mdui-row-md-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-md-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-md-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-md-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-md-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-md-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-md-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-md-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-md-12 {\n margin-left: 100%;\n }\n .mdui-row-md-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1440px) {\n .mdui-col-lg-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-lg-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-lg-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-lg-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-lg-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-lg-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-lg-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-lg-3 {\n margin-left: 25%;\n }\n .mdui-row-lg-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-lg-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-lg-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-lg-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-lg-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-lg-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-lg-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-lg-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-lg-6 {\n margin-left: 50%;\n }\n .mdui-row-lg-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-lg-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-lg-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-lg-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-lg-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-lg-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-lg-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-lg-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-lg-9 {\n margin-left: 75%;\n }\n .mdui-row-lg-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-lg-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-lg-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-lg-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-lg-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-lg-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-lg-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-lg-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-lg-12 {\n margin-left: 100%;\n }\n .mdui-row-lg-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1920px) {\n .mdui-col-xl-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-xl-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-xl-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-xl-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-xl-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-xl-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-xl-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-xl-3 {\n margin-left: 25%;\n }\n .mdui-row-xl-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-xl-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-xl-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-xl-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-xl-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-xl-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-xl-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-xl-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-xl-6 {\n margin-left: 50%;\n }\n .mdui-row-xl-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-xl-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-xl-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-xl-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-xl-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-xl-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-xl-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-xl-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-xl-9 {\n margin-left: 75%;\n }\n .mdui-row-xl-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-xl-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-xl-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-xl-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-xl-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-xl-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-xl-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-xl-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-xl-12 {\n margin-left: 100%;\n }\n .mdui-row-xl-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n.mdui-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n}\n.mdui-toolbar > * {\n margin: 0 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-toolbar > a {\n user-select: none;\n text-decoration: none;\n color: inherit;\n}\n.mdui-toolbar > .mdui-btn-icon {\n width: 48px;\n min-width: 48px;\n height: 48px;\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-toolbar > .mdui-btn-icon {\n width: 40px;\n min-width: 40px;\n height: 40px;\n }\n}\n.mdui-toolbar > .mdui-btn-icon .mdui-icon {\n height: 24px;\n line-height: 24px;\n}\n.mdui-toolbar .mdui-icon {\n color: inherit;\n}\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n/* 手机 */\n.mdui-toolbar {\n height: 56px;\n line-height: 56px;\n}\n.mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n}\n.mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-appbar .mdui-toolbar {\n height: 64px;\n line-height: 64px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 8px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar .mdui-toolbar {\n height: 48px;\n line-height: 48px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n.mdui-appbar {\n z-index: 1000;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n will-change: left, right;\n transition-property: left, right;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n}\n/* 左侧留出抽屉栏的距离 */\n@media (min-width: 1024px) {\n .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed {\n left: 240px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed {\n right: 240px;\n }\n}\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: 56px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar {\n padding-top: 64px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar {\n padding-top: 48px;\n }\n}\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 104px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 112px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 96px;\n }\n}\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 128px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 136px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 120px;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n background-color: #212121 !important;\n color: #fff !important;\n}\n/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n/* 卡片 */\n.mdui-card {\n box-sizing: border-box;\n position: relative;\n border-radius: 2px;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n box-sizing: border-box;\n padding: 16px;\n position: relative;\n height: 72px;\n}\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n height: 40px;\n width: 40px;\n border-radius: 50%;\n float: left;\n}\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n font-size: 16px;\n line-height: 20px;\n font-weight: 500;\n margin-left: 52px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: 0.87;\n}\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n margin-left: 52px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: 0.54;\n}\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: 0.87;\n}\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: 0.54;\n}\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n line-height: 24px;\n font-size: 14px;\n}\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n.mdui-card-menu .mdui-btn {\n margin-left: 8px;\n}\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n}\n.mdui-card-actions:before,\n.mdui-card-actions:after {\n content: \" \";\n display: table;\n}\n.mdui-card-actions:after {\n clear: both;\n}\n.mdui-card-actions:before,\n.mdui-card-actions:after {\n content: \" \";\n display: table;\n}\n.mdui-card-actions:after {\n clear: both;\n}\n.mdui-card-actions .mdui-btn {\n margin: 0 8px 0 0;\n max-width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-card-actions .mdui-btn-icon {\n width: 36px;\n height: 36px;\n margin: 0 8px;\n}\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked .mdui-btn {\n margin: 0 0 4px 0;\n display: block;\n}\n.mdui-card-actions-stacked .mdui-btn:last-child {\n margin: 0;\n}\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n}\n.mdui-card-media img,\n.mdui-card-media video {\n display: block;\n width: 100%;\n}\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.2);\n color: #fff;\n /* 覆盖在媒体元素上的标题 */\n}\n.mdui-card-media-covered .mdui-card-primary-title {\n opacity: 1;\n}\n.mdui-card-media-covered .mdui-card-primary-subtitle {\n opacity: 0.7;\n}\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n bottom: auto;\n top: 0;\n}\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-card-media-covered-gradient.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-card {\n background-color: #424242;\n color: #fff;\n}\n/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n min-height: 48px;\n max-height: 72px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n}\n.mdui-tab a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 14px;\n box-sizing: border-box;\n text-align: center;\n min-height: 48px;\n max-height: 72px;\n cursor: pointer;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n padding: 12px;\n min-width: 72px;\n outline: none;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.mdui-tab a .mdui-icon {\n opacity: 0.7;\n}\n@media (min-width: 600px) {\n .mdui-tab a {\n min-width: 99px;\n max-width: 264px;\n padding: 12px 24px;\n flex: none;\n }\n}\n@media (min-width: 1024px) {\n .mdui-tab a {\n min-width: 112px;\n }\n}\n@media (min-width: 1440px) {\n .mdui-tab a {\n min-width: 136px;\n }\n}\n@media (min-width: 1920px) {\n .mdui-tab a {\n min-width: 160px;\n }\n}\n.mdui-tab a label {\n cursor: pointer;\n width: 100%;\n display: block;\n}\n.mdui-tab a .mdui-icon + label {\n margin-top: 8px;\n}\n.mdui-tab a[disabled] {\n opacity: 0.38;\n cursor: default;\n}\n.mdui-tab a[disabled] label {\n cursor: default;\n}\n.mdui-tab .mdui-tab-active {\n color: #3F51B5;\n opacity: 1;\n}\n.mdui-tab .mdui-tab-active .mdui-icon {\n opacity: 1;\n}\n/* 选项卡居中 */\n@media (min-width: 600px) {\n .mdui-tab-centered:before {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-tab-centered:after {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-tab-centered a {\n flex: none;\n }\n}\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width a {\n max-width: none;\n flex: 1;\n}\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n}\n.mdui-tab-scrollable a {\n flex: none;\n}\n@media (max-width: 599px) {\n .mdui-tab-scrollable {\n padding-left: 60px;\n }\n}\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n will-change: left, width;\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-tab .mdui-tab-active {\n color: #FFC107;\n}\n.mdui-theme-primary-amber .mdui-tab-indicator {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-tab .mdui-tab-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue .mdui-tab-indicator {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active {\n color: #607D8B;\n}\n.mdui-theme-primary-blue-grey .mdui-tab-indicator {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-tab .mdui-tab-active {\n color: #795548;\n}\n.mdui-theme-primary-brown .mdui-tab-indicator {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-cyan .mdui-tab-indicator {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-orange .mdui-tab-indicator {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active {\n color: #673AB7;\n}\n.mdui-theme-primary-deep-purple .mdui-tab-indicator {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-tab .mdui-tab-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-green .mdui-tab-indicator {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-tab .mdui-tab-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-grey .mdui-tab-indicator {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-indigo .mdui-tab-indicator {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-blue .mdui-tab-indicator {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-light-green .mdui-tab-indicator {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-tab .mdui-tab-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-lime .mdui-tab-indicator {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-tab .mdui-tab-active {\n color: #FF9800;\n}\n.mdui-theme-primary-orange .mdui-tab-indicator {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-tab .mdui-tab-active {\n color: #E91E63;\n}\n.mdui-theme-primary-pink .mdui-tab-indicator {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-tab .mdui-tab-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-purple .mdui-tab-indicator {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-tab .mdui-tab-active {\n color: #F44336;\n}\n.mdui-theme-primary-red .mdui-tab-indicator {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-tab .mdui-tab-active {\n color: #009688;\n}\n.mdui-theme-primary-teal .mdui-tab-indicator {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active {\n color: #FFEB3B;\n}\n.mdui-theme-primary-yellow .mdui-tab-indicator {\n background-color: #FFEB3B;\n}\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-active {\n color: inherit;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-indicator {\n background-color: #FFFFFF;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n .mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.54);\n height: 48px;\n line-height: 48px;\n cursor: default;\n padding-left: 16px;\n padding-right: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-subheader,\n.mdui-theme-layout-dark .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -2px;\n}\n.mdui-grid-list .mdui-col,\n.mdui-grid-list [class*=\"mdui-col-xs-\"],\n.mdui-grid-list [class*=\"mdui-col-sm-\"],\n.mdui-grid-list [class*=\"mdui-col-md-\"],\n.mdui-grid-list [class*=\"mdui-col-lg-\"],\n.mdui-grid-list [class*=\"mdui-col-xl-\"] {\n padding-left: 2px;\n padding-right: 2px;\n}\n/* 单元格 */\n.mdui-grid-tile {\n box-sizing: border-box;\n margin-bottom: 4px;\n overflow: hidden;\n position: relative;\n}\n.mdui-grid-tile img {\n display: block;\n width: 100%;\n}\n/* 操作栏 */\n.mdui-grid-tile-actions {\n display: flex;\n align-items: center;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n box-sizing: border-box;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.mdui-grid-tile-actions .mdui-icon {\n color: #fff;\n}\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n overflow: hidden;\n flex: 1;\n}\n/* 标题 */\n.mdui-grid-tile-title {\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-title .mdui-icon {\n margin-right: 8px;\n}\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n margin-top: 4px;\n font-size: 12px;\n height: 18px;\n line-height: 18px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-subtitle .mdui-icon {\n font-size: 18px;\n margin-right: 8px;\n}\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n white-space: nowrap;\n margin: -8px;\n flex: none;\n}\n.mdui-grid-tile-buttons .mdui-btn {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons .mdui-btn:first-child {\n margin-left: 0;\n}\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n bottom: auto;\n top: 0;\n}\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n background-color: transparent;\n list-style: none;\n}\n.mdui-list .mdui-list {\n padding: 0;\n}\n.mdui-list > .mdui-divider,\n.mdui-list > .mdui-divider-light,\n.mdui-list > .mdui-divider-dark,\n.mdui-list > .mdui-divider-inset,\n.mdui-list > .mdui-divider-inset-light,\n.mdui-list > .mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list a {\n text-decoration: none;\n color: inherit;\n}\n.mdui-list .mdui-subheader,\n.mdui-list .mdui-subheader-inset {\n margin-top: 8px;\n}\n.mdui-list .mdui-subheader:before,\n.mdui-list .mdui-subheader-inset:before {\n content: ' ';\n background-color: rgba(0, 0, 0, 0.12);\n height: 1px;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n}\n.mdui-list .mdui-subheader:first-child,\n.mdui-list .mdui-subheader-inset:first-child {\n margin-top: -8px;\n}\n.mdui-list .mdui-subheader:first-child:before,\n.mdui-list .mdui-subheader-inset:first-child:before {\n background-color: transparent;\n}\n.mdui-list .mdui-subheader-inset:before {\n left: 72px;\n}\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: 0 16px;\n min-height: 48px;\n cursor: pointer;\n text-decoration: none;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-list-item:hover {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item:after {\n content: ' ';\n height: 48px;\n visibility: hidden;\n}\n/* 列表项图标 */\n.mdui-list-item-icon {\n min-width: 24px;\n width: 24px;\n height: 24px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border-radius: 50%;\n background-color: #BDBDBD;\n color: #FFFFFF;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list-item-avatar img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n}\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n}\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n opacity: 0.54;\n font-size: 14px;\n}\n.mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 4px;\n}\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n background-color: rgba(0, 0, 0, 0.08);\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-content {\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-text {\n font-weight: 400;\n}\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon ~ .mdui-list-item-content {\n margin-left: 32px;\n}\n.mdui-checkbox ~ .mdui-list-item-content,\n.mdui-radio ~ .mdui-list-item-content,\n.mdui-switch ~ .mdui-list-item-content {\n margin-left: 20px;\n}\n.mdui-list-item-avatar ~ .mdui-list-item-content {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-list-item-icon,\n.mdui-list-item-content ~ .mdui-list-item-avatar,\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio,\n.mdui-list-item-content ~ .mdui-switch {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio {\n padding-left: 24px;\n}\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n}\n.mdui-list-dense > .mdui-divider,\n.mdui-list-dense > .mdui-divider-light,\n.mdui-list-dense > .mdui-divider-dark,\n.mdui-list-dense > .mdui-divider-inset,\n.mdui-list-dense > .mdui-divider-inset-light,\n.mdui-list-dense > .mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n.mdui-list-dense .mdui-subheader,\n.mdui-list-dense .mdui-subheader-inset {\n margin-top: 4px;\n height: 40px;\n line-height: 40px;\n font-size: 12px;\n}\n.mdui-list-dense .mdui-subheader:first-child,\n.mdui-list-dense .mdui-subheader-inset:first-child {\n margin-top: -4px;\n}\n.mdui-list-dense .mdui-list-item {\n min-height: 40px;\n}\n.mdui-list-dense .mdui-list-item:after {\n height: 40px;\n}\n.mdui-list-dense .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n}\n.mdui-list-dense .mdui-list-item-avatar {\n min-width: 36px;\n min-height: 36px;\n height: 36px;\n width: 36px;\n}\n.mdui-list-dense .mdui-list-item-content {\n font-size: 13px;\n line-height: 18px;\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.mdui-list-dense .mdui-list-item-text {\n font-size: 13px;\n}\n.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 2px;\n}\n.mdui-list-dense .mdui-list-item-one-line {\n height: 18px;\n}\n.mdui-list-dense .mdui-list-item-two-line {\n height: 36px;\n}\n.mdui-list-dense .mdui-list-item-three-line {\n height: 54px;\n}\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before {\n background-color: transparent;\n}\n.mdui-theme-layout-dark .mdui-list-item {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n}\n.mdui-theme-layout-dark .mdui-list-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item-text {\n opacity: 0.7;\n}\n.mdui-theme-layout-dark .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n}\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] .mdui-list-item {\n color: inherit;\n}\n[class*=\"mdui-color-\"] .mdui-list-item-icon {\n color: inherit;\n}\n/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n bottom: 0;\n z-index: 5000;\n will-change: transform;\n margin: 0;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n top: 0;\n width: calc(100% - 56px);\n max-width: 280px;\n}\n@media (max-width: 1023px) {\n .mdui-drawer:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n}\n@media (min-width: 600px) {\n .mdui-drawer {\n width: calc(100% - 64px);\n max-width: 320px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer {\n width: 240px;\n max-width: none;\n }\n .mdui-drawer.mdui-drawer-close {\n box-shadow: none !important;\n }\n}\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n left: auto;\n right: 0;\n}\n/* 平板上的样式 */\n@media (max-width: 1023px) {\n .mdui-drawer {\n /* 默认隐藏 */\n transform: translateX(-330px);\n /* 始终有背景和阴影 */\n background-color: #fff;\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n }\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(330px);\n }\n}\n/* 手机上的样式 */\n@media (max-width: 599px) {\n .mdui-drawer {\n transform: translateX(-290px);\n }\n .mdui-drawer-right {\n transform: translateX(290px);\n }\n}\n/* 强制隐藏抽屉栏 */\n.mdui-drawer-close {\n transform: translateX(-290px);\n}\n.mdui-drawer-close.mdui-drawer-right {\n transform: translateX(290px);\n}\n@media (min-width: 600px) {\n .mdui-drawer-close {\n transform: translateX(-330px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(330px);\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-close {\n transform: translateX(-250px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(250px);\n }\n}\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n/* PC 上的样式 */\n@media (min-width: 1024px) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: 240px;\n }\n .mdui-drawer-body-right {\n padding-right: 240px;\n }\n /* PC 上默认有上边距 */\n .mdui-appbar-with-toolbar .mdui-drawer {\n top: 64px;\n }\n .mdui-appbar-with-tab .mdui-drawer {\n top: 48px;\n }\n .mdui-appbar-with-tab-larger .mdui-drawer {\n top: 72px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer {\n top: 112px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer {\n top: 136px;\n }\n}\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n@media (max-width: 1023px) {\n .mdui-theme-layout-dark .mdui-drawer {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n.mdui-dialog {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n right: 0;\n color: #000;\n background-color: #fff;\n max-height: 90%;\n width: 92%;\n max-width: 728px;\n min-width: 180px;\n margin: auto;\n overflow: hidden;\n border-radius: 2px;\n display: none;\n z-index: 6000;\n will-change: top, opacity, transform;\n opacity: 0;\n transform: scale(0.95);\n transition-property: transform, opacity, visibility;\n transition-duration: 0.3s;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n@media (min-width: 600px) {\n .mdui-dialog {\n max-height: 85%;\n width: 85%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-dialog {\n max-height: 80%;\n width: 80%;\n }\n}\n/* 打开提示框 */\n.mdui-dialog-open {\n opacity: 1;\n transform: scale(1);\n}\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-size: 20px;\n line-height: 24px;\n font-weight: 500;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog > .mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n font-size: 15px;\n color: rgba(0, 0, 0, 0.7);\n padding: 24px;\n line-height: 1.5;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content > .mdui-dialog-title {\n padding-bottom: 20px;\n}\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n}\n.mdui-dialog-actions .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n color: #E91E63;\n}\n.mdui-dialog-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content > .mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n}\n.mdui-dialog-actions-stacked .mdui-btn {\n height: 48px;\n line-height: 48px !important;\n margin: 0;\n width: 100%;\n text-align: right;\n border-radius: 0;\n}\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-dialog {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n.mdui-dialog-alert {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n.mdui-dialog-prompt {\n max-width: 448px;\n}\n.mdui-dialog-prompt .mdui-textfield {\n padding-top: 0;\n}\n/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n.mdui-shadow-0 {\n box-shadow: none;\n}\n.mdui-shadow-1 {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-2 {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-3 {\n box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-4 {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-5 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-6 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-7 {\n box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-8 {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-9 {\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-10 {\n box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-11 {\n box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-12 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-13 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-14 {\n box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-15 {\n box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-16 {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-17 {\n box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-18 {\n box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-19 {\n box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-20 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-21 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-22 {\n box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-23 {\n box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-24 {\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n will-change: box-shadow;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-hoverable:hover,\n.mdui-hoverable:focus {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n.mdui-tooltip {\n position: absolute;\n z-index: 9000;\n display: inline-block;\n box-sizing: border-box;\n font-weight: 500;\n color: #fff;\n text-align: left;\n background-color: rgba(97, 97, 97, 0.9);\n border-radius: 2px;\n opacity: 0;\n transition-property: opacity, transform;\n transition-duration: 0.15s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transform: scale(0);\n will-change: opacity, transform;\n font-size: 14px;\n padding: 8px 16px;\n min-height: 32px;\n line-height: 22px;\n max-width: 180px;\n}\n@media (min-width: 1024px) {\n .mdui-tooltip {\n font-size: 12px;\n padding: 4px 8px;\n min-height: 24px;\n line-height: 18px;\n max-width: 200px;\n }\n}\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}\n/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n.mdui-snackbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 24px 0 24px;\n font-size: 14px;\n min-height: 48px;\n line-height: 20px;\n background-color: #323232;\n color: #fff;\n position: fixed;\n z-index: 7000;\n will-change: transform;\n width: 100%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar-left-top {\n left: 24px;\n top: 24px;\n }\n .mdui-snackbar-left-bottom {\n left: 24px;\n bottom: 24px;\n }\n .mdui-snackbar-right-top {\n right: 24px;\n top: 24px;\n }\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n/* 文本 */\n.mdui-snackbar-text {\n padding: 14px 0 14px 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n color: #FF80AB;\n}\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-snackbar-action {\n color: #FFE57F;\n}\n.mdui-theme-accent-blue .mdui-snackbar-action {\n color: #82B1FF;\n}\n.mdui-theme-accent-cyan .mdui-snackbar-action {\n color: #84FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-snackbar-action {\n color: #FF9E80;\n}\n.mdui-theme-accent-deep-purple .mdui-snackbar-action {\n color: #B388FF;\n}\n.mdui-theme-accent-green .mdui-snackbar-action {\n color: #B9F6CA;\n}\n.mdui-theme-accent-indigo .mdui-snackbar-action {\n color: #8C9EFF;\n}\n.mdui-theme-accent-light-blue .mdui-snackbar-action {\n color: #80D8FF;\n}\n.mdui-theme-accent-light-green .mdui-snackbar-action {\n color: #CCFF90;\n}\n.mdui-theme-accent-lime .mdui-snackbar-action {\n color: #F4FF81;\n}\n.mdui-theme-accent-orange .mdui-snackbar-action {\n color: #FFD180;\n}\n.mdui-theme-accent-pink .mdui-snackbar-action {\n color: #FF80AB;\n}\n.mdui-theme-accent-purple .mdui-snackbar-action {\n color: #EA80FC;\n}\n.mdui-theme-accent-red .mdui-snackbar-action {\n color: #FF8A80;\n}\n.mdui-theme-accent-teal .mdui-snackbar-action {\n color: #A7FFEB;\n}\n.mdui-theme-accent-yellow .mdui-snackbar-action {\n color: #FFFF8D;\n}\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-snackbar {\n background-color: #5d5d5d;\n}\n/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n.mdui-chip {\n box-sizing: border-box;\n display: inline-block;\n height: 32px;\n border-radius: 16px;\n white-space: nowrap;\n background-color: #e0e0e0;\n cursor: pointer;\n user-select: none;\n margin: 2px 0;\n will-change: box-shadow;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-chip:hover,\n.mdui-chip:focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-chip:active {\n background-color: #d6d6d6;\n}\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n margin-right: -4px;\n font-size: 18px;\n line-height: 32px;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n background-color: #989898;\n color: #ffffff;\n}\n.mdui-chip-icon .mdui-icon {\n position: absolute;\n left: 4px;\n top: 4px;\n color: #ffffff;\n}\n/* 文本 */\n.mdui-chip-title {\n height: 32px;\n line-height: 32px;\n padding-left: 12px;\n padding-right: 12px;\n font-size: 14px;\n vertical-align: middle;\n display: inline-block;\n}\n/* 删除按钮 */\n.mdui-chip-delete {\n height: 24px;\n width: 24px;\n opacity: 0.54;\n cursor: pointer;\n margin-left: -8px;\n margin-right: 4px;\n text-decoration: none;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n border-radius: 50%;\n will-change: opacity;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-chip-delete:hover,\n.mdui-chip-delete:focus {\n opacity: 0.87;\n}\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-chip {\n background-color: #484848;\n}\n.mdui-theme-layout-dark .mdui-chip:active {\n background-color: #5d5d5d;\n}\n/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n.mdui-bottom-nav {\n display: flex;\n position: relative;\n overflow: hidden;\n height: 56px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav:before {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-bottom-nav:after {\n content: ' ';\n flex-grow: 1;\n }\n}\n.mdui-bottom-nav a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 12px;\n text-align: center;\n cursor: pointer;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n will-change: padding;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav a {\n max-width: 144px;\n }\n}\n.mdui-bottom-nav a .mdui-icon {\n opacity: 0.7;\n}\n.mdui-bottom-nav a label {\n cursor: pointer;\n width: 100%;\n display: block;\n will-change: font-size;\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-bottom-nav a .mdui-icon + label {\n margin-top: 6px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n opacity: 1;\n font-size: 14px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon {\n opacity: 1;\n}\n/* 只在激活时显示文本 */\n.mdui-bottom-nav-text-auto a {\n padding-left: 0;\n padding-right: 0;\n min-width: 32px;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav-text-auto a {\n max-width: 156px;\n }\n}\n.mdui-bottom-nav-text-auto a .mdui-icon {\n padding-top: 16px;\n will-change: padding-top;\n transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-bottom-nav-text-auto a label {\n transform: scale(0);\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active {\n padding-left: 18px;\n padding-right: 18px;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon {\n padding-top: 0;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label {\n transform: scale(1);\n}\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n padding-bottom: 56px;\n}\n.mdui-bottom-nav-fixed .mdui-bottom-nav {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n}\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFEB3B;\n}\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] .mdui-bottom-nav-active {\n color: inherit !important;\n}\n/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: rgba(63, 81, 181, 0.2);\n border-radius: 2px;\n overflow: hidden;\n}\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: #3F51B5;\n transition: width 0.3s linear;\n}\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-progress-indeterminate:before {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate 2s linear infinite;\n}\n.mdui-progress-indeterminate:after {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n}\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-progress {\n background-color: rgba(255, 193, 7, 0.2);\n}\n.mdui-theme-primary-amber .mdui-progress-determinate,\n.mdui-theme-primary-amber .mdui-progress-indeterminate {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-progress {\n background-color: rgba(33, 150, 243, 0.2);\n}\n.mdui-theme-primary-blue .mdui-progress-determinate,\n.mdui-theme-primary-blue .mdui-progress-indeterminate {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-progress {\n background-color: rgba(96, 125, 139, 0.2);\n}\n.mdui-theme-primary-blue-grey .mdui-progress-determinate,\n.mdui-theme-primary-blue-grey .mdui-progress-indeterminate {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-progress {\n background-color: rgba(121, 85, 72, 0.2);\n}\n.mdui-theme-primary-brown .mdui-progress-determinate,\n.mdui-theme-primary-brown .mdui-progress-indeterminate {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-progress {\n background-color: rgba(0, 188, 212, 0.2);\n}\n.mdui-theme-primary-cyan .mdui-progress-determinate,\n.mdui-theme-primary-cyan .mdui-progress-indeterminate {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-progress {\n background-color: rgba(255, 87, 34, 0.2);\n}\n.mdui-theme-primary-deep-orange .mdui-progress-determinate,\n.mdui-theme-primary-deep-orange .mdui-progress-indeterminate {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-progress {\n background-color: rgba(103, 58, 183, 0.2);\n}\n.mdui-theme-primary-deep-purple .mdui-progress-determinate,\n.mdui-theme-primary-deep-purple .mdui-progress-indeterminate {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-progress {\n background-color: rgba(76, 175, 80, 0.2);\n}\n.mdui-theme-primary-green .mdui-progress-determinate,\n.mdui-theme-primary-green .mdui-progress-indeterminate {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-progress {\n background-color: rgba(158, 158, 158, 0.2);\n}\n.mdui-theme-primary-grey .mdui-progress-determinate,\n.mdui-theme-primary-grey .mdui-progress-indeterminate {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-progress {\n background-color: rgba(63, 81, 181, 0.2);\n}\n.mdui-theme-primary-indigo .mdui-progress-determinate,\n.mdui-theme-primary-indigo .mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-progress {\n background-color: rgba(3, 169, 244, 0.2);\n}\n.mdui-theme-primary-light-blue .mdui-progress-determinate,\n.mdui-theme-primary-light-blue .mdui-progress-indeterminate {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-progress {\n background-color: rgba(139, 195, 74, 0.2);\n}\n.mdui-theme-primary-light-green .mdui-progress-determinate,\n.mdui-theme-primary-light-green .mdui-progress-indeterminate {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-progress {\n background-color: rgba(205, 220, 57, 0.2);\n}\n.mdui-theme-primary-lime .mdui-progress-determinate,\n.mdui-theme-primary-lime .mdui-progress-indeterminate {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-progress {\n background-color: rgba(255, 152, 0, 0.2);\n}\n.mdui-theme-primary-orange .mdui-progress-determinate,\n.mdui-theme-primary-orange .mdui-progress-indeterminate {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-progress {\n background-color: rgba(233, 30, 99, 0.2);\n}\n.mdui-theme-primary-pink .mdui-progress-determinate,\n.mdui-theme-primary-pink .mdui-progress-indeterminate {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-progress {\n background-color: rgba(156, 39, 176, 0.2);\n}\n.mdui-theme-primary-purple .mdui-progress-determinate,\n.mdui-theme-primary-purple .mdui-progress-indeterminate {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-progress {\n background-color: rgba(244, 67, 54, 0.2);\n}\n.mdui-theme-primary-red .mdui-progress-determinate,\n.mdui-theme-primary-red .mdui-progress-indeterminate {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-progress {\n background-color: rgba(0, 150, 136, 0.2);\n}\n.mdui-theme-primary-teal .mdui-progress-determinate,\n.mdui-theme-primary-teal .mdui-progress-indeterminate {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-progress {\n background-color: rgba(255, 235, 59, 0.2);\n}\n.mdui-theme-primary-yellow .mdui-progress-determinate,\n.mdui-theme-primary-yellow .mdui-progress-indeterminate {\n background-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n.mdui-spinner {\n display: inline-block;\n position: relative;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: #3F51B5;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-1 {\n border-color: #42A5F5 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-2 {\n border-color: #F44336 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-3 {\n border-color: #FDD835 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-4 {\n border-color: #4CAF50 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% {\n transform: rotate(135deg);\n }\n 25% {\n transform: rotate(270deg);\n }\n 37.5% {\n transform: rotate(405deg);\n }\n 50% {\n transform: rotate(540deg);\n }\n 62.5% {\n transform: rotate(675deg);\n }\n 75% {\n transform: rotate(810deg);\n }\n 87.5% {\n transform: rotate(945deg);\n }\n to {\n transform: rotate(1080deg);\n }\n}\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-gap-patch .mdui-spinner-circle {\n width: 1000%;\n left: -450%;\n box-sizing: border-box;\n}\n.mdui-spinner-circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-circle-clipper .mdui-spinner-circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left {\n float: left;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right {\n float: right;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-left-spin {\n from {\n transform: rotate(130deg);\n }\n 50% {\n transform: rotate(-5deg);\n }\n to {\n transform: rotate(130deg);\n }\n}\n@keyframes mdui-spinner-right-spin {\n from {\n transform: rotate(-130deg);\n }\n 50% {\n transform: rotate(5deg);\n }\n to {\n transform: rotate(-130deg);\n }\n}\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-spinner-layer {\n border-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-spinner-layer {\n border-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-spinner-layer {\n border-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-spinner-layer {\n border-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-spinner-layer {\n border-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-spinner-layer {\n border-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-spinner-layer {\n border-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-spinner-layer {\n border-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-spinner-layer {\n border-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-spinner-layer {\n border-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-spinner-layer {\n border-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-spinner-layer {\n border-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-spinner-layer {\n border-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-spinner-layer {\n border-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-spinner-layer {\n border-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-spinner-layer {\n border-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-spinner-layer {\n border-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-spinner-layer {\n border-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-spinner-layer {\n border-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n/* 面板项 */\n.mdui-panel-item {\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n will-change: margin;\n transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item:last-child {\n border-bottom: none;\n}\n/* 面板头部 */\n.mdui-panel-item-header {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n position: relative;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n will-change: height, background-color;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-panel-item-header:active {\n background-color: #EEEEEE;\n}\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n font-weight: 500;\n padding-right: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n right: 24px;\n top: 12px;\n color: rgba(0, 0, 0, 0.54);\n user-select: none;\n will-change: transform, top;\n transform: rotate(0);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n right: 0;\n top: 0 !important;\n}\n/* 面板项内容 */\n.mdui-panel-item-body {\n padding: 0 24px;\n height: 0;\n overflow: hidden;\n will-change: height;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-panel-item-body:before,\n.mdui-panel-item-body:after {\n content: \" \";\n display: table;\n}\n.mdui-panel-item-body:after {\n clear: both;\n}\n.mdui-panel-item-body:before,\n.mdui-panel-item-body:after {\n content: \" \";\n display: table;\n}\n.mdui-panel-item-body:after {\n clear: both;\n}\n.mdui-panel-item-body:after {\n height: 16px;\n}\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n text-align: right;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item-actions .mdui-btn {\n margin-left: 8px;\n}\n.mdui-panel-item-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-gapless .mdui-panel-item {\n box-shadow: none;\n}\n.mdui-panel-gapless .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n}\n/* 弹出面板 */\n.mdui-panel-popout .mdui-panel-item-open {\n margin-left: -16px;\n margin-right: -16px;\n}\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header {\n height: 64px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow {\n transform: rotate(180deg);\n top: 20px;\n}\n.mdui-panel-item-open > .mdui-panel-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-panel-item {\n background-color: #303030;\n color: #fff;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-panel-item:last-child {\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-panel-item-header:active {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-panel-item-arrow {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n/* 菜单 */\n.mdui-menu {\n box-sizing: border-box;\n padding: 8px 0;\n margin: 0;\n font-size: 16px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n width: 168px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n list-style: none;\n display: block;\n z-index: 99999;\n opacity: 0;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: 0.3s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n visibility: hidden;\n transform: scale(0);\n position: fixed;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-menu .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n/* 打开状态的菜单 */\n.mdui-menu-open {\n visibility: visible;\n transform: scale(1);\n opacity: 1;\n}\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n visibility: visible;\n transform: scale(1);\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n}\n.mdui-menu-item > a {\n position: relative;\n display: block;\n color: inherit;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-menu-item > a:hover {\n background-color: #EEEEEE;\n}\n.mdui-menu-item > .mdui-menu {\n position: absolute;\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu-item[disabled] > a {\n cursor: default;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-menu-item[disabled] > a:hover {\n background-color: inherit !important;\n}\n.mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(0, 0, 0, 0.26);\n}\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: #EEEEEE;\n}\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n color: rgba(0, 0, 0, 0.54);\n width: 40px;\n padding-right: 16px;\n box-sizing: border-box;\n display: inline-block;\n}\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n/* 级联菜单 */\n.mdui-menu-cascade {\n padding: 16px 0;\n font-size: 15px;\n width: 320px;\n overflow-y: visible;\n}\n.mdui-menu-cascade > .mdui-menu-item > a {\n height: 32px;\n line-height: 32px;\n padding: 0 24px;\n}\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-menu {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-menu-item > a:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-menu-item-active {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n\n/* 输入框 */\n.mdui-textfield-input {\n width: 100%;\n overflow: hidden;\n padding: 8px 0;\n appearance: none;\n box-sizing: border-box;\n border: none;\n background: none;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n box-shadow: none;\n display: block;\n margin: 0;\n height: 36px;\n line-height: 20px;\n font-size: 16px;\n font-family: inherit;\n outline: none;\n resize: none;\n transition-property: border-bottom-color, padding-right, box-shadow;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-default;\n border-bottom: 1px solid rgba(0, 0, 0, .42);\n\n &::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n }\n\n &:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, .87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87);\n cursor: pointer;\n }\n\n &[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n/* 文本框 label */\n.mdui-textfield-label {\n pointer-events: none;\n display: block;\n font-size: 16px;\n width: 100%;\n transform-origin: left;\n color: rgba(0, 0, 0, 0.54);\n transition: all .2s;\n transform: scale(0.75) translateY(0);\n}\n\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n font-size: 12px;\n .mdui-text-truncate();\n height: 12px;\n line-height: 12px;\n}\n\n.mdui-textfield-error {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), .87);\n visibility: hidden;\n}\n\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n\n\n/* 表单中的图标\n ========== */\n.mdui-textfield {\n .mdui-icon {\n position: absolute;\n bottom: 8px;\n color: @color-black-icon;\n padding: 6px;\n\n ~ .mdui-textfield-label,\n ~ .mdui-textfield-input,\n ~ .mdui-textfield-error,\n ~ .mdui-textfield-helper,\n ~ .mdui-textfield-flex-wrap {\n margin-left: 56px;\n width: calc(~\"100% - 56px\");\n }\n }\n}\n\n.mdui-textfield-has-bottom {\n .mdui-icon {\n bottom: 28px;\n }\n}\n\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a700;\n box-shadow: 0 1px 0 0 @color-default-a700;\n }\n\n .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@color-default-a700), green(@color-default-a700), blue(@color-default-a700), .87);\n }\n}\n\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label {\n\n .mdui-textfield-label {\n transform: scale(1) translateY(27px);\n color: rgba(0, 0, 0, 0.35);\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n transform: scale(0.75) translateY(0);\n color: rgba(0, 0, 0, 0.65);\n }\n }\n &.mdui-textfield-focus {\n .mdui-textfield-label {\n .mdui-text-color(@color-accent-default-name);\n }\n }\n}\n\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n padding: 1px 0;\n min-height: 36px;\n transition: width .3s @animation-curve-default;\n\n .mdui-icon {\n bottom: 0;\n padding: 0;\n }\n\n .mdui-textfield-input {\n margin-left: 36px;\n width: calc(~\"100% - 36px\");\n padding-right: 0;\n }\n\n .mdui-textfield-icon {\n position: absolute;\n left: 0;\n top: 0;\n }\n\n .mdui-textfield-close {\n position: absolute;\n right: 0;\n top: 0;\n transform: scale(0);\n }\n\n &.mdui-textfield-expanded {\n width: 100%;\n\n .mdui-textfield-input {\n padding-right: 36px;\n }\n\n .mdui-textfield-close {\n transform: scale(1);\n }\n }\n}\n\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid,\n.mdui-textfield-invalid-html5 {\n\n .mdui-textfield-input,\n &.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: @color-red-a400 !important;\n box-shadow: 0 1px 0 0 @color-red-a400 !important;\n }\n\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n\n &.mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), 0.35) !important;\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n }\n }\n\n .mdui-textfield-error {\n visibility: visible;\n\n &+.mdui-textfield-helper {\n visibility: hidden;\n }\n }\n}\n\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-black-disabled;\n }\n\n .mdui-textfield-input {\n color: rgba(0, 0, 0, .42);\n cursor: default;\n }\n\n .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, .42);\n }\n}\n\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n font-size: 12px;\n bottom: 8px;\n color: @color-black-secondary;\n height: 12px;\n line-height: 12px;\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 输入框颜色\n .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, .7);\n\n &::-webkit-input-placeholder {\n color: rgba(255, 255, 255, .5);\n }\n\n &:not([disabled]):hover {\n border-bottom-color: rgba(255, 255, 255, 1);\n box-shadow: 0 1px 0 0 rgba(255, 255, 255, 1);\n }\n }\n\n // 图标颜色\n .mdui-textfield {\n .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n }\n\n // 标签颜色\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n\n .mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n }\n\n // 错误文本颜色\n .mdui-textfield-error {\n color: @color-red-a400;\n }\n\n // 帮助文本颜色\n .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n\n // 字数统计颜色\n .mdui-textfield-counter {\n color: @color-white-secondary;\n }\n\n // 聚焦状态\n .mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a200;\n box-shadow: 0 1px 0 0 @color-default-a200;\n }\n\n .mdui-textfield-label {\n color: @color-default-a200;\n }\n }\n\n // 禁用状态\n .mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n @colorA700: 'color-@{colorName}-a700';\n @colorA200: 'color-@{colorName}-a200';\n\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA700;\n box-shadow: 0 1px 0 0 @@colorA700;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@@colorA700), green(@@colorA700), blue(@@colorA700), .87);\n }\n }\n\n // 暗色主题\n &.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA200;\n box-shadow: 0 1px 0 0 @@colorA200;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: @@colorA200;\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n","// 根据背景色设置文本色\n._mdui-color-text-color(@color-is-dark) {\n & when (@color-is-dark = true) {\n color: @color-white-text;\n }\n & when (@color-is-dark = false) {\n color: @color-black-text;\n }\n}\n\n// hover 状态背景色\n._mdui-background-color-hover(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-400';\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-600';\n background-color: @@color;\n }\n}\n\n// active 状态背景色\n._mdui-background-color-active(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-300';\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-700';\n background-color: @@color;\n }\n}\n\n// 仅设置背景色\n.mdui-background-color(@colorName, @degree: 500) {\n @color: 'color-@{colorName}-@{degree}';\n background-color: @@color;\n}\n\n// 背景色和文本色\n.mdui-color(@colorName, @degree: 500) {\n .mdui-background-color(@colorName, @degree);\n\n @color-is-dark: 'color-@{colorName}-@{degree}-is-dark';\n ._mdui-color-text-color(@@color-is-dark);\n}\n\n// 文本色\n.mdui-text-color(@colorName, @degree: 500, @opacity: 1) {\n @color: 'color-@{colorName}-@{degree}';\n\n & when (@opacity = 1) {\n color: @@color;\n }\n & when (@opacity < 1) {\n color: rgba(red(@@color), green(@@color), blue(@@color), @opacity);\n }\n}\n","/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n\n@global-primary-color-degrees-length: length(@globalPrimaryColorDegrees);\n@global-primary-colors-length: length(@globalPrimaryColors);\n@global-accent-color-degrees-length: length(@globalAccentColorDegrees);\n@global-accent-colors-length: length(@globalAccentColors);\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} {\n\n // .mdui-theme-primary-[color] .mdui-color-theme\n .mdui-color-theme {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n // .mdui-theme-accent-[color] .mdui-color-theme-accent\n .mdui-color-theme-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n & {\n // .mdui-color-[color]\n .mdui-color-@{colorName} {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-color-[color]-accent\n .mdui-color-@{colorName}-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n\n.mdui-color-black {\n background-color: @color-black !important;\n color: @color-white-text !important;\n}\n\n.mdui-color-white {\n background-color: @color-white !important;\n color: @color-black-text !important;\n}\n\n.mdui-color-transparent {\n background-color: @color-transparent !important;\n}\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} {\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme\n .mdui-text-color-theme {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n .mdui-text-color-theme-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]\n .mdui-text-color-@{colorName} {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]-accent\n .mdui-text-color-@{colorName}-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n\n.mdui-text-color-black {\n color: @color-black !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: @color-black-text !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: @color-black-secondary !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: @color-black-disabled !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: @color-black-divider !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: @color-black-icon !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: @color-black-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: @color-white !important;\n}\n.mdui-text-color-white-text {\n color: @color-white-text !important;\n}\n.mdui-text-color-white-secondary {\n color: @color-white-secondary !important;\n}\n.mdui-text-color-white-disabled {\n color: @color-white-disabled !important;\n}\n.mdui-text-color-white-divider {\n color: @color-white-divider !important;\n}\n.mdui-text-color-white-icon {\n color: @color-white-icon !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: @color-white-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-text-color-theme-text {\n color: @color-white-text !important;\n }\n .mdui-text-color-theme-secondary {\n color: @color-white-secondary !important;\n }\n .mdui-text-color-theme-disabled {\n color: @color-white-disabled !important;\n }\n .mdui-text-color-theme-divider {\n color: @color-white-divider !important;\n }\n .mdui-text-color-theme-icon {\n color: @color-white-icon !important;\n }\n .mdui-text-color-theme-icon-disabled {\n color: @color-white-icon-disabled !important;\n }\n}","// ======================== 边距\n.mdui-m-a(@spacing) {\n margin: @spacing * @spacing-base;\n}\n.mdui-m-t(@spacing) {\n margin-top: @spacing * @spacing-base;\n}\n.mdui-m-r(@spacing) {\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-b(@spacing) {\n margin-bottom: @spacing * @spacing-base;\n}\n.mdui-m-l(@spacing) {\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-x(@spacing) {\n margin-left: @spacing * @spacing-base;\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-y(@spacing) {\n margin-top: @spacing * @spacing-base;\n margin-bottom: @spacing * @spacing-base;\n}\n\n.mdui-p-a(@spacing) {\n padding: @spacing * @spacing-base;\n}\n.mdui-p-t(@spacing) {\n padding-top: @spacing * @spacing-base;\n}\n.mdui-p-r(@spacing) {\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-b(@spacing) {\n padding-bottom: @spacing * @spacing-base;\n}\n.mdui-p-l(@spacing) {\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-x(@spacing) {\n padding-left: @spacing * @spacing-base;\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-y(@spacing) {\n padding-top: @spacing * @spacing-base;\n padding-bottom: @spacing * @spacing-base;\n}\n\n//=========================== 清除浮动\n// 清除浮动\n.mdui-clearfix(){\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n &:after {\n clear: both;\n }\n}\n\n// 用省略号代替被截断的文本\n.mdui-text-truncate() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n// 文本强制换行\n.mdui-textwrap() {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n// 使子元素垂直居中\n.mdui-valign() {\n display: flex;\n align-items: center;\n}\n\n// 使元素水平居中\n.mdui-center() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n// 美化滚动条样式\n.mdui-scrollbar-beautify(@layout: light) {\n // 亮色主题\n & when (@layout = light) {\n &::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n }\n }\n\n // 暗色主题\n & when (@layout = dark) {\n &::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n }\n\n}","/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n\n/**\n * =================== 边距\n */\n._spacing_margin_mixin(@spacing) when (@spacing > -1) {\n ._spacing_margin_mixin(@spacing - 1);\n\n .mdui-m-a-@{spacing} {\n .mdui-m-a(@spacing) !important;\n }\n .mdui-m-t-@{spacing} {\n .mdui-m-t(@spacing) !important;\n }\n .mdui-m-r-@{spacing} {\n .mdui-m-r(@spacing) !important;\n }\n .mdui-m-b-@{spacing} {\n .mdui-m-b(@spacing) !important;\n }\n .mdui-m-l-@{spacing} {\n .mdui-m-l(@spacing) !important;\n }\n .mdui-m-x-@{spacing} {\n .mdui-m-x(@spacing) !important;\n }\n .mdui-m-y-@{spacing} {\n .mdui-m-y(@spacing) !important;\n }\n\n .mdui-p-a-@{spacing} {\n .mdui-p-a(@spacing) !important;\n }\n .mdui-p-t-@{spacing} {\n .mdui-p-t(@spacing) !important;\n }\n .mdui-p-r-@{spacing} {\n .mdui-p-r(@spacing) !important;\n }\n .mdui-p-b-@{spacing} {\n .mdui-p-b(@spacing) !important;\n }\n .mdui-p-l-@{spacing} {\n .mdui-p-l(@spacing) !important;\n }\n .mdui-p-x-@{spacing} {\n .mdui-p-x(@spacing) !important;\n }\n .mdui-p-y-@{spacing} {\n .mdui-p-y(@spacing) !important;\n }\n}\n\n._spacing_margin_mixin(5);\n\n\n/**\n * ======================== 快速浮动\n */\n\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n .mdui-center() !important;\n}\n\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n .mdui-valign() !important;\n}\n\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n .mdui-text-truncate();\n}\n\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix {\n .mdui-clearfix();\n}\n\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n\n/* Responsive utilities 响应式工具\n ========================================================================== */\n\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) and (max-width: @screen-lg-max) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-sm-max) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-md-max) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-lg-max) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: @screen-sm-min) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n\nbody {\n font-family: @font-family-base;\n font-size: @screen-xs-font-size;\n background-color: @body-background-color;\n color: @body-text-color;\n @media (min-width: @screen-sm-min) {\n font-size: @screen-sm-font-size;\n }\n @media (min-width: @screen-md-min) {\n font-size: @screen-md-font-size;\n }\n\n // 滚动条样式\n * {\n .mdui-scrollbar-beautify(light);\n }\n\n // 夜间模式滚动条样式\n &.mdui-theme-layout-dark {\n * {\n .mdui-scrollbar-beautify(dark);\n }\n }\n}\n\n* {\n -webkit-tap-highlight-color: transparent;\n}\n\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n z-index: @z-index-overlay;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n backface-visibility: hidden;\n background: rgba(0, 0, 0, .4);\n will-change: opacity;\n opacity: 0;\n visibility: hidden;\n transition-property: opacity, visibility;\n transition-duration: .3s;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n opacity: 1;\n visibility: visible;\n}\n\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n background-color: @layout-dark-color-3;\n color: #fff;\n}","/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n\n.mdui-icon,\n.mdui-icon::before {\n font-weight: normal;\n font-style: normal;\n font-size: 24px; /* Preferred icon size */\n vertical-align: middle;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n color: inherit;\n}\n\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n","/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src:\n local('Material Icons'),\n local('MaterialIcons-Regular'),\n url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),\n url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n\n.material-icons {\n font-family: 'Material Icons';\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n","/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Thin'), local('Roboto-Thin'),\n url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n font-weight: 100;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'),\n url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n font-weight: 100;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Light'), local('Roboto-Light'),\n url('../fonts/roboto/Roboto-Light.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Light.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'),\n url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n font-weight: 300;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Regular'), local('Roboto-Regular'),\n url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'),\n url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Medium'), local('Roboto-Medium'),\n url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'),\n url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n font-weight: 500;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Bold'), local('Roboto-Bold'),\n url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'),\n url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n font-weight: 700;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Black'), local('Roboto-Black'),\n url('../fonts/roboto/Roboto-Black.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Black.woff') format('woff');\n font-weight: 900;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'),\n url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n font-weight: 900;\n font-style: italic;\n}\n","/**\n * =============================================================================\n * ************ Typography 排版 ************\n * =============================================================================\n */\n\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n .mdui-typo-display-4();\n}\n.mdui-typo-display-4-opacity {\n ._mdui-typo-display-4-opacity();\n}\n\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n .mdui-typo-display-3();\n}\n.mdui-typo-display-3-opacity {\n ._mdui-typo-display-3-opacity();\n}\n\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n .mdui-typo-display-2();\n}\n.mdui-typo-display-2-opacity {\n ._mdui-typo-display-2-opacity();\n}\n\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n .mdui-typo-display-1();\n}\n.mdui-typo-display-1-opacity {\n ._mdui-typo-display-1-opacity();\n}\n\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n .mdui-typo-headline();\n}\n.mdui-typo-headline-opacity {\n ._mdui-typo-headline-opacity();\n}\n\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n .mdui-typo-title();\n}\n.mdui-typo-title-opacity {\n ._mdui-typo-title-opacity();\n}\n\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n .mdui-typo-subheading();\n}\n.mdui-typo-subheading-opacity {\n ._mdui-typo-subheading-opacity();\n}\n\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n .mdui-typo-body-2();\n}\n.mdui-typo-body-2-opacity {\n ._mdui-typo-body-2-opacity();\n}\n\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n .mdui-typo-body-1();\n}\n.mdui-typo-body-1-opacity {\n ._mdui-typo-body-1-opacity();\n}\n\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n .mdui-typo-caption();\n}\n.mdui-typo-caption-opacity {\n ._mdui-typo-caption-opacity();\n}\n\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n\n address, caption, cite, code, dfn, th {\n font-style: normal;\n font-weight: 400;\n }\n\n caption, th {\n text-align: left;\n }\n\n q:before, q:after {\n content: '';\n }\n\n pre, code, kbd, samp, pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n }\n\n figcaption {\n font-size: 80%;\n color: @color-black-secondary;\n }\n\n [draggable],\n [draggable=\"true\"] {\n cursor: move;\n }\n\n [draggable=\"false\"] {\n cursor: inherit;\n }\n\n p, pre, ul, ol, dl, form, hr, figure, table, .mdui-table, .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n }\n\n /* a */\n a {\n .mdui-text-color(@color-accent-default-name, a200);\n display: inline-block;\n vertical-align: top;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n outline: none;\n\n &:before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: @color-default-a200;\n content: ' ';\n transition: all 0.2s;\n backface-visibility: hidden;\n transform: scaleX(0);\n }\n\n &:hover:before,\n &:focus:before {\n transform: scaleX(1);\n }\n }\n\n /* small */\n small {\n font-size: 80%;\n }\n\n /* blockquote */\n blockquote {\n font-weight: 400;\n border-left: 4px solid @color-black-divider;\n padding-left: 1em;\n margin: 1em 3em 1em 2em;\n @media only screen and ( max-width: @screen-xs-max ) {\n margin: 1em 0;\n }\n\n footer {\n color: @color-black-secondary;\n font-size: 86%;\n }\n }\n\n /* mark */\n mark {\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n padding: 2px;\n margin: 0 5px;\n }\n\n /* h1 - h6 */\n h1, h2, h3, h4, h5, h6 {\n font-weight: 400;\n color: inherit;\n font-family: inherit;\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n line-height: 1.35;\n\n small {\n font-size: 65%;\n line-height: 1;\n font-weight: 400;\n color: @color-black-secondary;\n }\n }\n h1 {\n font-size: 2em;\n }\n h2 {\n font-size: 1.8em;\n }\n h3 {\n font-size: 1.6em;\n }\n h4 {\n font-size: 1.4em;\n }\n h5 {\n font-size: 1.2em;\n }\n h6 {\n font-size: 1.1em;\n }\n\n /* code */\n code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n }\n\n /* pre code */\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n line-height: 1.7;\n }\n\n /* abbr */\n abbr[title] {\n cursor: help;\n text-decoration: none;\n border-bottom: 1px dotted;\n }\n\n /* ins */\n ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n }\n\n /* u */\n u {\n text-decoration: none;\n border-bottom: 1px solid;\n }\n\n /* del */\n del {\n text-decoration: line-through;\n }\n\n /* hr */\n hr {\n border: none;\n border-bottom: 1px solid @color-black-divider;\n margin-bottom: 0.8em;\n height: 10px;\n }\n\n /* pre */\n pre {\n border-radius: 2px;\n border: 1px solid @color-black-divider;\n padding: 12px 16px;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n }\n\n /* kbd */\n kbd {\n padding: 2px 6px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n }\n\n /* ul / ol */\n ul {\n padding-left: 2em;\n list-style: disc;\n }\n ol {\n list-style: decimal;\n padding-left: 2em;\n }\n li ul,\n li ol {\n margin: 0.8em 0;\n }\n li ul {\n list-style: circle;\n }\n\n /* img */\n img {\n max-width: 100%;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-typo {\n a {\n .mdui-text-color(@colorName, a200);\n\n &:before {\n .mdui-background-color(@colorName, a200);\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-typo {\n\n blockquote {\n border-left-color: @color-white-divider;\n\n footer {\n color: @color-white-secondary;\n }\n }\n\n figcaption {\n color: @color-white-secondary;\n }\n\n mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n\n h1, h2, h3, h4, h5, h6 {\n small {\n color: @color-white-secondary;\n }\n }\n\n code {\n background-color: #424242;\n color: @color-red-100;\n }\n\n pre {\n background: #424242;\n border-color: @color-white-divider;\n }\n\n kbd {\n background: #424242;\n }\n\n hr {\n border-color: @color-white-divider;\n }\n\n }\n}\n","._mdui-typo-display-4-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-4(@opacity: false) {\n font-size: 112px;\n font-weight: 300;\n letter-spacing: -.04em;\n & when (@opacity = true) {\n ._mdui-typo-display-4-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-3-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-3(@opacity: false) {\n font-size: 56px;\n font-weight: 400;\n letter-spacing: -.02em;\n & when (@opacity = true) {\n ._mdui-typo-display-3-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-2-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-2(@opacity: false) {\n font-size: 45px;\n font-weight: 400;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-1-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-1(@opacity: false) {\n font-size: 34px;\n font-weight: 400;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-headline-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-headline(@opacity: false) {\n font-size: 24px;\n font-weight: 400;\n -moz-osx-font-smoothing: grayscale;\n & when (@opacity = true) {\n ._mdui-typo-headline-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-title-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-title(@opacity: false) {\n font-size: 20px;\n font-weight: 500;\n letter-spacing: .02em;\n & when (@opacity = true) {\n ._mdui-typo-title-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-subheading-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-subheading(@opacity: false) {\n font-size: 16px;\n font-weight: 400;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-subheading-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-2-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-2(@opacity: false) {\n font-size: 14px;\n font-weight: 500;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-body-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-1-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-1(@opacity: false) {\n font-size: 14px;\n font-weight: 400;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-body-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-caption-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-caption(@opacity: false) {\n font-size: 12px;\n font-weight: 400;\n letter-spacing: .08em;\n & when (@opacity = true) {\n ._mdui-typo-caption-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}","/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n\n.mdui-headroom {\n transition: all .3s @animation-curve-default !important;\n}\n\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -@appbar-height-xs-portrait, 0) !important;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n transform: translate3d(0, -@appbar-height-sm, 0) !important;\n }\n\n // 手机横屏\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n transform: translate3d(0, -@appbar-height-xs-landscape, 0) !important;\n }\n}\n","// 阴影\n.mdui-shadow(@depth) {\n @shadow: 'shadow-depth-@{depth}';\n box-shadow: @@shadow;\n}\n\n// hover 时添加阴影\n.mdui-hoverable(@depth: 8) {\n will-change: box-shadow;\n transition: box-shadow .25s @animation-curve-default;\n\n &:hover,\n &:focus {\n .mdui-shadow(@depth);\n }\n}","/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n\n.mdui-collapse-item-header {\n // 图标,打开时翻转 180 度\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n will-change: transform;\n transform: rotate(0);\n transition: transform .3s @animation-curve-default;\n }\n}\n\n.mdui-collapse-item-body {\n height: 0;\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n overflow: hidden;\n will-change: height;\n transition: all .3s @animation-curve-default;\n\n // 使子列表缩进\n .mdui-list-item {\n padding-left: 72px;\n }\n}\n\n.mdui-collapse-item-open {\n &>.mdui-collapse-item-header {\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-collapse-item-body {\n height: auto;\n }\n}\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n.mdui-table {\n position: relative;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n background-color: #fff;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n tbody {\n tr {\n position: relative;\n transition: background-color 0.28s @animation-curve-default;\n }\n }\n\n th, td {\n position: relative;\n vertical-align: middle;\n text-align: left;\n padding: 12px 28px;\n box-sizing: border-box;\n .mdui-divider-bottom-dark();\n\n &:last-child {\n padding-right: 24px;\n }\n &:first-child {\n padding-left: 24px;\n padding-right: 0\n }\n &:nth-child(2) {\n padding-left: 24px;\n }\n }\n\n th {\n font-size: 13px;\n color: @color-black-secondary;\n font-weight: 700;\n .mdui-text-truncate();\n line-height: 32px;\n }\n\n td {\n font-size: 14px;\n color: @color-black-text;\n line-height: 24px;\n }\n}\n\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-left: 24px !important;\n padding-top: 0 !important;\n padding-bottom: 0!important;\n\n .mdui-checkbox {\n margin-top: 7px;\n }\n\n & + td,\n & + th {\n padding-left: 6px !important;\n }\n}\nth.mdui-table-cell-checkbox {\n .mdui-checkbox {\n margin-top: 11px;\n }\n}\n\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-200;\n }\n }\n}\n\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n .mdui-table {\n .mdui-shadow(0);\n border: none;\n margin: 0;\n }\n}\n\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: @color-grey-100;\n}\n\n\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-table {\n background-color: @layout-dark-color-3;\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n th, td {\n .mdui-divider-bottom-light();\n }\n\n th {\n color: @color-white-secondary;\n }\n\n td {\n color: @color-white-text;\n }\n }\n\n .mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n }\n\n .mdui-table-fluid {\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n .mdui-table {\n .mdui-shadow(0);\n border: none;\n }\n }\n\n .mdui-table-row-selected {\n background-color: @color-grey-800;\n }\n}\n","// 分割线\n// =============================================================================\n\n// 添加边框作为分割线,亮色的分割线,用于深色背景\n.mdui-divider-top-light() {\n border-top: 1px solid @color-white-divider;\n}\n.mdui-divider-bottom-light() {\n border-bottom: 1px solid @color-white-divider;\n}\n.mdui-divider-left-light() {\n border-left: 1px solid @color-white-divider;\n}\n.mdui-divider-right-light() {\n border-right: 1px solid @color-white-divider;\n}\n\n// 添加边框作为分割线,深色的分割线,用于浅色背景\n.mdui-divider-top-dark() {\n border-top: 1px solid @color-black-divider;\n}\n.mdui-divider-bottom-dark() {\n border-bottom: 1px solid @color-black-divider;\n}\n.mdui-divider-left-dark() {\n border-left: 1px solid @color-black-divider;\n}\n.mdui-divider-right-dark() {\n border-right: 1px solid @color-black-divider;\n}","/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin: -1px 0 0 0;\n height: 1px;\n border: none;\n}\n\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n\n.mdui-divider,\n.mdui-divider-inset {\n background-color: @color-black-divider;\n\n .mdui-theme-layout-dark & {\n background-color: @color-white-divider;\n }\n}\n\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: @color-white-divider;\n}\n\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: @color-black-divider;\n}","/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n .mdui-img-fluid();\n}\n\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n\n// embed\n.mdui-video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%\n }\n}\n",".mdui-img-fluid() {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n.mdui-video-fluid() {\n max-width: 100%;\n height: auto;\n display: block;\n}","/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n\n.mdui-ripple {\n position: relative;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n}\n\n/* Ripple */\n.mdui-ripple-wave {\n left: 0;\n top: 0;\n position: absolute !important;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n background-color: rgba(0, 0, 0, 0.1);\n padding: 0;\n margin: 0;\n font-size: 0;\n transform: translate3d(0px, 0px, 0) scale(0);\n transition-duration: 1400ms;\n}\n\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] {\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n.mdui-ripple-wave-fill {\n transition-duration: 300ms;\n opacity: 0.35;\n}\n\n.mdui-ripple-wave-out {\n transition-duration: 600ms;\n opacity: 0;\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n // 指定涟漪颜色\n .mdui-ripple-@{colorName} {\n .mdui-ripple-wave {\n @color: 'color-@{colorName}-500';\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.3) !important;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n // 深色主题下使用白色涟漪\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}","/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n\n.mdui-checkbox {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n left: 0;\n top: 9px;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n background-color: transparent;\n border: none;\n transition: box-shadow .14s @animation-curve-default;\n\n // 图标的边框和背景\n &:after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n border: 2px solid @color-black-icon;\n border-radius: 2px;\n transition: all .3s @animation-curve-default;\n z-index: 0;\n }\n\n // 选中状态图标内部的勾\n &:before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 2px;\n left: 0;\n width: 8px;\n height: 13px;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transition: all .3s @animation-curve-default;\n opacity: 0;\n z-index: 1;\n }\n}\n\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"] {\n\n // 选中状态的图标\n &:checked + .mdui-checkbox-icon {\n &:after {\n border-color: @color-default-a200;\n background-color: @color-default-a200;\n }\n\n &:before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n }\n }\n\n // 不确定状态的图标\n &:indeterminate + .mdui-checkbox-icon {\n &:after {\n border-color: @color-default-a200;\n background-color: @color-default-a200;\n }\n\n &:before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n border-right: none;\n border-bottom: 2px solid #fff;\n opacity: 1;\n }\n }\n\n // 禁用状态的图标\n &:disabled + .mdui-checkbox-icon {\n &:after {\n border-color: @color-black-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &:after {\n background-color: @color-black-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n}\n\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"],\n.mdui-checkbox input[type=\"checkbox\"]:focus {\n // 未选中、禁用时 按下的阴影\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n\n // 已选中时按下的阴影\n &:not(:disabled):checked,\n &:not(:disabled):indeterminate {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-checkbox input[type=\"checkbox\"]:checked,\n .mdui-checkbox input[type=\"checkbox\"]:indeterminate {\n & + .mdui-checkbox-icon:after {\n border-color: @@color;\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n &:not(:disabled):checked + .mdui-checkbox-icon,\n &:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 未选中的图标\n .mdui-checkbox-icon {\n &:after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n &:before {\n border-right-color: @layout-dark-color-3 !important;\n border-bottom-color: @layout-dark-color-3 !important;\n }\n }\n\n // 禁用状态\n .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon {\n &:after {\n border-color: @color-white-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n .mdui-checkbox input[type=\"checkbox\"] {\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &:after {\n background-color: @color-white-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n\n.mdui-radio {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n left: 0;\n top: 9px;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 2px solid @color-black-icon;\n transition: all .3s @animation-curve-default,\n box-shadow .14s @animation-curve-default;\n\n // 图标内部圆圈\n &:before {\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n border-radius: 14px;\n transition: all .3s @animation-curve-default;\n background-color: @color-default-a200;\n transform: scale(0);\n opacity: 0;\n }\n}\n\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @color-default-a200;\n\n &:before {\n transform: scale(0.68);\n opacity: 1;\n }\n}\n\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-black-icon-disabled !important;\n}\n\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &:before {\n background-color: @color-black-icon-disabled !important;\n }\n}\n\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @@color;\n\n &:before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 图标外圈\n .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n // 禁用状态\n .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-white-icon-disabled !important;\n }\n\n // 禁用且选中状态\n .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &:before {\n background-color: @color-white-icon-disabled !important;\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n}\n","/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 36px;\n height: 14px;\n border-radius: 14px;\n background-color: rgba(0, 0, 0, 0.38);\n transition: background-color .3s @animation-curve-default;\n\n // 圆形图标\n &:before {\n position: absolute;\n display: inline-block;\n content: ' ';\n width: 20px;\n height: 20px;\n top: -3px;\n left: -3px;\n border-radius: 20px;\n background-color: @color-grey-50;\n .mdui-shadow(1);\n transition: box-shadow .14s @animation-curve-default,\n background-color .3s @animation-curve-default,\n left .3s @animation-curve-default;\n }\n}\n\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.5);\n\n &:before {\n left: 20px;\n background-color: @color-default-a200;\n }\n}\n\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n\n &:before {\n background-color: @color-grey-400 !important;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.5);\n\n &:before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 默认状态\n .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n\n &:before {\n background-color: @color-grey-400;\n }\n }\n\n // 选中状态\n & {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n @color-a100: 'color-@{colorName}-a100';\n\n &.mdui-theme-accent-@{colorName} {\n\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color-a100), green(@@color-a100), blue(@@color-a100), 0.5);\n\n &:before {\n background-color: @@color-a100;\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n // 禁用状态\n .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n\n &:before {\n background-color: @color-grey-800 !important;\n }\n }\n\n}\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n@slider-light-color: #bdbdbd; // rgba(0, 0, 0, .26)\n@slider-light-color-focus: #9e9e9e; // rgba(0, 0, 0, .38)\n@slider-light-color-disabled: #bdbdbd; // rgba(0, 0, 0, .26)\n\n@slider-dark-color: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-focus: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-disabled: #4c4c4c; // rgba(255, 255, 255, .3)\n\n.mdui-slider {\n position: relative;\n width: 100%;\n height: 36px;\n display: block;\n\n input[type=\"range\"] {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n height: 20px;\n width: 100%;\n appearance: none;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n }\n}\n\n.mdui-slider-track,\n.mdui-slider-fill {\n box-sizing: border-box;\n position: absolute;\n height: 2px;\n top: 50%;\n margin-top: -1px;\n\n &:before {\n content: ' ';\n width: 100%;\n height: 100%;\n display: block;\n }\n}\n\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n\n &:before {\n background-color: @slider-light-color;\n transition: background-color .3s @animation-curve-default;\n }\n}\n\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n\n &:before {\n background-color: @color-default-a200;\n }\n}\n\n/* 滑块 */\n.mdui-slider-thumb {\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n width: 12px;\n height: 12px;\n background-color: @color-default-a200;\n border-radius: 50%;\n border: 2px solid @color-default-a200;\n transform: translate(-50%);\n will-change: background, border-color, transform, border-radius;\n transition:\n background .45s @animation-curve-default,\n border-color .45s @animation-curve-default,\n transform .2s @animation-curve-default,\n border-radius .2s @animation-curve-default;\n}\n\n\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @@color;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @@color;\n border: 2px solid @@color;\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-light-color-focus;\n }\n }\n\n .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n }\n}\n\n/* 滑块值为 0 */\n.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fff;\n border-color: @slider-light-color;\n }\n}\n\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-light-color-focus;\n }\n}\n\n/* 禁用状态 */\n.mdui-slider-disabled {\n input[type=\"range\"] {\n cursor: default;\n }\n\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-light-color-disabled;\n border-color: transparent !important;\n transform: translate(-50%) scale(.72);\n }\n}\n\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete {\n\n .mdui-slider-thumb {\n height: 30px;\n width: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(.4);\n\n // 间续型滑块的值显示\n span {\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 12px;\n transform: rotate(45deg);\n opacity: 0;\n position: absolute;\n top: 9px;\n left: -1px;\n transition: opacity .25s @animation-curve-default;\n }\n }\n\n // 鼠标按下状态\n &.mdui-slider-focus {\n .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n\n span {\n opacity: 1;\n }\n }\n }\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #323232;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n\n // 禁用状态\n &.mdui-slider-disabled {\n .mdui-slider-thumb {\n transform: rotate(-45deg) scale(.288);\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 轨道\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color;\n }\n }\n\n // 鼠标按下状态\n .mdui-slider-focus {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color-focus;\n }\n }\n }\n\n // 滑块值为 0\n .mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: @layout-dark-color-3;\n border-color: @slider-dark-color;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n .mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-dark-color-focus;\n }\n }\n\n // 禁用状态\n .mdui-slider-disabled {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n // 间续型滑块\n .mdui-slider-discrete {\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fefefe;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 2px;\n\n position: relative;\n height: @button-height;\n margin: 0;\n min-width: 88px;\n padding: 0 16px;\n display: inline-block;\n overflow: hidden;\n will-change: box-shadow;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in;\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: @button-height;\n vertical-align: middle;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n\n zoom: 1;\n white-space: nowrap;\n -webkit-user-drag: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n box-sizing: border-box;\n\n // 移除点击延迟触发\n touch-action: manipulation;\n\n // 透明按钮 hover、active 时颜色加深\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n }\n\n // 带背景色的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n}\n\n/* 按钮内的图标 */\n.mdui-btn {\n .mdui-icon-left,\n .mdui-icon-right {\n &,\n &::before {\n height: inherit;\n line-height: inherit;\n font-size: 1.3em;\n }\n }\n .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n }\n .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n }\n}\n\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n .mdui-shadow(2);\n\n &:hover {\n .mdui-shadow(4);\n }\n\n &:active {\n .mdui-shadow(8);\n }\n}\n\n/* 禁用按钮 */\n.mdui-btn,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent !important;\n color: rgba(0, 0, 0, .26) !important;\n .mdui-shadow(0) !important;\n cursor: default !important;\n opacity: 1 !important;\n .mdui-icon {\n color: rgba(0, 0, 0, .26) !important;\n }\n }\n }\n}\n\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(0, 0, 0, .12) !important;\n .mdui-shadow(2) !important;\n }\n }\n}\n\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n\n/* 图标按钮 */\n.mdui-btn-icon {\n border-radius: 50%;\n font-size: 24px;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n overflow: hidden;\n line-height: normal;\n height: 36px;\n width: 36px;\n min-width: 36px;\n\n .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px;\n }\n\n &.mdui-ripple {\n transform: translateZ(0);\n }\n}\n\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n line-height: 32px;\n font-size: 13px;\n\n &.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n }\n}\n\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n\n .mdui-btn {\n float: left;\n min-width: inherit;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n padding: 0 12px;\n\n &:before {\n content: ' ';\n border-left: 1px solid transparent;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n }\n\n &:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n\n &:before {\n border-left: none;\n }\n }\n\n &:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n // 激活状态\n &.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n\n &+.mdui-btn-active {\n &:before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n }\n }\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 透明按钮 hover、active 时颜色变浅\n .mdui-btn,\n .mdui-fab {\n // 透明按钮 hover、active 时颜色变浅\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n\n // 带背景的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n }\n\n // 禁用按钮\n .mdui-btn,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent !important;\n color: @color-white-icon-disabled !important;\n .mdui-icon {\n color: @color-white-icon-disabled !important;\n }\n }\n }\n }\n\n // 禁用状态浮动按钮和浮动操作按钮\n .mdui-btn-raised,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(255, 255, 255, .12) !important;\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\n@fab-size: 56px;\n@fab-size-mini: 40px;\n\n/* 浮动操作按钮 */\n.mdui-fab {\n border-radius: 50%;\n font-size: 24px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n line-height: normal !important;\n .mdui-shadow(6);\n\n height: @fab-size;\n width: @fab-size;\n min-width: @fab-size;\n\n &:hover{\n .mdui-shadow(8);\n }\n\n &:active {\n .mdui-shadow(12);\n }\n\n // 浮动操作按钮中的图标\n .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n line-height: 24px;\n width: 24px;\n margin-left: 16px;\n margin-top: 16px;\n }\n}\n\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n height: @fab-size-mini;\n width: @fab-size-mini;\n min-width: @fab-size-mini;\n\n // mini 型浮动操作按钮中的图标\n .mdui-icon {\n margin-left: 8px;\n margin-top: 8px;\n }\n}\n\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n\n @media (min-width: @screen-md-min) {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n width: @fab-size;\n height: @fab-size;\n padding-top: 8px;\n z-index: @z-index-fab;\n text-align: center;\n\n // 菜单打开前\n &>.mdui-fab {\n .mdui-icon:not(.mdui-fab-opened) {\n will-change: opacity, transform;\n transition: all .2s @animation-curve-default;\n opacity: 1;\n }\n .mdui-icon.mdui-fab-opened {\n will-change: opacity, transform;\n transition: all .2s @animation-curve-default;\n opacity: 0;\n transform: rotate(225deg);\n }\n }\n\n // 菜单打开后\n &>.mdui-fab.mdui-fab-opened {\n .mdui-icon:not(.mdui-fab-opened) {\n opacity: 0;\n transform: rotate(225deg);\n }\n .mdui-icon.mdui-fab-opened {\n opacity: 1;\n transform: rotate(360deg);\n }\n }\n\n // mini 按钮需要垂直居中\n &>.mdui-fab-mini {\n margin-top: (@fab-size - @fab-size-mini) / 2;\n }\n\n .mdui-fab-dial {\n visibility: visible;\n position: absolute;\n left: 0;\n right: 0;\n bottom: @fab-size + 8px;\n text-align: center;\n height: 0;\n\n .mdui-fab {\n margin: 8px 0;\n transition: box-shadow .2s @animation-curve-fast-out-linear-in,\n color .2s @animation-curve-default,\n // fab\n transform 150ms @animation-curve-default,\n opacity 150ms @animation-curve-default;\n transform: scale(0);\n opacity: 0;\n }\n\n &.mdui-fab-dial-show {\n .mdui-fab {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n}\n\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n will-change: transform;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in,\n // fab\n transform .2s;\n transform: scale(1) translateZ(0);\n\n &.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n }\n}\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n.mdui-select {\n font-family: @font-family-base;\n display: inline-block;\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n padding-left: 0;\n padding-right: 24px;\n appearance: none;\n height: 36px;\n max-width: 100%;\n border: none;\n cursor: pointer;\n outline: none;\n font-size: 16px;\n user-select: none;\n\n will-change: background-color, box-shadow, background-position-x;\n transition-property: background-color, box-shadow, background-position-x;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-default;\n\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n\n &.mdui-select-open {\n border-bottom: none;\n }\n\n // 箭头\n background-repeat: no-repeat;\n background-position: right center;\n background-image: data-uri('image/svg+xml', './select/svg/arrow_down_dark.svg');\n}\n\n.mdui-select-position-top {\n background-image: data-uri('image/svg+xml', './select/svg/arrow_up_dark.svg');\n}\n\n/* 底部和顶部菜单的样式 */\n.mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n border-radius: 2px;\n background-color: #fff;\n background-position-x: calc(~'100% - 12px');\n z-index: 99999;\n }\n\n &.mdui-select-position-top {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n box-shadow: 0 10px 10px -3px rgba(0,0,0,.2), 0 0px 14px 1px rgba(0,0,0,.14), 0 -7px 24px 2px rgba(0,0,0,.12);\n\n .mdui-select-menu {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n // 隐藏下方的阴影\n box-shadow: 0px -4px 4px -2px rgba(0,0,0,.06), 8px 0 8px -4px rgba(0,0,0,.12), -8px 0 8px -4px rgba(0,0,0,.12)\n }\n }\n\n &.mdui-select-position-bottom {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n .mdui-shadow(8);\n\n .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n // 隐藏上方阴影\n box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 9px 9px 1px rgba(0,0,0,.14), 0px 8px 8px 2px rgba(0,0,0,.06);\n }\n }\n}\n\n/* 当前选中项文本 */\n.mdui-select-selected {\n display: block;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n right: 24px;\n .mdui-text-truncate();\n\n transition: left .2s @animation-curve-linear-out-slow-in;\n\n .mdui-select-open & {\n left: 16px;\n right: 32px;\n }\n\n .mdui-select-open.mdui-select-position-auto & {\n visibility: hidden;\n }\n}\n\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n box-sizing: border-box;\n margin: 0 -24px 0 0;\n border-radius: 2px;\n background-color: #fff;\n color: @color-black-text;\n z-index: 99999;\n height: 36px;\n visibility: hidden;\n .mdui-shadow(8);\n opacity: 0;\n cursor: default;\n transform: scale(1, 0);\n\n // 在计算宽度时,把滚动条计算进去\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n\n // 打开状态的菜单\n .mdui-select-open & {\n opacity: 1;\n transform: scale(1, 1);\n visibility: visible;\n overflow-y: hidden;\n }\n\n // 关闭状态的菜单\n .mdui-select-closing & {\n visibility: visible;\n overflow-y: hidden;\n transform: scale(1, 1);\n opacity: 0;\n box-shadow: none;\n }\n}\n\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n // 禁用项\n &[disabled] {\n cursor: default;\n color: @color-black-disabled !important;\n\n &:hover {\n background-color: inherit !important;\n }\n }\n\n // 已选中项\n &[selected] {\n color: @color-default-a200;\n }\n}\n\n\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n\n option {\n color: rgba(0, 0, 0, 0.87);\n }\n\n // 移除 IE 的下拉按钮\n &::-ms-expand {\n display: none;\n }\n}\n\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n border: 1px solid rgba(0, 0, 0, 0.38);\n padding: 0;\n height: auto;\n cursor: default;\n font-size: 15px;\n background-color: #FFFFFF;\n background-image: none;\n\n optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n &:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n }\n }\n\n option {\n margin: 0 0 0 -16px;\n padding: 0 16px;\n height: 32px;\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.87);\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n .mdui-select-menu-item {\n // 菜单中已选中项\n &[selected] {\n .mdui-text-color(@colorName);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-select {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n background-image: data-uri('image/svg+xml', './select/svg/arrow_down_light.svg');\n }\n\n .mdui-select-position-top {\n background-image: data-uri('image/svg+xml', './select/svg/arrow_up_light.svg');\n }\n\n .mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n background-color: @layout-dark-color-4;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n\n .mdui-select-menu {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n\n .mdui-select-menu-item {\n &:hover {\n background-color: @color-grey-700;\n }\n\n &[disabled] {\n color: @color-white-disabled !important;\n }\n }\n\n // 原生 select 组件\n select.mdui-select {\n background-color: @layout-dark-color-3;\n color: #FFFFFF;\n\n option {\n background-color: @layout-dark-color-3;\n color: #FFFFFF;\n }\n }\n\n // 原生多选 select 组件\n select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n\n optgroup {\n color: rgba(255, 255, 255, 0.5);\n\n &:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n\n@_screen-col-1: 8.333333%;\n@_screen-col-2: 16.666667%;\n@_screen-col-3: 25%;\n@_screen-col-4: 33.333333%;\n@_screen-col-5: 41.666667%;\n@_screen-col-6: 50%;\n@_screen-col-7: 58.333333%;\n@_screen-col-8: 66.666667%;\n@_screen-col-9: 75%;\n@_screen-col-10: 83.333333%;\n@_screen-col-11: 91.666667%;\n@_screen-col-12: 100%;\n\n// 等分列\n@_screen-average-1: 100%;\n@_screen-average-2: 50%;\n@_screen-average-3: 33.333333%;\n@_screen-average-4: 25%;\n@_screen-average-5: 20%;\n@_screen-average-6: 16.666667%;\n@_screen-average-7: 14.285714%;\n@_screen-average-8: 12.5%;\n@_screen-average-9: 11.111111%;\n@_screen-average-10: 10%;\n@_screen-average-11: 9.090909%;\n@_screen-average-12: 8.333333%;\n\n//间隔\n@grid-gap-8: 8px;\n@grid-gap-16: 16px;\n@grid-gap-24: 24px;\n@grid-gap-40: 40px;\n\n// 生成列、列偏移\n._grid_col_loop(@cols, @screen) when (@cols > 0) {\n ._grid_col_loop((@cols - 1), @screen);\n\n @widthName: '_screen-col-@{cols}';\n\n // 列宽度\n .mdui-col-@{screen}-@{cols} {\n float: left;\n width: @@widthName;\n }\n\n // 列偏移\n .mdui-col-offset-@{screen}-@{cols} {\n margin-left: @@widthName;\n }\n\n // 等分列\n @averageName: '_screen-average-@{cols}';\n .mdui-row-@{screen}-@{cols} .mdui-col {\n float: left;\n width: @@averageName;\n }\n}\n\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n padding-left: @grid-gap-16 / 2;\n padding-right: @grid-gap-16 / 2;\n &:after{\n content: '';\n display: table;\n clear: both;\n }\n}\n\n.mdui-container {\n max-width: 1280px;\n width: 96%;\n @media (min-width: @screen-sm-min) {\n width: 94%;\n }\n @media (min-width: @screen-md-min) {\n width: 92%;\n }\n}\n\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-left: -@grid-gap-16 / 2;\n margin-right: -@grid-gap-16 / 2;\n &:after {\n content: '';\n display: table;\n clear: both;\n }\n}\n\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n box-sizing: border-box;\n position: relative;\n min-height: 1px;\n padding-left: @grid-gap-16 / 2;\n padding-right: @grid-gap-16 / 2;\n}\n\n/* 取消列间距 */\n.mdui-row-gapless {\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-left: 0;\n padding-right: 0;\n }\n\n // 嵌套元素的内补\n .mdui-row,\n [class*=\"mdui-row-\"] {\n margin-left: 0;\n margin-right: 0;\n }\n}\n\n._grid_col_loop(12, ~\"xs\");\n\n@media (min-width: @screen-sm-min) {\n ._grid_col_loop(12, ~\"sm\");\n}\n\n@media (min-width: @screen-md-min) {\n ._grid_col_loop(12, ~\"md\");\n}\n\n@media (min-width: @screen-lg-min) {\n ._grid_col_loop(12, ~\"lg\");\n}\n\n@media (min-width: @screen-xl-min) {\n ._grid_col_loop(12, ~\"xl\");\n}","/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n\n.mdui-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n &>* {\n margin: 0 16px;\n .mdui-text-truncate();\n }\n\n // 工具栏默认有背景色时,工具栏中的按钮,hover 和 active 时颜色变浅\n &[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-btn {\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n }\n }\n\n &>a {\n user-select: none;\n text-decoration: none;\n color: inherit;\n }\n\n &>.mdui-btn-icon {\n width: @appbar-icon-width;\n min-width: @appbar-icon-width;\n height: @appbar-icon-width;\n\n // 手机横屏时\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n width: @appbar-icon-width-xs-landscape;\n min-width: @appbar-icon-width-xs-landscape;\n height: @appbar-icon-width-xs-landscape;\n }\n\n .mdui-icon {\n height: 24px;\n line-height: 24px;\n }\n }\n\n .mdui-icon {\n color: inherit;\n }\n}\n\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n\n// 响应式。只有在应用栏中的工具栏,才具有响应式特性,不在应用栏中,则使用手机样式\n._toolbar_responsive_mixed(@toolbar-height, @icon-width) {\n .mdui-toolbar {\n height: @toolbar-height;\n line-height: @toolbar-height;\n\n &>.mdui-btn {\n margin: 0 (@toolbar-height - @icon-width) / 2;\n\n & + .mdui-btn {\n margin-left: 0;\n }\n }\n }\n}\n\n/* 手机 */\n._toolbar_responsive_mixed(@appbar-height-xs-portrait, @appbar-icon-width);\n\n.mdui-appbar {\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n ._toolbar_responsive_mixed(@appbar-height-sm, @appbar-icon-width);\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n ._toolbar_responsive_mixed(@appbar-height-xs-landscape, @appbar-icon-width-xs-landscape);\n }\n}\n","/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n\n.mdui-appbar {\n z-index: @z-index-appbar;\n .mdui-shadow(4);\n}\n\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n will-change: left, right;\n transition-property: left, right;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: 0.3s;\n}\n\n/* 左侧留出抽屉栏的距离 */\n.mdui-appbar-inset.mdui-appbar-fixed {\n .mdui-drawer-body-left & {\n @media (min-width: @screen-md-min) {\n left: @drawer-width-md;\n }\n }\n\n .mdui-drawer-body-right & {\n @media (min-width: @screen-md-min) {\n right: @drawer-width-md;\n }\n }\n}\n\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: @appbar-height-xs-portrait;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape;\n }\n}\n\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: @appbar-height-xs-portrait + 48px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 48px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 48px;\n }\n}\n\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: @appbar-height-xs-portrait + 72px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 72px;\n }\n\n // 手机横屏\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 72px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-appbar {\n &>[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n background-color: @layout-dark-color-2 !important;\n color: #fff !important;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n\n/* 卡片 */\n.mdui-card {\n box-sizing: border-box;\n position: relative;\n border-radius: 2px;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n .mdui-shadow(2);\n}\n\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n box-sizing: border-box;\n padding: 16px;\n position: relative;\n height: 72px;\n}\n\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n height: 40px;\n width: 40px;\n border-radius: 50%;\n float: left;\n}\n\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n font-size: 16px;\n line-height: 20px;\n font-weight: 500;\n margin-left: 52px;\n .mdui-text-truncate();\n opacity: @opacity-black-text;\n}\n\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n margin-left: 52px;\n .mdui-text-truncate();\n opacity: @opacity-black-secondary;\n}\n\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: @opacity-black-text;\n}\n\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: @opacity-black-secondary;\n}\n\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n line-height: 24px;\n font-size: 14px;\n}\n\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n\n .mdui-btn {\n margin-left: 8px;\n }\n}\n\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n .mdui-clearfix();\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n\n .mdui-btn {\n margin: 0 8px 0 0;\n max-width: 100%;\n .mdui-text-truncate();\n }\n\n .mdui-btn-icon {\n width: @button-height;\n height: @button-height;\n margin: 0 8px;\n }\n}\n\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked {\n .mdui-btn {\n margin: 0 0 4px 0;\n display: block;\n &:last-child {\n margin: 0;\n }\n }\n}\n\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n img, video {\n display: block;\n width: 100%;\n }\n}\n\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.2);\n color: #fff;\n\n /* 覆盖在媒体元素上的标题 */\n .mdui-card-primary-title {\n opacity: @opacity-white-text;\n }\n .mdui-card-primary-subtitle {\n opacity: @opacity-white-secondary;\n }\n}\n\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n bottom: auto;\n top: 0;\n}\n\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-card {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n}\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n min-height: 48px;\n max-height: 72px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n\n a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 14px;\n\n box-sizing: border-box;\n text-align: center;\n min-height: 48px;\n max-height: 72px;\n cursor: pointer;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n padding: 12px;\n min-width: 72px;\n outline: none;\n // 手机上始终等分选项卡\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n // 平板或以上设备\n @media (min-width: @screen-sm-min) {\n min-width: 99px;\n max-width: 264px;\n\n // 手机上 padding 12px,平板/pc上 padding 24px\n padding: 12px 24px;\n\n // 平板/pc上选项卡左对齐\n flex: none;\n }\n\n @media (min-width: @screen-md-min) {\n min-width: 112px;\n }\n\n @media (min-width: @screen-lg-min) {\n min-width: 136px;\n }\n\n @media (min-width: @screen-xl-min) {\n min-width: 160px;\n }\n\n label {\n cursor: pointer;\n width: 100%;\n display: block;\n }\n\n .mdui-icon + label {\n margin-top: 8px;\n }\n\n &[disabled] {\n opacity: 0.38;\n cursor: default;\n\n label {\n cursor: default;\n }\n }\n }\n\n // 激活状态的选项\n .mdui-tab-active {\n color: @color-default-500;\n opacity: 1;\n .mdui-icon {\n opacity: 1;\n }\n }\n}\n\n/* 选项卡居中 */\n.mdui-tab-centered {\n @media (min-width: @screen-sm-min) {\n &:before {\n content: ' ';\n flex-grow: 1;\n }\n &:after {\n content: ' ';\n flex-grow: 1;\n }\n a {\n flex: none;\n }\n }\n}\n\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width {\n a {\n max-width: none;\n flex: 1;\n }\n}\n\n\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n\n a {\n flex: none;\n }\n\n @media (max-width: @screen-xs-max) {\n padding-left: 60px;\n }\n\n}\n\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: @color-default-500;\n will-change: left, width;\n transition: all .35s @animation-curve-default;\n}\n\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-tab .mdui-tab-active {\n color: @@color;\n }\n\n .mdui-tab-indicator {\n background-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) {\n .mdui-tab-active {\n color: inherit;\n }\n .mdui-tab-indicator {\n background-color: @color-white-500;\n }\n\n // 带背景色的选项卡中使用浅色滚动条\n & {\n .mdui-scrollbar-beautify(dark);\n }\n}\n","/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 500;\n color: @color-black-secondary;\n height: 48px;\n line-height: 48px;\n cursor: default;\n padding-left: 16px;\n padding-right: 16px;\n .mdui-text-truncate();\n}\n\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-subheader,\n .mdui-subheader-inset {\n color: @color-white-secondary;\n }\n}\n","/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -@grid-list-gutter / 2;\n\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-left: @grid-list-gutter / 2;\n padding-right: @grid-list-gutter / 2;\n }\n}\n\n/* 单元格 */\n.mdui-grid-tile {\n box-sizing: border-box;\n margin-bottom: @grid-list-gutter;\n overflow: hidden;\n position: relative;\n\n img {\n display: block;\n width: 100%;\n }\n}\n\n/* 操作栏 */\n.mdui-grid-tile-actions {\n display: flex;\n align-items: center;\n\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n box-sizing: border-box;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n .mdui-icon {\n color: #fff;\n }\n}\n\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n overflow: hidden;\n flex: 1;\n}\n\n/* 标题 */\n.mdui-grid-tile-title {\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n }\n}\n\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n margin-top: 4px;\n font-size: 12px;\n height: 18px;\n line-height: 18px;\n .mdui-text-truncate();\n\n .mdui-icon {\n font-size: 18px;\n margin-right: 8px;\n }\n}\n\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n white-space: nowrap;\n margin: -8px;\n flex: none;\n\n .mdui-btn {\n margin-left: 8px;\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n bottom: auto;\n top: 0;\n}\n\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}","/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n background-color: transparent;\n list-style: none;\n\n // 子列表没有上下间距\n .mdui-list {\n padding: 0;\n }\n\n // 分割线上下边距\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n // 使用副标题时自动添加分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &:before {\n content: ' ';\n background-color: @color-black-divider;\n height: 1px;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n }\n margin-top: 8px;\n\n &:first-child {\n &:before {\n background-color: transparent;\n }\n\n // 第一个副标题把列表的 padding-top 抵消掉\n margin-top: -8px;\n }\n }\n .mdui-subheader-inset {\n &:before {\n left: 72px;\n }\n }\n}\n\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: 0 16px;\n min-height: 48px;\n cursor: pointer;\n text-decoration: none;\n transition: background-color .3s @animation-curve-default;\n\n &:hover {\n background-color: @color-hover-black;\n }\n\n // http://stackoverflow.com/a/31915203\n &:after {\n content: ' ';\n height: 48px;\n visibility: hidden;\n }\n}\n\n/* 列表项图标 */\n.mdui-list-item-icon {\n min-width: 24px;\n width: 24px;\n height: 24px;\n color: @color-black-icon;\n}\n\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border-radius: 50%;\n background-color: @color-grey-400;\n color: @color-white;\n margin-top: 8px;\n margin-bottom: 8px;\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n}\n\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n}\n\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n opacity: @opacity-black-secondary;\n font-size: 14px;\n}\n.mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 4px;\n }\n}\n\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n background-color: @color-hover-black;\n font-weight: 700;\n\n .mdui-list-item-content {\n font-weight: 700;\n }\n .mdui-list-item-text {\n font-weight: 400;\n }\n}\n\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon {\n ~ .mdui-list-item-content {\n margin-left: 32px;\n }\n}\n.mdui-checkbox,\n.mdui-radio,\n.mdui-switch {\n ~ .mdui-list-item-content {\n margin-left: 20px;\n }\n}\n\n\n.mdui-list-item-avatar {\n ~ .mdui-list-item-content {\n margin-left: 16px;\n }\n}\n.mdui-list-item-content {\n ~ .mdui-list-item-icon,\n ~ .mdui-list-item-avatar,\n ~ .mdui-checkbox,\n ~ .mdui-radio,\n ~ .mdui-switch {\n margin-left: 16px;\n }\n\n ~ .mdui-checkbox,\n ~ .mdui-radio {\n padding-left: 24px;\n }\n}\n\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n\n // 副标题\n .mdui-subheader,\n .mdui-subheader-inset {\n margin-top: 4px;\n height: 40px;\n line-height: 40px;\n font-size: 12px;\n\n &:first-child {\n margin-top: -4px;\n }\n }\n\n // 密集型列表项\n .mdui-list-item {\n min-height: 40px;\n\n &:after {\n height: 40px;\n }\n }\n\n // 图标\n .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n }\n\n // 头像\n .mdui-list-item-avatar {\n min-width: 36px;\n min-height: 36px;\n height: 36px;\n width: 36px;\n }\n\n // 列表项内容\n .mdui-list-item-content {\n font-size: 13px;\n line-height: 18px;\n padding-top: 11px;\n padding-bottom: 11px;\n }\n .mdui-list-item-text {\n font-size: 13px;\n }\n .mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 2px;\n }\n }\n\n // 限制文本高度\n .mdui-list-item-one-line {\n height: 18px;\n }\n .mdui-list-item-two-line {\n height: 36px;\n }\n .mdui-list-item-three-line {\n height: 54px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-list {\n // 副标题的分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &:before {\n background-color: @color-white-divider;\n }\n\n &:first-child {\n &:before {\n background-color: transparent;\n }\n }\n }\n }\n\n // 列表项\n .mdui-list-item {\n color: @color-white-text;\n\n &:hover {\n background-color: @color-hover-white;\n }\n }\n\n // 列表项图标\n .mdui-list-item-icon {\n color: @color-white-icon;\n }\n\n // 列表内容副内容\n .mdui-list-item-text {\n opacity: @opacity-white-secondary;\n }\n\n // 激活状态的列表项\n .mdui-list-item-active {\n background-color: @color-hover-white;\n }\n}\n\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] {\n .mdui-list-item {\n color: inherit;\n }\n .mdui-list-item-icon {\n color: inherit;\n }\n}\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding .3s @animation-curve-linear-out-slow-in;\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all .3s @animation-curve-linear-out-slow-in;\n}\n\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n bottom: 0;\n z-index: @z-index-drawer;\n will-change: transform;\n margin: 0;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n top: 0;\n\n // 手机端宽度为 100% - 56px,最大为 280px\n width: calc(~\"100% - 56px\");\n max-width: @drawer-width-xs;\n\n // 隐藏时不显示阴影\n @media (max-width: @screen-sm-max) {\n &:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n }\n\n // 平板端宽度为 100% - 64px,最大为 320px\n @media (min-width: @screen-sm-min) {\n width: calc(~\"100% - 64px\");\n max-width: @drawer-width-sm;\n }\n\n // 桌面端宽度\n @media (min-width: @screen-md-min) {\n width: @drawer-width-md;\n max-width: none;\n\n // 隐藏时不显示阴影\n &.mdui-drawer-close {\n box-shadow: none !important;\n }\n }\n}\n\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n left: auto;\n right: 0;\n}\n\n/* 平板上的样式 */\n@media (max-width: @screen-sm-max) {\n .mdui-drawer {\n /* 默认隐藏 */\n transform: translateX(-@drawer-width-sm - 10);\n\n /* 始终有背景和阴影 */\n background-color: #fff;\n .mdui-shadow(16);\n }\n\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(@drawer-width-sm + 10);\n }\n}\n\n/* 手机上的样式 */\n@media (max-width: @screen-xs-max) {\n .mdui-drawer {\n transform: translateX(-@drawer-width-xs - 10);\n }\n\n .mdui-drawer-right {\n transform: translateX(@drawer-width-xs + 10);\n }\n}\n\n/* 强制隐藏抽屉栏 */\n._drawer_close(@drawer-width) {\n .mdui-drawer-close {\n transform: translateX(-@drawer-width - 10);\n &.mdui-drawer-right {\n transform: translateX(@drawer-width + 10);\n }\n }\n}\n\n._drawer_close(@drawer-width-xs);\n\n@media (min-width: @screen-sm-min) {\n ._drawer_close(@drawer-width-sm);\n}\n\n@media (min-width: @screen-md-min) {\n ._drawer_close(@drawer-width-md);\n}\n\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n\n/* PC 上的样式 */\n@media (min-width: @screen-md-min) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: @drawer-width-md;\n }\n .mdui-drawer-body-right {\n padding-right: @drawer-width-md;\n }\n\n /* PC 上默认有上边距 */\n .mdui-drawer {\n .mdui-appbar-with-toolbar & {\n top: @appbar-height-sm;\n }\n\n .mdui-appbar-with-tab & {\n top: 48px;\n }\n\n .mdui-appbar-with-tab-larger & {\n top: 72px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab & {\n top: @appbar-height-sm + 48px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger & {\n top: @appbar-height-sm + 72px;\n }\n }\n}\n\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-shadow(16);\n}\n\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 手机平板上的样式\n @media (max-width: @screen-sm-max) {\n .mdui-drawer {\n background-color: @layout-dark-color-4;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n\n.mdui-dialog {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n right: 0;\n color: #000;\n background-color: #fff;\n max-height: 90%;\n width: 92%;\n max-width: 728px;\n min-width: 180px;\n margin: auto;\n overflow: hidden;\n border-radius: 2px;\n display: none;\n z-index: @z-index-dialog;\n will-change: top, opacity, transform;\n opacity: 0;\n transform: scale(0.95);\n\n transition-property: transform, opacity, visibility;\n transition-duration: .3s;\n\n @media (min-width: @screen-sm-min) {\n max-height: 85%;\n width: 85%;\n }\n @media (min-width: @screen-md-min) {\n max-height: 80%;\n width: 80%;\n }\n\n .mdui-shadow(24);\n}\n\n/* 打开提示框 */\n.mdui-dialog-open {\n opacity: 1;\n transform: scale(1);\n}\n\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-size: 20px;\n line-height: 24px;\n font-weight: 500;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog>.mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n font-size: 15px;\n color: rgba(0, 0, 0, 0.7);\n padding: 24px;\n line-height: 1.5;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content>.mdui-dialog-title {\n padding-bottom: 20px;\n}\n\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n .mdui-text-color(@color-accent-default-name);\n &:first-child {\n margin-left: 0;\n }\n }\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content>.mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n .mdui-btn {\n height: 48px;\n line-height: 48px !important;\n margin: 0;\n width: 100%;\n text-align: right;\n border-radius: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-dialog-actions {\n .mdui-btn {\n .mdui-text-color(@colorName);\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-dialog {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n","/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n\n.mdui-dialog-alert {\n max-width: 448px;\n}","/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n\n.mdui-dialog-prompt {\n max-width: 448px;\n\n .mdui-textfield {\n padding-top: 0;\n }\n}","/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n\n._md_shadow(@shadow) when (@shadow > -1) {\n ._md_shadow(@shadow - 1);\n\n .mdui-shadow-@{shadow} {\n .mdui-shadow(@shadow);\n }\n}\n\n._md_shadow(24);\n\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n .mdui-hoverable(8);\n}","/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n\n.mdui-tooltip {\n position: absolute;\n z-index: @z-index-tooltip;\n display: inline-block;\n box-sizing: border-box;\n font-weight: 500;\n color: #fff;\n text-align: left;\n background-color: rgba(red(@color-grey-700), green(@color-grey-700), blue(@color-grey-700), 0.9);\n border-radius: 2px;\n opacity: 0;\n transition-property: opacity, transform;\n transition-duration: 0.15s;\n transition-timing-function: @animation-curve-default;\n transform: scale(0);\n\n will-change: opacity, transform;\n\n // 移动端样式\n font-size: 14px;\n padding: 8px 16px;\n min-height: 32px;\n line-height: 22px;\n max-width: 180px;\n\n // 桌面端样式\n @media (min-width: @screen-md-min) {\n font-size: 12px;\n padding: 4px 8px;\n min-height: 24px;\n line-height: 18px;\n max-width: 200px;\n }\n}\n\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n.mdui-snackbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 24px 0 24px;\n font-size: 14px;\n min-height: 48px;\n line-height: 20px;\n background-color: #323232;\n color: #fff;\n position: fixed;\n z-index: @z-index-snackbar;\n will-change: transform;\n\n // 手机端的样式\n width: 100%;\n\n // 平板、桌面端样式\n @media (min-width: @screen-sm-min) {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform .3s @animation-curve-default;\n}\n\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n\n// 平板、桌面端位置\n@media (min-width: @screen-sm-min) {\n .mdui-snackbar-left-top {\n left: 24px;\n top: 24px;\n }\n\n .mdui-snackbar-left-bottom {\n left: 24px;\n bottom: 24px;\n }\n\n .mdui-snackbar-right-top {\n right: 24px;\n top: 24px;\n }\n\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 文本 */\n.mdui-snackbar-text {\n padding: 14px 0 14px 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n .mdui-text-color(@color-accent-default-name, a100);\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-snackbar-action {\n .mdui-text-color(@colorName, a100);\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-snackbar {\n background-color: #5d5d5d;\n }\n}\n","/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n\n@chip-height: 32px;\n\n.mdui-chip {\n box-sizing: border-box;\n display: inline-block;\n height: @chip-height;\n border-radius: @chip-height / 2;\n white-space: nowrap;\n background-color: #e0e0e0;\n cursor: pointer;\n user-select: none;\n margin: 2px 0;\n .mdui-hoverable(2);\n\n &:active {\n background-color: #d6d6d6;\n }\n}\n\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n height: @chip-height;\n width: @chip-height;\n border-radius: 50%;\n margin-right: -4px;\n font-size: 18px;\n line-height: @chip-height;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n background-color: #989898;\n color: #ffffff;\n\n .mdui-icon {\n position: absolute;\n left: 4px;\n top: 4px;\n color: #ffffff;\n }\n}\n\n/* 文本 */\n.mdui-chip-title {\n height: @chip-height;\n line-height: @chip-height;\n padding-left: 12px;\n padding-right: 12px;\n font-size: 14px;\n vertical-align: middle;\n display: inline-block;\n}\n\n/* 删除按钮 */\n.mdui-chip-delete {\n height: 24px;\n width: 24px;\n opacity: .54;\n cursor: pointer;\n margin-left: -8px;\n margin-right: 4px;\n text-decoration: none;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n border-radius: 50%;\n will-change: opacity;\n transition: opacity .25s @animation-curve-default;\n &:hover,\n &:focus {\n opacity: .87;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-chip {\n background-color: #484848;\n &:active {\n background-color: #5d5d5d;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n.mdui-bottom-nav {\n display: flex;\n position: relative;\n overflow: hidden;\n height: 56px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n\n @media (min-width: @screen-sm-min) {\n &:before {\n content: ' ';\n flex-grow: 1;\n }\n &:after {\n content: ' ';\n flex-grow: 1;\n }\n }\n\n a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 12px;\n\n text-align: center;\n cursor: pointer;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n justify-content: center;\n align-items: center;\n will-change: padding;\n transition: all .2s @animation-curve-default ;\n\n @media (min-width: @screen-sm-min) {\n max-width: 144px;\n }\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n label {\n cursor: pointer;\n width: 100%;;\n display: block;\n will-change: font-size;\n transition: transform .2s @animation-curve-default ;\n }\n\n .mdui-icon + label {\n margin-top: 6px;\n }\n\n // 激活状态的导航项\n &.mdui-bottom-nav-active {\n color: @color-default-500;\n opacity: 1;\n font-size: 14px;\n\n .mdui-icon {\n opacity: 1;\n }\n }\n }\n}\n\n/* 只在激活时显示文本 */\n&.mdui-bottom-nav-text-auto {\n a {\n padding-left: 0;\n padding-right: 0;\n min-width: 32px;\n @media (min-width: @screen-sm-min) {\n max-width: 156px;\n }\n .mdui-icon {\n padding-top: 16px;\n will-change: padding-top;\n transition: padding-top .2s @animation-curve-default;\n }\n label {\n transform: scale(0);\n }\n\n &.mdui-bottom-nav-active {\n padding-left: 18px;\n padding-right: 18px;\n .mdui-icon {\n padding-top: 0;\n }\n label {\n transform: scale(1);\n }\n }\n }\n}\n\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n .mdui-bottom-nav {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n padding-bottom: 56px;\n}\n\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] {\n .mdui-bottom-nav-active {\n color: inherit !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: rgba(red(@color-default-500), green(@color-default-500), blue(@color-default-500), .2);\n border-radius: 2px;\n overflow: hidden;\n}\n\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: @color-default-500;\n transition: width .3s linear;\n}\n\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: @color-default-500;\n\n &:before {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate 2s linear infinite;\n }\n\n &:after {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n }\n}\n\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-progress {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), .2);\n }\n .mdui-progress-determinate,\n .mdui-progress-indeterminate {\n .mdui-background-color(@colorName);\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n\n.mdui-spinner {\n display: inline-block;\n position: relative;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: @color-default-500;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-1 {\n border-color: @color-blue-400 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-1-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-2 {\n border-color: @color-red-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-2-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-3 {\n border-color: @color-yellow-600 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-3-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-4 {\n border-color: @color-green-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-4-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% { transform: rotate(135deg); }\n 25% { transform: rotate(270deg); }\n 37.5% { transform: rotate(405deg); }\n 50% { transform: rotate(540deg); }\n 62.5% { transform: rotate(675deg); }\n 75% { transform: rotate(810deg); }\n 87.5% { transform: rotate(945deg); }\n to { transform: rotate(1080deg); }\n}\n\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from { opacity: 1; }\n 25% { opacity: 1; }\n 26% { opacity: 0; }\n 89% { opacity: 0; }\n 90% { opacity: 1; }\n 100% { opacity: 1; }\n}\n\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from { opacity: 0; }\n 15% { opacity: 0; }\n 25% { opacity: 1; }\n 50% { opacity: 1; }\n 51% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from { opacity: 0; }\n 40% { opacity: 0; }\n 50% { opacity: 1; }\n 75% { opacity: 1; }\n 76% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from { opacity: 0; }\n 65% { opacity: 0; }\n 75% { opacity: 1; }\n 90% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n width: 1000%;\n left: -450%;\n box-sizing: border-box;\n }\n}\n\n.mdui-spinner-circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n }\n\n &.mdui-spinner-left {\n float: left;\n\n .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms @animation-curve-default infinite both;\n }\n }\n\n &.mdui-spinner-right {\n float: right;\n\n .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms @animation-curve-default infinite both;\n }\n }\n}\n\n@keyframes mdui-spinner-left-spin {\n from { transform: rotate(130deg); }\n 50% { transform: rotate(-5deg); }\n to { transform: rotate(130deg); }\n}\n\n@keyframes mdui-spinner-right-spin {\n from { transform: rotate(-130deg); }\n 50% { transform: rotate(5deg); }\n to { transform: rotate(-130deg); }\n}\n\n\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-spinner-layer {\n border-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n\n/* 面板项 */\n.mdui-panel-item {\n background-color: #fff;\n color: @color-black-text;\n .mdui-divider-bottom-dark();\n will-change: margin;\n transition: margin .3s @animation-curve-default;\n .mdui-shadow(2);\n\n &:last-child {\n border-bottom: none;\n }\n}\n\n/* 面板头部 */\n.mdui-panel-item-header {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n position: relative;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n will-change: height, background-color;\n transition: all .3s @animation-curve-default;\n .mdui-text-truncate();\n\n &:active {\n background-color: @color-grey-200;\n }\n}\n\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n font-weight: 500;\n padding-right: 16px;\n .mdui-text-truncate();\n}\n\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: @color-black-secondary;\n .mdui-text-truncate();\n}\n\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n right: 24px;\n top: 12px;\n color: @color-black-icon;\n user-select: none;\n will-change: transform, top;\n transform: rotate(0);\n transition: all .3s @animation-curve-default;\n}\n\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n right: 0;\n top: 0 !important;\n}\n\n/* 面板项内容 */\n.mdui-panel-item-body {\n padding: 0 24px;\n height: 0;\n overflow: hidden;\n .mdui-clearfix();\n will-change: height;\n transition: height .3s @animation-curve-default;\n\n &:after {\n height: 16px;\n }\n}\n\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n text-align: right;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n .mdui-divider-top-dark();\n\n .mdui-btn {\n margin-left: 8px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n .mdui-shadow(2);\n\n .mdui-panel-item {\n .mdui-shadow(0);\n }\n\n .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n/* 弹出面板 */\n.mdui-panel-popout {\n .mdui-panel-item-open {\n margin-left: -16px;\n margin-right: -16px;\n }\n}\n\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n\n // 打开状态的面板头部更高\n &>.mdui-panel-item-header {\n height: 64px;\n\n .mdui-panel-item-arrow {\n transform: rotate(180deg);\n top: 20px;\n }\n }\n\n &>.mdui-panel-item-body {\n height: auto;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-panel-item {\n background-color: @layout-dark-color-3;\n color: #fff;\n .mdui-divider-bottom-light();\n\n &:last-child {\n border-bottom: none;\n }\n }\n .mdui-panel-item-header {\n &:active {\n background-color: @color-grey-800;\n }\n }\n .mdui-panel-item-summary {\n color: @color-white-secondary;\n }\n .mdui-panel-item-arrow {\n color: @color-white-icon;\n }\n .mdui-panel-item-actions {\n .mdui-divider-top-light();\n }\n}","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\n// 普通菜单宽度基数\n@menu-simple-x: 56px;\n\n// 级联菜单宽度基数\n@menu-cascade-x: 64px;\n\n/* 菜单 */\n.mdui-menu {\n box-sizing: border-box;\n padding: 8px 0;\n margin: 0;\n font-size: 16px;\n .mdui-shadow(8);\n border-radius: 2px;\n width: @menu-simple-x * 3;\n background-color: #fff;\n color: @color-black-text;\n list-style: none;\n display: block;\n z-index: 99999;\n opacity: 0;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: .3s;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n\n visibility: hidden;\n transform: scale(0);\n position: fixed;\n\n // 简单菜单高度超出窗口高度时,使菜单边框和窗口保持一定距离,菜单内出现滚动条\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n\n // 菜单中的分隔线,默认上下有 8px 的外边距\n .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n}\n\n/* 打开状态的菜单 */\n.mdui-menu-open {\n visibility: visible;\n transform: scale(1);\n opacity: 1;\n}\n\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n visibility: visible;\n transform: scale(1);\n opacity: 0;\n}\n\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n\n &>a {\n position: relative;\n display: block;\n color: inherit;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n user-select: none;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n }\n\n // 子菜单默认隐藏,阴影更深\n &>.mdui-menu {\n position: absolute;\n .mdui-shadow(9);\n }\n\n // 禁用的菜单条目\n &[disabled] {\n &>a {\n cursor: default;\n color: @color-black-disabled !important;\n\n &:hover {\n background-color: inherit !important;\n }\n\n .mdui-icon {\n color: @color-black-icon-disabled;\n }\n }\n }\n}\n\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: @color-grey-200;\n}\n\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n color: @color-black-icon;\n width: 40px;\n padding-right: 16px;\n box-sizing: border-box;\n display: inline-block;\n}\n\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: data-uri('image/svg+xml', './menu/svg/arrow_right_dark.svg');\n}\n\n\n/* 级联菜单 */\n.mdui-menu-cascade {\n padding: 16px 0;\n font-size: 15px;\n width: @menu-cascade-x * 5;\n\n // 级联菜单内部不出现滚动条\n overflow-y: visible;\n\n &>.mdui-menu-item {\n &>a {\n height: 32px;\n line-height: 32px;\n padding: 0 24px;\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-menu {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n\n .mdui-menu-item {\n &>a {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n\n &[disabled] {\n &>a {\n color: @color-white-disabled !important;\n\n .mdui-icon {\n color: @color-white-icon-disabled;\n }\n }\n }\n }\n\n .mdui-menu-item-active {\n background-color: @color-grey-700;\n }\n\n .mdui-menu-item-icon {\n color: @color-white-icon;\n }\n\n .mdui-menu-item-more {\n background-image: data-uri('image/svg+xml', './menu/svg/arrow_right_light.svg');\n }\n}\n"]} \ No newline at end of file diff --git a/libs/mdui/fonts/roboto/LICENSE.txt b/libs/mdui/fonts/roboto/LICENSE.txt deleted file mode 100644 index 261eeb9..0000000 --- a/libs/mdui/fonts/roboto/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/libs/mdui/fonts/roboto/Roboto-Black.woff b/libs/mdui/fonts/roboto/Roboto-Black.woff deleted file mode 100644 index 9b72779..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Black.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Black.woff2 b/libs/mdui/fonts/roboto/Roboto-Black.woff2 deleted file mode 100644 index 9559f02..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Black.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff deleted file mode 100644 index 609bdf4..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 deleted file mode 100644 index 5cb417b..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Bold.woff b/libs/mdui/fonts/roboto/Roboto-Bold.woff deleted file mode 100644 index 93a1d5a..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Bold.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Bold.woff2 b/libs/mdui/fonts/roboto/Roboto-Bold.woff2 deleted file mode 100644 index 715ac19..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Bold.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff deleted file mode 100644 index f1d7598..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 deleted file mode 100644 index c91e0f8..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Light.woff b/libs/mdui/fonts/roboto/Roboto-Light.woff deleted file mode 100644 index 404afba..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Light.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Light.woff2 b/libs/mdui/fonts/roboto/Roboto-Light.woff2 deleted file mode 100644 index 5f26201..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Light.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff deleted file mode 100644 index 07117c5..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 deleted file mode 100644 index 5fa7eed..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Medium.woff b/libs/mdui/fonts/roboto/Roboto-Medium.woff deleted file mode 100644 index b18e6b8..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Medium.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Medium.woff2 b/libs/mdui/fonts/roboto/Roboto-Medium.woff2 deleted file mode 100644 index f9f6913..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Medium.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff deleted file mode 100644 index 2be7d89..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 deleted file mode 100644 index 9b7b828..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Regular.woff b/libs/mdui/fonts/roboto/Roboto-Regular.woff deleted file mode 100644 index 2f53e7c..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Regular.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Regular.woff2 b/libs/mdui/fonts/roboto/Roboto-Regular.woff2 deleted file mode 100644 index 1d1539e..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Regular.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff deleted file mode 100644 index 60f95dd..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 deleted file mode 100644 index 75495c3..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Thin.woff b/libs/mdui/fonts/roboto/Roboto-Thin.woff deleted file mode 100644 index e115692..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Thin.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-Thin.woff2 b/libs/mdui/fonts/roboto/Roboto-Thin.woff2 deleted file mode 100644 index a26400d..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-Thin.woff2 and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff deleted file mode 100644 index eab0271..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff and /dev/null differ diff --git a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 deleted file mode 100644 index f00aafc..0000000 Binary files a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 and /dev/null differ diff --git a/libs/mdui/icons/material-icons/LICENSE.txt b/libs/mdui/icons/material-icons/LICENSE.txt deleted file mode 100644 index dc8853a..0000000 --- a/libs/mdui/icons/material-icons/LICENSE.txt +++ /dev/null @@ -1,393 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the "Licensor." Except for the limited purpose of indicating -that material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap b/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap deleted file mode 100644 index d9f1d25..0000000 --- a/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap +++ /dev/null @@ -1 +0,0 @@ -{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff deleted file mode 100644 index b648a3e..0000000 Binary files a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff and /dev/null differ diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa2112..0000000 Binary files a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/libs/mdui/js/mdui.js b/libs/mdui/js/mdui.js deleted file mode 100644 index 420ef8b..0000000 --- a/libs/mdui/js/mdui.js +++ /dev/null @@ -1,7542 +0,0 @@ -/*! - * mdui v0.4.3 (https://mdui.org) - * Copyright 2016-2019 zdhxiong - * Licensed under MIT - */ -/* jshint ignore:start */ -;(function(global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.mdui = factory()); -}(this, (function() { - 'use strict'; - - /* jshint ignore:end */ - var mdui = {}; - - /** - * ============================================================================= - * ************ 浏览器兼容性问题修复 ************ - * ============================================================================= - */ - - /** - * requestAnimationFrame - * cancelAnimationFrame - */ - (function () { - var lastTime = 0; - - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window.webkitRequestAnimationFrame; - window.cancelAnimationFrame = window.webkitCancelAnimationFrame; - } - - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = function (callback, element) { - var currTime = new Date().getTime(); - var timeToCall = Math.max(0, 16.7 - (currTime - lastTime)); - - var id = window.setTimeout(function () { - callback(currTime + timeToCall); - }, timeToCall); - - lastTime = currTime + timeToCall; - return id; - }; - } - - if (!window.cancelAnimationFrame) { - window.cancelAnimationFrame = function (id) { - clearTimeout(id); - }; - } - })(); - - - /** - * JQ 1.0.0 (https://github.com/zdhxiong/mdui.JQ#readme) - * Copyright 2018-2018 zdhxiong - * Licensed under MIT - */ - var $ = (function () { - 'use strict'; - - var JQ = function JQ(arr) { - var self = this; - - for (var i = 0; i < arr.length; i += 1) { - self[i] = arr[i]; - } - - self.length = arr.length; - - return this; - }; - - function $(selector) { - var arr = []; - - if (!selector) { - return new JQ(arr); - } - - if (selector instanceof JQ) { - return selector; - } - - if (typeof selector === 'string') { - var html = selector.trim(); - - if (html[0] === '<' && html[html.length - 1] === '>') { - // 创建 HTML 字符串 - var toCreate = 'div'; - - if (html.indexOf(':~]/) - ? [document.getElementById(selector.slice(1))] - : document.querySelectorAll(selector); - - for (var i$1 = 0; i$1 < elems.length; i$1 += 1) { - if (elems[i$1]) { - arr.push(elems[i$1]); - } - } - } - } else if (typeof selector === 'function') { - // function - return $(document).ready(selector); - } else if (selector.nodeType || selector === window || selector === document) { - // Node - arr.push(selector); - } else if (selector.length > 0 && selector[0].nodeType) { - // NodeList - for (var i$2 = 0; i$2 < selector.length; i$2 += 1) { - arr.push(selector[i$2]); - } - } - - return new JQ(arr); - } - - $.fn = JQ.prototype; - - function extend() { - var this$1 = this; - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - if (!args.length) { - return this; - } - - // $.extend(obj) - if (args.length === 1) { - Object.keys(args[0]).forEach(function (prop) { - this$1[prop] = args[0][prop]; - }); - - return this; - } - - // $.extend({}, defaults[, obj]) - var target = args.shift(); - - var loop = function ( i ) { - Object.keys(args[i]).forEach(function (prop) { - target[prop] = args[i][prop]; - }); - }; - - for (var i = 0; i < args.length; i += 1) loop( i ); - - return target; - } - - $.fn.extend = extend; - $.extend = extend; - - /** - * 判断一个节点名 - * @param ele - * @param name - * @returns {boolean} - */ - function isNodeName(ele, name) { - return ele.nodeName && ele.nodeName.toLowerCase() === name.toLowerCase(); - } - - /** - * 除去 null 后的 object 类型 - * @param obj - * @returns {*|boolean} - */ - function isObjectLike(obj) { - return typeof obj === 'object' && obj !== null; - } - - function isFunction(fn) { - return typeof fn === 'function'; - } - - function isString(obj) { - return typeof obj === 'string'; - } - - function isWindow(win) { - return win && win === win.window; - } - - function isDocument(doc) { - return doc && doc.nodeType === doc.DOCUMENT_NODE; - } - - function isArrayLike(obj) { - return typeof obj.length === 'number'; - } - - /** - * 循环数组或对象 - * @param obj - * @param callback - * @returns {*} - */ - function each(obj, callback) { - if (isArrayLike(obj)) { - for (var i = 0; i < obj.length; i += 1) { - if (callback.call(obj[i], i, obj[i]) === false) { - return obj; - } - } - } else { - var keys = Object.keys(obj); - for (var i$1 = 0; i$1 < keys.length; i$1 += 1) { - if (callback.call(obj[keys[i$1]], keys[i$1], obj[keys[i$1]]) === false) { - return obj; - } - } - } - - return obj; - } - - /** - * 遍历数组或对象,通过函数返回一个新的数组或对象,null 和 undefined 将被过滤掉。 - * @param elems - * @param callback - * @returns {Array} - */ - function map(elems, callback) { - var ref; - - var value; - var ret = []; - - each(elems, function (i, elem) { - value = callback(elem, i); - - if (value !== null && value !== undefined) { - ret.push(value); - } - }); - - return (ref = []).concat.apply(ref, ret); - } - - /** - * 把对象合并到第一个参数中,并返回第一个参数 - * @param first - * @param second - * @returns {*} - */ - function merge(first, second) { - each(second, function (i, val) { - first.push(val); - }); - - return first; - } - - /** - * 删除数组中重复元素 - * @param arr {Array} - * @returns {Array} - */ - function unique(arr) { - var result = []; - - for (var i = 0; i < arr.length; i += 1) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - - return result; - } - - var elementDisplay = {}; - - /** - * 获取元素的默认 display 样式值,用于 .show() 方法 - * @param nodeName - * @returns {*} - */ - function defaultDisplay(nodeName) { - var element; - var display; - - if (!elementDisplay[nodeName]) { - element = document.createElement(nodeName); - document.body.appendChild(element); - display = getComputedStyle(element, '').getPropertyValue('display'); - element.parentNode.removeChild(element); - if (display === 'none') { - display = 'block'; - } - - elementDisplay[nodeName] = display; - } - - return elementDisplay[nodeName]; - } - - $.extend({ - each: each, - merge: merge, - unique: unique, - map: map, - - /** - * 一个 DOM 节点是否包含另一个 DOM 节点 - * @param parent {Node} 父节点 - * @param node {Node} 子节点 - * @returns {Boolean} - */ - contains: function contains(parent, node) { - if (parent && !node) { - return document.documentElement.contains(parent); - } - - return parent !== node && parent.contains(node); - }, - - /** - * 将数组或对象序列化 - * @param obj - * @returns {String} - */ - param: function param(obj) { - if (!isObjectLike(obj)) { - return ''; - } - - var args = []; - - function destructure(key, value) { - var keyTmp; - - if (isObjectLike(value)) { - each(value, function (i, v) { - if (Array.isArray(value) && !isObjectLike(v)) { - keyTmp = ''; - } else { - keyTmp = i; - } - - destructure((key + "[" + keyTmp + "]"), v); - }); - } else { - if (value !== null && value !== '') { - keyTmp = "=" + (encodeURIComponent(value)); - } else { - keyTmp = ''; - } - - args.push(encodeURIComponent(key) + keyTmp); - } - } - - each(obj, function (key, value) { - destructure(key, value); - }); - - return args.join('&'); - }, - }); - - $.fn.extend({ - /** - * 遍历对象 - * @param callback {Function} - * @return {JQ} - */ - each: function each$1(callback) { - return each(this, callback); - }, - - /** - * 通过遍历集合中的节点对象,通过函数返回一个新的对象,null 或 undefined 将被过滤掉。 - * @param callback {Function} - * @returns {JQ} - */ - map: function map$1(callback) { - return new JQ(map(this, function (el, i) { return callback.call(el, i, el); })); - }, - - /** - * 获取指定 DOM 元素,没有 index 参数时,获取所有 DOM 的数组 - * @param index {Number=} - * @returns {Node|Array} - */ - get: function get(index) { - return index === undefined - ? [].slice.call(this) - : this[index >= 0 ? index : index + this.length]; - }, - - /** - * array中提取的方法。从start开始,如果end 指出。提取不包含end位置的元素。 - * @param args {start, end} - * @returns {JQ} - */ - slice: function slice() { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - return new JQ([].slice.apply(this, args)); - }, - - /** - * 筛选元素集合 - * @param selector {String|JQ|Node|Function} - * @returns {JQ} - */ - filter: function filter(selector) { - if (isFunction(selector)) { - return this.map(function (index, ele) { return (selector.call(ele, index, ele) ? ele : undefined); }); - } - - var $selector = $(selector); - - return this.map(function (index, ele) { return ($selector.index(ele) > -1 ? ele : undefined); }); - }, - - /** - * 从元素集合中删除指定的元素 - * @param selector {String|Node|JQ|Function} - * @return {JQ} - */ - not: function not(selector) { - var $excludes = this.filter(selector); - - return this.map(function (index, ele) { return ($excludes.index(ele) > -1 ? undefined : ele); }); - }, - - /** - * 获取元素相对于 document 的偏移 - * @returns {Object} - */ - offset: function offset() { - if (this[0]) { - var offset = this[0].getBoundingClientRect(); - - return { - left: offset.left + window.pageXOffset, - top: offset.top + window.pageYOffset, - width: offset.width, - height: offset.height, - }; - } - - return null; - }, - - /** - * 返回最近的用于定位的父元素 - * @returns {*|JQ} - */ - offsetParent: function offsetParent() { - return this.map(function () { - var parent = this.offsetParent; - - while (parent && $(parent).css('position') === 'static') { - parent = parent.offsetParent; - } - - return parent || document.documentElement; - }); - }, - - /** - * 获取元素相对于父元素的偏移 - * @return {Object} - */ - position: function position() { - var self = this; - - if (!self[0]) { - return null; - } - - var offsetParent; - var offset; - var parentOffset = { - top: 0, - left: 0, - }; - - if (self.css('position') === 'fixed') { - offset = self[0].getBoundingClientRect(); - } else { - offsetParent = self.offsetParent(); - offset = self.offset(); - if (!isNodeName(offsetParent[0], 'html')) { - parentOffset = offsetParent.offset(); - } - - parentOffset = { - top: parentOffset.top + offsetParent.css('borderTopWidth'), - left: parentOffset.left + offsetParent.css('borderLeftWidth'), - }; - } - - return { - top: offset.top - parentOffset.top - self.css('marginTop'), - left: offset.left - parentOffset.left - self.css('marginLeft'), - width: offset.width, - height: offset.height, - }; - }, - - /** - * 显示指定元素 - * @returns {JQ} - */ - show: function show() { - return this.each(function () { - if (this.style.display === 'none') { - this.style.display = ''; - } - - if (window.getComputedStyle(this, '').getPropertyValue('display') === 'none') { - this.style.display = defaultDisplay(this.nodeName); - } - }); - }, - - /** - * 隐藏指定元素 - * @returns {JQ} - */ - hide: function hide() { - return this.each(function () { - this.style.display = 'none'; - }); - }, - - /** - * 切换元素的显示状态 - * @returns {JQ} - */ - toggle: function toggle() { - return this.each(function () { - this.style.display = this.style.display === 'none' ? '' : 'none'; - }); - }, - - /** - * 是否含有指定的 CSS 类 - * @param className {String} - * @returns {boolean} - */ - hasClass: function hasClass(className) { - if (!this[0] || !className) { - return false; - } - - return this[0].classList.contains(className); - }, - - /** - * 移除指定属性 - * @param attr {String} - * @returns {JQ} - */ - removeAttr: function removeAttr(attr) { - return this.each(function () { - this.removeAttribute(attr); - }); - }, - - /** - * 删除属性值 - * @param name {String} - * @returns {JQ} - */ - removeProp: function removeProp(name) { - return this.each(function () { - try { - delete this[name]; - } catch (e) { - // empty - } - }); - }, - - /** - * 获取当前对象中第n个元素 - * @param index {Number} - * @returns {JQ} - */ - eq: function eq(index) { - var ret = index === -1 - ? this.slice(index) - : this.slice(index, +index + 1); - - return new JQ(ret); - }, - - /** - * 获取对象中第一个元素 - * @returns {JQ} - */ - first: function first() { - return this.eq(0); - }, - - /** - * 获取对象中最后一个元素 - * @returns {JQ} - */ - last: function last() { - return this.eq(-1); - }, - - /** - * 获取一个元素的位置。 - * 当 elem 参数没有给出时,返回当前元素在兄弟节点中的位置。 - * 有给出了 elem 参数时,返回 elem 元素在当前对象中的位置 - * @param elem {Selector|Node=} - * @returns {Number} - */ - index: function index(elem) { - if (!elem) { - // 获取当前 JQ 对象的第一个元素在同辈元素中的位置 - return this - .eq(0) - .parent() - .children() - .get() - .indexOf(this[0]); - } - - if (isString(elem)) { - // 返回当前 JQ 对象的第一个元素在指定选择器对应的元素中的位置 - return $(elem) - .eq(0) - .parent() - .children() - .get() - .indexOf(this[0]); - } - - // 返回指定元素在当前 JQ 对象中的位置 - return this - .get() - .indexOf(elem); - }, - - /** - * 根据选择器、DOM元素或 JQ 对象来检测匹配元素集合, - * 如果其中至少有一个元素符合这个给定的表达式就返回true - * @param selector {String|Node|NodeList|Array|JQ|Window} - * @returns boolean - */ - is: function is(selector) { - var self = this[0]; - - if (!self || selector === undefined || selector === null) { - return false; - } - - if (isString(selector)) { - if (self === document || self === window) { - return false; - } - - var matchesSelector = self.matches - || self.matchesSelector - || self.webkitMatchesSelector - || self.mozMatchesSelector - || self.oMatchesSelector - || self.msMatchesSelector; - - return matchesSelector.call(self, selector); - } - - if (selector === document || selector === window) { - return self === selector; - } - - if (selector.nodeType || isArrayLike(selector)) { - var $compareWith = selector.nodeType ? [selector] : selector; - - for (var i = 0; i < $compareWith.length; i += 1) { - if ($compareWith[i] === self) { - return true; - } - } - - return false; - } - - return false; - }, - - /** - * 根据 CSS 选择器找到后代节点的集合 - * @param selector {String} - * @returns {JQ} - */ - find: function find(selector) { - var foundElements = []; - - this.each(function (i, _this) { - var nodeType = _this.nodeType; - - if (nodeType !== 1 && nodeType !== 9) { - // 不是 element 和 document 则跳过 - return; - } - - merge(foundElements, _this.querySelectorAll(selector)); - }); - - return new JQ(foundElements); - }, - - /** - * 找到直接子元素的元素集合 - * @param selector {String=} - * @returns {JQ} - */ - children: function children(selector) { - var children = []; - - this.each(function (_, _this) { - each(_this.childNodes, function (__, childNode) { - if (childNode.nodeType !== 1) { - return; - } - - if (!selector || (selector && $(childNode).is(selector))) { - children.push(childNode); - } - }); - }); - - return new JQ(unique(children)); - }, - - /** - * 保留含有指定子元素的元素,去掉不含有指定子元素的元素 - * @param selector {String|Node|JQ|NodeList|Array} - * @return {JQ} - */ - has: function has(selector) { - var $targets = isString(selector) ? this.find(selector) : $(selector); - var length = $targets.length; - - return this.filter(function () { - for (var i = 0; i < length; i += 1) { - if ($.contains(this, $targets[i])) { - return true; - } - } - - return false; - }); - }, - - /** - * 取得同辈元素的集合 - * @param selector {String=} - * @returns {JQ} - */ - siblings: function siblings(selector) { - return this.prevAll(selector).add(this.nextAll(selector)); - }, - - /** - * 返回首先匹配到的父节点,包含父节点 - * @param selector {String} - * @returns {JQ} - */ - closest: function closest(selector) { - var self = this; - - if (!self.is(selector)) { - self = self.parents(selector).eq(0); - } - - return self; - }, - - /** - * 删除所有匹配的元素 - * @returns {JQ} - */ - remove: function remove() { - return this.each(function (i, _this) { - if (_this.parentNode) { - _this.parentNode.removeChild(_this); - } - }); - }, - - /** - * 添加匹配的元素到当前对象中 - * @param selector {String|JQ} - * @returns {JQ} - */ - add: function add(selector) { - return new JQ(unique(merge(this.get(), $(selector)))); - }, - - /** - * 删除子节点 - * @returns {JQ} - */ - empty: function empty() { - return this.each(function () { - this.innerHTML = ''; - }); - }, - - /** - * 通过深度克隆来复制集合中的所有元素。 - * (通过原生 cloneNode 方法深度克隆来复制集合中的所有元素。此方法不会有数据和事件处理程序复制到新的元素。这点和jquery中利用一个参数来确定是否复制数据和事件处理不相同。) - * @returns {JQ} - */ - clone: function clone() { - return this.map(function () { - return this.cloneNode(true); - }); - }, - - /** - * 用新元素替换当前元素 - * @param newContent {String|Node|NodeList|JQ} - * @returns {JQ} - */ - replaceWith: function replaceWith(newContent) { - return this.before(newContent).remove(); - }, - - /** - * 将表单元素的值组合成键值对数组 - * @returns {Array} - */ - serializeArray: function serializeArray() { - var result = []; - var elem = this[0]; - - if (!elem || !elem.elements) { - return result; - } - - $([].slice.call(elem.elements)).each(function () { - var $elem = $(this); - var type = $elem.attr('type'); - if ( - this.nodeName.toLowerCase() !== 'fieldset' - && !this.disabled - && ['submit', 'reset', 'button'].indexOf(type) === -1 - && (['radio', 'checkbox'].indexOf(type) === -1 || this.checked) - ) { - result.push({ - name: $elem.attr('name'), - value: $elem.val(), - }); - } - }); - - return result; - }, - - /** - * 将表单元素或对象序列化 - * @returns {String} - */ - serialize: function serialize() { - var result = []; - - each(this.serializeArray(), function (i, elem) { - result.push(((encodeURIComponent(elem.name)) + "=" + (encodeURIComponent(elem.value)))); - }); - - return result.join('&'); - }, - }); - - /** - * val - 获取或设置元素的值 - * @param value {String=} - * @return {*|JQ} - */ - /** - * html - 获取或设置元素的 HTML - * @param value {String=} - * @return {*|JQ} - */ - /** - * text - 获取或设置元素的内容 - * @param value {String=} - * @return {*|JQ} - */ - each(['val', 'html', 'text'], function (nameIndex, name) { - var props = { - 0: 'value', - 1: 'innerHTML', - 2: 'textContent', - }; - - var defaults = { - 0: undefined, - 1: undefined, - 2: null, - }; - - $.fn[name] = function (value) { - if (value === undefined) { - // 获取值 - return this[0] ? this[0][props[nameIndex]] : defaults[nameIndex]; - } - - // 设置值 - return this.each(function (i, elem) { - elem[props[nameIndex]] = value; - }); - }; - }); - - /** - * attr - 获取或设置元素的属性值 - * @param {name|props|key,value=} - * @return {String|JQ} - */ - /** - * prop - 获取或设置元素的属性值 - * @param {name|props|key,value=} - * @return {String|JQ} - */ - /** - * css - 获取或设置元素的样式 - * @param {name|props|key,value=} - * @return {String|JQ} - */ - each(['attr', 'prop', 'css'], function (nameIndex, name) { - function set(elem, key, value) { - if (nameIndex === 0) { - elem.setAttribute(key, value); - } else if (nameIndex === 1) { - elem[key] = value; - } else { - elem.style[key] = value; - } - } - - function get(elem, key) { - if (!elem) { - return undefined; - } - - if (nameIndex === 0) { - return elem.getAttribute(key); - } - - if (nameIndex === 1) { - return elem[key]; - } - - return window.getComputedStyle(elem, null).getPropertyValue(key); - } - - $.fn[name] = function (key, value) { - var argLength = arguments.length; - - if (argLength === 1 && isString(key)) { - // 获取值 - return get(this[0], key); - } - - // 设置值 - return this.each(function (i, elem) { - if (argLength === 2) { - set(elem, key, value); - } else { - each(key, function (k, v) { - set(elem, k, v); - }); - } - }); - }; - }); - - /** - * addClass - 添加 CSS 类,多个类名用空格分割 - * @param className {String} - * @return {JQ} - */ - /** - * removeClass - 移除 CSS 类,多个类名用空格分割 - * @param className {String} - * @return {JQ} - */ - /** - * toggleClass - 切换 CSS 类名,多个类名用空格分割 - * @param className {String} - * @return {JQ} - */ - each(['add', 'remove', 'toggle'], function (nameIndex, name) { - $.fn[(name + "Class")] = function (className) { - if (!className) { - return this; - } - - var classes = className.split(' '); - - return this.each(function (i, elem) { - each(classes, function (j, cls) { - elem.classList[name](cls); - }); - }); - }; - }); - - /** - * width - 获取元素的宽度 - * @return {Number} - */ - /** - * height - 获取元素的高度 - * @return {Number} - */ - each({ - Width: 'width', - Height: 'height', - }, function (prop, name) { - $.fn[name] = function (val) { - if (val === undefined) { - // 获取 - var elem = this[0]; - - if (isWindow(elem)) { - return elem[("inner" + prop)]; - } - - if (isDocument(elem)) { - return elem.documentElement[("scroll" + prop)]; - } - - var $elem = $(elem); - - // IE10、IE11 在 box-sizing:border-box 时,不会包含 padding 和 border,这里进行修复 - var IEFixValue = 0; - var isWidth = name === 'width'; - if ('ActiveXObject' in window) { // 判断是 IE 浏览器 - if ($elem.css('box-sizing') === 'border-box') { - IEFixValue = parseFloat($elem.css(("padding-" + (isWidth ? 'left' : 'top')))) - + parseFloat($elem.css(("padding-" + ((isWidth ? 'right' : 'bottom'))))) - + parseFloat($elem.css(("border-" + (isWidth ? 'left' : 'top') + "-width"))) - + parseFloat($elem.css(("border-" + (isWidth ? 'right' : 'bottom') + "-width"))); - } - } - - return parseFloat($(elem).css(name)) + IEFixValue; - } - - // 设置 - /* eslint no-restricted-globals: 0 */ - if (!isNaN(Number(val)) && val !== '') { - val += 'px'; - } - - return this.css(name, val); - }; - }); - - /** - * innerWidth - 获取元素的宽度,包含内边距 - * @return {Number} - */ - /** - * innerHeight - 获取元素的高度,包含内边距 - * @return {Number} - */ - each({ - Width: 'width', - Height: 'height', - }, function (prop, name) { - $.fn[("inner" + prop)] = function () { - var value = this[name](); - var $elem = $(this[0]); - - if ($elem.css('box-sizing') !== 'border-box') { - value += parseFloat($elem.css(("padding-" + (name === 'width' ? 'left' : 'top')))); - value += parseFloat($elem.css(("padding-" + (name === 'width' ? 'right' : 'bottom')))); - } - - return value; - }; - }); - - function dir(nodes, selector, nameIndex, node) { - var ret = []; - var elem; - - nodes.each(function (j, _this) { - elem = _this[node]; - while (elem) { - if (nameIndex === 2) { - // prevUntil - if (!selector || (selector && $(elem).is(selector))) { - break; - } - - ret.push(elem); - } else if (nameIndex === 0) { - // prev - if (!selector || (selector && $(elem).is(selector))) { - ret.push(elem); - } - - break; - } else if (!selector || (selector && $(elem).is(selector))) { - // prevAll - ret.push(elem); - } - - elem = elem[node]; - } - }); - - return new JQ(unique(ret)); - } - - /** - * prev - 取得前一个匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * prevAll - 取得前面所有匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * prevUntil - 取得前面的所有元素,直到遇到匹配的元素,不包含匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - each(['', 'All', 'Until'], function (nameIndex, name) { - $.fn[("prev" + name)] = function (selector) { - // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致 - var $nodes = nameIndex === 0 ? this : $(this.get().reverse()); - - return dir($nodes, selector, nameIndex, 'previousElementSibling'); - }; - }); - - /** - * next - 取得后一个匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * nextAll - 取得后面所有匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * nextUntil - 取得后面所有匹配的元素,直到遇到匹配的元素,不包含匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - each(['', 'All', 'Until'], function (nameIndex, name) { - $.fn[("next" + name)] = function (selector) { - return dir(this, selector, nameIndex, 'nextElementSibling'); - }; - }); - - /** - * parent - 取得匹配的直接父元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * parents - 取得所有匹配的父元素 - * @param selector {String=} - * @return {JQ} - */ - /** - * parentUntil - 取得所有的父元素,直到遇到匹配的元素,不包含匹配的元素 - * @param selector {String=} - * @return {JQ} - */ - each(['', 's', 'sUntil'], function (nameIndex, name) { - $.fn[("parent" + name)] = function (selector) { - // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致 - var $nodes = nameIndex === 0 ? this : $(this.get().reverse()); - - return dir($nodes, selector, nameIndex, 'parentNode'); - }; - }); - - /** - * append - 在元素内部追加内容 - * @param newChild {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * prepend - 在元素内部前置内容 - * @param newChild {String|Node|NodeList|JQ} - * @return {JQ} - */ - each(['append', 'prepend'], function (nameIndex, name) { - $.fn[name] = function (newChild) { - var newChilds; - var copyByClone = this.length > 1; - - if (isString(newChild) && (newChild[0] !== '<' || newChild[newChild.length - 1] !== '>')) { - var tempDiv = document.createElement('div'); - tempDiv.innerHTML = newChild; - newChilds = [].slice.call(tempDiv.childNodes); - } else { - newChilds = $(newChild).get(); - } - - if (nameIndex === 1) { - // prepend - newChilds.reverse(); - } - - return this.each(function (i, _this) { - each(newChilds, function (j, child) { - // 一个元素要同时追加到多个元素中,需要先复制一份,然后追加 - if (copyByClone && i > 0) { - child = child.cloneNode(true); - } - - if (nameIndex === 0) { - // append - _this.appendChild(child); - } else { - // prepend - _this.insertBefore(child, _this.childNodes[0]); - } - }); - }); - }; - }); - - /** - * insertBefore - 插入到指定元素的前面 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * insertAfter - 插入到指定元素的后面 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - each(['insertBefore', 'insertAfter'], function (nameIndex, name) { - $.fn[name] = function (selector) { - var $elem = $(selector); - - return this.each(function (i, _this) { - $elem.each(function (j, elem) { - elem.parentNode.insertBefore( - $elem.length === 1 ? _this : _this.cloneNode(true), - nameIndex === 0 ? elem : elem.nextSibling - ); - }); - }); - }; - }); - - /** - * appendTo - 追加到指定元素内容 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * prependTo - 前置到指定元素内部 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * before - 插入到指定元素前面 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * after - 插入到指定元素后面 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - /** - * replaceAll - 替换掉指定元素 - * @param selector {String|Node|NodeList|JQ} - * @return {JQ} - */ - each({ - appendTo: 'append', - prependTo: 'prepend', - before: 'insertBefore', - after: 'insertAfter', - replaceAll: 'replaceWith', - }, function (name, original) { - $.fn[name] = function (selector) { - $(selector)[original](this); - return this; - }; - }); - - var dataNS = 'mduiElementDataStorage'; - - $.extend({ - /** - * 在指定元素上存储数据,或从指定元素上读取数据 - * @param elem 必须, DOM 元素 - * @param key 必须,键名 - * @param value 可选,值 - */ - data: function data(elem, key, value) { - var data = {}; - - if (value !== undefined) { - // 根据 key、value 设置值 - data[key] = value; - } else if (isObjectLike(key)) { - // 根据键值对设置值 - data = key; - } else if (key === undefined) { - // 获取所有值 - var result = {}; - - each(elem.attributes, function (i, attribute) { - var name = attribute.name; - - if (name.indexOf('data-') === 0) { - var prop = name.slice(5).replace(/-./g, function (u) { return u.charAt(1).toUpperCase(); }); - - result[prop] = attribute.value; - } - }); - - if (elem[dataNS]) { - each(elem[dataNS], function (k, v) { - result[k] = v; - }); - } - - return result; - } else if (elem[dataNS] && (key in elem[dataNS])) { - // 获取指定值 - return elem[dataNS][key]; - } else { - // 从 data- 中获取指定值 - var dataKey = elem.getAttribute(("data-" + key)); - - if (dataKey) { - return dataKey; - } - - return undefined; - } - - // 设置值 - if (!elem[dataNS]) { - elem[dataNS] = {}; - } - - each(data, function (k, v) { - elem[dataNS][k] = v; - }); - - return undefined; - }, - - /** - * 移除指定元素上存放的数据 - * @param elem 必须,DOM 元素 - * @param key 必须,键名 - */ - removeData: function removeData(elem, key) { - if (elem[dataNS] && elem[dataNS][key]) { - elem[dataNS][key] = null; - delete elem[dataNS][key]; - } - }, - }); - - $.fn.extend({ - /** - * 在元素上读取或设置数据 - * @param key 必须 - * @param value - * @returns {*} - */ - data: function data(key, value) { - if (value === undefined) { - if (isObjectLike(key)) { - // 同时设置多个值 - return this.each(function (i, elem) { - $.data(elem, key); - }); - } - - if (this[0]) { - // 获取值 - return $.data(this[0], key); - } - - return undefined; - } - - // 设置值 - return this.each(function (i, elem) { - $.data(elem, key, value); - }); - }, - - /** - * 移除元素上存储的数据 - * @param key 必须 - * @returns {*} - */ - removeData: function removeData(key) { - return this.each(function (i, elem) { - $.removeData(elem, key); - }); - }, - }); - - !function(){try{return new e("test")}catch(e){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent("MouseEvent");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n};e.prototype=Event.prototype,window.MouseEvent=e;}(); - - !function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}"function"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t);}(); - - // 存储事件 - var handlers = { - // i: { // 元素ID - // j: { // 事件ID - // e: 事件名 - // fn: 事件处理函数 - // i: 事件ID - // proxy: - // sel: 选择器 - // } - // } - }; - - // 元素ID - var mduiElementId = 1; - - function fnFalse() { - return false; - } - - /** - * 为元素赋予一个唯一的ID - * @param element - * @returns {number|*} - */ - function getElementId(element) { - if (!element.mduiElementId) { - mduiElementId += 1; - element.mduiElementId = mduiElementId; - } - - return element.mduiElementId; - } - - /** - * 获取匹配的事件 - * @param element - * @param eventName - * @param func - * @param selector - * @returns {Array} - */ - function getHandlers(element, eventName, func, selector) { - return (handlers[getElementId(element)] || []).filter(function (handler) { return handler - && (!eventName || handler.e === eventName) - && (!func || handler.fn.toString() === func.toString()) - && (!selector || handler.sel === selector); }); - } - - /** - * 添加事件监听 - * @param element - * @param eventName - * @param func - * @param data - * @param selector - */ - function add(element, eventName, func, data, selector) { - var elementId = getElementId(element); - - if (!handlers[elementId]) { - handlers[elementId] = []; - } - - // 传入 data.useCapture 来设置 useCapture: true - var useCapture = false; - if (isObjectLike(data) && data.useCapture) { - useCapture = true; - } - - eventName.split(' ').forEach(function (event) { - var handler = { - e: event, - fn: func, - sel: selector, - i: handlers[elementId].length, - }; - - function callFn(e, elem) { - // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数 - /* eslint no-underscore-dangle: 0 */ - var result = func.apply(elem, e._detail === undefined ? [e] : [e].concat(e._detail)); - - if (result === false) { - e.preventDefault(); - e.stopPropagation(); - } - } - - function proxyfn(e) { - e._data = data; - - if (selector) { - // 事件代理 - $(element) - .find(selector) - .get() - .reverse() - .forEach(function (elem) { - if (elem === e.target || $.contains(elem, e.target)) { - callFn(e, elem); - } - }); - } else { - // 不使用事件代理 - callFn(e, element); - } - } - - handler.proxy = proxyfn; - handlers[elementId].push(handler); - element.addEventListener(handler.e, proxyfn, useCapture); - }); - } - - /** - * 移除事件监听 - * @param element - * @param eventName - * @param func - * @param selector - */ - function remove(element, eventName, func, selector) { - (eventName || '').split(' ').forEach(function (event) { - getHandlers(element, event, func, selector).forEach(function (handler) { - delete handlers[getElementId(element)][handler.i]; - element.removeEventListener(handler.e, handler.proxy, false); - }); - }); - } - - $.fn.extend({ - /** - * DOM 加载完毕后调用的函数 - * @param callback - * @returns {ready} - */ - ready: function ready(callback) { - if (/complete|loaded|interactive/.test(document.readyState) && document.body) { - callback($); - } else { - document.addEventListener('DOMContentLoaded', function () { - callback($); - }, false); - } - - return this; - }, - - /** - * 绑定事件 - * - * $().on({eventName: fn}, selector, data); - * $().on({eventName: fn}, selector) - * $().on({eventName: fn}) - * $().on(eventName, selector, data, fn); - * $().on(eventName, selector, fn); - * $().on(eventName, data, fn); - * $().on(eventName, fn); - * $().on(eventName, false); - * - * @param eventName - * @param selector - * @param data - * @param callback - * @param one 是否是 one 方法,只在 JQ 内部使用 - * @returns - */ - on: function on(eventName, selector, data, callback, one) { - var self = this; - - // 默认 - // $().on(event, selector, data, callback) - - // event 使用 事件:函数 键值对 - // event = { - // 'event1': callback1, - // 'event2': callback2 - // } - // - // $().on(event, selector, data) - if (eventName && !isString(eventName)) { - each(eventName, function (type, fn) { - self.on(type, selector, data, fn); - }); - - return self; - } - - // selector 不存在 - // $().on(event, data, callback) - if (!isString(selector) && !isFunction(callback) && callback !== false) { - callback = data; - data = selector; - selector = undefined; - } - - // data 不存在 - // $().on(event, callback) - if (isFunction(data) || data === false) { - callback = data; - data = undefined; - } - - // callback 为 false - // $().on(event, false) - if (callback === false) { - callback = fnFalse; - } - - if (one === 1) { - var origCallback = callback; - callback = function () { - self.off(eventName, selector, callback); - /* eslint prefer-rest-params: 0 */ - return origCallback.apply(this, arguments); - }; - } - - return this.each(function () { - add(this, eventName, callback, data, selector); - }); - }, - - /** - * 绑定事件,只触发一次 - * @param eventName - * @param selector - * @param data - * @param callback - */ - one: function one(eventName, selector, data, callback) { - var self = this; - - if (!isString(eventName)) { - each(eventName, function (type, fn) { - type.split(' ').forEach(function (eName) { - self.on(eName, selector, data, fn, 1); - }); - }); - } else { - eventName.split(' ').forEach(function (eName) { - self.on(eName, selector, data, callback, 1); - }); - } - - return this; - }, - - /** - * 取消绑定事件 - * - * $().off(eventName, selector); - * $().off(eventName, callback); - * $().off(eventName, false); - * - */ - off: function off(eventName, selector, callback) { - var self = this; - - // event 使用 事件:函数 键值对 - // event = { - // 'event1': callback1, - // 'event2': callback2 - // } - // - // $().off(event, selector) - if (eventName && !isString(eventName)) { - each(eventName, function (type, fn) { - self.off(type, selector, fn); - }); - - return self; - } - - // selector 不存在 - // $().off(event, callback) - if (!isString(selector) && !isFunction(callback) && callback !== false) { - callback = selector; - selector = undefined; - } - - // callback 为 false - // $().off(event, false) - if (callback === false) { - callback = fnFalse; - } - - return self.each(function () { - remove(this, eventName, callback, selector); - }); - }, - - /** - * 触发一个事件 - * @param eventName - * @param data - * @returns {*|JQ} - */ - trigger: function trigger(eventName, data) { - var isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(eventName) > -1; - var evt; - - if (isMouseEvent) { - // Note: MouseEvent 无法传入 detail 参数 - evt = new MouseEvent(eventName, { - bubbles: true, - cancelable: true, - }); - } else { - evt = new CustomEvent(eventName, { - detail: data, - bubbles: true, - cancelable: true, - }); - } - - evt._detail = data; - - return this.each(function () { - this.dispatchEvent(evt); - }); - }, - }); - - var globalOptions = {}; - var jsonpID = 0; - - // 全局事件名 - var ajaxEvent = { - ajaxStart: 'start.mdui.ajax', - ajaxSuccess: 'success.mdui.ajax', - ajaxError: 'error.mdui.ajax', - ajaxComplete: 'complete.mdui.ajax', - }; - - /** - * 判断此请求方法是否通过查询字符串提交参数 - * @param method 请求方法,大写 - * @returns {boolean} - */ - function isQueryStringData(method) { - return ['GET', 'HEAD'].indexOf(method) >= 0; - } - - /** - * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ? - * @param url - * @param query 参数 key=value - * @returns {string} - */ - function appendQuery(url, query) { - return ((url + "&" + query)).replace(/[&?]{1,2}/, '?'); - } - - $.extend({ - - /** - * 为 ajax 请求设置全局配置参数 - * @param options - */ - ajaxSetup: function ajaxSetup(options) { - $.extend(globalOptions, options || {}); - }, - - /** - * 发送 ajax 请求 - * @param options - */ - ajax: function ajax(options) { - // 配置参数 - var defaults = { - // 请求方式 - method: 'GET', - // 请求的数据,查询字符串或对象 - data: false, - // 是否把数据转换为查询字符串发送,为 false 时不进行自动转换。 - processData: true, - // 是否为异步请求 - async: true, - // 是否从缓存中读取,只对 GET/HEAD 请求有效,dataType 为 jsonp 时为 false - cache: true, - // HTTP 访问认证的用户名 - username: '', - // HTTP 访问认证的密码 - password: '', - // 一个键值对,随着请求一起发送 - headers: {}, - // 设置 XHR 对象 - xhrFields: {}, - // 一个 HTTP 代码和函数的对象 - statusCode: {}, - // 预期服务器返回的数据类型 text、json、jsonp - dataType: 'text', - // jsonp 请求的回调函数名称 - jsonp: 'callback', - // (string 或 Function)使用指定的回调函数名代替自动生成的回调函数名 - jsonpCallback: function () { - jsonpID += 1; - - return ("mduijsonp_" + (Date.now()) + "_" + jsonpID); - }, - // 发送信息至服务器时内容编码类型 - contentType: 'application/x-www-form-urlencoded', - // 设置请求超时时间(毫秒) - timeout: 0, - // 是否在 document 上触发全局 ajax 事件 - global: true, - // beforeSend: function (XMLHttpRequest) 请求发送前执行,返回 false 可取消本次 ajax 请求 - // success: function (data, textStatus, XMLHttpRequest) 请求成功时调用 - // error: function (XMLHttpRequest, textStatus) 请求失败时调用 - // statusCode: {404: function ()} - // 200-299之间的状态码表示成功,参数和 success 回调一样;其他状态码表示失败,参数和 error 回调一样 - // complete: function (XMLHttpRequest, textStatus) 请求完成后回调函数 (请求成功或失败之后均调用) - }; - - // 回调函数 - var callbacks = [ - 'beforeSend', - 'success', - 'error', - 'statusCode', - 'complete' ]; - - // 是否已取消请求 - var isCanceled = false; - - // 保存全局配置 - var globals = globalOptions; - - // 事件参数 - var eventParams = {}; - - // 合并全局参数到默认参数,全局回调函数不覆盖 - each(globals, function (key, value) { - if (callbacks.indexOf(key) < 0) { - defaults[key] = value; - } - }); - - // 参数合并 - options = $.extend({}, defaults, options); - - /** - * 触发全局事件 - * @param event string 事件名 - * @param xhr XMLHttpRequest 事件参数 - */ - function triggerEvent(event, xhr) { - if (options.global) { - $(document).trigger(event, xhr); - } - } - - /** - * 触发 XHR 回调和事件 - * @param callback string 回调函数名称 - * @param args - */ - function triggerCallback(callback) { - var args = [], len = arguments.length - 1; - while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; - - var result1; - var result2; - - if (callback) { - // 全局回调 - if (callback in globals) { - result1 = globals[callback].apply(globals, args); - } - - // 自定义回调 - if (options[callback]) { - result2 = options[callback].apply(options, args); - } - - // beforeSend 回调返回 false 时取消 ajax 请求 - if (callback === 'beforeSend' && (result1 === false || result2 === false)) { - isCanceled = true; - } - } - } - - // 请求方式转为大写 - var method = options.method.toUpperCase(); - - // 默认使用当前页面 URL - if (!options.url) { - options.url = window.location.toString(); - } - - // 需要发送的数据 - // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换 - var sendData; - if ( - (isQueryStringData(method) || options.processData) - && options.data - && [ArrayBuffer, Blob, Document, FormData].indexOf(options.data.constructor) < 0 - ) { - sendData = isString(options.data) ? options.data : $.param(options.data); - } else { - sendData = options.data; - } - - // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中 - if (isQueryStringData(method) && sendData) { - // 查询字符串拼接到 URL 中 - options.url = appendQuery(options.url, sendData); - sendData = null; - } - - // JSONP - if (options.dataType === 'jsonp') { - // URL 中添加自动生成的回调函数名 - var callbackName = isFunction(options.jsonpCallback) - ? options.jsonpCallback() - : options.jsonpCallback; - var requestUrl = appendQuery(options.url, ((options.jsonp) + "=" + callbackName)); - - eventParams.options = options; - - triggerEvent(ajaxEvent.ajaxStart, eventParams); - triggerCallback('beforeSend', null); - - if (isCanceled) { - return undefined; - } - - var abortTimeout; - - // 创建 script - var script = document.createElement('script'); - script.type = 'text/javascript'; - - // 创建 script 失败 - script.onerror = function () { - if (abortTimeout) { - clearTimeout(abortTimeout); - } - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', null, 'scripterror'); - - triggerEvent(ajaxEvent.ajaxComplete, eventParams); - triggerCallback('complete', null, 'scripterror'); - }; - - script.src = requestUrl; - - // 处理 - window[callbackName] = function (data) { - if (abortTimeout) { - clearTimeout(abortTimeout); - } - - eventParams.data = data; - - triggerEvent(ajaxEvent.ajaxSuccess, eventParams); - triggerCallback('success', data, 'success', null); - - $(script).remove(); - script = null; - delete window[callbackName]; - }; - - $('head').append(script); - - if (options.timeout > 0) { - abortTimeout = setTimeout(function () { - $(script).remove(); - script = null; - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', null, 'timeout'); - }, options.timeout); - } - - return undefined; - } - - // GET/HEAD 请求的缓存处理 - if (isQueryStringData(method) && !options.cache) { - options.url = appendQuery(options.url, ("_=" + (Date.now()))); - } - - // 创建 XHR - var xhr = new XMLHttpRequest(); - - xhr.open(method, options.url, options.async, options.username, options.password); - - if ( - options.contentType - || ( - sendData - && !isQueryStringData(method) - && options.contentType !== false - ) - ) { - xhr.setRequestHeader('Content-Type', options.contentType); - } - - // 设置 Accept - if (options.dataType === 'json') { - xhr.setRequestHeader('Accept', 'application/json, text/javascript'); - } - - // 添加 headers - if (options.headers) { - each(options.headers, function (key, value) { - xhr.setRequestHeader(key, value); - }); - } - - // 检查是否是跨域请求 - if (options.crossDomain === undefined) { - options.crossDomain = /^([\w-]+:)?\/\/([^/]+)/.test(options.url) - && RegExp.$2 !== window.location.host; - } - - if (!options.crossDomain) { - xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); - } - - if (options.xhrFields) { - each(options.xhrFields, function (key, value) { - xhr[key] = value; - }); - } - - eventParams.xhr = xhr; - eventParams.options = options; - - var xhrTimeout; - - xhr.onload = function () { - if (xhrTimeout) { - clearTimeout(xhrTimeout); - } - - // 包含成功或错误代码的字符串 - var textStatus; - - // AJAX 返回的 HTTP 响应码是否表示成功 - var isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || xhr.status === 0; - - var responseData; - - if (isHttpStatusSuccess) { - if (xhr.status === 204 || method === 'HEAD') { - textStatus = 'nocontent'; - } else if (xhr.status === 304) { - textStatus = 'notmodified'; - } else { - textStatus = 'success'; - } - - if (options.dataType === 'json') { - try { - responseData = JSON.parse(xhr.responseText); - eventParams.data = responseData; - } catch (err) { - textStatus = 'parsererror'; - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', xhr, textStatus); - } - - if (textStatus !== 'parsererror') { - triggerEvent(ajaxEvent.ajaxSuccess, eventParams); - triggerCallback('success', responseData, textStatus, xhr); - } - } else { - responseData = xhr.responseType === 'text' || xhr.responseType === '' - ? xhr.responseText - : xhr.response; - eventParams.data = responseData; - - triggerEvent(ajaxEvent.ajaxSuccess, eventParams); - triggerCallback('success', responseData, textStatus, xhr); - } - } else { - textStatus = 'error'; - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', xhr, textStatus); - } - - // statusCode - each([globals.statusCode, options.statusCode], function (i, func) { - if (func && func[xhr.status]) { - if (isHttpStatusSuccess) { - func[xhr.status](responseData, textStatus, xhr); - } else { - func[xhr.status](xhr, textStatus); - } - } - }); - - triggerEvent(ajaxEvent.ajaxComplete, eventParams); - triggerCallback('complete', xhr, textStatus); - }; - - xhr.onerror = function () { - if (xhrTimeout) { - clearTimeout(xhrTimeout); - } - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', xhr, xhr.statusText); - - triggerEvent(ajaxEvent.ajaxComplete, eventParams); - triggerCallback('complete', xhr, 'error'); - }; - - xhr.onabort = function () { - var textStatus = 'abort'; - - if (xhrTimeout) { - textStatus = 'timeout'; - clearTimeout(xhrTimeout); - } - - triggerEvent(ajaxEvent.ajaxError, eventParams); - triggerCallback('error', xhr, textStatus); - - triggerEvent(ajaxEvent.ajaxComplete, eventParams); - triggerCallback('complete', xhr, textStatus); - }; - - // ajax start 回调 - triggerEvent(ajaxEvent.ajaxStart, eventParams); - triggerCallback('beforeSend', xhr); - - if (isCanceled) { - return xhr; - } - - // Timeout - if (options.timeout > 0) { - xhrTimeout = setTimeout(function () { - xhr.abort(); - }, options.timeout); - } - - // 发送 XHR - xhr.send(sendData); - - return xhr; - }, - }); - - // 监听全局事件 - // - // 通过 $(document).on('success.mdui.ajax', function (event, params) {}) 调用时,包含两个参数 - // event: 事件对象 - // params: { - // xhr: XMLHttpRequest 对象 - // options: ajax 请求的配置参数 - // data: ajax 请求返回的数据 - // } - - // 全局 Ajax 事件快捷方法 - // $(document).ajaxStart(function (event, xhr, options) {}) - // $(document).ajaxSuccess(function (event, xhr, options, data) {}) - // $(document).ajaxError(function (event, xhr, options) {}) - // $(document).ajaxComplete(function (event, xhr, options) {}) - each(ajaxEvent, function (name, eventName) { - $.fn[name] = function (fn) { - return this.on(eventName, function (e, params) { - fn(e, params.xhr, params.options, params.data); - }); - }; - }); - - return $; - - }()); - - - /** - * ============================================================================= - * ************ 定义全局变量 ************ - * ============================================================================= - */ - - var $document = $(document); - var $window = $(window); - - /** - * 队列 -- 当前队列的 api 和 jquery 不一样,所以不打包进 mdui.JQ 里 - */ - var queue = {}; - (function () { - var queueData = []; - - /** - * 写入队列 - * @param queueName 对列名 - * @param func 函数名,该参数为空时,返回所有队列 - */ - queue.queue = function (queueName, func) { - if (queueData[queueName] === undefined) { - queueData[queueName] = []; - } - - if (func === undefined) { - return queueData[queueName]; - } - - queueData[queueName].push(func); - }; - - /** - * 从队列中移除第一个函数,并执行该函数 - * @param queueName - */ - queue.dequeue = function (queueName) { - if (queueData[queueName] !== undefined && queueData[queueName].length) { - (queueData[queueName].shift())(); - } - }; - - })(); - - /** - * touch 事件后的 500ms 内禁用 mousedown 事件 - * - * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click - * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click - */ - var TouchHandler = { - touches: 0, - - /** - * 该事件是否被允许 - * 在执行事件前调用该方法判断事件是否可以执行 - * @param e - * @returns {boolean} - */ - isAllow: function (e) { - var allow = true; - - if ( - TouchHandler.touches && - [ - 'mousedown', - 'mouseup', - 'mousemove', - 'click', - 'mouseover', - 'mouseout', - 'mouseenter', - 'mouseleave', - ].indexOf(e.type) > -1 - ) { - // 触发了 touch 事件后阻止鼠标事件 - allow = false; - } - - return allow; - }, - - /** - * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件 - * @param e - */ - register: function (e) { - if (e.type === 'touchstart') { - // 触发了 touch 事件 - TouchHandler.touches += 1; - } else if (['touchmove', 'touchend', 'touchcancel'].indexOf(e.type) > -1) { - // touch 事件结束 500ms 后解除对鼠标事件的阻止 - setTimeout(function () { - if (TouchHandler.touches) { - TouchHandler.touches -= 1; - } - }, 500); - } - }, - - start: 'touchstart mousedown', - move: 'touchmove mousemove', - end: 'touchend mouseup', - cancel: 'touchcancel mouseleave', - unlock: 'touchend touchmove touchcancel', - }; - - // 测试事件 - // 在每一个事件中都使用 TouchHandler.isAllow(e) 判断事件是否可执行 - // 在 touchstart 和 touchmove、touchend、touchcancel - // (function () { - // - // $document - // .on(TouchHandler.start, function (e) { - // if (!TouchHandler.isAllow(e)) { - // return; - // } - // TouchHandler.register(e); - // console.log(e.type); - // }) - // .on(TouchHandler.move, function (e) { - // if (!TouchHandler.isAllow(e)) { - // return; - // } - // console.log(e.type); - // }) - // .on(TouchHandler.end, function (e) { - // if (!TouchHandler.isAllow(e)) { - // return; - // } - // console.log(e.type); - // }) - // .on(TouchHandler.unlock, TouchHandler.register); - // })(); - - $(function () { - // 避免页面加载完后直接执行css动画 - // https://css-tricks.com/transitions-only-after-page-load/ - - setTimeout(function () { - $('body').addClass('mdui-loaded'); - }, 0); - }); - - - /** - * ============================================================================= - * ************ MDUI 内部使用的函数 ************ - * ============================================================================= - */ - - /** - * 解析 DATA API 的参数 - * @param str - * @returns {*} - */ - var parseOptions = function (str) { - var options = {}; - - if (str === null || !str) { - return options; - } - - if (typeof str === 'object') { - return str; - } - - /* jshint ignore:start */ - var start = str.indexOf('{'); - try { - options = (new Function('', - 'var json = ' + str.substr(start) + - '; return JSON.parse(JSON.stringify(json));'))(); - } catch (e) { - } - /* jshint ignore:end */ - - return options; - }; - - /** - * 绑定组件的事件 - * @param eventName 事件名 - * @param pluginName 插件名 - * @param inst 插件实例 - * @param trigger 在该元素上触发 - * @param obj 事件参数 - */ - var componentEvent = function (eventName, pluginName, inst, trigger, obj) { - if (!obj) { - obj = {}; - } - - obj.inst = inst; - - var fullEventName = eventName + '.mdui.' + pluginName; - - // jQuery 事件 - if (typeof jQuery !== 'undefined') { - jQuery(trigger).trigger(fullEventName, obj); - } - - // JQ 事件 - $(trigger).trigger(fullEventName, obj); - }; - - - /** - * ============================================================================= - * ************ 开放的常用方法 ************ - * ============================================================================= - */ - - $.fn.extend({ - - /** - * 执行强制重绘 - */ - reflow: function () { - return this.each(function () { - return this.clientLeft; - }); - }, - - /** - * 设置 transition 时间 - * @param duration - */ - transition: function (duration) { - if (typeof duration !== 'string') { - duration = duration + 'ms'; - } - - return this.each(function () { - this.style.webkitTransitionDuration = duration; - this.style.transitionDuration = duration; - }); - }, - - /** - * transition 动画结束回调 - * @param callback - * @returns {transitionEnd} - */ - transitionEnd: function (callback) { - var events = [ - 'webkitTransitionEnd', - 'transitionend', - ]; - var i; - var _this = this; - - function fireCallBack(e) { - if (e.target !== this) { - return; - } - - callback.call(this, e); - - for (i = 0; i < events.length; i++) { - _this.off(events[i], fireCallBack); - } - } - - if (callback) { - for (i = 0; i < events.length; i++) { - _this.on(events[i], fireCallBack); - } - } - - return this; - }, - - /** - * 设置 transform-origin 属性 - * @param transformOrigin - */ - transformOrigin: function (transformOrigin) { - return this.each(function () { - this.style.webkitTransformOrigin = transformOrigin; - this.style.transformOrigin = transformOrigin; - }); - }, - - /** - * 设置 transform 属性 - * @param transform - */ - transform: function (transform) { - return this.each(function () { - this.style.webkitTransform = transform; - this.style.transform = transform; - }); - }, - - }); - - $.extend({ - /** - * 创建并显示遮罩 - * @param zIndex 遮罩层的 z-index - */ - showOverlay: function (zIndex) { - var $overlay = $('.mdui-overlay'); - - if ($overlay.length) { - $overlay.data('isDeleted', 0); - - if (zIndex !== undefined) { - $overlay.css('z-index', zIndex); - } - } else { - if (zIndex === undefined) { - zIndex = 2000; - } - - $overlay = $('
') - .appendTo(document.body) - .reflow() - .css('z-index', zIndex); - } - - var level = $overlay.data('overlay-level') || 0; - return $overlay - .data('overlay-level', ++level) - .addClass('mdui-overlay-show'); - }, - - /** - * 隐藏遮罩层 - * @param force 是否强制隐藏遮罩 - */ - hideOverlay: function (force) { - var $overlay = $('.mdui-overlay'); - - if (!$overlay.length) { - return; - } - - var level = force ? 1 : $overlay.data('overlay-level'); - if (level > 1) { - $overlay.data('overlay-level', --level); - return; - } - - $overlay - .data('overlay-level', 0) - .removeClass('mdui-overlay-show') - .data('isDeleted', 1) - .transitionEnd(function () { - if ($overlay.data('isDeleted')) { - $overlay.remove(); - } - }); - }, - - /** - * 锁定屏幕 - */ - lockScreen: function () { - var $body = $('body'); - - // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式 - var newBodyWidth = $body.width(); - - $body - .addClass('mdui-locked') - .width(newBodyWidth); - - var level = $body.data('lockscreen-level') || 0; - $body.data('lockscreen-level', ++level); - }, - - /** - * 解除屏幕锁定 - * @param force 是否强制解锁屏幕 - */ - unlockScreen: function (force) { - var $body = $('body'); - - var level = force ? 1 : $body.data('lockscreen-level'); - if (level > 1) { - $body.data('lockscreen-level', --level); - return; - } - - $body - .data('lockscreen-level', 0) - .removeClass('mdui-locked') - .width(''); - }, - - /** - * 函数节流 - * @param fn - * @param delay - * @returns {Function} - */ - throttle: function (fn, delay) { - var timer = null; - if (!delay || delay < 16) { - delay = 16; - } - - return function () { - var _this = this; - var args = arguments; - - if (timer === null) { - timer = setTimeout(function () { - fn.apply(_this, args); - timer = null; - }, delay); - } - }; - }, - }); - - /** - * 生成唯一 id - * @param string name id的名称,若该名称对于的guid不存在,则生成新的guid并返回;若已存在,则返回原有guid - * @returns {string} - */ - (function () { - var GUID = {}; - - $.extend({ - guid: function (name) { - if (typeof name !== 'undefined' && typeof GUID[name] !== 'undefined') { - return GUID[name]; - } - - function s4() { - return Math.floor((1 + Math.random()) * 0x10000) - .toString(16) - .substring(1); - } - - var guid = s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); - - if (typeof name !== 'undefined') { - GUID[name] = guid; - } - - return guid; - }, - }); - })(); - - - /** - * ============================================================================= - * ************ Mutation ************ - * ============================================================================= - */ - - (function () { - /** - * API 初始化代理, 当 DOM 突变再次执行代理的初始化函数. 使用方法: - * - * 1. 代理组件 API 执行初始化函数, selector 必须为字符串. - * mdui.mutation(selector, apiInit); - * mutation 会执行 $(selector).each(apiInit) - * - * 2. 突变时, 再次执行代理的初始化函数 - * mdui.mutation() 等价 $(document).mutation() - * $(selector).mutation() 在 selector 节点内进行 API 初始化 - * - * 原理: - * - * mutation 执行了 $().data('mdui.mutation', [selector]). - * 当元素被重构时, 该数据会丢失, 由此判断是否突变. - * - * 提示: - * - * 类似 Drawer 可以使用委托事件完成. - * 类似 Collapse 需要知道 DOM 发生突变, 并再次进行初始化. - */ - var entries = { }; - - function mutation(selector, apiInit, that, i, item) { - var $this = $(that); - var m = $this.data('mdui.mutation'); - - if (!m) { - m = []; - $this.data('mdui.mutation', m); - } - - if (m.indexOf(selector) === -1) { - m.push(selector); - apiInit.call(that, i, item); - } - } - - $.fn.extend({ - mutation: function () { - return this.each(function (i, item) { - var $this = $(this); - $.each(entries, function (selector, apiInit) { - if ($this.is(selector)) { - mutation(selector, apiInit, $this[0], i, item); - } - - $this.find(selector).each(function (i, item) { - mutation(selector, apiInit, this, i, item); - }); - }); - }); - }, - }); - - mdui.mutation = function (selector, apiInit) { - if (typeof selector !== 'string' || typeof apiInit !== 'function') { - $(document).mutation(); - return; - } - - entries[selector] = apiInit; - $(selector).each(function (i, item) { - mutation(selector, apiInit, this, i, item); - }); - }; - - })(); - - - /** - * ============================================================================= - * ************ Headroom.js ************ - * ============================================================================= - */ - - mdui.Headroom = (function () { - - /** - * 默认参数 - * @type {{}} - */ - var DEFAULT = { - tolerance: 5, // 滚动条滚动多少距离开始隐藏或显示元素,{down: num, up: num},或数字 - offset: 0, // 在页面顶部多少距离内滚动不会隐藏元素 - initialClass: 'mdui-headroom', // 初始化时添加的类 - pinnedClass: 'mdui-headroom-pinned-top', // 元素固定时添加的类 - unpinnedClass: 'mdui-headroom-unpinned-top', // 元素隐藏时添加的类 - }; - - /** - * Headroom - * @param selector - * @param opts - * @constructor - */ - function Headroom(selector, opts) { - var _this = this; - - _this.$headroom = $(selector).eq(0); - if (!_this.$headroom.length) { - return; - } - - // 已通过自定义属性实例化过,不再重复实例化 - var oldInst = _this.$headroom.data('mdui.headroom'); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - - // 数值转为 {down: bum, up: num} - var tolerance = _this.options.tolerance; - if (tolerance !== Object(tolerance)) { - _this.options.tolerance = { - down: tolerance, - up: tolerance, - }; - } - - _this._init(); - } - - /** - * 初始化 - * @private - */ - Headroom.prototype._init = function () { - var _this = this; - - _this.state = 'pinned'; - _this.$headroom - .addClass(_this.options.initialClass) - .removeClass(_this.options.pinnedClass + ' ' + _this.options.unpinnedClass); - - _this.inited = false; - _this.lastScrollY = 0; - - _this._attachEvent(); - }; - - /** - * 监听滚动事件 - * @private - */ - Headroom.prototype._attachEvent = function () { - var _this = this; - - if (!_this.inited) { - _this.lastScrollY = window.pageYOffset; - _this.inited = true; - - $window.on('scroll', function () { - _this._scroll(); - }); - } - }; - - /** - * 滚动时的处理 - * @private - */ - Headroom.prototype._scroll = function () { - var _this = this; - _this.rafId = window.requestAnimationFrame(function () { - var currentScrollY = window.pageYOffset; - var direction = currentScrollY > _this.lastScrollY ? 'down' : 'up'; - var toleranceExceeded = - Math.abs(currentScrollY - _this.lastScrollY) >= - _this.options.tolerance[direction]; - - if ( - currentScrollY > _this.lastScrollY && - currentScrollY >= _this.options.offset && - toleranceExceeded) { - _this.unpin(); - } else if ( - (currentScrollY < _this.lastScrollY && toleranceExceeded) || - currentScrollY <= _this.options.offset - ) { - _this.pin(); - } - - _this.lastScrollY = currentScrollY; - }); - }; - - /** - * 动画结束回调 - * @param inst - */ - var transitionEnd = function (inst) { - if (inst.state === 'pinning') { - inst.state = 'pinned'; - componentEvent('pinned', 'headroom', inst, inst.$headroom); - } - - if (inst.state === 'unpinning') { - inst.state = 'unpinned'; - componentEvent('unpinned', 'headroom', inst, inst.$headroom); - } - }; - - /** - * 固定住 - */ - Headroom.prototype.pin = function () { - var _this = this; - - if ( - _this.state === 'pinning' || - _this.state === 'pinned' || - !_this.$headroom.hasClass(_this.options.initialClass) - ) { - return; - } - - componentEvent('pin', 'headroom', _this, _this.$headroom); - - _this.state = 'pinning'; - - _this.$headroom - .removeClass(_this.options.unpinnedClass) - .addClass(_this.options.pinnedClass) - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 不固定住 - */ - Headroom.prototype.unpin = function () { - var _this = this; - - if ( - _this.state === 'unpinning' || - _this.state === 'unpinned' || - !_this.$headroom.hasClass(_this.options.initialClass) - ) { - return; - } - - componentEvent('unpin', 'headroom', _this, _this.$headroom); - - _this.state = 'unpinning'; - - _this.$headroom - .removeClass(_this.options.pinnedClass) - .addClass(_this.options.unpinnedClass) - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 启用 - */ - Headroom.prototype.enable = function () { - var _this = this; - - if (!_this.inited) { - _this._init(); - } - }; - - /** - * 禁用 - */ - Headroom.prototype.disable = function () { - var _this = this; - - if (_this.inited) { - _this.inited = false; - _this.$headroom - .removeClass([ - _this.options.initialClass, - _this.options.pinnedClass, - _this.options.unpinnedClass, - ].join(' ')); - - $window.off('scroll', function () { - _this._scroll(); - }); - - window.cancelAnimationFrame(_this.rafId); - } - }; - - /** - * 获取当前状态 pinning | pinned | unpinning | unpinned - */ - Headroom.prototype.getState = function () { - return this.state; - }; - - return Headroom; - - })(); - - - /** - * ============================================================================= - * ************ Headroom 自定义属性 API ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-headroom]', function () { - var $this = $(this); - var options = parseOptions($this.attr('mdui-headroom')); - - var inst = $this.data('mdui.headroom'); - if (!inst) { - inst = new mdui.Headroom($this, options); - $this.data('mdui.headroom', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ 供 Collapse、 Panel 调用的折叠内容块插件 ************ - * ============================================================================= - */ - var CollapsePrivate = (function () { - - /** - * 默认参数 - */ - var DEFAULT = { - accordion: false, // 是否使用手风琴效果 - }; - - /** - * 折叠内容块 - * @param selector - * @param opts - * @param namespace - * @constructor - */ - function Collapse(selector, opts, namespace) { - var _this = this; - - // 命名空间 - _this.ns = namespace; - - // 类名 - var classpPefix = 'mdui-' + _this.ns + '-item'; - _this.class_item = classpPefix; - _this.class_item_open = classpPefix + '-open'; - _this.class_header = classpPefix + '-header'; - _this.class_body = classpPefix + '-body'; - - // 折叠面板元素 - _this.$collapse = $(selector).eq(0); - if (!_this.$collapse.length) { - return; - } - - // 已通过自定义属性实例化过,不再重复实例化 - var oldInst = _this.$collapse.data('mdui.' + _this.ns); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - - _this.$collapse.on('click', '.' + _this.class_header, function () { - var $item = $(this).parent('.' + _this.class_item); - if (_this.$collapse.children($item).length) { - _this.toggle($item); - } - }); - - // 绑定关闭按钮 - _this.$collapse.on('click', '[mdui-' + _this.ns + '-item-close]', function () { - var $item = $(this).parents('.' + _this.class_item).eq(0); - if (_this._isOpen($item)) { - _this.close($item); - } - }); - } - - /** - * 指定 item 是否处于打开状态 - * @param $item - * @returns {boolean} - * @private - */ - Collapse.prototype._isOpen = function ($item) { - return $item.hasClass(this.class_item_open); - }; - - /** - * 获取指定 item - * @param item - * @returns {*} - * @private - */ - Collapse.prototype._getItem = function (item) { - var _this = this; - - if (parseInt(item) === item) { - // item 是索引号 - return _this.$collapse.children('.' + _this.class_item).eq(item); - } - - return $(item).eq(0); - }; - - /** - * 动画结束回调 - * @param inst - * @param $content - * @param $item - */ - var transitionEnd = function (inst, $content, $item) { - if (inst._isOpen($item)) { - $content - .transition(0) - .height('auto') - .reflow() - .transition(''); - - componentEvent('opened', inst.ns, inst, $item[0]); - } else { - $content.height(''); - - componentEvent('closed', inst.ns, inst, $item[0]); - } - }; - - /** - * 打开指定面板项 - * @param item 面板项的索引号或 DOM 元素或 CSS 选择器 - */ - Collapse.prototype.open = function (item) { - var _this = this; - var $item = _this._getItem(item); - - if (_this._isOpen($item)) { - return; - } - - // 关闭其他项 - if (_this.options.accordion) { - _this.$collapse.children('.' + _this.class_item_open).each(function () { - var $tmpItem = $(this); - - if ($tmpItem !== $item) { - _this.close($tmpItem); - } - }); - } - - var $content = $item.children('.' + _this.class_body); - - $content - .height($content[0].scrollHeight) - .transitionEnd(function () { - transitionEnd(_this, $content, $item); - }); - - componentEvent('open', _this.ns, _this, $item[0]); - - $item.addClass(_this.class_item_open); - }; - - /** - * 关闭指定项 - * @param item 面板项的索引号或 DOM 元素或 CSS 选择器 - */ - Collapse.prototype.close = function (item) { - var _this = this; - var $item = _this._getItem(item); - - if (!_this._isOpen($item)) { - return; - } - - var $content = $item.children('.' + _this.class_body); - - componentEvent('close', _this.ns, _this, $item[0]); - - $item.removeClass(_this.class_item_open); - - $content - .transition(0) - .height($content[0].scrollHeight) - .reflow() - .transition('') - .height('') - .transitionEnd(function () { - transitionEnd(_this, $content, $item); - }); - }; - - /** - * 切换指定项的状态 - * @param item 面板项的索引号或 DOM 元素或 CSS 选择器或 JQ 对象 - */ - Collapse.prototype.toggle = function (item) { - var _this = this; - var $item = _this._getItem(item); - - if (_this._isOpen($item)) { - _this.close($item); - } else { - _this.open($item); - } - }; - - /** - * 打开所有项 - */ - Collapse.prototype.openAll = function () { - var _this = this; - - _this.$collapse.children('.' + _this.class_item).each(function () { - var $tmpItem = $(this); - - if (!_this._isOpen($tmpItem)) { - _this.open($tmpItem); - } - }); - }; - - /** - * 关闭所有项 - */ - Collapse.prototype.closeAll = function () { - var _this = this; - - _this.$collapse.children('.' + _this.class_item).each(function () { - var $tmpItem = $(this); - - if (_this._isOpen($tmpItem)) { - _this.close($tmpItem); - } - }); - }; - - return Collapse; - })(); - - /** - * ============================================================================= - * ************ Collapse 折叠内容块插件 ************ - * ============================================================================= - */ - mdui.Collapse = (function () { - - function Collapse(selector, opts) { - return new CollapsePrivate(selector, opts, 'collapse'); - } - - return Collapse; - })(); - - - /** - * ============================================================================= - * ************ Collapse 自定义属性 ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-collapse]', function () { - var $target = $(this); - - var inst = $target.data('mdui.collapse'); - if (!inst) { - var options = parseOptions($target.attr('mdui-collapse')); - inst = new mdui.Collapse($target, options); - $target.data('mdui.collapse', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Table 表格 ************ - * ============================================================================= - */ - - (function () { - - /** - * 生成 checkbox 的 HTML 结构 - * @param tag - * @returns {string} - */ - var checkboxHTML = function (tag) { - return '<' + tag + ' class="mdui-table-cell-checkbox">' + - '' + - ''; - }; - - /** - * Table 表格 - * @param selector - * @constructor - */ - function Table(selector) { - var _this = this; - - _this.$table = $(selector).eq(0); - - if (!_this.$table.length) { - return; - } - - _this.init(); - } - - /** - * 初始化 - */ - Table.prototype.init = function () { - var _this = this; - - _this.$thRow = _this.$table.find('thead tr'); - _this.$tdRows = _this.$table.find('tbody tr'); - _this.$tdCheckboxs = $(); - _this.selectable = _this.$table.hasClass('mdui-table-selectable'); - _this.selectedRow = 0; - - _this._updateThCheckbox(); - _this._updateTdCheckbox(); - _this._updateNumericCol(); - }; - - /** - * 更新表头 checkbox 的状态 - */ - Table.prototype._updateThCheckboxStatus = function () { - var _this = this; - var checkbox = _this.$thCheckbox[0]; - - checkbox.checked = _this.selectedRow === _this.$tdRows.length; - checkbox.indeterminate = _this.selectedRow && _this.selectedRow !== _this.$tdRows.length; - }; - - /** - * 更新表格行的 checkbox - */ - Table.prototype._updateTdCheckbox = function () { - var _this = this; - - _this.$tdRows.each(function () { - var $tdRow = $(this); - - // 移除旧的 checkbox - $tdRow.find('.mdui-table-cell-checkbox').remove(); - - if (!_this.selectable) { - return; - } - - // 创建 DOM - var $checkbox = $(checkboxHTML('td')) - .prependTo($tdRow) - .find('input[type="checkbox"]'); - - // 默认选中的行 - if ($tdRow.hasClass('mdui-table-row-selected')) { - $checkbox[0].checked = true; - _this.selectedRow++; - } - - _this._updateThCheckboxStatus(); - - // 绑定事件 - $checkbox.on('change', function () { - if ($checkbox[0].checked) { - $tdRow.addClass('mdui-table-row-selected'); - _this.selectedRow++; - } else { - $tdRow.removeClass('mdui-table-row-selected'); - _this.selectedRow--; - } - - _this._updateThCheckboxStatus(); - }); - - _this.$tdCheckboxs = _this.$tdCheckboxs.add($checkbox); - }); - }; - - /** - * 更新表头的 checkbox - */ - Table.prototype._updateThCheckbox = function () { - var _this = this; - - // 移除旧的 checkbox - _this.$thRow.find('.mdui-table-cell-checkbox').remove(); - - if (!_this.selectable) { - return; - } - - _this.$thCheckbox = $(checkboxHTML('th')) - .prependTo(_this.$thRow) - .find('input[type="checkbox"]') - .on('change', function () { - - var isCheckedAll = _this.$thCheckbox[0].checked; - _this.selectedRow = isCheckedAll ? _this.$tdRows.length : 0; - - _this.$tdCheckboxs.each(function (i, checkbox) { - checkbox.checked = isCheckedAll; - }); - - _this.$tdRows.each(function (i, row) { - $(row)[isCheckedAll ? 'addClass' : 'removeClass']('mdui-table-row-selected'); - }); - }); - }; - - /** - * 更新数值列 - */ - Table.prototype._updateNumericCol = function () { - var _this = this; - var $th; - var $tdRow; - - _this.$thRow.find('th').each(function (i, th) { - $th = $(th); - - _this.$tdRows.each(function () { - $tdRow = $(this); - var method = $th.hasClass('mdui-table-col-numeric') ? 'addClass' : 'removeClass'; - $tdRow.find('td').eq(i)[method]('mdui-table-col-numeric'); - }); - }); - }; - - /** - * 初始化表格 - */ - mdui.mutation('.mdui-table', function () { - var $table = $(this); - if (!$table.data('mdui.table')) { - $table.data('mdui.table', new Table($table)); - } - }); - - /** - * 更新表格 - */ - mdui.updateTables = function () { - $(arguments.length ? arguments[0] : '.mdui-table').each(function () { - var $table = $(this); - var inst = $table.data('mdui.table'); - - if (inst) { - inst.init(); - } else { - $table.data('mdui.table', new Table($table)); - } - }); - }; - - })(); - - - /** - * ============================================================================= - * ************ 涟漪 ************ - * ============================================================================= - * - * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js - * https://github.com/nolimits4web/Framework7/blob/master/LICENSE - * - * Inspired by https://github.com/fians/Waves - */ - - (function () { - - var Ripple = { - - /** - * 延时,避免手指滑动时也触发涟漪(单位:毫秒) - */ - delay: 200, - - /** - * 显示涟漪动画 - * @param e - * @param $ripple - */ - show: function (e, $ripple) { - - // 鼠标右键不产生涟漪 - if (e.button === 2) { - return; - } - - // 点击位置坐标 - var tmp; - if ('touches' in e && e.touches.length) { - tmp = e.touches[0]; - } else { - tmp = e; - } - - var touchStartX = tmp.pageX; - var touchStartY = tmp.pageY; - - // 涟漪位置 - var offset = $ripple.offset(); - var center = { - x: touchStartX - offset.left, - y: touchStartY - offset.top, - }; - - var height = $ripple.innerHeight(); - var width = $ripple.innerWidth(); - var diameter = Math.max( - Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48 - ); - - // 涟漪扩散动画 - var translate = - 'translate3d(' + (-center.x + width / 2) + 'px, ' + (-center.y + height / 2) + 'px, 0) ' + - 'scale(1)'; - - // 涟漪的 DOM 结构 - $('
' + - '
') - - // 缓存动画效果 - .data('translate', translate) - - .prependTo($ripple) - .reflow() - .transform(translate); - }, - - /** - * 隐藏涟漪动画 - */ - hide: function (e, element) { - var $ripple = $(element || this); - - $ripple.children('.mdui-ripple-wave').each(function () { - removeRipple($(this)); - }); - - $ripple.off('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide); - }, - }; - - /** - * 隐藏并移除涟漪 - * @param $wave - */ - function removeRipple($wave) { - if (!$wave.length || $wave.data('isRemoved')) { - return; - } - - $wave.data('isRemoved', true); - - var removeTimeout = setTimeout(function () { - $wave.remove(); - }, 400); - - var translate = $wave.data('translate'); - - $wave - .addClass('mdui-ripple-wave-fill') - .transform(translate.replace('scale(1)', 'scale(1.01)')) - .transitionEnd(function () { - clearTimeout(removeTimeout); - - $wave - .addClass('mdui-ripple-wave-out') - .transform(translate.replace('scale(1)', 'scale(1.01)')); - - removeTimeout = setTimeout(function () { - $wave.remove(); - }, 700); - - setTimeout(function () { - $wave.transitionEnd(function () { - clearTimeout(removeTimeout); - $wave.remove(); - }); - }, 0); - }); - } - - /** - * 显示涟漪,并绑定 touchend 等事件 - * @param e - */ - function showRipple(e) { - if (!TouchHandler.isAllow(e)) { - return; - } - - TouchHandler.register(e); - - // Chrome 59 点击滚动条时,会在 document 上触发事件 - if (e.target === document) { - return; - } - - var $ripple; - var $target = $(e.target); - - // 获取含 .mdui-ripple 类的元素 - if ($target.hasClass('mdui-ripple')) { - $ripple = $target; - } else { - $ripple = $target.parents('.mdui-ripple').eq(0); - } - - if ($ripple.length) { - - // 禁用状态的元素上不产生涟漪效果 - if ($ripple[0].disabled || $ripple.attr('disabled') !== null) { - return; - } - - if (e.type === 'touchstart') { - var hidden = false; - - // toucstart 触发指定时间后开始涟漪动画 - var timer = setTimeout(function () { - timer = null; - Ripple.show(e, $ripple); - }, Ripple.delay); - - var hideRipple = function (hideEvent) { - // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画 - if (timer) { - clearTimeout(timer); - timer = null; - Ripple.show(e, $ripple); - } - - if (!hidden) { - hidden = true; - Ripple.hide(hideEvent, $ripple); - } - }; - - // 手指移动后,移除涟漪动画 - var touchMove = function (moveEvent) { - if (timer) { - clearTimeout(timer); - timer = null; - } - - hideRipple(moveEvent); - }; - - $ripple - .on('touchmove', touchMove) - .on('touchend touchcancel', hideRipple); - - } else { - Ripple.show(e, $ripple); - $ripple.on('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide); - } - } - } - - // 初始化绑定的事件 - $document - .on(TouchHandler.start, showRipple) - .on(TouchHandler.unlock, TouchHandler.register); - })(); - - - /** - * ============================================================================= - * ************ Text Field 文本框 ************ - * ============================================================================= - */ - - (function () { - - var getProp = function (obj, prop) { - return ( - typeof obj === 'object' && - obj !== null && - obj[prop] !== undefined && - obj[prop] - ) ? obj[prop] : false; - }; - - /** - * 输入框事件 - * @param e - */ - var inputEvent = function (e) { - var input = e.target; - var $input = $(input); - var event = e.type; - var value = $input.val(); - - // reInit 为 true 时,需要重新初始化文本框 - var reInit = getProp(e.detail, 'reInit'); - - // domLoadedEvent 为 true 时,为 DOM 加载完毕后自动触发的事件 - var domLoadedEvent = getProp(e.detail, 'domLoadedEvent'); - - // 文本框类型 - var type = $input.attr('type') || ''; - if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(type) >= 0) { - return; - } - - var $textField = $input.parent('.mdui-textfield'); - - // 输入框是否聚焦 - if (event === 'focus') { - $textField.addClass('mdui-textfield-focus'); - } - - if (event === 'blur') { - $textField.removeClass('mdui-textfield-focus'); - } - - // 输入框是否为空 - if (event === 'blur' || event === 'input') { - $textField[(value && value !== '') ? 'addClass' : 'removeClass']('mdui-textfield-not-empty'); - } - - // 输入框是否禁用 - $textField[input.disabled ? 'addClass' : 'removeClass']('mdui-textfield-disabled'); - - // 表单验证 - if ((event === 'input' || event === 'blur') && !domLoadedEvent) { - if (input.validity) { - var method = input.validity.valid ? 'removeClass' : 'addClass'; - $textField[method]('mdui-textfield-invalid-html5'); - } - } - - // textarea 高度自动调整 - if (e.target.nodeName.toLowerCase() === 'textarea') { - - // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确 - // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格 - var inputValue = $input.val(); - var hasExtraSpace = false; - if (inputValue.replace(/[\r\n]/g, '') === '') { - $input.val(' ' + inputValue); - hasExtraSpace = true; - } - - // 设置 textarea 高度 - $input.height(''); - var height = $input.height(); - var scrollHeight = input.scrollHeight; - - if (scrollHeight > height) { - $input.height(scrollHeight); - } - - // 计算完,还原 textarea 的值 - if (hasExtraSpace) { - $input.val(inputValue); - } - } - - // 实时字数统计 - if (reInit) { - $textField - .find('.mdui-textfield-counter') - .remove(); - } - - var maxlength = $input.attr('maxlength'); - if (maxlength) { - if (reInit || domLoadedEvent) { - $('
' + - ' / ' + maxlength + - '
').appendTo($textField); - } - - $textField.find('.mdui-textfield-counter-inputed').text(value.length.toString()); - } - - // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距 - if ( - $textField.find('.mdui-textfield-helper').length || - $textField.find('.mdui-textfield-error').length || - maxlength - ) { - $textField.addClass('mdui-textfield-has-bottom'); - } - }; - - // 绑定事件 - $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent); - - // 可展开文本框展开 - $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () { - $(this) - - // 展开文本框 - .parents('.mdui-textfield') - .addClass('mdui-textfield-expanded') - - // 聚焦到输入框 - .find('.mdui-textfield-input')[0].focus(); - }); - - // 可展开文本框关闭 - $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () { - $(this) - - // 关闭文本框 - .parents('.mdui-textfield') - .removeClass('mdui-textfield-expanded') - - // 清空输入框 - .find('.mdui-textfield-input') - .val(''); - }); - - /** - * 通过 JS 更新了表单内容,需要重新进行表单处理 - * @param- 如果传入了 .mdui-textfield 所在的 DOM 元素,则更新该文本框;否则,更新所有文本框 - */ - mdui.updateTextFields = function () { - $(arguments.length ? arguments[0] : '.mdui-textfield').each(function () { - $(this) - .find('.mdui-textfield-input') - .trigger('input', { - reInit: true, - }); - }); - }; - })(); - - $(function () { - /** - * 初始化文本框 - */ - mdui.mutation('.mdui-textfield', function () { - $(this) - .find('.mdui-textfield-input') - .trigger('input', { - domLoadedEvent: true, - }); - }); - }); - - - /** - * ============================================================================= - * ************ Slider 滑块 ************ - * ============================================================================= - */ - - (function () { - - /** - * 滑块的值变更后修改滑块样式 - * @param $slider - */ - var updateValueStyle = function ($slider) { - var data = $slider.data(); - - var $track = data.$track; - var $fill = data.$fill; - var $thumb = data.$thumb; - var $input = data.$input; - var min = data.min; - var max = data.max; - var isDisabled = data.disabled; - var isDiscrete = data.discrete; - var $thumbText = data.$thumbText; - var value = $input.val(); - var percent = (value - min) / (max - min) * 100; - - $fill.width(percent + '%'); - $track.width((100 - percent) + '%'); - - if (isDisabled) { - $fill.css('padding-right', '6px'); - $track.css('padding-left', '6px'); - } - - $thumb.css('left', percent + '%'); - - if (isDiscrete) { - $thumbText.text(value); - } - - $slider[parseFloat(percent) === 0 ? 'addClass' : 'removeClass']('mdui-slider-zero'); - }; - - /** - * 重新初始化 - * @param $slider - */ - var reInit = function ($slider) { - var $track = $('
'); - var $fill = $('
'); - var $thumb = $('
'); - var $input = $slider.find('input[type="range"]'); - - // 禁用状态 - var isDisabled = $input[0].disabled; - $slider[isDisabled ? 'addClass' : 'removeClass']('mdui-slider-disabled'); - - // 重新填充 HTML - $slider.find('.mdui-slider-track').remove(); - $slider.find('.mdui-slider-fill').remove(); - $slider.find('.mdui-slider-thumb').remove(); - $slider.append($track).append($fill).append($thumb); - - // 间续型滑块 - var isDiscrete = $slider.hasClass('mdui-slider-discrete'); - - var $thumbText; - if (isDiscrete) { - $thumbText = $(''); - $thumb.empty().append($thumbText); - } - - $slider.data({ - $track: $track, - $fill: $fill, - $thumb: $thumb, - $input: $input, - min: $input.attr('min'), // 滑块最小值 - max: $input.attr('max'), // 滑块最大值 - disabled: isDisabled, // 是否禁用状态 - discrete: isDiscrete, // 是否是间续型滑块 - $thumbText: $thumbText, // 间续型滑块的数值 - }); - - // 设置默认值 - updateValueStyle($slider); - }; - - var rangeSelector = '.mdui-slider input[type="range"]'; - - $document - - // 滑动滑块事件 - .on('input change', rangeSelector, function () { - var $slider = $(this).parent(); - updateValueStyle($slider); - }) - - // 开始触摸滑块事件 - .on(TouchHandler.start, rangeSelector, function (e) { - if (!TouchHandler.isAllow(e)) { - return; - } - - TouchHandler.register(e); - - if (!this.disabled) { - var $slider = $(this).parent(); - $slider.addClass('mdui-slider-focus'); - } - }) - - // 结束触摸滑块事件 - .on(TouchHandler.end, rangeSelector, function (e) { - if (!TouchHandler.isAllow(e)) { - return; - } - - if (!this.disabled) { - var $slider = $(this).parent(); - $slider.removeClass('mdui-slider-focus'); - } - }) - - .on(TouchHandler.unlock, rangeSelector, TouchHandler.register); - - /** - * 重新初始化滑块(强制重新初始化) - */ - mdui.updateSliders = function () { - $(arguments.length ? arguments[0] : '.mdui-slider').each(function () { - reInit($(this)); - }); - }; - - $(function () { - /** - * 页面加载完后自动初始化(未初始化时,可以调用该方法初始化) - */ - mdui.mutation('.mdui-slider', function () { - reInit($(this)); - }); - }); - })(); - - - /** - * ============================================================================= - * ************ Fab 浮动操作按钮 ************ - * ============================================================================= - */ - - mdui.Fab = (function () { - - /** - * 默认参数 - * @type {{}} - */ - var DEFAULT = { - trigger: 'hover', // 触发方式 ['hover', 'click'] - }; - - /** - * 浮动操作按钮实例 - * @param selector 选择器或 HTML 字符串或 DOM 元素或 JQ 对象 - * @param opts - * @constructor - */ - function Fab(selector, opts) { - var _this = this; - - _this.$fab = $(selector).eq(0); - if (!_this.$fab.length) { - return; - } - - // 已通过 data 属性实例化过,不再重复实例化 - var oldInst = _this.$fab.data('mdui.fab'); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - _this.state = 'closed'; - - _this.$btn = _this.$fab.find('.mdui-fab'); - _this.$dial = _this.$fab.find('.mdui-fab-dial'); - _this.$dialBtns = _this.$dial.find('.mdui-fab'); - - if (_this.options.trigger === 'hover') { - _this.$btn - .on('touchstart mouseenter', function () { - _this.open(); - }); - - _this.$fab - .on('mouseleave', function () { - _this.close(); - }); - } - - if (_this.options.trigger === 'click') { - _this.$btn - .on(TouchHandler.start, function () { - _this.open(); - }); - } - - // 触摸屏幕其他地方关闭快速拨号 - $document.on(TouchHandler.start, function (e) { - if (!$(e.target).parents('.mdui-fab-wrapper').length) { - _this.close(); - } - }); - } - - /** - * 打开菜单 - */ - Fab.prototype.open = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - // 为菜单中的按钮添加不同的 transition-delay - _this.$dialBtns.each(function (index, btn) { - btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = - 15 * (_this.$dialBtns.length - index) + 'ms'; - }); - - _this.$dial - .css('height', 'auto') - .addClass('mdui-fab-dial-show'); - - // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换 - if (_this.$btn.find('.mdui-fab-opened').length) { - _this.$btn.addClass('mdui-fab-opened'); - } - - _this.state = 'opening'; - componentEvent('open', 'fab', _this, _this.$fab); - - // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成 - _this.$dialBtns.eq(0).transitionEnd(function () { - if (_this.$btn.hasClass('mdui-fab-opened')) { - _this.state = 'opened'; - componentEvent('opened', 'fab', _this, _this.$fab); - } - }); - }; - - /** - * 关闭菜单 - */ - Fab.prototype.close = function () { - var _this = this; - - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - // 为菜单中的按钮添加不同的 transition-delay - _this.$dialBtns.each(function (index, btn) { - btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = 15 * index + 'ms'; - }); - - _this.$dial.removeClass('mdui-fab-dial-show'); - _this.$btn.removeClass('mdui-fab-opened'); - _this.state = 'closing'; - componentEvent('close', 'fab', _this, _this.$fab); - - // 从上往下依次关闭,最后一个关闭后才表示动画完成 - _this.$dialBtns.eq(-1).transitionEnd(function () { - if (!_this.$btn.hasClass('mdui-fab-opened')) { - _this.state = 'closed'; - componentEvent('closed', 'fab', _this, _this.$fab); - _this.$dial.css('height', 0); - } - }); - }; - - /** - * 切换菜单的打开状态 - */ - Fab.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - /** - * 获取当前菜单状态 - * @returns {'opening'|'opened'|'closing'|'closed'} - */ - Fab.prototype.getState = function () { - return this.state; - }; - - /** - * 以动画的形式显示浮动操作按钮 - */ - Fab.prototype.show = function () { - this.$fab.removeClass('mdui-fab-hide'); - }; - - /** - * 以动画的形式隐藏浮动操作按钮 - */ - Fab.prototype.hide = function () { - this.$fab.addClass('mdui-fab-hide'); - }; - - return Fab; - })(); - - - /** - * ============================================================================= - * ************ Fab DATA API ************ - * ============================================================================= - */ - - $(function () { - // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。 - // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。 - - $document.on('touchstart mousedown mouseover', '[mdui-fab]', function (e) { - var $this = $(this); - - var inst = $this.data('mdui.fab'); - if (!inst) { - var options = parseOptions($this.attr('mdui-fab')); - inst = new mdui.Fab($this, options); - $this.data('mdui.fab', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Select 下拉选择 ************ - * ============================================================================= - */ - - mdui.Select = (function () { - - /** - * 默认参数 - */ - var DEFAULT = { - position: 'auto', // 下拉框位置,auto、bottom、top - gutter: 16, // 菜单与窗口上下边框至少保持多少间距 - }; - - /** - * 调整菜单位置 - * @param _this Select 实例 - */ - var readjustMenu = function (_this) { - // 窗口高度 - var windowHeight = $window.height(); - - // 配置参数 - var gutter = _this.options.gutter; - var position = _this.options.position; - - // mdui-select 高度 - var selectHeight = parseInt(_this.$select.height()); - - // 菜单项高度 - var $menuItemFirst = _this.$items.eq(0); - var menuItemHeight = parseInt($menuItemFirst.height()); - var menuItemMargin = parseInt($menuItemFirst.css('margin-top')); - - // 菜单高度 - var menuWidth = parseFloat(_this.$select.width() + 0.01); // 必须比真实宽度多一点,不然会出现省略号 - var menuHeight = menuItemHeight * _this.size + menuItemMargin * 2; - - // var menuRealHeight = menuItemHeight * _this.$items.length + menuItemMargin * 2; - - // 菜单是否出现了滚动条 - //var isMenuScrollable = menuRealHeight > menuHeight; - - // select 在窗口中的位置 - var selectTop = _this.$select[0].getBoundingClientRect().top; - - var transformOriginY; - var menuMarginTop; - - // position 为 auto 时 - if (position === 'auto') { - - // 菜单高度不能超过窗口高度 - var heightTemp = windowHeight - gutter * 2; - if (menuHeight > heightTemp) { - menuHeight = heightTemp; - } - - // 菜单的 margin-top - menuMarginTop = -( - menuItemMargin + _this.selectedIndex * menuItemHeight + - (menuItemHeight - selectHeight) / 2 - ); - var menuMarginTopMax = -( - menuItemMargin + (_this.size - 1) * menuItemHeight + - (menuItemHeight - selectHeight) / 2 - ); - if (menuMarginTop < menuMarginTopMax) { - menuMarginTop = menuMarginTopMax; - } - - // 菜单不能超出窗口 - var menuTop = selectTop + menuMarginTop; - - if (menuTop < gutter) { - // 不能超出窗口上方 - menuMarginTop = -(selectTop - gutter); - } else if (menuTop + menuHeight + gutter > windowHeight) { - // 不能超出窗口下方 - menuMarginTop = -(selectTop + menuHeight + gutter - windowHeight); - } - - // transform 的 Y 轴坐标 - transformOriginY = (_this.selectedIndex * menuItemHeight + menuItemHeight / 2 + menuItemMargin) + 'px'; - } else if (position === 'bottom') { - menuMarginTop = selectHeight; - transformOriginY = '0px'; - } else if (position === 'top') { - menuMarginTop = -menuHeight - 1; - transformOriginY = '100%'; - } - - // 设置样式 - _this.$select.width(menuWidth); - _this.$menu - .width(menuWidth) - .height(menuHeight) - .css({ - 'margin-top': menuMarginTop + 'px', - 'transform-origin': - 'center ' + transformOriginY + ' 0', - }); - }; - - /** - * 下拉选择 - * @param selector - * @param opts - * @constructor - */ - function Select(selector, opts) { - var _this = this; - - var $selectNative = _this.$selectNative = $(selector).eq(0); - if (!$selectNative.length) { - return; - } - - // 已通过自定义属性实例化过,不再重复实例化 - var oldInst = $selectNative.data('mdui.select'); - if (oldInst) { - return oldInst; - } - - $selectNative.hide(); - - _this.options = $.extend({}, DEFAULT, (opts || {})); - - // 为当前 select 生成唯一 ID - _this.uniqueID = $.guid(); - - _this.state = 'closed'; - - // 生成 select - _this.handleUpdate(); - - // 点击 select 外面区域关闭 - $document.on('click touchstart', function (e) { - var $target = $(e.target); - if ( - (_this.state === 'opening' || _this.state === 'opened') && - !$target.is(_this.$select) && - !$.contains(_this.$select[0], $target[0]) - ) { - _this.close(); - } - }); - } - - /** - * 对原生 select 组件进行了修改后,需要调用该方法 - */ - Select.prototype.handleUpdate = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } - - var $selectNative = _this.$selectNative; - - // 当前的值和文本 - _this.value = $selectNative.val(); - _this.text = ''; - - // 生成 HTML - // 菜单项 - _this.$items = $(); - $selectNative.find('option').each(function (index, option) { - var data = { - value: option.value, - text: option.textContent, - disabled: option.disabled, - selected: _this.value === option.value, - index: index, - }; - - if (_this.value === data.value) { - _this.text = data.text; - _this.selectedIndex = index; - } - - _this.$items = _this.$items.add( - $('
' + data.text + '
') - .data(data) - ); - }); - - // selected - _this.$selected = $('' + _this.text + ''); - - // select - _this.$select = - $( - '
' - ) - .show() - .append(_this.$selected); - - // menu - _this.$menu = - $('
') - .appendTo(_this.$select) - .append(_this.$items); - - $('#' + _this.uniqueID).remove(); - $selectNative.after(_this.$select); - - // 根据 select 的 size 属性设置高度,默认为 6 - _this.size = parseInt(_this.$selectNative.attr('size')); - - if (!_this.size || _this.size < 0) { - _this.size = _this.$items.length; - if (_this.size > 8) { - _this.size = 8; - } - } - - // 点击选项时关闭下拉菜单 - _this.$items.on('click', function () { - if (_this.state === 'closing') { - return; - } - - var $item = $(this); - - if ($item.data('disabled')) { - return; - } - - var itemData = $item.data(); - - _this.$selected.text(itemData.text); - $selectNative.val(itemData.value); - _this.$items.removeAttr('selected'); - $item.attr('selected', ''); - _this.selectedIndex = itemData.index; - _this.value = itemData.value; - _this.text = itemData.text; - $selectNative.trigger('change'); - - _this.close(); - }); - - // 点击 select 时打开下拉菜单 - _this.$select.on('click', function (e) { - var $target = $(e.target); - - // 在菜单上点击时不打开 - if ($target.is('.mdui-select-menu') || $target.is('.mdui-select-menu-item')) { - return; - } - - _this.toggle(); - }); - }; - - /** - * 动画结束回调 - * @param inst - */ - var transitionEnd = function (inst) { - inst.$select.removeClass('mdui-select-closing'); - - if (inst.state === 'opening') { - inst.state = 'opened'; - componentEvent('opened', 'select', inst, inst.$selectNative); - - inst.$menu.css('overflow-y', 'auto'); - } - - if (inst.state === 'closing') { - inst.state = 'closed'; - componentEvent('closed', 'select', inst, inst.$selectNative); - - // 恢复样式 - inst.$select.width(''); - inst.$menu.css({ - 'margin-top': '', - height: '', - width: '', - }); - } - }; - - /** - * 打开 Select - */ - Select.prototype.open = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - _this.state = 'opening'; - componentEvent('open', 'select', _this, _this.$selectNative); - - readjustMenu(_this); - - _this.$select.addClass('mdui-select-open'); - - _this.$menu.transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 关闭 Select - */ - Select.prototype.close = function () { - var _this = this; - - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - _this.state = 'closing'; - componentEvent('close', 'select', _this, _this.$selectNative); - - _this.$menu.css('overflow-y', ''); - - _this.$select - .removeClass('mdui-select-open') - .addClass('mdui-select-closing'); - _this.$menu.transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 切换 Select 显示状态 - */ - Select.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - return Select; - })(); - - - /** - * ============================================================================= - * ************ Select 下拉选择 ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-select]', function () { - var $this = $(this); - var inst = $this.data('mdui.select'); - if (!inst) { - inst = new mdui.Select($this, parseOptions($this.attr('mdui-select'))); - $this.data('mdui.select', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Appbar ************ - * ============================================================================= - * 滚动时自动隐藏应用栏 - * mdui-appbar-scroll-hide - * mdui-appbar-scroll-toolbar-hide - */ - - $(function () { - // 滚动时隐藏应用栏 - mdui.mutation('.mdui-appbar-scroll-hide', function () { - var $this = $(this); - $this.data('mdui.headroom', new mdui.Headroom($this)); - }); - - // 滚动时只隐藏应用栏中的工具栏 - mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () { - var $this = $(this); - var inst = new mdui.Headroom($this, { - pinnedClass: 'mdui-headroom-pinned-toolbar', - unpinnedClass: 'mdui-headroom-unpinned-toolbar', - }); - $this.data('mdui.headroom', inst); - }); - }); - - - /** - * ============================================================================= - * ************ Tab ************ - * ============================================================================= - */ - - mdui.Tab = (function () { - - var DEFAULT = { - trigger: 'click', // 触发方式 click: 鼠标点击切换 hover: 鼠标悬浮切换 - //animation: false, // 切换时是否显示动画 - loop: false, // 为true时,在最后一个选项卡时调用 next() 方法会回到第一个选项卡 - }; - - // 元素是否已禁用 - var isDisabled = function ($ele) { - return $ele[0].disabled || $ele.attr('disabled') !== null; - }; - - /** - * 选项卡 - * @param selector - * @param opts - * @returns {*} - * @constructor - */ - function Tab(selector, opts) { - var _this = this; - - _this.$tab = $(selector).eq(0); - if (!_this.$tab.length) { - return; - } - - // 已通过自定义属性实例化过,不再重复实例化 - var oldInst = _this.$tab.data('mdui.tab'); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - _this.$tabs = _this.$tab.children('a'); - _this.$indicator = $('
').appendTo(_this.$tab); - _this.activeIndex = false; // 为 false 时表示没有激活的选项卡,或不存在选项卡 - - // 根据 url hash 获取默认激活的选项卡 - var hash = location.hash; - if (hash) { - _this.$tabs.each(function (i, tab) { - if ($(tab).attr('href') === hash) { - _this.activeIndex = i; - return false; - } - }); - } - - // 含 mdui-tab-active 的元素默认激活 - if (_this.activeIndex === false) { - _this.$tabs.each(function (i, tab) { - if ($(tab).hasClass('mdui-tab-active')) { - _this.activeIndex = i; - return false; - } - }); - } - - // 存在选项卡时,默认激活第一个选项卡 - if (_this.$tabs.length && _this.activeIndex === false) { - _this.activeIndex = 0; - } - - // 设置激活状态选项卡 - _this._setActive(); - - // 监听窗口大小变化事件,调整指示器位置 - $window.on('resize', $.throttle(function () { - _this._setIndicatorPosition(); - }, 100)); - - // 监听点击选项卡事件 - _this.$tabs.each(function (i, tab) { - _this._bindTabEvent(tab); - }); - } - - /** - * 绑定在 Tab 上点击或悬浮的事件 - * @private - */ - Tab.prototype._bindTabEvent = function (tab) { - var _this = this; - var $tab = $(tab); - - // 点击或鼠标移入触发的事件 - var clickEvent = function (e) { - // 禁用状态的选项无法选中 - if (isDisabled($tab)) { - e.preventDefault(); - return; - } - - _this.activeIndex = _this.$tabs.index(tab); - _this._setActive(); - }; - - // 无论 trigger 是 click 还是 hover,都会响应 click 事件 - $tab.on('click', clickEvent); - - // trigger 为 hover 时,额外响应 mouseenter 事件 - if (_this.options.trigger === 'hover') { - $tab.on('mouseenter', clickEvent); - } - - $tab.on('click', function (e) { - // 阻止链接的默认点击动作 - if ($tab.attr('href').indexOf('#') === 0) { - e.preventDefault(); - } - }); - }; - - /** - * 设置激活状态的选项卡 - * @private - */ - Tab.prototype._setActive = function () { - var _this = this; - - _this.$tabs.each(function (i, tab) { - var $tab = $(tab); - var targetId = $tab.attr('href'); - - // 设置选项卡激活状态 - if (i === _this.activeIndex && !isDisabled($tab)) { - if (!$tab.hasClass('mdui-tab-active')) { - componentEvent('change', 'tab', _this, _this.$tab, { - index: _this.activeIndex, - id: targetId.substr(1), - }); - componentEvent('show', 'tab', _this, $tab); - - $tab.addClass('mdui-tab-active'); - } - - $(targetId).show(); - _this._setIndicatorPosition(); - } else { - $tab.removeClass('mdui-tab-active'); - $(targetId).hide(); - } - }); - }; - - /** - * 设置选项卡指示器的位置 - */ - Tab.prototype._setIndicatorPosition = function () { - var _this = this; - var $activeTab; - var activeTabOffset; - - // 选项卡数量为 0 时,不显示指示器 - if (_this.activeIndex === false) { - _this.$indicator.css({ - left: 0, - width: 0, - }); - - return; - } - - $activeTab = _this.$tabs.eq(_this.activeIndex); - if (isDisabled($activeTab)) { - return; - } - - activeTabOffset = $activeTab.offset(); - _this.$indicator.css({ - left: activeTabOffset.left + _this.$tab[0].scrollLeft - - _this.$tab[0].getBoundingClientRect().left + 'px', - width: $activeTab.width() + 'px', - }); - }; - - /** - * 切换到下一个选项卡 - */ - Tab.prototype.next = function () { - var _this = this; - - if (_this.activeIndex === false) { - return; - } - - if (_this.$tabs.length > _this.activeIndex + 1) { - _this.activeIndex++; - } else if (_this.options.loop) { - _this.activeIndex = 0; - } - - _this._setActive(); - }; - - /** - * 切换到上一个选项卡 - */ - Tab.prototype.prev = function () { - var _this = this; - - if (_this.activeIndex === false) { - return; - } - - if (_this.activeIndex > 0) { - _this.activeIndex--; - } else if (_this.options.loop) { - _this.activeIndex = _this.$tabs.length - 1; - } - - _this._setActive(); - }; - - /** - * 显示指定序号或指定id的选项卡 - * @param index 从0开始的序号,或以#开头的id - */ - Tab.prototype.show = function (index) { - var _this = this; - - if (_this.activeIndex === false) { - return; - } - - if (parseInt(index) === index) { - _this.activeIndex = index; - } else { - _this.$tabs.each(function (i, tab) { - if (tab.id === index) { - _this.activeIndex = i; - return false; - } - }); - } - - _this._setActive(); - }; - - /** - * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置 - * 在添加或删除选项卡时,需要调用该方法 - */ - Tab.prototype.handleUpdate = function () { - var _this = this; - - var $oldTabs = _this.$tabs; // 旧的 tabs JQ对象 - var $newTabs = _this.$tab.children('a'); // 新的 tabs JQ对象 - var oldTabsEle = $oldTabs.get(); // 旧 tabs 的元素数组 - var newTabsEle = $newTabs.get(); // 新的 tabs 元素数组 - - if (!$newTabs.length) { - _this.activeIndex = false; - _this.$tabs = $newTabs; - _this._setIndicatorPosition(); - - return; - } - - // 重新遍历选项卡,找出新增的选项卡 - $newTabs.each(function (i, tab) { - // 有新增的选项卡 - if (oldTabsEle.indexOf(tab) < 0) { - _this._bindTabEvent(tab); - - if (_this.activeIndex === false) { - _this.activeIndex = 0; - } else if (i <= _this.activeIndex) { - _this.activeIndex++; - } - } - }); - - // 找出被移除的选项卡 - $oldTabs.each(function (i, tab) { - // 有被移除的选项卡 - if (newTabsEle.indexOf(tab) < 0) { - - if (i < _this.activeIndex) { - _this.activeIndex--; - } else if (i === _this.activeIndex) { - _this.activeIndex = 0; - } - } - }); - - _this.$tabs = $newTabs; - - _this._setActive(); - }; - - return Tab; - })(); - - - /** - * ============================================================================= - * ************ Tab 自定义属性 API ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-tab]', function () { - var $this = $(this); - var inst = $this.data('mdui.tab'); - if (!inst) { - inst = new mdui.Tab($this, parseOptions($this.attr('mdui-tab'))); - $this.data('mdui.tab', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Drawer 抽屉栏 ************ - * ============================================================================= - * - * 在桌面设备上默认显示抽屉栏,不显示遮罩层 - * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏 - */ - - mdui.Drawer = (function () { - - /** - * 默认参数 - * @type {{}} - */ - var DEFAULT = { - // 在桌面设备上是否显示遮罩层。手机和平板不受这个参数影响,始终会显示遮罩层 - overlay: false, - - // 是否开启手势 - swipe: false, - }; - - var isDesktop = function () { - return $window.width() >= 1024; - }; - - /** - * 抽屉栏实例 - * @param selector 选择器或 HTML 字符串或 DOM 元素 - * @param opts - * @constructor - */ - function Drawer(selector, opts) { - var _this = this; - - _this.$drawer = $(selector).eq(0); - if (!_this.$drawer.length) { - return; - } - - var oldInst = _this.$drawer.data('mdui.drawer'); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - - _this.overlay = false; // 是否显示着遮罩层 - _this.position = _this.$drawer.hasClass('mdui-drawer-right') ? 'right' : 'left'; - - if (_this.$drawer.hasClass('mdui-drawer-close')) { - _this.state = 'closed'; - } else if (_this.$drawer.hasClass('mdui-drawer-open')) { - _this.state = 'opened'; - } else if (isDesktop()) { - _this.state = 'opened'; - } else { - _this.state = 'closed'; - } - - // 浏览器窗口大小调整时 - $window.on('resize', $.throttle(function () { - // 由手机平板切换到桌面时 - if (isDesktop()) { - // 如果显示着遮罩,则隐藏遮罩 - if (_this.overlay && !_this.options.overlay) { - $.hideOverlay(); - _this.overlay = false; - $.unlockScreen(); - } - - // 没有强制关闭,则状态为打开状态 - if (!_this.$drawer.hasClass('mdui-drawer-close')) { - _this.state = 'opened'; - } - } - - // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏 - else { - if (!_this.overlay && _this.state === 'opened') { - // 抽屉栏处于强制打开状态,添加遮罩 - if (_this.$drawer.hasClass('mdui-drawer-open')) { - $.showOverlay(); - _this.overlay = true; - $.lockScreen(); - - $('.mdui-overlay').one('click', function () { - _this.close(); - }); - } else { - _this.state = 'closed'; - } - } - } - }, 100)); - - // 绑定关闭按钮事件 - _this.$drawer.find('[mdui-drawer-close]').each(function () { - $(this).on('click', function () { - _this.close(); - }); - }); - - swipeSupport(_this); - } - - /** - * 滑动手势支持 - * @param _this - */ - var swipeSupport = function (_this) { - // 抽屉栏滑动手势控制 - var openNavEventHandler; - var touchStartX; - var touchStartY; - var swipeStartX; - var swiping = false; - var maybeSwiping = false; - var $body = $('body'); - - // 手势触发的范围 - var swipeAreaWidth = 24; - - function enableSwipeHandling() { - if (!openNavEventHandler) { - $body.on('touchstart', onBodyTouchStart); - openNavEventHandler = onBodyTouchStart; - } - } - - function setPosition(translateX, closeTransform) { - var rtlTranslateMultiplier = _this.position === 'right' ? -1 : 1; - var transformCSS = 'translate(' + (-1 * rtlTranslateMultiplier * translateX) + 'px, 0) !important;'; - _this.$drawer.css( - 'cssText', - 'transform:' + transformCSS + (closeTransform ? 'transition: initial !important;' : '') - ); - } - - function cleanPosition() { - _this.$drawer.css({ - transform: '', - transition: '', - }); - } - - function getMaxTranslateX() { - return _this.$drawer.width() + 10; - } - - function getTranslateX(currentX) { - return Math.min( - Math.max( - swiping === 'closing' ? (swipeStartX - currentX) : (getMaxTranslateX() + swipeStartX - currentX), - 0 - ), - getMaxTranslateX() - ); - } - - function onBodyTouchStart(event) { - touchStartX = event.touches[0].pageX; - if (_this.position === 'right') { - touchStartX = $body.width() - touchStartX; - } - - touchStartY = event.touches[0].pageY; - - if (_this.state !== 'opened') { - if (touchStartX > swipeAreaWidth || openNavEventHandler !== onBodyTouchStart) { - return; - } - } - - maybeSwiping = true; - - $body.on({ - touchmove: onBodyTouchMove, - touchend: onBodyTouchEnd, - touchcancel: onBodyTouchMove, - }); - } - - function onBodyTouchMove(event) { - var touchX = event.touches[0].pageX; - if (_this.position === 'right') { - touchX = $body.width() - touchX; - } - - var touchY = event.touches[0].pageY; - - if (swiping) { - setPosition(getTranslateX(touchX), true); - } else if (maybeSwiping) { - var dXAbs = Math.abs(touchX - touchStartX); - var dYAbs = Math.abs(touchY - touchStartY); - var threshold = 8; - - if (dXAbs > threshold && dYAbs <= threshold) { - swipeStartX = touchX; - swiping = _this.state === 'opened' ? 'closing' : 'opening'; - $.lockScreen(); - setPosition(getTranslateX(touchX), true); - } else if (dXAbs <= threshold && dYAbs > threshold) { - onBodyTouchEnd(); - } - } - } - - function onBodyTouchEnd(event) { - if (swiping) { - var touchX = event.changedTouches[0].pageX; - if (_this.position === 'right') { - touchX = $body.width() - touchX; - } - - var translateRatio = getTranslateX(touchX) / getMaxTranslateX(); - - maybeSwiping = false; - var swipingState = swiping; - swiping = null; - - if (swipingState === 'opening') { - if (translateRatio < 0.92) { - cleanPosition(); - _this.open(); - } else { - cleanPosition(); - } - } else { - if (translateRatio > 0.08) { - cleanPosition(); - _this.close(); - } else { - cleanPosition(); - } - } - - $.unlockScreen(); - } else { - maybeSwiping = false; - } - - $body.off({ - touchmove: onBodyTouchMove, - touchend: onBodyTouchEnd, - touchcancel: onBodyTouchMove, - }); - } - - if (_this.options.swipe) { - enableSwipeHandling(); - } - }; - - /** - * 动画结束回调 - * @param inst - */ - var transitionEnd = function (inst) { - if (inst.$drawer.hasClass('mdui-drawer-open')) { - inst.state = 'opened'; - componentEvent('opened', 'drawer', inst, inst.$drawer); - } else { - inst.state = 'closed'; - componentEvent('closed', 'drawer', inst, inst.$drawer); - } - }; - - /** - * 打开抽屉栏 - */ - Drawer.prototype.open = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - _this.state = 'opening'; - componentEvent('open', 'drawer', _this, _this.$drawer); - - if (!_this.options.overlay) { - $('body').addClass('mdui-drawer-body-' + _this.position); - } - - _this.$drawer - .removeClass('mdui-drawer-close') - .addClass('mdui-drawer-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - - if (!isDesktop() || _this.options.overlay) { - _this.overlay = true; - $.showOverlay().one('click', function () { - _this.close(); - }); - - $.lockScreen(); - } - }; - - /** - * 关闭抽屉栏 - */ - Drawer.prototype.close = function () { - var _this = this; - - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - _this.state = 'closing'; - componentEvent('close', 'drawer', _this, _this.$drawer); - - if (!_this.options.overlay) { - $('body').removeClass('mdui-drawer-body-' + _this.position); - } - - _this.$drawer - .addClass('mdui-drawer-close') - .removeClass('mdui-drawer-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - - if (_this.overlay) { - $.hideOverlay(); - _this.overlay = false; - $.unlockScreen(); - } - }; - - /** - * 切换抽屉栏打开/关闭状态 - */ - Drawer.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - /** - * 获取抽屉栏状态 - * @returns {'opening'|'opened'|'closing'|'closed'} - */ - Drawer.prototype.getState = function () { - return this.state; - }; - - return Drawer; - - })(); - - - /** - * ============================================================================= - * ************ Drawer 自定义属性 API ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-drawer]', function () { - var $this = $(this); - var options = parseOptions($this.attr('mdui-drawer')); - var selector = options.target; - delete options.target; - - var $drawer = $(selector).eq(0); - - var inst = $drawer.data('mdui.drawer'); - if (!inst) { - inst = new mdui.Drawer($drawer, options); - $drawer.data('mdui.drawer', inst); - } - - $this.on('click', function () { - inst.toggle(); - }); - - }); - }); - - - /** - * ============================================================================= - * ************ Dialog 对话框 ************ - * ============================================================================= - */ - - mdui.Dialog = (function () { - - /** - * 默认参数 - */ - var DEFAULT = { - history: true, // 监听 hashchange 事件 - overlay: true, // 打开对话框时是否显示遮罩 - modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 - closeOnEsc: true, // 按下 esc 关闭对话框 - closeOnCancel: true, // 按下取消按钮时关闭对话框 - closeOnConfirm: true, // 按下确认按钮时关闭对话框 - destroyOnClosed: false, // 关闭后销毁 - }; - - /** - * 遮罩层元素 - */ - var $overlay; - - /** - * 窗口是否已锁定 - */ - var isLockScreen; - - /** - * 当前对话框实例 - */ - var currentInst; - - /** - * 队列名 - */ - var queueName = '__md_dialog'; - - /** - * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条 - */ - var readjust = function () { - if (!currentInst) { - return; - } - - var $dialog = currentInst.$dialog; - - var $dialogTitle = $dialog.children('.mdui-dialog-title'); - var $dialogContent = $dialog.children('.mdui-dialog-content'); - var $dialogActions = $dialog.children('.mdui-dialog-actions'); - - // 调整 dialog 的 top 和 height 值 - $dialog.height(''); - $dialogContent.height(''); - - var dialogHeight = $dialog.height(); - $dialog.css({ - top: (($window.height() - dialogHeight) / 2) + 'px', - height: dialogHeight + 'px', - }); - - // 调整 mdui-dialog-content 的高度 - $dialogContent.height(dialogHeight - ($dialogTitle.height() || 0) - ($dialogActions.height() || 0)); - }; - - /** - * hashchange 事件触发时关闭对话框 - */ - var hashchangeEvent = function () { - if (location.hash.substring(1).indexOf('mdui-dialog') < 0) { - currentInst.close(true); - } - }; - - /** - * 点击遮罩层关闭对话框 - * @param e - */ - var overlayClick = function (e) { - if ($(e.target).hasClass('mdui-overlay') && currentInst) { - currentInst.close(); - } - }; - - /** - * 对话框实例 - * @param selector 选择器或 HTML 字符串或 DOM 元素 - * @param opts - * @constructor - */ - function Dialog(selector, opts) { - var _this = this; - - // 对话框元素 - _this.$dialog = $(selector).eq(0); - if (!_this.$dialog.length) { - return; - } - - // 已通过 data 属性实例化过,不再重复实例化 - var oldInst = _this.$dialog.data('mdui.dialog'); - if (oldInst) { - return oldInst; - } - - // 如果对话框元素没有在当前文档中,则需要添加 - if (!$.contains(document.body, _this.$dialog[0])) { - _this.append = true; - $('body').append(_this.$dialog); - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - _this.state = 'closed'; - - // 绑定取消按钮事件 - _this.$dialog.find('[mdui-dialog-cancel]').each(function () { - $(this).on('click', function () { - componentEvent('cancel', 'dialog', _this, _this.$dialog); - if (_this.options.closeOnCancel) { - _this.close(); - } - }); - }); - - // 绑定确认按钮事件 - _this.$dialog.find('[mdui-dialog-confirm]').each(function () { - $(this).on('click', function () { - componentEvent('confirm', 'dialog', _this, _this.$dialog); - if (_this.options.closeOnConfirm) { - _this.close(); - } - }); - }); - - // 绑定关闭按钮事件 - _this.$dialog.find('[mdui-dialog-close]').each(function () { - $(this).on('click', function () { - _this.close(); - }); - }); - } - - /** - * 动画结束回调 - * @param inst - */ - var transitionEnd = function (inst) { - if (inst.$dialog.hasClass('mdui-dialog-open')) { - inst.state = 'opened'; - componentEvent('opened', 'dialog', inst, inst.$dialog); - } else { - inst.state = 'closed'; - componentEvent('closed', 'dialog', inst, inst.$dialog); - - inst.$dialog.hide(); - - // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕 - if (queue.queue(queueName).length === 0 && !currentInst && isLockScreen) { - $.unlockScreen(); - isLockScreen = false; - } - - $window.off('resize', $.throttle(function () { - readjust(); - }, 100)); - - if (inst.options.destroyOnClosed) { - inst.destroy(); - } - } - }; - - /** - * 打开指定对话框 - * @private - */ - Dialog.prototype._doOpen = function () { - var _this = this; - - currentInst = _this; - - if (!isLockScreen) { - $.lockScreen(); - isLockScreen = true; - } - - _this.$dialog.show(); - - readjust(); - $window.on('resize', $.throttle(function () { - readjust(); - }, 100)); - - // 打开消息框 - _this.state = 'opening'; - componentEvent('open', 'dialog', _this, _this.$dialog); - - _this.$dialog - .addClass('mdui-dialog-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - - // 不存在遮罩层元素时,添加遮罩层 - if (!$overlay) { - $overlay = $.showOverlay(5100); - } - - $overlay - - // 点击遮罩层时是否关闭对话框 - [_this.options.modal ? 'off' : 'on']('click', overlayClick) - - // 是否显示遮罩层,不显示时,把遮罩层背景透明 - .css('opacity', _this.options.overlay ? '' : 0); - - if (_this.options.history) { - // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭 - // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog - var hash = location.hash.substring(1); - if (hash.indexOf('mdui-dialog') > -1) { - hash = hash.replace(/[&?]?mdui-dialog/g, ''); - } - - // 后退按钮关闭对话框 - if (hash) { - location.hash = hash + (hash.indexOf('?') > -1 ? '&' : '?') + 'mdui-dialog'; - } else { - location.hash = 'mdui-dialog'; - } - - $window.on('hashchange', hashchangeEvent); - } - }; - - /** - * 打开对话框 - */ - Dialog.prototype.open = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开 - if ( - (currentInst && (currentInst.state === 'opening' || currentInst.state === 'opened')) || - queue.queue(queueName).length - ) { - queue.queue(queueName, function () { - _this._doOpen(); - }); - - return; - } - - _this._doOpen(); - }; - - /** - * 关闭对话框 - */ - Dialog.prototype.close = function () { - var _this = this; - var _arguments = arguments; - - // setTimeout 的作用是: - // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列 - setTimeout(function () { - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - currentInst = null; - - _this.state = 'closing'; - componentEvent('close', 'dialog', _this, _this.$dialog); - - // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩 - if (queue.queue(queueName).length === 0 && $overlay) { - $.hideOverlay(); - $overlay = null; - } - - _this.$dialog - .removeClass('mdui-dialog-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - - if (_this.options.history && queue.queue(queueName).length === 0) { - // 是否需要后退历史纪录,默认为 false。 - // 为 false 时是通过 js 关闭,需要后退一个历史记录 - // 为 true 时是通过后退按钮关闭,不需要后退历史记录 - if (!_arguments[0]) { - window.history.back(); - } - - $window.off('hashchange', hashchangeEvent); - } - - // 关闭旧对话框,打开新对话框。 - // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能 - setTimeout(function () { - queue.dequeue(queueName); - }, 100); - }, 0); - }; - - /** - * 切换对话框打开/关闭状态 - */ - Dialog.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - /** - * 获取对话框状态 - * @returns {'opening'|'opened'|'closing'|'closed'} - */ - Dialog.prototype.getState = function () { - return this.state; - }; - - /** - * 销毁对话框 - */ - Dialog.prototype.destroy = function () { - var _this = this; - - if (_this.append) { - _this.$dialog.remove(); - } - - _this.$dialog.removeData('mdui.dialog'); - - if (queue.queue(queueName).length === 0 && !currentInst) { - if ($overlay) { - $.hideOverlay(); - $overlay = null; - } - - if (isLockScreen) { - $.unlockScreen(); - isLockScreen = false; - } - } - }; - - /** - * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度 - */ - Dialog.prototype.handleUpdate = function () { - readjust(); - }; - - // esc 按下时关闭对话框 - $document.on('keydown', function (e) { - if ( - currentInst && - currentInst.options.closeOnEsc && - currentInst.state === 'opened' && - e.keyCode === 27 - ) { - currentInst.close(); - } - }); - - return Dialog; - - })(); - - - /** - * ============================================================================= - * ************ Dialog DATA API ************ - * ============================================================================= - */ - - $(function () { - $document.on('click', '[mdui-dialog]', function () { - var $this = $(this); - var options = parseOptions($this.attr('mdui-dialog')); - var selector = options.target; - delete options.target; - - var $dialog = $(selector).eq(0); - - var inst = $dialog.data('mdui.dialog'); - if (!inst) { - inst = new mdui.Dialog($dialog, options); - $dialog.data('mdui.dialog', inst); - } - - inst.open(); - }); - }); - - - /** - * ============================================================================= - * ************ mdui.dialog(options) ************ - * ============================================================================= - */ - - mdui.dialog = function (options) { - - /** - * 默认参数 - */ - var DEFAULT = { - title: '', // 标题 - content: '', // 文本 - buttons: [], // 按钮 - stackedButtons: false, // 垂直排列按钮 - cssClass: '', // 在 Dialog 上添加的 CSS 类 - history: true, // 监听 hashchange 事件 - overlay: true, // 是否显示遮罩 - modal: false, // 是否模态化对话框 - closeOnEsc: true, // 按下 esc 时关闭对话框 - destroyOnClosed: true, // 关闭后销毁 - onOpen: function () { // 打开动画开始时的回调 - }, - - onOpened: function () { // 打开动画结束后的回调 - }, - - onClose: function () { // 关闭动画开始时的回调 - }, - - onClosed: function () { // 关闭动画结束时的回调 - }, - }; - - /** - * 按钮的默认参数 - */ - var DEFAULT_BUTTON = { - text: '', // 按钮文本 - bold: false, // 按钮文本是否加粗 - close: true, // 点击按钮后关闭对话框 - onClick: function (inst) { // 点击按钮的回调 - }, - }; - - // 合并参数 - options = $.extend({}, DEFAULT, (options || {})); - $.each(options.buttons, function (i, button) { - options.buttons[i] = $.extend({}, DEFAULT_BUTTON, button); - }); - - // 按钮的 HTML - var buttonsHTML = ''; - if (options.buttons.length) { - buttonsHTML = - '
'; - $.each(options.buttons, function (i, button) { - buttonsHTML += - '' + - button.text + - ''; - }); - - buttonsHTML += '
'; - } - - // Dialog 的 HTML - var HTML = - '
' + - (options.title ? '
' + options.title + '
' : '') + - (options.content ? '
' + options.content + '
' : '') + - buttonsHTML + - '
'; - - // 实例化 Dialog - var inst = new mdui.Dialog(HTML, { - history: options.history, - overlay: options.overlay, - modal: options.modal, - closeOnEsc: options.closeOnEsc, - destroyOnClosed: options.destroyOnClosed, - }); - - // 绑定按钮事件 - if (options.buttons.length) { - inst.$dialog.find('.mdui-dialog-actions .mdui-btn').each(function (i, button) { - $(button).on('click', function () { - if (typeof options.buttons[i].onClick === 'function') { - options.buttons[i].onClick(inst); - } - - if (options.buttons[i].close) { - inst.close(); - } - }); - }); - } - - // 绑定打开关闭事件 - if (typeof options.onOpen === 'function') { - inst.$dialog - .on('open.mdui.dialog', function () { - options.onOpen(inst); - }) - .on('opened.mdui.dialog', function () { - options.onOpened(inst); - }) - .on('close.mdui.dialog', function () { - options.onClose(inst); - }) - .on('closed.mdui.dialog', function () { - options.onClosed(inst); - }); - } - - inst.open(); - - return inst; - }; - - - /** - * ============================================================================= - * ************ mdui.alert(text, title, onConfirm, options) ************ - * ************ mdui.alert(text, onConfirm, options) ************ - * ============================================================================= - */ - - mdui.alert = function (text, title, onConfirm, options) { - - // title 参数可选 - if (typeof title === 'function') { - title = ''; - onConfirm = arguments[1]; - options = arguments[2]; - } - - if (onConfirm === undefined) { - onConfirm = function () {}; - } - - if (options === undefined) { - options = {}; - } - - /** - * 默认参数 - */ - var DEFAULT = { - confirmText: 'ok', // 按钮上的文本 - history: true, // 监听 hashchange 事件 - modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 - closeOnEsc: true, // 按下 esc 关闭对话框 - }; - - options = $.extend({}, DEFAULT, options); - - return mdui.dialog({ - title: title, - content: text, - buttons: [ - { - text: options.confirmText, - bold: false, - close: true, - onClick: onConfirm, - }, - ], - cssClass: 'mdui-dialog-alert', - history: options.history, - modal: options.modal, - closeOnEsc: options.closeOnEsc, - }); - }; - - - /** - * ============================================================================= - * ************ mdui.confirm(text, title, onConfirm, onCancel, options) ************ - * ************ mdui.confirm(text, onConfirm, onCancel, options) ************ - * ============================================================================= - */ - - mdui.confirm = function (text, title, onConfirm, onCancel, options) { - - // title 参数可选 - if (typeof title === 'function') { - title = ''; - onConfirm = arguments[1]; - onCancel = arguments[2]; - options = arguments[3]; - } - - if (onConfirm === undefined) { - onConfirm = function () {}; - } - - if (onCancel === undefined) { - onCancel = function () {}; - } - - if (options === undefined) { - options = {}; - } - - /** - * 默认参数 - */ - var DEFAULT = { - confirmText: 'ok', // 确认按钮的文本 - cancelText: 'cancel', // 取消按钮的文本 - history: true, // 监听 hashchange 事件 - modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 - closeOnEsc: true, // 按下 esc 关闭对话框 - }; - - options = $.extend({}, DEFAULT, options); - - return mdui.dialog({ - title: title, - content: text, - buttons: [ - { - text: options.cancelText, - bold: false, - close: true, - onClick: onCancel, - }, - { - text: options.confirmText, - bold: false, - close: true, - onClick: onConfirm, - }, - ], - cssClass: 'mdui-dialog-confirm', - history: options.history, - modal: options.modal, - closeOnEsc: options.closeOnEsc, - }); - }; - - - /** - * ============================================================================= - * ************ mdui.prompt(label, title, onConfirm, onCancel, options) ************ - * ************ mdui.prompt(label, onConfirm, onCancel, options) ************ - * ============================================================================= - */ - - mdui.prompt = function (label, title, onConfirm, onCancel, options) { - - // title 参数可选 - if (typeof title === 'function') { - title = ''; - onConfirm = arguments[1]; - onCancel = arguments[2]; - options = arguments[3]; - } - - if (onConfirm === undefined) { - onConfirm = function () {}; - } - - if (onCancel === undefined) { - onCancel = function () {}; - } - - if (options === undefined) { - options = {}; - } - - /** - * 默认参数 - */ - var DEFAULT = { - confirmText: 'ok', // 确认按钮的文本 - cancelText: 'cancel', // 取消按钮的文本 - history: true, // 监听 hashchange 事件 - modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 - closeOnEsc: true, // 按下 esc 关闭对话框 - type: 'text', // 输入框类型,text: 单行文本框 textarea: 多行文本框 - maxlength: '', // 最大输入字符数 - defaultValue: '', // 输入框中的默认文本 - confirmOnEnter: false, // 按下 enter 确认输入内容 - }; - - options = $.extend({}, DEFAULT, options); - - var content = - '
' + - (label ? '' : '') + - (options.type === 'text' ? - '' : - '') + - (options.type === 'textarea' ? - '' : - '') + - '
'; - - var onCancelClick = onCancel; - if (typeof onCancel === 'function') { - onCancelClick = function (inst) { - var value = inst.$dialog.find('.mdui-textfield-input').val(); - onCancel(value, inst); - } - } - - var onConfirmClick = onConfirm; - if (typeof onConfirm === 'function') { - onConfirmClick = function (inst) { - var value = inst.$dialog.find('.mdui-textfield-input').val(); - onConfirm(value, inst); - } - } - - return mdui.dialog({ - title: title, - content: content, - buttons: [ - { - text: options.cancelText, - bold: false, - close: true, - onClick: onCancelClick, - }, - { - text: options.confirmText, - bold: false, - close: true, - onClick: onConfirmClick, - }, - ], - cssClass: 'mdui-dialog-prompt', - history: options.history, - modal: options.modal, - closeOnEsc: options.closeOnEsc, - onOpen: function (inst) { - - // 初始化输入框 - var $input = inst.$dialog.find('.mdui-textfield-input'); - mdui.updateTextFields($input); - - // 聚焦到输入框 - $input[0].focus(); - - // 捕捉文本框回车键,在单行文本框的情况下触发回调 - if (options.type === 'text' && options.confirmOnEnter === true) { - $input.on('keydown', function (event) { - if (event.keyCode === 13) { - var value = inst.$dialog.find('.mdui-textfield-input').val(); - onConfirm(value, inst); - inst.close(); - } - }); - } - - // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度 - if (options.type === 'textarea') { - $input.on('input', function () { - inst.handleUpdate(); - }); - } - - // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度 - if (options.maxlength) { - inst.handleUpdate(); - } - }, - }); - - }; - - - /** - * ============================================================================= - * ************ ToolTip 工具提示 ************ - * ============================================================================= - */ - - mdui.Tooltip = (function () { - - /** - * 默认参数 - */ - var DEFAULT = { - position: 'auto', // 提示所在位置 - delay: 0, // 延迟,单位毫秒 - content: '', // 提示文本,允许包含 HTML - }; - - /** - * 是否是桌面设备 - * @returns {boolean} - */ - var isDesktop = function () { - return $window.width() > 1024; - }; - - /** - * 设置 Tooltip 的位置 - * @param inst - */ - function setPosition(inst) { - var marginLeft; - var marginTop; - var position; - - // 触发的元素 - var targetProps = inst.$target[0].getBoundingClientRect(); - - // 触发的元素和 Tooltip 之间的距离 - var targetMargin = (isDesktop() ? 14 : 24); - - // Tooltip 的宽度和高度 - var tooltipWidth = inst.$tooltip[0].offsetWidth; - var tooltipHeight = inst.$tooltip[0].offsetHeight; - - // Tooltip 的方向 - position = inst.options.position; - - // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距 - if (['bottom', 'top', 'left', 'right'].indexOf(position) === -1) { - if ( - targetProps.top + targetProps.height + targetMargin + tooltipHeight + 2 < - $window.height() - ) { - position = 'bottom'; - } else if (targetMargin + tooltipHeight + 2 < targetProps.top) { - position = 'top'; - } else if (targetMargin + tooltipWidth + 2 < targetProps.left) { - position = 'left'; - } else if ( - targetProps.width + targetMargin + tooltipWidth + 2 < - $window.width() - targetProps.left - ) { - position = 'right'; - } else { - position = 'bottom'; - } - } - - // 设置位置 - switch (position) { - case 'bottom': - marginLeft = -1 * (tooltipWidth / 2); - marginTop = (targetProps.height / 2) + targetMargin; - inst.$tooltip.transformOrigin('top center'); - break; - case 'top': - marginLeft = -1 * (tooltipWidth / 2); - marginTop = -1 * (tooltipHeight + (targetProps.height / 2) + targetMargin); - inst.$tooltip.transformOrigin('bottom center'); - break; - case 'left': - marginLeft = -1 * (tooltipWidth + (targetProps.width / 2) + targetMargin); - marginTop = -1 * (tooltipHeight / 2); - inst.$tooltip.transformOrigin('center right'); - break; - case 'right': - marginLeft = (targetProps.width / 2) + targetMargin; - marginTop = -1 * (tooltipHeight / 2); - inst.$tooltip.transformOrigin('center left'); - break; - } - - var targetOffset = inst.$target.offset(); - inst.$tooltip.css({ - top: targetOffset.top + (targetProps.height / 2) + 'px', - left: targetOffset.left + (targetProps.width / 2) + 'px', - 'margin-left': marginLeft + 'px', - 'margin-top': marginTop + 'px', - }); - } - - /** - * Tooltip 实例 - * @param selector - * @param opts - * @constructor - */ - function Tooltip(selector, opts) { - var _this = this; - - _this.$target = $(selector).eq(0); - if (!_this.$target.length) { - return; - } - - // 已通过 data 属性实例化过,不再重复实例化 - var oldInst = _this.$target.data('mdui.tooltip'); - if (oldInst) { - return oldInst; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - _this.state = 'closed'; - - // 创建 Tooltip HTML - _this.$tooltip = $( - '
' + - _this.options.content + - '
' - ).appendTo(document.body); - - // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用 - _this.$target - .on('touchstart mouseenter', function (e) { - if (this.disabled) { - return; - } - - if (!TouchHandler.isAllow(e)) { - return; - } - - TouchHandler.register(e); - - _this.open(); - }) - .on('touchend mouseleave', function (e) { - if (this.disabled) { - return; - } - - if (!TouchHandler.isAllow(e)) { - return; - } - - _this.close(); - }) - .on(TouchHandler.unlock, function (e) { - if (this.disabled) { - return; - } - - TouchHandler.register(e); - }); - } - - /** - * 动画结束回调 - * @private - */ - var transitionEnd = function (inst) { - if (inst.$tooltip.hasClass('mdui-tooltip-open')) { - inst.state = 'opened'; - componentEvent('opened', 'tooltip', inst, inst.$target); - } else { - inst.state = 'closed'; - componentEvent('closed', 'tooltip', inst, inst.$target); - } - }; - - /** - * 执行打开 Tooltip - * @private - */ - Tooltip.prototype._doOpen = function () { - var _this = this; - - _this.state = 'opening'; - componentEvent('open', 'tooltip', _this, _this.$target); - - _this.$tooltip - .addClass('mdui-tooltip-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 打开 Tooltip - * @param opts 允许每次打开时设置不同的参数 - */ - Tooltip.prototype.open = function (opts) { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - var oldOpts = $.extend({}, _this.options); - - // 合并 data 属性参数 - $.extend(_this.options, parseOptions(_this.$target.attr('mdui-tooltip'))); - if (opts) { - $.extend(_this.options, opts); - } - - // tooltip 的内容有更新 - if (oldOpts.content !== _this.options.content) { - _this.$tooltip.html(_this.options.content); - } - - setPosition(_this); - - if (_this.options.delay) { - _this.timeoutId = setTimeout(function () { - _this._doOpen(); - }, _this.options.delay); - } else { - _this.timeoutId = false; - _this._doOpen(); - } - }; - - /** - * 关闭 Tooltip - */ - Tooltip.prototype.close = function () { - var _this = this; - - if (_this.timeoutId) { - clearTimeout(_this.timeoutId); - _this.timeoutId = false; - } - - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - _this.state = 'closing'; - componentEvent('close', 'tooltip', _this, _this.$target); - - _this.$tooltip - .removeClass('mdui-tooltip-open') - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 切换 Tooltip 状态 - */ - Tooltip.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - /** - * 获取 Tooltip 状态 - * @returns {'opening'|'opened'|'closing'|'closed'} - */ - Tooltip.prototype.getState = function () { - return this.state; - }; - - /** - * 销毁 Tooltip - */ - /*Tooltip.prototype.destroy = function () { - var _this = this; - clearTimeout(_this.timeoutId); - $.data(_this.target, 'mdui.tooltip', null); - $.remove(_this.tooltip); - };*/ - - return Tooltip; - - })(); - - - /** - * ============================================================================= - * ************ Tooltip DATA API ************ - * ============================================================================= - */ - - $(function () { - // mouseenter 不能冒泡,所以这里用 mouseover 代替 - $document.on('touchstart mouseover', '[mdui-tooltip]', function () { - var $this = $(this); - - var inst = $this.data('mdui.tooltip'); - if (!inst) { - var options = parseOptions($this.attr('mdui-tooltip')); - inst = new mdui.Tooltip($this, options); - $this.data('mdui.tooltip', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Snackbar ************ - * ============================================================================= - */ - - (function () { - - /** - * 当前打开着的 Snackbar - */ - var currentInst; - - /** - * 对列名 - * @type {string} - */ - var queueName = '__md_snackbar'; - - var DEFAULT = { - timeout: 4000, // 在用户没有操作时多长时间自动隐藏 - buttonText: '', // 按钮的文本 - buttonColor: '', // 按钮的颜色,支持 blue #90caf9 rgba(...) - position: 'bottom', // 位置 bottom、top、left-top、left-bottom、right-top、right-bottom - closeOnButtonClick: true, // 点击按钮时关闭 - closeOnOutsideClick: true, // 触摸或点击屏幕其他地方时关闭 - onClick: function () { // 在 Snackbar 上点击的回调 - }, - - onButtonClick: function () { // 点击按钮的回调 - }, - - onOpen: function () { // 打开动画开始时的回调 - }, - - onOpened: function () { // 打开动画结束时的回调 - }, - - onClose: function () { // 关闭动画开始时的回调 - }, - - onClosed: function () { // 打开动画结束时的回调 - }, - }; - - /** - * 点击 Snackbar 外面的区域关闭 - * @param e - */ - var closeOnOutsideClick = function (e) { - var $target = $(e.target); - if (!$target.hasClass('mdui-snackbar') && !$target.parents('.mdui-snackbar').length) { - currentInst.close(); - } - }; - - /** - * Snackbar 实例 - * @param message - * @param opts - * @constructor - */ - function Snackbar(message, opts) { - var _this = this; - - _this.message = message; - _this.options = $.extend({}, DEFAULT, (opts || {})); - - // message 参数必须 - if (!_this.message) { - return; - } - - _this.state = 'closed'; - - _this.timeoutId = false; - - // 按钮颜色 - var buttonColorStyle = ''; - var buttonColorClass = ''; - - if ( - _this.options.buttonColor.indexOf('#') === 0 || - _this.options.buttonColor.indexOf('rgb') === 0 - ) { - buttonColorStyle = 'style="color:' + _this.options.buttonColor + '"'; - } else if (_this.options.buttonColor !== '') { - buttonColorClass = 'mdui-text-color-' + _this.options.buttonColor; - } - - // 添加 HTML - _this.$snackbar = $( - '
' + - '
' + - _this.message + - '
' + - (_this.options.buttonText ? - ('' + - _this.options.buttonText + - '') : - '' - ) + - '
') - .appendTo(document.body); - - // 设置位置 - _this._setPosition('close'); - - _this.$snackbar - .reflow() - .addClass('mdui-snackbar-' + _this.options.position); - } - - /** - * 设置 Snackbar 的位置 - * @param state - * @private - */ - Snackbar.prototype._setPosition = function (state) { - var _this = this; - - var snackbarHeight = _this.$snackbar[0].clientHeight; - var position = _this.options.position; - - var translateX; - var translateY; - - // translateX - if (position === 'bottom' || position === 'top') { - translateX = '-50%'; - } else { - translateX = '0'; - } - - // translateY - if (state === 'open') { - translateY = '0'; - } else { - if (position === 'bottom') { - translateY = snackbarHeight; - } - - if (position === 'top') { - translateY = -snackbarHeight; - } - - if (position === 'left-top' || position === 'right-top') { - translateY = -snackbarHeight - 24; - } - - if (position === 'left-bottom' || position === 'right-bottom') { - translateY = snackbarHeight + 24; - } - } - - _this.$snackbar.transform('translate(' + translateX + ',' + translateY + 'px)'); - }; - - /** - * 打开 Snackbar - */ - Snackbar.prototype.open = function () { - var _this = this; - - if (!_this.message) { - return; - } - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开 - if (currentInst) { - queue.queue(queueName, function () { - _this.open(); - }); - - return; - } - - currentInst = _this; - - // 开始打开 - _this.state = 'opening'; - _this.options.onOpen(); - - _this._setPosition('open'); - - _this.$snackbar - .transitionEnd(function () { - if (_this.state !== 'opening') { - return; - } - - _this.state = 'opened'; - _this.options.onOpened(); - - // 有按钮时绑定事件 - if (_this.options.buttonText) { - _this.$snackbar - .find('.mdui-snackbar-action') - .on('click', function () { - _this.options.onButtonClick(); - if (_this.options.closeOnButtonClick) { - _this.close(); - } - }); - } - - // 点击 snackbar 的事件 - _this.$snackbar.on('click', function (e) { - if (!$(e.target).hasClass('mdui-snackbar-action')) { - _this.options.onClick(); - } - }); - - // 点击 Snackbar 外面的区域关闭 - if (_this.options.closeOnOutsideClick) { - $document.on(TouchHandler.start, closeOnOutsideClick); - } - - // 超时后自动关闭 - if (_this.options.timeout) { - _this.timeoutId = setTimeout(function () { - _this.close(); - }, _this.options.timeout); - } - }); - }; - - /** - * 关闭 Snackbar - */ - Snackbar.prototype.close = function () { - var _this = this; - - if (!_this.message) { - return; - } - - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - if (_this.timeoutId) { - clearTimeout(_this.timeoutId); - } - - if (_this.options.closeOnOutsideClick) { - $document.off(TouchHandler.start, closeOnOutsideClick); - } - - _this.state = 'closing'; - _this.options.onClose(); - - _this._setPosition('close'); - - _this.$snackbar - .transitionEnd(function () { - if (_this.state !== 'closing') { - return; - } - - currentInst = null; - _this.state = 'closed'; - _this.options.onClosed(); - _this.$snackbar.remove(); - queue.dequeue(queueName); - }); - }; - - /** - * 打开 Snackbar - * @param message - * @param opts - */ - mdui.snackbar = function (message, opts) { - if (typeof message !== 'string') { - opts = message; - message = opts.message; - } - - var inst = new Snackbar(message, opts); - - inst.open(); - return inst; - }; - - })(); - - - /** - * ============================================================================= - * ************ Bottom navigation 底部导航栏 ************ - * ============================================================================= - */ - - (function () { - - // 切换导航项 - $document.on('click', '.mdui-bottom-nav>a', function () { - var $this = $(this); - var $bottomNav = $this.parent(); - var isThis; - $bottomNav.children('a').each(function (i, item) { - isThis = $this.is(item); - if (isThis) { - componentEvent('change', 'bottomNav', null, $bottomNav, { - index: i, - }); - } - - $(item)[isThis ? 'addClass' : 'removeClass']('mdui-bottom-nav-active'); - }); - }); - - // 滚动时隐藏 mdui-bottom-nav-scroll-hide - mdui.mutation('.mdui-bottom-nav-scroll-hide', function () { - var $this = $(this); - var inst = new mdui.Headroom($this, { - pinnedClass: 'mdui-headroom-pinned-down', - unpinnedClass: 'mdui-headroom-unpinned-down', - }); - $this.data('mdui.headroom', inst); - }); - - })(); - - - /** - * ============================================================================= - * ************ Spinner 圆形进度条 ************ - * ============================================================================= - */ - - (function () { - /** - * layer 的 HTML 结构 - */ - var layerHTML = function () { - var i = arguments.length ? arguments[0] : false; - - return '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
'; - }; - - /** - * 填充 HTML - * @param spinner - */ - var fillHTML = function (spinner) { - var $spinner = $(spinner); - var layer; - if ($spinner.hasClass('mdui-spinner-colorful')) { - layer = layerHTML('1') + layerHTML('2') + layerHTML('3') + layerHTML('4'); - } else { - layer = layerHTML(); - } - - $spinner.html(layer); - }; - - /** - * 页面加载完后自动填充 HTML 结构 - */ - $(function () { - mdui.mutation('.mdui-spinner', function () { - fillHTML(this); - }); - }); - - /** - * 更新圆形进度条 - */ - mdui.updateSpinners = function () { - $(arguments.length ? arguments[0] : '.mdui-spinner').each(function () { - fillHTML(this); - }); - }; - - })(); - - - /** - * ============================================================================= - * ************ Expansion panel 可扩展面板 ************ - * ============================================================================= - */ - - mdui.Panel = (function () { - - function Panel(selector, opts) { - return new CollapsePrivate(selector, opts, 'panel'); - } - - return Panel; - - })(); - - - /** - * ============================================================================= - * ************ Expansion panel 自定义属性 ************ - * ============================================================================= - */ - - $(function () { - mdui.mutation('[mdui-panel]', function () { - var $target = $(this); - - var inst = $target.data('mdui.panel'); - if (!inst) { - var options = parseOptions($target.attr('mdui-panel')); - inst = new mdui.Panel($target, options); - $target.data('mdui.panel', inst); - } - }); - }); - - - /** - * ============================================================================= - * ************ Menu 菜单 ************ - * ============================================================================= - */ - - mdui.Menu = (function () { - - /** - * 默认参数 - */ - var DEFAULT = { - position: 'auto', // 菜单位置 top、bottom、center、auto - align: 'auto', // 菜单和触发它的元素的对齐方式 left、right、center、auto - gutter: 16, // 菜单距离窗口边缘的最小距离,单位 px - fixed: false, // 是否使菜单固定在窗口,不随滚动条滚动 - covered: 'auto', // 菜单是否覆盖在触发它的元素上,true、false。auto 时简单菜单覆盖,级联菜单不覆盖 - subMenuTrigger: 'hover', // 子菜单的触发方式 hover、click - subMenuDelay: 200, // 子菜单的触发延时,仅在 submenuTrigger 为 hover 有效 - }; - - /** - * 调整主菜单位置 - * @param _this 实例 - */ - var readjust = function (_this) { - var menuLeft; - var menuTop; - - // 菜单位置和方向 - var position; - var align; - - // window 窗口的宽度和高度 - var windowHeight = $window.height(); - var windowWidth = $window.width(); - - // 配置参数 - var gutter = _this.options.gutter; - var isCovered = _this.isCovered; - var isFixed = _this.options.fixed; - - // 动画方向参数 - var transformOriginX; - var transformOriginY; - - // 菜单的原始宽度和高度 - var menuWidth = _this.$menu.width(); - var menuHeight = _this.$menu.height(); - - var $anchor = _this.$anchor; - - // 触发菜单的元素在窗口中的位置 - var anchorTmp = $anchor[0].getBoundingClientRect(); - var anchorTop = anchorTmp.top; - var anchorLeft = anchorTmp.left; - var anchorHeight = anchorTmp.height; - var anchorWidth = anchorTmp.width; - var anchorBottom = windowHeight - anchorTop - anchorHeight; - var anchorRight = windowWidth - anchorLeft - anchorWidth; - - // 触发元素相对其拥有定位属性的父元素的位置 - var anchorOffsetTop = $anchor[0].offsetTop; - var anchorOffsetLeft = $anchor[0].offsetLeft; - - // =============================== - // ================= 自动判断菜单位置 - // =============================== - if (_this.options.position === 'auto') { - - // 判断下方是否放得下菜单 - if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { - position = 'bottom'; - } - - // 判断上方是否放得下菜单 - else if (anchorTop + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { - position = 'top'; - } - - // 上下都放不下,居中显示 - else { - position = 'center'; - } - } else { - position = _this.options.position; - } - - // =============================== - // ============== 自动判断菜单对齐方式 - // =============================== - if (_this.options.align === 'auto') { - - // 判断右侧是否放得下菜单 - if (anchorRight + anchorWidth > menuWidth + gutter) { - align = 'left'; - } - - // 判断左侧是否放得下菜单 - else if (anchorLeft + anchorWidth > menuWidth + gutter) { - align = 'right'; - } - - // 左右都放不下,居中显示 - else { - align = 'center'; - } - } else { - align = _this.options.align; - } - - // =============================== - // ==================== 设置菜单位置 - // =============================== - if (position === 'bottom') { - transformOriginY = '0'; - - menuTop = - (isCovered ? 0 : anchorHeight) + - (isFixed ? anchorTop : anchorOffsetTop); - - } else if (position === 'top') { - transformOriginY = '100%'; - - menuTop = - (isCovered ? anchorHeight : 0) + - (isFixed ? (anchorTop - menuHeight) : (anchorOffsetTop - menuHeight)); - - } else { - transformOriginY = '50%'; - - // =====================在窗口中居中 - // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条 - // 级联菜单内部不允许出现滚动条 - var menuHeightTemp = menuHeight; - - // 简单菜单比窗口高时,限制菜单高度 - if (!_this.isCascade) { - if (menuHeight + gutter * 2 > windowHeight) { - menuHeightTemp = windowHeight - gutter * 2; - _this.$menu.height(menuHeightTemp); - } - } - - menuTop = - (windowHeight - menuHeightTemp) / 2 + - (isFixed ? 0 : (anchorOffsetTop - anchorTop)); - } - - _this.$menu.css('top', menuTop + 'px'); - - // =============================== - // ================= 设置菜单对齐方式 - // =============================== - if (align === 'left') { - transformOriginX = '0'; - - menuLeft = isFixed ? anchorLeft : anchorOffsetLeft; - - } else if (align === 'right') { - transformOriginX = '100%'; - - menuLeft = isFixed ? - (anchorLeft + anchorWidth - menuWidth) : - (anchorOffsetLeft + anchorWidth - menuWidth); - } else { - transformOriginX = '50%'; - - //=======================在窗口中居中 - // 显示的菜单的宽度,菜单宽度不能超过窗口宽度 - var menuWidthTemp = menuWidth; - - // 菜单比窗口宽,限制菜单宽度 - if (menuWidth + gutter * 2 > windowWidth) { - menuWidthTemp = windowWidth - gutter * 2; - _this.$menu.width(menuWidthTemp); - } - - menuLeft = - (windowWidth - menuWidthTemp) / 2 + - (isFixed ? 0 : anchorOffsetLeft - anchorLeft); - } - - _this.$menu.css('left', menuLeft + 'px'); - - // 设置菜单动画方向 - _this.$menu.transformOrigin(transformOriginX + ' ' + transformOriginY); - }; - - /** - * 调整子菜单的位置 - * @param $submenu - */ - var readjustSubmenu = function ($submenu) { - var $item = $submenu.parent('.mdui-menu-item'); - - var submenuTop; - var submenuLeft; - - // 子菜单位置和方向 - var position; // top、bottom - var align; // left、right - - // window 窗口的宽度和高度 - var windowHeight = $window.height(); - var windowWidth = $window.width(); - - // 动画方向参数 - var transformOriginX; - var transformOriginY; - - // 子菜单的原始宽度和高度 - var submenuWidth = $submenu.width(); - var submenuHeight = $submenu.height(); - - // 触发子菜单的菜单项的宽度高度 - var itemTmp = $item[0].getBoundingClientRect(); - var itemWidth = itemTmp.width; - var itemHeight = itemTmp.height; - var itemLeft = itemTmp.left; - var itemTop = itemTmp.top; - - // =================================== - // ===================== 判断菜单上下位置 - // =================================== - - // 判断下方是否放得下菜单 - if (windowHeight - itemTop > submenuHeight) { - position = 'bottom'; - } - - // 判断上方是否放得下菜单 - else if (itemTop + itemHeight > submenuHeight) { - position = 'top'; - } - - // 默认放在下方 - else { - position = 'bottom'; - } - - // ==================================== - // ====================== 判断菜单左右位置 - // ==================================== - - // 判断右侧是否放得下菜单 - if (windowWidth - itemLeft - itemWidth > submenuWidth) { - align = 'left'; - } - - // 判断左侧是否放得下菜单 - else if (itemLeft > submenuWidth) { - align = 'right'; - } - - // 默认放在右侧 - else { - align = 'left'; - } - - // =================================== - // ======================== 设置菜单位置 - // =================================== - if (position === 'bottom') { - transformOriginY = '0'; - submenuTop = '0'; - } else if (position === 'top') { - transformOriginY = '100%'; - submenuTop = -submenuHeight + itemHeight; - } - - $submenu.css('top', submenuTop + 'px'); - - // =================================== - // ===================== 设置菜单对齐方式 - // =================================== - if (align === 'left') { - transformOriginX = '0'; - submenuLeft = itemWidth; - } else if (align === 'right') { - transformOriginX = '100%'; - submenuLeft = -submenuWidth; - } - - $submenu.css('left', submenuLeft + 'px'); - - // 设置菜单动画方向 - $submenu.transformOrigin(transformOriginX + ' ' + transformOriginY); - }; - - /** - * 打开子菜单 - * @param $submenu - */ - var openSubMenu = function ($submenu) { - readjustSubmenu($submenu); - - $submenu - .addClass('mdui-menu-open') - .parent('.mdui-menu-item') - .addClass('mdui-menu-item-active'); - }; - - /** - * 关闭子菜单,及其嵌套的子菜单 - * @param $submenu - */ - var closeSubMenu = function ($submenu) { - // 关闭子菜单 - $submenu - .removeClass('mdui-menu-open') - .addClass('mdui-menu-closing') - .transitionEnd(function () { - $submenu.removeClass('mdui-menu-closing'); - }) - - // 移除激活状态的样式 - .parent('.mdui-menu-item') - .removeClass('mdui-menu-item-active'); - - // 循环关闭嵌套的子菜单 - $submenu.find('.mdui-menu').each(function () { - var $subSubmenu = $(this); - $subSubmenu - .removeClass('mdui-menu-open') - .addClass('mdui-menu-closing') - .transitionEnd(function () { - $subSubmenu.removeClass('mdui-menu-closing'); - }) - .parent('.mdui-menu-item') - .removeClass('mdui-menu-item-active'); - }); - }; - - /** - * 切换子菜单状态 - * @param $submenu - */ - var toggleSubMenu = function ($submenu) { - if ($submenu.hasClass('mdui-menu-open')) { - closeSubMenu($submenu); - } else { - openSubMenu($submenu); - } - }; - - /** - * 绑定子菜单事件 - * @param inst 实例 - */ - var bindSubMenuEvent = function (inst) { - // 点击打开子菜单 - inst.$menu.on('click', '.mdui-menu-item', function (e) { - var $this = $(this); - var $target = $(e.target); - - // 禁用状态菜单不操作 - if ($this.attr('disabled') !== null) { - return; - } - - // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上) - if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) { - return; - } - - // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡 - if (!$target.parents('.mdui-menu-item').eq(0).is($this)) { - return; - } - - // 当前菜单的子菜单 - var $submenu = $this.children('.mdui-menu'); - - // 先关闭除当前子菜单外的所有同级子菜单 - $this.parent('.mdui-menu').children('.mdui-menu-item').each(function () { - var $tmpSubmenu = $(this).children('.mdui-menu'); - if ( - $tmpSubmenu.length && - (!$submenu.length || !$tmpSubmenu.is($submenu)) - ) { - closeSubMenu($tmpSubmenu); - } - }); - - // 切换当前子菜单 - if ($submenu.length) { - toggleSubMenu($submenu); - } - }); - - if (inst.options.subMenuTrigger === 'hover') { - // 临时存储 setTimeout 对象 - var timeout; - - var timeoutOpen; - var timeoutClose; - - inst.$menu.on('mouseover mouseout', '.mdui-menu-item', function (e) { - var $this = $(this); - var eventType = e.type; - var $relatedTarget = $(e.relatedTarget); - - // 禁用状态的菜单不操作 - if ($this.attr('disabled') !== null) { - return; - } - - // 用 mouseover 模拟 mouseenter - if (eventType === 'mouseover') { - if (!$this.is($relatedTarget) && $.contains($this[0], $relatedTarget[0])) { - return; - } - } - - // 用 mouseout 模拟 mouseleave - else if (eventType === 'mouseout') { - if ($this.is($relatedTarget) || $.contains($this[0], $relatedTarget[0])) { - return; - } - } - - // 当前菜单项下的子菜单,未必存在 - var $submenu = $this.children('.mdui-menu'); - - // 鼠标移入菜单项时,显示菜单项下的子菜单 - if (eventType === 'mouseover') { - if ($submenu.length) { - - // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了 - var tmpClose = $submenu.data('timeoutClose.mdui.menu'); - if (tmpClose) { - clearTimeout(tmpClose); - } - - // 如果当前子菜单已经打开,不操作 - if ($submenu.hasClass('mdui-menu-open')) { - return; - } - - // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了 - clearTimeout(timeoutOpen); - - // 准备打开当前子菜单 - timeout = timeoutOpen = setTimeout(function () { - openSubMenu($submenu); - }, inst.options.subMenuDelay); - - $submenu.data('timeoutOpen.mdui.menu', timeout); - } - } - - // 鼠标移出菜单项时,关闭菜单项下的子菜单 - else if (eventType === 'mouseout') { - if ($submenu.length) { - - // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了 - var tmpOpen = $submenu.data('timeoutOpen.mdui.menu'); - if (tmpOpen) { - clearTimeout(tmpOpen); - } - - // 准备关闭当前子菜单 - timeout = timeoutClose = setTimeout(function () { - closeSubMenu($submenu); - }, inst.options.subMenuDelay); - - $submenu.data('timeoutClose.mdui.menu', timeout); - } - } - }); - } - }; - - /** - * 菜单 - * @param anchorSelector 点击该元素触发菜单 - * @param menuSelector 菜单 - * @param opts 配置项 - * @constructor - */ - function Menu(anchorSelector, menuSelector, opts) { - var _this = this; - - // 触发菜单的元素 - _this.$anchor = $(anchorSelector).eq(0); - if (!_this.$anchor.length) { - return; - } - - // 已通过自定义属性实例化过,不再重复实例化 - var oldInst = _this.$anchor.data('mdui.menu'); - if (oldInst) { - return oldInst; - } - - _this.$menu = $(menuSelector).eq(0); - - // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位 - if (!_this.$anchor.siblings(_this.$menu).length) { - return; - } - - _this.options = $.extend({}, DEFAULT, (opts || {})); - _this.state = 'closed'; - - // 是否是级联菜单 - _this.isCascade = _this.$menu.hasClass('mdui-menu-cascade'); - - // covered 参数处理 - if (_this.options.covered === 'auto') { - _this.isCovered = !_this.isCascade; - } else { - _this.isCovered = _this.options.covered; - } - - // 点击触发菜单切换 - _this.$anchor.on('click', function () { - _this.toggle(); - }); - - // 点击菜单外面区域关闭菜单 - $document.on('click touchstart', function (e) { - var $target = $(e.target); - if ( - (_this.state === 'opening' || _this.state === 'opened') && - !$target.is(_this.$menu) && - !$.contains(_this.$menu[0], $target[0]) && - !$target.is(_this.$anchor) && - !$.contains(_this.$anchor[0], $target[0]) - ) { - _this.close(); - } - }); - - // 点击不含子菜单的菜单条目关闭菜单 - $document.on('click', '.mdui-menu-item', function (e) { - var $this = $(this); - if (!$this.find('.mdui-menu').length && $this.attr('disabled') === null) { - _this.close(); - } - }); - - // 绑定点击或鼠标移入含子菜单的条目的事件 - bindSubMenuEvent(_this); - - // 窗口大小变化时,重新调整菜单位置 - $window.on('resize', $.throttle(function () { - readjust(_this); - }, 100)); - } - - /** - * 切换菜单状态 - */ - Menu.prototype.toggle = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - _this.close(); - } else if (_this.state === 'closing' || _this.state === 'closed') { - _this.open(); - } - }; - - /** - * 动画结束回调 - * @param inst - */ - var transitionEnd = function (inst) { - inst.$menu.removeClass('mdui-menu-closing'); - - if (inst.state === 'opening') { - inst.state = 'opened'; - componentEvent('opened', 'menu', inst, inst.$menu); - } - - if (inst.state === 'closing') { - inst.state = 'closed'; - componentEvent('closed', 'menu', inst, inst.$menu); - - // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位 - inst.$menu.css({ - top: '', - left: '', - width: '', - position: 'fixed', - }); - } - }; - - /** - * 打开菜单 - */ - Menu.prototype.open = function () { - var _this = this; - - if (_this.state === 'opening' || _this.state === 'opened') { - return; - } - - _this.state = 'opening'; - componentEvent('open', 'menu', _this, _this.$menu); - - // 调整菜单位置 - readjust(_this); - - _this.$menu - - // 菜单隐藏状态使用使用 fixed 定位。 - .css('position', _this.options.fixed ? 'fixed' : 'absolute') - - // 打开菜单 - .addClass('mdui-menu-open') - - // 打开动画完成后 - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - /** - * 关闭菜单 - */ - Menu.prototype.close = function () { - var _this = this; - if (_this.state === 'closing' || _this.state === 'closed') { - return; - } - - _this.state = 'closing'; - componentEvent('close', 'menu', _this, _this.$menu); - - // 菜单开始关闭时,关闭所有子菜单 - _this.$menu.find('.mdui-menu').each(function () { - closeSubMenu($(this)); - }); - - _this.$menu - .removeClass('mdui-menu-open') - .addClass('mdui-menu-closing') - .transitionEnd(function () { - transitionEnd(_this); - }); - }; - - return Menu; - })(); - - - /** - * ============================================================================= - * ************ Menu 自定义属性 API ************ - * ============================================================================= - */ - - $(function () { - $document.on('click', '[mdui-menu]', function () { - var $this = $(this); - - var inst = $this.data('mdui.menu'); - if (!inst) { - var options = parseOptions($this.attr('mdui-menu')); - var menuSelector = options.target; - delete options.target; - - inst = new mdui.Menu($this, menuSelector, options); - $this.data('mdui.menu', inst); - - inst.toggle(); - } - }); - }); - - - /* jshint ignore:start */ - mdui.JQ = $; - return mdui; -}))); -/* jshint ignore:end */ diff --git a/libs/mdui/js/mdui.min.js b/libs/mdui/js/mdui.min.js deleted file mode 100644 index 30949e3..0000000 --- a/libs/mdui/js/mdui.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * mdui v0.4.3 (https://mdui.org) - * Copyright 2016-2019 zdhxiong - * Licensed under MIT - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.mdui=e()}(this,function(){"use strict";var a,d={};a=0,window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame,window.cancelAnimationFrame=window.webkitCancelAnimationFrame),window.requestAnimationFrame||(window.requestAnimationFrame=function(t,e){var n=(new Date).getTime(),i=Math.max(0,16.7-(n-a)),o=window.setTimeout(function(){t(n+i)},i);return a=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)});var n,g=function(){var c=function(t){for(var e=0;e"===n[n.length-1]){var i="div";0===n.indexOf(":~]/)?document.querySelectorAll(t):[document.getElementById(t.slice(1))],r=0;r"===t[t.length-1])e=v(t).get();else{var n=document.createElement("div");n.innerHTML=t,e=[].slice.call(n.childNodes)}return 1===a&&e.reverse(),this.each(function(n,i){x(e,function(t,e){o&&0').appendTo(document.body).reflow().css("z-index",t));var n=e.data("overlay-level")||0;return e.data("overlay-level",++n).addClass("mdui-overlay-show")},hideOverlay:function(t){var e=g(".mdui-overlay");if(e.length){var n=t?1:e.data("overlay-level");1i.lastScrollY?"down":"up",n=Math.abs(t-i.lastScrollY)>=i.options.tolerance[e];t>i.lastScrollY&&t>=i.options.offset&&n?i.unpin():(t"};function n(t){this.$table=g(t).eq(0),this.$table.length&&this.init()}n.prototype.init=function(){var t=this;t.$thRow=t.$table.find("thead tr"),t.$tdRows=t.$table.find("tbody tr"),t.$tdCheckboxs=g(),t.selectable=t.$table.hasClass("mdui-table-selectable"),t.selectedRow=0,t._updateThCheckbox(),t._updateTdCheckbox(),t._updateNumericCol()},n.prototype._updateThCheckboxStatus=function(){var t=this,e=t.$thCheckbox[0];e.checked=t.selectedRow===t.$tdRows.length,e.indeterminate=t.selectedRow&&t.selectedRow!==t.$tdRows.length},n.prototype._updateTdCheckbox=function(){var n=this;n.$tdRows.each(function(){var t=g(this);if(t.find(".mdui-table-cell-checkbox").remove(),n.selectable){var e=g(i("td")).prependTo(t).find('input[type="checkbox"]');t.hasClass("mdui-table-row-selected")&&(e[0].checked=!0,n.selectedRow++),n._updateThCheckboxStatus(),e.on("change",function(){e[0].checked?(t.addClass("mdui-table-row-selected"),n.selectedRow++):(t.removeClass("mdui-table-row-selected"),n.selectedRow--),n._updateThCheckboxStatus()}),n.$tdCheckboxs=n.$tdCheckboxs.add(e)}})},n.prototype._updateThCheckbox=function(){var t=this;t.$thRow.find(".mdui-table-cell-checkbox").remove(),t.selectable&&(t.$thCheckbox=g(i("th")).prependTo(t.$thRow).find('input[type="checkbox"]').on("change",function(){var n=t.$thCheckbox[0].checked;t.selectedRow=n?t.$tdRows.length:0,t.$tdCheckboxs.each(function(t,e){e.checked=n}),t.$tdRows.each(function(t,e){g(e)[n?"addClass":"removeClass"]("mdui-table-row-selected")})}))},n.prototype._updateNumericCol=function(){var n,i,o=this;o.$thRow.find("th").each(function(e,t){n=g(t),o.$tdRows.each(function(){i=g(this);var t=n.hasClass("mdui-table-col-numeric")?"addClass":"removeClass";i.find("td").eq(e)[t]("mdui-table-col-numeric")})})},d.mutation(".mdui-table",function(){var t=g(this);t.data("mdui.table")||t.data("mdui.table",new n(t))}),d.updateTables=function(){g(arguments.length?arguments[0]:".mdui-table").each(function(){var t=g(this),e=t.data("mdui.table");e?e.init():t.data("mdui.table",new n(t))})}}(),c={delay:200,show:function(t,e){if(2!==t.button){var n,i=(n="touches"in t&&t.touches.length?t.touches[0]:t).pageX,o=n.pageY,a=e.offset(),s=i-a.left,r=o-a.top,d=e.innerHeight(),c=e.innerWidth(),u=Math.max(Math.pow(Math.pow(d,2)+Math.pow(c,2),.5),48),l="translate3d("+(c/2-s)+"px, "+(d/2-r)+"px, 0) scale(1)";g('
').data("translate",l).prependTo(e).reflow().transform(l)}},hide:function(t,e){var n=g(e||this);n.children(".mdui-ripple-wave").each(function(){!function(t){if(!t.length||t.data("isRemoved"))return;t.data("isRemoved",!0);var e=setTimeout(function(){t.remove()},400),n=t.data("translate");t.addClass("mdui-ripple-wave-fill").transform(n.replace("scale(1)","scale(1.01)")).transitionEnd(function(){clearTimeout(e),t.addClass("mdui-ripple-wave-out").transform(n.replace("scale(1)","scale(1.01)")),e=setTimeout(function(){t.remove()},700),setTimeout(function(){t.transitionEnd(function(){clearTimeout(e),t.remove()})},0)})}(g(this))}),n.off("touchmove touchend touchcancel mousemove mouseup mouseleave",c.hide)}},f.on(r.start,function(e){if(r.isAllow(e)&&(r.register(e),e.target!==document)){var n,t=g(e.target);if((n=t.hasClass("mdui-ripple")?t:t.parents(".mdui-ripple").eq(0)).length){if(n[0].disabled||null!==n.attr("disabled"))return;if("touchstart"===e.type){var i=!1,o=setTimeout(function(){o=null,c.show(e,n)},c.delay),a=function(t){o&&(clearTimeout(o),o=null,c.show(e,n)),i||(i=!0,c.hide(t,n))};n.on("touchmove",function(t){o&&(clearTimeout(o),o=null),a(t)}).on("touchend touchcancel",a)}else c.show(e,n),n.on("touchmove touchend touchcancel mousemove mouseup mouseleave",c.hide)}}}).on(r.unlock,r.register),h=function(t,e){return!("object"!=typeof t||null===t||void 0===t[e]||!t[e])&&t[e]},f.on("input focus blur",".mdui-textfield-input",{useCapture:!0},function(t){var e=t.target,n=g(e),i=t.type,o=n.val(),a=h(t.detail,"reInit"),s=h(t.detail,"domLoadedEvent"),r=n.attr("type")||"";if(!(0<=["checkbox","button","submit","range","radio","image"].indexOf(r))){var d=n.parent(".mdui-textfield");if("focus"===i&&d.addClass("mdui-textfield-focus"),"blur"===i&&d.removeClass("mdui-textfield-focus"),"blur"!==i&&"input"!==i||d[o&&""!==o?"addClass":"removeClass"]("mdui-textfield-not-empty"),d[e.disabled?"addClass":"removeClass"]("mdui-textfield-disabled"),"input"!==i&&"blur"!==i||s||e.validity&&d[e.validity.valid?"removeClass":"addClass"]("mdui-textfield-invalid-html5"),"textarea"===t.target.nodeName.toLowerCase()){var c=n.val(),u=!1;""===c.replace(/[\r\n]/g,"")&&(n.val(" "+c),u=!0),n.height("");var l=n.height(),f=e.scrollHeight;l / '+p+"
").appendTo(d),d.find(".mdui-textfield-counter-inputed").text(o.length.toString())),(d.find(".mdui-textfield-helper").length||d.find(".mdui-textfield-error").length||p)&&d.addClass("mdui-textfield-has-bottom")}}),f.on("click",".mdui-textfield-expandable .mdui-textfield-icon",function(){g(this).parents(".mdui-textfield").addClass("mdui-textfield-expanded").find(".mdui-textfield-input")[0].focus()}),f.on("click",".mdui-textfield-expanded .mdui-textfield-close",function(){g(this).parents(".mdui-textfield").removeClass("mdui-textfield-expanded").find(".mdui-textfield-input").val("")}),d.updateTextFields=function(){g(arguments.length?arguments[0]:".mdui-textfield").each(function(){g(this).find(".mdui-textfield-input").trigger("input",{reInit:!0})})},g(function(){d.mutation(".mdui-textfield",function(){g(this).find(".mdui-textfield-input").trigger("input",{domLoadedEvent:!0})})}),u=function(t){var e=t.data(),n=e.$track,i=e.$fill,o=e.$thumb,a=e.$input,s=e.min,r=e.max,d=e.disabled,c=e.discrete,u=e.$thumbText,l=a.val(),f=(l-s)/(r-s)*100;i.width(f+"%"),n.width(100-f+"%"),d&&(i.css("padding-right","6px"),n.css("padding-left","6px")),o.css("left",f+"%"),c&&u.text(l),t[0===parseFloat(f)?"addClass":"removeClass"]("mdui-slider-zero")},t=function(t){var e=g('
'),n=g('
'),i=g('
'),o=t.find('input[type="range"]'),a=o[0].disabled;t[a?"addClass":"removeClass"]("mdui-slider-disabled"),t.find(".mdui-slider-track").remove(),t.find(".mdui-slider-fill").remove(),t.find(".mdui-slider-thumb").remove(),t.append(e).append(n).append(i);var s,r=t.hasClass("mdui-slider-discrete");r&&(s=g(""),i.empty().append(s)),t.data({$track:e,$fill:n,$thumb:i,$input:o,min:o.attr("min"),max:o.attr("max"),disabled:a,discrete:r,$thumbText:s}),u(t)},e='.mdui-slider input[type="range"]',f.on("input change",e,function(){var t=g(this).parent();u(t)}).on(r.start,e,function(t){r.isAllow(t)&&(r.register(t),this.disabled||g(this).parent().addClass("mdui-slider-focus"))}).on(r.end,e,function(t){r.isAllow(t)&&(this.disabled||g(this).parent().removeClass("mdui-slider-focus"))}).on(r.unlock,e,r.register),d.updateSliders=function(){g(arguments.length?arguments[0]:".mdui-slider").each(function(){t(g(this))})},g(function(){d.mutation(".mdui-slider",function(){t(g(this))})}),d.Fab=function(){var o={trigger:"hover"};function t(t,e){var n=this;if(n.$fab=g(t).eq(0),n.$fab.length){var i=n.$fab.data("mdui.fab");if(i)return i;n.options=g.extend({},o,e||{}),n.state="closed",n.$btn=n.$fab.find(".mdui-fab"),n.$dial=n.$fab.find(".mdui-fab-dial"),n.$dialBtns=n.$dial.find(".mdui-fab"),"hover"===n.options.trigger&&(n.$btn.on("touchstart mouseenter",function(){n.open()}),n.$fab.on("mouseleave",function(){n.close()})),"click"===n.options.trigger&&n.$btn.on(r.start,function(){n.open()}),f.on(r.start,function(t){g(t.target).parents(".mdui-fab-wrapper").length||n.close()})}}return t.prototype.open=function(){var n=this;"opening"!==n.state&&"opened"!==n.state&&(n.$dialBtns.each(function(t,e){e.style["transition-delay"]=e.style["-webkit-transition-delay"]=15*(n.$dialBtns.length-t)+"ms"}),n.$dial.css("height","auto").addClass("mdui-fab-dial-show"),n.$btn.find(".mdui-fab-opened").length&&n.$btn.addClass("mdui-fab-opened"),n.state="opening",p("open","fab",n,n.$fab),n.$dialBtns.eq(0).transitionEnd(function(){n.$btn.hasClass("mdui-fab-opened")&&(n.state="opened",p("opened","fab",n,n.$fab))}))},t.prototype.close=function(){var t=this;"closing"!==t.state&&"closed"!==t.state&&(t.$dialBtns.each(function(t,e){e.style["transition-delay"]=e.style["-webkit-transition-delay"]=15*t+"ms"}),t.$dial.removeClass("mdui-fab-dial-show"),t.$btn.removeClass("mdui-fab-opened"),t.state="closing",p("close","fab",t,t.$fab),t.$dialBtns.eq(-1).transitionEnd(function(){t.$btn.hasClass("mdui-fab-opened")||(t.state="closed",p("closed","fab",t,t.$fab),t.$dial.css("height",0))}))},t.prototype.toggle=function(){var t=this;"opening"===t.state||"opened"===t.state?t.close():"closing"!==t.state&&"closed"!==t.state||t.open()},t.prototype.getState=function(){return this.state},t.prototype.show=function(){this.$fab.removeClass("mdui-fab-hide")},t.prototype.hide=function(){this.$fab.addClass("mdui-fab-hide")},t}(),g(function(){f.on("touchstart mousedown mouseover","[mdui-fab]",function(t){var e=g(this),n=e.data("mdui.fab");if(!n){var i=s(e.attr("mdui-fab"));n=new d.Fab(e,i),e.data("mdui.fab",n)}})}),d.Select=function(){var a={position:"auto",gutter:16};function t(t,e){var n=this,i=n.$selectNative=g(t).eq(0);if(i.length){var o=i.data("mdui.select");if(o)return o;i.hide(),n.options=g.extend({},a,e||{}),n.uniqueID=g.guid(),n.state="closed",n.handleUpdate(),f.on("click touchstart",function(t){var e=g(t.target);"opening"!==n.state&&"opened"!==n.state||e.is(n.$select)||g.contains(n.$select[0],e[0])||n.close()})}}t.prototype.handleUpdate=function(){var i=this;"opening"!==i.state&&"opened"!==i.state||i.close();var n=i.$selectNative;i.value=n.val(),i.text="",i.$items=g(),n.find("option").each(function(t,e){var n={value:e.value,text:e.textContent,disabled:e.disabled,selected:i.value===e.value,index:t};i.value===n.value&&(i.text=n.text,i.selectedIndex=t),i.$items=i.$items.add(g('
"+n.text+"
").data(n))}),i.$selected=g(''+i.text+""),i.$select=g('
').show().append(i.$selected),i.$menu=g('
').appendTo(i.$select).append(i.$items),g("#"+i.uniqueID).remove(),n.after(i.$select),i.size=parseInt(i.$selectNative.attr("size")),(!i.size||i.size<0)&&(i.size=i.$items.length,8').appendTo(n.$tab),n.activeIndex=!1;var o=location.hash;o&&n.$tabs.each(function(t,e){if(g(e).attr("href")===o)return n.activeIndex=t,!1}),!1===n.activeIndex&&n.$tabs.each(function(t,e){if(g(e).hasClass("mdui-tab-active"))return n.activeIndex=t,!1}),n.$tabs.length&&!1===n.activeIndex&&(n.activeIndex=0),n._setActive(),T.on("resize",g.throttle(function(){n._setIndicatorPosition()},100)),n.$tabs.each(function(t,e){n._bindTabEvent(e)})}}return t.prototype._bindTabEvent=function(e){var n=this,i=g(e),t=function(t){s(i)?t.preventDefault():(n.activeIndex=n.$tabs.index(e),n._setActive())};i.on("click",t),"hover"===n.options.trigger&&i.on("mouseenter",t),i.on("click",function(t){0===i.attr("href").indexOf("#")&&t.preventDefault()})},t.prototype._setActive=function(){var o=this;o.$tabs.each(function(t,e){var n=g(e),i=n.attr("href");t!==o.activeIndex||s(n)?(n.removeClass("mdui-tab-active"),g(i).hide()):(n.hasClass("mdui-tab-active")||(p("change","tab",o,o.$tab,{index:o.activeIndex,id:i.substr(1)}),p("show","tab",o,n),n.addClass("mdui-tab-active")),g(i).show(),o._setIndicatorPosition())})},t.prototype._setIndicatorPosition=function(){var t,e,n=this;!1!==n.activeIndex?(t=n.$tabs.eq(n.activeIndex),s(t)||(e=t.offset(),n.$indicator.css({left:e.left+n.$tab[0].scrollLeft-n.$tab[0].getBoundingClientRect().left+"px",width:t.width()+"px"}))):n.$indicator.css({left:0,width:0})},t.prototype.next=function(){var t=this;!1!==t.activeIndex&&(t.$tabs.length>t.activeIndex+1?t.activeIndex++:t.options.loop&&(t.activeIndex=0),t._setActive())},t.prototype.prev=function(){var t=this;!1!==t.activeIndex&&(0',g.each(n.buttons,function(t,e){o+=''+e.text+""}),o+="");var t='
'+(n.title?'
'+n.title+"
":"")+(n.content?'
'+n.content+"
":"")+o+"
",a=new d.Dialog(t,{history:n.history,overlay:n.overlay,modal:n.modal,closeOnEsc:n.closeOnEsc,destroyOnClosed:n.destroyOnClosed});return n.buttons.length&&a.$dialog.find(".mdui-dialog-actions .mdui-btn").each(function(t,e){g(e).on("click",function(){"function"==typeof n.buttons[t].onClick&&n.buttons[t].onClick(a),n.buttons[t].close&&a.close()})}),"function"==typeof n.onOpen&&a.$dialog.on("open.mdui.dialog",function(){n.onOpen(a)}).on("opened.mdui.dialog",function(){n.onOpened(a)}).on("close.mdui.dialog",function(){n.onClose(a)}).on("closed.mdui.dialog",function(){n.onClosed(a)}),a.open(),a},d.alert=function(t,e,n,i){"function"==typeof e&&(e="",n=arguments[1],i=arguments[2]),void 0===n&&(n=function(){}),void 0===i&&(i={});return i=g.extend({},{confirmText:"ok",history:!0,modal:!1,closeOnEsc:!0},i),d.dialog({title:e,content:t,buttons:[{text:i.confirmText,bold:!1,close:!0,onClick:n}],cssClass:"mdui-dialog-alert",history:i.history,modal:i.modal,closeOnEsc:i.closeOnEsc})},d.confirm=function(t,e,n,i,o){"function"==typeof e&&(e="",n=arguments[1],i=arguments[2],o=arguments[3]),void 0===n&&(n=function(){}),void 0===i&&(i=function(){}),void 0===o&&(o={});return o=g.extend({},{confirmText:"ok",cancelText:"cancel",history:!0,modal:!1,closeOnEsc:!0},o),d.dialog({title:e,content:t,buttons:[{text:o.cancelText,bold:!1,close:!0,onClick:i},{text:o.confirmText,bold:!1,close:!0,onClick:n}],cssClass:"mdui-dialog-confirm",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc})},d.prompt=function(t,e,i,n,o){"function"==typeof e&&(e="",i=arguments[1],n=arguments[2],o=arguments[3]),void 0===i&&(i=function(){}),void 0===n&&(n=function(){}),void 0===o&&(o={});var a='
'+(t?'":"")+("text"===(o=g.extend({},{confirmText:"ok",cancelText:"cancel",history:!0,modal:!1,closeOnEsc:!0,type:"text",maxlength:"",defaultValue:"",confirmOnEnter:!1},o)).type?'":"")+("textarea"===o.type?'":"")+"
",s=n;"function"==typeof n&&(s=function(t){var e=t.$dialog.find(".mdui-textfield-input").val();n(e,t)});var r=i;return"function"==typeof i&&(r=function(t){var e=t.$dialog.find(".mdui-textfield-input").val();i(e,t)}),d.dialog({title:e,content:a,buttons:[{text:o.cancelText,bold:!1,close:!0,onClick:s},{text:o.confirmText,bold:!1,close:!0,onClick:r}],cssClass:"mdui-dialog-prompt",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc,onOpen:function(n){var t=n.$dialog.find(".mdui-textfield-input");d.updateTextFields(t),t[0].focus(),"text"===o.type&&!0===o.confirmOnEnter&&t.on("keydown",function(t){if(13===t.keyCode){var e=n.$dialog.find(".mdui-textfield-input").val();i(e,n),n.close()}}),"textarea"===o.type&&t.on("input",function(){n.handleUpdate()}),o.maxlength&&n.handleUpdate()}})},d.Tooltip=function(){var o={position:"auto",delay:0,content:""};function i(t){var e,n,i,o=t.$target[0].getBoundingClientRect(),a=1024'+n.options.content+"").appendTo(document.body),n.$target.on("touchstart mouseenter",function(t){this.disabled||r.isAllow(t)&&(r.register(t),n.open())}).on("touchend mouseleave",function(t){this.disabled||r.isAllow(t)&&n.close()}).on(r.unlock,function(t){this.disabled||r.register(t)})}}var e=function(t){t.$tooltip.hasClass("mdui-tooltip-open")?(t.state="opened",p("opened","tooltip",t,t.$target)):(t.state="closed",p("closed","tooltip",t,t.$target))};return t.prototype._doOpen=function(){var t=this;t.state="opening",p("open","tooltip",t,t.$target),t.$tooltip.addClass("mdui-tooltip-open").transitionEnd(function(){e(t)})},t.prototype.open=function(t){var e=this;if("opening"!==e.state&&"opened"!==e.state){var n=g.extend({},e.options);g.extend(e.options,s(e.$target.attr("mdui-tooltip"))),t&&g.extend(e.options,t),n.content!==e.options.content&&e.$tooltip.html(e.options.content),i(e),e.options.delay?e.timeoutId=setTimeout(function(){e._doOpen()},e.options.delay):(e.timeoutId=!1,e._doOpen())}},t.prototype.close=function(){var t=this;t.timeoutId&&(clearTimeout(t.timeoutId),t.timeoutId=!1),"closing"!==t.state&&"closed"!==t.state&&(t.state="closing",p("close","tooltip",t,t.$target),t.$tooltip.removeClass("mdui-tooltip-open").transitionEnd(function(){e(t)}))},t.prototype.toggle=function(){var t=this;"opening"===t.state||"opened"===t.state?t.close():"closing"!==t.state&&"closed"!==t.state||t.open()},t.prototype.getState=function(){return this.state},t}(),g(function(){f.on("touchstart mouseover","[mdui-tooltip]",function(){var t=g(this),e=t.data("mdui.tooltip");if(!e){var n=s(t.attr("mdui-tooltip"));e=new d.Tooltip(t,n),t.data("mdui.tooltip",e)}})}),function(){var n,i="__md_snackbar",a={timeout:4e3,buttonText:"",buttonColor:"",position:"bottom",closeOnButtonClick:!0,closeOnOutsideClick:!0,onClick:function(){},onButtonClick:function(){},onOpen:function(){},onOpened:function(){},onClose:function(){},onClosed:function(){}},o=function(t){var e=g(t.target);e.hasClass("mdui-snackbar")||e.parents(".mdui-snackbar").length||n.close()};function s(t,e){var n=this;if(n.message=t,n.options=g.extend({},a,e||{}),n.message){n.state="closed",n.timeoutId=!1;var i="",o="";0===n.options.buttonColor.indexOf("#")||0===n.options.buttonColor.indexOf("rgb")?i='style="color:'+n.options.buttonColor+'"':""!==n.options.buttonColor&&(o="mdui-text-color-"+n.options.buttonColor),n.$snackbar=g('
'+n.message+"
"+(n.options.buttonText?'"+n.options.buttonText+"":"")+"
").appendTo(document.body),n._setPosition("close"),n.$snackbar.reflow().addClass("mdui-snackbar-"+n.options.position)}}s.prototype._setPosition=function(t){var e,n,i=this.$snackbar[0].clientHeight,o=this.options.position;e="bottom"===o||"top"===o?"-50%":"0","open"===t?n="0":("bottom"===o&&(n=i),"top"===o&&(n=-i),"left-top"!==o&&"right-top"!==o||(n=-i-24),"left-bottom"!==o&&"right-bottom"!==o||(n=i+24)),this.$snackbar.transform("translate("+e+","+n+"px)")},s.prototype.open=function(){var e=this;e.message&&"opening"!==e.state&&"opened"!==e.state&&(n?l.queue(i,function(){e.open()}):((n=e).state="opening",e.options.onOpen(),e._setPosition("open"),e.$snackbar.transitionEnd(function(){"opening"===e.state&&(e.state="opened",e.options.onOpened(),e.options.buttonText&&e.$snackbar.find(".mdui-snackbar-action").on("click",function(){e.options.onButtonClick(),e.options.closeOnButtonClick&&e.close()}),e.$snackbar.on("click",function(t){g(t.target).hasClass("mdui-snackbar-action")||e.options.onClick()}),e.options.closeOnOutsideClick&&f.on(r.start,o),e.options.timeout&&(e.timeoutId=setTimeout(function(){e.close()},e.options.timeout)))})))},s.prototype.close=function(){var t=this;t.message&&"closing"!==t.state&&"closed"!==t.state&&(t.timeoutId&&clearTimeout(t.timeoutId),t.options.closeOnOutsideClick&&f.off(r.start,o),t.state="closing",t.options.onClose(),t._setPosition("close"),t.$snackbar.transitionEnd(function(){"closing"===t.state&&(n=null,t.state="closed",t.options.onClosed(),t.$snackbar.remove(),l.dequeue(i))}))},d.snackbar=function(t,e){"string"!=typeof t&&(t=(e=t).message);var n=new s(t,e);return n.open(),n}}(),f.on("click",".mdui-bottom-nav>a",function(){var n,i=g(this),o=i.parent();o.children("a").each(function(t,e){(n=i.is(e))&&p("change","bottomNav",null,o,{index:t}),g(e)[n?"addClass":"removeClass"]("mdui-bottom-nav-active")})}),d.mutation(".mdui-bottom-nav-scroll-hide",function(){var t=g(this),e=new d.Headroom(t,{pinnedClass:"mdui-headroom-pinned-down",unpinnedClass:"mdui-headroom-unpinned-down"});t.data("mdui.headroom",e)}),o=function(){var t=!!arguments.length&&arguments[0];return'
'},m=function(t){var e,n=g(t);e=n.hasClass("mdui-spinner-colorful")?o("1")+o("2")+o("3")+o("4"):o(),n.html(e)},g(function(){d.mutation(".mdui-spinner",function(){m(this)})}),d.updateSpinners=function(){g(arguments.length?arguments[0]:".mdui-spinner").each(function(){m(this)})},d.Panel=function(t,e){return new v(t,e,"panel")},g(function(){d.mutation("[mdui-panel]",function(){var t=g(this),e=t.data("mdui.panel");if(!e){var n=s(t.attr("mdui-panel"));e=new d.Panel(t,n),t.data("mdui.panel",e)}})}),d.Menu=function(){var a={position:"auto",align:"auto",gutter:16,fixed:!1,covered:"auto",subMenuTrigger:"hover",subMenuDelay:200},s=function(t){var e,n,i,o,a,s,r=T.height(),d=T.width(),c=t.options.gutter,u=t.isCovered,l=t.options.fixed,f=t.$menu.width(),p=t.$menu.height(),h=t.$anchor,m=h[0].getBoundingClientRect(),v=m.top,g=m.left,b=m.height,x=m.width,y=r-v-b,w=d-g-x,$=h[0].offsetTop,C=h[0].offsetLeft;if(i="auto"===t.options.position?p+c') {\n // 创建 HTML 字符串\n var toCreate = 'div';\n\n if (html.indexOf(':~]/)\n ? [document.getElementById(selector.slice(1))]\n : document.querySelectorAll(selector);\n\n for (var i$1 = 0; i$1 < elems.length; i$1 += 1) {\n if (elems[i$1]) {\n arr.push(elems[i$1]);\n }\n }\n }\n } else if (typeof selector === 'function') {\n // function\n return $(document).ready(selector);\n } else if (selector.nodeType || selector === window || selector === document) {\n // Node\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // NodeList\n for (var i$2 = 0; i$2 < selector.length; i$2 += 1) {\n arr.push(selector[i$2]);\n }\n }\n\n return new JQ(arr);\n }\n\n $.fn = JQ.prototype;\n\n function extend() {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (!args.length) {\n return this;\n }\n\n // $.extend(obj)\n if (args.length === 1) {\n Object.keys(args[0]).forEach(function (prop) {\n this$1[prop] = args[0][prop];\n });\n\n return this;\n }\n\n // $.extend({}, defaults[, obj])\n var target = args.shift();\n\n var loop = function ( i ) {\n Object.keys(args[i]).forEach(function (prop) {\n target[prop] = args[i][prop];\n });\n };\n\n for (var i = 0; i < args.length; i += 1) loop( i );\n\n return target;\n }\n\n $.fn.extend = extend;\n $.extend = extend;\n\n /**\n * 判断一个节点名\n * @param ele\n * @param name\n * @returns {boolean}\n */\n function isNodeName(ele, name) {\n return ele.nodeName && ele.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n /**\n * 除去 null 后的 object 类型\n * @param obj\n * @returns {*|boolean}\n */\n function isObjectLike(obj) {\n return typeof obj === 'object' && obj !== null;\n }\n\n function isFunction(fn) {\n return typeof fn === 'function';\n }\n\n function isString(obj) {\n return typeof obj === 'string';\n }\n\n function isWindow(win) {\n return win && win === win.window;\n }\n\n function isDocument(doc) {\n return doc && doc.nodeType === doc.DOCUMENT_NODE;\n }\n\n function isArrayLike(obj) {\n return typeof obj.length === 'number';\n }\n\n /**\n * 循环数组或对象\n * @param obj\n * @param callback\n * @returns {*}\n */\n function each(obj, callback) {\n if (isArrayLike(obj)) {\n for (var i = 0; i < obj.length; i += 1) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n return obj;\n }\n }\n } else {\n var keys = Object.keys(obj);\n for (var i$1 = 0; i$1 < keys.length; i$1 += 1) {\n if (callback.call(obj[keys[i$1]], keys[i$1], obj[keys[i$1]]) === false) {\n return obj;\n }\n }\n }\n\n return obj;\n }\n\n /**\n * 遍历数组或对象,通过函数返回一个新的数组或对象,null 和 undefined 将被过滤掉。\n * @param elems\n * @param callback\n * @returns {Array}\n */\n function map(elems, callback) {\n var ref;\n\n var value;\n var ret = [];\n\n each(elems, function (i, elem) {\n value = callback(elem, i);\n\n if (value !== null && value !== undefined) {\n ret.push(value);\n }\n });\n\n return (ref = []).concat.apply(ref, ret);\n }\n\n /**\n * 把对象合并到第一个参数中,并返回第一个参数\n * @param first\n * @param second\n * @returns {*}\n */\n function merge(first, second) {\n each(second, function (i, val) {\n first.push(val);\n });\n\n return first;\n }\n\n /**\n * 删除数组中重复元素\n * @param arr {Array}\n * @returns {Array}\n */\n function unique(arr) {\n var result = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (result.indexOf(arr[i]) === -1) {\n result.push(arr[i]);\n }\n }\n\n return result;\n }\n\n var elementDisplay = {};\n\n /**\n * 获取元素的默认 display 样式值,用于 .show() 方法\n * @param nodeName\n * @returns {*}\n */\n function defaultDisplay(nodeName) {\n var element;\n var display;\n\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getComputedStyle(element, '').getPropertyValue('display');\n element.parentNode.removeChild(element);\n if (display === 'none') {\n display = 'block';\n }\n\n elementDisplay[nodeName] = display;\n }\n\n return elementDisplay[nodeName];\n }\n\n $.extend({\n each: each,\n merge: merge,\n unique: unique,\n map: map,\n\n /**\n * 一个 DOM 节点是否包含另一个 DOM 节点\n * @param parent {Node} 父节点\n * @param node {Node} 子节点\n * @returns {Boolean}\n */\n contains: function contains(parent, node) {\n if (parent && !node) {\n return document.documentElement.contains(parent);\n }\n\n return parent !== node && parent.contains(node);\n },\n\n /**\n * 将数组或对象序列化\n * @param obj\n * @returns {String}\n */\n param: function param(obj) {\n if (!isObjectLike(obj)) {\n return '';\n }\n\n var args = [];\n\n function destructure(key, value) {\n var keyTmp;\n\n if (isObjectLike(value)) {\n each(value, function (i, v) {\n if (Array.isArray(value) && !isObjectLike(v)) {\n keyTmp = '';\n } else {\n keyTmp = i;\n }\n\n destructure((key + \"[\" + keyTmp + \"]\"), v);\n });\n } else {\n if (value !== null && value !== '') {\n keyTmp = \"=\" + (encodeURIComponent(value));\n } else {\n keyTmp = '';\n }\n\n args.push(encodeURIComponent(key) + keyTmp);\n }\n }\n\n each(obj, function (key, value) {\n destructure(key, value);\n });\n\n return args.join('&');\n },\n });\n\n $.fn.extend({\n /**\n * 遍历对象\n * @param callback {Function}\n * @return {JQ}\n */\n each: function each$1(callback) {\n return each(this, callback);\n },\n\n /**\n * 通过遍历集合中的节点对象,通过函数返回一个新的对象,null 或 undefined 将被过滤掉。\n * @param callback {Function}\n * @returns {JQ}\n */\n map: function map$1(callback) {\n return new JQ(map(this, function (el, i) { return callback.call(el, i, el); }));\n },\n\n /**\n * 获取指定 DOM 元素,没有 index 参数时,获取所有 DOM 的数组\n * @param index {Number=}\n * @returns {Node|Array}\n */\n get: function get(index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n },\n\n /**\n * array中提取的方法。从start开始,如果end 指出。提取不包含end位置的元素。\n * @param args {start, end}\n * @returns {JQ}\n */\n slice: function slice() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new JQ([].slice.apply(this, args));\n },\n\n /**\n * 筛选元素集合\n * @param selector {String|JQ|Node|Function}\n * @returns {JQ}\n */\n filter: function filter(selector) {\n if (isFunction(selector)) {\n return this.map(function (index, ele) { return (selector.call(ele, index, ele) ? ele : undefined); });\n }\n\n var $selector = $(selector);\n\n return this.map(function (index, ele) { return ($selector.index(ele) > -1 ? ele : undefined); });\n },\n\n /**\n * 从元素集合中删除指定的元素\n * @param selector {String|Node|JQ|Function}\n * @return {JQ}\n */\n not: function not(selector) {\n var $excludes = this.filter(selector);\n\n return this.map(function (index, ele) { return ($excludes.index(ele) > -1 ? undefined : ele); });\n },\n\n /**\n * 获取元素相对于 document 的偏移\n * @returns {Object}\n */\n offset: function offset() {\n if (this[0]) {\n var offset = this[0].getBoundingClientRect();\n\n return {\n left: offset.left + window.pageXOffset,\n top: offset.top + window.pageYOffset,\n width: offset.width,\n height: offset.height,\n };\n }\n\n return null;\n },\n\n /**\n * 返回最近的用于定位的父元素\n * @returns {*|JQ}\n */\n offsetParent: function offsetParent() {\n return this.map(function () {\n var parent = this.offsetParent;\n\n while (parent && $(parent).css('position') === 'static') {\n parent = parent.offsetParent;\n }\n\n return parent || document.documentElement;\n });\n },\n\n /**\n * 获取元素相对于父元素的偏移\n * @return {Object}\n */\n position: function position() {\n var self = this;\n\n if (!self[0]) {\n return null;\n }\n\n var offsetParent;\n var offset;\n var parentOffset = {\n top: 0,\n left: 0,\n };\n\n if (self.css('position') === 'fixed') {\n offset = self[0].getBoundingClientRect();\n } else {\n offsetParent = self.offsetParent();\n offset = self.offset();\n if (!isNodeName(offsetParent[0], 'html')) {\n parentOffset = offsetParent.offset();\n }\n\n parentOffset = {\n top: parentOffset.top + offsetParent.css('borderTopWidth'),\n left: parentOffset.left + offsetParent.css('borderLeftWidth'),\n };\n }\n\n return {\n top: offset.top - parentOffset.top - self.css('marginTop'),\n left: offset.left - parentOffset.left - self.css('marginLeft'),\n width: offset.width,\n height: offset.height,\n };\n },\n\n /**\n * 显示指定元素\n * @returns {JQ}\n */\n show: function show() {\n return this.each(function () {\n if (this.style.display === 'none') {\n this.style.display = '';\n }\n\n if (window.getComputedStyle(this, '').getPropertyValue('display') === 'none') {\n this.style.display = defaultDisplay(this.nodeName);\n }\n });\n },\n\n /**\n * 隐藏指定元素\n * @returns {JQ}\n */\n hide: function hide() {\n return this.each(function () {\n this.style.display = 'none';\n });\n },\n\n /**\n * 切换元素的显示状态\n * @returns {JQ}\n */\n toggle: function toggle() {\n return this.each(function () {\n this.style.display = this.style.display === 'none' ? '' : 'none';\n });\n },\n\n /**\n * 是否含有指定的 CSS 类\n * @param className {String}\n * @returns {boolean}\n */\n hasClass: function hasClass(className) {\n if (!this[0] || !className) {\n return false;\n }\n\n return this[0].classList.contains(className);\n },\n\n /**\n * 移除指定属性\n * @param attr {String}\n * @returns {JQ}\n */\n removeAttr: function removeAttr(attr) {\n return this.each(function () {\n this.removeAttribute(attr);\n });\n },\n\n /**\n * 删除属性值\n * @param name {String}\n * @returns {JQ}\n */\n removeProp: function removeProp(name) {\n return this.each(function () {\n try {\n delete this[name];\n } catch (e) {\n // empty\n }\n });\n },\n\n /**\n * 获取当前对象中第n个元素\n * @param index {Number}\n * @returns {JQ}\n */\n eq: function eq(index) {\n var ret = index === -1\n ? this.slice(index)\n : this.slice(index, +index + 1);\n\n return new JQ(ret);\n },\n\n /**\n * 获取对象中第一个元素\n * @returns {JQ}\n */\n first: function first() {\n return this.eq(0);\n },\n\n /**\n * 获取对象中最后一个元素\n * @returns {JQ}\n */\n last: function last() {\n return this.eq(-1);\n },\n\n /**\n * 获取一个元素的位置。\n * 当 elem 参数没有给出时,返回当前元素在兄弟节点中的位置。\n * 有给出了 elem 参数时,返回 elem 元素在当前对象中的位置\n * @param elem {Selector|Node=}\n * @returns {Number}\n */\n index: function index(elem) {\n if (!elem) {\n // 获取当前 JQ 对象的第一个元素在同辈元素中的位置\n return this\n .eq(0)\n .parent()\n .children()\n .get()\n .indexOf(this[0]);\n }\n\n if (isString(elem)) {\n // 返回当前 JQ 对象的第一个元素在指定选择器对应的元素中的位置\n return $(elem)\n .eq(0)\n .parent()\n .children()\n .get()\n .indexOf(this[0]);\n }\n\n // 返回指定元素在当前 JQ 对象中的位置\n return this\n .get()\n .indexOf(elem);\n },\n\n /**\n * 根据选择器、DOM元素或 JQ 对象来检测匹配元素集合,\n * 如果其中至少有一个元素符合这个给定的表达式就返回true\n * @param selector {String|Node|NodeList|Array|JQ|Window}\n * @returns boolean\n */\n is: function is(selector) {\n var self = this[0];\n\n if (!self || selector === undefined || selector === null) {\n return false;\n }\n\n if (isString(selector)) {\n if (self === document || self === window) {\n return false;\n }\n\n var matchesSelector = self.matches\n || self.matchesSelector\n || self.webkitMatchesSelector\n || self.mozMatchesSelector\n || self.oMatchesSelector\n || self.msMatchesSelector;\n\n return matchesSelector.call(self, selector);\n }\n\n if (selector === document || selector === window) {\n return self === selector;\n }\n\n if (selector.nodeType || isArrayLike(selector)) {\n var $compareWith = selector.nodeType ? [selector] : selector;\n\n for (var i = 0; i < $compareWith.length; i += 1) {\n if ($compareWith[i] === self) {\n return true;\n }\n }\n\n return false;\n }\n\n return false;\n },\n\n /**\n * 根据 CSS 选择器找到后代节点的集合\n * @param selector {String}\n * @returns {JQ}\n */\n find: function find(selector) {\n var foundElements = [];\n\n this.each(function (i, _this) {\n var nodeType = _this.nodeType;\n\n if (nodeType !== 1 && nodeType !== 9) {\n // 不是 element 和 document 则跳过\n return;\n }\n\n merge(foundElements, _this.querySelectorAll(selector));\n });\n\n return new JQ(foundElements);\n },\n\n /**\n * 找到直接子元素的元素集合\n * @param selector {String=}\n * @returns {JQ}\n */\n children: function children(selector) {\n var children = [];\n\n this.each(function (_, _this) {\n each(_this.childNodes, function (__, childNode) {\n if (childNode.nodeType !== 1) {\n return;\n }\n\n if (!selector || (selector && $(childNode).is(selector))) {\n children.push(childNode);\n }\n });\n });\n\n return new JQ(unique(children));\n },\n\n /**\n * 保留含有指定子元素的元素,去掉不含有指定子元素的元素\n * @param selector {String|Node|JQ|NodeList|Array}\n * @return {JQ}\n */\n has: function has(selector) {\n var $targets = isString(selector) ? this.find(selector) : $(selector);\n var length = $targets.length;\n\n return this.filter(function () {\n for (var i = 0; i < length; i += 1) {\n if ($.contains(this, $targets[i])) {\n return true;\n }\n }\n\n return false;\n });\n },\n\n /**\n * 取得同辈元素的集合\n * @param selector {String=}\n * @returns {JQ}\n */\n siblings: function siblings(selector) {\n return this.prevAll(selector).add(this.nextAll(selector));\n },\n\n /**\n * 返回首先匹配到的父节点,包含父节点\n * @param selector {String}\n * @returns {JQ}\n */\n closest: function closest(selector) {\n var self = this;\n\n if (!self.is(selector)) {\n self = self.parents(selector).eq(0);\n }\n\n return self;\n },\n\n /**\n * 删除所有匹配的元素\n * @returns {JQ}\n */\n remove: function remove() {\n return this.each(function (i, _this) {\n if (_this.parentNode) {\n _this.parentNode.removeChild(_this);\n }\n });\n },\n\n /**\n * 添加匹配的元素到当前对象中\n * @param selector {String|JQ}\n * @returns {JQ}\n */\n add: function add(selector) {\n return new JQ(unique(merge(this.get(), $(selector))));\n },\n\n /**\n * 删除子节点\n * @returns {JQ}\n */\n empty: function empty() {\n return this.each(function () {\n this.innerHTML = '';\n });\n },\n\n /**\n * 通过深度克隆来复制集合中的所有元素。\n * (通过原生 cloneNode 方法深度克隆来复制集合中的所有元素。此方法不会有数据和事件处理程序复制到新的元素。这点和jquery中利用一个参数来确定是否复制数据和事件处理不相同。)\n * @returns {JQ}\n */\n clone: function clone() {\n return this.map(function () {\n return this.cloneNode(true);\n });\n },\n\n /**\n * 用新元素替换当前元素\n * @param newContent {String|Node|NodeList|JQ}\n * @returns {JQ}\n */\n replaceWith: function replaceWith(newContent) {\n return this.before(newContent).remove();\n },\n\n /**\n * 将表单元素的值组合成键值对数组\n * @returns {Array}\n */\n serializeArray: function serializeArray() {\n var result = [];\n var elem = this[0];\n\n if (!elem || !elem.elements) {\n return result;\n }\n\n $([].slice.call(elem.elements)).each(function () {\n var $elem = $(this);\n var type = $elem.attr('type');\n if (\n this.nodeName.toLowerCase() !== 'fieldset'\n && !this.disabled\n && ['submit', 'reset', 'button'].indexOf(type) === -1\n && (['radio', 'checkbox'].indexOf(type) === -1 || this.checked)\n ) {\n result.push({\n name: $elem.attr('name'),\n value: $elem.val(),\n });\n }\n });\n\n return result;\n },\n\n /**\n * 将表单元素或对象序列化\n * @returns {String}\n */\n serialize: function serialize() {\n var result = [];\n\n each(this.serializeArray(), function (i, elem) {\n result.push(((encodeURIComponent(elem.name)) + \"=\" + (encodeURIComponent(elem.value))));\n });\n\n return result.join('&');\n },\n });\n\n /**\n * val - 获取或设置元素的值\n * @param value {String=}\n * @return {*|JQ}\n */\n /**\n * html - 获取或设置元素的 HTML\n * @param value {String=}\n * @return {*|JQ}\n */\n /**\n * text - 获取或设置元素的内容\n * @param value {String=}\n * @return {*|JQ}\n */\n each(['val', 'html', 'text'], function (nameIndex, name) {\n var props = {\n 0: 'value',\n 1: 'innerHTML',\n 2: 'textContent',\n };\n\n var defaults = {\n 0: undefined,\n 1: undefined,\n 2: null,\n };\n\n $.fn[name] = function (value) {\n if (value === undefined) {\n // 获取值\n return this[0] ? this[0][props[nameIndex]] : defaults[nameIndex];\n }\n\n // 设置值\n return this.each(function (i, elem) {\n elem[props[nameIndex]] = value;\n });\n };\n });\n\n /**\n * attr - 获取或设置元素的属性值\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n /**\n * prop - 获取或设置元素的属性值\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n /**\n * css - 获取或设置元素的样式\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n each(['attr', 'prop', 'css'], function (nameIndex, name) {\n function set(elem, key, value) {\n if (nameIndex === 0) {\n elem.setAttribute(key, value);\n } else if (nameIndex === 1) {\n elem[key] = value;\n } else {\n elem.style[key] = value;\n }\n }\n\n function get(elem, key) {\n if (!elem) {\n return undefined;\n }\n\n if (nameIndex === 0) {\n return elem.getAttribute(key);\n }\n\n if (nameIndex === 1) {\n return elem[key];\n }\n\n return window.getComputedStyle(elem, null).getPropertyValue(key);\n }\n\n $.fn[name] = function (key, value) {\n var argLength = arguments.length;\n\n if (argLength === 1 && isString(key)) {\n // 获取值\n return get(this[0], key);\n }\n\n // 设置值\n return this.each(function (i, elem) {\n if (argLength === 2) {\n set(elem, key, value);\n } else {\n each(key, function (k, v) {\n set(elem, k, v);\n });\n }\n });\n };\n });\n\n /**\n * addClass - 添加 CSS 类,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n /**\n * removeClass - 移除 CSS 类,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n /**\n * toggleClass - 切换 CSS 类名,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n each(['add', 'remove', 'toggle'], function (nameIndex, name) {\n $.fn[(name + \"Class\")] = function (className) {\n if (!className) {\n return this;\n }\n\n var classes = className.split(' ');\n\n return this.each(function (i, elem) {\n each(classes, function (j, cls) {\n elem.classList[name](cls);\n });\n });\n };\n });\n\n /**\n * width - 获取元素的宽度\n * @return {Number}\n */\n /**\n * height - 获取元素的高度\n * @return {Number}\n */\n each({\n Width: 'width',\n Height: 'height',\n }, function (prop, name) {\n $.fn[name] = function (val) {\n if (val === undefined) {\n // 获取\n var elem = this[0];\n\n if (isWindow(elem)) {\n return elem[(\"inner\" + prop)];\n }\n\n if (isDocument(elem)) {\n return elem.documentElement[(\"scroll\" + prop)];\n }\n\n var $elem = $(elem);\n\n // IE10、IE11 在 box-sizing:border-box 时,不会包含 padding 和 border,这里进行修复\n var IEFixValue = 0;\n var isWidth = name === 'width';\n if ('ActiveXObject' in window) { // 判断是 IE 浏览器\n if ($elem.css('box-sizing') === 'border-box') {\n IEFixValue = parseFloat($elem.css((\"padding-\" + (isWidth ? 'left' : 'top'))))\n + parseFloat($elem.css((\"padding-\" + ((isWidth ? 'right' : 'bottom')))))\n + parseFloat($elem.css((\"border-\" + (isWidth ? 'left' : 'top') + \"-width\")))\n + parseFloat($elem.css((\"border-\" + (isWidth ? 'right' : 'bottom') + \"-width\")));\n }\n }\n\n return parseFloat($(elem).css(name)) + IEFixValue;\n }\n\n // 设置\n /* eslint no-restricted-globals: 0 */\n if (!isNaN(Number(val)) && val !== '') {\n val += 'px';\n }\n\n return this.css(name, val);\n };\n });\n\n /**\n * innerWidth - 获取元素的宽度,包含内边距\n * @return {Number}\n */\n /**\n * innerHeight - 获取元素的高度,包含内边距\n * @return {Number}\n */\n each({\n Width: 'width',\n Height: 'height',\n }, function (prop, name) {\n $.fn[(\"inner\" + prop)] = function () {\n var value = this[name]();\n var $elem = $(this[0]);\n\n if ($elem.css('box-sizing') !== 'border-box') {\n value += parseFloat($elem.css((\"padding-\" + (name === 'width' ? 'left' : 'top'))));\n value += parseFloat($elem.css((\"padding-\" + (name === 'width' ? 'right' : 'bottom'))));\n }\n\n return value;\n };\n });\n\n function dir(nodes, selector, nameIndex, node) {\n var ret = [];\n var elem;\n\n nodes.each(function (j, _this) {\n elem = _this[node];\n while (elem) {\n if (nameIndex === 2) {\n // prevUntil\n if (!selector || (selector && $(elem).is(selector))) {\n break;\n }\n\n ret.push(elem);\n } else if (nameIndex === 0) {\n // prev\n if (!selector || (selector && $(elem).is(selector))) {\n ret.push(elem);\n }\n\n break;\n } else if (!selector || (selector && $(elem).is(selector))) {\n // prevAll\n ret.push(elem);\n }\n\n elem = elem[node];\n }\n });\n\n return new JQ(unique(ret));\n }\n\n /**\n * prev - 取得前一个匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * prevAll - 取得前面所有匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * prevUntil - 取得前面的所有元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 'All', 'Until'], function (nameIndex, name) {\n $.fn[(\"prev\" + name)] = function (selector) {\n // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致\n var $nodes = nameIndex === 0 ? this : $(this.get().reverse());\n\n return dir($nodes, selector, nameIndex, 'previousElementSibling');\n };\n });\n\n /**\n * next - 取得后一个匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * nextAll - 取得后面所有匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * nextUntil - 取得后面所有匹配的元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 'All', 'Until'], function (nameIndex, name) {\n $.fn[(\"next\" + name)] = function (selector) {\n return dir(this, selector, nameIndex, 'nextElementSibling');\n };\n });\n\n /**\n * parent - 取得匹配的直接父元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * parents - 取得所有匹配的父元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * parentUntil - 取得所有的父元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 's', 'sUntil'], function (nameIndex, name) {\n $.fn[(\"parent\" + name)] = function (selector) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n var $nodes = nameIndex === 0 ? this : $(this.get().reverse());\n\n return dir($nodes, selector, nameIndex, 'parentNode');\n };\n });\n\n /**\n * append - 在元素内部追加内容\n * @param newChild {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * prepend - 在元素内部前置内容\n * @param newChild {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each(['append', 'prepend'], function (nameIndex, name) {\n $.fn[name] = function (newChild) {\n var newChilds;\n var copyByClone = this.length > 1;\n\n if (isString(newChild) && (newChild[0] !== '<' || newChild[newChild.length - 1] !== '>')) {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n newChilds = [].slice.call(tempDiv.childNodes);\n } else {\n newChilds = $(newChild).get();\n }\n\n if (nameIndex === 1) {\n // prepend\n newChilds.reverse();\n }\n\n return this.each(function (i, _this) {\n each(newChilds, function (j, child) {\n // 一个元素要同时追加到多个元素中,需要先复制一份,然后追加\n if (copyByClone && i > 0) {\n child = child.cloneNode(true);\n }\n\n if (nameIndex === 0) {\n // append\n _this.appendChild(child);\n } else {\n // prepend\n _this.insertBefore(child, _this.childNodes[0]);\n }\n });\n });\n };\n });\n\n /**\n * insertBefore - 插入到指定元素的前面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * insertAfter - 插入到指定元素的后面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each(['insertBefore', 'insertAfter'], function (nameIndex, name) {\n $.fn[name] = function (selector) {\n var $elem = $(selector);\n\n return this.each(function (i, _this) {\n $elem.each(function (j, elem) {\n elem.parentNode.insertBefore(\n $elem.length === 1 ? _this : _this.cloneNode(true),\n nameIndex === 0 ? elem : elem.nextSibling\n );\n });\n });\n };\n });\n\n /**\n * appendTo - 追加到指定元素内容\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * prependTo - 前置到指定元素内部\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * before - 插入到指定元素前面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * after - 插入到指定元素后面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * replaceAll - 替换掉指定元素\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each({\n appendTo: 'append',\n prependTo: 'prepend',\n before: 'insertBefore',\n after: 'insertAfter',\n replaceAll: 'replaceWith',\n }, function (name, original) {\n $.fn[name] = function (selector) {\n $(selector)[original](this);\n return this;\n };\n });\n\n var dataNS = 'mduiElementDataStorage';\n\n $.extend({\n /**\n * 在指定元素上存储数据,或从指定元素上读取数据\n * @param elem 必须, DOM 元素\n * @param key 必须,键名\n * @param value 可选,值\n */\n data: function data(elem, key, value) {\n var data = {};\n\n if (value !== undefined) {\n // 根据 key、value 设置值\n data[key] = value;\n } else if (isObjectLike(key)) {\n // 根据键值对设置值\n data = key;\n } else if (key === undefined) {\n // 获取所有值\n var result = {};\n\n each(elem.attributes, function (i, attribute) {\n var name = attribute.name;\n\n if (name.indexOf('data-') === 0) {\n var prop = name.slice(5).replace(/-./g, function (u) { return u.charAt(1).toUpperCase(); });\n\n result[prop] = attribute.value;\n }\n });\n\n if (elem[dataNS]) {\n each(elem[dataNS], function (k, v) {\n result[k] = v;\n });\n }\n\n return result;\n } else if (elem[dataNS] && (key in elem[dataNS])) {\n // 获取指定值\n return elem[dataNS][key];\n } else {\n // 从 data- 中获取指定值\n var dataKey = elem.getAttribute((\"data-\" + key));\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n }\n\n // 设置值\n if (!elem[dataNS]) {\n elem[dataNS] = {};\n }\n\n each(data, function (k, v) {\n elem[dataNS][k] = v;\n });\n\n return undefined;\n },\n\n /**\n * 移除指定元素上存放的数据\n * @param elem 必须,DOM 元素\n * @param key 必须,键名\n */\n removeData: function removeData(elem, key) {\n if (elem[dataNS] && elem[dataNS][key]) {\n elem[dataNS][key] = null;\n delete elem[dataNS][key];\n }\n },\n });\n\n $.fn.extend({\n /**\n * 在元素上读取或设置数据\n * @param key 必须\n * @param value\n * @returns {*}\n */\n data: function data(key, value) {\n if (value === undefined) {\n if (isObjectLike(key)) {\n // 同时设置多个值\n return this.each(function (i, elem) {\n $.data(elem, key);\n });\n }\n\n if (this[0]) {\n // 获取值\n return $.data(this[0], key);\n }\n\n return undefined;\n }\n\n // 设置值\n return this.each(function (i, elem) {\n $.data(elem, key, value);\n });\n },\n\n /**\n * 移除元素上存储的数据\n * @param key 必须\n * @returns {*}\n */\n removeData: function removeData(key) {\n return this.each(function (i, elem) {\n $.removeData(elem, key);\n });\n },\n });\n\n !function(){try{return new e(\"test\")}catch(e){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent(\"MouseEvent\");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n};e.prototype=Event.prototype,window.MouseEvent=e;}();\n\n !function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}\"function\"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t);}();\n\n // 存储事件\n var handlers = {\n // i: { // 元素ID\n // j: { // 事件ID\n // e: 事件名\n // fn: 事件处理函数\n // i: 事件ID\n // proxy:\n // sel: 选择器\n // }\n // }\n };\n\n // 元素ID\n var mduiElementId = 1;\n\n function fnFalse() {\n return false;\n }\n\n /**\n * 为元素赋予一个唯一的ID\n * @param element\n * @returns {number|*}\n */\n function getElementId(element) {\n if (!element.mduiElementId) {\n mduiElementId += 1;\n element.mduiElementId = mduiElementId;\n }\n\n return element.mduiElementId;\n }\n\n /**\n * 获取匹配的事件\n * @param element\n * @param eventName\n * @param func\n * @param selector\n * @returns {Array}\n */\n function getHandlers(element, eventName, func, selector) {\n return (handlers[getElementId(element)] || []).filter(function (handler) { return handler\n && (!eventName || handler.e === eventName)\n && (!func || handler.fn.toString() === func.toString())\n && (!selector || handler.sel === selector); });\n }\n\n /**\n * 添加事件监听\n * @param element\n * @param eventName\n * @param func\n * @param data\n * @param selector\n */\n function add(element, eventName, func, data, selector) {\n var elementId = getElementId(element);\n\n if (!handlers[elementId]) {\n handlers[elementId] = [];\n }\n\n // 传入 data.useCapture 来设置 useCapture: true\n var useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n\n eventName.split(' ').forEach(function (event) {\n var handler = {\n e: event,\n fn: func,\n sel: selector,\n i: handlers[elementId].length,\n };\n\n function callFn(e, elem) {\n // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数\n /* eslint no-underscore-dangle: 0 */\n var result = func.apply(elem, e._detail === undefined ? [e] : [e].concat(e._detail));\n\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n function proxyfn(e) {\n e._data = data;\n\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach(function (elem) {\n if (elem === e.target || $.contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n } else {\n // 不使用事件代理\n callFn(e, element);\n }\n }\n\n handler.proxy = proxyfn;\n handlers[elementId].push(handler);\n element.addEventListener(handler.e, proxyfn, useCapture);\n });\n }\n\n /**\n * 移除事件监听\n * @param element\n * @param eventName\n * @param func\n * @param selector\n */\n function remove(element, eventName, func, selector) {\n (eventName || '').split(' ').forEach(function (event) {\n getHandlers(element, event, func, selector).forEach(function (handler) {\n delete handlers[getElementId(element)][handler.i];\n element.removeEventListener(handler.e, handler.proxy, false);\n });\n });\n }\n\n $.fn.extend({\n /**\n * DOM 加载完毕后调用的函数\n * @param callback\n * @returns {ready}\n */\n ready: function ready(callback) {\n if (/complete|loaded|interactive/.test(document.readyState) && document.body) {\n callback($);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n callback($);\n }, false);\n }\n\n return this;\n },\n\n /**\n * 绑定事件\n *\n * $().on({eventName: fn}, selector, data);\n * $().on({eventName: fn}, selector)\n * $().on({eventName: fn})\n * $().on(eventName, selector, data, fn);\n * $().on(eventName, selector, fn);\n * $().on(eventName, data, fn);\n * $().on(eventName, fn);\n * $().on(eventName, false);\n *\n * @param eventName\n * @param selector\n * @param data\n * @param callback\n * @param one 是否是 one 方法,只在 JQ 内部使用\n * @returns\n */\n on: function on(eventName, selector, data, callback, one) {\n var self = this;\n\n // 默认\n // $().on(event, selector, data, callback)\n\n // event 使用 事件:函数 键值对\n // event = {\n // 'event1': callback1,\n // 'event2': callback2\n // }\n //\n // $().on(event, selector, data)\n if (eventName && !isString(eventName)) {\n each(eventName, function (type, fn) {\n self.on(type, selector, data, fn);\n });\n\n return self;\n }\n\n // selector 不存在\n // $().on(event, data, callback)\n if (!isString(selector) && !isFunction(callback) && callback !== false) {\n callback = data;\n data = selector;\n selector = undefined;\n }\n\n // data 不存在\n // $().on(event, callback)\n if (isFunction(data) || data === false) {\n callback = data;\n data = undefined;\n }\n\n // callback 为 false\n // $().on(event, false)\n if (callback === false) {\n callback = fnFalse;\n }\n\n if (one === 1) {\n var origCallback = callback;\n callback = function () {\n self.off(eventName, selector, callback);\n /* eslint prefer-rest-params: 0 */\n return origCallback.apply(this, arguments);\n };\n }\n\n return this.each(function () {\n add(this, eventName, callback, data, selector);\n });\n },\n\n /**\n * 绑定事件,只触发一次\n * @param eventName\n * @param selector\n * @param data\n * @param callback\n */\n one: function one(eventName, selector, data, callback) {\n var self = this;\n\n if (!isString(eventName)) {\n each(eventName, function (type, fn) {\n type.split(' ').forEach(function (eName) {\n self.on(eName, selector, data, fn, 1);\n });\n });\n } else {\n eventName.split(' ').forEach(function (eName) {\n self.on(eName, selector, data, callback, 1);\n });\n }\n\n return this;\n },\n\n /**\n * 取消绑定事件\n *\n * $().off(eventName, selector);\n * $().off(eventName, callback);\n * $().off(eventName, false);\n *\n */\n off: function off(eventName, selector, callback) {\n var self = this;\n\n // event 使用 事件:函数 键值对\n // event = {\n // 'event1': callback1,\n // 'event2': callback2\n // }\n //\n // $().off(event, selector)\n if (eventName && !isString(eventName)) {\n each(eventName, function (type, fn) {\n self.off(type, selector, fn);\n });\n\n return self;\n }\n\n // selector 不存在\n // $().off(event, callback)\n if (!isString(selector) && !isFunction(callback) && callback !== false) {\n callback = selector;\n selector = undefined;\n }\n\n // callback 为 false\n // $().off(event, false)\n if (callback === false) {\n callback = fnFalse;\n }\n\n return self.each(function () {\n remove(this, eventName, callback, selector);\n });\n },\n\n /**\n * 触发一个事件\n * @param eventName\n * @param data\n * @returns {*|JQ}\n */\n trigger: function trigger(eventName, data) {\n var isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(eventName) > -1;\n var evt;\n\n if (isMouseEvent) {\n // Note: MouseEvent 无法传入 detail 参数\n evt = new MouseEvent(eventName, {\n bubbles: true,\n cancelable: true,\n });\n } else {\n evt = new CustomEvent(eventName, {\n detail: data,\n bubbles: true,\n cancelable: true,\n });\n }\n\n evt._detail = data;\n\n return this.each(function () {\n this.dispatchEvent(evt);\n });\n },\n });\n\n var globalOptions = {};\n var jsonpID = 0;\n\n // 全局事件名\n var ajaxEvent = {\n ajaxStart: 'start.mdui.ajax',\n ajaxSuccess: 'success.mdui.ajax',\n ajaxError: 'error.mdui.ajax',\n ajaxComplete: 'complete.mdui.ajax',\n };\n\n /**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n * @returns {boolean}\n */\n function isQueryStringData(method) {\n return ['GET', 'HEAD'].indexOf(method) >= 0;\n }\n\n /**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query 参数 key=value\n * @returns {string}\n */\n function appendQuery(url, query) {\n return ((url + \"&\" + query)).replace(/[&?]{1,2}/, '?');\n }\n\n $.extend({\n\n /**\n * 为 ajax 请求设置全局配置参数\n * @param options\n */\n ajaxSetup: function ajaxSetup(options) {\n $.extend(globalOptions, options || {});\n },\n\n /**\n * 发送 ajax 请求\n * @param options\n */\n ajax: function ajax(options) {\n // 配置参数\n var defaults = {\n // 请求方式\n method: 'GET',\n // 请求的数据,查询字符串或对象\n data: false,\n // 是否把数据转换为查询字符串发送,为 false 时不进行自动转换。\n processData: true,\n // 是否为异步请求\n async: true,\n // 是否从缓存中读取,只对 GET/HEAD 请求有效,dataType 为 jsonp 时为 false\n cache: true,\n // HTTP 访问认证的用户名\n username: '',\n // HTTP 访问认证的密码\n password: '',\n // 一个键值对,随着请求一起发送\n headers: {},\n // 设置 XHR 对象\n xhrFields: {},\n // 一个 HTTP 代码和函数的对象\n statusCode: {},\n // 预期服务器返回的数据类型 text、json、jsonp\n dataType: 'text',\n // jsonp 请求的回调函数名称\n jsonp: 'callback',\n // (string 或 Function)使用指定的回调函数名代替自动生成的回调函数名\n jsonpCallback: function () {\n jsonpID += 1;\n\n return (\"mduijsonp_\" + (Date.now()) + \"_\" + jsonpID);\n },\n // 发送信息至服务器时内容编码类型\n contentType: 'application/x-www-form-urlencoded',\n // 设置请求超时时间(毫秒)\n timeout: 0,\n // 是否在 document 上触发全局 ajax 事件\n global: true,\n // beforeSend: function (XMLHttpRequest) 请求发送前执行,返回 false 可取消本次 ajax 请求\n // success: function (data, textStatus, XMLHttpRequest) 请求成功时调用\n // error: function (XMLHttpRequest, textStatus) 请求失败时调用\n // statusCode: {404: function ()}\n // 200-299之间的状态码表示成功,参数和 success 回调一样;其他状态码表示失败,参数和 error 回调一样\n // complete: function (XMLHttpRequest, textStatus) 请求完成后回调函数 (请求成功或失败之后均调用)\n };\n\n // 回调函数\n var callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'statusCode',\n 'complete' ];\n\n // 是否已取消请求\n var isCanceled = false;\n\n // 保存全局配置\n var globals = globalOptions;\n\n // 事件参数\n var eventParams = {};\n\n // 合并全局参数到默认参数,全局回调函数不覆盖\n each(globals, function (key, value) {\n if (callbacks.indexOf(key) < 0) {\n defaults[key] = value;\n }\n });\n\n // 参数合并\n options = $.extend({}, defaults, options);\n\n /**\n * 触发全局事件\n * @param event string 事件名\n * @param xhr XMLHttpRequest 事件参数\n */\n function triggerEvent(event, xhr) {\n if (options.global) {\n $(document).trigger(event, xhr);\n }\n }\n\n /**\n * 触发 XHR 回调和事件\n * @param callback string 回调函数名称\n * @param args\n */\n function triggerCallback(callback) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var result1;\n var result2;\n\n if (callback) {\n // 全局回调\n if (callback in globals) {\n result1 = globals[callback].apply(globals, args);\n }\n\n // 自定义回调\n if (options[callback]) {\n result2 = options[callback].apply(options, args);\n }\n\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' && (result1 === false || result2 === false)) {\n isCanceled = true;\n }\n }\n }\n\n // 请求方式转为大写\n var method = options.method.toUpperCase();\n\n // 默认使用当前页面 URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n var sendData;\n if (\n (isQueryStringData(method) || options.processData)\n && options.data\n && [ArrayBuffer, Blob, Document, FormData].indexOf(options.data.constructor) < 0\n ) {\n sendData = isString(options.data) ? options.data : $.param(options.data);\n } else {\n sendData = options.data;\n }\n\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (isQueryStringData(method) && sendData) {\n // 查询字符串拼接到 URL 中\n options.url = appendQuery(options.url, sendData);\n sendData = null;\n }\n\n // JSONP\n if (options.dataType === 'jsonp') {\n // URL 中添加自动生成的回调函数名\n var callbackName = isFunction(options.jsonpCallback)\n ? options.jsonpCallback()\n : options.jsonpCallback;\n var requestUrl = appendQuery(options.url, ((options.jsonp) + \"=\" + callbackName));\n\n eventParams.options = options;\n\n triggerEvent(ajaxEvent.ajaxStart, eventParams);\n triggerCallback('beforeSend', null);\n\n if (isCanceled) {\n return undefined;\n }\n\n var abortTimeout;\n\n // 创建 script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n\n // 创建 script 失败\n script.onerror = function () {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', null, 'scripterror');\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', null, 'scripterror');\n };\n\n script.src = requestUrl;\n\n // 处理\n window[callbackName] = function (data) {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n\n eventParams.data = data;\n\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', data, 'success', null);\n\n $(script).remove();\n script = null;\n delete window[callbackName];\n };\n\n $('head').append(script);\n\n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n $(script).remove();\n script = null;\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', null, 'timeout');\n }, options.timeout);\n }\n\n return undefined;\n }\n\n // GET/HEAD 请求的缓存处理\n if (isQueryStringData(method) && !options.cache) {\n options.url = appendQuery(options.url, (\"_=\" + (Date.now())));\n }\n\n // 创建 XHR\n var xhr = new XMLHttpRequest();\n\n xhr.open(method, options.url, options.async, options.username, options.password);\n\n if (\n options.contentType\n || (\n sendData\n && !isQueryStringData(method)\n && options.contentType !== false\n )\n ) {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n\n // 设置 Accept\n if (options.dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n\n // 添加 headers\n if (options.headers) {\n each(options.headers, function (key, value) {\n xhr.setRequestHeader(key, value);\n });\n }\n\n // 检查是否是跨域请求\n if (options.crossDomain === undefined) {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^/]+)/.test(options.url)\n && RegExp.$2 !== window.location.host;\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n if (options.xhrFields) {\n each(options.xhrFields, function (key, value) {\n xhr[key] = value;\n });\n }\n\n eventParams.xhr = xhr;\n eventParams.options = options;\n\n var xhrTimeout;\n\n xhr.onload = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n\n // 包含成功或错误代码的字符串\n var textStatus;\n\n // AJAX 返回的 HTTP 响应码是否表示成功\n var isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || xhr.status === 0;\n\n var responseData;\n\n if (isHttpStatusSuccess) {\n if (xhr.status === 204 || method === 'HEAD') {\n textStatus = 'nocontent';\n } else if (xhr.status === 304) {\n textStatus = 'notmodified';\n } else {\n textStatus = 'success';\n }\n\n if (options.dataType === 'json') {\n try {\n responseData = JSON.parse(xhr.responseText);\n eventParams.data = responseData;\n } catch (err) {\n textStatus = 'parsererror';\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n }\n\n if (textStatus !== 'parsererror') {\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', responseData, textStatus, xhr);\n }\n } else {\n responseData = xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n eventParams.data = responseData;\n\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', responseData, textStatus, xhr);\n }\n } else {\n textStatus = 'error';\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n }\n\n // statusCode\n each([globals.statusCode, options.statusCode], function (i, func) {\n if (func && func[xhr.status]) {\n if (isHttpStatusSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n } else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, textStatus);\n };\n\n xhr.onerror = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, xhr.statusText);\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, 'error');\n };\n\n xhr.onabort = function () {\n var textStatus = 'abort';\n\n if (xhrTimeout) {\n textStatus = 'timeout';\n clearTimeout(xhrTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, textStatus);\n };\n\n // ajax start 回调\n triggerEvent(ajaxEvent.ajaxStart, eventParams);\n triggerCallback('beforeSend', xhr);\n\n if (isCanceled) {\n return xhr;\n }\n\n // Timeout\n if (options.timeout > 0) {\n xhrTimeout = setTimeout(function () {\n xhr.abort();\n }, options.timeout);\n }\n\n // 发送 XHR\n xhr.send(sendData);\n\n return xhr;\n },\n });\n\n // 监听全局事件\n //\n // 通过 $(document).on('success.mdui.ajax', function (event, params) {}) 调用时,包含两个参数\n // event: 事件对象\n // params: {\n // xhr: XMLHttpRequest 对象\n // options: ajax 请求的配置参数\n // data: ajax 请求返回的数据\n // }\n\n // 全局 Ajax 事件快捷方法\n // $(document).ajaxStart(function (event, xhr, options) {})\n // $(document).ajaxSuccess(function (event, xhr, options, data) {})\n // $(document).ajaxError(function (event, xhr, options) {})\n // $(document).ajaxComplete(function (event, xhr, options) {})\n each(ajaxEvent, function (name, eventName) {\n $.fn[name] = function (fn) {\n return this.on(eventName, function (e, params) {\n fn(e, params.xhr, params.options, params.data);\n });\n };\n });\n\n return $;\n\n}());\n","/**\n * =============================================================================\n * ************ 定义全局变量 ************\n * =============================================================================\n */\n\nvar $document = $(document);\nvar $window = $(window);\n\n/**\n * 队列 -- 当前队列的 api 和 jquery 不一样,所以不打包进 mdui.JQ 里\n */\nvar queue = {};\n(function () {\n var queueData = [];\n\n /**\n * 写入队列\n * @param queueName 对列名\n * @param func 函数名,该参数为空时,返回所有队列\n */\n queue.queue = function (queueName, func) {\n if (queueData[queueName] === undefined) {\n queueData[queueName] = [];\n }\n\n if (func === undefined) {\n return queueData[queueName];\n }\n\n queueData[queueName].push(func);\n };\n\n /**\n * 从队列中移除第一个函数,并执行该函数\n * @param queueName\n */\n queue.dequeue = function (queueName) {\n if (queueData[queueName] !== undefined && queueData[queueName].length) {\n (queueData[queueName].shift())();\n }\n };\n\n})();\n\n/**\n * touch 事件后的 500ms 内禁用 mousedown 事件\n *\n * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click\n * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click\n */\nvar TouchHandler = {\n touches: 0,\n\n /**\n * 该事件是否被允许\n * 在执行事件前调用该方法判断事件是否可以执行\n * @param e\n * @returns {boolean}\n */\n isAllow: function (e) {\n var allow = true;\n\n if (\n TouchHandler.touches &&\n [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'click',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n ].indexOf(e.type) > -1\n ) {\n // 触发了 touch 事件后阻止鼠标事件\n allow = false;\n }\n\n return allow;\n },\n\n /**\n * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件\n * @param e\n */\n register: function (e) {\n if (e.type === 'touchstart') {\n // 触发了 touch 事件\n TouchHandler.touches += 1;\n } else if (['touchmove', 'touchend', 'touchcancel'].indexOf(e.type) > -1) {\n // touch 事件结束 500ms 后解除对鼠标事件的阻止\n setTimeout(function () {\n if (TouchHandler.touches) {\n TouchHandler.touches -= 1;\n }\n }, 500);\n }\n },\n\n start: 'touchstart mousedown',\n move: 'touchmove mousemove',\n end: 'touchend mouseup',\n cancel: 'touchcancel mouseleave',\n unlock: 'touchend touchmove touchcancel',\n};\n\n// 测试事件\n// 在每一个事件中都使用 TouchHandler.isAllow(e) 判断事件是否可执行\n// 在 touchstart 和 touchmove、touchend、touchcancel\n// (function () {\n//\n// $document\n// .on(TouchHandler.start, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// TouchHandler.register(e);\n// console.log(e.type);\n// })\n// .on(TouchHandler.move, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// console.log(e.type);\n// })\n// .on(TouchHandler.end, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// console.log(e.type);\n// })\n// .on(TouchHandler.unlock, TouchHandler.register);\n// })();\n\n$(function () {\n // 避免页面加载完后直接执行css动画\n // https://css-tricks.com/transitions-only-after-page-load/\n\n setTimeout(function () {\n $('body').addClass('mdui-loaded');\n }, 0);\n});\n","/**\n * =============================================================================\n * ************ MDUI 内部使用的函数 ************\n * =============================================================================\n */\n\n/**\n * 解析 DATA API 的参数\n * @param str\n * @returns {*}\n */\nvar parseOptions = function (str) {\n var options = {};\n\n if (str === null || !str) {\n return options;\n }\n\n if (typeof str === 'object') {\n return str;\n }\n\n /* jshint ignore:start */\n var start = str.indexOf('{');\n try {\n options = (new Function('',\n 'var json = ' + str.substr(start) +\n '; return JSON.parse(JSON.stringify(json));'))();\n } catch (e) {\n }\n /* jshint ignore:end */\n\n return options;\n};\n\n/**\n * 绑定组件的事件\n * @param eventName 事件名\n * @param pluginName 插件名\n * @param inst 插件实例\n * @param trigger 在该元素上触发\n * @param obj 事件参数\n */\nvar componentEvent = function (eventName, pluginName, inst, trigger, obj) {\n if (!obj) {\n obj = {};\n }\n\n obj.inst = inst;\n\n var fullEventName = eventName + '.mdui.' + pluginName;\n\n // jQuery 事件\n if (typeof jQuery !== 'undefined') {\n jQuery(trigger).trigger(fullEventName, obj);\n }\n\n // JQ 事件\n $(trigger).trigger(fullEventName, obj);\n};\n","/**\n * =============================================================================\n * ************ 开放的常用方法 ************\n * =============================================================================\n */\n\n$.fn.extend({\n\n /**\n * 执行强制重绘\n */\n reflow: function () {\n return this.each(function () {\n return this.clientLeft;\n });\n },\n\n /**\n * 设置 transition 时间\n * @param duration\n */\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n\n return this.each(function () {\n this.style.webkitTransitionDuration = duration;\n this.style.transitionDuration = duration;\n });\n },\n\n /**\n * transition 动画结束回调\n * @param callback\n * @returns {transitionEnd}\n */\n transitionEnd: function (callback) {\n var events = [\n 'webkitTransitionEnd',\n 'transitionend',\n ];\n var i;\n var _this = this;\n\n function fireCallBack(e) {\n if (e.target !== this) {\n return;\n }\n\n callback.call(this, e);\n\n for (i = 0; i < events.length; i++) {\n _this.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i++) {\n _this.on(events[i], fireCallBack);\n }\n }\n\n return this;\n },\n\n /**\n * 设置 transform-origin 属性\n * @param transformOrigin\n */\n transformOrigin: function (transformOrigin) {\n return this.each(function () {\n this.style.webkitTransformOrigin = transformOrigin;\n this.style.transformOrigin = transformOrigin;\n });\n },\n\n /**\n * 设置 transform 属性\n * @param transform\n */\n transform: function (transform) {\n return this.each(function () {\n this.style.webkitTransform = transform;\n this.style.transform = transform;\n });\n },\n\n});\n\n$.extend({\n /**\n * 创建并显示遮罩\n * @param zIndex 遮罩层的 z-index\n */\n showOverlay: function (zIndex) {\n var $overlay = $('.mdui-overlay');\n\n if ($overlay.length) {\n $overlay.data('isDeleted', 0);\n\n if (zIndex !== undefined) {\n $overlay.css('z-index', zIndex);\n }\n } else {\n if (zIndex === undefined) {\n zIndex = 2000;\n }\n\n $overlay = $('
')\n .appendTo(document.body)\n .reflow()\n .css('z-index', zIndex);\n }\n\n var level = $overlay.data('overlay-level') || 0;\n return $overlay\n .data('overlay-level', ++level)\n .addClass('mdui-overlay-show');\n },\n\n /**\n * 隐藏遮罩层\n * @param force 是否强制隐藏遮罩\n */\n hideOverlay: function (force) {\n var $overlay = $('.mdui-overlay');\n\n if (!$overlay.length) {\n return;\n }\n\n var level = force ? 1 : $overlay.data('overlay-level');\n if (level > 1) {\n $overlay.data('overlay-level', --level);\n return;\n }\n\n $overlay\n .data('overlay-level', 0)\n .removeClass('mdui-overlay-show')\n .data('isDeleted', 1)\n .transitionEnd(function () {\n if ($overlay.data('isDeleted')) {\n $overlay.remove();\n }\n });\n },\n\n /**\n * 锁定屏幕\n */\n lockScreen: function () {\n var $body = $('body');\n\n // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式\n var newBodyWidth = $body.width();\n\n $body\n .addClass('mdui-locked')\n .width(newBodyWidth);\n\n var level = $body.data('lockscreen-level') || 0;\n $body.data('lockscreen-level', ++level);\n },\n\n /**\n * 解除屏幕锁定\n * @param force 是否强制解锁屏幕\n */\n unlockScreen: function (force) {\n var $body = $('body');\n\n var level = force ? 1 : $body.data('lockscreen-level');\n if (level > 1) {\n $body.data('lockscreen-level', --level);\n return;\n }\n\n $body\n .data('lockscreen-level', 0)\n .removeClass('mdui-locked')\n .width('');\n },\n\n /**\n * 函数节流\n * @param fn\n * @param delay\n * @returns {Function}\n */\n throttle: function (fn, delay) {\n var timer = null;\n if (!delay || delay < 16) {\n delay = 16;\n }\n\n return function () {\n var _this = this;\n var args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n fn.apply(_this, args);\n timer = null;\n }, delay);\n }\n };\n },\n});\n\n/**\n * 生成唯一 id\n * @param string name id的名称,若该名称对于的guid不存在,则生成新的guid并返回;若已存在,则返回原有guid\n * @returns {string}\n */\n(function () {\n var GUID = {};\n\n $.extend({\n guid: function (name) {\n if (typeof name !== 'undefined' && typeof GUID[name] !== 'undefined') {\n return GUID[name];\n }\n\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n var guid = s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n\n if (typeof name !== 'undefined') {\n GUID[name] = guid;\n }\n\n return guid;\n },\n });\n})();\n","/**\n * =============================================================================\n * ************ Mutation ************\n * =============================================================================\n */\n\n(function () {\n /**\n * API 初始化代理, 当 DOM 突变再次执行代理的初始化函数. 使用方法:\n *\n * 1. 代理组件 API 执行初始化函数, selector 必须为字符串.\n * mdui.mutation(selector, apiInit);\n * mutation 会执行 $(selector).each(apiInit)\n *\n * 2. 突变时, 再次执行代理的初始化函数\n * mdui.mutation() 等价 $(document).mutation()\n * $(selector).mutation() 在 selector 节点内进行 API 初始化\n *\n * 原理:\n *\n * mutation 执行了 $().data('mdui.mutation', [selector]).\n * 当元素被重构时, 该数据会丢失, 由此判断是否突变.\n *\n * 提示:\n *\n * 类似 Drawer 可以使用委托事件完成.\n * 类似 Collapse 需要知道 DOM 发生突变, 并再次进行初始化.\n */\n var entries = { };\n\n function mutation(selector, apiInit, that, i, item) {\n var $this = $(that);\n var m = $this.data('mdui.mutation');\n\n if (!m) {\n m = [];\n $this.data('mdui.mutation', m);\n }\n\n if (m.indexOf(selector) === -1) {\n m.push(selector);\n apiInit.call(that, i, item);\n }\n }\n\n $.fn.extend({\n mutation: function () {\n return this.each(function (i, item) {\n var $this = $(this);\n $.each(entries, function (selector, apiInit) {\n if ($this.is(selector)) {\n mutation(selector, apiInit, $this[0], i, item);\n }\n\n $this.find(selector).each(function (i, item) {\n mutation(selector, apiInit, this, i, item);\n });\n });\n });\n },\n });\n\n mdui.mutation = function (selector, apiInit) {\n if (typeof selector !== 'string' || typeof apiInit !== 'function') {\n $(document).mutation();\n return;\n }\n\n entries[selector] = apiInit;\n $(selector).each(function (i, item) {\n mutation(selector, apiInit, this, i, item);\n });\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Headroom.js ************\n * =============================================================================\n */\n\nmdui.Headroom = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n tolerance: 5, // 滚动条滚动多少距离开始隐藏或显示元素,{down: num, up: num},或数字\n offset: 0, // 在页面顶部多少距离内滚动不会隐藏元素\n initialClass: 'mdui-headroom', // 初始化时添加的类\n pinnedClass: 'mdui-headroom-pinned-top', // 元素固定时添加的类\n unpinnedClass: 'mdui-headroom-unpinned-top', // 元素隐藏时添加的类\n };\n\n /**\n * Headroom\n * @param selector\n * @param opts\n * @constructor\n */\n function Headroom(selector, opts) {\n var _this = this;\n\n _this.$headroom = $(selector).eq(0);\n if (!_this.$headroom.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$headroom.data('mdui.headroom');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // 数值转为 {down: bum, up: num}\n var tolerance = _this.options.tolerance;\n if (tolerance !== Object(tolerance)) {\n _this.options.tolerance = {\n down: tolerance,\n up: tolerance,\n };\n }\n\n _this._init();\n }\n\n /**\n * 初始化\n * @private\n */\n Headroom.prototype._init = function () {\n var _this = this;\n\n _this.state = 'pinned';\n _this.$headroom\n .addClass(_this.options.initialClass)\n .removeClass(_this.options.pinnedClass + ' ' + _this.options.unpinnedClass);\n\n _this.inited = false;\n _this.lastScrollY = 0;\n\n _this._attachEvent();\n };\n\n /**\n * 监听滚动事件\n * @private\n */\n Headroom.prototype._attachEvent = function () {\n var _this = this;\n\n if (!_this.inited) {\n _this.lastScrollY = window.pageYOffset;\n _this.inited = true;\n\n $window.on('scroll', function () {\n _this._scroll();\n });\n }\n };\n\n /**\n * 滚动时的处理\n * @private\n */\n Headroom.prototype._scroll = function () {\n var _this = this;\n _this.rafId = window.requestAnimationFrame(function () {\n var currentScrollY = window.pageYOffset;\n var direction = currentScrollY > _this.lastScrollY ? 'down' : 'up';\n var toleranceExceeded =\n Math.abs(currentScrollY - _this.lastScrollY) >=\n _this.options.tolerance[direction];\n\n if (\n currentScrollY > _this.lastScrollY &&\n currentScrollY >= _this.options.offset &&\n toleranceExceeded) {\n _this.unpin();\n } else if (\n (currentScrollY < _this.lastScrollY && toleranceExceeded) ||\n currentScrollY <= _this.options.offset\n ) {\n _this.pin();\n }\n\n _this.lastScrollY = currentScrollY;\n });\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.state === 'pinning') {\n inst.state = 'pinned';\n componentEvent('pinned', 'headroom', inst, inst.$headroom);\n }\n\n if (inst.state === 'unpinning') {\n inst.state = 'unpinned';\n componentEvent('unpinned', 'headroom', inst, inst.$headroom);\n }\n };\n\n /**\n * 固定住\n */\n Headroom.prototype.pin = function () {\n var _this = this;\n\n if (\n _this.state === 'pinning' ||\n _this.state === 'pinned' ||\n !_this.$headroom.hasClass(_this.options.initialClass)\n ) {\n return;\n }\n\n componentEvent('pin', 'headroom', _this, _this.$headroom);\n\n _this.state = 'pinning';\n\n _this.$headroom\n .removeClass(_this.options.unpinnedClass)\n .addClass(_this.options.pinnedClass)\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 不固定住\n */\n Headroom.prototype.unpin = function () {\n var _this = this;\n\n if (\n _this.state === 'unpinning' ||\n _this.state === 'unpinned' ||\n !_this.$headroom.hasClass(_this.options.initialClass)\n ) {\n return;\n }\n\n componentEvent('unpin', 'headroom', _this, _this.$headroom);\n\n _this.state = 'unpinning';\n\n _this.$headroom\n .removeClass(_this.options.pinnedClass)\n .addClass(_this.options.unpinnedClass)\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 启用\n */\n Headroom.prototype.enable = function () {\n var _this = this;\n\n if (!_this.inited) {\n _this._init();\n }\n };\n\n /**\n * 禁用\n */\n Headroom.prototype.disable = function () {\n var _this = this;\n\n if (_this.inited) {\n _this.inited = false;\n _this.$headroom\n .removeClass([\n _this.options.initialClass,\n _this.options.pinnedClass,\n _this.options.unpinnedClass,\n ].join(' '));\n\n $window.off('scroll', function () {\n _this._scroll();\n });\n\n window.cancelAnimationFrame(_this.rafId);\n }\n };\n\n /**\n * 获取当前状态 pinning | pinned | unpinning | unpinned\n */\n Headroom.prototype.getState = function () {\n return this.state;\n };\n\n return Headroom;\n\n})();\n","/**\n * =============================================================================\n * ************ Headroom 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-headroom]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-headroom'));\n\n var inst = $this.data('mdui.headroom');\n if (!inst) {\n inst = new mdui.Headroom($this, options);\n $this.data('mdui.headroom', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ 供 Collapse、 Panel 调用的折叠内容块插件 ************\n * =============================================================================\n */\nvar CollapsePrivate = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n accordion: false, // 是否使用手风琴效果\n };\n\n /**\n * 折叠内容块\n * @param selector\n * @param opts\n * @param namespace\n * @constructor\n */\n function Collapse(selector, opts, namespace) {\n var _this = this;\n\n // 命名空间\n _this.ns = namespace;\n\n // 类名\n var classpPefix = 'mdui-' + _this.ns + '-item';\n _this.class_item = classpPefix;\n _this.class_item_open = classpPefix + '-open';\n _this.class_header = classpPefix + '-header';\n _this.class_body = classpPefix + '-body';\n\n // 折叠面板元素\n _this.$collapse = $(selector).eq(0);\n if (!_this.$collapse.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$collapse.data('mdui.' + _this.ns);\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n _this.$collapse.on('click', '.' + _this.class_header, function () {\n var $item = $(this).parent('.' + _this.class_item);\n if (_this.$collapse.children($item).length) {\n _this.toggle($item);\n }\n });\n\n // 绑定关闭按钮\n _this.$collapse.on('click', '[mdui-' + _this.ns + '-item-close]', function () {\n var $item = $(this).parents('.' + _this.class_item).eq(0);\n if (_this._isOpen($item)) {\n _this.close($item);\n }\n });\n }\n\n /**\n * 指定 item 是否处于打开状态\n * @param $item\n * @returns {boolean}\n * @private\n */\n Collapse.prototype._isOpen = function ($item) {\n return $item.hasClass(this.class_item_open);\n };\n\n /**\n * 获取指定 item\n * @param item\n * @returns {*}\n * @private\n */\n Collapse.prototype._getItem = function (item) {\n var _this = this;\n\n if (parseInt(item) === item) {\n // item 是索引号\n return _this.$collapse.children('.' + _this.class_item).eq(item);\n }\n\n return $(item).eq(0);\n };\n\n /**\n * 动画结束回调\n * @param inst\n * @param $content\n * @param $item\n */\n var transitionEnd = function (inst, $content, $item) {\n if (inst._isOpen($item)) {\n $content\n .transition(0)\n .height('auto')\n .reflow()\n .transition('');\n\n componentEvent('opened', inst.ns, inst, $item[0]);\n } else {\n $content.height('');\n\n componentEvent('closed', inst.ns, inst, $item[0]);\n }\n };\n\n /**\n * 打开指定面板项\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器\n */\n Collapse.prototype.open = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (_this._isOpen($item)) {\n return;\n }\n\n // 关闭其他项\n if (_this.options.accordion) {\n _this.$collapse.children('.' + _this.class_item_open).each(function () {\n var $tmpItem = $(this);\n\n if ($tmpItem !== $item) {\n _this.close($tmpItem);\n }\n });\n }\n\n var $content = $item.children('.' + _this.class_body);\n\n $content\n .height($content[0].scrollHeight)\n .transitionEnd(function () {\n transitionEnd(_this, $content, $item);\n });\n\n componentEvent('open', _this.ns, _this, $item[0]);\n\n $item.addClass(_this.class_item_open);\n };\n\n /**\n * 关闭指定项\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器\n */\n Collapse.prototype.close = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (!_this._isOpen($item)) {\n return;\n }\n\n var $content = $item.children('.' + _this.class_body);\n\n componentEvent('close', _this.ns, _this, $item[0]);\n\n $item.removeClass(_this.class_item_open);\n\n $content\n .transition(0)\n .height($content[0].scrollHeight)\n .reflow()\n .transition('')\n .height('')\n .transitionEnd(function () {\n transitionEnd(_this, $content, $item);\n });\n };\n\n /**\n * 切换指定项的状态\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器或 JQ 对象\n */\n Collapse.prototype.toggle = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (_this._isOpen($item)) {\n _this.close($item);\n } else {\n _this.open($item);\n }\n };\n\n /**\n * 打开所有项\n */\n Collapse.prototype.openAll = function () {\n var _this = this;\n\n _this.$collapse.children('.' + _this.class_item).each(function () {\n var $tmpItem = $(this);\n\n if (!_this._isOpen($tmpItem)) {\n _this.open($tmpItem);\n }\n });\n };\n\n /**\n * 关闭所有项\n */\n Collapse.prototype.closeAll = function () {\n var _this = this;\n\n _this.$collapse.children('.' + _this.class_item).each(function () {\n var $tmpItem = $(this);\n\n if (_this._isOpen($tmpItem)) {\n _this.close($tmpItem);\n }\n });\n };\n\n return Collapse;\n})();\n\n/**\n * =============================================================================\n * ************ Collapse 折叠内容块插件 ************\n * =============================================================================\n */\nmdui.Collapse = (function () {\n\n function Collapse(selector, opts) {\n return new CollapsePrivate(selector, opts, 'collapse');\n }\n\n return Collapse;\n})();\n","/**\n * =============================================================================\n * ************ 涟漪 ************\n * =============================================================================\n *\n * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js\n * https://github.com/nolimits4web/Framework7/blob/master/LICENSE\n *\n * Inspired by https://github.com/fians/Waves\n */\n\n(function () {\n\n var Ripple = {\n\n /**\n * 延时,避免手指滑动时也触发涟漪(单位:毫秒)\n */\n delay: 200,\n\n /**\n * 显示涟漪动画\n * @param e\n * @param $ripple\n */\n show: function (e, $ripple) {\n\n // 鼠标右键不产生涟漪\n if (e.button === 2) {\n return;\n }\n\n // 点击位置坐标\n var tmp;\n if ('touches' in e && e.touches.length) {\n tmp = e.touches[0];\n } else {\n tmp = e;\n }\n\n var touchStartX = tmp.pageX;\n var touchStartY = tmp.pageY;\n\n // 涟漪位置\n var offset = $ripple.offset();\n var center = {\n x: touchStartX - offset.left,\n y: touchStartY - offset.top,\n };\n\n var height = $ripple.innerHeight();\n var width = $ripple.innerWidth();\n var diameter = Math.max(\n Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48\n );\n\n // 涟漪扩散动画\n var translate =\n 'translate3d(' + (-center.x + width / 2) + 'px, ' + (-center.y + height / 2) + 'px, 0) ' +\n 'scale(1)';\n\n // 涟漪的 DOM 结构\n $('
' +\n '
')\n\n // 缓存动画效果\n .data('translate', translate)\n\n .prependTo($ripple)\n .reflow()\n .transform(translate);\n },\n\n /**\n * 隐藏涟漪动画\n */\n hide: function (e, element) {\n var $ripple = $(element || this);\n\n $ripple.children('.mdui-ripple-wave').each(function () {\n removeRipple($(this));\n });\n\n $ripple.off('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide);\n },\n };\n\n /**\n * 隐藏并移除涟漪\n * @param $wave\n */\n function removeRipple($wave) {\n if (!$wave.length || $wave.data('isRemoved')) {\n return;\n }\n\n $wave.data('isRemoved', true);\n\n var removeTimeout = setTimeout(function () {\n $wave.remove();\n }, 400);\n\n var translate = $wave.data('translate');\n\n $wave\n .addClass('mdui-ripple-wave-fill')\n .transform(translate.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(function () {\n clearTimeout(removeTimeout);\n\n $wave\n .addClass('mdui-ripple-wave-out')\n .transform(translate.replace('scale(1)', 'scale(1.01)'));\n\n removeTimeout = setTimeout(function () {\n $wave.remove();\n }, 700);\n\n setTimeout(function () {\n $wave.transitionEnd(function () {\n clearTimeout(removeTimeout);\n $wave.remove();\n });\n }, 0);\n });\n }\n\n /**\n * 显示涟漪,并绑定 touchend 等事件\n * @param e\n */\n function showRipple(e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n // Chrome 59 点击滚动条时,会在 document 上触发事件\n if (e.target === document) {\n return;\n }\n\n var $ripple;\n var $target = $(e.target);\n\n // 获取含 .mdui-ripple 类的元素\n if ($target.hasClass('mdui-ripple')) {\n $ripple = $target;\n } else {\n $ripple = $target.parents('.mdui-ripple').eq(0);\n }\n\n if ($ripple.length) {\n\n // 禁用状态的元素上不产生涟漪效果\n if ($ripple[0].disabled || $ripple.attr('disabled') !== null) {\n return;\n }\n\n if (e.type === 'touchstart') {\n var hidden = false;\n\n // toucstart 触发指定时间后开始涟漪动画\n var timer = setTimeout(function () {\n timer = null;\n Ripple.show(e, $ripple);\n }, Ripple.delay);\n\n var hideRipple = function (hideEvent) {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = null;\n Ripple.show(e, $ripple);\n }\n\n if (!hidden) {\n hidden = true;\n Ripple.hide(hideEvent, $ripple);\n }\n };\n\n // 手指移动后,移除涟漪动画\n var touchMove = function (moveEvent) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n hideRipple(moveEvent);\n };\n\n $ripple\n .on('touchmove', touchMove)\n .on('touchend touchcancel', hideRipple);\n\n } else {\n Ripple.show(e, $ripple);\n $ripple.on('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide);\n }\n }\n }\n\n // 初始化绑定的事件\n $document\n .on(TouchHandler.start, showRipple)\n .on(TouchHandler.unlock, TouchHandler.register);\n})();\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n(function () {\n\n var getProp = function (obj, prop) {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n obj[prop] !== undefined &&\n obj[prop]\n ) ? obj[prop] : false;\n };\n\n /**\n * 输入框事件\n * @param e\n */\n var inputEvent = function (e) {\n var input = e.target;\n var $input = $(input);\n var event = e.type;\n var value = $input.val();\n\n // reInit 为 true 时,需要重新初始化文本框\n var reInit = getProp(e.detail, 'reInit');\n\n // domLoadedEvent 为 true 时,为 DOM 加载完毕后自动触发的事件\n var domLoadedEvent = getProp(e.detail, 'domLoadedEvent');\n\n // 文本框类型\n var type = $input.attr('type') || '';\n if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(type) >= 0) {\n return;\n }\n\n var $textField = $input.parent('.mdui-textfield');\n\n // 输入框是否聚焦\n if (event === 'focus') {\n $textField.addClass('mdui-textfield-focus');\n }\n\n if (event === 'blur') {\n $textField.removeClass('mdui-textfield-focus');\n }\n\n // 输入框是否为空\n if (event === 'blur' || event === 'input') {\n $textField[(value && value !== '') ? 'addClass' : 'removeClass']('mdui-textfield-not-empty');\n }\n\n // 输入框是否禁用\n $textField[input.disabled ? 'addClass' : 'removeClass']('mdui-textfield-disabled');\n\n // 表单验证\n if ((event === 'input' || event === 'blur') && !domLoadedEvent) {\n if (input.validity) {\n var method = input.validity.valid ? 'removeClass' : 'addClass';\n $textField[method]('mdui-textfield-invalid-html5');\n }\n }\n\n // textarea 高度自动调整\n if (e.target.nodeName.toLowerCase() === 'textarea') {\n\n // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确\n // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格\n var inputValue = $input.val();\n var hasExtraSpace = false;\n if (inputValue.replace(/[\\r\\n]/g, '') === '') {\n $input.val(' ' + inputValue);\n hasExtraSpace = true;\n }\n\n // 设置 textarea 高度\n $input.height('');\n var height = $input.height();\n var scrollHeight = input.scrollHeight;\n\n if (scrollHeight > height) {\n $input.height(scrollHeight);\n }\n\n // 计算完,还原 textarea 的值\n if (hasExtraSpace) {\n $input.val(inputValue);\n }\n }\n\n // 实时字数统计\n if (reInit) {\n $textField\n .find('.mdui-textfield-counter')\n .remove();\n }\n\n var maxlength = $input.attr('maxlength');\n if (maxlength) {\n if (reInit || domLoadedEvent) {\n $('
' +\n ' / ' + maxlength +\n '
').appendTo($textField);\n }\n\n $textField.find('.mdui-textfield-counter-inputed').text(value.length.toString());\n }\n\n // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距\n if (\n $textField.find('.mdui-textfield-helper').length ||\n $textField.find('.mdui-textfield-error').length ||\n maxlength\n ) {\n $textField.addClass('mdui-textfield-has-bottom');\n }\n };\n\n // 绑定事件\n $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent);\n\n // 可展开文本框展开\n $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () {\n $(this)\n\n // 展开文本框\n .parents('.mdui-textfield')\n .addClass('mdui-textfield-expanded')\n\n // 聚焦到输入框\n .find('.mdui-textfield-input')[0].focus();\n });\n\n // 可展开文本框关闭\n $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () {\n $(this)\n\n // 关闭文本框\n .parents('.mdui-textfield')\n .removeClass('mdui-textfield-expanded')\n\n // 清空输入框\n .find('.mdui-textfield-input')\n .val('');\n });\n\n /**\n * 通过 JS 更新了表单内容,需要重新进行表单处理\n * @param- 如果传入了 .mdui-textfield 所在的 DOM 元素,则更新该文本框;否则,更新所有文本框\n */\n mdui.updateTextFields = function () {\n $(arguments.length ? arguments[0] : '.mdui-textfield').each(function () {\n $(this)\n .find('.mdui-textfield-input')\n .trigger('input', {\n reInit: true,\n });\n });\n };\n})();\n\n$(function () {\n /**\n * 初始化文本框\n */\n mdui.mutation('.mdui-textfield', function () {\n $(this)\n .find('.mdui-textfield-input')\n .trigger('input', {\n domLoadedEvent: true,\n });\n });\n});\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 滑块的值变更后修改滑块样式\n * @param $slider\n */\n var updateValueStyle = function ($slider) {\n var data = $slider.data();\n\n var $track = data.$track;\n var $fill = data.$fill;\n var $thumb = data.$thumb;\n var $input = data.$input;\n var min = data.min;\n var max = data.max;\n var isDisabled = data.disabled;\n var isDiscrete = data.discrete;\n var $thumbText = data.$thumbText;\n var value = $input.val();\n var percent = (value - min) / (max - min) * 100;\n\n $fill.width(percent + '%');\n $track.width((100 - percent) + '%');\n\n if (isDisabled) {\n $fill.css('padding-right', '6px');\n $track.css('padding-left', '6px');\n }\n\n $thumb.css('left', percent + '%');\n\n if (isDiscrete) {\n $thumbText.text(value);\n }\n\n $slider[parseFloat(percent) === 0 ? 'addClass' : 'removeClass']('mdui-slider-zero');\n };\n\n /**\n * 重新初始化\n * @param $slider\n */\n var reInit = function ($slider) {\n var $track = $('
');\n var $fill = $('
');\n var $thumb = $('
');\n var $input = $slider.find('input[type=\"range\"]');\n\n // 禁用状态\n var isDisabled = $input[0].disabled;\n $slider[isDisabled ? 'addClass' : 'removeClass']('mdui-slider-disabled');\n\n // 重新填充 HTML\n $slider.find('.mdui-slider-track').remove();\n $slider.find('.mdui-slider-fill').remove();\n $slider.find('.mdui-slider-thumb').remove();\n $slider.append($track).append($fill).append($thumb);\n\n // 间续型滑块\n var isDiscrete = $slider.hasClass('mdui-slider-discrete');\n\n var $thumbText;\n if (isDiscrete) {\n $thumbText = $('');\n $thumb.empty().append($thumbText);\n }\n\n $slider.data({\n $track: $track,\n $fill: $fill,\n $thumb: $thumb,\n $input: $input,\n min: $input.attr('min'), // 滑块最小值\n max: $input.attr('max'), // 滑块最大值\n disabled: isDisabled, // 是否禁用状态\n discrete: isDiscrete, // 是否是间续型滑块\n $thumbText: $thumbText, // 间续型滑块的数值\n });\n\n // 设置默认值\n updateValueStyle($slider);\n };\n\n var rangeSelector = '.mdui-slider input[type=\"range\"]';\n\n $document\n\n // 滑动滑块事件\n .on('input change', rangeSelector, function () {\n var $slider = $(this).parent();\n updateValueStyle($slider);\n })\n\n // 开始触摸滑块事件\n .on(TouchHandler.start, rangeSelector, function (e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n if (!this.disabled) {\n var $slider = $(this).parent();\n $slider.addClass('mdui-slider-focus');\n }\n })\n\n // 结束触摸滑块事件\n .on(TouchHandler.end, rangeSelector, function (e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n if (!this.disabled) {\n var $slider = $(this).parent();\n $slider.removeClass('mdui-slider-focus');\n }\n })\n\n .on(TouchHandler.unlock, rangeSelector, TouchHandler.register);\n\n /**\n * 重新初始化滑块(强制重新初始化)\n */\n mdui.updateSliders = function () {\n $(arguments.length ? arguments[0] : '.mdui-slider').each(function () {\n reInit($(this));\n });\n };\n\n $(function () {\n /**\n * 页面加载完后自动初始化(未初始化时,可以调用该方法初始化)\n */\n mdui.mutation('.mdui-slider', function () {\n reInit($(this));\n });\n });\n})();\n","/**\n * =============================================================================\n * ************ Spinner 圆形进度条 ************\n * =============================================================================\n */\n\n(function () {\n /**\n * layer 的 HTML 结构\n */\n var layerHTML = function () {\n var i = arguments.length ? arguments[0] : false;\n\n return '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
';\n };\n\n /**\n * 填充 HTML\n * @param spinner\n */\n var fillHTML = function (spinner) {\n var $spinner = $(spinner);\n var layer;\n if ($spinner.hasClass('mdui-spinner-colorful')) {\n layer = layerHTML('1') + layerHTML('2') + layerHTML('3') + layerHTML('4');\n } else {\n layer = layerHTML();\n }\n\n $spinner.html(layer);\n };\n\n /**\n * 页面加载完后自动填充 HTML 结构\n */\n $(function () {\n mdui.mutation('.mdui-spinner', function () {\n fillHTML(this);\n });\n });\n\n /**\n * 更新圆形进度条\n */\n mdui.updateSpinners = function () {\n $(arguments.length ? arguments[0] : '.mdui-spinner').each(function () {\n fillHTML(this);\n });\n };\n\n})();\n"," /* jshint ignore:start */\n mdui.JQ = $;\n return mdui;\n})));\n/* jshint ignore:end */\n","/**\n * =============================================================================\n * ************ Collapse 自定义属性 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-collapse]', function () {\n var $target = $(this);\n\n var inst = $target.data('mdui.collapse');\n if (!inst) {\n var options = parseOptions($target.attr('mdui-collapse'));\n inst = new mdui.Collapse($target, options);\n $target.data('mdui.collapse', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 生成 checkbox 的 HTML 结构\n * @param tag\n * @returns {string}\n */\n var checkboxHTML = function (tag) {\n return '<' + tag + ' class=\"mdui-table-cell-checkbox\">' +\n '' +\n '';\n };\n\n /**\n * Table 表格\n * @param selector\n * @constructor\n */\n function Table(selector) {\n var _this = this;\n\n _this.$table = $(selector).eq(0);\n\n if (!_this.$table.length) {\n return;\n }\n\n _this.init();\n }\n\n /**\n * 初始化\n */\n Table.prototype.init = function () {\n var _this = this;\n\n _this.$thRow = _this.$table.find('thead tr');\n _this.$tdRows = _this.$table.find('tbody tr');\n _this.$tdCheckboxs = $();\n _this.selectable = _this.$table.hasClass('mdui-table-selectable');\n _this.selectedRow = 0;\n\n _this._updateThCheckbox();\n _this._updateTdCheckbox();\n _this._updateNumericCol();\n };\n\n /**\n * 更新表头 checkbox 的状态\n */\n Table.prototype._updateThCheckboxStatus = function () {\n var _this = this;\n var checkbox = _this.$thCheckbox[0];\n\n checkbox.checked = _this.selectedRow === _this.$tdRows.length;\n checkbox.indeterminate = _this.selectedRow && _this.selectedRow !== _this.$tdRows.length;\n };\n\n /**\n * 更新表格行的 checkbox\n */\n Table.prototype._updateTdCheckbox = function () {\n var _this = this;\n\n _this.$tdRows.each(function () {\n var $tdRow = $(this);\n\n // 移除旧的 checkbox\n $tdRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!_this.selectable) {\n return;\n }\n\n // 创建 DOM\n var $checkbox = $(checkboxHTML('td'))\n .prependTo($tdRow)\n .find('input[type=\"checkbox\"]');\n\n // 默认选中的行\n if ($tdRow.hasClass('mdui-table-row-selected')) {\n $checkbox[0].checked = true;\n _this.selectedRow++;\n }\n\n _this._updateThCheckboxStatus();\n\n // 绑定事件\n $checkbox.on('change', function () {\n if ($checkbox[0].checked) {\n $tdRow.addClass('mdui-table-row-selected');\n _this.selectedRow++;\n } else {\n $tdRow.removeClass('mdui-table-row-selected');\n _this.selectedRow--;\n }\n\n _this._updateThCheckboxStatus();\n });\n\n _this.$tdCheckboxs = _this.$tdCheckboxs.add($checkbox);\n });\n };\n\n /**\n * 更新表头的 checkbox\n */\n Table.prototype._updateThCheckbox = function () {\n var _this = this;\n\n // 移除旧的 checkbox\n _this.$thRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!_this.selectable) {\n return;\n }\n\n _this.$thCheckbox = $(checkboxHTML('th'))\n .prependTo(_this.$thRow)\n .find('input[type=\"checkbox\"]')\n .on('change', function () {\n\n var isCheckedAll = _this.$thCheckbox[0].checked;\n _this.selectedRow = isCheckedAll ? _this.$tdRows.length : 0;\n\n _this.$tdCheckboxs.each(function (i, checkbox) {\n checkbox.checked = isCheckedAll;\n });\n\n _this.$tdRows.each(function (i, row) {\n $(row)[isCheckedAll ? 'addClass' : 'removeClass']('mdui-table-row-selected');\n });\n });\n };\n\n /**\n * 更新数值列\n */\n Table.prototype._updateNumericCol = function () {\n var _this = this;\n var $th;\n var $tdRow;\n\n _this.$thRow.find('th').each(function (i, th) {\n $th = $(th);\n\n _this.$tdRows.each(function () {\n $tdRow = $(this);\n var method = $th.hasClass('mdui-table-col-numeric') ? 'addClass' : 'removeClass';\n $tdRow.find('td').eq(i)[method]('mdui-table-col-numeric');\n });\n });\n };\n\n /**\n * 初始化表格\n */\n mdui.mutation('.mdui-table', function () {\n var $table = $(this);\n if (!$table.data('mdui.table')) {\n $table.data('mdui.table', new Table($table));\n }\n });\n\n /**\n * 更新表格\n */\n mdui.updateTables = function () {\n $(arguments.length ? arguments[0] : '.mdui-table').each(function () {\n var $table = $(this);\n var inst = $table.data('mdui.table');\n\n if (inst) {\n inst.init();\n } else {\n $table.data('mdui.table', new Table($table));\n }\n });\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\nmdui.Fab = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n trigger: 'hover', // 触发方式 ['hover', 'click']\n };\n\n /**\n * 浮动操作按钮实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素或 JQ 对象\n * @param opts\n * @constructor\n */\n function Fab(selector, opts) {\n var _this = this;\n\n _this.$fab = $(selector).eq(0);\n if (!_this.$fab.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$fab.data('mdui.fab');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n _this.$btn = _this.$fab.find('.mdui-fab');\n _this.$dial = _this.$fab.find('.mdui-fab-dial');\n _this.$dialBtns = _this.$dial.find('.mdui-fab');\n\n if (_this.options.trigger === 'hover') {\n _this.$btn\n .on('touchstart mouseenter', function () {\n _this.open();\n });\n\n _this.$fab\n .on('mouseleave', function () {\n _this.close();\n });\n }\n\n if (_this.options.trigger === 'click') {\n _this.$btn\n .on(TouchHandler.start, function () {\n _this.open();\n });\n }\n\n // 触摸屏幕其他地方关闭快速拨号\n $document.on(TouchHandler.start, function (e) {\n if (!$(e.target).parents('.mdui-fab-wrapper').length) {\n _this.close();\n }\n });\n }\n\n /**\n * 打开菜单\n */\n Fab.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n _this.$dialBtns.each(function (index, btn) {\n btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] =\n 15 * (_this.$dialBtns.length - index) + 'ms';\n });\n\n _this.$dial\n .css('height', 'auto')\n .addClass('mdui-fab-dial-show');\n\n // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换\n if (_this.$btn.find('.mdui-fab-opened').length) {\n _this.$btn.addClass('mdui-fab-opened');\n }\n\n _this.state = 'opening';\n componentEvent('open', 'fab', _this, _this.$fab);\n\n // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成\n _this.$dialBtns.eq(0).transitionEnd(function () {\n if (_this.$btn.hasClass('mdui-fab-opened')) {\n _this.state = 'opened';\n componentEvent('opened', 'fab', _this, _this.$fab);\n }\n });\n };\n\n /**\n * 关闭菜单\n */\n Fab.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n _this.$dialBtns.each(function (index, btn) {\n btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = 15 * index + 'ms';\n });\n\n _this.$dial.removeClass('mdui-fab-dial-show');\n _this.$btn.removeClass('mdui-fab-opened');\n _this.state = 'closing';\n componentEvent('close', 'fab', _this, _this.$fab);\n\n // 从上往下依次关闭,最后一个关闭后才表示动画完成\n _this.$dialBtns.eq(-1).transitionEnd(function () {\n if (!_this.$btn.hasClass('mdui-fab-opened')) {\n _this.state = 'closed';\n componentEvent('closed', 'fab', _this, _this.$fab);\n _this.$dial.css('height', 0);\n }\n });\n };\n\n /**\n * 切换菜单的打开状态\n */\n Fab.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取当前菜单状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Fab.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 以动画的形式显示浮动操作按钮\n */\n Fab.prototype.show = function () {\n this.$fab.removeClass('mdui-fab-hide');\n };\n\n /**\n * 以动画的形式隐藏浮动操作按钮\n */\n Fab.prototype.hide = function () {\n this.$fab.addClass('mdui-fab-hide');\n };\n\n return Fab;\n})();\n","/**\n * =============================================================================\n * ************ Fab DATA API ************\n * =============================================================================\n */\n\n$(function () {\n // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。\n // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。\n\n $document.on('touchstart mousedown mouseover', '[mdui-fab]', function (e) {\n var $this = $(this);\n\n var inst = $this.data('mdui.fab');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-fab'));\n inst = new mdui.Fab($this, options);\n $this.data('mdui.fab', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\nmdui.Select = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 下拉框位置,auto、bottom、top\n gutter: 16, // 菜单与窗口上下边框至少保持多少间距\n };\n\n /**\n * 调整菜单位置\n * @param _this Select 实例\n */\n var readjustMenu = function (_this) {\n // 窗口高度\n var windowHeight = $window.height();\n\n // 配置参数\n var gutter = _this.options.gutter;\n var position = _this.options.position;\n\n // mdui-select 高度\n var selectHeight = parseInt(_this.$select.height());\n\n // 菜单项高度\n var $menuItemFirst = _this.$items.eq(0);\n var menuItemHeight = parseInt($menuItemFirst.height());\n var menuItemMargin = parseInt($menuItemFirst.css('margin-top'));\n\n // 菜单高度\n var menuWidth = parseFloat(_this.$select.width() + 0.01); // 必须比真实宽度多一点,不然会出现省略号\n var menuHeight = menuItemHeight * _this.size + menuItemMargin * 2;\n\n // var menuRealHeight = menuItemHeight * _this.$items.length + menuItemMargin * 2;\n\n // 菜单是否出现了滚动条\n //var isMenuScrollable = menuRealHeight > menuHeight;\n\n // select 在窗口中的位置\n var selectTop = _this.$select[0].getBoundingClientRect().top;\n\n var transformOriginY;\n var menuMarginTop;\n\n // position 为 auto 时\n if (position === 'auto') {\n\n // 菜单高度不能超过窗口高度\n var heightTemp = windowHeight - gutter * 2;\n if (menuHeight > heightTemp) {\n menuHeight = heightTemp;\n }\n\n // 菜单的 margin-top\n menuMarginTop = -(\n menuItemMargin + _this.selectedIndex * menuItemHeight +\n (menuItemHeight - selectHeight) / 2\n );\n var menuMarginTopMax = -(\n menuItemMargin + (_this.size - 1) * menuItemHeight +\n (menuItemHeight - selectHeight) / 2\n );\n if (menuMarginTop < menuMarginTopMax) {\n menuMarginTop = menuMarginTopMax;\n }\n\n // 菜单不能超出窗口\n var menuTop = selectTop + menuMarginTop;\n\n if (menuTop < gutter) {\n // 不能超出窗口上方\n menuMarginTop = -(selectTop - gutter);\n } else if (menuTop + menuHeight + gutter > windowHeight) {\n // 不能超出窗口下方\n menuMarginTop = -(selectTop + menuHeight + gutter - windowHeight);\n }\n\n // transform 的 Y 轴坐标\n transformOriginY = (_this.selectedIndex * menuItemHeight + menuItemHeight / 2 + menuItemMargin) + 'px';\n } else if (position === 'bottom') {\n menuMarginTop = selectHeight;\n transformOriginY = '0px';\n } else if (position === 'top') {\n menuMarginTop = -menuHeight - 1;\n transformOriginY = '100%';\n }\n\n // 设置样式\n _this.$select.width(menuWidth);\n _this.$menu\n .width(menuWidth)\n .height(menuHeight)\n .css({\n 'margin-top': menuMarginTop + 'px',\n 'transform-origin':\n 'center ' + transformOriginY + ' 0',\n });\n };\n\n /**\n * 下拉选择\n * @param selector\n * @param opts\n * @constructor\n */\n function Select(selector, opts) {\n var _this = this;\n\n var $selectNative = _this.$selectNative = $(selector).eq(0);\n if (!$selectNative.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = $selectNative.data('mdui.select');\n if (oldInst) {\n return oldInst;\n }\n\n $selectNative.hide();\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // 为当前 select 生成唯一 ID\n _this.uniqueID = $.guid();\n\n _this.state = 'closed';\n\n // 生成 select\n _this.handleUpdate();\n\n // 点击 select 外面区域关闭\n $document.on('click touchstart', function (e) {\n var $target = $(e.target);\n if (\n (_this.state === 'opening' || _this.state === 'opened') &&\n !$target.is(_this.$select) &&\n !$.contains(_this.$select[0], $target[0])\n ) {\n _this.close();\n }\n });\n }\n\n /**\n * 对原生 select 组件进行了修改后,需要调用该方法\n */\n Select.prototype.handleUpdate = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n }\n\n var $selectNative = _this.$selectNative;\n\n // 当前的值和文本\n _this.value = $selectNative.val();\n _this.text = '';\n\n // 生成 HTML\n // 菜单项\n _this.$items = $();\n $selectNative.find('option').each(function (index, option) {\n var data = {\n value: option.value,\n text: option.textContent,\n disabled: option.disabled,\n selected: _this.value === option.value,\n index: index,\n };\n\n if (_this.value === data.value) {\n _this.text = data.text;\n _this.selectedIndex = index;\n }\n\n _this.$items = _this.$items.add(\n $('
' + data.text + '
')\n .data(data)\n );\n });\n\n // selected\n _this.$selected = $('' + _this.text + '');\n\n // select\n _this.$select =\n $(\n '
'\n )\n .show()\n .append(_this.$selected);\n\n // menu\n _this.$menu =\n $('
')\n .appendTo(_this.$select)\n .append(_this.$items);\n\n $('#' + _this.uniqueID).remove();\n $selectNative.after(_this.$select);\n\n // 根据 select 的 size 属性设置高度,默认为 6\n _this.size = parseInt(_this.$selectNative.attr('size'));\n\n if (!_this.size || _this.size < 0) {\n _this.size = _this.$items.length;\n if (_this.size > 8) {\n _this.size = 8;\n }\n }\n\n // 点击选项时关闭下拉菜单\n _this.$items.on('click', function () {\n if (_this.state === 'closing') {\n return;\n }\n\n var $item = $(this);\n\n if ($item.data('disabled')) {\n return;\n }\n\n var itemData = $item.data();\n\n _this.$selected.text(itemData.text);\n $selectNative.val(itemData.value);\n _this.$items.removeAttr('selected');\n $item.attr('selected', '');\n _this.selectedIndex = itemData.index;\n _this.value = itemData.value;\n _this.text = itemData.text;\n $selectNative.trigger('change');\n\n _this.close();\n });\n\n // 点击 select 时打开下拉菜单\n _this.$select.on('click', function (e) {\n var $target = $(e.target);\n\n // 在菜单上点击时不打开\n if ($target.is('.mdui-select-menu') || $target.is('.mdui-select-menu-item')) {\n return;\n }\n\n _this.toggle();\n });\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n inst.$select.removeClass('mdui-select-closing');\n\n if (inst.state === 'opening') {\n inst.state = 'opened';\n componentEvent('opened', 'select', inst, inst.$selectNative);\n\n inst.$menu.css('overflow-y', 'auto');\n }\n\n if (inst.state === 'closing') {\n inst.state = 'closed';\n componentEvent('closed', 'select', inst, inst.$selectNative);\n\n // 恢复样式\n inst.$select.width('');\n inst.$menu.css({\n 'margin-top': '',\n height: '',\n width: '',\n });\n }\n };\n\n /**\n * 打开 Select\n */\n Select.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'select', _this, _this.$selectNative);\n\n readjustMenu(_this);\n\n _this.$select.addClass('mdui-select-open');\n\n _this.$menu.transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 关闭 Select\n */\n Select.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'select', _this, _this.$selectNative);\n\n _this.$menu.css('overflow-y', '');\n\n _this.$select\n .removeClass('mdui-select-open')\n .addClass('mdui-select-closing');\n _this.$menu.transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 切换 Select 显示状态\n */\n Select.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n return Select;\n})();\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-select]', function () {\n var $this = $(this);\n var inst = $this.data('mdui.select');\n if (!inst) {\n inst = new mdui.Select($this, parseOptions($this.attr('mdui-select')));\n $this.data('mdui.select', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Appbar ************\n * =============================================================================\n * 滚动时自动隐藏应用栏\n * mdui-appbar-scroll-hide\n * mdui-appbar-scroll-toolbar-hide\n */\n\n$(function () {\n // 滚动时隐藏应用栏\n mdui.mutation('.mdui-appbar-scroll-hide', function () {\n var $this = $(this);\n $this.data('mdui.headroom', new mdui.Headroom($this));\n });\n\n // 滚动时只隐藏应用栏中的工具栏\n mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () {\n var $this = $(this);\n var inst = new mdui.Headroom($this, {\n pinnedClass: 'mdui-headroom-pinned-toolbar',\n unpinnedClass: 'mdui-headroom-unpinned-toolbar',\n });\n $this.data('mdui.headroom', inst);\n });\n});\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n */\n\nmdui.Tab = (function () {\n\n var DEFAULT = {\n trigger: 'click', // 触发方式 click: 鼠标点击切换 hover: 鼠标悬浮切换\n //animation: false, // 切换时是否显示动画\n loop: false, // 为true时,在最后一个选项卡时调用 next() 方法会回到第一个选项卡\n };\n\n // 元素是否已禁用\n var isDisabled = function ($ele) {\n return $ele[0].disabled || $ele.attr('disabled') !== null;\n };\n\n /**\n * 选项卡\n * @param selector\n * @param opts\n * @returns {*}\n * @constructor\n */\n function Tab(selector, opts) {\n var _this = this;\n\n _this.$tab = $(selector).eq(0);\n if (!_this.$tab.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$tab.data('mdui.tab');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.$tabs = _this.$tab.children('a');\n _this.$indicator = $('
').appendTo(_this.$tab);\n _this.activeIndex = false; // 为 false 时表示没有激活的选项卡,或不存在选项卡\n\n // 根据 url hash 获取默认激活的选项卡\n var hash = location.hash;\n if (hash) {\n _this.$tabs.each(function (i, tab) {\n if ($(tab).attr('href') === hash) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n // 含 mdui-tab-active 的元素默认激活\n if (_this.activeIndex === false) {\n _this.$tabs.each(function (i, tab) {\n if ($(tab).hasClass('mdui-tab-active')) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n // 存在选项卡时,默认激活第一个选项卡\n if (_this.$tabs.length && _this.activeIndex === false) {\n _this.activeIndex = 0;\n }\n\n // 设置激活状态选项卡\n _this._setActive();\n\n // 监听窗口大小变化事件,调整指示器位置\n $window.on('resize', $.throttle(function () {\n _this._setIndicatorPosition();\n }, 100));\n\n // 监听点击选项卡事件\n _this.$tabs.each(function (i, tab) {\n _this._bindTabEvent(tab);\n });\n }\n\n /**\n * 绑定在 Tab 上点击或悬浮的事件\n * @private\n */\n Tab.prototype._bindTabEvent = function (tab) {\n var _this = this;\n var $tab = $(tab);\n\n // 点击或鼠标移入触发的事件\n var clickEvent = function (e) {\n // 禁用状态的选项无法选中\n if (isDisabled($tab)) {\n e.preventDefault();\n return;\n }\n\n _this.activeIndex = _this.$tabs.index(tab);\n _this._setActive();\n };\n\n // 无论 trigger 是 click 还是 hover,都会响应 click 事件\n $tab.on('click', clickEvent);\n\n // trigger 为 hover 时,额外响应 mouseenter 事件\n if (_this.options.trigger === 'hover') {\n $tab.on('mouseenter', clickEvent);\n }\n\n $tab.on('click', function (e) {\n // 阻止链接的默认点击动作\n if ($tab.attr('href').indexOf('#') === 0) {\n e.preventDefault();\n }\n });\n };\n\n /**\n * 设置激活状态的选项卡\n * @private\n */\n Tab.prototype._setActive = function () {\n var _this = this;\n\n _this.$tabs.each(function (i, tab) {\n var $tab = $(tab);\n var targetId = $tab.attr('href');\n\n // 设置选项卡激活状态\n if (i === _this.activeIndex && !isDisabled($tab)) {\n if (!$tab.hasClass('mdui-tab-active')) {\n componentEvent('change', 'tab', _this, _this.$tab, {\n index: _this.activeIndex,\n id: targetId.substr(1),\n });\n componentEvent('show', 'tab', _this, $tab);\n\n $tab.addClass('mdui-tab-active');\n }\n\n $(targetId).show();\n _this._setIndicatorPosition();\n } else {\n $tab.removeClass('mdui-tab-active');\n $(targetId).hide();\n }\n });\n };\n\n /**\n * 设置选项卡指示器的位置\n */\n Tab.prototype._setIndicatorPosition = function () {\n var _this = this;\n var $activeTab;\n var activeTabOffset;\n\n // 选项卡数量为 0 时,不显示指示器\n if (_this.activeIndex === false) {\n _this.$indicator.css({\n left: 0,\n width: 0,\n });\n\n return;\n }\n\n $activeTab = _this.$tabs.eq(_this.activeIndex);\n if (isDisabled($activeTab)) {\n return;\n }\n\n activeTabOffset = $activeTab.offset();\n _this.$indicator.css({\n left: activeTabOffset.left + _this.$tab[0].scrollLeft -\n _this.$tab[0].getBoundingClientRect().left + 'px',\n width: $activeTab.width() + 'px',\n });\n };\n\n /**\n * 切换到下一个选项卡\n */\n Tab.prototype.next = function () {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (_this.$tabs.length > _this.activeIndex + 1) {\n _this.activeIndex++;\n } else if (_this.options.loop) {\n _this.activeIndex = 0;\n }\n\n _this._setActive();\n };\n\n /**\n * 切换到上一个选项卡\n */\n Tab.prototype.prev = function () {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (_this.activeIndex > 0) {\n _this.activeIndex--;\n } else if (_this.options.loop) {\n _this.activeIndex = _this.$tabs.length - 1;\n }\n\n _this._setActive();\n };\n\n /**\n * 显示指定序号或指定id的选项卡\n * @param index 从0开始的序号,或以#开头的id\n */\n Tab.prototype.show = function (index) {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (parseInt(index) === index) {\n _this.activeIndex = index;\n } else {\n _this.$tabs.each(function (i, tab) {\n if (tab.id === index) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n _this._setActive();\n };\n\n /**\n * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置\n * 在添加或删除选项卡时,需要调用该方法\n */\n Tab.prototype.handleUpdate = function () {\n var _this = this;\n\n var $oldTabs = _this.$tabs; // 旧的 tabs JQ对象\n var $newTabs = _this.$tab.children('a'); // 新的 tabs JQ对象\n var oldTabsEle = $oldTabs.get(); // 旧 tabs 的元素数组\n var newTabsEle = $newTabs.get(); // 新的 tabs 元素数组\n\n if (!$newTabs.length) {\n _this.activeIndex = false;\n _this.$tabs = $newTabs;\n _this._setIndicatorPosition();\n\n return;\n }\n\n // 重新遍历选项卡,找出新增的选项卡\n $newTabs.each(function (i, tab) {\n // 有新增的选项卡\n if (oldTabsEle.indexOf(tab) < 0) {\n _this._bindTabEvent(tab);\n\n if (_this.activeIndex === false) {\n _this.activeIndex = 0;\n } else if (i <= _this.activeIndex) {\n _this.activeIndex++;\n }\n }\n });\n\n // 找出被移除的选项卡\n $oldTabs.each(function (i, tab) {\n // 有被移除的选项卡\n if (newTabsEle.indexOf(tab) < 0) {\n\n if (i < _this.activeIndex) {\n _this.activeIndex--;\n } else if (i === _this.activeIndex) {\n _this.activeIndex = 0;\n }\n }\n });\n\n _this.$tabs = $newTabs;\n\n _this._setActive();\n };\n\n return Tab;\n})();\n","/**\n * =============================================================================\n * ************ Tab 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-tab]', function () {\n var $this = $(this);\n var inst = $this.data('mdui.tab');\n if (!inst) {\n inst = new mdui.Tab($this, parseOptions($this.attr('mdui-tab')));\n $this.data('mdui.tab', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏 ************\n * =============================================================================\n *\n * 在桌面设备上默认显示抽屉栏,不显示遮罩层\n * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏\n */\n\nmdui.Drawer = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n // 在桌面设备上是否显示遮罩层。手机和平板不受这个参数影响,始终会显示遮罩层\n overlay: false,\n\n // 是否开启手势\n swipe: false,\n };\n\n var isDesktop = function () {\n return $window.width() >= 1024;\n };\n\n /**\n * 抽屉栏实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素\n * @param opts\n * @constructor\n */\n function Drawer(selector, opts) {\n var _this = this;\n\n _this.$drawer = $(selector).eq(0);\n if (!_this.$drawer.length) {\n return;\n }\n\n var oldInst = _this.$drawer.data('mdui.drawer');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n _this.overlay = false; // 是否显示着遮罩层\n _this.position = _this.$drawer.hasClass('mdui-drawer-right') ? 'right' : 'left';\n\n if (_this.$drawer.hasClass('mdui-drawer-close')) {\n _this.state = 'closed';\n } else if (_this.$drawer.hasClass('mdui-drawer-open')) {\n _this.state = 'opened';\n } else if (isDesktop()) {\n _this.state = 'opened';\n } else {\n _this.state = 'closed';\n }\n\n // 浏览器窗口大小调整时\n $window.on('resize', $.throttle(function () {\n // 由手机平板切换到桌面时\n if (isDesktop()) {\n // 如果显示着遮罩,则隐藏遮罩\n if (_this.overlay && !_this.options.overlay) {\n $.hideOverlay();\n _this.overlay = false;\n $.unlockScreen();\n }\n\n // 没有强制关闭,则状态为打开状态\n if (!_this.$drawer.hasClass('mdui-drawer-close')) {\n _this.state = 'opened';\n }\n }\n\n // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏\n else {\n if (!_this.overlay && _this.state === 'opened') {\n // 抽屉栏处于强制打开状态,添加遮罩\n if (_this.$drawer.hasClass('mdui-drawer-open')) {\n $.showOverlay();\n _this.overlay = true;\n $.lockScreen();\n\n $('.mdui-overlay').one('click', function () {\n _this.close();\n });\n } else {\n _this.state = 'closed';\n }\n }\n }\n }, 100));\n\n // 绑定关闭按钮事件\n _this.$drawer.find('[mdui-drawer-close]').each(function () {\n $(this).on('click', function () {\n _this.close();\n });\n });\n\n swipeSupport(_this);\n }\n\n /**\n * 滑动手势支持\n * @param _this\n */\n var swipeSupport = function (_this) {\n // 抽屉栏滑动手势控制\n var openNavEventHandler;\n var touchStartX;\n var touchStartY;\n var swipeStartX;\n var swiping = false;\n var maybeSwiping = false;\n var $body = $('body');\n\n // 手势触发的范围\n var swipeAreaWidth = 24;\n\n function enableSwipeHandling() {\n if (!openNavEventHandler) {\n $body.on('touchstart', onBodyTouchStart);\n openNavEventHandler = onBodyTouchStart;\n }\n }\n\n function setPosition(translateX, closeTransform) {\n var rtlTranslateMultiplier = _this.position === 'right' ? -1 : 1;\n var transformCSS = 'translate(' + (-1 * rtlTranslateMultiplier * translateX) + 'px, 0) !important;';\n _this.$drawer.css(\n 'cssText',\n 'transform:' + transformCSS + (closeTransform ? 'transition: initial !important;' : '')\n );\n }\n\n function cleanPosition() {\n _this.$drawer.css({\n transform: '',\n transition: '',\n });\n }\n\n function getMaxTranslateX() {\n return _this.$drawer.width() + 10;\n }\n\n function getTranslateX(currentX) {\n return Math.min(\n Math.max(\n swiping === 'closing' ? (swipeStartX - currentX) : (getMaxTranslateX() + swipeStartX - currentX),\n 0\n ),\n getMaxTranslateX()\n );\n }\n\n function onBodyTouchStart(event) {\n touchStartX = event.touches[0].pageX;\n if (_this.position === 'right') {\n touchStartX = $body.width() - touchStartX;\n }\n\n touchStartY = event.touches[0].pageY;\n\n if (_this.state !== 'opened') {\n if (touchStartX > swipeAreaWidth || openNavEventHandler !== onBodyTouchStart) {\n return;\n }\n }\n\n maybeSwiping = true;\n\n $body.on({\n touchmove: onBodyTouchMove,\n touchend: onBodyTouchEnd,\n touchcancel: onBodyTouchMove,\n });\n }\n\n function onBodyTouchMove(event) {\n var touchX = event.touches[0].pageX;\n if (_this.position === 'right') {\n touchX = $body.width() - touchX;\n }\n\n var touchY = event.touches[0].pageY;\n\n if (swiping) {\n setPosition(getTranslateX(touchX), true);\n } else if (maybeSwiping) {\n var dXAbs = Math.abs(touchX - touchStartX);\n var dYAbs = Math.abs(touchY - touchStartY);\n var threshold = 8;\n\n if (dXAbs > threshold && dYAbs <= threshold) {\n swipeStartX = touchX;\n swiping = _this.state === 'opened' ? 'closing' : 'opening';\n $.lockScreen();\n setPosition(getTranslateX(touchX), true);\n } else if (dXAbs <= threshold && dYAbs > threshold) {\n onBodyTouchEnd();\n }\n }\n }\n\n function onBodyTouchEnd(event) {\n if (swiping) {\n var touchX = event.changedTouches[0].pageX;\n if (_this.position === 'right') {\n touchX = $body.width() - touchX;\n }\n\n var translateRatio = getTranslateX(touchX) / getMaxTranslateX();\n\n maybeSwiping = false;\n var swipingState = swiping;\n swiping = null;\n\n if (swipingState === 'opening') {\n if (translateRatio < 0.92) {\n cleanPosition();\n _this.open();\n } else {\n cleanPosition();\n }\n } else {\n if (translateRatio > 0.08) {\n cleanPosition();\n _this.close();\n } else {\n cleanPosition();\n }\n }\n\n $.unlockScreen();\n } else {\n maybeSwiping = false;\n }\n\n $body.off({\n touchmove: onBodyTouchMove,\n touchend: onBodyTouchEnd,\n touchcancel: onBodyTouchMove,\n });\n }\n\n if (_this.options.swipe) {\n enableSwipeHandling();\n }\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.$drawer.hasClass('mdui-drawer-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'drawer', inst, inst.$drawer);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'drawer', inst, inst.$drawer);\n }\n };\n\n /**\n * 打开抽屉栏\n */\n Drawer.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'drawer', _this, _this.$drawer);\n\n if (!_this.options.overlay) {\n $('body').addClass('mdui-drawer-body-' + _this.position);\n }\n\n _this.$drawer\n .removeClass('mdui-drawer-close')\n .addClass('mdui-drawer-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (!isDesktop() || _this.options.overlay) {\n _this.overlay = true;\n $.showOverlay().one('click', function () {\n _this.close();\n });\n\n $.lockScreen();\n }\n };\n\n /**\n * 关闭抽屉栏\n */\n Drawer.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'drawer', _this, _this.$drawer);\n\n if (!_this.options.overlay) {\n $('body').removeClass('mdui-drawer-body-' + _this.position);\n }\n\n _this.$drawer\n .addClass('mdui-drawer-close')\n .removeClass('mdui-drawer-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (_this.overlay) {\n $.hideOverlay();\n _this.overlay = false;\n $.unlockScreen();\n }\n };\n\n /**\n * 切换抽屉栏打开/关闭状态\n */\n Drawer.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取抽屉栏状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Drawer.prototype.getState = function () {\n return this.state;\n };\n\n return Drawer;\n\n})();\n","/**\n * =============================================================================\n * ************ Drawer 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-drawer]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-drawer'));\n var selector = options.target;\n delete options.target;\n\n var $drawer = $(selector).eq(0);\n\n var inst = $drawer.data('mdui.drawer');\n if (!inst) {\n inst = new mdui.Drawer($drawer, options);\n $drawer.data('mdui.drawer', inst);\n }\n\n $this.on('click', function () {\n inst.toggle();\n });\n\n });\n});\n","/**\n * =============================================================================\n * ************ Dialog 对话框 ************\n * =============================================================================\n */\n\nmdui.Dialog = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n history: true, // 监听 hashchange 事件\n overlay: true, // 打开对话框时是否显示遮罩\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n closeOnCancel: true, // 按下取消按钮时关闭对话框\n closeOnConfirm: true, // 按下确认按钮时关闭对话框\n destroyOnClosed: false, // 关闭后销毁\n };\n\n /**\n * 遮罩层元素\n */\n var $overlay;\n\n /**\n * 窗口是否已锁定\n */\n var isLockScreen;\n\n /**\n * 当前对话框实例\n */\n var currentInst;\n\n /**\n * 队列名\n */\n var queueName = '__md_dialog';\n\n /**\n * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条\n */\n var readjust = function () {\n if (!currentInst) {\n return;\n }\n\n var $dialog = currentInst.$dialog;\n\n var $dialogTitle = $dialog.children('.mdui-dialog-title');\n var $dialogContent = $dialog.children('.mdui-dialog-content');\n var $dialogActions = $dialog.children('.mdui-dialog-actions');\n\n // 调整 dialog 的 top 和 height 值\n $dialog.height('');\n $dialogContent.height('');\n\n var dialogHeight = $dialog.height();\n $dialog.css({\n top: (($window.height() - dialogHeight) / 2) + 'px',\n height: dialogHeight + 'px',\n });\n\n // 调整 mdui-dialog-content 的高度\n $dialogContent.height(dialogHeight - ($dialogTitle.height() || 0) - ($dialogActions.height() || 0));\n };\n\n /**\n * hashchange 事件触发时关闭对话框\n */\n var hashchangeEvent = function () {\n if (location.hash.substring(1).indexOf('mdui-dialog') < 0) {\n currentInst.close(true);\n }\n };\n\n /**\n * 点击遮罩层关闭对话框\n * @param e\n */\n var overlayClick = function (e) {\n if ($(e.target).hasClass('mdui-overlay') && currentInst) {\n currentInst.close();\n }\n };\n\n /**\n * 对话框实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素\n * @param opts\n * @constructor\n */\n function Dialog(selector, opts) {\n var _this = this;\n\n // 对话框元素\n _this.$dialog = $(selector).eq(0);\n if (!_this.$dialog.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$dialog.data('mdui.dialog');\n if (oldInst) {\n return oldInst;\n }\n\n // 如果对话框元素没有在当前文档中,则需要添加\n if (!$.contains(document.body, _this.$dialog[0])) {\n _this.append = true;\n $('body').append(_this.$dialog);\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 绑定取消按钮事件\n _this.$dialog.find('[mdui-dialog-cancel]').each(function () {\n $(this).on('click', function () {\n componentEvent('cancel', 'dialog', _this, _this.$dialog);\n if (_this.options.closeOnCancel) {\n _this.close();\n }\n });\n });\n\n // 绑定确认按钮事件\n _this.$dialog.find('[mdui-dialog-confirm]').each(function () {\n $(this).on('click', function () {\n componentEvent('confirm', 'dialog', _this, _this.$dialog);\n if (_this.options.closeOnConfirm) {\n _this.close();\n }\n });\n });\n\n // 绑定关闭按钮事件\n _this.$dialog.find('[mdui-dialog-close]').each(function () {\n $(this).on('click', function () {\n _this.close();\n });\n });\n }\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.$dialog.hasClass('mdui-dialog-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'dialog', inst, inst.$dialog);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'dialog', inst, inst.$dialog);\n\n inst.$dialog.hide();\n\n // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕\n if (queue.queue(queueName).length === 0 && !currentInst && isLockScreen) {\n $.unlockScreen();\n isLockScreen = false;\n }\n\n $window.off('resize', $.throttle(function () {\n readjust();\n }, 100));\n\n if (inst.options.destroyOnClosed) {\n inst.destroy();\n }\n }\n };\n\n /**\n * 打开指定对话框\n * @private\n */\n Dialog.prototype._doOpen = function () {\n var _this = this;\n\n currentInst = _this;\n\n if (!isLockScreen) {\n $.lockScreen();\n isLockScreen = true;\n }\n\n _this.$dialog.show();\n\n readjust();\n $window.on('resize', $.throttle(function () {\n readjust();\n }, 100));\n\n // 打开消息框\n _this.state = 'opening';\n componentEvent('open', 'dialog', _this, _this.$dialog);\n\n _this.$dialog\n .addClass('mdui-dialog-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n // 不存在遮罩层元素时,添加遮罩层\n if (!$overlay) {\n $overlay = $.showOverlay(5100);\n }\n\n $overlay\n\n // 点击遮罩层时是否关闭对话框\n [_this.options.modal ? 'off' : 'on']('click', overlayClick)\n\n // 是否显示遮罩层,不显示时,把遮罩层背景透明\n .css('opacity', _this.options.overlay ? '' : 0);\n\n if (_this.options.history) {\n // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭\n // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog\n var hash = location.hash.substring(1);\n if (hash.indexOf('mdui-dialog') > -1) {\n hash = hash.replace(/[&?]?mdui-dialog/g, '');\n }\n\n // 后退按钮关闭对话框\n if (hash) {\n location.hash = hash + (hash.indexOf('?') > -1 ? '&' : '?') + 'mdui-dialog';\n } else {\n location.hash = 'mdui-dialog';\n }\n\n $window.on('hashchange', hashchangeEvent);\n }\n };\n\n /**\n * 打开对话框\n */\n Dialog.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开\n if (\n (currentInst && (currentInst.state === 'opening' || currentInst.state === 'opened')) ||\n queue.queue(queueName).length\n ) {\n queue.queue(queueName, function () {\n _this._doOpen();\n });\n\n return;\n }\n\n _this._doOpen();\n };\n\n /**\n * 关闭对话框\n */\n Dialog.prototype.close = function () {\n var _this = this;\n var _arguments = arguments;\n\n // setTimeout 的作用是:\n // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列\n setTimeout(function () {\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n currentInst = null;\n\n _this.state = 'closing';\n componentEvent('close', 'dialog', _this, _this.$dialog);\n\n // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩\n if (queue.queue(queueName).length === 0 && $overlay) {\n $.hideOverlay();\n $overlay = null;\n }\n\n _this.$dialog\n .removeClass('mdui-dialog-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (_this.options.history && queue.queue(queueName).length === 0) {\n // 是否需要后退历史纪录,默认为 false。\n // 为 false 时是通过 js 关闭,需要后退一个历史记录\n // 为 true 时是通过后退按钮关闭,不需要后退历史记录\n if (!_arguments[0]) {\n window.history.back();\n }\n\n $window.off('hashchange', hashchangeEvent);\n }\n\n // 关闭旧对话框,打开新对话框。\n // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能\n setTimeout(function () {\n queue.dequeue(queueName);\n }, 100);\n }, 0);\n };\n\n /**\n * 切换对话框打开/关闭状态\n */\n Dialog.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取对话框状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Dialog.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 销毁对话框\n */\n Dialog.prototype.destroy = function () {\n var _this = this;\n\n if (_this.append) {\n _this.$dialog.remove();\n }\n\n _this.$dialog.removeData('mdui.dialog');\n\n if (queue.queue(queueName).length === 0 && !currentInst) {\n if ($overlay) {\n $.hideOverlay();\n $overlay = null;\n }\n\n if (isLockScreen) {\n $.unlockScreen();\n isLockScreen = false;\n }\n }\n };\n\n /**\n * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度\n */\n Dialog.prototype.handleUpdate = function () {\n readjust();\n };\n\n // esc 按下时关闭对话框\n $document.on('keydown', function (e) {\n if (\n currentInst &&\n currentInst.options.closeOnEsc &&\n currentInst.state === 'opened' &&\n e.keyCode === 27\n ) {\n currentInst.close();\n }\n });\n\n return Dialog;\n\n})();\n","/**\n * =============================================================================\n * ************ Dialog DATA API ************\n * =============================================================================\n */\n\n$(function () {\n $document.on('click', '[mdui-dialog]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-dialog'));\n var selector = options.target;\n delete options.target;\n\n var $dialog = $(selector).eq(0);\n\n var inst = $dialog.data('mdui.dialog');\n if (!inst) {\n inst = new mdui.Dialog($dialog, options);\n $dialog.data('mdui.dialog', inst);\n }\n\n inst.open();\n });\n});\n","/**\n * =============================================================================\n * ************ mdui.dialog(options) ************\n * =============================================================================\n */\n\nmdui.dialog = function (options) {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n title: '', // 标题\n content: '', // 文本\n buttons: [], // 按钮\n stackedButtons: false, // 垂直排列按钮\n cssClass: '', // 在 Dialog 上添加的 CSS 类\n history: true, // 监听 hashchange 事件\n overlay: true, // 是否显示遮罩\n modal: false, // 是否模态化对话框\n closeOnEsc: true, // 按下 esc 时关闭对话框\n destroyOnClosed: true, // 关闭后销毁\n onOpen: function () { // 打开动画开始时的回调\n },\n\n onOpened: function () { // 打开动画结束后的回调\n },\n\n onClose: function () { // 关闭动画开始时的回调\n },\n\n onClosed: function () { // 关闭动画结束时的回调\n },\n };\n\n /**\n * 按钮的默认参数\n */\n var DEFAULT_BUTTON = {\n text: '', // 按钮文本\n bold: false, // 按钮文本是否加粗\n close: true, // 点击按钮后关闭对话框\n onClick: function (inst) { // 点击按钮的回调\n },\n };\n\n // 合并参数\n options = $.extend({}, DEFAULT, (options || {}));\n $.each(options.buttons, function (i, button) {\n options.buttons[i] = $.extend({}, DEFAULT_BUTTON, button);\n });\n\n // 按钮的 HTML\n var buttonsHTML = '';\n if (options.buttons.length) {\n buttonsHTML =\n '
';\n $.each(options.buttons, function (i, button) {\n buttonsHTML +=\n '' +\n button.text +\n '';\n });\n\n buttonsHTML += '
';\n }\n\n // Dialog 的 HTML\n var HTML =\n '
' +\n (options.title ? '
' + options.title + '
' : '') +\n (options.content ? '
' + options.content + '
' : '') +\n buttonsHTML +\n '
';\n\n // 实例化 Dialog\n var inst = new mdui.Dialog(HTML, {\n history: options.history,\n overlay: options.overlay,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n destroyOnClosed: options.destroyOnClosed,\n });\n\n // 绑定按钮事件\n if (options.buttons.length) {\n inst.$dialog.find('.mdui-dialog-actions .mdui-btn').each(function (i, button) {\n $(button).on('click', function () {\n if (typeof options.buttons[i].onClick === 'function') {\n options.buttons[i].onClick(inst);\n }\n\n if (options.buttons[i].close) {\n inst.close();\n }\n });\n });\n }\n\n // 绑定打开关闭事件\n if (typeof options.onOpen === 'function') {\n inst.$dialog\n .on('open.mdui.dialog', function () {\n options.onOpen(inst);\n })\n .on('opened.mdui.dialog', function () {\n options.onOpened(inst);\n })\n .on('close.mdui.dialog', function () {\n options.onClose(inst);\n })\n .on('closed.mdui.dialog', function () {\n options.onClosed(inst);\n });\n }\n\n inst.open();\n\n return inst;\n};\n","/**\n * =============================================================================\n * ************ mdui.alert(text, title, onConfirm, options) ************\n * ************ mdui.alert(text, onConfirm, options) ************\n * =============================================================================\n */\n\nmdui.alert = function (text, title, onConfirm, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n options = arguments[2];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 按钮上的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n };\n\n options = $.extend({}, DEFAULT, options);\n\n return mdui.dialog({\n title: title,\n content: text,\n buttons: [\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirm,\n },\n ],\n cssClass: 'mdui-dialog-alert',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n });\n};\n","/**\n * =============================================================================\n * ************ mdui.confirm(text, title, onConfirm, onCancel, options) ************\n * ************ mdui.confirm(text, onConfirm, onCancel, options) ************\n * =============================================================================\n */\n\nmdui.confirm = function (text, title, onConfirm, onCancel, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n onCancel = arguments[2];\n options = arguments[3];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (onCancel === undefined) {\n onCancel = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 确认按钮的文本\n cancelText: 'cancel', // 取消按钮的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n };\n\n options = $.extend({}, DEFAULT, options);\n\n return mdui.dialog({\n title: title,\n content: text,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: true,\n onClick: onCancel,\n },\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirm,\n },\n ],\n cssClass: 'mdui-dialog-confirm',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n });\n};\n","/**\n * =============================================================================\n * ************ mdui.prompt(label, title, onConfirm, onCancel, options) ************\n * ************ mdui.prompt(label, onConfirm, onCancel, options) ************\n * =============================================================================\n */\n\nmdui.prompt = function (label, title, onConfirm, onCancel, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n onCancel = arguments[2];\n options = arguments[3];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (onCancel === undefined) {\n onCancel = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 确认按钮的文本\n cancelText: 'cancel', // 取消按钮的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n type: 'text', // 输入框类型,text: 单行文本框 textarea: 多行文本框\n maxlength: '', // 最大输入字符数\n defaultValue: '', // 输入框中的默认文本\n confirmOnEnter: false, // 按下 enter 确认输入内容\n };\n\n options = $.extend({}, DEFAULT, options);\n\n var content =\n '
' +\n (label ? '' : '') +\n (options.type === 'text' ?\n '' :\n '') +\n (options.type === 'textarea' ?\n '' :\n '') +\n '
';\n\n var onCancelClick = onCancel;\n if (typeof onCancel === 'function') {\n onCancelClick = function (inst) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onCancel(value, inst);\n }\n }\n\n var onConfirmClick = onConfirm;\n if (typeof onConfirm === 'function') {\n onConfirmClick = function (inst) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onConfirm(value, inst);\n }\n }\n\n return mdui.dialog({\n title: title,\n content: content,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: true,\n onClick: onCancelClick,\n },\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirmClick,\n },\n ],\n cssClass: 'mdui-dialog-prompt',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n onOpen: function (inst) {\n\n // 初始化输入框\n var $input = inst.$dialog.find('.mdui-textfield-input');\n mdui.updateTextFields($input);\n\n // 聚焦到输入框\n $input[0].focus();\n\n // 捕捉文本框回车键,在单行文本框的情况下触发回调\n if (options.type === 'text' && options.confirmOnEnter === true) {\n $input.on('keydown', function (event) {\n if (event.keyCode === 13) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onConfirm(value, inst);\n inst.close();\n }\n });\n }\n\n // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度\n if (options.type === 'textarea') {\n $input.on('input', function () {\n inst.handleUpdate();\n });\n }\n\n // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度\n if (options.maxlength) {\n inst.handleUpdate();\n }\n },\n });\n\n};\n","/**\n * =============================================================================\n * ************ ToolTip 工具提示 ************\n * =============================================================================\n */\n\nmdui.Tooltip = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 提示所在位置\n delay: 0, // 延迟,单位毫秒\n content: '', // 提示文本,允许包含 HTML\n };\n\n /**\n * 是否是桌面设备\n * @returns {boolean}\n */\n var isDesktop = function () {\n return $window.width() > 1024;\n };\n\n /**\n * 设置 Tooltip 的位置\n * @param inst\n */\n function setPosition(inst) {\n var marginLeft;\n var marginTop;\n var position;\n\n // 触发的元素\n var targetProps = inst.$target[0].getBoundingClientRect();\n\n // 触发的元素和 Tooltip 之间的距离\n var targetMargin = (isDesktop() ? 14 : 24);\n\n // Tooltip 的宽度和高度\n var tooltipWidth = inst.$tooltip[0].offsetWidth;\n var tooltipHeight = inst.$tooltip[0].offsetHeight;\n\n // Tooltip 的方向\n position = inst.options.position;\n\n // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距\n if (['bottom', 'top', 'left', 'right'].indexOf(position) === -1) {\n if (\n targetProps.top + targetProps.height + targetMargin + tooltipHeight + 2 <\n $window.height()\n ) {\n position = 'bottom';\n } else if (targetMargin + tooltipHeight + 2 < targetProps.top) {\n position = 'top';\n } else if (targetMargin + tooltipWidth + 2 < targetProps.left) {\n position = 'left';\n } else if (\n targetProps.width + targetMargin + tooltipWidth + 2 <\n $window.width() - targetProps.left\n ) {\n position = 'right';\n } else {\n position = 'bottom';\n }\n }\n\n // 设置位置\n switch (position) {\n case 'bottom':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = (targetProps.height / 2) + targetMargin;\n inst.$tooltip.transformOrigin('top center');\n break;\n case 'top':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = -1 * (tooltipHeight + (targetProps.height / 2) + targetMargin);\n inst.$tooltip.transformOrigin('bottom center');\n break;\n case 'left':\n marginLeft = -1 * (tooltipWidth + (targetProps.width / 2) + targetMargin);\n marginTop = -1 * (tooltipHeight / 2);\n inst.$tooltip.transformOrigin('center right');\n break;\n case 'right':\n marginLeft = (targetProps.width / 2) + targetMargin;\n marginTop = -1 * (tooltipHeight / 2);\n inst.$tooltip.transformOrigin('center left');\n break;\n }\n\n var targetOffset = inst.$target.offset();\n inst.$tooltip.css({\n top: targetOffset.top + (targetProps.height / 2) + 'px',\n left: targetOffset.left + (targetProps.width / 2) + 'px',\n 'margin-left': marginLeft + 'px',\n 'margin-top': marginTop + 'px',\n });\n }\n\n /**\n * Tooltip 实例\n * @param selector\n * @param opts\n * @constructor\n */\n function Tooltip(selector, opts) {\n var _this = this;\n\n _this.$target = $(selector).eq(0);\n if (!_this.$target.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$target.data('mdui.tooltip');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 创建 Tooltip HTML\n _this.$tooltip = $(\n '
' +\n _this.options.content +\n '
'\n ).appendTo(document.body);\n\n // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用\n _this.$target\n .on('touchstart mouseenter', function (e) {\n if (this.disabled) {\n return;\n }\n\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n _this.open();\n })\n .on('touchend mouseleave', function (e) {\n if (this.disabled) {\n return;\n }\n\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n _this.close();\n })\n .on(TouchHandler.unlock, function (e) {\n if (this.disabled) {\n return;\n }\n\n TouchHandler.register(e);\n });\n }\n\n /**\n * 动画结束回调\n * @private\n */\n var transitionEnd = function (inst) {\n if (inst.$tooltip.hasClass('mdui-tooltip-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'tooltip', inst, inst.$target);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'tooltip', inst, inst.$target);\n }\n };\n\n /**\n * 执行打开 Tooltip\n * @private\n */\n Tooltip.prototype._doOpen = function () {\n var _this = this;\n\n _this.state = 'opening';\n componentEvent('open', 'tooltip', _this, _this.$target);\n\n _this.$tooltip\n .addClass('mdui-tooltip-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 打开 Tooltip\n * @param opts 允许每次打开时设置不同的参数\n */\n Tooltip.prototype.open = function (opts) {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n var oldOpts = $.extend({}, _this.options);\n\n // 合并 data 属性参数\n $.extend(_this.options, parseOptions(_this.$target.attr('mdui-tooltip')));\n if (opts) {\n $.extend(_this.options, opts);\n }\n\n // tooltip 的内容有更新\n if (oldOpts.content !== _this.options.content) {\n _this.$tooltip.html(_this.options.content);\n }\n\n setPosition(_this);\n\n if (_this.options.delay) {\n _this.timeoutId = setTimeout(function () {\n _this._doOpen();\n }, _this.options.delay);\n } else {\n _this.timeoutId = false;\n _this._doOpen();\n }\n };\n\n /**\n * 关闭 Tooltip\n */\n Tooltip.prototype.close = function () {\n var _this = this;\n\n if (_this.timeoutId) {\n clearTimeout(_this.timeoutId);\n _this.timeoutId = false;\n }\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'tooltip', _this, _this.$target);\n\n _this.$tooltip\n .removeClass('mdui-tooltip-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 切换 Tooltip 状态\n */\n Tooltip.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取 Tooltip 状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Tooltip.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 销毁 Tooltip\n */\n /*Tooltip.prototype.destroy = function () {\n var _this = this;\n clearTimeout(_this.timeoutId);\n $.data(_this.target, 'mdui.tooltip', null);\n $.remove(_this.tooltip);\n };*/\n\n return Tooltip;\n\n})();\n","/**\n * =============================================================================\n * ************ Tooltip DATA API ************\n * =============================================================================\n */\n\n$(function () {\n // mouseenter 不能冒泡,所以这里用 mouseover 代替\n $document.on('touchstart mouseover', '[mdui-tooltip]', function () {\n var $this = $(this);\n\n var inst = $this.data('mdui.tooltip');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-tooltip'));\n inst = new mdui.Tooltip($this, options);\n $this.data('mdui.tooltip', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 当前打开着的 Snackbar\n */\n var currentInst;\n\n /**\n * 对列名\n * @type {string}\n */\n var queueName = '__md_snackbar';\n\n var DEFAULT = {\n timeout: 4000, // 在用户没有操作时多长时间自动隐藏\n buttonText: '', // 按钮的文本\n buttonColor: '', // 按钮的颜色,支持 blue #90caf9 rgba(...)\n position: 'bottom', // 位置 bottom、top、left-top、left-bottom、right-top、right-bottom\n closeOnButtonClick: true, // 点击按钮时关闭\n closeOnOutsideClick: true, // 触摸或点击屏幕其他地方时关闭\n onClick: function () { // 在 Snackbar 上点击的回调\n },\n\n onButtonClick: function () { // 点击按钮的回调\n },\n\n onOpen: function () { // 打开动画开始时的回调\n },\n\n onOpened: function () { // 打开动画结束时的回调\n },\n\n onClose: function () { // 关闭动画开始时的回调\n },\n\n onClosed: function () { // 打开动画结束时的回调\n },\n };\n\n /**\n * 点击 Snackbar 外面的区域关闭\n * @param e\n */\n var closeOnOutsideClick = function (e) {\n var $target = $(e.target);\n if (!$target.hasClass('mdui-snackbar') && !$target.parents('.mdui-snackbar').length) {\n currentInst.close();\n }\n };\n\n /**\n * Snackbar 实例\n * @param message\n * @param opts\n * @constructor\n */\n function Snackbar(message, opts) {\n var _this = this;\n\n _this.message = message;\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // message 参数必须\n if (!_this.message) {\n return;\n }\n\n _this.state = 'closed';\n\n _this.timeoutId = false;\n\n // 按钮颜色\n var buttonColorStyle = '';\n var buttonColorClass = '';\n\n if (\n _this.options.buttonColor.indexOf('#') === 0 ||\n _this.options.buttonColor.indexOf('rgb') === 0\n ) {\n buttonColorStyle = 'style=\"color:' + _this.options.buttonColor + '\"';\n } else if (_this.options.buttonColor !== '') {\n buttonColorClass = 'mdui-text-color-' + _this.options.buttonColor;\n }\n\n // 添加 HTML\n _this.$snackbar = $(\n '
' +\n '
' +\n _this.message +\n '
' +\n (_this.options.buttonText ?\n ('' +\n _this.options.buttonText +\n '') :\n ''\n ) +\n '
')\n .appendTo(document.body);\n\n // 设置位置\n _this._setPosition('close');\n\n _this.$snackbar\n .reflow()\n .addClass('mdui-snackbar-' + _this.options.position);\n }\n\n /**\n * 设置 Snackbar 的位置\n * @param state\n * @private\n */\n Snackbar.prototype._setPosition = function (state) {\n var _this = this;\n\n var snackbarHeight = _this.$snackbar[0].clientHeight;\n var position = _this.options.position;\n\n var translateX;\n var translateY;\n\n // translateX\n if (position === 'bottom' || position === 'top') {\n translateX = '-50%';\n } else {\n translateX = '0';\n }\n\n // translateY\n if (state === 'open') {\n translateY = '0';\n } else {\n if (position === 'bottom') {\n translateY = snackbarHeight;\n }\n\n if (position === 'top') {\n translateY = -snackbarHeight;\n }\n\n if (position === 'left-top' || position === 'right-top') {\n translateY = -snackbarHeight - 24;\n }\n\n if (position === 'left-bottom' || position === 'right-bottom') {\n translateY = snackbarHeight + 24;\n }\n }\n\n _this.$snackbar.transform('translate(' + translateX + ',' + translateY + 'px)');\n };\n\n /**\n * 打开 Snackbar\n */\n Snackbar.prototype.open = function () {\n var _this = this;\n\n if (!_this.message) {\n return;\n }\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开\n if (currentInst) {\n queue.queue(queueName, function () {\n _this.open();\n });\n\n return;\n }\n\n currentInst = _this;\n\n // 开始打开\n _this.state = 'opening';\n _this.options.onOpen();\n\n _this._setPosition('open');\n\n _this.$snackbar\n .transitionEnd(function () {\n if (_this.state !== 'opening') {\n return;\n }\n\n _this.state = 'opened';\n _this.options.onOpened();\n\n // 有按钮时绑定事件\n if (_this.options.buttonText) {\n _this.$snackbar\n .find('.mdui-snackbar-action')\n .on('click', function () {\n _this.options.onButtonClick();\n if (_this.options.closeOnButtonClick) {\n _this.close();\n }\n });\n }\n\n // 点击 snackbar 的事件\n _this.$snackbar.on('click', function (e) {\n if (!$(e.target).hasClass('mdui-snackbar-action')) {\n _this.options.onClick();\n }\n });\n\n // 点击 Snackbar 外面的区域关闭\n if (_this.options.closeOnOutsideClick) {\n $document.on(TouchHandler.start, closeOnOutsideClick);\n }\n\n // 超时后自动关闭\n if (_this.options.timeout) {\n _this.timeoutId = setTimeout(function () {\n _this.close();\n }, _this.options.timeout);\n }\n });\n };\n\n /**\n * 关闭 Snackbar\n */\n Snackbar.prototype.close = function () {\n var _this = this;\n\n if (!_this.message) {\n return;\n }\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n if (_this.timeoutId) {\n clearTimeout(_this.timeoutId);\n }\n\n if (_this.options.closeOnOutsideClick) {\n $document.off(TouchHandler.start, closeOnOutsideClick);\n }\n\n _this.state = 'closing';\n _this.options.onClose();\n\n _this._setPosition('close');\n\n _this.$snackbar\n .transitionEnd(function () {\n if (_this.state !== 'closing') {\n return;\n }\n\n currentInst = null;\n _this.state = 'closed';\n _this.options.onClosed();\n _this.$snackbar.remove();\n queue.dequeue(queueName);\n });\n };\n\n /**\n * 打开 Snackbar\n * @param message\n * @param opts\n */\n mdui.snackbar = function (message, opts) {\n if (typeof message !== 'string') {\n opts = message;\n message = opts.message;\n }\n\n var inst = new Snackbar(message, opts);\n\n inst.open();\n return inst;\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n(function () {\n\n // 切换导航项\n $document.on('click', '.mdui-bottom-nav>a', function () {\n var $this = $(this);\n var $bottomNav = $this.parent();\n var isThis;\n $bottomNav.children('a').each(function (i, item) {\n isThis = $this.is(item);\n if (isThis) {\n componentEvent('change', 'bottomNav', null, $bottomNav, {\n index: i,\n });\n }\n\n $(item)[isThis ? 'addClass' : 'removeClass']('mdui-bottom-nav-active');\n });\n });\n\n // 滚动时隐藏 mdui-bottom-nav-scroll-hide\n mdui.mutation('.mdui-bottom-nav-scroll-hide', function () {\n var $this = $(this);\n var inst = new mdui.Headroom($this, {\n pinnedClass: 'mdui-headroom-pinned-down',\n unpinnedClass: 'mdui-headroom-unpinned-down',\n });\n $this.data('mdui.headroom', inst);\n });\n\n})();\n","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\nmdui.Panel = (function () {\n\n function Panel(selector, opts) {\n return new CollapsePrivate(selector, opts, 'panel');\n }\n\n return Panel;\n\n})();\n","/**\n * =============================================================================\n * ************ Expansion panel 自定义属性 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-panel]', function () {\n var $target = $(this);\n\n var inst = $target.data('mdui.panel');\n if (!inst) {\n var options = parseOptions($target.attr('mdui-panel'));\n inst = new mdui.Panel($target, options);\n $target.data('mdui.panel', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\nmdui.Menu = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 菜单位置 top、bottom、center、auto\n align: 'auto', // 菜单和触发它的元素的对齐方式 left、right、center、auto\n gutter: 16, // 菜单距离窗口边缘的最小距离,单位 px\n fixed: false, // 是否使菜单固定在窗口,不随滚动条滚动\n covered: 'auto', // 菜单是否覆盖在触发它的元素上,true、false。auto 时简单菜单覆盖,级联菜单不覆盖\n subMenuTrigger: 'hover', // 子菜单的触发方式 hover、click\n subMenuDelay: 200, // 子菜单的触发延时,仅在 submenuTrigger 为 hover 有效\n };\n\n /**\n * 调整主菜单位置\n * @param _this 实例\n */\n var readjust = function (_this) {\n var menuLeft;\n var menuTop;\n\n // 菜单位置和方向\n var position;\n var align;\n\n // window 窗口的宽度和高度\n var windowHeight = $window.height();\n var windowWidth = $window.width();\n\n // 配置参数\n var gutter = _this.options.gutter;\n var isCovered = _this.isCovered;\n var isFixed = _this.options.fixed;\n\n // 动画方向参数\n var transformOriginX;\n var transformOriginY;\n\n // 菜单的原始宽度和高度\n var menuWidth = _this.$menu.width();\n var menuHeight = _this.$menu.height();\n\n var $anchor = _this.$anchor;\n\n // 触发菜单的元素在窗口中的位置\n var anchorTmp = $anchor[0].getBoundingClientRect();\n var anchorTop = anchorTmp.top;\n var anchorLeft = anchorTmp.left;\n var anchorHeight = anchorTmp.height;\n var anchorWidth = anchorTmp.width;\n var anchorBottom = windowHeight - anchorTop - anchorHeight;\n var anchorRight = windowWidth - anchorLeft - anchorWidth;\n\n // 触发元素相对其拥有定位属性的父元素的位置\n var anchorOffsetTop = $anchor[0].offsetTop;\n var anchorOffsetLeft = $anchor[0].offsetLeft;\n\n // ===============================\n // ================= 自动判断菜单位置\n // ===============================\n if (_this.options.position === 'auto') {\n\n // 判断下方是否放得下菜单\n if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n position = 'bottom';\n }\n\n // 判断上方是否放得下菜单\n else if (anchorTop + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n position = 'top';\n }\n\n // 上下都放不下,居中显示\n else {\n position = 'center';\n }\n } else {\n position = _this.options.position;\n }\n\n // ===============================\n // ============== 自动判断菜单对齐方式\n // ===============================\n if (_this.options.align === 'auto') {\n\n // 判断右侧是否放得下菜单\n if (anchorRight + anchorWidth > menuWidth + gutter) {\n align = 'left';\n }\n\n // 判断左侧是否放得下菜单\n else if (anchorLeft + anchorWidth > menuWidth + gutter) {\n align = 'right';\n }\n\n // 左右都放不下,居中显示\n else {\n align = 'center';\n }\n } else {\n align = _this.options.align;\n }\n\n // ===============================\n // ==================== 设置菜单位置\n // ===============================\n if (position === 'bottom') {\n transformOriginY = '0';\n\n menuTop =\n (isCovered ? 0 : anchorHeight) +\n (isFixed ? anchorTop : anchorOffsetTop);\n\n } else if (position === 'top') {\n transformOriginY = '100%';\n\n menuTop =\n (isCovered ? anchorHeight : 0) +\n (isFixed ? (anchorTop - menuHeight) : (anchorOffsetTop - menuHeight));\n\n } else {\n transformOriginY = '50%';\n\n // =====================在窗口中居中\n // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条\n // 级联菜单内部不允许出现滚动条\n var menuHeightTemp = menuHeight;\n\n // 简单菜单比窗口高时,限制菜单高度\n if (!_this.isCascade) {\n if (menuHeight + gutter * 2 > windowHeight) {\n menuHeightTemp = windowHeight - gutter * 2;\n _this.$menu.height(menuHeightTemp);\n }\n }\n\n menuTop =\n (windowHeight - menuHeightTemp) / 2 +\n (isFixed ? 0 : (anchorOffsetTop - anchorTop));\n }\n\n _this.$menu.css('top', menuTop + 'px');\n\n // ===============================\n // ================= 设置菜单对齐方式\n // ===============================\n if (align === 'left') {\n transformOriginX = '0';\n\n menuLeft = isFixed ? anchorLeft : anchorOffsetLeft;\n\n } else if (align === 'right') {\n transformOriginX = '100%';\n\n menuLeft = isFixed ?\n (anchorLeft + anchorWidth - menuWidth) :\n (anchorOffsetLeft + anchorWidth - menuWidth);\n } else {\n transformOriginX = '50%';\n\n //=======================在窗口中居中\n // 显示的菜单的宽度,菜单宽度不能超过窗口宽度\n var menuWidthTemp = menuWidth;\n\n // 菜单比窗口宽,限制菜单宽度\n if (menuWidth + gutter * 2 > windowWidth) {\n menuWidthTemp = windowWidth - gutter * 2;\n _this.$menu.width(menuWidthTemp);\n }\n\n menuLeft =\n (windowWidth - menuWidthTemp) / 2 +\n (isFixed ? 0 : anchorOffsetLeft - anchorLeft);\n }\n\n _this.$menu.css('left', menuLeft + 'px');\n\n // 设置菜单动画方向\n _this.$menu.transformOrigin(transformOriginX + ' ' + transformOriginY);\n };\n\n /**\n * 调整子菜单的位置\n * @param $submenu\n */\n var readjustSubmenu = function ($submenu) {\n var $item = $submenu.parent('.mdui-menu-item');\n\n var submenuTop;\n var submenuLeft;\n\n // 子菜单位置和方向\n var position; // top、bottom\n var align; // left、right\n\n // window 窗口的宽度和高度\n var windowHeight = $window.height();\n var windowWidth = $window.width();\n\n // 动画方向参数\n var transformOriginX;\n var transformOriginY;\n\n // 子菜单的原始宽度和高度\n var submenuWidth = $submenu.width();\n var submenuHeight = $submenu.height();\n\n // 触发子菜单的菜单项的宽度高度\n var itemTmp = $item[0].getBoundingClientRect();\n var itemWidth = itemTmp.width;\n var itemHeight = itemTmp.height;\n var itemLeft = itemTmp.left;\n var itemTop = itemTmp.top;\n\n // ===================================\n // ===================== 判断菜单上下位置\n // ===================================\n\n // 判断下方是否放得下菜单\n if (windowHeight - itemTop > submenuHeight) {\n position = 'bottom';\n }\n\n // 判断上方是否放得下菜单\n else if (itemTop + itemHeight > submenuHeight) {\n position = 'top';\n }\n\n // 默认放在下方\n else {\n position = 'bottom';\n }\n\n // ====================================\n // ====================== 判断菜单左右位置\n // ====================================\n\n // 判断右侧是否放得下菜单\n if (windowWidth - itemLeft - itemWidth > submenuWidth) {\n align = 'left';\n }\n\n // 判断左侧是否放得下菜单\n else if (itemLeft > submenuWidth) {\n align = 'right';\n }\n\n // 默认放在右侧\n else {\n align = 'left';\n }\n\n // ===================================\n // ======================== 设置菜单位置\n // ===================================\n if (position === 'bottom') {\n transformOriginY = '0';\n submenuTop = '0';\n } else if (position === 'top') {\n transformOriginY = '100%';\n submenuTop = -submenuHeight + itemHeight;\n }\n\n $submenu.css('top', submenuTop + 'px');\n\n // ===================================\n // ===================== 设置菜单对齐方式\n // ===================================\n if (align === 'left') {\n transformOriginX = '0';\n submenuLeft = itemWidth;\n } else if (align === 'right') {\n transformOriginX = '100%';\n submenuLeft = -submenuWidth;\n }\n\n $submenu.css('left', submenuLeft + 'px');\n\n // 设置菜单动画方向\n $submenu.transformOrigin(transformOriginX + ' ' + transformOriginY);\n };\n\n /**\n * 打开子菜单\n * @param $submenu\n */\n var openSubMenu = function ($submenu) {\n readjustSubmenu($submenu);\n\n $submenu\n .addClass('mdui-menu-open')\n .parent('.mdui-menu-item')\n .addClass('mdui-menu-item-active');\n };\n\n /**\n * 关闭子菜单,及其嵌套的子菜单\n * @param $submenu\n */\n var closeSubMenu = function ($submenu) {\n // 关闭子菜单\n $submenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n $submenu.removeClass('mdui-menu-closing');\n })\n\n // 移除激活状态的样式\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n\n // 循环关闭嵌套的子菜单\n $submenu.find('.mdui-menu').each(function () {\n var $subSubmenu = $(this);\n $subSubmenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n $subSubmenu.removeClass('mdui-menu-closing');\n })\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n });\n };\n\n /**\n * 切换子菜单状态\n * @param $submenu\n */\n var toggleSubMenu = function ($submenu) {\n if ($submenu.hasClass('mdui-menu-open')) {\n closeSubMenu($submenu);\n } else {\n openSubMenu($submenu);\n }\n };\n\n /**\n * 绑定子菜单事件\n * @param inst 实例\n */\n var bindSubMenuEvent = function (inst) {\n // 点击打开子菜单\n inst.$menu.on('click', '.mdui-menu-item', function (e) {\n var $this = $(this);\n var $target = $(e.target);\n\n // 禁用状态菜单不操作\n if ($this.attr('disabled') !== null) {\n return;\n }\n\n // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上)\n if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) {\n return;\n }\n\n // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡\n if (!$target.parents('.mdui-menu-item').eq(0).is($this)) {\n return;\n }\n\n // 当前菜单的子菜单\n var $submenu = $this.children('.mdui-menu');\n\n // 先关闭除当前子菜单外的所有同级子菜单\n $this.parent('.mdui-menu').children('.mdui-menu-item').each(function () {\n var $tmpSubmenu = $(this).children('.mdui-menu');\n if (\n $tmpSubmenu.length &&\n (!$submenu.length || !$tmpSubmenu.is($submenu))\n ) {\n closeSubMenu($tmpSubmenu);\n }\n });\n\n // 切换当前子菜单\n if ($submenu.length) {\n toggleSubMenu($submenu);\n }\n });\n\n if (inst.options.subMenuTrigger === 'hover') {\n // 临时存储 setTimeout 对象\n var timeout;\n\n var timeoutOpen;\n var timeoutClose;\n\n inst.$menu.on('mouseover mouseout', '.mdui-menu-item', function (e) {\n var $this = $(this);\n var eventType = e.type;\n var $relatedTarget = $(e.relatedTarget);\n\n // 禁用状态的菜单不操作\n if ($this.attr('disabled') !== null) {\n return;\n }\n\n // 用 mouseover 模拟 mouseenter\n if (eventType === 'mouseover') {\n if (!$this.is($relatedTarget) && $.contains($this[0], $relatedTarget[0])) {\n return;\n }\n }\n\n // 用 mouseout 模拟 mouseleave\n else if (eventType === 'mouseout') {\n if ($this.is($relatedTarget) || $.contains($this[0], $relatedTarget[0])) {\n return;\n }\n }\n\n // 当前菜单项下的子菜单,未必存在\n var $submenu = $this.children('.mdui-menu');\n\n // 鼠标移入菜单项时,显示菜单项下的子菜单\n if (eventType === 'mouseover') {\n if ($submenu.length) {\n\n // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了\n var tmpClose = $submenu.data('timeoutClose.mdui.menu');\n if (tmpClose) {\n clearTimeout(tmpClose);\n }\n\n // 如果当前子菜单已经打开,不操作\n if ($submenu.hasClass('mdui-menu-open')) {\n return;\n }\n\n // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了\n clearTimeout(timeoutOpen);\n\n // 准备打开当前子菜单\n timeout = timeoutOpen = setTimeout(function () {\n openSubMenu($submenu);\n }, inst.options.subMenuDelay);\n\n $submenu.data('timeoutOpen.mdui.menu', timeout);\n }\n }\n\n // 鼠标移出菜单项时,关闭菜单项下的子菜单\n else if (eventType === 'mouseout') {\n if ($submenu.length) {\n\n // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了\n var tmpOpen = $submenu.data('timeoutOpen.mdui.menu');\n if (tmpOpen) {\n clearTimeout(tmpOpen);\n }\n\n // 准备关闭当前子菜单\n timeout = timeoutClose = setTimeout(function () {\n closeSubMenu($submenu);\n }, inst.options.subMenuDelay);\n\n $submenu.data('timeoutClose.mdui.menu', timeout);\n }\n }\n });\n }\n };\n\n /**\n * 菜单\n * @param anchorSelector 点击该元素触发菜单\n * @param menuSelector 菜单\n * @param opts 配置项\n * @constructor\n */\n function Menu(anchorSelector, menuSelector, opts) {\n var _this = this;\n\n // 触发菜单的元素\n _this.$anchor = $(anchorSelector).eq(0);\n if (!_this.$anchor.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$anchor.data('mdui.menu');\n if (oldInst) {\n return oldInst;\n }\n\n _this.$menu = $(menuSelector).eq(0);\n\n // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位\n if (!_this.$anchor.siblings(_this.$menu).length) {\n return;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 是否是级联菜单\n _this.isCascade = _this.$menu.hasClass('mdui-menu-cascade');\n\n // covered 参数处理\n if (_this.options.covered === 'auto') {\n _this.isCovered = !_this.isCascade;\n } else {\n _this.isCovered = _this.options.covered;\n }\n\n // 点击触发菜单切换\n _this.$anchor.on('click', function () {\n _this.toggle();\n });\n\n // 点击菜单外面区域关闭菜单\n $document.on('click touchstart', function (e) {\n var $target = $(e.target);\n if (\n (_this.state === 'opening' || _this.state === 'opened') &&\n !$target.is(_this.$menu) &&\n !$.contains(_this.$menu[0], $target[0]) &&\n !$target.is(_this.$anchor) &&\n !$.contains(_this.$anchor[0], $target[0])\n ) {\n _this.close();\n }\n });\n\n // 点击不含子菜单的菜单条目关闭菜单\n $document.on('click', '.mdui-menu-item', function (e) {\n var $this = $(this);\n if (!$this.find('.mdui-menu').length && $this.attr('disabled') === null) {\n _this.close();\n }\n });\n\n // 绑定点击或鼠标移入含子菜单的条目的事件\n bindSubMenuEvent(_this);\n\n // 窗口大小变化时,重新调整菜单位置\n $window.on('resize', $.throttle(function () {\n readjust(_this);\n }, 100));\n }\n\n /**\n * 切换菜单状态\n */\n Menu.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n inst.$menu.removeClass('mdui-menu-closing');\n\n if (inst.state === 'opening') {\n inst.state = 'opened';\n componentEvent('opened', 'menu', inst, inst.$menu);\n }\n\n if (inst.state === 'closing') {\n inst.state = 'closed';\n componentEvent('closed', 'menu', inst, inst.$menu);\n\n // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位\n inst.$menu.css({\n top: '',\n left: '',\n width: '',\n position: 'fixed',\n });\n }\n };\n\n /**\n * 打开菜单\n */\n Menu.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'menu', _this, _this.$menu);\n\n // 调整菜单位置\n readjust(_this);\n\n _this.$menu\n\n // 菜单隐藏状态使用使用 fixed 定位。\n .css('position', _this.options.fixed ? 'fixed' : 'absolute')\n\n // 打开菜单\n .addClass('mdui-menu-open')\n\n // 打开动画完成后\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 关闭菜单\n */\n Menu.prototype.close = function () {\n var _this = this;\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'menu', _this, _this.$menu);\n\n // 菜单开始关闭时,关闭所有子菜单\n _this.$menu.find('.mdui-menu').each(function () {\n closeSubMenu($(this));\n });\n\n _this.$menu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n return Menu;\n})();\n","/**\n * =============================================================================\n * ************ Menu 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n $document.on('click', '[mdui-menu]', function () {\n var $this = $(this);\n\n var inst = $this.data('mdui.menu');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-menu'));\n var menuSelector = options.target;\n delete options.target;\n\n inst = new mdui.Menu($this, menuSelector, options);\n $this.data('mdui.menu', inst);\n\n inst.toggle();\n }\n });\n});\n"]} \ No newline at end of file diff --git a/main.html b/main.html deleted file mode 100644 index 6bf1d44..0000000 --- a/main.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - BiliBili直播弹幕抽奖 - - -
-
- BiliBili直播弹幕抽奖 -
-
-
- - -
-
请输入房间号
-
- - -
-
-
-
开始记录!
-
已有
-
- 0 -
-
位观众参与抽奖
-
-
-
开奖啦!
-
-
- -
- - - - \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..f175e11 --- /dev/null +++ b/package.json @@ -0,0 +1,48 @@ +{ + "name": "vue", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "core-js": "^3.6.4", + "vue": "^2.6.11", + "vuetify": "^2.2.11", + "webpack": "^4.42.1" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.3.0", + "@vue/cli-plugin-eslint": "~4.3.0", + "@vue/cli-service": "~4.3.0", + "babel-eslint": "^10.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "sass": "^1.19.0", + "sass-loader": "^8.0.0", + "vue-cli-plugin-vuetify": "~2.0.5", + "vue-template-compiler": "^2.6.11", + "vuetify-loader": "^1.3.0" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/favicon.ico b/public/favicon.ico similarity index 100% rename from favicon.ico rename to public/favicon.ico diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..bc51465 --- /dev/null +++ b/public/index.html @@ -0,0 +1,19 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + +
+ + + diff --git a/screenshot.png b/screenshot.png index 0b6e6bf..234fd06 100644 Binary files a/screenshot.png and b/screenshot.png differ diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..0bdd829 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/src/components/Lottery.vue b/src/components/Lottery.vue new file mode 100644 index 0000000..96b5f3e --- /dev/null +++ b/src/components/Lottery.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/src/components/Recording.vue b/src/components/Recording.vue new file mode 100644 index 0000000..2661731 --- /dev/null +++ b/src/components/Recording.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/src/components/Result.vue b/src/components/Result.vue new file mode 100644 index 0000000..08fb65a --- /dev/null +++ b/src/components/Result.vue @@ -0,0 +1,46 @@ + + + + + \ No newline at end of file diff --git a/src/components/RoomChoosing.vue b/src/components/RoomChoosing.vue new file mode 100644 index 0000000..ee965ca --- /dev/null +++ b/src/components/RoomChoosing.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..7a47586 --- /dev/null +++ b/src/main.js @@ -0,0 +1,11 @@ +import Vue from 'vue' + +import App from './App.vue' +import vuetify from './plugins/vuetify' + +Vue.config.productionTip = false + +new Vue({ + vuetify, + render: h => h(App) +}).$mount('#app') diff --git a/src/plugins/vuetify.js b/src/plugins/vuetify.js new file mode 100644 index 0000000..ec46adb --- /dev/null +++ b/src/plugins/vuetify.js @@ -0,0 +1,7 @@ +import Vue from 'vue'; +import Vuetify from 'vuetify/lib'; + +Vue.use(Vuetify); + +export default new Vuetify({ +}); diff --git a/src/websocketClient/BiliLiveWs.js b/src/websocketClient/BiliLiveWs.js new file mode 100644 index 0000000..7e6cf8e --- /dev/null +++ b/src/websocketClient/BiliLiveWs.js @@ -0,0 +1,87 @@ +const textEncoder = new TextEncoder('utf-8'); +const textDecoder = new TextDecoder('utf-8'); + +const readInt = function (buffer, start, len) { + let result = 0; + for (let i = len - 1; i >= 0; i--) { + result += Math.pow(256, len - i - 1) * buffer[start + i]; + } + return result; +}; + +const writeInt = function (buffer, start, len, value) { + let i = 0; + while (i < len) { + buffer[start + i] = value / Math.pow(256, len - i - 1); + i++ + } +}; + +const encode = function (str, op) { + let data = textEncoder.encode(str); + let packetLen = 16 + data.byteLength; + let header = [0, 0, 0, 0, 0, 16, 0, 1, 0, 0, 0, op, 0, 0, 0, 1]; + writeInt(header, 0, 4, packetLen); + return (new Uint8Array(header.concat(...data))).buffer +}; + +const decode = function (blob) { + return new Promise(function (resolve) { + let reader = new FileReader(); + reader.onload = function (e) { + let buffer = new Uint8Array(e.target.result); + let result = {}; + result.packetLen = readInt(buffer, 0, 4); + result.headerLen = readInt(buffer, 4, 2); + result.ver = readInt(buffer, 6, 2); + result.op = readInt(buffer, 8, 4); + result.seq = readInt(buffer, 12, 4); + if (result.op === 5) { + result.body = []; + let offset = 0; + while (offset < buffer.length) { + let packetLen = readInt(buffer, offset, 4); + let headerLen = 16; + let data = buffer.slice(offset + headerLen, offset + packetLen); + let body = textDecoder.decode(data); + if (body) { + result.body.push(JSON.parse(body)); + } + offset += packetLen; + } + } else if (result.op === 3) { + result.body = { + count: readInt(buffer, 16, 4) + }; + } + resolve(result); + }; + reader.readAsArrayBuffer(blob); + }); +}; + +function connect(roomid, danmuCllback) { + window.ws = new WebSocket('wss://broadcastlv.chat.bilibili.com:2245/sub'); + window.ws.onopen = function () { + window.ws.send(encode(JSON.stringify({ + roomid: roomid + }), 7)); + }; + setInterval(function () { + window.ws.send(encode('', 2)); + }, 30000); + window.ws.onmessage = async function (msgEvent) { + const packet = await decode(msgEvent.data); + switch (packet.op) { + case 5: + packet.body.forEach((body) => { + if (body.cmd === 'DANMU_MSG') { + danmuCllback(body.info); + } + }); + break; + } + }; +} + +export default connect; diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..ef6e86b --- /dev/null +++ b/vue.config.js @@ -0,0 +1,5 @@ +module.exports = { + "transpileDependencies": [ + "vuetify" + ] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..b070751 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8424 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.9.0.tgz?cache=0&sync_timestamp=1584719117621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" + integrity sha1-BIFVVvyQsMF0q9LAwbuWb6oDamw= + dependencies: + browserslist "^4.9.1" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha1-rJd7U4t34TL/cG87ik260JwDxW4= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.9.0", "@babel/generator@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9" + integrity sha1-J/CRd0GsxB5uqs7W1o+Ww/qa+vk= + dependencies: + "@babel/types" "^7.9.5" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha1-yECXpCegYaxWocMOv1S3si0kFQM= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-compilation-targets@^7.8.7": + version "7.8.7" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" + integrity sha1-2sHuoVnA5L1G4wm1obBKZrU8Hd4= + dependencies: + "@babel/compat-data" "^7.8.6" + browserslist "^4.9.1" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.8.3": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.9.5.tgz#79753d44017806b481017f24b02fd4113c7106ea" + integrity sha1-eXU9RAF4BrSBAX8ksC/UETxxBuo= + dependencies: + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + +"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha1-XYQYC1iPVgt4ZO+u6okkPlgxIIc= + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha1-oGVcrVRRw3YLcm66h18c2PqgLBU= + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" + lodash "^4.17.13" + +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha1-pyjcW06J4w/C38fQT6KKkwZT+YI= + dependencies: + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.9.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" + integrity sha1-K1OCDTUnUSDhh0qC5aq+E3aSClw= + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.9.5" + +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha1-uJS5R70AQ4HOY+odufCFR+kgq9U= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha1-Hb6ba1XXjJtBg/yM3G4wzrg7cTQ= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha1-Q7NN/hWWGRhwfSRzJ0MTiOn+luU= + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha1-nqKTvhm6vA9S/4yoizTDYRsghnA= + +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.8.3.tgz?cache=0&sync_timestamp=1578951938163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU= + dependencies: + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha1-JzxgDYub9QBhQsHjWIfVVcEu3YY= + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": + version "7.8.6" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.8.6.tgz?cache=0&sync_timestamp=1582806192406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" + integrity sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" + +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4= + dependencies: + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha1-ManzAHD5E2inGCzwX4MXgQZfx6k= + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" + integrity sha1-kJd6jm+/a0MafcMXUu7iM78FLYA= + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha1-nb2yu1XvFKqgH+jJm2Kb1TUthhA= + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.9.0": + version "7.9.2" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" + integrity sha1-tCqBqBHx5zE7iMuorcZrPZrmwJ8= + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + +"@babel/highlight@^7.8.3": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.9.0.tgz?cache=0&sync_timestamp=1584746125589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" + integrity sha1-TptFzLgreWBycbKXmtgse2gWMHk= + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": + version "7.9.4" + resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" + integrity sha1-aKNeawMZu8AURlvkOCgwARPy8ug= + +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha1-utMpxnCzgliXIbJ1QMfSiGAcbm8= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha1-OMT+VVdEgm6X4q6TCw+0zAfmYFQ= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha1-2lIWsjipi1ih4F1oUhBLEPmnDWs= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-object-rest-spread@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.9.5.tgz#3fd65911306d8746014ec0d0cf78f0e39a149116" + integrity sha1-P9ZZETBth0YBTsDQz3jw45oUkRY= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.9.5" + +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha1-ne6WqxZQ7tiGRq6XNMoWesSpxck= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.8" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.8.8.tgz?cache=0&sync_timestamp=1584039926670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha1-7jqV6QzcBP6M2S7DJ5+gF9aKDR0= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" + integrity sha1-jSwVqfGvYksAJflhaCqdU9MAG9o= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" + integrity sha1-UhsGyDxASA8eWLT9M7kuzrHW6pQ= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" + integrity sha1-Dj+2Pgm+obEelkZyccgwgAfnxB8= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha1-Os3s5pXmsTqvV/wpHRqACVDHE5E= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha1-gndsLtDNnhpJlW2uuJYCTJRzuLY= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha1-Qwj60NlAnXHq+5sabuNfnWS2QIY= + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + +"@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.8.3.tgz?cache=0&sync_timestamp=1578951934748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha1-Q37sW3mbWFIHIISzrl72boNJ6KM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-block-scoping@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha1-l9Ndq2aFekN8FmNYuR0JBQyGjzo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + lodash "^4.17.13" + +"@babel/plugin-transform-classes@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" + integrity sha1-gAWX3biu/CwpPtJ0WcH8yTWibCw= + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha1-ltDSi3985OtbEguy4OlDNDyG+Bs= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-destructuring@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50" + integrity sha1-csl89fOGBK6jq/O5NbDhex23alA= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha1-w8bsXuYSXGmTxcvKINyGIanqem4= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha1-jRLfMJqlN/JyiZxWXqF2jihuIfE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha1-WBptf1aXDga/UVYM1k9elHtw17c= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha1-DyYOJ9PinNG7MSjaXnbHYapsEI4= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha1-J5NzyycyKqrWfCaD53bfxHGW7Ys= + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha1-rvI5gj2RmU7Hto5VGTUl1229XcE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha1-lj/tS2IKx8v2Apx1VCQCn6OkBBA= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-modules-amd@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.9.0.tgz?cache=0&sync_timestamp=1584746129321&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" + integrity sha1-GXVe5yGRLPW7BMB9UCgK80hO/vQ= + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.9.0.tgz?cache=0&sync_timestamp=1584746127807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" + integrity sha1-4+cvTLybSiYOML4OpZvfWjl0iUA= + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.9.0.tgz?cache=0&sync_timestamp=1584746128326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" + integrity sha1-6f1Gopb8keAJtk4H3aqG1vDt65A= + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-umd@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.9.0.tgz?cache=0&sync_timestamp=1584746128785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha1-6Qmsridv7CgPm4IaXzjh8ItIBpc= + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha1-oqcr/6ICrA4tBQav0JOcXsvEjGw= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha1-YMwq5m2FyVq1QOs0urtkNNTHDEM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-object-super@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha1-67ah56hv+paFi9asAQLWWUQmFyU= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" + integrity sha1-FzsmV0b14Vsq/lJ+7aZbc2I6B5U= + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-property-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha1-MxlDANhTnB7SjGKtUIe6OAe5gmM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-regenerator@^7.8.7": + version "7.8.7" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.8.7.tgz?cache=0&sync_timestamp=1583373435237&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" + integrity sha1-Xkag3KK+4a2ChesFJ+arycN2cvg= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha1-mgY1rE5mXSmxYoN908xQdF398fU= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-runtime@^7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha1-RUaMCudMwTIE4dOx9M5u6DJYrws= + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha1-KFRSFuAjqDLU06EYXtSSvP6sCMg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha1-nI/+gXD9+4ixFOy5ILgvtulf5eg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.8.3.tgz?cache=0&sync_timestamp=1578990906905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha1-vnoSkPgdrnZ0dUUhmeH3bWF1sQA= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + +"@babel/plugin-transform-template-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha1-e/pHMrRV6mpDEwrcC6dn7A5AKoA= + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha1-7eQGIxXOCq+KZXqSCFjxovNfxBI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha1-DO8247pz5cVyc+/7GC9GuRoeyq0= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/preset-env@^7.9.0": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.9.5.tgz#8ddc76039bc45b774b19e2fc548f6807d8a8919f" + integrity sha1-jdx2A5vEW3dLGeL8VI9oB9iokZ8= + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.5" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.5" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.9.5" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.9.5" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.5" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha1-EyQrU7XvjIg8PPfd3VWzbOgPvHI= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.9.2" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.2.tgz?cache=0&sync_timestamp=1584800151099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" + integrity sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.8.3", "@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" + +"@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2" + integrity sha1-bnxWtE4qxwEalIwh4oPd2dnbl6I= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.5" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.0" + "@babel/types" "^7.9.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5": + version "7.9.5" + resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" + integrity sha1-iSMfgpFailZqcDs7IBM/c9prlEQ= + dependencies: + "@babel/helper-validator-identifier" "^7.9.5" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.1": + version "15.1.1" + resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz?cache=0&sync_timestamp=1584145356093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fjoi%2Fdownload%2F%40hapi%2Fjoi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@intervolga/optimize-cssnano-plugin@^1.0.5": + version "1.0.6" + resolved "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" + integrity sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg= + dependencies: + cssnano "^4.0.0" + cssnano-preset-default "^4.0.0" + postcss "^7.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@soda/friendly-errors-webpack-plugin@^1.7.1": + version "1.7.1" + resolved "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d" + integrity sha1-cG9kvLSouWQrSK46zkRMcDNNYV0= + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-width "^2.0.0" + +"@soda/get-current-script@^1.0.0": + version "1.0.0" + resolved "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.0.tgz#623aa40623550e3b94767cffeb096a6fb597ed09" + integrity sha1-YjqkBiNVDjuUdnz/6wlqb7WX7Qk= + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/events@*": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= + +"@types/node@*": + version "13.11.1" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7" + integrity sha1-SaKoPfnSbarOrTDQzMh2KxKNU8c= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= + +"@types/q@^1.5.1": + version "1.5.2" + resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha1-aQoUdbhPKohP0HzXl8APXzE1bqg= + +"@vue/babel-helper-vue-jsx-merge-props@^1.0.0": + version "1.0.0" + resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040" + integrity sha1-BI/leZWNpAj7eosqPsBQtQpmEEA= + +"@vue/babel-plugin-transform-vue-jsx@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz#c0a3e6efc022e75e4247b448a8fc6b86f03e91c0" + integrity sha1-wKPm78Ai515CR7RIqPxrhvA+kcA= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.3.1.tgz#bb67aae562983067c5b242c27fb7de17f40cf109" + integrity sha1-u2eq5WKYMGfFskLCf7feF/QM8Qk= + dependencies: + "@babel/core" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.9.0" + "@babel/preset-env" "^7.9.0" + "@babel/runtime" "^7.9.2" + "@vue/babel-preset-jsx" "^1.1.2" + babel-plugin-dynamic-import-node "^2.3.0" + core-js "^3.6.4" + core-js-compat "^3.6.4" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz#2e169eb4c204ea37ca66c2ea85a880bfc99d4f20" + integrity sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA= + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + "@vue/babel-sugar-functional-vue" "^1.1.2" + "@vue/babel-sugar-inject-h" "^1.1.2" + "@vue/babel-sugar-v-model" "^1.1.2" + "@vue/babel-sugar-v-on" "^1.1.2" + +"@vue/babel-sugar-functional-vue@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz#f7e24fba09e6f1ee70104560a8808057555f1a9a" + integrity sha1-9+JPugnm8e5wEEVgqICAV1VfGpo= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz#8a5276b6d8e2ed16ffc8078aad94236274e6edf0" + integrity sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz#1ff6fd1b800223fc9cb1e84dceb5e52d737a8192" + integrity sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz#b2ef99b8f2fab09fbead25aad70ef42e1cf5b13b" + integrity sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + camelcase "^5.0.0" + +"@vue/cli-overlay@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-4.3.1.tgz?cache=0&sync_timestamp=1586274083715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-4.3.1.tgz#434529c188b628a54773670201667a0b4a361e07" + integrity sha1-Q0UpwYi2KKVHc2cCAWZ6C0o2Hgc= + +"@vue/cli-plugin-babel@~4.3.0": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.3.1.tgz#6e3a6aa18595b98ad5c52898a2850d452404712b" + integrity sha1-bjpqoYWVuYrVxSiYooUNRSQEcSs= + dependencies: + "@babel/core" "^7.9.0" + "@vue/babel-preset-app" "^4.3.1" + "@vue/cli-shared-utils" "^4.3.1" + babel-loader "^8.1.0" + cache-loader "^4.1.0" + thread-loader "^2.1.3" + webpack "^4.0.0" + +"@vue/cli-plugin-eslint@~4.3.0": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.3.1.tgz#2f5e09bd7d1d8c494134b6c71af2b779938d289a" + integrity sha1-L14JvX0djElBNLbHGvK3eZONKJo= + dependencies: + "@vue/cli-shared-utils" "^4.3.1" + eslint-loader "^2.2.1" + globby "^9.2.0" + inquirer "^7.1.0" + webpack "^4.0.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-router@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.3.1.tgz?cache=0&sync_timestamp=1586274145925&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-router%2Fdownload%2F%40vue%2Fcli-plugin-router-4.3.1.tgz#0ba589f4e9a1f3e64a8ff6ccd92f7ce2845586bf" + integrity sha1-C6WJ9Omh8+ZKj/bM2S984oRVhr8= + dependencies: + "@vue/cli-shared-utils" "^4.3.1" + +"@vue/cli-plugin-vuex@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.3.1.tgz#2b73aff56f9e1be31018873d5ed2d59f155e7476" + integrity sha1-K3Ov9W+eG+MQGIc9XtLVnxVedHY= + +"@vue/cli-service@~4.3.0": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.3.1.tgz#94b2121d08e343a55f7ecef260af5257a9ffe7e5" + integrity sha1-lLISHQjjQ6Vffs7yYK9SV6n/5+U= + dependencies: + "@intervolga/optimize-cssnano-plugin" "^1.0.5" + "@soda/friendly-errors-webpack-plugin" "^1.7.1" + "@soda/get-current-script" "^1.0.0" + "@vue/cli-overlay" "^4.3.1" + "@vue/cli-plugin-router" "^4.3.1" + "@vue/cli-plugin-vuex" "^4.3.1" + "@vue/cli-shared-utils" "^4.3.1" + "@vue/component-compiler-utils" "^3.0.2" + "@vue/preload-webpack-plugin" "^1.1.0" + "@vue/web-component-wrapper" "^1.2.0" + acorn "^7.1.0" + acorn-walk "^7.1.1" + address "^1.1.2" + autoprefixer "^9.7.5" + browserslist "^4.11.1" + cache-loader "^4.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.4" + clipboardy "^2.3.0" + cliui "^6.0.0" + copy-webpack-plugin "^5.1.1" + css-loader "^3.4.2" + cssnano "^4.1.10" + debug "^4.1.1" + default-gateway "^5.0.5" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + file-loader "^4.2.0" + fs-extra "^7.0.1" + globby "^9.2.0" + hash-sum "^2.0.0" + html-webpack-plugin "^3.2.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + lodash.transform "^4.6.0" + mini-css-extract-plugin "^0.9.0" + minimist "^1.2.5" + pnp-webpack-plugin "^1.6.4" + portfinder "^1.0.25" + postcss-loader "^3.0.0" + ssri "^7.1.0" + terser-webpack-plugin "^2.3.5" + thread-loader "^2.1.3" + url-loader "^2.2.0" + vue-loader "^15.9.1" + vue-style-loader "^4.1.2" + webpack "^4.0.0" + webpack-bundle-analyzer "^3.6.1" + webpack-chain "^6.4.0" + webpack-dev-server "^3.10.3" + webpack-merge "^4.2.2" + +"@vue/cli-shared-utils@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.3.1.tgz?cache=0&sync_timestamp=1586274154670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.3.1.tgz#a74bf4d53825d4a4b05a84b03e023974871bc38a" + integrity sha1-p0v01Tgl1KSwWoSwPgI5dIcbw4o= + dependencies: + "@hapi/joi" "^15.0.1" + chalk "^2.4.2" + execa "^1.0.0" + launch-editor "^2.2.1" + lru-cache "^5.1.1" + node-ipc "^9.1.1" + open "^6.3.0" + ora "^3.4.0" + read-pkg "^5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + semver "^6.1.0" + strip-ansi "^6.0.0" + +"@vue/component-compiler-utils@^3.0.2", "@vue/component-compiler-utils@^3.1.0": + version "3.1.2" + resolved "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz?cache=0&sync_timestamp=1586331302562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.1.2.tgz#8213a5ff3202f9f2137fe55370f9e8b9656081c3" + integrity sha1-ghOl/zIC+fITf+VTcPnouWVggcM= + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.14" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" + +"@vue/preload-webpack-plugin@^1.1.0": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz#18723530d304f443021da2292d6ec9502826104a" + integrity sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo= + +"@vue/web-component-wrapper@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1" + integrity sha1-uw5G8VhafiibTuYGfcxaauYvHdE= + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ= + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q= + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI= + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA= + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc= + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg= + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc= + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A= + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas= + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= + +acorn-walk@^7.1.1: + version "7.1.1" + resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" + integrity sha1-NF8N/61cc15zc9L+yaECPmpEuD4= + +acorn@^6.2.1: + version "6.4.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1583824513691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ= + +acorn@^7.1.0, acorn@^7.1.1: + version "7.1.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.1.1.tgz?cache=0&sync_timestamp=1583824513691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" + integrity sha1-41Zo3gtALzWd5RXFSCoaufiaab8= + +address@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: + version "6.12.0" + resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" + integrity sha1-BtYLlth7hFSlrauobnhU2mKdtLc= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1570188570027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1570188570027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1570188570027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1570188570027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1569897341237&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +arch@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/arch/download/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e" + integrity sha1-j1wnMao1owkpIhuwZA7tZRdeyE4= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&sync_timestamp=1574271725892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz?cache=0&sync_timestamp=1582513244496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync%2Fdownload%2Fasync-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.7.5: + version "9.7.6" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.7.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4" + integrity sha1-Y6xbvAznk05plyB9W7ANaPqCk6Q= + dependencies: + browserslist "^4.11.1" + caniuse-lite "^1.0.30001039" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.27" + postcss-value-parser "^4.0.3" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4= + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1582676152339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-loader@^8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1584715959282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha1-xhHVESvVIJq+i5+oTD5NolJ18cM= + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha1-8A9Qe9qjw+P/bn5emNkKesq5b38= + dependencies: + object.assign "^4.1.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4= + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.1.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha1-LN4J617jQfSEdGuwMJsyU7GxRC8= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.8.5, browserslist@^4.9.1: + version "4.11.1" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.11.1.tgz?cache=0&sync_timestamp=1585654821684&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" + integrity sha1-kvhV7ojW4FDn5zEdmHmSAU8aHxs= + dependencies: + caniuse-lite "^1.0.30001038" + electron-to-chromium "^1.3.390" + node-releases "^1.1.53" + pkg-up "^2.0.0" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" + integrity sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1585010507538&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1585010507538&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" + integrity sha1-mUjK41OuwKH8ser9ojAIFuyFOH4= + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^3.0.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^2.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576721717499&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039: + version "1.0.30001042" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001042.tgz?cache=0&sync_timestamp=1586925228450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001042.tgz#c91ec21ec2d270bd76dbc2ce261260c292b8c93c" + integrity sha1-yR7CHsLScL1228LOJhJgwpK4yTw= + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= + +"chokidar@>=2.0.0 <4.0.0": + version "3.3.1" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.3.1.tgz?cache=0&sync_timestamp=1584609518131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha1-yE5bPRjZpNd1WP70ZrG/FrvrNFA= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1584609518131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz?cache=0&sync_timestamp=1581474805672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchownr%2Fdownload%2Fchownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= + dependencies: + tslib "^1.9.0" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.4.tgz?cache=0&sync_timestamp=1573949240542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b" + integrity sha1-CYy2Qs8X9CrcHBFF4H+WDsTXUis= + dependencies: + chalk "^3.0.0" + highlight.js "^9.6.0" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^5.1.1" + yargs "^15.0.0" + +cli-spinners@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5" + integrity sha1-BjIjmktapMlYYQFCw0u3plH8jfU= + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-width%2Fdownload%2Fcli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha1-PCkDZQxo5GqRs4iYW8J3QofbopA= + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1584157470801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.18.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1584157470801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1584157470801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha1-IasEMjXHGgfUXZqtmFk7DbpWurc= + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.1.tgz?cache=0&sync_timestamp=1576145009360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" + integrity sha1-VIGgPeoRI9iKmIxv+LeCRyFPC4g= + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^2.1.2" + webpack-log "^2.0.0" + +core-js-compat@^3.6.2, core-js-compat@^3.6.4: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw= + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-js@^3.6.4: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8= + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.2" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" + integrity sha1-0Nfc+nTokRXHYZ9PchqU4f23FtY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@^3.4.2: + version "3.5.2" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.5.2.tgz#6483ae56f48a7f901fbe07dde2fc96b01eafab3c" + integrity sha1-ZIOuVvSKf5Afvgfd4vyWsB6vqzw= + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.27" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.3" + schema-utils "^2.6.5" + semver "^6.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" + integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus= + dependencies: + mdn-data "2.0.6" + source-map "^0.6.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= + +css-what@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" + integrity sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE= + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^4.0.0, cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.0.3" + resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" + integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM= + dependencies: + css-tree "1.0.0-alpha.39" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: + version "3.2.6" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha1-EEmdhohEza1P7ghC34x/bwyVp1M= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +default-gateway@^5.0.5: + version "5.0.5" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" + integrity sha1-T9a9XShV05s0zFpZUFSG6ar8mxA= + dependencies: + execa "^3.3.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0= + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha1-w07MKVVtxF8fTCJpe29JBODMT8s= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz?cache=0&sync_timestamp=1571191376500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdotenv%2Fdownload%2Fdotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha1-l+YZJZradQ7qPk6j4mvO6lQksWo= + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +easy-stack@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" + integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +electron-to-chromium@^1.3.390: + version "1.3.408" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.408.tgz#e6a3a2b8f87c875dfd6e16501abe7a28f079bbb3" + integrity sha1-5qOiuPh8h139bhZQGr56KPB5u7M= + +elliptic@^6.0.0: + version "6.5.2" + resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + integrity sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1569416272686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.1.1" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q= + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.0: + version "2.0.6" + resolved "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha1-WpmnB716TFinl5AtSNgoA+3mqtg= + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.5.tgz?cache=0&sync_timestamp=1584909155190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +eslint-loader@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= + dependencies: + loader-fs-cache "^1.0.0" + loader-utils "^1.0.2" + object-assign "^4.0.1" + object-hash "^1.1.4" + rimraf "^2.6.1" + +eslint-plugin-vue@^6.2.2: + version "6.2.2" + resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz?cache=0&sync_timestamp=1584178049037&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe" + integrity sha1-J/7NmjokeJsPER7N1UCp5WGY4P4= + dependencies: + natural-compare "^1.4.0" + semver "^5.6.0" + vue-eslint-parser "^7.0.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI= + +eslint@^6.7.2: + version "6.8.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1585359208483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.0.tgz#e5e29a6f66a837840d34f68cb9ce355260d1128b" + integrity sha1-5eKab2aoN4QNNPaMuc41UmDREos= + dependencies: + estraverse "^5.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha1-9o2Ba8KfHsAsU53FjI3UDOcss24= + +eventemitter3@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" + integrity sha1-1lF2FjiH7lnzhtZMgmELaWpKdOs= + +events@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz?cache=0&sync_timestamp=1578498298945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk= + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1576776304100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1576776304100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.3.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1576776304100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ= + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= + dependencies: + websocket-driver ">=0.5.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8= + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0, find-cache-dir@^3.2.0: + version "3.3.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0: + version "1.11.0" + resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.11.0.tgz#afa14f08ba12a52963140fe43212658897bc0ecb" + integrity sha1-r6FPCLoSpSljFA/kMhJliJe8Dss= + dependencies: + debug "^3.0.0" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.12" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.12.tgz?cache=0&sync_timestamp=1584609355366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" + integrity sha1-234NjsOwtFck/U2D1DVUqPHw3lw= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha1-TAofs0vGjlQ7S4Kp7Dkr+9qECAU= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha1-ASA83JJZf5uQkGfD5lbMH008Tck= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: + version "4.2.3" + resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM= + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950844856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo= + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x, he@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +highlight.js@^9.6.0: + version "9.18.1" + resolved "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" + integrity sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw= + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1583018405733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= + +html-entities@^1.2.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ= + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1586450111527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1584394549840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.0" + resolved "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" + integrity sha1-2+VfY+daNH2389mZdPJpKjFKajo= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1585807780313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.3, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz?cache=0&sync_timestamp=1573665074534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inquirer@^7.0.0, inquirer@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" + integrity sha1-EpigGFmIPhfHJkuChwrhA0+S3Sk= + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1583983307284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +interpret@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY= + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1569904999656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz?cache=0&sync_timestamp=1576778289528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs= + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw= + dependencies: + ci-info "^1.5.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-regex@^1.0.4, is-regex@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4= + dependencies: + has "^1.0.3" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&sync_timestamp=1574296721350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha1-ShwVLUKd89RBZpSY4khtNZbrrx0= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +javascript-stringify@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" + integrity sha1-bvNYA1MQ411mfGde1j0+t8GqGeU= + +jest-worker@^25.1.0: + version "25.2.6" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" + integrity sha1-0SkmJTJnlM4YfDj1EQn6ztOEbFg= + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +js-message@1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" + integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= + +js-queue@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" + integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= + dependencies: + easy-stack "^1.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586045666090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586045666090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586045666090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM= + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +launch-editor-middleware@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" + integrity sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc= + dependencies: + launch-editor "^2.2.1" + +launch-editor@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" + integrity sha1-hxtaPuOdZoD8wm03kwtu7aidsMo= + dependencies: + chalk "^2.3.0" + shell-quote "^1.6.1" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= + dependencies: + invert-kv "^2.0.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz?cache=0&sync_timestamp=1580182863535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flevenary%2Fdownload%2Flevenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +loader-fs-cache@^1.0.0: + version "1.0.3" + resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.3.1, loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY= + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3: + version "4.17.15" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + +loglevel@^1.6.6: + version "1.6.8" + resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" + integrity sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE= + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" + integrity sha1-BKGsvyIiHh1u9DVZ9D4FqQ27Q5I= + dependencies: + semver "^6.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1584029207120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +mdn-data@2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1584029207120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" + integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY= + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3: + version "1.3.0" + resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": + version "1.43.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg= + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.26" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha1-nJIfwJt+FJpl39wNpNIJlyALCgY= + dependencies: + mime-db "1.43.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.4: + version "2.4.4" + resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1576856499989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1584051606680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" + integrity sha1-PctrtKVG4ylpx61xDyx5qGq7qTo= + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" + integrity sha1-dgfOd4RyoYWtbYkIKqIHD3nO3NU= + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1585238976691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI= + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1: + version "2.14.0" + resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.1" + resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk= + +node-ipc@^9.1.1: + version "9.1.1" + resolved "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69" + integrity sha1-TiRe1pOOZRAOWV68XcNLFujdXWk= + dependencies: + event-pubsub "4.3.0" + js-message "1.0.5" + js-queue "2.0.0" + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.53: + version "1.1.53" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" + integrity sha1-LYIb+kme18Xf/F4vKMiOeKCO4/Q= + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= + dependencies: + path-key "^3.0.0" + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1571657171505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.4: + version "1.3.1" + resolved "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz?cache=0&sync_timestamp=1582002911785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-hash%2Fdownload%2Fobject-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= + +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc= + +object-is@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opener@^1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0= + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&sync_timestamp=1585966209412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha1-vwdSSRBZo+8+1MhQl1Md6f280xg= + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.2.2: + version "2.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1572522297480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0: + version "5.1.5" + resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz?cache=0&sync_timestamp=1568806095714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha1-ADJxND2ljclMrOSU+u89IUfs6g4= + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha1-c+URTJhtFD76NxLU6iTbmkJm9g8= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" + integrity sha1-6MdD1OkhlNUpPs3isIvjHmdGHLw= + dependencies: + parse5 "^5.1.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha1-l2wgZTBhexTrsyEUI597CTNuk6Y= + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.7: + version "2.2.2" + resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz?cache=0&sync_timestamp=1584791034150&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpicomatch%2Fdownload%2Fpicomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pnp-webpack-plugin@^1.6.4: + version "1.6.4" + resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk= + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.25: + version "1.0.25" + resolved "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" + integrity sha1-JU/TN/+6hp9LnTftwpgFnLTTXso= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^7.0.1: + version "7.0.2" + resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz?cache=0&sync_timestamp=1582015512279&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" + integrity sha1-UE780AjKAnMSBWiweSsWzc3oqsE= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha1-6KZWG+kUqvPAUodjd1JMqQ27eRU= + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw= + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038053051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.0.3.tgz?cache=0&sync_timestamp=1582038053051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" + integrity sha1-ZR/0WTqp7ajV0NZlk6JBeurrMl0= + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.27" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.27.tgz?cache=0&sync_timestamp=1581994853208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" + integrity sha1-zGfNxrDao3UQW3xCSoVWc0X8VNk= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s= + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938140182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1586713333247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4= + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg@^5.1.1: + version "5.2.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1: + version "3.6.0" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha1-mERY0ToeQuLp9YQbEp4WLzaa/xc= + dependencies: + picomatch "^2.0.7" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha1-SoVuxLVuQHfFV1icroXnpMiGmhE= + +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc= + +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha1-UmaFeJZRjRYWp4oEeTN6MOqXTMc= + dependencies: + "@babel/runtime" "^7.8.4" + private "^0.1.8" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz?cache=0&sync_timestamp=1576388236739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg= + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.1" + resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.1.tgz?cache=0&sync_timestamp=1571560370910&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha1-SPC/Gl6iBRlpKcDZeYtC0e2YRDw= + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk= + dependencies: + lodash "^4.17.15" + +request-promise-native@^1.0.8: + version "1.0.8" + resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.8.tgz?cache=0&sync_timestamp=1572829683581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-native%2Fdownload%2Frequest-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY= + dependencies: + request-promise-core "1.1.3" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.16.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.16.0.tgz#063dc704fa3413e13ac1d0d1756a7cbfe95dd1a7" + integrity sha1-Bj3HBPo0E+E6wdDRdWp8v+ld0ac= + dependencies: + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" + integrity sha1-5ZBUpbhods+uB/Qx0Yy63cWU8eg= + dependencies: + is-promise "^2.1.0" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.5.3: + version "6.5.5" + resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha1-xciE4wlMjP7jG/J+uH5UzPyH+ew= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sass-loader@^8.0.0: + version "8.0.2" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1578921665787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0= + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sass@^1.19.0: + version "1.26.3" + resolved "https://registry.npm.taobao.org/sass/download/sass-1.26.3.tgz#412df54486143b76b5a65cdf7569e86f44659f46" + integrity sha1-QS31RIYUO3a1plzfdWnob0Rln0Y= + dependencies: + chokidar ">=2.0.0 <4.0.0" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5: + version "2.6.5" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a" + integrity sha1-x1jwp+YkJjBz05binNQKoQEVLYo= + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.7: + version "1.10.7" + resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs= + dependencies: + node-forge "0.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@^7.1.2: + version "7.3.2" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE= + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsha.js%2Fdownload%2Fsha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +shelljs@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" + integrity sha1-p/MxlSDr8J7oEnWyNorbKGZZsJc= + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253750175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584829593933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha1-CuBp5/47p1OMZMmFFeNTOerFoEI= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc= + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha1-meEZt6XaAOBUkcn6M4t5BII7QdA= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz?cache=0&sync_timestamp=1585970558936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdy%2Fdownload%2Fspdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0, ssri@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha1-ksJBv23oI2W1x/tL126XVSLhKU0= + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stackframe@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/stackframe/download/stackframe-1.1.1.tgz#ffef0a3318b1b60c3b58564989aca5660729ec71" + integrity sha1-/+8KMxixtgw7WFZJiaylZgcp7HE= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha1-RAiqLl1t3QyagHObCH+8BnwDs8w= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.2.tgz?cache=0&sync_timestamp=1585557209944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha1-x28c7zDyG7rYr+uNsVEUls+w8qM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + +strip-json-comments@^3.0.1: + version "3.1.0" + resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha1-djjTFCISns9EV0QACfugP5+awYA= + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +terser-webpack-plugin@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" + integrity sha1-Xsry29xfuZdF/QZ5H0b8ndscmnw= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^2.1.2" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^2.3.5: + version "2.3.5" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" + integrity sha1-WtlxrM5cUXRAuoc+pPCWh94vSoE= + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.2.0" + jest-worker "^25.1.0" + p-limit "^2.2.2" + schema-utils "^2.6.4" + serialize-javascript "^2.1.2" + source-map "^0.6.1" + terser "^4.4.3" + webpack-sources "^1.4.3" + +terser@^4.1.2, terser@^4.4.3: + version "4.6.11" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.6.11.tgz#12ff99fdd62a26de2a82f508515407eb6ccd8a9f" + integrity sha1-Ev+Z/dYqJt4qgvUIUVQH62zNip8= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.0" + resolved "https://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" + integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= + dependencies: + any-promise "^1.0.0" + +thread-loader@^2.1.3: + version "2.1.3" + resolved "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" + integrity sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo= + dependencies: + loader-runner "^2.3.1" + loader-utils "^1.1.0" + neo-async "^2.6.0" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580552331005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1584645708631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tslib@^1.9.0: + version "1.11.1" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU= + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364304221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1586949917605&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&sync_timestamp=1583948752590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945797274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1582534843749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1582534843749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +vue-cli-plugin-vuetify@~2.0.5: + version "2.0.5" + resolved "https://registry.npm.taobao.org/vue-cli-plugin-vuetify/download/vue-cli-plugin-vuetify-2.0.5.tgz#09ba78928653fc7e3801ea37e5120f957413dda4" + integrity sha1-Cbp4koZT/H44Aeo35RIPlXQT3aQ= + dependencies: + semver "^7.1.2" + shelljs "^0.8.3" + +vue-eslint-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6" + integrity sha1-pO0mafhxed7dBq/dhzasuzo4ZNY= + dependencies: + debug "^4.1.1" + eslint-scope "^5.0.0" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + lodash "^4.17.15" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI= + +vue-loader@^15.9.1: + version "15.9.1" + resolved "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.1.tgz#bd2ab8f3d281e51d7b81d15390a58424d142243e" + integrity sha1-vSq489KB5R17gdFTkKWEJNFCJD4= + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" + integrity sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg= + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.6.11: + version "2.6.11" + resolved "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" + integrity sha1-wEcE749JixUxMAGJk+VjCdRpgIA= + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU= + +vue@^2.6.11: + version "2.6.11" + resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" + integrity sha1-dllNh31LEiNEBuhONSdcbVFBJcU= + +vuetify-loader@^1.3.0: + version "1.4.3" + resolved "https://registry.npm.taobao.org/vuetify-loader/download/vuetify-loader-1.4.3.tgz#df1323c558be09890877e5fbe817b3a71a6c538d" + integrity sha1-3xMjxVi+CYkId+X76BezpxpsU40= + dependencies: + loader-utils "^1.2.0" + +vuetify@^2.2.11: + version "2.2.22" + resolved "https://registry.npm.taobao.org/vuetify/download/vuetify-2.2.22.tgz#a5bc5814a16472d719acb45d2cb5fb5605d2e12e" + integrity sha1-pbxYFKFkctcZrLRdLLX7VgXS4S4= + +watchpack@^1.6.0: + version "1.6.1" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" + integrity sha1-KA2gqHGFkhdAEMB4x1hadM2M0OI= + dependencies: + chokidar "^2.1.8" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webpack-bundle-analyzer@^3.6.1: + version "3.7.0" + resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.7.0.tgz?cache=0&sync_timestamp=1586846532112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.7.0.tgz#84da434e89442899b884d9ad38e466d0db02a56f" + integrity sha1-hNpDTolEKJm4hNmtOORm0NsCpW8= + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.15" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-chain@^6.4.0: + version "6.4.0" + resolved "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.4.0.tgz?cache=0&sync_timestamp=1580740851884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-6.4.0.tgz#22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2" + integrity sha1-IvCye2qbye48uk+eZRPPZjlANOI= + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.2" + resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM= + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.10.3: + version "3.10.3" + resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" + integrity sha1-81lFA2gT5X71gsJCDve0cOFNOvA= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.2.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.6" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.25" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.19" + sockjs-client "1.4.0" + spdy "^4.0.1" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "12.0.5" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&sync_timestamp=1566978693896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha1-onxS6ng9E5iv0gh/VH17nS9DY00= + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.0.0: + version "4.42.1" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.42.1.tgz#ae707baf091f5ca3ef9c38b884287cfe8f1983ef" + integrity sha1-rnB7rwkfXKPvnDi4hCh8/o8Zg+8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +webpack@^4.42.1: + version "4.42.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.1.tgz#ae707baf091f5ca3ef9c38b884287cfe8f1983ef" + integrity sha512-SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1: + version "0.7.3" + resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha1-otTg1PTxFvHmKX66WLBdQwEA6fk= + dependencies: + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.3" + resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk= + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^6.0.0, ws@^6.2.1: + version "6.2.1" + resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= + dependencies: + async-limiter "~1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.1: + version "18.1.2" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" + integrity sha1-L0gr6iE2294IYWg6vqd1bTC1BPE= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@12.0.5: + version "12.0.5" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + +yargs@^15.0.0: + version "15.3.1" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha1-lQW0cnY5Y+VK/mAUitJ6MwgY6Ys= + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.1" + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k= + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0"